mirror of https://github.com/go-gitea/gitea.git
Add Octicon SVG spritemap (#10107)
* Add octicon SVG sprite Signed-off-by: jolheiser <john.olheiser@gmail.com> * Static prefix Signed-off-by: jolheiser <john.olheiser@gmail.com> * SVG for all repo icons Signed-off-by: jolheiser <john.olheiser@gmail.com> * make vendor Signed-off-by: jolheiser <john.olheiser@gmail.com> * Swap out octicons Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move octicons to top of less imports Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix JS Signed-off-by: jolheiser <john.olheiser@gmail.com> * Definitely not a search/replace Signed-off-by: jolheiser <john.olheiser@gmail.com> * Missed regex Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move to more generic calls and webpack Signed-off-by: jolheiser <john.olheiser@gmail.com> * make svg -> make webpack Signed-off-by: jolheiser <john.olheiser@gmail.com> * Remove svg-sprite Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Missed a test Signed-off-by: jolheiser <john.olheiser@gmail.com> * Remove svg from makefile Signed-off-by: jolheiser <john.olheiser@gmail.com> * Suggestions Signed-off-by: jolheiser <john.olheiser@gmail.com> * Attempt to fix test Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Revert timetracking test Signed-off-by: jolheiser <john.olheiser@gmail.com> * Swap .octicon for .svg in less Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add aria-hidden Signed-off-by: jolheiser <john.olheiser@gmail.com> * Replace mega-octicon Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix webpack globbing on Windows Signed-off-by: jolheiser <john.olheiser@gmail.com> * Revert Co-Authored-By: silverwind <me@silverwind.io> * Fix octions from upstream Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix Vue and missed JS function Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add JS helper and PWA Signed-off-by: jolheiser <john.olheiser@gmail.com> * Preload SVG Signed-off-by: jolheiser <john.olheiser@gmail.com> Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: techknowlogick <matti@mdranta.net>
This commit is contained in:
parent
e704f7fae7
commit
86fdba177a
|
@ -73,6 +73,7 @@ coverage.all
|
|||
/public/js
|
||||
/public/css
|
||||
/public/fomantic
|
||||
/public/img/svg
|
||||
|
||||
# Snapcraft
|
||||
snap/.snapcraft/
|
||||
|
|
2
go.mod
2
go.mod
|
@ -99,7 +99,7 @@ require (
|
|||
github.com/yuin/goldmark v1.1.19
|
||||
go.etcd.io/bbolt v1.3.3 // indirect
|
||||
golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876
|
||||
golang.org/x/net v0.0.0-20191101175033-0deb6923b6d9
|
||||
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa
|
||||
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45
|
||||
golang.org/x/sys v0.0.0-20191127021746-63cb32ae39b2
|
||||
golang.org/x/text v0.3.2
|
||||
|
|
4
go.sum
4
go.sum
|
@ -627,8 +627,8 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL
|
|||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20191101175033-0deb6923b6d9 h1:DPz9iiH3YoKiKhX/ijjoZvT0VFwK2c6CWYWQ7Zyr8TU=
|
||||
golang.org/x/net v0.0.0-20191101175033-0deb6923b6d9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa h1:F+8P+gmewFQYRk6JoLQLwjBCTu3mcIURZfNkVweuRKA=
|
||||
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/oauth2 v0.0.0-20180620175406-ef147856a6dd/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||
|
|
|
@ -149,16 +149,16 @@ func TestViewRepoWithSymlinks(t *testing.T) {
|
|||
htmlDoc := NewHTMLParser(t, resp.Body)
|
||||
files := htmlDoc.doc.Find("#repo-files-table > TBODY > TR > TD.name > SPAN")
|
||||
items := files.Map(func(i int, s *goquery.Selection) string {
|
||||
cls, _ := s.Find("SPAN").Attr("class")
|
||||
cls, _ := s.Find("SVG").Attr("class")
|
||||
file := strings.Trim(s.Find("A").Text(), " \t\n")
|
||||
return fmt.Sprintf("%s: %s", file, cls)
|
||||
})
|
||||
assert.Equal(t, len(items), 5)
|
||||
assert.Equal(t, items[0], "a: octicon octicon-file-directory")
|
||||
assert.Equal(t, items[1], "link_b: octicon octicon-file-symlink-directory")
|
||||
assert.Equal(t, items[2], "link_d: octicon octicon-file-symlink-file")
|
||||
assert.Equal(t, items[3], "link_hi: octicon octicon-file-symlink-file")
|
||||
assert.Equal(t, items[4], "link_link: octicon octicon-file-symlink-file")
|
||||
assert.Equal(t, items[0], "a: svg octicon-file-directory")
|
||||
assert.Equal(t, items[1], "link_b: svg octicon-file-symlink-directory")
|
||||
assert.Equal(t, items[2], "link_d: svg octicon-file-symlink-file")
|
||||
assert.Equal(t, items[3], "link_hi: svg octicon-file-symlink-file")
|
||||
assert.Equal(t, items[4], "link_link: svg octicon-file-symlink-file")
|
||||
}
|
||||
|
||||
// TestViewAsRepoAdmin tests PR #2167
|
||||
|
|
|
@ -389,7 +389,7 @@ func EntryIcon(entry *git.TreeEntry) string {
|
|||
return "file-submodule"
|
||||
}
|
||||
|
||||
return "file-text"
|
||||
return "file"
|
||||
}
|
||||
|
||||
// SetupGiteaRoot Sets GITEA_ROOT if it is not already set and returns the value
|
||||
|
|
|
@ -286,6 +286,9 @@ func NewFuncMap() []template.FuncMap {
|
|||
}
|
||||
return false
|
||||
},
|
||||
"svg": func(icon string, size int) template.HTML {
|
||||
return template.HTML(fmt.Sprintf(`<svg class="svg %s" width="%d" height="%d" aria-hidden="true"><use xlink:href="%s/img/svg/icons.svg#%s" /></svg>`, icon, size, size, setting.StaticURLPrefix, icon))
|
||||
},
|
||||
}}
|
||||
}
|
||||
|
||||
|
|
|
@ -1112,6 +1112,14 @@
|
|||
"@types/node": ">= 8"
|
||||
}
|
||||
},
|
||||
"@primer/octicons": {
|
||||
"version": "9.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@primer/octicons/-/octicons-9.4.0.tgz",
|
||||
"integrity": "sha512-7tAWOTt3Ay3Vkf9XwietC40TV1pxk5PS2DAODsOPnMfMd9Yzm2tfvHu0Q3dcffxGZxu7n5ZM6MFWbr/+4dqSdA==",
|
||||
"requires": {
|
||||
"object-assign": "^4.1.1"
|
||||
}
|
||||
},
|
||||
"@types/color-name": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
|
||||
|
@ -2440,6 +2448,16 @@
|
|||
"integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
|
||||
"dev": true
|
||||
},
|
||||
"camel-case": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
|
||||
"integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"no-case": "^2.2.0",
|
||||
"upper-case": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"camelcase": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
|
||||
|
@ -3255,15 +3273,27 @@
|
|||
}
|
||||
},
|
||||
"css-select": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz",
|
||||
"integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==",
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
|
||||
"integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"boolbase": "^1.0.0",
|
||||
"css-what": "^3.2.1",
|
||||
"domutils": "^1.7.0",
|
||||
"nth-check": "^1.0.2"
|
||||
"boolbase": "~1.0.0",
|
||||
"css-what": "2.1",
|
||||
"domutils": "1.5.1",
|
||||
"nth-check": "~1.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"domutils": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
|
||||
"integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"dom-serializer": "0",
|
||||
"domelementtype": "1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"css-select-base-adapter": {
|
||||
|
@ -3297,9 +3327,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"css-what": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz",
|
||||
"integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==",
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
|
||||
"integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==",
|
||||
"dev": true
|
||||
},
|
||||
"css.escape": {
|
||||
|
@ -3679,6 +3709,15 @@
|
|||
"esutils": "^2.0.2"
|
||||
}
|
||||
},
|
||||
"dom-converter": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
|
||||
"integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"utila": "~0.4"
|
||||
}
|
||||
},
|
||||
"dom-serializer": {
|
||||
"version": "0.2.2",
|
||||
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
|
||||
|
@ -3723,6 +3762,12 @@
|
|||
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.0.8.tgz",
|
||||
"integrity": "sha512-vIOSyOXkMx81ghEalh4MLBtDHMx1bhKlaqHDMqM2yeitJ996SLOk5mGdDpI9ifJAgokred8Rmu219fX4OltqXw=="
|
||||
},
|
||||
"domready": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/domready/-/domready-1.0.8.tgz",
|
||||
"integrity": "sha1-kfJS5Ze2Wvd+dFriTdAYXV4m1Yw=",
|
||||
"dev": true
|
||||
},
|
||||
"domutils": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
|
||||
|
@ -7075,12 +7120,110 @@
|
|||
"integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==",
|
||||
"dev": true
|
||||
},
|
||||
"html-minifier": {
|
||||
"version": "3.5.21",
|
||||
"resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz",
|
||||
"integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"camel-case": "3.0.x",
|
||||
"clean-css": "4.2.x",
|
||||
"commander": "2.17.x",
|
||||
"he": "1.2.x",
|
||||
"param-case": "2.1.x",
|
||||
"relateurl": "0.2.x",
|
||||
"uglify-js": "3.4.x"
|
||||
},
|
||||
"dependencies": {
|
||||
"commander": {
|
||||
"version": "2.17.1",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
|
||||
"integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
|
||||
"dev": true
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||
"dev": true
|
||||
},
|
||||
"uglify-js": {
|
||||
"version": "3.4.10",
|
||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz",
|
||||
"integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"commander": "~2.19.0",
|
||||
"source-map": "~0.6.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"commander": {
|
||||
"version": "2.19.0",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
|
||||
"integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"html-tags": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz",
|
||||
"integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==",
|
||||
"dev": true
|
||||
},
|
||||
"html-webpack-plugin": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz",
|
||||
"integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"html-minifier": "^3.2.3",
|
||||
"loader-utils": "^0.2.16",
|
||||
"lodash": "^4.17.3",
|
||||
"pretty-error": "^2.0.2",
|
||||
"tapable": "^1.0.0",
|
||||
"toposort": "^1.0.0",
|
||||
"util.promisify": "1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"big.js": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
|
||||
"integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
|
||||
"dev": true
|
||||
},
|
||||
"json5": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
|
||||
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
|
||||
"dev": true
|
||||
},
|
||||
"loader-utils": {
|
||||
"version": "0.2.17",
|
||||
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
|
||||
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"big.js": "^3.1.3",
|
||||
"emojis-list": "^2.0.0",
|
||||
"json5": "^0.5.0",
|
||||
"object-assign": "^4.0.1"
|
||||
}
|
||||
},
|
||||
"util.promisify": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
|
||||
"integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"define-properties": "^1.1.2",
|
||||
"object.getownpropertydescriptors": "^2.0.3"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"htmlparser2": {
|
||||
"version": "3.10.1",
|
||||
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
|
||||
|
@ -7231,8 +7374,7 @@
|
|||
"image-size": {
|
||||
"version": "0.5.5",
|
||||
"resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
|
||||
"integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
|
||||
"optional": true
|
||||
"integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w="
|
||||
},
|
||||
"immutable": {
|
||||
"version": "3.8.2",
|
||||
|
@ -7959,6 +8101,12 @@
|
|||
"jquery": ">=1.4.2"
|
||||
}
|
||||
},
|
||||
"js-base64": {
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz",
|
||||
"integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==",
|
||||
"dev": true
|
||||
},
|
||||
"js-beautify": {
|
||||
"version": "1.10.3",
|
||||
"resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.3.tgz",
|
||||
|
@ -8576,6 +8724,12 @@
|
|||
"js-tokens": "^3.0.0 || ^4.0.0"
|
||||
}
|
||||
},
|
||||
"lower-case": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
|
||||
"integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
|
||||
"dev": true
|
||||
},
|
||||
"lru-cache": {
|
||||
"version": "4.1.5",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
|
||||
|
@ -8949,6 +9103,15 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"merge-options": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz",
|
||||
"integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"is-plain-obj": "^1.1"
|
||||
}
|
||||
},
|
||||
"merge-source-map": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
|
||||
|
@ -9211,6 +9374,12 @@
|
|||
"through2": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"mitt": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/mitt/-/mitt-1.1.2.tgz",
|
||||
"integrity": "sha1-OA5hSA1qYVtmDwertg1R4KTkvtY=",
|
||||
"dev": true
|
||||
},
|
||||
"mixin-deep": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
|
||||
|
@ -9341,6 +9510,15 @@
|
|||
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
|
||||
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
|
||||
},
|
||||
"no-case": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
|
||||
"integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lower-case": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"node-fetch": {
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
|
||||
|
@ -9832,6 +10010,15 @@
|
|||
"readable-stream": "^2.1.5"
|
||||
}
|
||||
},
|
||||
"param-case": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
|
||||
"integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"no-case": "^2.2.0"
|
||||
}
|
||||
},
|
||||
"parent-module": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
|
||||
|
@ -10973,6 +11160,15 @@
|
|||
"postcss-values-parser": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"postcss-prefix-selector": {
|
||||
"version": "1.7.2",
|
||||
"resolved": "https://registry.npmjs.org/postcss-prefix-selector/-/postcss-prefix-selector-1.7.2.tgz",
|
||||
"integrity": "sha512-ddmzjWNmGs7E/nyolJ021/Gk6oBLRQLyyXKGV4Mu+Y0gquo+XlXSDP0/Y2J8C/cad/GLyftf2H0XtuDFQZxN3w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"postcss": "^7.0.0"
|
||||
}
|
||||
},
|
||||
"postcss-preset-env": {
|
||||
"version": "6.7.0",
|
||||
"resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz",
|
||||
|
@ -11258,6 +11454,64 @@
|
|||
"uniq": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"posthtml": {
|
||||
"version": "0.9.2",
|
||||
"resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.9.2.tgz",
|
||||
"integrity": "sha1-9MBtufZ7Yf0XxOJW5+PZUVv3Jv0=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"posthtml-parser": "^0.2.0",
|
||||
"posthtml-render": "^1.0.5"
|
||||
}
|
||||
},
|
||||
"posthtml-parser": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.2.1.tgz",
|
||||
"integrity": "sha1-NdUw3jhnQMK6JP8usvrznM3ycd0=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"htmlparser2": "^3.8.3",
|
||||
"isobject": "^2.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"isobject": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
|
||||
"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"isarray": "1.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"posthtml-rename-id": {
|
||||
"version": "1.0.11",
|
||||
"resolved": "https://registry.npmjs.org/posthtml-rename-id/-/posthtml-rename-id-1.0.11.tgz",
|
||||
"integrity": "sha512-8doF8+w+WJT4AZuLVC0feA8Yy7g00IUmZw3YDKn8CKx0uC8FLbCH7JaGMbDOE1ArjyZsJMt1vmyP+IZ8SnNmXw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"escape-string-regexp": "1.0.5"
|
||||
}
|
||||
},
|
||||
"posthtml-render": {
|
||||
"version": "1.1.5",
|
||||
"resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.1.5.tgz",
|
||||
"integrity": "sha512-yvt54j0zCBHQVEFAuR+yHld8CZrCa/E1Z/OcFNCV1IEWTLVxT8O7nYnM4IIw1CD4r8kaRd3lc42+0lgCKgm87w==",
|
||||
"dev": true
|
||||
},
|
||||
"posthtml-svg-mode": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/posthtml-svg-mode/-/posthtml-svg-mode-1.0.3.tgz",
|
||||
"integrity": "sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"merge-options": "1.0.1",
|
||||
"posthtml": "^0.9.2",
|
||||
"posthtml-parser": "^0.2.1",
|
||||
"posthtml-render": "^1.0.6"
|
||||
}
|
||||
},
|
||||
"prelude-ls": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
|
||||
|
@ -11276,6 +11530,16 @@
|
|||
"integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==",
|
||||
"dev": true
|
||||
},
|
||||
"pretty-error": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz",
|
||||
"integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"renderkid": "^2.0.1",
|
||||
"utila": "~0.4"
|
||||
}
|
||||
},
|
||||
"pretty-hrtime": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
|
||||
|
@ -11764,6 +12028,12 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"relateurl": {
|
||||
"version": "0.2.7",
|
||||
"resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
|
||||
"integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
|
||||
"dev": true
|
||||
},
|
||||
"remark": {
|
||||
"version": "10.0.1",
|
||||
"resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz",
|
||||
|
@ -11853,6 +12123,36 @@
|
|||
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
|
||||
"integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
|
||||
},
|
||||
"renderkid": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz",
|
||||
"integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"css-select": "^1.1.0",
|
||||
"dom-converter": "^0.2",
|
||||
"htmlparser2": "^3.3.0",
|
||||
"strip-ansi": "^3.0.0",
|
||||
"utila": "^0.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-regex": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
|
||||
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
|
||||
"dev": true
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-regex": "^2.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"repeat-element": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
|
||||
|
@ -13273,6 +13573,253 @@
|
|||
"es6-symbol": "^3.1.1"
|
||||
}
|
||||
},
|
||||
"svg-baker": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/svg-baker/-/svg-baker-1.5.0.tgz",
|
||||
"integrity": "sha512-UMU4WQMfsmY1l8eqoxBoGTDht02RVu46cC0QoAVsJM6lUvbGCkPnAHHMG3mM8m/D1zAGg8Q0IZXnHokZ9umX0Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"bluebird": "^3.5.0",
|
||||
"clone": "^2.1.1",
|
||||
"he": "^1.1.1",
|
||||
"image-size": "^0.5.1",
|
||||
"loader-utils": "^1.1.0",
|
||||
"merge-options": "1.0.1",
|
||||
"micromatch": "3.1.0",
|
||||
"postcss": "^5.2.17",
|
||||
"postcss-prefix-selector": "^1.6.0",
|
||||
"posthtml-rename-id": "^1.0",
|
||||
"posthtml-svg-mode": "^1.0.3",
|
||||
"query-string": "^4.3.2",
|
||||
"traverse": "^0.6.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-styles": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
|
||||
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
|
||||
"requires": {
|
||||
"color-convert": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"chalk": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
||||
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
|
||||
"requires": {
|
||||
"ansi-styles": "^3.2.1",
|
||||
"escape-string-regexp": "^1.0.5",
|
||||
"supports-color": "^5.3.0"
|
||||
}
|
||||
},
|
||||
"define-property": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
|
||||
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"is-descriptor": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"extend-shallow": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
||||
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"is-extendable": "^0.1.0"
|
||||
}
|
||||
},
|
||||
"is-accessor-descriptor": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
|
||||
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"kind-of": "^6.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"kind-of": {
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
|
||||
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"is-data-descriptor": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
|
||||
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"kind-of": "^6.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"kind-of": {
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
|
||||
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"is-descriptor": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
|
||||
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"is-accessor-descriptor": "^1.0.0",
|
||||
"is-data-descriptor": "^1.0.0",
|
||||
"kind-of": "^6.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"kind-of": {
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
|
||||
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"kind-of": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
|
||||
"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
|
||||
"dev": true
|
||||
},
|
||||
"micromatch": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.0.tgz",
|
||||
"integrity": "sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"arr-diff": "^4.0.0",
|
||||
"array-unique": "^0.3.2",
|
||||
"braces": "^2.2.2",
|
||||
"define-property": "^1.0.0",
|
||||
"extend-shallow": "^2.0.1",
|
||||
"extglob": "^2.0.2",
|
||||
"fragment-cache": "^0.2.1",
|
||||
"kind-of": "^5.0.2",
|
||||
"nanomatch": "^1.2.1",
|
||||
"object.pick": "^1.3.0",
|
||||
"regex-not": "^1.0.0",
|
||||
"snapdragon": "^0.8.1",
|
||||
"to-regex": "^3.0.1"
|
||||
}
|
||||
},
|
||||
"postcss": {
|
||||
"version": "5.2.18",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
|
||||
"integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chalk": "^1.1.3",
|
||||
"js-base64": "^2.1.9",
|
||||
"source-map": "^0.5.6",
|
||||
"supports-color": "^3.2.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-styles": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
|
||||
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
|
||||
"dev": true
|
||||
},
|
||||
"chalk": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-styles": "^2.2.1",
|
||||
"escape-string-regexp": "^1.0.2",
|
||||
"has-ansi": "^2.0.0",
|
||||
"strip-ansi": "^3.0.0",
|
||||
"supports-color": "^2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"supports-color": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
|
||||
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
|
||||
"integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
|
||||
"dev": true
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "3.2.3",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
|
||||
"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"has-flag": "^1.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "5.5.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
||||
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
|
||||
"requires": {
|
||||
"has-flag": "^3.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"svg-baker-runtime": {
|
||||
"version": "1.4.3",
|
||||
"resolved": "https://registry.npmjs.org/svg-baker-runtime/-/svg-baker-runtime-1.4.3.tgz",
|
||||
"integrity": "sha512-QY6RlJN3v6xPxVQboSrsGiLWaWay+uFstic6QEzoIUK2l6M/lqL/wiqFcoqroBsGpqpP0knXplltLZGTzncbNw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"deepmerge": "1.3.2",
|
||||
"mitt": "1.1.2",
|
||||
"svg-baker": "^1.5.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"deepmerge": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.3.2.tgz",
|
||||
"integrity": "sha1-FmNpFinU2/42T6EqKk8KqGqjoFA=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"svg-sprite-loader": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/svg-sprite-loader/-/svg-sprite-loader-4.2.1.tgz",
|
||||
"integrity": "sha512-IQCJEHWD+CNP8yFptR2SkscLXBgwYwY+34VMNSLBE4RQmJ0dgpAfkF6q8ktgNsXlMhlX6cAM4Zw0t7SnLyyiQA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"bluebird": "^3.5.0",
|
||||
"deepmerge": "1.3.2",
|
||||
"domready": "1.0.8",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"html-webpack-plugin": "^3.2.0",
|
||||
"loader-utils": "^1.1.0",
|
||||
"svg-baker": "^1.5.0",
|
||||
"svg-baker-runtime": "^1.4.3",
|
||||
"url-slug": "2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"deepmerge": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.3.2.tgz",
|
||||
"integrity": "sha1-FmNpFinU2/42T6EqKk8KqGqjoFA=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"svg-tags": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
|
||||
|
@ -13320,6 +13867,24 @@
|
|||
"supports-color": "^5.3.0"
|
||||
}
|
||||
},
|
||||
"css-select": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz",
|
||||
"integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"boolbase": "^1.0.0",
|
||||
"css-what": "^3.2.1",
|
||||
"domutils": "^1.7.0",
|
||||
"nth-check": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"css-what": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz",
|
||||
"integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==",
|
||||
"dev": true
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "5.5.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
||||
|
@ -13331,6 +13896,16 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"svgo-loader": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/svgo-loader/-/svgo-loader-2.2.1.tgz",
|
||||
"integrity": "sha512-9dyz/h6ae04pAVRz7QY8bLXtMbwA19NPpCPfCixgW0qXNDCOlHbDRqvtT5/2gzRxfuibWCUP6ZBQmZWF9rjWhQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"js-yaml": "^3.13.1",
|
||||
"loader-utils": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"swagger-client": {
|
||||
"version": "3.10.0",
|
||||
"resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.10.0.tgz",
|
||||
|
@ -13761,6 +14336,12 @@
|
|||
"through2": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"toposort": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz",
|
||||
"integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=",
|
||||
"dev": true
|
||||
},
|
||||
"tough-cookie": {
|
||||
"version": "2.4.3",
|
||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
|
||||
|
@ -13981,6 +14562,12 @@
|
|||
"integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==",
|
||||
"dev": true
|
||||
},
|
||||
"unidecode": {
|
||||
"version": "0.1.8",
|
||||
"resolved": "https://registry.npmjs.org/unidecode/-/unidecode-0.1.8.tgz",
|
||||
"integrity": "sha1-77swFTi8RSRqmsjFWdcvAVMFBT4=",
|
||||
"dev": true
|
||||
},
|
||||
"unified": {
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz",
|
||||
|
@ -14324,6 +14911,12 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"upper-case": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
|
||||
"integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
|
||||
"dev": true
|
||||
},
|
||||
"uri-js": {
|
||||
"version": "4.2.2",
|
||||
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
|
||||
|
@ -14370,6 +14963,15 @@
|
|||
"ip-regex": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"url-slug": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/url-slug/-/url-slug-2.0.0.tgz",
|
||||
"integrity": "sha1-p4nVrtSZXA2VrzM3etHVxo1NcCc=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"unidecode": "0.1.8"
|
||||
}
|
||||
},
|
||||
"use": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
|
||||
|
@ -14419,6 +15021,12 @@
|
|||
"object.getownpropertydescriptors": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"utila": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
|
||||
"integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
|
||||
"dev": true
|
||||
},
|
||||
"uuid": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
"node": ">=10"
|
||||
},
|
||||
"dependencies": {
|
||||
"@primer/octicons": "9.4.0",
|
||||
"clipboard": "2.0.4",
|
||||
"fomantic-ui": "2.8.3",
|
||||
"highlight.js": "9.18.1",
|
||||
|
@ -36,6 +37,9 @@
|
|||
"postcss-safe-parser": "4.0.1",
|
||||
"stylelint": "13.0.0",
|
||||
"stylelint-config-standard": "19.0.0",
|
||||
"svg-sprite-loader": "4.2.1",
|
||||
"svgo": "1.3.2",
|
||||
"svgo-loader": "2.2.1",
|
||||
"terser-webpack-plugin": "2.3.4",
|
||||
"updates": "9.3.3",
|
||||
"vue-loader": "15.8.3",
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2012-2016 GitHub, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -1,429 +0,0 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
|
||||
<metadata>
|
||||
Created by FontForge 20150913 at Mon Jul 11 12:02:11 2016
|
||||
By Aaron Shekey
|
||||
</metadata>
|
||||
<defs>
|
||||
<font id="octicons" horiz-adv-x="96" >
|
||||
<font-face
|
||||
font-family="octicons"
|
||||
font-weight="400"
|
||||
font-stretch="normal"
|
||||
units-per-em="96"
|
||||
panose-1="2 0 5 9 0 0 0 0 0 0"
|
||||
ascent="84"
|
||||
descent="-12"
|
||||
bbox="-0.5 -12.5 96.5 84.5"
|
||||
underline-thickness="4"
|
||||
underline-position="-14"
|
||||
unicode-range="U+2665-F27C"
|
||||
/>
|
||||
<missing-glyph
|
||||
d="M3 0v64h24v-64h-24zM6 3h18v58h-18v-58z" />
|
||||
<glyph glyph-name=".notdef"
|
||||
d="M3 0v64h24v-64h-24zM6 3h18v58h-18v-58z" />
|
||||
<glyph glyph-name=".null" horiz-adv-x="0"
|
||||
/>
|
||||
<glyph glyph-name="nonmarkingreturn"
|
||||
/>
|
||||
<glyph glyph-name="heart" unicode="♥"
|
||||
d="M67.5 66.5q4.5 -5.5 4.5 -12.5q0 -8 -4 -16q-5 -10 -32 -32q-27 21 -32 32q-4 8 -4 16q0 7 4.5 12.5t13.5 5.5q8 0 13 -6q5 -5 5 -6q0 1 5 6q5 6 13 6q9 0 13.5 -5.5z" />
|
||||
<glyph glyph-name="zap" unicode="⚡"
|
||||
d="M60 42l-54 -54l18 42h-24l54 54l-18 -42h24z" />
|
||||
<glyph glyph-name="light-bulb" unicode=""
|
||||
d="M39 84q14 0 23.5 -8.5t9.5 -21.5q0 -8 -6 -18q-11 -18 -12 -24v-6h-30v6q-1 6 -12 24q-6 10 -6 18q0 13 9.5 21.5t23.5 8.5zM61 39q5 9 5 15q0 10 -8 17t-19 7t-19 -7t-8 -17q0 -6 5 -15q2 -3 4 -7q8 -12 9 -19v-1h18v1q1 7 9 19q2 4 4 7zM24 0h30q-2 -12 -15 -12t-15 12
|
||||
z" />
|
||||
<glyph glyph-name="repo" unicode=""
|
||||
d="M24 30h-6v6h6v-6zM24 48v-6h-6v6h6zM24 60v-6h-6v6h6zM24 72v-6h-6v6h6zM72 78v-72q0 -6 -6 -6h-30v-12l-9 9l-9 -9v12h-12q-6 0 -6 6v72q0 6 6 6h60q6 0 6 -6zM66 18h-60v-12h12v6h18v-6h30v12zM66 78h-54v-54h54v54z" />
|
||||
<glyph glyph-name="repo-forked" unicode=""
|
||||
d="M48 78q12 0 12 -12q0 -7 -6 -10v-11l-18 -18v-11q6 -3 6 -10q0 -12 -12 -12t-12 12q0 7 6 10v11l-18 18v11q-6 3 -6 10q0 12 12 12t12 -12q0 -7 -6 -10v-8l12 -12l12 12v8q-6 3 -6 10q0 12 12 12zM12 59q7 0 7 7t-7 7t-7 -7t7 -7zM30 -1q7 0 7 7t-7 7t-7 -7t7 -7zM48 59
|
||||
q7 0 7 7t-7 7t-7 -7t7 -7z" />
|
||||
<glyph glyph-name="repo-push" unicode=""
|
||||
d="M24 66h-6v6h6v-6zM18 54v6h6v-6h-6zM42 54l18 -24h-12v-42h-12v42h-12zM66 84q6 0 6 -6v-72q0 -6 -6 -6h-12v6h12v12h-12v6h12v54h-54v-54h18v-6h-24v-12h24v-6h-24q-6 0 -6 6v72q0 6 6 6h60z" />
|
||||
<glyph glyph-name="repo-pull" unicode=""
|
||||
d="M78 36v12h-36v12h36v12l18 -18zM24 72v-6h-6v6h6zM66 42h6v-36q0 -6 -6 -6h-30v-12l-9 9l-9 -9v12h-12q-6 0 -6 6v72q0 6 6 6h60q6 0 6 -6v-12h-6v12h-54v-54h54v18zM66 18h-60v-12h12v6h18v-6h30v12zM24 48v-6h-6v6h6zM24 60v-6h-6v6h6zM18 30v6h6v-6h-6z" />
|
||||
<glyph glyph-name="book" unicode=""
|
||||
d="M18 54h24v-6h-24v6zM18 36v6h24v-6h-24zM18 24v6h24v-6h-24zM84 54v-6h-24v6h24zM84 42v-6h-24v6h24zM84 30v-6h-24v6h24zM96 66v-54q0 -6 -6 -6h-33l-6 -6l-6 6h-33q-6 0 -6 6v54q0 6 6 6h33l6 -6l6 6h33q6 0 6 -6zM48 63l-3 3h-33v-54h36v51zM90 66h-33l-3 -3v-51h36
|
||||
v54z" />
|
||||
<glyph glyph-name="octoface" unicode=""
|
||||
d="M88 52q8 -8 8 -20q0 -15 -6.5 -23.5t-16.5 -11.5t-25 -3q-23 0 -35.5 8t-12.5 30q0 12 8 20q-4 9 1 20q6 2 20 -8q7 2 19 2t19 -2q4 3 7.5 4.5t6 2.5t4 1h2.5q5 -11 1 -20zM48 0q12 0 18.5 1t12 5.5t5.5 13.5q0 7 -6 12q-3 3 -7 3.5t-12 0t-11 -0.5t-8.5 0.5t-8.5 0.5
|
||||
t-7 -1t-6 -3q-6 -5 -6 -12q0 -13 9 -16.5t27 -3.5zM33 30q7 0 7 -10.5t-7 -10.5t-7 10.5t7 10.5zM63 30q7 0 7 -10.5t-7 -10.5t-7 10.5t7 10.5z" />
|
||||
<glyph glyph-name="git-pull-request" unicode=""
|
||||
d="M66 16q6 -3 6 -10q0 -12 -12 -12t-12 12q0 7 6 10v38q0 2 -2 4t-4 2h-6v-12l-18 18l18 18v-12h6q7 0 12.5 -5.5t5.5 -12.5v-38zM60 -1q7 0 7 7t-7 7t-7 -7t7 -7zM24 66q0 -7 -6 -10v-40q6 -3 6 -10q0 -12 -12 -12t-12 12q0 7 6 10v40q-6 3 -6 10q0 12 12 12t12 -12zM19 6
|
||||
q0 7 -7 7t-7 -7t7 -7t7 7zM12 59q7 0 7 7t-7 7t-7 -7t7 -7z" />
|
||||
<glyph glyph-name="mark-github" unicode=""
|
||||
d="M48 84q20 0 34 -14t14 -34q0 -10 -4 -19.5t-11.5 -16t-17.5 -10.5q-3 0 -3 3v4.5v8.5q0 6 -3 9q22 2 22 24q0 7 -5 12q2 6 -1 13q-4 1 -13 -5q-6 2 -12 2t-12 -2q-4 3 -7.5 4t-4.5 1h-1q-3 -7 -1 -13q-4 -5 -4 -12q0 -22 21 -24q-2 -2 -3 -7q-9 -4 -14 4q-3 5 -7 5
|
||||
q-3 0 -2.5 -1t2.5 -2q3 -2 5 -7q3 -8 16 -5v-6v-3q0 -3 -3 -3q-15 5 -24 17.5t-9 28.5q0 20 14 34t34 14z" />
|
||||
<glyph glyph-name="cloud-download" unicode=""
|
||||
d="M54 12h12l-18 -18l-18 18h12v30h12v-30zM72 60q24 0 24 -21t-24 -21h-12v8h12q16 0 16 13t-16 13h-8v7q-3 11 -19 11q-7 0 -13 -5t-6 -11v-8h-8q-10 0 -10 -10t10 -10h18v-8h-18q-18 0 -18 18t18 18q0 9 8 16.5t19 7.5q10 0 16.5 -4t8.5 -8t2 -6z" />
|
||||
<glyph glyph-name="cloud-upload" unicode=""
|
||||
d="M42 30h-12l18 18l18 -18h-12v-30h-12v30zM72 54q24 0 24 -21t-24 -21h-12v8h12q16 0 16 13t-16 13h-8v7q-3 11 -19 11q-7 0 -13 -5t-6 -11v-8h-8q-10 0 -10 -10t10 -10h18v-8h-18q-18 0 -18 18t18 18q0 9 8 16.5t19 7.5q10 0 16.5 -4t8.5 -8t2 -6z" />
|
||||
<glyph glyph-name="keyboard" unicode=""
|
||||
d="M60 54h-6v6h6v-6zM18 48v-6h-6v6h6zM48 60v-6h-6v6h6zM24 60v-6h-12v6h12zM72 18v6h12v-6h-12zM48 42v6h6v-6h-6zM24 24v-6h-12v6h12zM72 60v-6h-6v6h6zM84 60v-6h-6v6h6zM72 30v18h12v-18h-12zM96 66v-54q0 -6 -6 -6h-84q-6 0 -6 6v54q0 6 6 6h84q6 0 6 -6zM90 66h-84
|
||||
v-54h84v54zM36 42v6h6v-6h-6zM36 60v-6h-6v6h6zM24 42v6h6v-6h-6zM30 18v6h36v-6h-36zM60 42v6h6v-6h-6zM18 36v-6h-6v6h6zM48 36h6v-6h-6v6zM36 36h6v-6h-6v6zM30 36v-6h-6v6h6zM60 30v6h6v-6h-6z" />
|
||||
<glyph glyph-name="gist" unicode=""
|
||||
d="M45 54l15 -15l-15 -15l-5 4l11 11l-11 11zM27 54l5 -4l-11 -11l11 -11l-5 -4l-15 15zM0 6v66q0 6 6 6h60q6 0 6 -6v-66q0 -6 -6 -6h-60q-6 0 -6 6zM6 6h60v66h-60v-66z" />
|
||||
<glyph glyph-name="file-code" unicode=""
|
||||
d="M51 78l21 -21v-57q0 -6 -6 -6h-60q-6 0 -6 6v72q0 6 6 6h45zM66 0v54l-18 18h-42v-72h60zM30 42l-9 -9l9 -9l-3 -6l-15 15l15 15zM45 48l15 -15l-15 -15l-3 6l9 9l-9 9z" />
|
||||
<glyph glyph-name="file-text" unicode=""
|
||||
d="M36 54h-24v6h24v-6zM12 36v6h42v-6h-42zM12 24v6h42v-6h-42zM12 12v6h42v-6h-42zM72 57v-57q0 -6 -6 -6h-60q-6 0 -6 6v72q0 6 6 6h45zM66 54l-18 18h-42v-72h60v54z" />
|
||||
<glyph glyph-name="file-media" unicode=""
|
||||
d="M36 54h12v-12h-12v12zM72 57v-57q0 -6 -6 -6h-60q-6 0 -6 6v72q0 6 6 6h45zM66 54l-18 18h-42v-66l18 30l12 -24l12 12l18 -18v48z" />
|
||||
<glyph glyph-name="file-zip" unicode=""
|
||||
d="M51 78l21 -21v-57q0 -6 -6 -6h-60q-6 0 -6 6v72q0 6 6 6h45zM66 0v54l-18 18h-18v-6h-6v6h-18v-72h60zM30 60v6h6v-6h-6zM24 60h6v-6h-6v6zM30 48v6h6v-6h-6zM24 48h6v-6h-6v6zM30 36v6h6v-6h-6zM24 28v8h6v-6q12 0 12 -12v-6h-24v6q0 7 6 10zM36 24h-12v-6h12v6z" />
|
||||
<glyph glyph-name="file-pdf" unicode=""
|
||||
d="M51 78l21 -21v-57q0 -6 -6 -6h-60q-6 0 -6 6v72q0 6 6 6h45zM6 72v-56l6 4q2 1 4 1q0 1 1 2.5t2 4t3 4.5l6 16q-1 6 -2 11q0 5 1 9q0 2 1 3t2 1h-24zM33 43v0l-6 -14t-4 -7q6 2 11.5 3.5t10.5 1.5q-3 2 -5 4q-5 5 -7 12zM66 0v0v18h-2l-8 2t-8 3q-5 -1 -9 -1q-6 -2 -9 -2
|
||||
l-2 -1q-3 -1 -5 -2q-4 -8 -11 -14q-2 -2 -4 -3h1h57zM66 29v0v25l-18 18h-15q2 0 4 -1q1 -3 1 -6v-4q0 -6 -1 -12q2 -8 7 -14q3 -3 6 -4q4 0 8 1q2 -1 4 -1z" />
|
||||
<glyph glyph-name="tag" unicode=""
|
||||
d="M46 74l37 -37q4 -4 0 -8l-28 -28q-4 -4 -8 0l-37 37q-4 4 -4 10v15q0 6 4.5 10.5t10.5 4.5h15q6 0 10 -4zM14 41l37 -36l28 28l-36 37q-3 3 -7 3h-15q-10 0 -10 -10v-15q0 -4 3 -7zM18 66h12v-12h-12v12z" />
|
||||
<glyph glyph-name="file-directory" unicode=""
|
||||
d="M78 60q6 0 6 -6v-48q0 -6 -6 -6h-72q-6 0 -6 6v60q0 6 6 6h30q6 0 6 -6v-6h36zM36 60v6h-30v-6h30z" />
|
||||
<glyph glyph-name="file-submodule" unicode=""
|
||||
d="M60 42v-6h24v-30q0 -6 -6 -6h-54v42h36zM54 30v6h-24v-6h24zM78 60q6 0 6 -6v-12h-18q0 6 -6 6h-36q-6 0 -6 -6v-42h-12q-6 0 -6 6v60q0 6 6 6h30q6 0 6 -6v-6h36zM36 60v6h-30v-6h30z" />
|
||||
<glyph glyph-name="person" unicode=""
|
||||
d="M72 0q0 -6 -6 -6h-60q-6 0 -6 6v6q0 7 6 13t12 9l6 2q1 2 0 6q-6 4 -6 24q1 18 18 18t18 -18q0 -20 -6 -24v-6q24 -8 24 -24v-6z" />
|
||||
<glyph glyph-name="jersey" unicode=""
|
||||
d="M27 48h12l3 -3v-30l-3 -3h-12l-3 3v30zM36 18v24h-6v-24h6zM73.5 61.5q1.5 -12.5 10.5 -13.5v-54q0 -2 -2 -4t-4 -2h-66q-2 0 -4 2t-2 4v54q9 1 10 14q2 12 2 22h18q0 -2 2 -4t7 -2t7 2t2 4h18q0 -10 1.5 -22.5zM78 -6v48q-7 5 -10 16q-2 7 -2 20h-6q0 -7 -3 -12
|
||||
q-3 -6 -12 -6t-12 6q-3 5 -3 12h-6q0 -14 -2 -22q-2 -9 -10 -14v-48h66zM51 48h12l3 -3v-30l-3 -3h-12l-3 3v30zM60 18v24h-6v-24h6z" />
|
||||
<glyph glyph-name="git-commit" unicode=""
|
||||
d="M65 42h19v-12h-19q-5 -18 -23 -18t-23 18h-19v12h19q5 18 23 18t23 -18zM42 23q5 0 9 4t4 9t-4 9t-9 4t-9 -4t-4 -9t4 -9t9 -4z" />
|
||||
<glyph glyph-name="git-branch" unicode=""
|
||||
d="M60 54q0 -7 -6 -10q-1 -12 -8 -19t-16 -7q-3 0 -6 -1l-1.5 -1.5l-1.5 -1.5q3 -3 3 -8q0 -12 -12 -12t-12 12q0 7 6 10v40q-6 3 -6 10q0 5 3.5 8.5t8.5 3.5t8.5 -3.5t3.5 -8.5q0 -7 -6 -10v-29q4 3 12 3q5 0 8.5 3.5t3.5 8.5v2q-6 3 -6 10q0 12 12 12t12 -12zM12 73
|
||||
q-7 0 -7 -7t7 -7t7 7t-7 7zM12 -1q7 0 7 7t-7 7t-7 -7t7 -7zM48 47q7 0 7 7t-7 7t-7 -7t7 -7z" />
|
||||
<glyph glyph-name="git-merge" unicode=""
|
||||
d="M60 42q12 0 12 -12t-12 -12q-7 0 -10 6q-11 0 -18.5 4t-13.5 10v-22q6 -3 6 -10q0 -12 -12 -12t-12 12q0 7 6 10v40q-6 3 -6 10q0 3 1.5 6t4.5 4.5t6 1.5q5 0 8.5 -3.5t3.5 -8.5q0 -6 -4 -9q4 -9 11 -15q8 -6 19 -6q3 6 10 6zM19 6q0 7 -7 7t-7 -7t7 -7t7 7zM12 59
|
||||
q7 0 7 7t-7 7t-7 -7t7 -7zM60 23q7 0 7 7t-7 7t-7 -7t7 -7z" />
|
||||
<glyph glyph-name="mirror" unicode=""
|
||||
d="M93 56q3 -2 3 -5v-63l-45 24l-45 -24v63q0 3 3 5l42 28zM90 -3v54l-36 24v-27h-6v27l-36 -24v-54l36 19v8h6v-8zM36 42h30v12l18 -18l-18 -18v12h-30v-12l-18 18l18 18v-12z" />
|
||||
<glyph glyph-name="issue-opened" unicode=""
|
||||
d="M42 70q-14 0 -24 -10t-10 -24t10 -24t24 -10t24 10t10 24t-10 24t-24 10zM42 78q17 0 29.5 -12.5t12.5 -29.5t-12.5 -29.5t-29.5 -12.5t-29.5 12.5t-12.5 29.5t12.5 29.5t29.5 12.5zM48 60v-30h-12v30h12zM48 24v-12h-12v12h12z" />
|
||||
<glyph glyph-name="issue-reopened" unicode=""
|
||||
d="M48 30h-12v30h12v-30zM36 12v12h12v-12h-12zM74 24h10v-24l-10 10q-12 -16 -32 -16q-17 0 -29.5 12.5t-12.5 29.5v6h8v-6q0 -14 10 -24t24 -10q17 0 27 13l-9 9h14zM10 48h-10v24l10 -10q12 16 32 16q17 0 29.5 -12.5t12.5 -29.5v-6h-8v6q0 14 -10 24t-24 10
|
||||
q-17 0 -27 -13l9 -9h-14z" />
|
||||
<glyph glyph-name="issue-closed" unicode=""
|
||||
d="M42 24h12v-12h-12v12zM54 60v-30h-12v30h12zM63 51l9 -9l18 21l6 -6l-24 -27l-15 15zM48 2q12 0 21 7t12 18l9 9q0 -17 -12.5 -29.5t-29.5 -12.5t-29.5 12.5t-12.5 29.5t12.5 29.5t29.5 12.5q20 0 33 -15l-6 -6q-10 13 -27 13q-14 0 -24 -10t-10 -24t10 -24t24 -10z" />
|
||||
<glyph glyph-name="star" unicode=""
|
||||
d="M84 48l-22 -20l6 -28l-26 14l-26 -14l6 28l-22 20l29 4l13 26l13 -26z" />
|
||||
<glyph glyph-name="comment" unicode=""
|
||||
d="M84 78q6 0 6 -6v-48q0 -6 -6 -6h-39l-21 -21v21h-12q-6 0 -6 6v48q0 6 6 6h72zM84 24v48h-72v-48h18v-12l12 12h42z" />
|
||||
<glyph glyph-name="question" unicode=""
|
||||
d="M36 24h12v-12h-12v12zM60 45q0 -6 -3 -9.5t-6 -4.5l-3 -1h-12q0 6 6 6h3q3 0 3 3v6q0 3 -3 3h-6q-3 0 -3 -3v-3h-12q0 7 5.5 12.5t12.5 5.5q18 0 18 -15zM42 70q-14 0 -24 -10t-10 -24t10 -24t24 -10t24 10t10 24t-10 24t-24 10zM42 78q17 0 29.5 -12.5t12.5 -29.5
|
||||
t-12.5 -29.5t-29.5 -12.5t-29.5 12.5t-12.5 29.5t12.5 29.5t29.5 12.5z" />
|
||||
<glyph glyph-name="alert" unicode=""
|
||||
d="M53 75l41 -72q2 -3 0.5 -6t-5.5 -3h-82q-4 0 -5.5 3t0.5 6l41 72q1 3 4.5 3t5.5 -3zM54 6v12h-12v-12h12zM54 24v24h-12v-24h12z" />
|
||||
<glyph glyph-name="search" unicode=""
|
||||
d="M94 4q4 -4 0 -8q-1 -2 -3.5 -2t-4.5 2l-23 23q-10 -7 -21 -7q-15 0 -25.5 10.5t-10.5 25.5t10.5 25.5t25.5 10.5t25.5 -10.5t10.5 -25.5q0 -11 -7 -21zM42 20q12 0 20 8t8 20t-8 20t-20 8t-20 -8t-8 -20t8 -20t20 -8z" />
|
||||
<glyph glyph-name="gear" unicode=""
|
||||
d="M84 31v1l-12 -5l-2 -6l5 -11l-7 -7l-11 5l-6 -2l-4 -12h-10l-4 12l-6 2l-11 -5l-7 7l5 11l-2 6l-12 4v10l12 4l2 6l-5 11l7 7l11 -5l6 2l4 12h10l4 -12l6 -2l11 5l7 -7l-5 -11l2 -6l12 -4v-10zM42 18q7 0 12.5 5.5t5.5 12.5t-5.5 12.5t-12.5 5.5t-12.5 -5.5t-5.5 -12.5
|
||||
t5.5 -12.5t12.5 -5.5z" />
|
||||
<glyph glyph-name="radio-tower" unicode=""
|
||||
d="M29 47.5q-3 -2.5 -6 -0.5q-5 6 -5 13t5 13q1 1 3 1t3 -1q2 -3 -0.5 -6t-2.5 -7t3 -7t0 -5.5zM14 81q3 -3 0 -6q-6 -6 -6 -15t6 -15q3 -3 0 -6t-6 0q-8 9 -8 21t8 21q2 1 3.5 1t2.5 -1zM48 50q-10 0 -10 10t10 10t10 -10t-10 -10zM88 81q8 -9 8 -21t-8 -21q-2 -1 -3.5 -1
|
||||
t-2.5 1q-3 3 0 6q6 6 6 15t-6 15q-3 3 0 6t6 0zM48 42q4 0 7 2l19 -50h-9l-5 6h-24l-5 -6h-9l19 50q3 -2 7 -2zM48 40l-6 -22h12zM36 6h24l-6 6h-12zM67 72.5q3 2.5 6 0.5q5 -6 5 -13t-5 -13q-1 -1 -3 -1t-3 1q-2 3 0.5 6t2.5 7t-3 7t0 5.5z" />
|
||||
<glyph glyph-name="tools" unicode=""
|
||||
d="M27 40q-12 -4 -21 6q-8 8 -5 20l11 -12l12 3l3 12l-12 12q12 3 20 -5.5t5 -20.5l3 -3l-10 -11l5 -5l-3 -4zM66 29l22 -24q3 -3 3 -7t-3 -7t-7 -3t-6 3l-23 24zM96 69l-43 -45l-6 6l-26 -27l-3 -6l-13 -9l-2 2l8 14l6 3l26 27l-5 5l43 45z" />
|
||||
<glyph glyph-name="sign-out" unicode=""
|
||||
d="M72 30v12h-24v12h24v12l24 -18zM60 12v24h6v-24q0 -6 -6 -6h-24v-18l-33 16q-3 2 -3 6v68q0 6 6 6h54q6 0 6 -6v-18h-6v18h-48l24 -12v-54h24z" />
|
||||
<glyph glyph-name="rocket" unicode=""
|
||||
d="M73 61q2 -2 5 -3.5t6 -2.5q-3 -6 -6 -10q-4 -5 -9 -10q-2 -2 -15 -11v-18l-18 -18v18l12 12q-2 -1 -6.5 -2.5l-7.5 -2.5l-4 -1l-6 6q-1 1 6 18l-12 -12h-18l18 18h18q10 14 11 15q5 5 10 8.5t10 6.5l2 -6q2 -3 4 -5zM96 84q-1 -2 -2 -6q-2 -7 -6 -16q-7 0 -10.5 4
|
||||
t-3.5 10q10 5 16 6l6 2v0z" />
|
||||
<glyph glyph-name="rss" unicode=""
|
||||
d="M12 6h-12v12q12 0 12 -12zM0 66q25 0 42.5 -17.5t17.5 -42.5h-6q0 22 -16 38t-38 16v6zM0 42q15 0 25.5 -10.5t10.5 -25.5h-6q0 12 -9 21t-21 9v6z" />
|
||||
<glyph glyph-name="clippy" unicode=""
|
||||
d="M12 6h24v-6h-24v6zM42 42v-6h-30v6h30zM54 24h30v-12h-30v-12l-18 18l18 18v-12zM27 30v-6h-15v6h15zM12 12v6h15v-6h-15zM66 6h6v-12q0 -3 -2 -4.5t-4 -1.5h-60q-6 0 -6 6v66q0 6 6 6h18q0 12 12 12t12 -12h18q6 0 6 -6v-30h-6v18h-60v-54h60v12zM12 54h48q0 6 -6 6h-6
|
||||
q-6 0 -6 6t-6 6t-6 -6t-6 -6h-6q-6 0 -6 -6z" />
|
||||
<glyph glyph-name="sign-in" unicode=""
|
||||
d="M42 44v-32h24v24h6v-24q0 -6 -6 -6h-24v-18l-33 16q-3 2 -3 6v68q0 6 6 6h54q6 0 6 -6v-18h-6v18h-48l24 -12v-14l18 14v-12h24v-12h-24v-12z" />
|
||||
<glyph glyph-name="organization" unicode=""
|
||||
d="M96 6q0 -6 -6 -6h-42q-6 0 -6 6h-36q-6 0 -6 6q0 7 4.5 13t9.5 9l4 2q1 2 0 6q-6 5 -6 18q0 18 15 18t15 -18q0 -13 -6 -18v-6q9 -4 15 -13l9 7q1 2 0 6l-1 1q-5 4 -5 17q0 18 15 18t15 -18q0 -7 -0.5 -10.5t-1.5 -4.5t-4 -3v-6q18 -8 18 -24v0z" />
|
||||
<glyph glyph-name="device-mobile" unicode=""
|
||||
d="M54 84q6 0 6 -6v-84q0 -6 -6 -6h-48q-6 0 -6 6v84q0 6 6 6h48zM30 -8q8 0 8 8t-8 8t-8 -8t8 -8zM54 12v60h-48v-60h48z" />
|
||||
<glyph glyph-name="unfold" unicode=""
|
||||
d="M69 39l15 -15q0 -6 -6 -6h-24v6h21l-12 12h-42l-12 -12h21v-6h-24q-6 0 -6 6l15 15l-15 15q0 6 6 6h24v-6h-21l12 -12h42l12 12h-21v6h24q6 0 6 -6zM36 48v18h-12l18 18l18 -18h-12v-18h-12zM48 30v-18h12l-18 -18l-18 18h12v18h12z" />
|
||||
<glyph glyph-name="check" unicode=""
|
||||
d="M72 54l-48 -48l-24 24l9 9l15 -15l39 39z" />
|
||||
<glyph glyph-name="mail" unicode=""
|
||||
d="M0 60q0 6 6 6h72q6 0 6 -6v-48q0 -6 -6 -6h-72q-6 0 -6 6v48zM78 60h-72l36 -30zM6 51v-36l24 18zM12 12h60l-21 18l-9 -9l-9 9zM78 15v36l-24 -18z" />
|
||||
<glyph glyph-name="mail-read" unicode=""
|
||||
d="M36 54h-12v6h12v-6zM54 48v-6h-30v6h30zM84 51v-51q0 -6 -6 -6h-72q-6 0 -6 6v51q0 3 3 5l9 7v3q0 6 6 6h7l17 12l17 -12h7q6 0 6 -6v-3l9 -7q3 -2 3 -5zM18 39l24 -15l24 15v27h-48v-27zM6 3l27 18l-27 18v-36zM72 0l-30 18l-30 -18h60zM78 39l-27 -18l27 -18v36z" />
|
||||
<glyph glyph-name="arrow-up" unicode=""
|
||||
d="M30 66l30 -36h-18v-24h-24v24h-18z" />
|
||||
<glyph glyph-name="arrow-right" unicode=""
|
||||
d="M60 36l-36 -30v18h-24v24h24v18z" />
|
||||
<glyph glyph-name="arrow-down" unicode=""
|
||||
d="M42 42h18l-30 -36l-30 36h18v24h24v-24z" />
|
||||
<glyph glyph-name="arrow-left" unicode=""
|
||||
d="M36 66v-18h24v-24h-24v-18l-36 30z" />
|
||||
<glyph glyph-name="pin" unicode=""
|
||||
d="M60 77q0 2 2 2.5t3 -0.5l26 -26q1 -1 0.5 -3t-2.5 -2h-5l-6 3l-18 -27v-23q0 -2 -2 -2.5t-3 0.5l-19 19l-30 -24l24 30l-19 19q-1 1 -0.5 3t2.5 2h23l27 18l-3 6v5z" />
|
||||
<glyph glyph-name="gift" unicode=""
|
||||
d="M78 60q6 0 6 -6v-18h-6v-30q0 -6 -6 -6h-54q-6 0 -6 6v30h-6v18q0 6 6 6h8q-2 3 -2 5q-1 7 3 10q3 3 9 3q5 0 9 -3t6 -8q2 5 6 8t9 3h1q5 0 8 -3t3 -10q0 -2 -2 -5h8zM49 65l-2 -5h17q3 4 3 6q0 4 -2 6q-1 1 -4 1h-1q-3 0 -6 -2t-5 -6zM25 72q-2 -2 -2 -6q0 -2 3 -6h17
|
||||
l-2 5q-2 4 -5 6t-6 2q-4 0 -5 -1zM42 6v30h-24v-30h24zM42 42v12h-30v-12h30zM72 6v30h-24v-30h24zM78 42v12h-30v-12h30z" />
|
||||
<glyph glyph-name="graph" unicode=""
|
||||
d="M96 0v-6h-96v90h6v-84h90zM30 6h-12v30h12v-30zM54 6h-12v60h12v-60zM78 6h-12v42h12v-42z" />
|
||||
<glyph glyph-name="triangle-left" unicode=""
|
||||
d="M36 72v-72l-36 36z" />
|
||||
<glyph glyph-name="credit-card" unicode=""
|
||||
d="M72 30h-60v6h60v-6zM96 66v-54q0 -6 -6 -6h-84q-6 0 -6 6v54q0 6 6 6h84q6 0 6 -6zM90 48h-84v-36h84v36zM90 66h-84v-6h84v6zM36 24v-6h-24v6h24z" />
|
||||
<glyph glyph-name="clock" unicode=""
|
||||
d="M48 36h18v-12h-24q-6 0 -6 6v30h12v-24zM42 70q-14 0 -24 -10t-10 -24t10 -24t24 -10t24 10t10 24t-10 24t-24 10zM42 78q17 0 29.5 -12.5t12.5 -29.5t-12.5 -29.5t-29.5 -12.5t-29.5 12.5t-12.5 29.5t12.5 29.5t29.5 12.5z" />
|
||||
<glyph glyph-name="ruby" unicode=""
|
||||
d="M78 48l-30 -30v42h18zM96 48l-48 -48l-48 48l24 24h48zM48 9l39 39l-18 18h-42l-18 -18z" />
|
||||
<glyph glyph-name="broadcast" unicode=""
|
||||
d="M54 30q6 0 6 -6v-12h-6v-18q0 -6 -6 -6h-6q-6 0 -6 6v18h-6v12q0 6 6 6h6q-6 0 -6 6v6q0 6 6 6h6q6 0 6 -6v-6q0 -6 -6 -6h6zM42 42v-6h6v6h-6zM54 18v6h-18v-6h6v-24h6v24h6zM67 39q0 9 -6.5 15.5t-15.5 6.5t-15.5 -6.5t-6.5 -15.5q0 -3 1 -5v-12q-6 8 -6 17q0 11 8 19
|
||||
t19 8q7 0 13.5 -3.5t10 -10t3.5 -13.5q0 -9 -6 -17v12q1 3 1 5zM90 39q0 -27 -24 -40v7q19 11 19 33q0 16 -12 28t-28 12t-28 -12t-12 -28q0 -22 19 -33v-7q-24 13 -24 40q0 19 13 32t32 13t32 -13t13 -32z" />
|
||||
<glyph glyph-name="key" unicode=""
|
||||
d="M77 71q7 -7 7 -17t-7 -17t-17 -7q-3 0 -5 1l-7 -7h-12v-6h-6v-6h-6v-6l-6 -6h-12l-6 6v6l37 37q-1 2 -1 5q0 10 7 17t17 7t17 -7zM66 52q8 0 8 8t-8 8t-8 -8t8 -8z" />
|
||||
<glyph glyph-name="repo-force-push" unicode=""
|
||||
d="M60 30h-12v-42h-12v42h-12l14 18h-14l18 24l18 -24h-14zM66 84q6 0 6 -6v-72q0 -6 -6 -6h-12v6h12v12h-12v6h12v54h-54v-54h18v-6h-24v-12h24v-6h-24q-6 0 -6 6v72q0 6 6 6h60z" />
|
||||
<glyph glyph-name="repo-clone" unicode=""
|
||||
d="M90 84q6 0 6 -6v-36q0 -6 -6 -6h-18v-6h-6v6h-6q-6 0 -6 6v42h36zM66 42v6h-6v-6h6zM90 42v6h-18v-6h18zM90 54v24h-24v-24h24zM24 54h-6v6h6v-6zM24 66h-6v6h6v-6zM12 78v-54h60v-18q0 -6 -6 -6h-30v-12l-9 9l-9 -9v12h-12q-6 0 -6 6v72q0 6 6 6h42v-6h-36zM66 18h-60
|
||||
v-12h12v6h18v-6h30v12zM18 36h6v-6h-6v6zM24 42h-6v6h6v-6z" />
|
||||
<glyph glyph-name="diff" unicode=""
|
||||
d="M36 42h12v-6h-12v-12h-6v12h-12v6h12v12h6v-12zM18 6v6h30v-6h-30zM45 72l21 -21v-57q0 -6 -6 -6h-54q-6 0 -6 6v72q0 6 6 6h39zM60 48l-18 18h-36v-72h54v54zM51 84l27 -27v-51h-6v48l-24 24h-30v6h33z" />
|
||||
<glyph glyph-name="eye" unicode=""
|
||||
d="M48 72q9 0 17 -3.5t13 -9t9.5 -11t6.5 -8.5l2 -4q-2 -4 -6 -10t-16 -16t-26 -10q-8 0 -16 3.5t-13.5 9t-10 11t-6.5 8.5l-2 4q2 4 6 10t16.5 16t25.5 10zM48 12q10 0 17 7t7 17t-7 17t-17 7t-17 -7t-7 -17t7 -17t17 -7zM60 36q0 -12 -12 -12t-12 12t12 12t12 -12z" />
|
||||
<glyph glyph-name="comment-discussion" unicode=""
|
||||
d="M90 78q6 0 6 -6v-36q0 -6 -6 -6h-6v-18l-18 18h-6v-12q0 -6 -6 -6h-24l-18 -18v18h-6q-6 0 -6 6v36q0 6 6 6h24v12q0 6 6 6h54zM54 18v12h-18q-6 0 -6 6v18h-24v-36h12v-9l9 9h27zM90 36v36h-54v-36h33l9 -9v9h12z" />
|
||||
<glyph glyph-name="mail-reply" unicode=""
|
||||
d="M36 69v-18q15 -2 25.5 -13.5t10.5 -30.5q-3 13 -14.5 19.5t-21.5 6.5v-18l-36 27z" />
|
||||
<glyph glyph-name="primitive-dot" unicode=""
|
||||
d="M0 36q0 10 7 17t17 7t17 -7t7 -17t-7 -17t-17 -7t-17 7t-7 17z" />
|
||||
<glyph glyph-name="primitive-square" unicode=""
|
||||
d="M48 12h-48v48h48v-48z" />
|
||||
<glyph glyph-name="device-camera" unicode=""
|
||||
d="M90 66q6 0 6 -6v-54q0 -6 -6 -6h-84q-6 0 -6 6v54q0 6 6 6q0 6 6 6h24q6 0 6 -6h48zM36 54v6h-24v-6h24zM63 12q9 0 15 6t6 15t-6 15t-15 6t-15 -6t-6 -15t6 -15t15 -6zM78 33q0 -15 -15 -15q-6 0 -10.5 4.5t-4.5 10.5t4.5 10.5t10.5 4.5t10.5 -4.5t4.5 -10.5z" />
|
||||
<glyph glyph-name="device-camera-video" unicode=""
|
||||
d="M91 71q2 2 3.5 1t1.5 -3v-60q0 -2 -1.5 -3t-3.5 1l-31 21v-16q0 -6 -6 -6h-48q-6 0 -6 6v54q0 6 6 6h48q6 0 6 -6v-16z" />
|
||||
<glyph glyph-name="pencil" unicode=""
|
||||
d="M0 12l48 48l18 -18l-48 -48h-18v18zM18 0v6h-6v6h-6v-12h12zM80 56l-8 -8l-18 18l8 8q4 4 8 0l10 -10q4 -4 0 -8z" />
|
||||
<glyph glyph-name="info" unicode=""
|
||||
d="M38 50q-2 2 -2 4.5t2 4t4.5 1.5t4 -2t1.5 -4.5t-2 -3.5q-2 -2 -4 -2t-4 2zM48 36v-18h6q0 -2 -2 -4t-4 -2h-6q-2 0 -4 2t-2 4v18h-6q0 2 2 4t4 2h6q2 0 4 -2t2 -4zM42 70q-14 0 -24 -10t-10 -24t10 -24t24 -10t24 10t10 24t-10 24t-24 10zM42 78q17 0 29.5 -12.5
|
||||
t12.5 -29.5t-12.5 -29.5t-29.5 -12.5t-29.5 12.5t-12.5 30t12.5 29.5t29.5 12z" />
|
||||
<glyph glyph-name="triangle-right" unicode=""
|
||||
d="M0 0v72l36 -36z" />
|
||||
<glyph glyph-name="triangle-down" unicode=""
|
||||
d="M0 54h72l-36 -36z" />
|
||||
<glyph glyph-name="link" unicode=""
|
||||
d="M24 30h6v-6h-6q-7 0 -12.5 6.5t-5.5 14.5t5.5 14.5t12.5 6.5h24q7 0 12.5 -6.5t5.5 -14.5q0 -14 -12 -19v6q6 5 6 13q0 6 -4 10.5t-8 4.5h-24q-4 0 -8 -4.5t-4 -10.5t3.5 -10.5t8.5 -4.5zM78 48q7 0 12.5 -6.5t5.5 -14.5t-5.5 -14.5t-12.5 -6.5h-24q-7 0 -12.5 6.5
|
||||
t-5.5 14.5q0 14 12 19v-6q-6 -5 -6 -13q0 -6 4 -10.5t8 -4.5h24q4 0 8 4.5t4 10.5t-3.5 10.5t-8.5 4.5h-6v6h6z" />
|
||||
<glyph glyph-name="plus" unicode=""
|
||||
d="M72 30h-30v-30h-12v30h-30v12h30v30h12v-30h30v-12z" />
|
||||
<glyph glyph-name="three-bars" unicode=""
|
||||
d="M68 30h-64q-4 0 -4 6t4 6h64q4 0 4 -6t-4 -6zM68 54h-64q-4 0 -4 6t4 6h64q4 0 4 -6t-4 -6zM4 18h64q4 0 4 -6t-4 -6h-64q-4 0 -4 6t4 6z" />
|
||||
<glyph glyph-name="code" unicode=""
|
||||
d="M57 66l27 -30l-27 -30l-9 9l21 21l-21 21zM27 66l9 -9l-21 -21l21 -21l-9 -9l-27 30z" />
|
||||
<glyph glyph-name="location" unicode=""
|
||||
d="M36 84q15 0 25.5 -9.5t10.5 -23.5q0 -12 -9 -28t-18 -25l-9 -10q-36 36 -36 63q0 14 10.5 23.5t25.5 9.5zM36 -3q30 32 30 54q0 11 -8.5 19t-21.5 8q-12 0 -21 -8t-9 -19q0 -22 30 -54zM48 51q0 -12 -12 -12t-12 12t12 12t12 -12z" />
|
||||
<glyph glyph-name="list-unordered" unicode=""
|
||||
d="M12 6q0 -6 -4 -6h-4q-4 0 -4 6t4 6h4q4 0 4 -6zM28 60q-4 0 -4 6t4 6h40q4 0 4 -6t-4 -6h-40zM8 42q4 0 4 -6t-4 -6h-4q-4 0 -4 6t4 6h4zM8 72q4 0 4 -6t-4 -6h-4q-4 0 -4 6t4 6h4zM68 42q4 0 4 -6t-4 -6h-40q-4 0 -4 6t4 6h40zM68 12q4 0 4 -6t-4 -6h-40q-4 0 -4 6t4 6
|
||||
h40z" />
|
||||
<glyph glyph-name="list-ordered" unicode=""
|
||||
d="M72 6q0 -6 -4 -6h-40q-4 0 -4 6t4 6h40q4 0 4 -6zM28 60q-4 0 -4 6t4 6h40q4 0 4 -6t-4 -6h-40zM68 42q4 0 4 -6t-4 -6h-40q-4 0 -4 6t4 6h40zM12 78v-19h6v-5h-17v5h5v13h-4v4q4 1 6 2h4zM14 29h-1h4l1 -5h-18v3q10 10 10 13t-3 3q-1 0 -4 -2l-3 3q4 4 8 4q8 0 8 -8
|
||||
q0 -4 -6 -11h4zM13 7q5 -2 5 -6q0 -7 -10 -7q-5 0 -8 3l3 4q2 -2 5 -2t3 2q0 3 -6 3v5q5 0 5 2t-2 2t-4 -1l-3 3q3 4 7 4q9 0 9 -7q0 -4 -4 -5z" />
|
||||
<glyph glyph-name="quote" unicode=""
|
||||
d="M37 63q-22 -14 -22 -35h3q6 0 10.5 -4t4.5 -10q0 -16 -15 -16q-18 0 -18 26q0 33 30 50zM79 63q-22 -14 -22 -35h3q4 0 7.5 -1.5t5.5 -5t2 -7.5q0 -16 -15 -16q-18 0 -18 26q0 33 30 50z" />
|
||||
<glyph glyph-name="versions" unicode=""
|
||||
d="M78 66q6 0 6 -6v-48q0 -6 -6 -6h-36q-6 0 -6 6v48q0 6 6 6h36zM72 18v36h-24v-36h24zM24 60h6v-6h-6v-36h6v-6h-6q-6 0 -6 6v36q0 6 6 6zM6 54h6v-6h-6v-24h6v-6h-6q-6 0 -6 6v24q0 6 6 6z" />
|
||||
<glyph glyph-name="calendar" unicode=""
|
||||
d="M78 72q6 0 6 -6v-66q0 -6 -6 -6h-66q-6 0 -6 6v66q0 6 6 6h6v-9q0 -3 3 -3h12q3 0 3 3v9h18v-9q0 -3 3 -3h12q3 0 3 3v9h6zM78 0v54h-66v-54h66zM30 66h-6v12h6v-12zM66 66h-6v12h6v-12zM36 42h-6v6h6v-6zM48 42h-6v6h6v-6zM60 42h-6v6h6v-6zM72 42h-6v6h6v-6zM24 30h-6
|
||||
v6h6v-6zM36 30h-6v6h6v-6zM48 30h-6v6h6v-6zM60 30h-6v6h6v-6zM72 30h-6v6h6v-6zM24 18h-6v6h6v-6zM36 18h-6v6h6v-6zM48 18h-6v6h6v-6zM60 18h-6v6h6v-6zM72 18h-6v6h6v-6zM24 6h-6v6h6v-6zM36 6h-6v6h6v-6zM48 6h-6v6h6v-6zM60 6h-6v6h6v-6z" />
|
||||
<glyph glyph-name="lock" unicode=""
|
||||
d="M24 6h-6v6h6v-6zM72 42v-42q0 -6 -6 -6h-60q-6 0 -6 6v42q0 6 6 6h6v12q0 10 7 17t17 7t17 -7t7 -17v-12h6q6 0 6 -6zM23 48h26v12q0 5 -3.5 9t-9 4t-9.5 -4t-4 -9v-12zM66 42h-54v-42h54v42zM24 36v-6h-6v6h6zM24 24v-6h-6v6h6z" />
|
||||
<glyph glyph-name="diff-added" unicode=""
|
||||
d="M78 78q6 0 6 -6v-72q0 -6 -6 -6h-72q-6 0 -6 6v72q0 6 6 6h72zM78 0v72h-72v-72h72zM36 30h-18v12h18v18h12v-18h18v-12h-18v-18h-12v18z" />
|
||||
<glyph glyph-name="diff-removed" unicode=""
|
||||
d="M78 78q6 0 6 -6v-72q0 -6 -6 -6h-72q-6 0 -6 6v72q0 6 6 6h72zM78 0v72h-72v-72h72zM66 30h-48v12h48v-12z" />
|
||||
<glyph glyph-name="diff-modified" unicode=""
|
||||
d="M78 78q6 0 6 -6v-72q0 -6 -6 -6h-72q-6 0 -6 6v72q0 6 6 6h72zM78 0v72h-72v-72h72zM24 36q0 7 5.5 12.5t12.5 5.5t12.5 -5.5t5.5 -12.5t-5.5 -12.5t-12.5 -5.5t-12.5 5.5t-5.5 12.5z" />
|
||||
<glyph glyph-name="diff-renamed" unicode=""
|
||||
d="M36 30h-18v12h18v18l30 -24l-30 -24v18zM84 72v-72q0 -6 -6 -6h-72q-6 0 -6 6v72q0 6 6 6h72q6 0 6 -6zM78 72h-72v-72h72v72z" />
|
||||
<glyph glyph-name="horizontal-rule" unicode=""
|
||||
d="M6 42v-12h-6v36h6v-18h12v18h6v-36h-6v12h-12zM60 30h-6v12h6v-12zM60 48h-6v12h6v-12zM42 48h12v-6h-12v-12h-6v36h18v-6h-12v-12zM0 6v12h60v-12h-60z" />
|
||||
<glyph glyph-name="arrow-small-right" unicode=""
|
||||
d="M36 36l-24 -18v12h-12v12h12v12z" />
|
||||
<glyph glyph-name="milestone" unicode=""
|
||||
d="M48 72h-12v12h12v-12zM72 42h-60q-6 0 -6 6v12q0 6 6 6h60l12 -12zM48 60h-12v-12h12v12zM36 -12v48h12v-48h-12z" />
|
||||
<glyph glyph-name="checklist" unicode=""
|
||||
d="M96 33l-36 -36l-18 18l9 9l9 -9l27 27zM34 11l5 -5h-27q-6 0 -6 6v54q0 6 6 6h42q6 0 6 -6v-39l-5 5q-4 4 -8 0l-13 -13q-4 -4 0 -8zM24 60h30v6h-30v-6zM24 48h30v6h-30v-6zM24 36h18v6h-18v-6zM18 30h-6v-6h6v6zM18 42h-6v-6h6v6zM18 54h-6v-6h6v6zM18 66h-6v-6h6v6z
|
||||
" />
|
||||
<glyph glyph-name="megaphone" unicode=""
|
||||
d="M60 78q6 0 6 -6v-66q0 -6 -6 -6q-2 0 -3 1q-2 1 -5.5 3.5t-8 5.5l-7.5 5v-21h-12v28q-4 1 -6 2q-18 0 -18 15t18 15q4 1 11.5 5.5t16.5 10.5t11 7q1 1 3 1zM60 6v66l-9 -6q-1 0 -2 -1l-1 -1v-50q1 0 2 -1l1 -1q7 -5 9 -6zM72 42h24v-6h-24v6zM72 30l24 -12v-6l-24 12v6z
|
||||
M96 66v-6l-24 -12v6z" />
|
||||
<glyph glyph-name="chevron-right" unicode=""
|
||||
d="M45 36l-30 -30l-9 9l22 21l-22 21l9 9z" />
|
||||
<glyph glyph-name="bookmark" unicode=""
|
||||
d="M54 84q6 0 6 -6v-90l-30 19l-30 -19v90q0 6 6 6h48zM49 58q2 2 0 2h-14l-4 13h-2l-4 -13h-14q-2 0 0 -2l11 -8l-4 -13q-1 -2 1 -1l11 8l11 -8h1.5t-0.5 1l-4 13z" />
|
||||
<glyph glyph-name="settings" unicode=""
|
||||
d="M24 42h-6v30h6v-30zM18 0v18h6v-18h-6zM48 0v36h6v-36h-6zM78 0v12h6v-12h-6zM84 72v-36h-6v36h6zM54 72v-12h-6v12h6zM30 36q6 0 6 -6t-6 -6h-18q-6 0 -6 6t6 6h18zM60 54q6 0 6 -6t-6 -6h-18q-6 0 -6 6t6 6h18zM90 30q6 0 6 -6t-6 -6h-18q-6 0 -6 6t6 6h18z" />
|
||||
<glyph glyph-name="dashboard" unicode=""
|
||||
d="M54 54h-6v6h6v-6zM78 36v-6h-6v6h6zM36 54v-6h-6v6h6zM30 36v-6h-6v6h6zM96 69l-36 -33v-6q0 -6 -6 -6h-6q-6 0 -6 6v6q0 6 6 6h6l39 30zM86 44l6 6q4 -8 4 -17q0 -19 -13 -32t-32 -13t-32 13t-13 32t13 32t32 13q14 0 25 -8l-5 -5q-9 5 -20 5q-15 0 -26 -11t-11 -26
|
||||
t11 -26t26 -11q10 0 18.5 5t13.5 13.5t5 18.5q0 6 -2 11z" />
|
||||
<glyph glyph-name="history" unicode=""
|
||||
d="M48 6h-12v42h30v-12h-18v-30zM42 78q17 0 29.5 -12.5t12.5 -29.5t-12.5 -29.5t-29.5 -12.5t-29.5 12.5t-12.5 29.5v6h8v-6q0 -14 10 -24t24 -10t24 10t10 24t-10 24t-24 10q-17 0 -27 -13l9 -9h-24v24l10 -10q12 16 32 16z" />
|
||||
<glyph glyph-name="link-external" unicode=""
|
||||
d="M66 24h6v-18q0 -6 -6 -6h-60q-6 0 -6 6v60q0 6 6 6h18v-6h-18v-60h60v18zM36 72h36v-36l-14 14l-19 -20l-9 9l20 19z" />
|
||||
<glyph glyph-name="mute" unicode=""
|
||||
d="M48 67v-62q0 -3 -3 -4t-5 1l-22 22h-12q-6 0 -6 6v12q0 6 6 6h12l22 22q2 2 5 1t3 -4zM93 48l-12 -12l12 -12l-6 -6l-12 12l-12 -12l-6 6l12 12l-12 12l6 6l12 -12l12 12z" />
|
||||
<glyph glyph-name="x" unicode=""
|
||||
d="M45 36l22 -22l-9 -9l-22 22l-22 -22l-9 9l22 22l-22 22l9 9l22 -22l22 22l9 -9z" />
|
||||
<glyph glyph-name="circle-slash" unicode=""
|
||||
d="M42 78q17 0 29.5 -12.5t12.5 -29.5t-12.5 -29.5t-29.5 -12.5t-29.5 12.5t-12.5 29.5t12.5 29.5t29.5 12.5zM42 70q-14 0 -24 -10t-10 -24q0 -11 7 -21l48 48q-10 7 -21 7zM42 2q14 0 24 10t10 24q0 11 -7 21l-48 -48q10 -7 21 -7z" />
|
||||
<glyph glyph-name="pulse" unicode=""
|
||||
d="M69 36h15v-12h-20l-10 9l-22 -31l-5 33l-5 -11h-22v12h14l19 38l7 -41l13 19z" />
|
||||
<glyph glyph-name="sync" unicode=""
|
||||
d="M61 40l11 -2q1 -16 -10 -27q-10 -10 -23.5 -10.5t-24.5 7.5l-7 -8l-4 25l26 -3l-7 -7q17 -12 32 3q9 9 7 22zM18 54q-9 -9 -7 -22l-11 2q-1 16 10 27q10 10 23.5 10.5t24.5 -7.5l7 8l4 -25l-26 3l7 7q-17 12 -32 -3z" />
|
||||
<glyph glyph-name="telescope" unicode=""
|
||||
d="M48 30l18 -36h-6l-12 24v-30h-6v36l-12 -30h-6l12 30zM42 84v-6h-6v6h6zM30 66v-6h-6v6h6zM12 78v-6h-6v6h6zM4 30l7 5l7 -12l-8 -4q-3 -1 -4 1l-3 6q-1 2 1 4zM51 62l11 -18l-38 -18l-8 13zM76 55q2 -3 -1 -5l-8 -3l-11 19l7 5q3 2 5 -1z" />
|
||||
<glyph glyph-name="gist-secret" unicode=""
|
||||
d="M48 21l6 -21h-24l6 21l-4 9h20zM60 48l12 -6h-60l12 6h36zM54 72l6 -18h-36l6 18l12 -6zM78 26q6 -2 4 -8l-3 -14q-1 -4 -6 -4h-19l12 18l-6 12zM24 30l-6 -12l12 -18h-19q-5 0 -6 4l-3 14q-2 6 4 8z" />
|
||||
<glyph glyph-name="home" unicode=""
|
||||
d="M96 30h-12l-6 -30q0 -6 -6 -6h-48q-6 0 -6 6l-6 30h-12l48 48l18 -18v12h12v-24zM72 0l7 38l-31 31l-31 -31l7 -38h18v24h12v-24h18z" />
|
||||
<glyph glyph-name="stop" unicode=""
|
||||
d="M60 78l24 -24v-36l-24 -24h-36l-24 24v36l24 24h36zM78 21v30l-21 21h-30l-21 -21v-30l21 -21h30zM36 60h12v-30h-12v30zM36 24h12v-12h-12v12z" />
|
||||
<glyph glyph-name="bug" unicode=""
|
||||
d="M66 24v-6l19 -6l-2 -6l-17 6v-6q0 -6 -6 -6h-6l-6 6v42h-6v-42l-6 -6h-6q-6 0 -6 6v6l-17 -6l-2 6l19 6v6h-18v6h18v6l-19 6l2 6l17 -6v6q0 6 6 6v6q0 5 5 6l-6 6h-11v6h13l12 -12h4l12 12h13v-6h-11l-6 -6q5 -1 5 -6v-6q6 0 6 -6v-6l17 6l2 -6l-19 -6v-6h18v-6h-18z
|
||||
M54 54v6h-18v-6h18z" />
|
||||
<glyph glyph-name="logo-github" unicode=""
|
||||
d="M40 58h-1h1v0zM40 58v0v-3v-1h-3q-6 0 -6 6v7h-3v3l3 1v5h5v-5h3h1v-4h-1h-3v-7q0 -2 2 -2h1h1zM90 63q0 5 -3 4l-2 -1v-7q1 -1 2 -1q3 0 3 5zM95 63q0 -9 -6 -9l-6 2v-1v-1h-3l-1 1v23l1 1h4l1 -1v-8q1 2 4 2q6 0 6 -9zM77 71v0v-16v-1h-3l-1 1v1q-2 -2 -5 -2q-6 0 -6 6
|
||||
v11h5v-10q0 -3 2 -3l3 1v12h5zM26 71v0v-16v-1h-4q-1 0 -1 1v16h1h4zM24 78q3 0 3 -3t-3 -3t-3 3t3 3zM59 79v-1v-23v-1h-4l-1 1v10h-7v-10v-1h-5v1v23v1h5v-1v-8h7v8l1 1h4zM19 68v-12q-3 -2 -7 -2q-12 0 -12 13t11 13q5 0 7 -2l-1 -4q-3 1 -5 1q-7 0 -7 -8t6 -8h3v5h-4v4
|
||||
v1h8z" />
|
||||
<glyph glyph-name="file-binary" unicode=""
|
||||
d="M24 12h6v-6h-18v6h6v12h-6v6h12v-18zM72 57v-57q0 -6 -6 -6h-60q-6 0 -6 6v72q0 6 6 6h45zM66 54l-18 18h-42v-72h60v54zM48 60v-18h6v-6h-18v6h6v12h-6v6h12zM12 60h18v-24h-18v24zM18 42h6v12h-6v-12zM36 30h18v-24h-18v24zM42 12h6v12h-6v-12z" />
|
||||
<glyph glyph-name="database" unicode=""
|
||||
d="M36 -6q-36 0 -36 12v12q0 1 1 3q7 -9 35 -9t35 9q1 -2 1 -3v-12q0 -12 -36 -12zM36 18q-36 0 -36 12v12q0 1 1 2v1q7 -9 35 -9t35 9v-1q1 -1 1 -2v-12q0 -12 -36 -12zM36 42q-36 0 -36 12v6v6q0 12 36 12t36 -12v-6v-6q0 -12 -36 -12zM36 72q-24 0 -24 -6t24 -6t24 6
|
||||
t-24 6z" />
|
||||
<glyph glyph-name="server" unicode=""
|
||||
d="M66 48q6 0 6 -6v-12q0 -6 -6 -6h-60q-6 0 -6 6v12q0 6 6 6h60zM12 30v12h-6v-12h6zM24 30v12h-6v-12h6zM36 30v12h-6v-12h6zM48 30v12h-6v-12h6zM66 78q6 0 6 -6v-12q0 -6 -6 -6h-60q-6 0 -6 6v12q0 6 6 6h60zM12 60v12h-6v-12h6zM24 60v12h-6v-12h6zM36 60v12h-6v-12h6z
|
||||
M48 60v12h-6v-12h6zM66 66v6h-6v-6h6zM66 18q6 0 6 -6v-12q0 -6 -6 -6h-60q-6 0 -6 6v12q0 6 6 6h60zM12 0v12h-6v-12h6zM24 0v12h-6v-12h6zM36 0v12h-6v-12h6zM48 0v12h-6v-12h6z" />
|
||||
<glyph glyph-name="diff-ignored" unicode=""
|
||||
d="M78 78q6 0 6 -6v-72q0 -6 -6 -6h-72q-6 0 -6 6v72q0 6 6 6h72zM78 0v72h-72v-72h72zM27 12h-9v9l39 39h9v-9z" />
|
||||
<glyph glyph-name="ellipsis" unicode=""
|
||||
d="M66 54q6 0 6 -6v-24q0 -6 -6 -6h-60q-6 0 -6 6v24q0 6 6 6h60zM24 30v12h-12v-12h12zM42 30v12h-12v-12h12zM60 30v12h-12v-12h12z" />
|
||||
<glyph glyph-name="no-newline" unicode=""
|
||||
d="M96 54v-18q0 -6 -6 -6h-18v-12l-18 18l18 18v-12h12v12h12zM48 36q0 -10 -7 -17t-17 -7t-17 7t-7 17t7 17t17 7t17 -7t7 -17zM9 26l25 25q-5 3 -10 3q-7 0 -12.5 -5.5t-5.5 -12.5q0 -5 3 -10zM42 36q0 5 -3 10l-25 -25q5 -3 10 -3q7 0 12.5 5.5t5.5 12.5z" />
|
||||
<glyph glyph-name="hubot" unicode=""
|
||||
d="M18 48h48q6 0 6 -6v-12q0 -6 -6 -6h-48q-6 0 -6 6v12q0 6 6 6zM66 38v4h-4l-8 -8l-8 8h-8l-8 -8l-8 8h-4v-4l8 -8h8l8 8l8 -8h8zM30 18h24v-6h-24v6zM42 72q17 0 29.5 -11.5t12.5 -27.5v-27q0 -6 -6 -6h-72q-6 0 -6 6v27q0 16 12.5 27.5t29.5 11.5zM78 6v27
|
||||
q0 14 -10.5 24t-25.5 10t-25.5 -10t-10.5 -24v-27h72z" />
|
||||
<glyph glyph-name="arrow-small-up" unicode=""
|
||||
d="M18 54l18 -24h-12v-12h-12v12h-12z" />
|
||||
<glyph glyph-name="arrow-small-down" unicode=""
|
||||
d="M24 42h12l-18 -24l-18 24h12v12h12v-12z" />
|
||||
<glyph glyph-name="arrow-small-left" unicode=""
|
||||
d="M24 42h12v-12h-12v-12l-24 18l24 18v-12z" />
|
||||
<glyph glyph-name="chevron-up" unicode=""
|
||||
d="M60 24l-9 -9l-21 23l-21 -23l-9 9l30 30z" />
|
||||
<glyph glyph-name="chevron-down" unicode=""
|
||||
d="M30 18l-30 30l9 9l21 -23l21 23l9 -9z" />
|
||||
<glyph glyph-name="chevron-left" unicode=""
|
||||
d="M33 66l9 -9l-22 -21l22 -21l-9 -9l-30 30z" />
|
||||
<glyph glyph-name="triangle-up" unicode=""
|
||||
d="M72 18h-72l36 36z" />
|
||||
<glyph glyph-name="git-compare" unicode=""
|
||||
d="M30 12v12l18 -18l-18 -18v12h-6q-7 0 -12.5 5.5t-5.5 12.5v38q-6 3 -6 10q0 12 12 12t12 -12q0 -7 -6 -10v-38q0 -2 2 -4t4 -2h6zM12 73q-7 0 -7 -7t7 -7t7 7t-7 7zM78 16q6 -3 6 -10q0 -12 -12 -12t-12 12q0 7 6 10v38q0 2 -2 4t-4 2h-6v-12l-18 18l18 18v-12h6
|
||||
q7 0 12.5 -5.5t5.5 -12.5v-38zM72 -1q7 0 7 7t-7 7t-7 -7t7 -7z" />
|
||||
<glyph glyph-name="logo-gist" unicode=""
|
||||
d="M18 50v4h14v-22q-6 -2 -14 -2q-18 0 -18 23t18 23q7 0 12 -2v-4q-6 3 -12 3q-14 0 -14 -19.5t14 -19.5q7 0 9 1v15h-9zM43 36v0q0 -3 2 -3v-3q-6 0 -6 7v24h4v-25zM44 70q0 -3 -3 -3t-3 3t3 3t3 -3zM60 48v0q11 -1 11 -9q0 -9 -12 -9q-5 0 -9 2v3q4 -1 9 -1q8 0 8 5t-7 5
|
||||
q-11 1 -11 8q0 9 12 9q5 0 8 -1v-4q-4 1 -8 1q-8 0 -8 -5q0 -4 7 -4zM93 57v0h-9v-18q0 -5 6 -5h2v-4h-3q-9 0 -9 8v19h-6v2l6 2v8l4 1v-9h9v-4z" />
|
||||
<glyph glyph-name="file-symlink-file" unicode=""
|
||||
d="M51 78l21 -21v-57q0 -6 -6 -6h-60q-6 0 -6 6v72q0 6 6 6h45zM66 0v54l-18 18h-42v-72h60zM36 57l24 -18l-24 -18v12q-9 0 -15.5 -4t-8.5 -14q0 15 6.5 22.5t17.5 7.5v12z" />
|
||||
<glyph glyph-name="file-symlink-directory" unicode=""
|
||||
d="M78 60q6 0 6 -6v-48q0 -6 -6 -6h-72q-6 0 -6 6v60q0 6 6 6h30q6 0 6 -6v-6h36zM6 66v-6h30v6h-30zM42 12l24 18l-24 18v-12q-11 0 -17.5 -7.5t-6.5 -22.5q2 10 8.5 14t15.5 4v-12z" />
|
||||
<glyph glyph-name="squirrel" unicode=""
|
||||
d="M72 78q10 0 17 -7t7 -17q0 -12 -7.5 -14.5t-10.5 2.5q-5 4 -8 -3q-2 -4 2 -9q6 -8 6 -15q0 -21 -30 -21h-36q0 6 6 6h6q-19 17 0 24q-7 0 -11.5 3t-6.5 3q-5 0 -4.5 3t4.5 3q2 0 8.5 -3t7.5 1q1 1 0.5 3.5t-3.5 2.5q-12 -2 -15 3q0 7 3 11.5t5 6.5l3 1l1 4q2 0 3 -2l2 2
|
||||
l3 -4q7 0 15.5 -10t8.5 -28q1 6 1 11.5v9t-0.5 8t-0.5 7.5q0 8 7 13t17 5zM15 48q3 0 3 3t-3 3t-3 -3t3 -3z" />
|
||||
<glyph glyph-name="globe" unicode=""
|
||||
d="M42 78q17 0 29.5 -12.5t12.5 -29.5q0 -15 -9.5 -26.5t-23.5 -14.5l1.5 2t2.5 3q2 1 8 5q1 1 2 3l3 3q1 1 4.5 6.5t2.5 6.5q-1 2 -4.5 2h-3.5l-0.5 1.5t-1 2t-2.5 1t-5 1.5q-3 2 -6 1l-2 -1.5l-2 -1.5q-6 1 -6 4q0 2 -3 3v1q1 2 0 3l-3 -2t-4 1q-2 5 4 6q2 1 4 0.5
|
||||
t2.5 -1.5t1.5 -1v2q-1 1 -1 2t1.5 2l1.5 1q-1 5 3 5q-1 1 0 2t1 0l2 2q-2 2 1 4q-4 3 -5 3q-1 1 -1.5 0.5t-1.5 0.5q-1 0 -1.5 0.5t-1.5 -0.5q1 -2 1 -3.5t-3 -0.5q0 1 -0.5 1t-1.5 1q-2 1 -1 2q1 0 2 0.5t0 1.5l1 1h-1q-2 0 -3.5 1l-1.5 1l-2 -1h-2q-5 2 -7 0l-7 -5l5 1
|
||||
q1 0 1 -2.5v-3.5l-1 -1q0 -1 -1 -3t-1 -3t1 -5q2 -3 2 -4v-1q2 -3 2 -2.5t-1 2.5l-1 2h1l1 -2q0 -1 1 -1q1 -2 1 -3q0 -3 3 -4q6 -2 8 -3h1t1 -0.5t0.5 -1l1.5 -1.5q2 -2 3 -2l1 1q2 0 2 -1v-1.5v-0.5q-2 -5 -2 -6q1 -2 1 -3q1 -1 2 -3t3 -3q3 -2 -1 -11q-1 -1 -1 -3.5
|
||||
t1 -2.5q-4 -1 -8 -1q-17 0 -29.5 12.5t-12.5 29.5t12.5 29.5t29.5 12.5zM52 39q-3 -1 -5 0l-4 2h-1l1 1q2 0 4.5 -1.5l2.5 -1.5l1 0.5t1 -0.5v0zM38 74l1 1v0h3zM45 68q2 0 1 2q0 1 -2 2h-1q0 1 -2 1h-2l1 -1q5 0 2 -3zM54 69q1 0 0 2q-1 1 -1 2q0 2 -4 3h-6q-1 -1 0 -2h1
|
||||
q2 0 5 -2q4 -4 5 -3z" />
|
||||
<glyph glyph-name="unmute" unicode=""
|
||||
d="M72 36q0 -10 -7 -17l-4 4q5 5 5 13t-5 13l4 4q7 -7 7 -17zM46 70q2 2 5 1t3 -4v-62q0 -3 -3 -4t-5 1l-22 22h-12q-6 0 -6 6v12q0 6 6 6h12zM82 70q14 -14 14 -34t-14 -34l-4 4q12 12 12 29.5t-12 30.5zM74 61q10 -10 10 -25t-10 -26l-5 5q9 8 9 20.5t-9 21.5z" />
|
||||
<glyph glyph-name="mention" unicode=""
|
||||
d="M39 -6q-17 0 -28 10.5t-11 29.5q0 22 14 36t33 14q17 0 27 -10.5t10 -27.5q0 -13 -7 -21.5t-16 -8.5q-10 0 -11 9q-7 -7 -14 -7q-14 0 -14 15q0 10 6.5 18.5t15.5 8.5q6 0 9 -5l1 4h6l-4 -23q-3 -13 6 -13q6 0 10.5 6.5t4.5 16.5t-3.5 17t-10.5 11t-17 4q-16 0 -28 -12
|
||||
t-12 -31q0 -16 9.5 -25.5t24.5 -9.5q10 0 18 5l3 -5q-9 -6 -22 -6zM38 24q5 0 10 6l3 18q-3 5 -7 5q-6 0 -10.5 -6t-4.5 -13q0 -10 9 -10z" />
|
||||
<glyph glyph-name="package" unicode=""
|
||||
d="M6 58q0 5 4 6l40 11h2l40 -11q4 -1 4 -6v-44q0 -5 -4 -6l-40 -11h-2l-40 11q-4 1 -4 6v44zM48 4v40l-36 10v-41zM12 60l39 -10l15 4l-39 10zM90 13v41l-12 -3v-15l-12 -3v15l-12 -4v-40zM78 57l12 3l-39 10l-12 -3z" />
|
||||
<glyph glyph-name="browser" unicode=""
|
||||
d="M30 66v-6h6v6h-6zM18 66v-6h6v6h-6zM6 66v-6h6v6h-6zM78 6v48h-72v-48h72zM78 60v6h-36v-6h36zM84 66v-60q0 -6 -6 -6h-72q-6 0 -6 6v60q0 6 6 6h72q6 0 6 -6z" />
|
||||
<glyph glyph-name="terminal" unicode=""
|
||||
d="M42 24h24v-6h-24v6zM24 18l-4 4l13 14l-13 14l4 4l18 -18zM84 66v-60q0 -6 -6 -6h-72q-6 0 -6 6v60q0 6 6 6h72q6 0 6 -6zM78 66h-72v-60h72v60z" />
|
||||
<glyph glyph-name="markdown" unicode=""
|
||||
d="M89 66q7 0 7 -7v-46q0 -7 -7 -7h-82q-7 0 -7 7v46q0 7 7 7h82zM54 18v36h-12l-9 -12l-9 12h-12v-36h12v18l9 -12l9 12v-18h12zM72 15l15 21h-9v18h-12v-18h-9z" />
|
||||
<glyph glyph-name="dash" unicode=""
|
||||
d="M0 42h48v-12h-48v12z" />
|
||||
<glyph glyph-name="fold" unicode=""
|
||||
d="M42 30l18 -18h-12v-18h-12v18h-12zM60 66l-18 -18l-18 18h12v18h12v-18h12zM84 54l-15 -15l15 -15q0 -6 -6 -6h-15l-6 6h18l-12 12h-42l-12 -12h18l-6 -6h-15q-6 0 -6 6l15 15l-15 15q0 6 6 6h15l6 -6h-18l12 -12h42l12 12h-18l6 6h15q6 0 6 -6z" />
|
||||
<glyph glyph-name="inbox" unicode=""
|
||||
d="M84 30v-30q0 -6 -6 -6h-72q-6 0 -6 6v30l7 43q1 5 6 5h58q5 0 6 -5zM64 27q2 3 6 3h8l-6 42h-60l-6 -42h8q4 0 6 -3l2 -6q2 -3 6 -3h28q4 0 6 3z" />
|
||||
<glyph glyph-name="trashcan" unicode=""
|
||||
d="M66 72q6 0 6 -6v-6q0 -6 -6 -6v-54q0 -6 -6 -6h-42q-6 0 -6 6v54q-6 0 -6 6v6q0 6 6 6h12q0 6 6 6h18q6 0 6 -6h12zM60 0v54h-6v-48h-6v48h-6v-48h-6v48h-6v-48h-6v48h-6v-54h42zM66 60v6h-54v-6h54z" />
|
||||
<glyph glyph-name="paintcan" unicode=""
|
||||
d="M36 84q15 0 25.5 -10.5t10.5 -25.5v-6q0 -6 -6 -6v-30q0 -12 -30 -12t-30 12v30q-6 0 -6 6v6q0 15 10.5 25.5t25.5 10.5zM54 24q6 0 6 6v11q-9 -5 -24 -5t-24 5v-11q0 -6 6 -6v-6q0 -6 6 -6t6 6v3q0 3 3 3t3 -3v-12q0 -3 3 -3t3 3v15q0 3 3 3t3 -3v-3q0 -3 3 -3t3 3v3z
|
||||
M36 42q16 0 22 6q-6 6 -22 6t-22 -6q6 -6 22 -6zM36 60q30 0 30 -12q0 12 -9 21t-21 9t-21 -9t-9 -21q0 12 30 12z" />
|
||||
<glyph glyph-name="flame" unicode=""
|
||||
d="M30 82v0q15 -9 17 -21t-5 -16q-7 -7 0 -11q4 -2 7.5 0.5t3.5 7.5q-1 15 11 17q-2 -5 -1.5 -9.5t2.5 -7t4.5 -7.5t2.5 -10q0 -7 -3 -13.5t-9.5 -12.5t-16.5 -7q7 3 7 10q0 6 -4 9t-10 1t-10 3.5t-1 14.5q-11 -10 -10 -22.5t12 -17.5q-15 3 -21.5 12t-5.5 18t5 16
|
||||
q4 5 12 11.5t10 8.5q9 10 3 26z" />
|
||||
<glyph glyph-name="briefcase" unicode=""
|
||||
d="M54 60h24q6 0 6 -6v-48q0 -6 -6 -6h-72q-6 0 -6 6v48q0 6 6 6h24v6q0 6 6 6h12q6 0 6 -6v-6zM36 66v-6h12v6h-12zM78 30v24h-6v-18h-60v18h-6v-24h30v-6h12v6h30z" />
|
||||
<glyph glyph-name="plug" unicode=""
|
||||
d="M84 48h-24v-18h24v-6h-24v-12h-12v6h-12q-9 0 -12 12l-6 6q-12 0 -12 -12v-12h-6v12q0 7 5.5 12.5t12.5 5.5l6 6q2 12 12 12h12v6h12v-12h24v-6z" />
|
||||
<glyph glyph-name="circuit-board" unicode=""
|
||||
d="M18 54q0 6 6 6t6 -6t-6 -6t-6 6zM66 54q0 -6 -6 -6t-6 6t6 6t6 -6zM66 18q0 -6 -6 -6t-6 6t6 6t6 -6zM78 78q6 0 6 -6v-72q0 -6 -6 -6h-54l18 18h7q3 -7 11 -7q6 0 10 5t2 11q-1 7 -9 9q-9 2 -14 -6h-13l-30 -30q-6 0 -6 6v72q0 6 6 6h12v-13q-9 -4 -6 -14q2 -7 9 -9
|
||||
q9 -3 14 6h14q3 -7 11 -7q6 0 10 5t2 11q-1 7 -9 9q-9 2 -14 -6h-14q-2 3 -5 5v13h48z" />
|
||||
<glyph glyph-name="mortar-board" unicode=""
|
||||
d="M47 29v0h2l23 7v-15q0 -9 -24 -9t-24 9q0 2 -6 19l-4 14q3 -3 10 -18zM49 67l45 -14q2 -1 2 -2.5t-2 -1.5l-45 -15h-2l-29 10v-9q3 -2 3 -5q0 -2 -1 -3q1 -1 1 -3v-16q0 -2 -6 -2t-6 2v16q0 1 1 3q-1 1 -1 3q0 3 3 5v11l-10 3q-2 0 -2 1.5t2 2.5l45 14h2zM48 48q6 0 6 3
|
||||
t-6 3t-6 -3t6 -3z" />
|
||||
<glyph glyph-name="law" unicode=""
|
||||
d="M42 60q-9 0 -9 9t9 9t9 -9t-9 -9zM84 24q0 -12 -12 -12h-6q-12 0 -12 12l12 24h-6q-6 0 -6 6h-6v-48q6 0 6 -6h6q6 0 6 -6h-48q0 6 6 6h6q0 6 6 6v48h-6q0 -6 -6 -6h-6l12 -24q0 -12 -12 -12h-6q-12 0 -12 12l12 24h-6v6h18q0 6 6 6h24q6 0 6 -6h18v-6h-6zM15 42l-9 -18
|
||||
h18zM78 24l-9 18l-9 -18h18z" />
|
||||
<glyph glyph-name="thumbsup" unicode=""
|
||||
d="M84 0l6 36q0 6 -6 6h-12q-6 0 -6 6v6q0 6 -4 15t-8 9q-2 0 -4 -2t-2 -4q3 -16 -5 -25q-10 -11 -19 -11v-36l10 -6h38q12 0 12 6zM84 48q12 0 12 -12v-1l-6 -36q-1 -11 -18 -11h-38q-2 0 -3 1l-9 5h-10q-12 0 -12 12v24q0 5 3.5 8.5t8.5 3.5h12q6 0 14 9q6 7 4 20
|
||||
q-1 5 3 8q3 5 9 5q7 0 12.5 -11t5.5 -19v-6h12z" />
|
||||
<glyph glyph-name="thumbsdown" unicode=""
|
||||
d="M96 37v-1q0 -12 -12 -12h-12v-6q0 -8 -5.5 -19t-12.5 -11q-6 0 -9 5q-4 3 -3 8q2 13 -4 20q-8 9 -14 9h-12q-12 0 -12 12v24q0 12 12 12h10l9 5q1 1 3 1h38q17 0 18 -11zM84 30q6 0 6 6l-6 36q0 6 -12 6h-38l-10 -6v-36q9 0 19 -11q8 -9 5 -25q0 -2 2 -4t4 -2t5 4.5t5 10
|
||||
t2 9.5v6q0 6 6 6h12z" />
|
||||
<glyph glyph-name="desktop-download" unicode=""
|
||||
d="M24 48h18v36h12v-36h18l-24 -24zM90 72q6 0 6 -6v-54q0 -6 -6 -6h-32q3 -7 14 -12h-48q11 5 14 12h-32q-6 0 -6 6v54q0 6 6 6h24v-6h-24v-48h84v48h-24v6h24z" />
|
||||
<glyph glyph-name="beaker" unicode=""
|
||||
d="M86 -4q4 -8 -5 -8h-72q-3 0 -5 2.5t0 5.5l20 46v24h-6v6h54v-6h-6v-24zM22 24h45l-7 18v24h-30v-24zM48 36h6v-6h-6v6zM42 42h-6v6h6v-6zM42 60h6v-6h-6v6zM42 78h-6v6h6v-6z" />
|
||||
<glyph glyph-name="bell" unicode=""
|
||||
d="M84 12v-6h-84v6l4 3q3 3 8 27q2 10 8 17.5t11 10.5l5 2q0 6 6 6t6 -6q20 -7 25 -30q5 -24 7 -27zM42 -12q-12 0 -12 12h24q0 -12 -12 -12z" />
|
||||
<glyph glyph-name="watch" unicode=""
|
||||
d="M36 36h12v-6h-18v24h6v-18zM72 36q0 -21 -18 -31v-11q0 -6 -6 -6h-24q-6 0 -6 6v11q-18 10 -18 31t18 31v11q0 6 6 6h24q6 0 6 -6v-11q18 -10 18 -31zM66 36q0 12 -9 21t-21 9t-21 -9t-9 -21t9 -21t21 -9t21 9t9 21z" />
|
||||
<glyph glyph-name="shield" unicode=""
|
||||
d="M42 84l42 -12v-36q0 -19 -16 -33.5t-26 -14.5t-26 14.5t-16 33.5v36zM30 18h24l-7 17q0 2 2 3q5 4 5 10q0 3 -1.5 6t-4.5 4.5t-6 1.5q-5 0 -8.5 -3.5t-3.5 -8.5q0 -6 5 -10q2 -1 2 -3z" />
|
||||
<glyph glyph-name="bold" unicode=""
|
||||
d="M6 72h23q26 0 26 -18q0 -12 -10 -15v-1q14 -3 14 -17q0 -21 -28 -21h-25v72zM28 42q14 0 14 10t-14 10h-9v-20h9zM30 10q16 0 16 12q0 11 -16 11h-11v-23h11z" />
|
||||
<glyph glyph-name="text-size" unicode=""
|
||||
d="M73 36l-8 28h-1l-8 -28h17zM30 30q-5 19 -6 22l-6 -22h12zM92 9h-12l-5 18h-21l-6 -18h-12l-3 13h-18l-3 -13h-12l18 51h13l12 -33l15 46h13z" />
|
||||
<glyph glyph-name="italic" unicode=""
|
||||
d="M17 54h12l-11 -54h-12zM19 70q0 8 8 8q7 0 7 -6q0 -8 -8 -8q-7 0 -7 6z" />
|
||||
<glyph glyph-name="tasklist" unicode=""
|
||||
d="M92 30h-46q-4 0 -4 6t4 6h46q4 0 4 -6t-4 -6zM58 60q-4 0 -4 6t4 6h34q4 0 4 -6t-4 -6h-34zM0 61l8 7l10 -9l25 25l8 -8l-33 -33zM46 12h46q4 0 4 -6t-4 -6h-46q-4 0 -4 6t4 6z" />
|
||||
<glyph glyph-name="verified" unicode=""
|
||||
d="M94 42q5 -6 0 -12l-6 -8q-2 -2 -2 -4l-2 -11q0 -7 -8 -8l-10 -1q-2 0 -4 -2l-8 -6q-6 -5 -12 0l-8 6q-2 2 -4 2l-11 2q-7 0 -8 8l-1 10q0 2 -2 4l-6 8q-5 6 0 12l6 8q2 2 2 4l2 11q0 7 8 8l10 1q2 0 4 2l8 6q6 5 12 0l8 -6q2 -2 4 -2l11 -2q7 0 8 -8l1 -10q0 -2 2 -4z
|
||||
M39 12l39 39l-9 9l-30 -30l-12 12l-9 -9z" />
|
||||
<glyph glyph-name="smiley" unicode=""
|
||||
d="M48 84q20 0 34 -14t14 -34t-14 -34t-34 -14t-34 14t-14 34t14 34t34 14zM76.5 7.5q5.5 5.5 9 12.5t3.5 16t-3.5 16t-9 12.5t-12.5 9t-16 3.5t-16 -3.5t-12.5 -9t-9 -12.5t-3.5 -16t3.5 -16t9 -12.5t12.5 -9t16 -3.5t16 3.5t12.5 9zM24 43v4q0 7 7 7h4q7 0 7 -7v-4
|
||||
q0 -7 -7 -7h-4q-7 0 -7 7zM54 43v4q0 7 7 7h4q7 0 7 -7v-4q0 -7 -7 -7h-4q-7 0 -7 7zM78 24q-7 -18 -30 -18t-30 18q-2 6 4 6h52q6 0 4 -6z" />
|
||||
<glyph glyph-name="unverified" unicode=""
|
||||
d="M94 42q5 -6 0 -12l-6 -8q-2 -2 -2 -4l-2 -11q0 -7 -8 -8l-10 -1q-2 0 -4 -2l-8 -6q-6 -5 -12 0l-8 6q-2 2 -4 2l-11 2q-7 0 -8 8l-1 10q0 2 -2 4l-6 8q-5 6 0 12l6 8q2 2 2 4l2 11q0 7 8 8l10 1q2 0 4 2l8 6q6 5 12 0l8 -6q2 -2 4 -2l11 -2q7 0 8 -8l1 -10q0 -2 2 -4z
|
||||
M54 15v6q0 3 -3 3h-6q-3 0 -3 -3v-6q0 -3 3 -3h6q3 0 3 3zM63 44q1 1 1 4t-1 5t-3 4l-6 2t-7 1q-3 0 -6 -1t-5.5 -2.5t-3.5 -3.5q-2 -3 -2 -5h12q0 1 1 2l1 1l1 1h2q3 0 4 -1t1 -4q0 -1 -1 -3t-3 -3t-3 -2.5t-1 -2.5q-1 -2 -1 -3v-3h10v2t1 1q0 1 1 2t1 2l4 2q0 1 1.5 2.5
|
||||
t1.5 2.5z" />
|
||||
<glyph glyph-name="ellipses" unicode=""
|
||||
d="M66 54q6 0 6 -6v-24q0 -6 -6 -6h-60q-6 0 -6 6v24q0 6 6 6h60zM24 30v12h-12v-12h12zM42 30v12h-12v-12h12zM60 30v12h-12v-12h12z" />
|
||||
<glyph glyph-name="file" unicode=""
|
||||
d="M36 54h-24v6h24v-6zM12 36v6h42v-6h-42zM12 24v6h42v-6h-42zM12 12v6h42v-6h-42zM72 57v-57q0 -6 -6 -6h-60q-6 0 -6 6v72q0 6 6 6h45zM66 54l-18 18h-42v-72h60v54z" />
|
||||
<glyph glyph-name="grabber" unicode=""
|
||||
d="M48 60v-6h-48v6h48zM0 36v6h48v-6h-48zM0 18v6h48v-6h-48z" />
|
||||
<glyph glyph-name="plus-small" unicode=""
|
||||
d="M24 42h18v-6h-18v-18h-6v18h-18v6h18v18h6v-18z" />
|
||||
<glyph glyph-name="reply" unicode=""
|
||||
d="M36 63q20 -2 34 -16.5t14 -43.5q-16 36 -48 36v-21l-33 33l33 33v-21z" />
|
||||
<glyph glyph-name="device-desktop" unicode=""
|
||||
d="M90 72q6 0 6 -6v-54q0 -6 -6 -6h-32q3 -7 14 -12h-48q11 5 14 12h-32q-6 0 -6 6v54q0 6 6 6h84zM90 18v48h-84v-48h84z" />
|
||||
</font>
|
||||
</defs></svg>
|
Before Width: | Height: | Size: 44 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -32,7 +32,7 @@
|
|||
<td>
|
||||
<a href="{{.HomeLink}}">{{.Name}}</a>
|
||||
{{if .Visibility.IsPrivate}}
|
||||
<span class="text gold"><i class="octicon octicon-lock"></i></span>
|
||||
<span class="text gold">{{svg "octicon-lock" 16}}</span>
|
||||
{{end}}
|
||||
</td>
|
||||
<td>{{.NumTeams}}</td>
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
<td>
|
||||
<a href="{{AppSubUrl}}/{{.Owner.Name}}">{{.Owner.Name}}</a>
|
||||
{{if .Owner.Visibility.IsPrivate}}
|
||||
<span class="text gold"><i class="octicon octicon-lock"></i></span>
|
||||
<span class="text gold">{{svg "octicon-lock" 16}}</span>
|
||||
{{end}}
|
||||
</td>
|
||||
<td><a href="{{AppSubUrl}}/{{.Owner.Name}}/{{.Name}}">{{.Name}}</a></td>
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
<meta name="referrer" content="no-referrer" />
|
||||
<meta name="_csrf" content="{{.CsrfToken}}" />
|
||||
<meta name="_suburl" content="{{AppSubUrl}}" />
|
||||
<meta name="_staticprefix" content="{{StaticUrlPrefix}}" />
|
||||
{{if .IsSigned}}
|
||||
<meta name="_uid" content="{{.SignedUser.ID}}" />
|
||||
{{end}}
|
||||
|
@ -98,10 +99,9 @@
|
|||
<link rel="apple-touch-icon" href="{{StaticUrlPrefix}}/img/apple-touch-icon.png">
|
||||
<link rel="mask-icon" href="{{StaticUrlPrefix}}/img/gitea-safari.svg" color="#609926">
|
||||
<link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/assets/font-awesome/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/assets/octicons/octicons.min.css">
|
||||
<link rel="preload" as="font" href="{{StaticUrlPrefix}}/fomantic/themes/default/assets/fonts/icons.woff2" type="font/woff2" crossorigin="anonymous">
|
||||
<link rel="preload" as="font" href="{{StaticUrlPrefix}}/fomantic/themes/default/assets/fonts/outline-icons.woff2" type="font/woff2" crossorigin="anonymous">
|
||||
<link rel="preload" as="font" href="{{StaticUrlPrefix}}/vendor/assets/octicons/octicons.woff2?ef21c39f0ca9b1b5116e5eb7ac5eabe6" type="font/woff2" crossorigin="anonymous">
|
||||
<link rel="preload" as="image" href="{{StaticUrlPrefix}}/img/svg/icons.svg">
|
||||
{{if .RequireSimpleMDE}}
|
||||
<link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/plugins/simplemde/simplemde.min.css">
|
||||
{{end}}
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
<div class="right stackable menu">
|
||||
<a href="{{AppSubUrl}}/notifications" class="item poping up" data-content='{{.i18n.Tr "notifications"}}' data-variation="tiny inverted">
|
||||
<span class="text">
|
||||
<i class="fitted octicon octicon-bell"></i>
|
||||
<span class="fitted">{{svg "octicon-bell" 16}}</span>
|
||||
<span class="sr-mobile-only">{{.i18n.Tr "notifications"}}</span>
|
||||
|
||||
{{if .NotificationUnreadCount}}
|
||||
|
@ -57,20 +57,20 @@
|
|||
|
||||
<div class="ui dropdown jump item poping up" data-content="{{.i18n.Tr "create_new"}}" data-variation="tiny inverted">
|
||||
<span class="text">
|
||||
<i class="fitted octicon octicon-plus"></i>
|
||||
<span class="fitted">{{svg "octicon-plus" 16}}</span>
|
||||
<span class="sr-mobile-only">{{.i18n.Tr "create_new"}}</span>
|
||||
<i class="fitted octicon octicon-triangle-down not-mobile"></i>
|
||||
<span class="fitted not-mobile">{{svg "octicon-triangle-down" 16}}</span>
|
||||
</span>
|
||||
<div class="menu">
|
||||
<a class="item" href="{{AppSubUrl}}/repo/create">
|
||||
<i class="octicon octicon-plus"></i> {{.i18n.Tr "new_repo"}}
|
||||
<span class="fitted">{{svg "octicon-plus" 16}}</span> {{.i18n.Tr "new_repo"}}
|
||||
</a>
|
||||
<a class="item" href="{{AppSubUrl}}/repo/migrate">
|
||||
<i class="octicon octicon-repo-clone"></i> {{.i18n.Tr "new_migrate"}}
|
||||
<span class="fitted">{{svg "octicon-repo-clone" 16}}</span> {{.i18n.Tr "new_migrate"}}
|
||||
</a>
|
||||
{{if .SignedUser.CanCreateOrganization}}
|
||||
<a class="item" href="{{AppSubUrl}}/org/create">
|
||||
<i class="octicon octicon-organization"></i> {{.i18n.Tr "new_org"}}
|
||||
<span class="fitted">{{svg "octicon-organization" 16}}</span> {{.i18n.Tr "new_org"}}
|
||||
</a>
|
||||
{{end}}
|
||||
</div><!-- end content create new menu -->
|
||||
|
@ -81,7 +81,7 @@
|
|||
<img class="ui tiny avatar image" width="24" height="24" src="{{.SignedUser.RelAvatarLink}}">
|
||||
<span class="sr-only">{{.i18n.Tr "user_profile_and_more"}}</span>
|
||||
<span class="mobile-only">{{.SignedUser.Name}}</span>
|
||||
<i class="fitted octicon octicon-triangle-down not-mobile" tabindex="-1"></i>
|
||||
<span class="fitted not-mobile" tabindex="-1">{{svg "octicon-triangle-down" 16}}</span>
|
||||
</span>
|
||||
<div class="menu user-menu" tabindex="-1">
|
||||
<div class="ui header">
|
||||
|
@ -90,19 +90,19 @@
|
|||
|
||||
<div class="divider"></div>
|
||||
<a class="item" href="{{AppSubUrl}}/{{.SignedUser.Name}}">
|
||||
<i class="octicon octicon-person"></i>
|
||||
{{svg "octicon-person" 16}}
|
||||
{{.i18n.Tr "your_profile"}}<!-- Your profile -->
|
||||
</a>
|
||||
<a class="item" href="{{AppSubUrl}}/{{.SignedUser.Name}}?tab=stars">
|
||||
<i class="octicon octicon-star"></i>
|
||||
{{svg "octicon-star" 16}}
|
||||
{{.i18n.Tr "your_starred"}}
|
||||
</a>
|
||||
<a class="{{if .PageIsUserSettings}}active{{end}} item" href="{{AppSubUrl}}/user/settings">
|
||||
<i class="octicon octicon-settings"></i>
|
||||
{{svg "octicon-settings" 16}}
|
||||
{{.i18n.Tr "your_settings"}}<!-- Your settings -->
|
||||
</a>
|
||||
<a class="item" target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io">
|
||||
<i class="octicon octicon-question"></i>
|
||||
{{svg "octicon-question" 16}}
|
||||
{{.i18n.Tr "help"}}<!-- Help -->
|
||||
</a>
|
||||
{{if .IsAdmin}}
|
||||
|
@ -116,7 +116,7 @@
|
|||
|
||||
<div class="divider"></div>
|
||||
<a class="item" href="{{AppSubUrl}}/user/logout">
|
||||
<i class="octicon octicon-sign-out"></i>
|
||||
{{svg "octicon-sign-out" 16}}
|
||||
{{.i18n.Tr "sign_out"}}<!-- Sign Out -->
|
||||
</a>
|
||||
</div><!-- end content avatar menu -->
|
||||
|
@ -129,11 +129,11 @@
|
|||
<div class="right stackable menu">
|
||||
{{if .ShowRegistrationButton}}
|
||||
<a class="item{{if .PageIsSignUp}} active{{end}}" href="{{AppSubUrl}}/user/sign_up">
|
||||
<i class="octicon octicon-person"></i> {{.i18n.Tr "register"}}
|
||||
{{svg "octicon-person" 16}} {{.i18n.Tr "register"}}
|
||||
</a>
|
||||
{{end}}
|
||||
<a class="item{{if .PageIsSignIn}} active{{end}}" rel="nofollow" href="{{AppSubUrl}}/user/login?redirect_to={{.Link}}">
|
||||
<i class="octicon octicon-sign-in"></i> {{.i18n.Tr "sign_in"}}
|
||||
{{svg "octicon-sign-in" 16}} {{.i18n.Tr "sign_in"}}
|
||||
</a>
|
||||
</div><!-- end anonymous right menu -->
|
||||
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
<div class="ui secondary pointing tabular top attached borderless stackable menu navbar">
|
||||
<a class="{{if .PageIsExploreRepositories}}active{{end}} item" href="{{AppSubUrl}}/explore/repos">
|
||||
<span class="octicon octicon-repo"></span> {{.i18n.Tr "explore.repos"}}
|
||||
{{svg "octicon-repo" 16}} {{.i18n.Tr "explore.repos"}}
|
||||
</a>
|
||||
<a class="{{if .PageIsExploreUsers}}active{{end}} item" href="{{AppSubUrl}}/explore/users">
|
||||
<span class="octicon octicon-person"></span> {{.i18n.Tr "explore.users"}}
|
||||
{{svg "octicon-person" 16}} {{.i18n.Tr "explore.users"}}
|
||||
</a>
|
||||
<a class="{{if .PageIsExploreOrganizations}}active{{end}} item" href="{{AppSubUrl}}/explore/organizations">
|
||||
<span class="octicon octicon-organization"></span> {{.i18n.Tr "explore.organizations"}}
|
||||
{{svg "octicon-organization" 16}} {{.i18n.Tr "explore.organizations"}}
|
||||
</a>
|
||||
{{if .IsRepoIndexerEnabled}}
|
||||
<a class="{{if .PageIsExploreCode}}active{{end}} item" href="{{AppSubUrl}}/explore/code">
|
||||
<span class="octicon octicon-code"></span> {{.i18n.Tr "explore.code"}}
|
||||
{{svg "octicon-code" 16}} {{.i18n.Tr "explore.code"}}
|
||||
</a>
|
||||
{{end}}
|
||||
</div>
|
||||
|
|
|
@ -12,18 +12,18 @@
|
|||
<span class="header">
|
||||
<a href="{{.HomeLink}}">{{.Name}}</a> {{.FullName}}
|
||||
{{if .Visibility.IsPrivate}}
|
||||
<span class="text gold"><i class="octicon octicon-lock"></i></span>
|
||||
<span class="text gold">{{svg "octicon-lock" 16}}</span>
|
||||
{{end}}
|
||||
</span>
|
||||
<div class="description">
|
||||
{{if .Location}}
|
||||
<i class="octicon octicon-location"></i> {{.Location}}
|
||||
{{end}}
|
||||
{{if and .Website}}
|
||||
<i class="octicon octicon-link"></i>
|
||||
<a href="{{.Website}}" rel="nofollow">{{.Website}}</a>
|
||||
{{end}}
|
||||
<i class="octicon octicon-clock"></i> {{$.i18n.Tr "user.join_on"}} {{.CreatedUnix.FormatShort}}
|
||||
{{if .Location}}
|
||||
{{svg "octicon-location" 16}} {{.Location}}
|
||||
{{end}}
|
||||
{{if and .Website}}
|
||||
{{svg "octicon-link" 16}}
|
||||
<a href="{{.Website}}" rel="nofollow">{{.Website}}</a>
|
||||
{{end}}
|
||||
{{svg "octicon-clock" 16}} {{$.i18n.Tr "user.join_on"}} {{.CreatedUnix.FormatShort}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -10,22 +10,22 @@
|
|||
{{if .IsArchived}}<i class="archive icon archived-icon"></i>{{end}}
|
||||
</a>
|
||||
{{if .IsPrivate}}
|
||||
<span class="text gold"><i class="octicon octicon-lock"></i></span>
|
||||
<span class="middle text gold">{{svg "octicon-lock" 16}}</span>
|
||||
{{else if .IsFork}}
|
||||
<span><i class="octicon octicon-repo-forked"></i></span>
|
||||
<span class="middle">{{svg "octicon-repo-forked" 16}}</span>
|
||||
{{else if .IsMirror}}
|
||||
<span><i class="octicon octicon-repo-clone"></i></span>
|
||||
<span class="middle">{{svg "octicon-repo-clone" 16}}</span>
|
||||
{{else if .Owner}}
|
||||
{{if .Owner.Visibility.IsPrivate}}
|
||||
<span class="text gold"><i class="octicon octicon-lock"></i></span>
|
||||
<span class="text gold">{{svg "octicon-lock" 16}}</span>
|
||||
{{end}}
|
||||
{{end}}
|
||||
<div class="ui right metas">
|
||||
{{if .PrimaryLanguage }}
|
||||
<span class="text grey"><i class="color-icon" style="background-color: {{.PrimaryLanguage.Color}}"></i>{{ .PrimaryLanguage.Language }}</span>
|
||||
{{end}}
|
||||
<span class="text grey"><i class="octicon octicon-star"></i> {{.NumStars}}</span>
|
||||
<span class="text grey"><i class="octicon octicon-git-branch"></i> {{.NumForks}}</span>
|
||||
<span class="text grey">{{svg "octicon-repo" 16}} {{.NumStars}}</span>
|
||||
<span class="text grey">{{svg "octicon-git-branch" 16}} {{.NumForks}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="description">
|
||||
|
|
|
@ -11,14 +11,14 @@
|
|||
<div class="content">
|
||||
<span class="header"><a href="{{.HomeLink}}">{{.Name}}</a> {{.FullName}}</span>
|
||||
<div class="description">
|
||||
{{if .Location}}
|
||||
<i class="octicon octicon-location"></i> {{.Location}}
|
||||
{{end}}
|
||||
{{if and $.ShowUserEmail .Email $.IsSigned (not .KeepEmailPrivate)}}
|
||||
<i class="octicon octicon-mail"></i>
|
||||
<a href="mailto:{{.Email}}" rel="nofollow">{{.Email}}</a>
|
||||
{{end}}
|
||||
<i class="octicon octicon-clock"></i> {{$.i18n.Tr "user.join_on"}} {{.CreatedUnix.FormatShort}}
|
||||
{{if .Location}}
|
||||
{{svg "octicon-location" 16}} {{.Location}}
|
||||
{{end}}
|
||||
{{if and $.ShowUserEmail .Email $.IsSigned (not .KeepEmailPrivate)}}
|
||||
{{svg "octicon-mail" 16}}
|
||||
<a href="mailto:{{.Email}}" rel="nofollow">{{.Email}}</a>
|
||||
{{end}}
|
||||
{{svg "octicon-clock" 16}} {{$.i18n.Tr "user.join_on"}} {{.CreatedUnix.FormatShort}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<div class="ui stackable middle very relaxed page grid">
|
||||
<div class="eight wide center column">
|
||||
<h1 class="hero ui icon header">
|
||||
<i class="octicon octicon-flame"></i> {{.i18n.Tr "startpage.install"}}
|
||||
{{svg "octicon-flame" 16}} {{.i18n.Tr "startpage.install"}}
|
||||
</h1>
|
||||
<p class="large">
|
||||
{{.i18n.Tr "startpage.install_desc" | Str2html}}
|
||||
|
@ -24,7 +24,7 @@
|
|||
</div>
|
||||
<div class="eight wide center column">
|
||||
<h1 class="hero ui icon header">
|
||||
<i class="octicon octicon-device-desktop"></i> {{.i18n.Tr "startpage.platform"}}
|
||||
{{svg "octicon-device-desktop" 16}} {{.i18n.Tr "startpage.platform"}}
|
||||
</h1>
|
||||
<p class="large">
|
||||
{{.i18n.Tr "startpage.platform_desc" | Str2html}}
|
||||
|
@ -34,7 +34,7 @@
|
|||
<div class="ui stackable middle very relaxed page grid">
|
||||
<div class="eight wide center column">
|
||||
<h1 class="hero ui icon header">
|
||||
<i class="octicon octicon-rocket"></i> {{.i18n.Tr "startpage.lightweight"}}
|
||||
{{svg "octicon-rocket" 16}} {{.i18n.Tr "startpage.lightweight"}}
|
||||
</h1>
|
||||
<p class="large">
|
||||
{{.i18n.Tr "startpage.lightweight_desc" | Str2html}}
|
||||
|
@ -42,7 +42,7 @@
|
|||
</div>
|
||||
<div class="eight wide center column">
|
||||
<h1 class="hero ui icon header">
|
||||
<i class="octicon octicon-code"></i> {{.i18n.Tr "startpage.license"}}
|
||||
{{svg "octicon-code" 16}} {{.i18n.Tr "startpage.license"}}
|
||||
</h1>
|
||||
<p class="large">
|
||||
{{.i18n.Tr "startpage.license_desc" | Str2html}}
|
||||
|
|
|
@ -9,11 +9,11 @@
|
|||
<div class="ui right">
|
||||
<div class="ui menu">
|
||||
<a class="{{if $.PageIsOrgMembers}}active{{end}} item" href="{{$.OrgLink}}/members">
|
||||
<i class="octicon octicon-organization"></i> {{$.i18n.Tr "org.people"}}
|
||||
{{svg "octicon-organization" 16}} {{$.i18n.Tr "org.people"}}
|
||||
<div class="floating ui black label">{{.NumMembers}}</div>
|
||||
</a>
|
||||
<a class="{{if $.PageIsOrgTeams}}active{{end}} item" href="{{$.OrgLink}}/teams">
|
||||
<i class="octicon octicon-jersey"></i> {{$.i18n.Tr "org.teams"}}
|
||||
{{svg "octicon-jersey" 16}} {{$.i18n.Tr "org.teams"}}
|
||||
<div class="floating ui black label">{{.NumTeams}}</div>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -7,12 +7,12 @@
|
|||
<div id="org-info">
|
||||
<div class="ui header">
|
||||
{{.Org.DisplayName}}
|
||||
{{if .IsOrganizationOwner}}<a class="text grey" href="{{.OrgLink}}/settings"><span class="octicon octicon-gear"></span></a>{{end}}
|
||||
{{if .IsOrganizationOwner}}<a class="middle text grey" href="{{.OrgLink}}/settings">{{svg "octicon-gear" 16}}</a>{{end}}
|
||||
</div>
|
||||
{{if .Org.Description}}<p class="desc">{{.Org.Description}}</p>{{end}}
|
||||
<div class="text grey meta">
|
||||
{{if .Org.Location}}<div class="item"><span class="octicon octicon-location"></span> <span>{{.Org.Location}}</span></div>{{end}}
|
||||
{{if .Org.Website}}<div class="item"><span class="octicon octicon-link"></span> <a target="_blank" rel="noopener noreferrer" href="{{.Org.Website}}">{{.Org.Website}}</a></div>{{end}}
|
||||
{{if .Org.Location}}<div class="item">{{svg "octicon-location" 16}} <span>{{.Org.Location}}</span></div>{{end}}
|
||||
{{if .Org.Website}}<div class="item">{{svg "octicon-link" 16}} <a target="_blank" rel="noopener noreferrer" href="{{.Org.Website}}">{{.Org.Website}}</a></div>{{end}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -24,7 +24,7 @@
|
|||
<div class="ui eleven wide column">
|
||||
{{if .CanCreateOrgRepo}}
|
||||
<div class="text right">
|
||||
<a class="ui green button" href="{{AppSubUrl}}/repo/create?org={{.Org.ID}}"><i class="octicon octicon-repo-create"></i> {{.i18n.Tr "new_repo"}}</a>
|
||||
<a class="ui green button" href="{{AppSubUrl}}/repo/create?org={{.Org.ID}}">{{svg "octicon-repo-create" 16}} {{.i18n.Tr "new_repo"}}</a>
|
||||
</div>
|
||||
<div class="ui divider"></div>
|
||||
{{end}}
|
||||
|
@ -38,7 +38,7 @@
|
|||
<strong>{{.i18n.Tr "org.people"}}</strong>
|
||||
{{if .IsOrganizationMember}}
|
||||
<div class="ui right">
|
||||
<a class="text grey" href="{{.OrgLink}}/members">{{.Org.NumMembers}} <span class="octicon octicon-chevron-right"></span></a>
|
||||
<a class="text grey" href="{{.OrgLink}}/members">{{.Org.NumMembers}} {{svg "octicon-chevron-right" 16}}</a>
|
||||
</div>
|
||||
{{end}}
|
||||
</h4>
|
||||
|
@ -55,7 +55,7 @@
|
|||
<div class="ui top attached header">
|
||||
<strong>{{.i18n.Tr "org.teams"}}</strong>
|
||||
<div class="ui right">
|
||||
<a class="text grey" href="{{.OrgLink}}/teams"><span>{{.Org.NumTeams}}</span> <span class="octicon octicon-chevron-right"></span></a>
|
||||
<a class="text grey" href="{{.OrgLink}}/teams"><span>{{.Org.NumTeams}}</span> {{svg "octicon-chevron-right" 16}}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui attached table segment teams">
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
{{$.i18n.Tr "org.members.member_role"}}
|
||||
</div>
|
||||
<div class="meta">
|
||||
<strong>{{if index $.MembersIsUserOrgOwner .ID}}<span class="octicon octicon-shield"></span> {{$.i18n.Tr "org.members.owner"}}{{else}}{{$.i18n.Tr "org.members.member"}}{{end}}</strong>
|
||||
<strong>{{if index $.MembersIsUserOrgOwner .ID}}{{svg "octicon-shield-lock" 16}} {{$.i18n.Tr "org.members.owner"}}{{else}}{{$.i18n.Tr "org.members.member"}}{{end}}</strong>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui one wide column center">
|
||||
|
@ -42,7 +42,13 @@
|
|||
2FA
|
||||
</div>
|
||||
<div class="meta">
|
||||
<strong><span class="octicon {{if index $.MembersTwoFaStatus .ID}}octicon-check text green{{else}}octicon-x{{end}}"></span></strong>
|
||||
<strong>
|
||||
{{if index $.MembersTwoFaStatus .ID}}
|
||||
<span class="text green">{{svg "octicon-check" 16}}</span>
|
||||
{{else}}
|
||||
{{svg "octicon-x" 16}}
|
||||
{{end}}
|
||||
</strong>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui four wide column">
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
</h4>
|
||||
<div class="ui attached warning segment">
|
||||
<div class="ui red message">
|
||||
<p class="text left"><i class="octicon octicon-alert"></i> {{.i18n.Tr "org.settings.delete_prompt" | Str2html}}</p>
|
||||
<p class="text left">{{svg "octicon-alert" 16}} {{.i18n.Tr "org.settings.delete_prompt" | Str2html}}</p>
|
||||
</div>
|
||||
<form class="ui form ignore-dirty" id="delete-form" action="{{.Link}}" method="post">
|
||||
{{.CsrfTokenHtml}}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<div class="ui top attached tabular menu">
|
||||
<a class="item{{if .PageIsOrgTeamMembers}} active{{end}}" href="{{.OrgLink}}/teams/{{.Team.LowerName}}"><span class="octicon octicon-person"></span> <strong>{{.Team.NumMembers}}</strong> {{$.i18n.Tr "org.lower_members"}}</a>
|
||||
<a class="item{{if .PageIsOrgTeamRepos}} active{{end}}" href="{{.OrgLink}}/teams/{{.Team.LowerName}}/repositories"><span class="octicon octicon-repo"></span> <strong>{{.Team.NumRepos}}</strong> {{$.i18n.Tr "org.lower_repositories"}}</a>
|
||||
</div>
|
||||
<a class="item{{if .PageIsOrgTeamMembers}} active{{end}}" href="{{.OrgLink}}/teams/{{.Team.LowerName}}">{{svg "octicon-person" 16}} <strong>{{.Team.NumMembers}}</strong> {{$.i18n.Tr "org.lower_members"}}</a>
|
||||
<a class="item{{if .PageIsOrgTeamRepos}} active{{end}}" href="{{.OrgLink}}/teams/{{.Team.LowerName}}/repositories">{{svg "octicon-repo" 16}} <strong>{{.Team.NumRepos}}</strong> {{$.i18n.Tr "org.lower_repositories"}}</a>
|
||||
</div>
|
||||
|
|
|
@ -38,7 +38,15 @@
|
|||
<a class="ui red small button right" href="{{$.OrgLink}}/teams/{{$.Team.LowerName}}/action/repo/remove?repoid={{.ID}}">{{$.i18n.Tr "remove"}}</a>
|
||||
{{end}}
|
||||
<a class="member" href="{{AppSubUrl}}/{{$.Org.Name}}/{{.Name}}">
|
||||
<i class="octicon octicon-{{if .IsPrivate}}lock{{else if .IsFork}}repo-forked{{else if .IsMirror}}repo-clone{{else}}repo{{end}}"></i>
|
||||
{{if .IsPrivate}}
|
||||
{{svg "octicon-lock" 16}}
|
||||
{{else if .IsFork}}
|
||||
{{svg "octicon-repo-forked" 16}}
|
||||
{{else if .IsMirror}}
|
||||
{{svg "octicon-repo-clone" 16}}
|
||||
{{else}}
|
||||
{{svg "octicon-repo" 16}}
|
||||
{{end}}
|
||||
<strong>{{$.Org.Name}}/{{.Name}}</strong>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
</div>
|
||||
{{if .IsOrganizationOwner}}
|
||||
<div class="ui bottom attached segment">
|
||||
<a class="ui teal small button" href="{{.OrgLink}}/teams/{{.Team.LowerName}}/edit"><span class="octicon octicon-gear"></span> {{$.i18n.Tr "org.teams.settings"}}</a>
|
||||
<a class="ui teal small button" href="{{.OrgLink}}/teams/{{.Team.LowerName}}/edit">{{svg "octicon-gear" 16}} {{$.i18n.Tr "org.teams.settings"}}</a>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
{{template "base/alert" .}}
|
||||
{{if .IsOrganizationOwner}}
|
||||
<div class="text right">
|
||||
<a class="ui green button" href="{{.OrgLink}}/teams/new"><i class="octicon octicon-repo-create"></i> {{.i18n.Tr "org.create_new_team"}}</a>
|
||||
<a class="ui green button" href="{{.OrgLink}}/teams/new">{{svg "octicon-plus" 16}} {{.i18n.Tr "org.create_new_team"}}</a>
|
||||
</div>
|
||||
<div class="ui divider"></div>
|
||||
{{end}}
|
||||
|
|
|
@ -40,6 +40,9 @@ var urlsToCache = [
|
|||
'{{StaticUrlPrefix}}/img/gitea-sm.png',
|
||||
'{{StaticUrlPrefix}}/img/gitea-lg.png',
|
||||
|
||||
// svg
|
||||
'{{StaticUrlPrefix}}/img/svg/icons.svg'
|
||||
|
||||
// fonts
|
||||
'{{StaticUrlPrefix}}/fomantic/themes/default/assets/fonts/icons.woff2',
|
||||
'{{StaticUrlPrefix}}/vendor/assets/octicons/octicons.woff2?ef21c39f0ca9b1b5116e5eb7ac5eabe6',
|
||||
|
|
|
@ -63,21 +63,21 @@
|
|||
<div class="ui attached segment horizontal segments">
|
||||
{{if .Permission.CanRead $.UnitTypePullRequests}}
|
||||
<a href="#merged-pull-requests" class="ui attached segment text center">
|
||||
<i class="text purple octicon octicon-git-pull-request"></i> <strong>{{.Activity.MergedPRCount}}</strong><br>
|
||||
<span class="text purple">{{svg "octicon-git-pull-request" 16}}</span> <strong>{{.Activity.MergedPRCount}}</strong><br>
|
||||
{{.i18n.Tr (TrN .i18n.Lang .Activity.MergedPRCount "repo.activity.merged_prs_count_1" "repo.activity.merged_prs_count_n") }}
|
||||
</a>
|
||||
<a href="#proposed-pull-requests" class="ui attached segment text center">
|
||||
<i class="text green octicon octicon-git-branch"></i> <strong>{{.Activity.OpenedPRCount}}</strong><br>
|
||||
<span class="text green">{{svg "octicon-git-branch" 16}}</span> <strong>{{.Activity.OpenedPRCount}}</strong><br>
|
||||
{{.i18n.Tr (TrN .i18n.Lang .Activity.OpenedPRCount "repo.activity.opened_prs_count_1" "repo.activity.opened_prs_count_n") }}
|
||||
</a>
|
||||
{{end}}
|
||||
{{if .Permission.CanRead $.UnitTypeIssues}}
|
||||
<a href="#closed-issues" class="ui attached segment text center">
|
||||
<i class="text red octicon octicon-issue-closed"></i> <strong>{{.Activity.ClosedIssueCount}}</strong><br>
|
||||
<span class="text red">{{svg "octicon-issue-closed" 16}}</span> <strong>{{.Activity.ClosedIssueCount}}</strong><br>
|
||||
{{.i18n.Tr (TrN .i18n.Lang .Activity.ClosedIssueCount "repo.activity.closed_issues_count_1" "repo.activity.closed_issues_count_n") }}
|
||||
</a>
|
||||
<a href="#new-issues" class="ui attached segment text center">
|
||||
<i class="text green octicon octicon-issue-opened"></i> <strong>{{.Activity.OpenedIssueCount}}</strong><br>
|
||||
<span class="text green">{{svg "octicon-issue-opened" 16}}</span> <strong>{{.Activity.OpenedIssueCount}}</strong><br>
|
||||
{{.i18n.Tr (TrN .i18n.Lang .Activity.OpenedIssueCount "repo.activity.new_issues_count_1" "repo.activity.new_issues_count_n") }}
|
||||
</a>
|
||||
{{end}}
|
||||
|
@ -120,7 +120,7 @@
|
|||
|
||||
{{if gt .Activity.PublishedReleaseCount 0}}
|
||||
<h4 class="ui horizontal divider header" id="published-releases">
|
||||
<i class="text octicon octicon-tag"></i>
|
||||
<span class="text">{{svg "octicon-tag" 16}}</span>
|
||||
{{.i18n.Tr "repo.activity.title.releases_published_by" (.i18n.Tr (TrN .i18n.Lang .Activity.PublishedReleaseCount "repo.activity.title.releases_1" "repo.activity.title.releases_n") .Activity.PublishedReleaseCount) (.i18n.Tr (TrN .i18n.Lang .Activity.PublishedReleaseAuthorCount "repo.activity.title.user_1" "repo.activity.title.user_n") .Activity.PublishedReleaseAuthorCount) }}
|
||||
</h4>
|
||||
<div class="list">
|
||||
|
@ -139,7 +139,7 @@
|
|||
|
||||
{{if gt .Activity.MergedPRCount 0}}
|
||||
<h4 class="ui horizontal divider header" id="merged-pull-requests">
|
||||
<i class="text octicon octicon-git-pull-request"></i>
|
||||
<span class="text">{{svg "octicon-git-pull-request" 16}}</span>
|
||||
{{.i18n.Tr "repo.activity.title.prs_merged_by" (.i18n.Tr (TrN .i18n.Lang .Activity.MergedPRCount "repo.activity.title.prs_1" "repo.activity.title.prs_n") .Activity.MergedPRCount) (.i18n.Tr (TrN .i18n.Lang .Activity.MergedPRAuthorCount "repo.activity.title.user_1" "repo.activity.title.user_n") .Activity.MergedPRAuthorCount) }}
|
||||
</h4>
|
||||
<div class="list">
|
||||
|
@ -155,7 +155,7 @@
|
|||
|
||||
{{if gt .Activity.OpenedPRCount 0}}
|
||||
<h4 class="ui horizontal divider header" id="proposed-pull-requests">
|
||||
<i class="text octicon octicon-git-branch"></i>
|
||||
<span class="text">{{svg "octicon-git-branch" 16}}</span>
|
||||
{{.i18n.Tr "repo.activity.title.prs_opened_by" (.i18n.Tr (TrN .i18n.Lang .Activity.OpenedPRCount "repo.activity.title.prs_1" "repo.activity.title.prs_n") .Activity.OpenedPRCount) (.i18n.Tr (TrN .i18n.Lang .Activity.OpenedPRAuthorCount "repo.activity.title.user_1" "repo.activity.title.user_n") .Activity.OpenedPRAuthorCount) }}
|
||||
</h4>
|
||||
<div class="list">
|
||||
|
@ -171,7 +171,7 @@
|
|||
|
||||
{{if gt .Activity.ClosedIssueCount 0}}
|
||||
<h4 class="ui horizontal divider header" id="closed-issues">
|
||||
<i class="text octicon octicon-issue-closed"></i>
|
||||
<span class="text">{{svg "octicon-issue-closed" 16}}</span>
|
||||
{{.i18n.Tr "repo.activity.title.issues_closed_by" (.i18n.Tr (TrN .i18n.Lang .Activity.ClosedIssueCount "repo.activity.title.issues_1" "repo.activity.title.issues_n") .Activity.ClosedIssueCount) (.i18n.Tr (TrN .i18n.Lang .Activity.ClosedIssueAuthorCount "repo.activity.title.user_1" "repo.activity.title.user_n") .Activity.ClosedIssueAuthorCount) }}
|
||||
</h4>
|
||||
<div class="list">
|
||||
|
@ -187,7 +187,7 @@
|
|||
|
||||
{{if gt .Activity.OpenedIssueCount 0}}
|
||||
<h4 class="ui horizontal divider header" id="new-issues">
|
||||
<i class="text octicon octicon-issue-opened"></i>
|
||||
<span class="text">{{svg "octicon-issue-opened" 16}}</span>
|
||||
{{.i18n.Tr "repo.activity.title.issues_created_by" (.i18n.Tr (TrN .i18n.Lang .Activity.OpenedIssueCount "repo.activity.title.issues_1" "repo.activity.title.issues_n") .Activity.OpenedIssueCount) (.i18n.Tr (TrN .i18n.Lang .Activity.OpenedIssueAuthorCount "repo.activity.title.user_1" "repo.activity.title.user_n") .Activity.OpenedIssueAuthorCount) }}
|
||||
</h4>
|
||||
<div class="list">
|
||||
|
@ -203,7 +203,7 @@
|
|||
|
||||
{{if gt .Activity.UnresolvedIssueCount 0}}
|
||||
<h4 class="ui horizontal divider header" id="unresolved-conversations">
|
||||
<i class="text octicon octicon-comment-discussion"></i>
|
||||
<span class="text">{{svg "octicon-comment-discussion" 16}}</span>
|
||||
{{.i18n.Tr (TrN .i18n.Lang .Activity.UnresolvedIssueCount "repo.activity.title.unresolved_conv_1" "repo.activity.title.unresolved_conv_n") .Activity.UnresolvedIssueCount }}
|
||||
</h4>
|
||||
<div class="text center desc">
|
||||
|
|
|
@ -18,14 +18,14 @@
|
|||
</div>
|
||||
{{if .Repository.CanEnableEditor}}
|
||||
{{if .CanEditFile}}
|
||||
<a href="{{.RepoLink}}/_edit/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}"><i class="octicon octicon-pencil btn-octicon poping up" data-content="{{.EditFileTooltip}}" data-position="bottom center" data-variation="tiny inverted"></i></a>
|
||||
<a href="{{.RepoLink}}/_edit/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}"><span class="btn-octicon poping up" data-content="{{.EditFileTooltip}}" data-position="bottom center" data-variation="tiny inverted">{{svg "octicon-pencil" 16}}</span></a>
|
||||
{{else}}
|
||||
<i class="octicon octicon-pencil btn-octicon poping up disabled" data-content="{{.EditFileTooltip}}" data-position="bottom center" data-variation="tiny inverted"></i>
|
||||
<span class="btn-octicon poping up disabled" data-content="{{.EditFileTooltip}}" data-position="bottom center" data-variation="tiny inverted">{{svg "octicon-pencil" 16}}</span>
|
||||
{{end}}
|
||||
{{if .CanDeleteFile}}
|
||||
<a href="{{.RepoLink}}/_delete/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}"><i class="octicon octicon-trashcan btn-octicon btn-octicon-danger poping up" data-content="{{.DeleteFileTooltip}}" data-position="bottom center" data-variation="tiny inverted"></i></a>
|
||||
<a href="{{.RepoLink}}/_delete/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}"><span class="btn-octicon btn-octicon-danger poping up" data-content="{{.DeleteFileTooltip}}" data-position="bottom center" data-variation="tiny inverted">{{svg "octicon-trashcan" 16}}</span></a>
|
||||
{{else}}
|
||||
<i class="octicon octicon-trashcan btn-octicon poping up disabled" data-content="{{.DeleteFileTooltip}}" data-position="bottom center" data-variation="tiny inverted"></i>
|
||||
<span class="btn-octicon poping up disabled" data-content="{{.DeleteFileTooltip}}" data-position="bottom center" data-variation="tiny inverted">{{svg "octicon-trashcan" 16}}</span>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</div>
|
||||
|
|
|
@ -16,10 +16,10 @@
|
|||
{{range .Branches}}
|
||||
{{if eq .Name $.DefaultBranch}}
|
||||
{{if .IsProtected}}
|
||||
<i class="octicon octicon-shield"></i>
|
||||
{{svg "octicon-shield-lock" 16}}
|
||||
{{end}}
|
||||
<a href="{{$.RepoLink}}/src/branch/{{$.DefaultBranch | EscapePound}}">{{$.DefaultBranch}}</a>
|
||||
<p class="info"><i class="octicon octicon-git-commit"></i><a href="{{$.RepoLink}}/commit/{{.Commit.ID.String}}">{{ShortSha .Commit.ID.String}}</a> · <span class="commit-message">{{RenderCommitMessage .Commit.CommitMessage $.RepoLink $.Repository.ComposeMetas}}</span> · {{$.i18n.Tr "org.repo_updated"}} {{TimeSince .Commit.Committer.When $.i18n.Lang}}</p>
|
||||
<p class="info">{{svg "octicon-git-commit" 16}}<a href="{{$.RepoLink}}/commit/{{.Commit.ID.String}}">{{ShortSha .Commit.ID.String}}</a> · <span class="commit-message">{{RenderCommitMessage .Commit.CommitMessage $.RepoLink $.Repository.ComposeMetas}}</span> · {{$.i18n.Tr "org.repo_updated"}} {{TimeSince .Commit.Committer.When $.i18n.Lang}}</p>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</td>
|
||||
|
@ -27,8 +27,8 @@
|
|||
<div class="ui basic jump dropdown icon button poping up" data-content="{{$.i18n.Tr "repo.branch.download" ($.DefaultBranch)}}" data-variation="tiny inverted" data-position="top right">
|
||||
<i class="download icon"></i>
|
||||
<div class="menu">
|
||||
<a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.DefaultBranch}}.zip"><i class="octicon octicon-file-zip"></i> ZIP</a>
|
||||
<a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.DefaultBranch}}.tar.gz"><i class="octicon octicon-file-zip"></i> TAR.GZ</a>
|
||||
<a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.DefaultBranch}}.zip">{{svg "octicon-file-zip" 16}} ZIP</a>
|
||||
<a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.DefaultBranch}}.tar.gz">{{svg "octicon-file-zip" 16}} TAR.GZ</a>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
@ -53,10 +53,10 @@
|
|||
<p class="info">{{$.i18n.Tr "repo.branch.deleted_by" .DeletedBranch.DeletedBy.Name}} {{TimeSinceUnix .DeletedBranch.DeletedUnix $.i18n.Lang}}</p>
|
||||
{{else}}
|
||||
{{if .IsProtected}}
|
||||
<i class="octicon octicon-shield"></i>
|
||||
{{svg "octicon-shield-lock" 16}}
|
||||
{{end}}
|
||||
<a href="{{$.RepoLink}}/src/branch/{{.Name | EscapePound}}">{{.Name}}</a>
|
||||
<p class="info"><i class="octicon octicon-git-commit"></i><a href="{{$.RepoLink}}/commit/{{.Commit.ID.String}}">{{ShortSha .Commit.ID.String}}</a> · <span class="commit-message">{{RenderCommitMessage .Commit.CommitMessage $.RepoLink $.Repository.ComposeMetas}}</span> · {{$.i18n.Tr "org.repo_updated"}} {{TimeSince .Commit.Committer.When $.i18n.Lang}}</p>
|
||||
<p class="info">{{svg "octicon-git-commit" 16}}<a href="{{$.RepoLink}}/commit/{{.Commit.ID.String}}">{{ShortSha .Commit.ID.String}}</a> · <span class="commit-message">{{RenderCommitMessage .Commit.CommitMessage $.RepoLink $.Repository.ComposeMetas}}</span> · {{$.i18n.Tr "org.repo_updated"}} {{TimeSince .Commit.Committer.When $.i18n.Lang}}</p>
|
||||
{{end}}
|
||||
</td>
|
||||
<td class="three wide ui">
|
||||
|
@ -77,7 +77,7 @@
|
|||
{{if not .LatestPullRequest}}
|
||||
{{if .IsIncluded}}
|
||||
<a class="ui poping up orange small label" data-content="{{$.i18n.Tr "repo.branch.included_desc"}}" data-variation="tiny inverted" data-position="top right">
|
||||
<i class="octicon octicon-git-pull-request"></i> {{$.i18n.Tr "repo.branch.included"}}
|
||||
{{svg "octicon-git-pull-request" 16}} {{$.i18n.Tr "repo.branch.included"}}
|
||||
</a>
|
||||
{{else if and (not .IsDeleted) $.AllowsPulls (gt .CommitsAhead 0)}}
|
||||
<a href="{{$.RepoLink}}/compare/{{$.DefaultBranch | EscapePound}}...{{if ne $.Repository.Owner.Name $.Owner.Name}}{{$.Owner.Name}}:{{end}}{{.Name | EscapePound}}">
|
||||
|
@ -93,11 +93,11 @@
|
|||
{{else}}
|
||||
<a href="{{.LatestPullRequest.Issue.HTMLURL}}">{{if not .LatestPullRequest.IsSameRepo}}{{.LatestPullRequest.BaseRepo.FullName}}{{end}}#{{.LatestPullRequest.Issue.Index}}</a>
|
||||
{{if .LatestPullRequest.HasMerged}}
|
||||
<a href="{{.LatestPullRequest.Issue.HTMLURL}}" class="ui purple mini label"><i class="octicon octicon-git-pull-request"></i> {{$.i18n.Tr "repo.pulls.merged"}}</a>
|
||||
<a href="{{.LatestPullRequest.Issue.HTMLURL}}" class="ui purple mini label">{{svg "octicon-git-pull-request" 16}} {{$.i18n.Tr "repo.pulls.merged"}}</a>
|
||||
{{else if .LatestPullRequest.Issue.IsClosed}}
|
||||
<a href="{{.LatestPullRequest.Issue.HTMLURL}}" class="ui red mini label"><i class="octicon octicon-issue-closed"></i> {{$.i18n.Tr "repo.issues.closed_title"}}</a>
|
||||
<a href="{{.LatestPullRequest.Issue.HTMLURL}}" class="ui red mini label">{{svg "octicon-issue-closed" 16}} {{$.i18n.Tr "repo.issues.closed_title"}}</a>
|
||||
{{else}}
|
||||
<a href="{{.LatestPullRequest.Issue.HTMLURL}}" class="ui green mini label"><i class="octicon octicon-issue-opened"></i> {{$.i18n.Tr "repo.issues.open_title"}}</a>
|
||||
<a href="{{.LatestPullRequest.Issue.HTMLURL}}" class="ui green mini label">{{svg "octicon-issue-opened" 16}} {{$.i18n.Tr "repo.issues.open_title"}}</a>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</td>
|
||||
|
@ -106,14 +106,14 @@
|
|||
<div class="ui basic jump dropdown icon button poping up" data-content="{{$.i18n.Tr "repo.branch.download" (.Name)}}" data-variation="tiny inverted" data-position="top right">
|
||||
<i class="download icon"></i>
|
||||
<div class="menu">
|
||||
<a class="item" href="{{$.RepoLink}}/archive/{{EscapePound .Name}}.zip"><i class="octicon octicon-file-zip"></i> ZIP</a>
|
||||
<a class="item" href="{{$.RepoLink}}/archive/{{EscapePound .Name}}.tar.gz"><i class="octicon octicon-file-zip"></i> TAR.GZ</a>
|
||||
<a class="item" href="{{$.RepoLink}}/archive/{{EscapePound .Name}}.zip">{{svg "octicon-file-zip" 16}} ZIP</a>
|
||||
<a class="item" href="{{$.RepoLink}}/archive/{{EscapePound .Name}}.tar.gz">{{svg "octicon-file-zip" 16}} TAR.GZ</a>
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
{{if and $.IsWriter (not $.IsMirror) (not $.Repository.IsArchived) (not .IsProtected)}}
|
||||
{{if .IsDeleted}}
|
||||
<a class="ui basic jump button icon poping up undo-button" href data-url="{{$.Link}}/restore?branch_id={{.DeletedBranch.ID | urlquery}}&name={{.DeletedBranch.Name | urlquery}}" data-content="{{$.i18n.Tr "repo.branch.restore" (.Name)}}" data-variation="tiny inverted" data-position="top right"><i class="octicon octicon-reply text blue"></i></a>
|
||||
<a class="ui basic jump button icon poping up undo-button" href data-url="{{$.Link}}/restore?branch_id={{.DeletedBranch.ID | urlquery}}&name={{.DeletedBranch.Name | urlquery}}" data-content="{{$.i18n.Tr "repo.branch.restore" (.Name)}}" data-variation="tiny inverted" data-position="top right"><span class="text blue">{{svg "octicon-reply" 16}}</span></a>
|
||||
{{else}}
|
||||
<a class="ui basic jump button icon poping up delete-branch-button" href data-url="{{$.Link}}/delete?name={{.Name | urlquery}}" data-content="{{$.i18n.Tr "repo.branch.delete" (.Name)}}" data-variation="tiny inverted" data-position="top right" data-name="{{.Name}}"><i class="trash icon text red"></i></a>
|
||||
{{end}}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div class="ui floating filter dropdown custom" data-can-create-branch="{{.CanCreateBranch}}" data-no-results="{{.i18n.Tr "repo.pulls.no_results"}}">
|
||||
<div class="ui basic small compact button" @click="menuVisible = !menuVisible" @keyup.enter="menuVisible = !menuVisible">
|
||||
<span class="text">
|
||||
<i class="octicon octicon-git-branch"></i>
|
||||
{{svg "octicon-git-branch" 16}}
|
||||
{{if .IsViewBranch}}{{.i18n.Tr "repo.branch"}}{{else}}{{.i18n.Tr "repo.tree"}}{{end}}:
|
||||
<strong>{{if .IsViewBranch}}{{.BranchName}}{{else}}{{ShortSha .BranchName}}{{end}}</strong>
|
||||
</span>
|
||||
|
@ -26,7 +26,7 @@
|
|||
<div class="two column row">
|
||||
<a class="reference column" href="#" @click="mode = 'branches'; focusSearchField()">
|
||||
<span class="text" :class="{black: mode == 'branches'}">
|
||||
<i class="octicon octicon-git-branch"></i> {{.i18n.Tr "repo.branches"}}
|
||||
{{svg "octicon-git-branch" 16}} {{.i18n.Tr "repo.branches"}}
|
||||
</span>
|
||||
</a>
|
||||
<a class="reference column" href="#" @click="mode = 'tags'; focusSearchField()">
|
||||
|
@ -42,7 +42,7 @@
|
|||
<div class="item" v-if="showCreateNewBranch" :class="{active: active == filteredItems.length}" :ref="'listItem' + filteredItems.length">
|
||||
<a href="#" @click="createNewBranch()">
|
||||
<div>
|
||||
<i class="octicon octicon-git-branch"></i>
|
||||
{{svg "octicon-git-branch" 16}}
|
||||
{{.i18n.Tr "repo.branch.create_branch" `${ searchTerm }` | Safe}}
|
||||
</div>
|
||||
<div class="text small">
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
{{if IsMultilineCommitMessage .Commit.Message}}
|
||||
<pre class="commit-body">{{RenderCommitBody .Commit.Message $.RepoLink $.Repository.ComposeMetas}}</pre>
|
||||
{{end}}
|
||||
<span class="text grey"><i class="octicon octicon-git-branch"></i>{{.BranchName}}</span>
|
||||
<span class="text grey">{{svg "octicon-git-branch" 16}}{{.BranchName}}</span>
|
||||
</div>
|
||||
<div class="ui attached info segment {{if .Commit.Signature}} isSigned {{if .Verification.Verified }} isVerified {{end}}{{end}}">
|
||||
<div class="ui stackable grid">
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<div class="fitted item">
|
||||
<a href="{{.RepoLink}}/graph" class="ui basic small compact button">
|
||||
<span class="text">
|
||||
<i class="octicon octicon-git-branch"></i>
|
||||
{{svg "octicon-git-branch" 16}}
|
||||
</span>
|
||||
{{.i18n.Tr "repo.commit_graph"}}
|
||||
</a>
|
||||
|
|
|
@ -21,9 +21,9 @@
|
|||
<button class="ui blue tiny button" data-panel="#add-deploy-key-panel" data-tooltip={{.i18n.Tr "repo.commits.search.tooltip"}}>{{.i18n.Tr "repo.commits.find"}}</button>
|
||||
</form>
|
||||
{{else if .IsDiffCompare}}
|
||||
<a href="{{$.CommitRepoLink}}/commit/{{.BeforeCommitID}}" class="ui green sha label">{{if not .BaseIsCommit}}{{if .BaseIsBranch}}<i class="octicon octicon-git-branch"></i>{{else if .BaseIsTag}}<i class="octicon octicon-tag"></i>{{end}}{{.BaseBranch}}{{else}}{{ShortSha .BaseBranch}}{{end}}</a>
|
||||
<a href="{{$.CommitRepoLink}}/commit/{{.BeforeCommitID}}" class="ui green sha label">{{if not .BaseIsCommit}}{{if .BaseIsBranch}}{{svg "octicon-git-branch" 16}}{{else if .BaseIsTag}}{{svg "octicon-tag" 16}}{{end}}{{.BaseBranch}}{{else}}{{ShortSha .BaseBranch}}{{end}}</a>
|
||||
...
|
||||
<a href="{{$.CommitRepoLink}}/commit/{{.AfterCommitID}}" class="ui green sha label">{{if not .HeadIsCommit}}{{if .HeadIsBranch}}<i class="octicon octicon-git-branch"></i>{{else if .HeadIsTag}}<i class="octicon octicon-tag"></i>{{end}}{{.HeadBranch}}{{else}}{{ShortSha .HeadBranch}}{{end}}</a>
|
||||
<a href="{{$.CommitRepoLink}}/commit/{{.AfterCommitID}}" class="ui green sha label">{{if not .HeadIsCommit}}{{if .HeadIsBranch}}{{svg "octicon-git-branch" 16}}{{else if .HeadIsTag}}{{svg "octicon-tag" 16}}{{end}}{{.HeadBranch}}{{else}}{{ShortSha .HeadBranch}}{{end}}</a>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<i class="ui blob-excerpt fa fa-caret-up" data-url="{{$.RepoLink}}/blob_excerpt/{{$.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=up" data-anchor="{{$.Anchor}}"></i>
|
||||
{{end}}
|
||||
{{if or (eq $line.GetExpandDirection 2)}}
|
||||
<i class="ui blob-excerpt octicon octicon-fold" data-url="{{$.RepoLink}}/blob_excerpt/{{$.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=" data-anchor="{{$.Anchor}}"></i>
|
||||
<span class="ui blob-excerpt" data-url="{{$.RepoLink}}/blob_excerpt/{{$.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=" data-anchor="{{$.Anchor}}">{{svg "octicon-fold" 16}}</span>
|
||||
{{end}}
|
||||
</td>
|
||||
<td colspan="5" class="lines-code lines-code-old "><span class="mono wrap{{if $.highlightClass}} language-{{$.highlightClass}}{{else}} nohighlight{{end}}">{{$.section.GetComputedInlineDiffFor $line}}</span></td>
|
||||
|
@ -36,7 +36,7 @@
|
|||
<i class="ui blob-excerpt fa fa-caret-down" data-url="{{$.RepoLink}}/blob_excerpt/{{$.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=down" data-anchor="{{$.Anchor}}"></i>
|
||||
{{end}}
|
||||
{{if or (eq $line.GetExpandDirection 2)}}
|
||||
<i class="ui blob-excerpt octicon octicon-fold" data-url="{{$.RepoLink}}/blob_excerpt/{{$.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=" data-anchor="{{$.Anchor}}"></i>
|
||||
<span class="ui blob-excerpt" data-url="{{$.RepoLink}}/blob_excerpt/{{$.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=" data-anchor="{{$.Anchor}}">{{svg "octicon-fold" 16}}</span>
|
||||
{{end}}
|
||||
</td>
|
||||
{{else}}
|
||||
|
@ -47,4 +47,4 @@
|
|||
<td class="blob-excerpt lines-code{{if (not $line.RightIdx)}} lines-code-old{{end}}"><span class="mono wrap{{if $.highlightClass}} language-{{$.highlightClass}}{{else}} nohighlight{{end}}">{{$.section.GetComputedInlineDiffFor $line}}</span></td>
|
||||
</tr>
|
||||
{{end}}
|
||||
{{end}}
|
||||
{{end}}
|
||||
|
|
|
@ -133,7 +133,7 @@
|
|||
<i class="ui blob-excerpt fa fa-caret-up" data-url="{{$.RepoLink}}/blob_excerpt/{{$.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=up" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"></i>
|
||||
{{end}}
|
||||
{{if or (eq $line.GetExpandDirection 2)}}
|
||||
<i class="ui blob-excerpt octicon octicon-fold" data-url="{{$.RepoLink}}/blob_excerpt/{{$.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"></i>
|
||||
<span class="ui blob-excerpt" data-url="{{$.RepoLink}}/blob_excerpt/{{$.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=split&direction=" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}">{{svg "octicon-fold" 16}}</span>
|
||||
{{end}}
|
||||
</td>
|
||||
<td colspan="5" class="lines-code lines-code-old "><span class="mono wrap{{if $highlightClass}} language-{{$highlightClass}}{{else}} nohighlight{{end}}">{{$section.GetComputedInlineDiffFor $line}}</span></td>
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
{{.i18n.Tr "loading"}}
|
||||
</div>
|
||||
<div class="footer">
|
||||
<span class="markdown-info"><i class="octicon octicon-markdown"></i> {{$.root.i18n.Tr "repo.diff.comment.markdown_info"}}</span>
|
||||
<span class="markdown-info">{{svg "octicon-markdown" 16}} {{$.root.i18n.Tr "repo.diff.comment.markdown_info"}}</span>
|
||||
<div class="ui right floated">
|
||||
{{if $.reply}}
|
||||
<button name="reply" value="{{$.reply}}" class="ui submit green tiny button btn-reply">{{$.root.i18n.Tr "repo.diff.comment.reply"}}</button>
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
{{ end }}
|
||||
</h2>
|
||||
<div class="ui segment choose branch">
|
||||
<span class="octicon octicon-git-compare"></span>
|
||||
{{svg "octicon-git-compare" 16}}
|
||||
<div class="ui floating filter dropdown" data-no-results="{{.i18n.Tr "repo.pulls.no_results"}}">
|
||||
<div class="ui basic small button">
|
||||
<span class="text">{{.i18n.Tr "repo.pulls.compare_base"}}: {{$.BaseName}}:{{$.BaseBranch}}</span>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<i class="ui blob-excerpt fa fa-caret-up" data-url="{{$.root.RepoLink}}/blob_excerpt/{{$.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=up" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"></i>
|
||||
{{end}}
|
||||
{{if or (eq $line.GetExpandDirection 2)}}
|
||||
<i class="ui blob-excerpt octicon octicon-fold" data-url="{{$.root.RepoLink}}/blob_excerpt/{{$.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}"></i>
|
||||
<span class="ui blob-excerpt" data-url="{{$.root.RepoLink}}/blob_excerpt/{{$.root.AfterCommitID}}" data-query="{{$line.GetBlobExcerptQuery}}&style=unified&direction=" data-anchor="diff-{{Sha1 $file.Name}}K{{$line.SectionInfo.RightIdx}}">{{svg "octicon-fold" 16}}</span>
|
||||
{{end}}
|
||||
</td>
|
||||
{{else}}
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<div class="ui radio checkbox {{if not .CanCommitToBranch.CanCommitToBranch}}disabled{{end}}">
|
||||
<input type="radio" class="js-quick-pull-choice-option" name="commit_choice" value="direct" button_text="{{.i18n.Tr "repo.editor.commit_changes"}}" {{if eq .commit_choice "direct"}}checked{{end}}>
|
||||
<label>
|
||||
<i class="octicon octicon-git-commit" height="16" width="14"></i>
|
||||
{{svg "octicon-git-commit" 16}}
|
||||
{{.i18n.Tr "repo.editor.commit_directly_to_this_branch" (.BranchName|Escape) | Safe}}
|
||||
{{if not .CanCommitToBranch.CanCommitToBranch}}
|
||||
<div class="ui visible small warning message">
|
||||
|
@ -41,7 +41,7 @@
|
|||
<input type="radio" class="js-quick-pull-choice-option" name="commit_choice" value="commit-to-new-branch" button_text="{{.i18n.Tr "repo.editor.commit_changes"}}" {{if eq .commit_choice "commit-to-new-branch"}}checked{{end}}>
|
||||
{{end}}
|
||||
<label>
|
||||
<i class="octicon octicon-git-pull-request" height="16" width="12"></i>
|
||||
{{svg "octicon-git-pull-request" 16}}
|
||||
{{if $pullRequestEnabled}}
|
||||
{{.i18n.Tr "repo.editor.create_new_branch" | Safe}}
|
||||
{{else}}
|
||||
|
@ -52,7 +52,7 @@
|
|||
</div>
|
||||
<div class="quick-pull-branch-name {{if not (eq .commit_choice "commit-to-new-branch")}}hide{{end}}">
|
||||
<div class="new-branch-name-input field {{if .Err_NewBranchName}}error{{end}}">
|
||||
<i class="octicon octicon-git-branch" height="16" width="10"></i>
|
||||
{{svg "octicon-git-branch" 16}}
|
||||
<input type="text" name="new_branch_name" value="{{.new_branch_name}}" class="input-contrast mr-2 js-quick-pull-new-branch-name" placeholder="{{.i18n.Tr "repo.editor.new_branch_name_desc"}}" {{if eq .commit_choice "commit-to-new-branch"}}required{{end}}>
|
||||
<span class="text-muted js-quick-pull-normalization-info"></span>
|
||||
</div>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<div class="divider"> / </div>
|
||||
{{if eq $i $l}}
|
||||
<input id="file-name" value="{{$v}}" placeholder="{{$.i18n.Tr "repo.editor.name_your_file"}}" data-ec-url-prefix="{{$.EditorconfigURLPrefix}}" required autofocus>
|
||||
<span class="octicon octicon-info poping up" data-content="{{$.i18n.Tr "repo.editor.filename_help"}}" data-position="bottom center" data-variation="tiny inverted"></span>
|
||||
<span class="poping up" data-content="{{$.i18n.Tr "repo.editor.filename_help"}}" data-position="bottom center" data-variation="tiny inverted">{{svg "octicon-info" 16}}</span>
|
||||
{{else}}
|
||||
<span class="section"><a href="{{EscapePound $.BranchLink}}/{{index $.TreePaths $i | EscapePound}}">{{$v}}</a></span>
|
||||
{{end}}
|
||||
|
@ -28,10 +28,10 @@
|
|||
</div>
|
||||
<div class="field">
|
||||
<div class="ui top attached tabular menu" data-write="write" data-preview="preview" data-diff="diff">
|
||||
<a class="active item" data-tab="write"><i class="octicon octicon-code"></i> {{if .IsNewFile}}{{.i18n.Tr "repo.editor.new_file"}}{{else}}{{.i18n.Tr "repo.editor.edit_file"}}{{end}}</a>
|
||||
<a class="active item" data-tab="write">{{svg "octicon-code" 16}} {{if .IsNewFile}}{{.i18n.Tr "repo.editor.new_file"}}{{else}}{{.i18n.Tr "repo.editor.edit_file"}}{{end}}</a>
|
||||
{{if not .IsNewFile}}
|
||||
<a class="item" data-tab="preview" data-url="{{.Repository.APIURL}}/markdown" data-context="{{.RepoLink}}/src/{{.BranchNameSubURL | EscapePound}}" data-preview-file-modes="{{.PreviewableFileModes}}"><i class="octicon octicon-eye"></i> {{.i18n.Tr "preview"}}</a>
|
||||
<a class="item" data-tab="diff" data-url="{{.RepoLink}}/_preview/{{.BranchName | EscapePound}}/{{.TreePath | EscapePound}}" data-context="{{.BranchLink}}"><i class="octicon octicon-diff"></i> {{.i18n.Tr "repo.editor.preview_changes"}}</a>
|
||||
<a class="item" data-tab="preview" data-url="{{.Repository.APIURL}}/markdown" data-context="{{.RepoLink}}/src/{{.BranchNameSubURL | EscapePound}}" data-preview-file-modes="{{.PreviewableFileModes}}">{{svg "octicon-eye" 16}} {{.i18n.Tr "preview"}}</a>
|
||||
<a class="item" data-tab="diff" data-url="{{.RepoLink}}/_preview/{{.BranchName | EscapePound}}/{{.TreePath | EscapePound}}" data-context="{{.BranchLink}}">{{svg "octicon-diff" 16}} {{.i18n.Tr "repo.editor.preview_changes"}}</a>
|
||||
{{end}}
|
||||
</div>
|
||||
<div class="ui bottom attached active tab segment" data-tab="write">
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<div class="divider"> / </div>
|
||||
{{if eq $i $l}}
|
||||
<input type="text" id="file-name" value="{{$v}}" placeholder="{{$.i18n.Tr "repo.editor.add_subdir"}}" autofocus>
|
||||
<span class="octicon octicon-info poping up" data-content="{{$.i18n.Tr "repo.editor.filename_help"}}" data-position="bottom center" data-variation="tiny inverted"></span>
|
||||
<span class="poping up" data-content="{{$.i18n.Tr "repo.editor.filename_help"}}" data-position="bottom center" data-variation="tiny inverted">{{svg "octicon-info" 16}}</span>
|
||||
{{else}}
|
||||
<span class="section"><a href="{{EscapePound $.BranchLink}}/{{index $.TreePaths $i | EscapePound}}">{{$v}}</a></span>
|
||||
{{end}}
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
{{end}}
|
||||
{{if not (and $.DisableHTTP $.DisableSSH)}}
|
||||
<button class="ui basic button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url">
|
||||
<i class="octicon octicon-clippy"></i>
|
||||
{{svg "octicon-clippy" 16}}
|
||||
</button>
|
||||
{{end}}
|
||||
</div>
|
||||
|
|
|
@ -4,15 +4,46 @@
|
|||
<div class="repo-header">
|
||||
<div class="ui huge breadcrumb repo-title">
|
||||
{{if .RelAvatarLink}}
|
||||
<img class="ui avatar image" src="{{.RelAvatarLink}}">
|
||||
<img class="ui avatar image" src="{{.RelAvatarLink}}">
|
||||
{{else if .IsTemplate}}
|
||||
{{if .IsPrivate}}
|
||||
{{svg "octicon-repo-template-private" 32}}
|
||||
{{else}}
|
||||
{{svg "octicon-repo-template" 32}}
|
||||
{{end}}
|
||||
{{else}}
|
||||
<i class="mega-octicon octicon-{{if .IsPrivate}}lock{{else if .IsMirror}}repo-clone{{else if .IsFork}}repo-forked{{else}}repo{{end}}"></i>
|
||||
{{if .IsPrivate}}
|
||||
{{svg "octicon-lock" 32}}
|
||||
{{else if .IsMirror}}
|
||||
{{svg "octicon-repo-clone" 32}}
|
||||
{{else if .IsFork}}
|
||||
{{svg "octicon-repo-fork" 32}}
|
||||
{{else}}
|
||||
{{svg "octicon-repo" 32}}
|
||||
{{end}}
|
||||
{{end}}
|
||||
<a href="{{AppSubUrl}}/{{.Owner.Name}}">{{.Owner.Name}}</a>
|
||||
<div class="divider"> / </div>
|
||||
<a href="{{$.RepoLink}}">{{.Name}}</a>
|
||||
{{if and .RelAvatarLink .IsPrivate}}<i class="mega-octicon octicon-lock"></i>{{end}}
|
||||
{{if .IsTemplate}}<i class="icon fa-copy"></i>{{end}}
|
||||
{{if .RelAvatarLink}}
|
||||
{{if .IsTemplate}}
|
||||
{{if .IsPrivate}}
|
||||
{{svg "octicon-repo-template-private" 32}}
|
||||
{{else}}
|
||||
{{svg "octicon-repo-template" 32}}
|
||||
{{end}}
|
||||
{{else}}
|
||||
{{if .IsPrivate}}
|
||||
{{svg "octicon-lock" 32}}
|
||||
{{else if .IsMirror}}
|
||||
{{svg "octicon-repo-clone" 32}}
|
||||
{{else if .IsFork}}
|
||||
{{svg "octicon-repo-fork" 32}}
|
||||
{{else}}
|
||||
{{svg "octicon-repo" 32}}
|
||||
{{end}}
|
||||
{{end}}
|
||||
{{end}}
|
||||
{{if .IsArchived}}<i class="archive icon archived-icon"></i>{{end}}
|
||||
{{if .IsMirror}}<div class="fork-flag">{{$.i18n.Tr "repo.mirror_from"}} <a target="_blank" rel="noopener noreferrer" href="{{if .SanitizedOriginalURL}}{{.SanitizedOriginalURL}}{{else}}{{MirrorAddress $.Mirror}}{{end}}">{{if .SanitizedOriginalURL}}{{.SanitizedOriginalURL}}{{else}}{{MirrorAddress $.Mirror}}{{end}}</a></div>{{end}}
|
||||
{{if .IsFork}}<div class="fork-flag">{{$.i18n.Tr "repo.forked_from"}} <a href="{{.BaseRepo.Link}}">{{SubStr .BaseRepo.RelLink 1 -1}}</a></div>{{end}}
|
||||
|
@ -39,7 +70,7 @@
|
|||
{{if and (not .IsEmpty) ($.Permission.CanRead $.UnitTypeCode)}}
|
||||
<div class="ui labeled button {{if and ($.IsSigned) (not $.CanSignedUserFork)}}disabled-repo-button{{end}}" tabindex="0">
|
||||
<a class="ui compact basic button {{if or (not $.IsSigned) (not $.CanSignedUserFork)}}poping up{{end}}" {{if $.CanSignedUserFork}}href="{{AppSubUrl}}/repo/fork/{{.ID}}"{{else if $.IsSigned}} data-content="{{$.i18n.Tr "repo.fork_from_self"}}" {{ else }} data-content="{{$.i18n.Tr "repo.fork_guest_user" }}" rel="nofollow" href="{{AppSubUrl}}/user/login?redirect_to={{AppSubUrl}}/repo/fork/{{.ID}}" {{end}} data-position="top center" data-variation="tiny">
|
||||
<i class="octicon octicon-repo-forked"></i>{{$.i18n.Tr "repo.fork"}}
|
||||
{{svg "octicon-repo-forked" 16}}{{$.i18n.Tr "repo.fork"}}
|
||||
</a>
|
||||
<a class="ui basic label" href="{{.Link}}/forks">
|
||||
{{.NumForks}}
|
||||
|
@ -56,43 +87,43 @@
|
|||
<div class="ui tabular stackable menu navbar">
|
||||
{{if .Permission.CanRead $.UnitTypeCode}}
|
||||
<a class="{{if .PageIsViewCode}}active{{end}} item" href="{{.RepoLink}}{{if (ne .BranchName .Repository.DefaultBranch)}}/src/{{.BranchNameSubURL | EscapePound}}{{end}}">
|
||||
<i class="octicon octicon-code"></i> {{.i18n.Tr "repo.code"}}
|
||||
{{svg "octicon-code" 16}} {{.i18n.Tr "repo.code"}}
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
{{if .Permission.CanRead $.UnitTypeIssues}}
|
||||
<a class="{{if .PageIsIssueList}}active{{end}} item" href="{{.RepoLink}}/issues">
|
||||
<i class="octicon octicon-issue-opened"></i> {{.i18n.Tr "repo.issues"}} <span class="ui {{if not .Repository.NumOpenIssues}}gray{{else}}blue{{end}} small label">{{.Repository.NumOpenIssues}}</span>
|
||||
{{svg "octicon-issue-opened" 16}} {{.i18n.Tr "repo.issues"}} <span class="ui {{if not .Repository.NumOpenIssues}}gray{{else}}blue{{end}} small label">{{.Repository.NumOpenIssues}}</span>
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
{{if .Permission.CanRead $.UnitTypeExternalTracker}}
|
||||
<a class="{{if .PageIsIssueList}}active{{end}} item" href="{{.RepoExternalIssuesLink}}" target="_blank" rel="noopener noreferrer">
|
||||
<i class="octicon octicon-link-external"></i> {{.i18n.Tr "repo.issues"}} </span>
|
||||
{{svg "octicon-link-external" 16}} {{.i18n.Tr "repo.issues"}} </span>
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
{{if and .Repository.CanEnablePulls (.Permission.CanRead $.UnitTypePullRequests)}}
|
||||
<a class="{{if .PageIsPullList}}active{{end}} item" href="{{.RepoLink}}/pulls">
|
||||
<i class="octicon octicon-git-pull-request"></i> {{.i18n.Tr "repo.pulls"}} <span class="ui {{if not .Repository.NumOpenPulls}}gray{{else}}blue{{end}} small label">{{.Repository.NumOpenPulls}}</span>
|
||||
{{svg "octicon-git-pull-request" 16}} {{.i18n.Tr "repo.pulls"}} <span class="ui {{if not .Repository.NumOpenPulls}}gray{{else}}blue{{end}} small label">{{.Repository.NumOpenPulls}}</span>
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
{{if and (.Permission.CanRead $.UnitTypeReleases) (not .IsEmptyRepo) }}
|
||||
<a class="{{if .PageIsReleaseList}}active{{end}} item" href="{{.RepoLink}}/releases">
|
||||
<i class="octicon octicon-tag"></i> {{.i18n.Tr "repo.releases"}} <span class="ui {{if not .Repository.NumReleases}}gray{{else}}blue{{end}} small label">{{.Repository.NumReleases}}</span>
|
||||
{{svg "octicon-tag" 16}} {{.i18n.Tr "repo.releases"}} <span class="ui {{if not .Repository.NumReleases}}gray{{else}}blue{{end}} small label">{{.Repository.NumReleases}}</span>
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
{{if or (.Permission.CanRead $.UnitTypeWiki) (.Permission.CanRead $.UnitTypeExternalWiki)}}
|
||||
<a class="{{if .PageIsWiki}}active{{end}} item" href="{{.RepoLink}}/wiki" {{if (.Permission.CanRead $.UnitTypeExternalWiki)}} target="_blank" rel="noopener noreferrer" {{end}}>
|
||||
<i class="octicon octicon-book"></i> {{.i18n.Tr "repo.wiki"}}
|
||||
{{svg "octicon-book" 16}} {{.i18n.Tr "repo.wiki"}}
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
{{if and (.Permission.CanReadAny $.UnitTypePullRequests $.UnitTypeIssues $.UnitTypeReleases) (not .IsEmptyRepo)}}
|
||||
<a class="{{if .PageIsActivity}}active{{end}} item" href="{{.RepoLink}}/activity">
|
||||
<i class="octicon octicon-pulse"></i> {{.i18n.Tr "repo.activity"}}
|
||||
{{svg "octicon-pulse" 16}} {{.i18n.Tr "repo.activity"}}
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
|
@ -101,7 +132,7 @@
|
|||
{{if .Permission.IsAdmin}}
|
||||
<div class="right menu">
|
||||
<a class="{{if .PageIsSettings}}active{{end}} item" href="{{.RepoLink}}/settings">
|
||||
<i class="octicon octicon-tools"></i> {{.i18n.Tr "repo.settings"}}
|
||||
{{svg "octicon-tools" 16}} {{.i18n.Tr "repo.settings"}}
|
||||
</a>
|
||||
</div>
|
||||
{{end}}
|
||||
|
|
|
@ -127,14 +127,14 @@
|
|||
{{end}}
|
||||
{{if or (not $.DisableHTTP) (and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH))}}
|
||||
<button class="ui basic icon button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url">
|
||||
<i class="octicon octicon-clippy"></i>
|
||||
{{svg "octicon-clippy" 16}}
|
||||
</button>
|
||||
{{end}}
|
||||
<div class="ui basic jump dropdown icon button poping up" data-content="{{.i18n.Tr "repo.download_archive"}}" data-variation="tiny inverted" data-position="top right">
|
||||
<i class="download icon"></i>
|
||||
<div class="menu">
|
||||
<a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.zip"><i class="octicon octicon-file-zip"></i> ZIP</a>
|
||||
<a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.tar.gz"><i class="octicon octicon-file-zip"></i> TAR.GZ</a>
|
||||
<a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.zip">{{svg "octicon-file-zip" 16}} ZIP</a>
|
||||
<a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.tar.gz">{{svg "octicon-file-zip" 16}} TAR.GZ</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<div class="two column row">
|
||||
<a class="reference column" href="#" data-target="#branch-list">
|
||||
<span class="text black">
|
||||
<i class="octicon octicon-git-branch"></i> {{.i18n.Tr "repo.branches"}}
|
||||
{{svg "octicon-git-branch" 16}} {{.i18n.Tr "repo.branches"}}
|
||||
</span>
|
||||
</a>
|
||||
<a class="reference column" href="#" data-target="#tag-list">
|
||||
|
@ -40,4 +40,4 @@
|
|||
</div>
|
||||
|
||||
<div class="ui divider"></div>
|
||||
{{end}}
|
||||
{{end}}
|
||||
|
|
|
@ -98,18 +98,18 @@
|
|||
<li class="item">
|
||||
<div class="ui grid">
|
||||
<div class="three wide column">
|
||||
<div class="ui label has-emoji" style="color: {{.ForegroundColor}}; background-color: {{.Color}}"><i class="octicon octicon-tag"></i> {{.Name}}</div>
|
||||
<div class="ui label has-emoji" style="color: {{.ForegroundColor}}; background-color: {{.Color}}">{{svg "octicon-tag" 16}} {{.Name}}</div>
|
||||
</div>
|
||||
<div class="seven wide column">
|
||||
{{.Description}}
|
||||
</div>
|
||||
<div class="three wide column">
|
||||
<a class="ui right open-issues" href="{{$.RepoLink}}/issues?labels={{.ID}}"><i class="octicon octicon-issue-opened"></i> {{$.i18n.Tr "repo.issues.label_open_issues" .NumOpenIssues}}</a>
|
||||
<a class="ui right open-issues" href="{{$.RepoLink}}/issues?labels={{.ID}}">{{svg "octicon-issue-opened" 16}} {{$.i18n.Tr "repo.issues.label_open_issues" .NumOpenIssues}}</a>
|
||||
</div>
|
||||
<div class="three wide column">
|
||||
{{if and (not $.Repository.IsArchived) (or $.CanWriteIssues $.CanWritePulls)}}
|
||||
<a class="ui right delete-button" href="#" data-url="{{$.RepoLink}}/labels/delete" data-id="{{.ID}}"><i class="octicon octicon-trashcan"></i> {{$.i18n.Tr "repo.issues.label_delete"}}</a>
|
||||
<a class="ui right edit-label-button" href="#" data-id="{{.ID}}" data-title="{{.Name}}" data-description="{{.Description}}" data-color={{.Color}}><i class="octicon octicon-pencil"></i> {{$.i18n.Tr "repo.issues.label_edit"}}</a>
|
||||
<a class="ui right delete-button" href="#" data-url="{{$.RepoLink}}/labels/delete" data-id="{{.ID}}">{{svg "octicon-trashcan" 16}} {{$.i18n.Tr "repo.issues.label_delete"}}</a>
|
||||
<a class="ui right edit-label-button" href="#" data-id="{{.ID}}" data-title="{{.Name}}" data-description="{{.Description}}" data-color={{.Color}}>{{svg "octicon-pencil" 16}} {{$.i18n.Tr "repo.issues.label_edit"}}</a>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -30,11 +30,11 @@
|
|||
<div class="six wide column">
|
||||
<div class="ui tiny basic status buttons">
|
||||
<a class="ui {{if not .IsShowClosed}}green active{{end}} basic button" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state=open&labels={{.SelectLabels}}&milestone={{.MilestoneID}}&assignee={{.AssigneeID}}">
|
||||
<i class="octicon octicon-issue-opened"></i>
|
||||
{{svg "octicon-issue-opened" 16}}
|
||||
{{.i18n.Tr "repo.issues.open_tab" .IssueStats.OpenCount}}
|
||||
</a>
|
||||
<a class="ui {{if .IsShowClosed}}red active{{end}} basic button" href="{{$.Link}}?q={{$.Keyword}}&type={{.ViewType}}&sort={{$.SortType}}&state=closed&labels={{.SelectLabels}}&milestone={{.MilestoneID}}&assignee={{.AssigneeID}}">
|
||||
<i class="octicon octicon-issue-closed"></i>
|
||||
{{svg "octicon-issue-closed" 16}}
|
||||
{{.i18n.Tr "repo.issues.close_tab" .IssueStats.ClosedCount}}
|
||||
</a>
|
||||
</div>
|
||||
|
@ -51,7 +51,7 @@
|
|||
<span class="info">{{.i18n.Tr "repo.issues.filter_label_exclude" | Safe}}</span>
|
||||
<a class="item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_label_no_select"}}</a>
|
||||
{{range .Labels}}
|
||||
<a class="item has-emoji label-filter-item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{.QueryString}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}" data-label-id="{{.ID}}"><span class="octicon {{if .IsExcluded}}octicon-circle-slash{{else if .IsSelected}}octicon-check{{end}}"></span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}</a>
|
||||
<a class="item has-emoji label-filter-item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{.QueryString}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}" data-label-id="{{.ID}}">{{if .IsExcluded}}{{svg "octicon-circle-slash" 16}}{{else if .IsSelected}}{{svg "octicon-check" 16}}{{end}}<span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}</a>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -124,11 +124,11 @@
|
|||
<div class="six wide column">
|
||||
<div class="ui tiny basic status buttons">
|
||||
<a class="ui {{if not .IsShowClosed}}green active{{end}} basic button" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state=open&labels={{.SelectLabels}}&milestone={{.MilestoneID}}&assignee={{.AssigneeID}}">
|
||||
<i class="octicon octicon-issue-opened"></i>
|
||||
{{svg "octicon-issue-opened" 16}}
|
||||
{{.i18n.Tr "repo.issues.open_tab" .IssueStats.OpenCount}}
|
||||
</a>
|
||||
<a class="ui {{if .IsShowClosed}}red active{{end}} basic button" href="{{$.Link}}?q={{$.Keyword}}&type={{.ViewType}}&sort={{$.SortType}}&state=closed&labels={{.SelectLabels}}&milestone={{.MilestoneID}}&assignee={{.AssigneeID}}">
|
||||
<i class="octicon octicon-issue-closed"></i>
|
||||
{{svg "octicon-issue-closed" 16}}
|
||||
{{.i18n.Tr "repo.issues.close_tab" .IssueStats.ClosedCount}}
|
||||
</a>
|
||||
</div>
|
||||
|
@ -155,7 +155,7 @@
|
|||
<div class="menu">
|
||||
{{range .Labels}}
|
||||
<div class="item issue-action has-emoji" data-action="toggle" data-element-id="{{.ID}}" data-url="{{$.RepoLink}}/issues/labels">
|
||||
<span class="octicon {{if contain $.SelLabelIDs .ID}}octicon-check{{end}}"></span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}
|
||||
{{if contain $.SelLabelIDs .ID}}{{svg "octicon-check" 16}}{{end}}<span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
|
@ -223,11 +223,11 @@
|
|||
{{end}}
|
||||
|
||||
{{if .NumComments}}
|
||||
<span class="comment ui right"><i class="octicon octicon-comment"></i> {{.NumComments}}</span>
|
||||
<span class="comment ui right">{{svg "octicon-comment" 16}} {{.NumComments}}</span>
|
||||
{{end}}
|
||||
|
||||
{{if .TotalTrackedTime}}
|
||||
<span class="comment ui right"><i class="octicon octicon-clock"></i> {{.TotalTrackedTime | Sec2Time}}</span>
|
||||
<span class="comment ui right">{{svg "octicon-clock" 16}} {{.TotalTrackedTime | Sec2Time}}</span>
|
||||
{{end}}
|
||||
|
||||
<p class="desc">
|
||||
|
@ -242,24 +242,24 @@
|
|||
|
||||
{{if .Milestone}}
|
||||
<a class="milestone" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{.Milestone.ID}}&assignee={{$.AssigneeID}}">
|
||||
<span class="octicon octicon-milestone"></span> {{.Milestone.Name}}
|
||||
{{svg "octicon-milestone" 16}} {{.Milestone.Name}}
|
||||
</a>
|
||||
{{end}}
|
||||
{{if .Ref}}
|
||||
<a class="ref" href="{{$.RepoLink}}/src/branch/{{.Ref | PathEscapeSegments}}">
|
||||
<span class="octicon octicon-git-branch"></span> {{.Ref}}
|
||||
{{svg "octicon-git-branch" 16}} {{.Ref}}
|
||||
</a>
|
||||
{{end}}
|
||||
{{$tasks := .GetTasks}}
|
||||
{{if gt $tasks 0}}
|
||||
{{$tasksDone := .GetTasksDone}}
|
||||
<span class="checklist">
|
||||
<span class="octicon octicon-checklist"></span> {{$tasksDone}} / {{$tasks}} <span class="progress-bar"><span class="progress" style="width:calc(100% * {{$tasksDone}} / {{$tasks}});"></span></span>
|
||||
{{svg "octicon-checklist" 16}} {{$tasksDone}} / {{$tasks}} <span class="progress-bar"><span class="progress" style="width:calc(100% * {{$tasksDone}} / {{$tasks}});"></span></span>
|
||||
</span>
|
||||
{{end}}
|
||||
{{if ne .DeadlineUnix 0}}
|
||||
<span class="due-date poping up" data-content="{{$.i18n.Tr "repo.issues.due_date"}}" data-variation="tiny inverted" data-position="right center">
|
||||
<span class="octicon octicon-calendar"></span><span{{if .IsOverdue}} class="overdue"{{end}}>{{.DeadlineUnix.FormatShort}}</span>
|
||||
{{svg "octicon-calendar" 16}}<span{{if .IsOverdue}} class="overdue"{{end}}>{{.DeadlineUnix.FormatShort}}</span>
|
||||
</span>
|
||||
{{end}}
|
||||
{{range .Assignees}}
|
||||
|
@ -269,7 +269,7 @@
|
|||
{{end}}
|
||||
{{if .IsPull}}
|
||||
{{if and (not .PullRequest.HasMerged) ((len .PullRequest.ConflictedFiles) gt 0)}}
|
||||
<span class="conflicting"><i class="octicon octicon-mirror"></i> {{$.i18n.Tr (TrN $.i18n.Lang (len .PullRequest.ConflictedFiles) "repo.pulls.num_conflicting_files_1" "repo.pulls.num_conflicting_files_n") (len .PullRequest.ConflictedFiles)}}</span>
|
||||
<span class="conflicting">{{svg "octicon-mirror" 16}} {{$.i18n.Tr (TrN $.i18n.Lang (len .PullRequest.ConflictedFiles) "repo.pulls.num_conflicting_files_1" "repo.pulls.num_conflicting_files_n") (len .PullRequest.ConflictedFiles)}}</span>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</p>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<h3>{{.Milestone.Name}}</h3>
|
||||
</div>
|
||||
<div class="column center aligned">
|
||||
|
||||
|
||||
</div>
|
||||
{{if not .Repository.IsArchived}}
|
||||
<div class="column right aligned">
|
||||
|
@ -22,16 +22,16 @@
|
|||
<div class="column">
|
||||
{{ $closedDate:= TimeSinceUnix .Milestone.ClosedDateUnix $.Lang }}
|
||||
{{if .IsClosed}}
|
||||
<span class="octicon octicon-clock"></span> {{$.i18n.Tr "repo.milestones.closed" $closedDate|Str2html}}
|
||||
{{svg "octicon-clock" 16}} {{$.i18n.Tr "repo.milestones.closed" $closedDate|Str2html}}
|
||||
{{else}}
|
||||
<span class="octicon octicon-calendar"></span>
|
||||
{{svg "octicon-calendar" 16}}
|
||||
{{if .Milestone.DeadlineString}}
|
||||
<span {{if .IsOverdue}}class="overdue"{{end}}>{{.Milestone.DeadlineString}}</span>
|
||||
{{else}}
|
||||
{{$.i18n.Tr "repo.milestones.no_due_date"}}
|
||||
{{end}}
|
||||
{{end}}
|
||||
|
||||
|
||||
<b>{{.i18n.Tr "repo.milestones.completeness" .Milestone.Completeness}}</b>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -40,11 +40,11 @@
|
|||
<div class="six wide column">
|
||||
<div class="ui tiny basic status buttons">
|
||||
<a class="ui {{if not .IsShowClosed}}green active{{end}} basic button" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state=open&labels={{.SelectLabels}}&assignee={{.AssigneeID}}">
|
||||
<i class="octicon octicon-issue-opened"></i>
|
||||
{{svg "octicon-issue-opened" 16}}
|
||||
{{.i18n.Tr "repo.issues.open_tab" .IssueStats.OpenCount}}
|
||||
</a>
|
||||
<a class="ui {{if .IsShowClosed}}red active{{end}} basic button" href="{{$.Link}}?q={{$.Keyword}}&type={{.ViewType}}&sort={{$.SortType}}&state=closed&labels={{.SelectLabels}}&assignee={{.AssigneeID}}">
|
||||
<i class="octicon octicon-issue-closed"></i>
|
||||
{{svg "octicon-issue-closed" 16}}
|
||||
{{.i18n.Tr "repo.issues.close_tab" .IssueStats.ClosedCount}}
|
||||
</a>
|
||||
</div>
|
||||
|
@ -61,7 +61,7 @@
|
|||
<span class="info">{{.i18n.Tr "repo.issues.filter_label_exclude" | Safe}}</span>
|
||||
<a class="item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&assignee={{$.AssigneeID}}">{{.i18n.Tr "repo.issues.filter_label_no_select"}}</a>
|
||||
{{range .Labels}}
|
||||
<a class="item has-emoji label-filter-item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{.ID}}&assignee={{$.AssigneeID}}" data-label-id="{{.ID}}"><span class="octicon {{if .IsExcluded}}octicon-circle-slash{{else if contain $.SelLabelIDs .ID}}octicon-check{{end}}"></span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}</a>
|
||||
<a class="item has-emoji label-filter-item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{.ID}}&assignee={{$.AssigneeID}}" data-label-id="{{.ID}}">{{if .IsExcluded}}{{svg "octicon-circle-slash" 16}}{{else if contain $.SelLabelIDs .ID}}{{svg "octicon-check" 16}}{{end}}"><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}</a>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -118,11 +118,11 @@
|
|||
<div class="six wide column">
|
||||
<div class="ui tiny basic status buttons">
|
||||
<a class="ui {{if not .IsShowClosed}}green active{{end}} basic button" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state=open&labels={{.SelectLabels}}&assignee={{.AssigneeID}}">
|
||||
<i class="octicon octicon-issue-opened"></i>
|
||||
{{svg "octicon-issue-opened" 16}}
|
||||
{{.i18n.Tr "repo.issues.open_tab" .IssueStats.OpenCount}}
|
||||
</a>
|
||||
<a class="ui {{if .IsShowClosed}}red active{{end}} basic button" href="{{$.Link}}?q={{$.Keyword}}&type={{.ViewType}}&sort={{$.SortType}}&state=closed&labels={{.SelectLabels}}&assignee={{.AssigneeID}}">
|
||||
<i class="octicon octicon-issue-closed"></i>
|
||||
{{svg "octicon-issue-closed" 16}}
|
||||
{{.i18n.Tr "repo.issues.close_tab" .IssueStats.ClosedCount}}
|
||||
</a>
|
||||
</div>
|
||||
|
@ -149,7 +149,7 @@
|
|||
<div class="menu">
|
||||
{{range .Labels}}
|
||||
<div class="item issue-action has-emoji" data-action="toggle" data-element-id="{{.ID}}" data-url="{{$.RepoLink}}/issues/labels">
|
||||
<span class="octicon {{if contain $.SelLabelIDs .ID}}octicon-check{{end}}"></span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}
|
||||
{{if contain $.SelLabelIDs .ID}}{{svg "octicon-check" 16}}{{end}}"><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
|
@ -193,11 +193,11 @@
|
|||
{{end}}
|
||||
|
||||
{{if .NumComments}}
|
||||
<span class="comment ui right"><i class="octicon octicon-comment"></i> {{.NumComments}}</span>
|
||||
<span class="comment ui right">{{svg "octicon-comment" 16}} {{.NumComments}}</span>
|
||||
{{end}}
|
||||
|
||||
{{if .TotalTrackedTime}}
|
||||
<span class="comment ui right"><i class="octicon octicon-clock"></i> {{.TotalTrackedTime | Sec2Time}}</span>
|
||||
<span class="comment ui right">{{svg "octicon-clock" 16}} {{.TotalTrackedTime | Sec2Time}}</span>
|
||||
{{end}}
|
||||
|
||||
<p class="desc">
|
||||
|
@ -208,18 +208,18 @@
|
|||
{{end}}
|
||||
{{if .Ref}}
|
||||
<a class="ref" href="{{$.RepoLink}}/src/branch/{{.Ref}}">
|
||||
<span class="octicon octicon-git-branch"></span> {{.Ref}}
|
||||
{{svg "octicon-git-branch" 16}} {{.Ref}}
|
||||
</a>
|
||||
{{end}}
|
||||
{{$tasks := .GetTasks}}
|
||||
{{if gt $tasks 0}}
|
||||
{{$tasksDone := .GetTasksDone}}
|
||||
<span class="checklist">
|
||||
<span class="octicon octicon-checklist"></span> {{$tasksDone}} / {{$tasks}} <span class="progress-bar"><span class="progress" style="width:calc(100% * {{$tasksDone}} / {{$tasks}});"></span></span>
|
||||
{{svg "octicon-checklist" 16}} {{$tasksDone}} / {{$tasks}} <span class="progress-bar"><span class="progress" style="width:calc(100% * {{$tasksDone}} / {{$tasks}});"></span></span>
|
||||
</span>
|
||||
{{end}}
|
||||
{{if ne .DeadlineUnix 0}}
|
||||
<span class="octicon octicon-calendar"></span>
|
||||
{{svg "octicon-calendar" 16}}
|
||||
<span{{if .IsOverdue}} class="overdue"{{end}}>{{.DeadlineUnix.FormatShort}}</span>
|
||||
{{end}}
|
||||
{{range .Assignees}}
|
||||
|
|
|
@ -14,11 +14,11 @@
|
|||
{{template "base/alert" .}}
|
||||
<div class="ui tiny basic buttons">
|
||||
<a class="ui {{if not .IsShowClosed}}green active{{end}} basic button" href="{{.RepoLink}}/milestones?state=open">
|
||||
<i class="octicon octicon-milestone"></i>
|
||||
{{svg "octicon-milestone" 16}}
|
||||
{{.i18n.Tr "repo.milestones.open_tab" .OpenCount}}
|
||||
</a>
|
||||
<a class="ui {{if .IsShowClosed}}red active{{end}} basic button" href="{{.RepoLink}}/milestones?state=closed">
|
||||
<i class="octicon octicon-milestone"></i>
|
||||
{{svg "octicon-milestone" 16}}
|
||||
{{.i18n.Tr "repo.milestones.close_tab" .ClosedCount}}
|
||||
</a>
|
||||
</div>
|
||||
|
@ -43,7 +43,7 @@
|
|||
<div class="milestone list">
|
||||
{{range .Milestones}}
|
||||
<li class="item">
|
||||
<i class="octicon octicon-milestone"></i> <a href="{{$.RepoLink}}/milestone/{{.ID}}">{{.Name}}</a>
|
||||
{{svg "octicon-milestone" 16}} <a href="{{$.RepoLink}}/milestone/{{.ID}}">{{.Name}}</a>
|
||||
<div class="ui right green progress" data-percent="{{.Completeness}}">
|
||||
<div class="bar" {{if not .Completeness}}style="background-color: transparent"{{end}}>
|
||||
<div class="progress"></div>
|
||||
|
@ -52,9 +52,9 @@
|
|||
<div class="meta">
|
||||
{{ $closedDate:= TimeSinceUnix .ClosedDateUnix $.Lang }}
|
||||
{{if .IsClosed}}
|
||||
<span class="octicon octicon-clock"></span> {{$.i18n.Tr "repo.milestones.closed" $closedDate|Str2html}}
|
||||
{{svg "octicon-clock" 16}} {{$.i18n.Tr "repo.milestones.closed" $closedDate|Str2html}}
|
||||
{{else}}
|
||||
<span class="octicon octicon-calendar"></span>
|
||||
{{svg "octicon-calendar" 16}}
|
||||
{{if .DeadlineString}}
|
||||
<span {{if .IsOverdue}}class="overdue"{{end}}>{{.DeadlineString}}</span>
|
||||
{{else}}
|
||||
|
@ -62,20 +62,20 @@
|
|||
{{end}}
|
||||
{{end}}
|
||||
<span class="issue-stats">
|
||||
<i class="octicon octicon-issue-opened"></i> {{$.i18n.Tr "repo.issues.open_tab" .NumOpenIssues}}
|
||||
<i class="octicon octicon-issue-closed"></i> {{$.i18n.Tr "repo.issues.close_tab" .NumClosedIssues}}
|
||||
{{if .TotalTrackedTime}}<i class="octicon octicon-clock"></i> {{.TotalTrackedTime|Sec2Time}}{{end}}
|
||||
{{svg "octicon-issue-opened" 16}} {{$.i18n.Tr "repo.issues.open_tab" .NumOpenIssues}}
|
||||
{{svg "octicon-issue-closed" 16}} {{$.i18n.Tr "repo.issues.close_tab" .NumClosedIssues}}
|
||||
{{if .TotalTrackedTime}}{{svg "octicon-clock" 16}} {{.TotalTrackedTime|Sec2Time}}{{end}}
|
||||
</span>
|
||||
</div>
|
||||
{{if and (or $.CanWriteIssues $.CanWritePulls) (not $.Repository.IsArchived)}}
|
||||
<div class="ui right operate">
|
||||
<a href="{{$.Link}}/{{.ID}}/edit" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-pencil"></i> {{$.i18n.Tr "repo.issues.label_edit"}}</a>
|
||||
<a href="{{$.Link}}/{{.ID}}/edit" data-id={{.ID}} data-title={{.Name}}>{{svg "octicon-pencil" 16}} {{$.i18n.Tr "repo.issues.label_edit"}}</a>
|
||||
{{if .IsClosed}}
|
||||
<a href="{{$.Link}}/{{.ID}}/open" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-check"></i> {{$.i18n.Tr "repo.milestones.open"}}</a>
|
||||
<a href="{{$.Link}}/{{.ID}}/open" data-id={{.ID}} data-title={{.Name}}>{{svg "octicon-check" 16}} {{$.i18n.Tr "repo.milestones.open"}}</a>
|
||||
{{else}}
|
||||
<a href="{{$.Link}}/{{.ID}}/close" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-x"></i> {{$.i18n.Tr "repo.milestones.close"}}</a>
|
||||
<a href="{{$.Link}}/{{.ID}}/close" data-id={{.ID}} data-title={{.Name}}>{{svg "octicon-x" 16}} {{$.i18n.Tr "repo.milestones.close"}}</a>
|
||||
{{end}}
|
||||
<a class="delete-button" href="#" data-url="{{$.RepoLink}}/milestones/delete" data-id="{{.ID}}"><i class="octicon octicon-trashcan"></i> {{$.i18n.Tr "repo.issues.label_delete"}}</a>
|
||||
<a class="delete-button" href="#" data-url="{{$.RepoLink}}/milestones/delete" data-id="{{.ID}}">{{svg "octicon-trashcan" 16}} {{$.i18n.Tr "repo.issues.label_delete"}}</a>
|
||||
</div>
|
||||
{{end}}
|
||||
{{if .Content}}
|
||||
|
|
|
@ -41,12 +41,12 @@
|
|||
<div class="ui {{if not .Labels}}disabled{{end}} floating jump select-label dropdown">
|
||||
<span class="text">
|
||||
<strong>{{.i18n.Tr "repo.issues.new.labels"}}</strong>
|
||||
<span class="octicon octicon-gear"></span>
|
||||
{{svg "octicon-gear" 16}}
|
||||
</span>
|
||||
<div class="filter menu" data-id="#label_ids">
|
||||
<div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_labels"}}</div>
|
||||
{{range .Labels}}
|
||||
<a class="{{if .IsChecked}}checked{{end}} item has-emoji" href="#" data-id="{{.ID}}" data-id-selector="#label_{{.ID}}"><span class="octicon {{if .IsChecked}}octicon-check{{end}}"></span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}
|
||||
<a class="{{if .IsChecked}}checked{{end}} item has-emoji" href="#" data-id="{{.ID}}" data-id-selector="#label_{{.ID}}"><span class="octicon-check {{if not .IsChecked}}invisible{{end}}">{{svg "octicon-check" 16}}</span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}
|
||||
{{if .Description }}<br><small class="desc">{{.Description}}</small>{{end}}</a>
|
||||
{{end}}
|
||||
</div>
|
||||
|
@ -64,14 +64,14 @@
|
|||
<div class="ui {{if not (or .OpenMilestones .ClosedMilestones)}}disabled{{end}} floating jump select-milestone dropdown">
|
||||
<span class="text">
|
||||
<strong>{{.i18n.Tr "repo.issues.new.milestone"}}</strong>
|
||||
<span class="octicon octicon-gear"></span>
|
||||
{{svg "octicon-gear" 16}}
|
||||
</span>
|
||||
<div class="menu">
|
||||
<div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_milestone"}}</div>
|
||||
{{if .OpenMilestones}}
|
||||
<div class="divider"></div>
|
||||
<div class="header">
|
||||
<i class="octicon octicon-milestone"></i>
|
||||
{{svg "octicon-milestone" 16}}
|
||||
{{.i18n.Tr "repo.issues.new.open_milestone"}}
|
||||
</div>
|
||||
{{range .OpenMilestones}}
|
||||
|
@ -81,7 +81,7 @@
|
|||
{{if .ClosedMilestones}}
|
||||
<div class="divider"></div>
|
||||
<div class="header">
|
||||
<i class="octicon octicon-milestone"></i>
|
||||
{{svg "octicon-milestone" 16}}
|
||||
{{.i18n.Tr "repo.issues.new.closed_milestone"}}
|
||||
</div>
|
||||
{{range .ClosedMilestones}}
|
||||
|
@ -105,13 +105,13 @@
|
|||
<div class="ui {{if not .Assignees}}disabled{{end}} floating jump select-assignees dropdown">
|
||||
<span class="text">
|
||||
<strong>{{.i18n.Tr "repo.issues.new.assignees"}}</strong>
|
||||
<span class="octicon octicon-gear"></span>
|
||||
{{svg "octicon-gear" 16}}
|
||||
</span>
|
||||
<div class="filter menu" data-id="#assignee_ids">
|
||||
<div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_assignees"}}</div>
|
||||
{{range .Assignees}}
|
||||
<a class="item" href="#" data-id="{{.ID}}" data-id-selector="#assignee_{{.ID}}">
|
||||
<span class="octicon"></span>
|
||||
<span class="octicon-check invisible">{{svg "octicon-check" 16}}</span>
|
||||
<span class="text">
|
||||
<img class="ui avatar image" src="{{.RelAvatarLink}}"> {{.GetDisplayName}}
|
||||
</span>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{{if .ctx.IsSigned}}
|
||||
<div class="item action ui pointing top right select-reaction dropdown" data-action-url="{{ .ActionURL }}">
|
||||
<a class="add-reaction">
|
||||
<i class="octicon octicon-plus-small" style="width: 10px"></i>
|
||||
<i class="octicon octicon-smiley"></i>
|
||||
{{svg "octicon-plus-small" 16}}
|
||||
{{svg "octicon-smiley" 16}}
|
||||
</a>
|
||||
<div class="menu has-emoji">
|
||||
<div class="header">{{ .ctx.i18n.Tr "repo.pick_reaction"}}</div>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
{{if FilenameIsImage .Name}}
|
||||
<img class="ui image" src="{{.DownloadURL}}" title='{{$.ctx.i18n.Tr "repo.issues.attachment.open_tab" .Name}}'>
|
||||
{{else}}
|
||||
<span class="ui image octicon octicon-desktop-download" title='{{$.ctx.i18n.Tr "repo.issues.attachment.download" .Name}}'></span>
|
||||
<span class="ui image" title='{{$.ctx.i18n.Tr "repo.issues.attachment.download" .Name}}'>{{svg "octicon-desktop-download" 16}}</span>
|
||||
{{end}}
|
||||
</a>
|
||||
{{end}}
|
||||
|
|
|
@ -70,7 +70,7 @@
|
|||
</div>
|
||||
{{else if eq .Type 1}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-primitive-dot"></span>
|
||||
{{svg "octicon-primitive-dot" 16}}
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
|
@ -78,7 +78,7 @@
|
|||
</div>
|
||||
{{else if eq .Type 2}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-circle-slash issue-symbol"></span>
|
||||
<span class="issue-symbol">{{svg "octicon-circle-slash" 16}}</span>
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
|
@ -99,7 +99,7 @@
|
|||
{{end}}
|
||||
{{ $createdStr:= TimeSinceUnix .CreatedUnix $.Lang }}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-bookmark"></span>
|
||||
{{svg "octicon-bookmark" 16}}
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
|
@ -115,21 +115,21 @@
|
|||
</div>
|
||||
{{else if eq .Type 4}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-bookmark"></span>
|
||||
{{svg "octicon-bookmark" 16}}
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
<span class="text grey"><a href="{{.Poster.HomeLink}}">{{.Poster.GetDisplayName}}</a> {{$.i18n.Tr "repo.issues.commit_ref_at" .EventTag $createdStr | Safe}}</span>
|
||||
|
||||
<div class="detail">
|
||||
<span class="octicon octicon-git-commit"></span>
|
||||
{{svg "octicon-git-commit" 16}}
|
||||
<span class="text grey">{{.Content | Str2html}}</span>
|
||||
</div>
|
||||
</div>
|
||||
{{else if eq .Type 7}}
|
||||
{{if .Label}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-primitive-dot"></span>
|
||||
{{svg "octicon-primitive-dot" 16}}
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
|
@ -139,7 +139,7 @@
|
|||
{{end}}
|
||||
{{else if eq .Type 8}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-primitive-dot"></span>
|
||||
{{svg "octicon-primitive-dot" 16}}
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
|
@ -148,7 +148,7 @@
|
|||
</div>
|
||||
{{else if eq .Type 9}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-primitive-dot"></span>
|
||||
{{svg "octicon-primitive-dot" 16}}
|
||||
{{if gt .AssigneeID 0}}
|
||||
{{if .RemovedAssignee}}
|
||||
<a class="ui avatar image" href="{{.Assignee.HomeLink}}">
|
||||
|
@ -179,7 +179,7 @@
|
|||
</div>
|
||||
{{else if eq .Type 10}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-primitive-dot"></span>
|
||||
{{svg "octicon-primitive-dot" 16}}
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
|
@ -189,7 +189,7 @@
|
|||
</div>
|
||||
{{else if eq .Type 11}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-primitive-dot"></span>
|
||||
{{svg "octicon-primitive-dot" 16}}
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
|
@ -199,7 +199,7 @@
|
|||
</div>
|
||||
{{else if eq .Type 12}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-primitive-dot"></span>
|
||||
{{svg "octicon-primitive-dot" 16}}
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
|
@ -207,32 +207,32 @@
|
|||
</div>
|
||||
{{else if eq .Type 13}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-primitive-dot"></span>
|
||||
{{svg "octicon-primitive-dot" 16}}
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
<span class="text grey"><a href="{{.Poster.HomeLink}}">{{.Poster.GetDisplayName}}</a> {{$.i18n.Tr "repo.issues.stop_tracking_history" $createdStr | Safe}}</span>
|
||||
|
||||
<div class="detail">
|
||||
<span class="octicon octicon-clock"></span>
|
||||
{{svg "octicon-clock" 16}}
|
||||
<span class="text grey">{{.Content}}</span>
|
||||
</div>
|
||||
</div>
|
||||
{{else if eq .Type 14}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-primitive-dot"></span>
|
||||
{{svg "octicon-primitive-dot" 16}}
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
<span class="text grey"><a href="{{.Poster.HomeLink}}">{{.Poster.GetDisplayName}}</a> {{$.i18n.Tr "repo.issues.add_time_history" $createdStr | Safe}}</span>
|
||||
<div class="detail">
|
||||
<span class="octicon octicon-clock"></span>
|
||||
{{svg "octicon-clock" 16}}
|
||||
<span class="text grey">{{.Content}}</span>
|
||||
</div>
|
||||
</div>
|
||||
{{else if eq .Type 15}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-primitive-dot"></span>
|
||||
{{svg "octicon-primitive-dot" 16}}
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
|
@ -240,7 +240,7 @@
|
|||
</div>
|
||||
{{else if eq .Type 16}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-primitive-dot"></span>
|
||||
{{svg "octicon-primitive-dot" 16}}
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
|
@ -250,7 +250,7 @@
|
|||
</div>
|
||||
{{else if eq .Type 17}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-primitive-dot"></span>
|
||||
{{svg "octicon-primitive-dot" 16}}
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
|
@ -260,7 +260,7 @@
|
|||
</div>
|
||||
{{else if eq .Type 18}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-primitive-dot"></span>
|
||||
{{svg "octicon-primitive-dot" 16}}
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
|
@ -270,7 +270,7 @@
|
|||
</div>
|
||||
{{else if eq .Type 19}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-primitive-dot"></span>
|
||||
{{svg "octicon-primitive-dot" 16}}
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
|
@ -279,7 +279,7 @@
|
|||
</span>
|
||||
{{if .DependentIssue}}
|
||||
<div class="detail">
|
||||
<span class="octicon octicon-plus"></span>
|
||||
{{svg "octicon-plus" 16}}
|
||||
<span class="text grey">
|
||||
<a href="{{.DependentIssue.HTMLURL}}">
|
||||
{{if eq .DependentIssue.RepoID .Issue.RepoID}}
|
||||
|
@ -294,7 +294,7 @@
|
|||
</div>
|
||||
{{else if eq .Type 20}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-primitive-dot"></span>
|
||||
{{svg "octicon-primitive-dot" 16}}
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
|
@ -303,7 +303,7 @@
|
|||
</span>
|
||||
{{if .DependentIssue}}
|
||||
<div class="detail">
|
||||
<span class="text grey octicon octicon-trashcan"></span>
|
||||
<span class="text grey">{{svg "octicon-trashcan" 16}}</span>
|
||||
<span class="text grey">
|
||||
<a href="{{.DependentIssue.HTMLURL}}">
|
||||
{{if eq .DependentIssue.RepoID .Issue.RepoID}}
|
||||
|
@ -318,7 +318,7 @@
|
|||
</div>
|
||||
{{else if eq .Type 22}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-{{.Review.Type.Icon}} issue-symbol"></span>
|
||||
<span class="issue-symbol">{{svg (printf "octicon-%s" .Review.Type.Icon) 16}}</span>
|
||||
{{if .OriginalAuthor }}
|
||||
{{else}}
|
||||
<a class="ui avatar image"{{if gt .Poster.ID 0}} href="{{.Poster.HomeLink}}"{{end}}>
|
||||
|
@ -344,7 +344,7 @@
|
|||
</span>
|
||||
{{if .Content}}
|
||||
<div class="detail">
|
||||
<span class="octicon octicon-quote"></span>
|
||||
{{svg "octicon-quote" 16}}
|
||||
<span class="text grey has-emoji">{{.Content}}</span>
|
||||
</div>
|
||||
{{end}}
|
||||
|
@ -355,11 +355,11 @@
|
|||
{{$invalid := (index $comms 0).Invalidated}}
|
||||
{{if $invalid}}
|
||||
<button id="show-outdated-{{(index $comms 0).ID}}" data-comment="{{(index $comms 0).ID}}" class="ui compact right labeled button show-outdated">
|
||||
<i class="octicon octicon-fold"></i>
|
||||
{{svg "octicon-fold" 16}}
|
||||
{{$.i18n.Tr "repo.issues.review.show_outdated"}}
|
||||
</button>
|
||||
<button id="hide-outdated-{{(index $comms 0).ID}}" data-comment="{{(index $comms 0).ID}}" class="hide ui compact right labeled button hide-outdated">
|
||||
<i class="octicon octicon-fold"></i>
|
||||
{{svg "octicon-fold" 16}}
|
||||
{{$.i18n.Tr "repo.issues.review.hide_outdated"}}
|
||||
</button>
|
||||
{{end}}
|
||||
|
@ -417,7 +417,7 @@
|
|||
</div>
|
||||
{{else if eq .Type 23}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-lock issue-symbol"></span>
|
||||
<span class="issue-symbol">{{svg "octicon-lock" 16}}</span>
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
|
@ -434,7 +434,7 @@
|
|||
</div>
|
||||
{{else if eq .Type 24}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-key issue-symbol"></span>
|
||||
<span class="issue-symbol">{{svg "octicon-key" 16}}</span>
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
|
@ -445,7 +445,7 @@
|
|||
</div>
|
||||
{{else if eq .Type 25}}
|
||||
<div class="event">
|
||||
<span class="octicon octicon-primitive-dot"></span>
|
||||
{{svg "octicon-primitive-dot" 16}}
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
|
@ -455,13 +455,13 @@
|
|||
</div>
|
||||
{{else if eq .Type 26}}
|
||||
<div class="event" id="{{.HashTag}}">
|
||||
<span class="octicon octicon-primitive-dot"></span>
|
||||
{{svg "octicon-primitive-dot" 16}}
|
||||
<a class="ui avatar image" href="{{.Poster.HomeLink}}">
|
||||
<img src="{{.Poster.RelAvatarLink}}">
|
||||
</a>
|
||||
<span class="text grey"><a href="{{.Poster.HomeLink}}">{{.Poster.GetDisplayName}}</a> {{$.i18n.Tr "repo.issues.del_time_history" $createdStr | Safe}}</span>
|
||||
<div class="detail">
|
||||
<span class="octicon octicon-clock"></span>
|
||||
{{svg "octicon-clock" 16}}
|
||||
<span class="text grey">{{.Content}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
{{else if eq .Type 2}}grey
|
||||
{{else if eq .Type 3}}red
|
||||
{{else}}grey{{end}}">
|
||||
<span class="octicon octicon-{{.Type.Icon}}"></span>
|
||||
{{svg (printf "octicon-%s" .Type.Icon) 16}}
|
||||
</span>
|
||||
{{if .Stale}}
|
||||
<span class="type-icon text grey">
|
||||
|
@ -52,7 +52,7 @@
|
|||
{{else if and .RequireSigned (not .WillSign)}}}red
|
||||
{{else if .Issue.PullRequest.IsChecking}}yellow
|
||||
{{else if .Issue.PullRequest.CanAutoMerge}}green
|
||||
{{else}}red{{end}}"><span class="mega-octicon octicon-git-merge"></span></a>
|
||||
{{else}}red{{end}}">{{svg "octicon-git-merge" 32}}</a>
|
||||
<div class="content">
|
||||
{{template "repo/pulls/status" .}}
|
||||
<div class="ui {{if not $.LatestCommitStatus}}top attached header{{else}}attached merge-section segment{{end}}">
|
||||
|
@ -87,7 +87,7 @@
|
|||
{{end}}
|
||||
{{else if .IsPullFilesConflicted}}
|
||||
<div class="item text grey">
|
||||
<span class="octicon octicon-x"></span>
|
||||
{{svg "octicon-x" 16}}
|
||||
{{$.i18n.Tr "repo.pulls.files_conflicted"}}
|
||||
{{range .ConflictedFiles}}
|
||||
<div>{{.}}</div>
|
||||
|
@ -95,38 +95,38 @@
|
|||
</div>
|
||||
{{else if .IsPullRequestBroken}}
|
||||
<div class="item text red">
|
||||
<i class="icon icon-octicon"><span class="octicon octicon-x"></span></i>
|
||||
<i class="icon icon-octicon">{{svg "octicon-x" 16}}</i>
|
||||
{{$.i18n.Tr "repo.pulls.data_broken"}}
|
||||
</div>
|
||||
{{else if .IsPullWorkInProgress}}
|
||||
<div class="item text grey">
|
||||
<i class="icon icon-octicon"><span class="octicon octicon-x"></span></i>
|
||||
<i class="icon icon-octicon">{{svg "octicon-x" 16}}</i>
|
||||
{{$.i18n.Tr "repo.pulls.cannot_merge_work_in_progress" .WorkInProgressPrefix | Str2html}}
|
||||
</div>
|
||||
{{else if .Issue.PullRequest.IsChecking}}
|
||||
<div class="item text yellow">
|
||||
<i class="icon icon-octicon"><span class="octicon octicon-sync"></span></i>
|
||||
<i class="icon icon-octicon">{{svg "octicon-sync" 16}}</i>
|
||||
{{$.i18n.Tr "repo.pulls.is_checking"}}
|
||||
</div>
|
||||
{{else if .Issue.PullRequest.CanAutoMerge}}
|
||||
{{if .IsBlockedByApprovals}}
|
||||
<div class="item text red">
|
||||
<i class="icon icon-octicon"><span class="octicon octicon-x"></span></i>
|
||||
<i class="icon icon-octicon">{{svg "octicon-x" 16}}</i>
|
||||
{{$.i18n.Tr "repo.pulls.blocked_by_approvals" .GrantedApprovals .Issue.PullRequest.ProtectedBranch.RequiredApprovals}}
|
||||
</div>
|
||||
{{else if .IsBlockedByRejection}}
|
||||
<div class="item text red">
|
||||
<i class="icon icon-octicon"><span class="octicon octicon-x"></span></i>
|
||||
<i class="icon icon-octicon">{{svg "octicon-x" 16}}</i>
|
||||
{{$.i18n.Tr "repo.pulls.blocked_by_rejection"}}
|
||||
</div>
|
||||
{{else if and .EnableStatusCheck (or .RequiredStatusCheckState.IsError .RequiredStatusCheckState.IsFailure)}}
|
||||
<div class="item text red">
|
||||
<i class="icon icon-octicon"><span class="octicon octicon-x"></span></i>
|
||||
<i class="icon icon-octicon">{{svg "octicon-x" 16}}</i>
|
||||
{{$.i18n.Tr "repo.pulls.required_status_check_failed"}}
|
||||
</div>
|
||||
{{else if and .RequireSigned (not .WillSign)}}
|
||||
<div class="item text red">
|
||||
<i class="icon icon-octicon"><span class="octicon octicon-x"></span></i>
|
||||
<i class="icon icon-octicon">{{svg "octicon-x" 16}}</i>
|
||||
{{$.i18n.Tr "repo.pulls.require_signed_wont_sign"}}
|
||||
</div>
|
||||
<div class="item text yellow">
|
||||
|
@ -138,12 +138,12 @@
|
|||
{{if and (or $.IsRepoAdmin (not $notAllOverridableChecksOk)) (or (not .RequireSigned) .WillSign)}}
|
||||
{{if $notAllOverridableChecksOk}}
|
||||
<div class="item text yellow">
|
||||
<i class="icon icon-octicon"><span class="octicon octicon-primitive-dot"></span></i>
|
||||
<i class="icon icon-octicon">{{svg "octicon-primitive-dot" 16}}</i>
|
||||
{{$.i18n.Tr "repo.pulls.required_status_check_administrator"}}
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="item text green">
|
||||
<i class="icon icon-octicon"><span class="octicon octicon-check"></span></i>
|
||||
<i class="icon icon-octicon">{{svg "octicon-check" 16}}</i>
|
||||
{{$.i18n.Tr "repo.pulls.can_auto_merge_desc"}}
|
||||
</div>
|
||||
{{end}}
|
||||
|
@ -162,7 +162,7 @@
|
|||
<div class="ui very compact branch-update grid">
|
||||
<div class="row">
|
||||
<div class="item text gray eleven wide left floated column">
|
||||
<i class="icon icon-octicon"><span class="octicon octicon-alert"></span></i>
|
||||
<i class="icon icon-octicon">{{svg "octicon-alert" 16}}</i>
|
||||
{{$.i18n.Tr "repo.pulls.outdated_with_base_branch"}}
|
||||
</div>
|
||||
{{if .UpdateAllowed}}
|
||||
|
@ -256,7 +256,7 @@
|
|||
{{end}}
|
||||
<div class="ui {{if $notAllOverridableChecksOk}}red{{else}}green{{end}} buttons merge-button">
|
||||
<button class="ui button" data-do="{{.MergeStyle}}">
|
||||
<span class="octicon octicon-git-merge"></span>
|
||||
{{svg "octicon-git-merge" 16}}
|
||||
<span class="button-text">
|
||||
{{if eq .MergeStyle "merge"}}
|
||||
{{$.i18n.Tr "repo.pulls.merge_pull_request"}}
|
||||
|
@ -292,17 +292,17 @@
|
|||
</div>
|
||||
{{else}}
|
||||
<div class="item text red">
|
||||
<span class="octicon octicon-x"></span>
|
||||
{{svg "octicon-x" 16}}
|
||||
{{$.i18n.Tr "repo.pulls.no_merge_desc"}}
|
||||
</div>
|
||||
<div class="item text grey">
|
||||
<span class="octicon octicon-info"></span>
|
||||
{{svg "octicon-info" 16}}
|
||||
{{$.i18n.Tr "repo.pulls.no_merge_helper"}}
|
||||
</div>
|
||||
{{end}}
|
||||
{{else}}
|
||||
<div class="item text grey">
|
||||
<span class="octicon octicon-info"></span>
|
||||
{{svg "octicon-info" 16}}
|
||||
{{$.i18n.Tr "repo.pulls.no_merge_access"}}
|
||||
</div>
|
||||
{{end}}
|
||||
|
@ -311,31 +311,31 @@
|
|||
{{/* Merge conflict without specific file. Suggest manual merge, only if all reviews and status checks OK. */}}
|
||||
{{if .IsBlockedByApprovals}}
|
||||
<div class="item text red">
|
||||
<span class="octicon octicon-x"></span>
|
||||
{{svg "octicon-x" 16}}
|
||||
{{$.i18n.Tr "repo.pulls.blocked_by_approvals" .GrantedApprovals .Issue.PullRequest.ProtectedBranch.RequiredApprovals}}
|
||||
</div>
|
||||
{{else if .IsBlockedByRejection}}
|
||||
<div class="item text red">
|
||||
<span class="octicon octicon-x"></span>
|
||||
{{svg "octicon-x" 16}}
|
||||
{{$.i18n.Tr "repo.pulls.blocked_by_rejection"}}
|
||||
</div>
|
||||
{{else if and .EnableStatusCheck (not .IsRequiredStatusCheckSuccess)}}
|
||||
<div class="item text red">
|
||||
<span class="octicon octicon-x"></span>
|
||||
{{svg "octicon-x" 16}}
|
||||
{{$.i18n.Tr "repo.pulls.required_status_check_failed"}}
|
||||
</div>
|
||||
{{else if and .RequireSigned (not .WillSign)}}
|
||||
<div class="item text red">
|
||||
<span class="octicon octicon-x"></span>
|
||||
{{svg "octicon-x" 16}}
|
||||
{{$.i18n.Tr "repo.pulls.require_signed_wont_sign"}}
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="item text red">
|
||||
<span class="octicon octicon-x"></span>
|
||||
{{svg "octicon-x" 16}}
|
||||
{{$.i18n.Tr "repo.pulls.cannot_auto_merge_desc"}}
|
||||
</div>
|
||||
<div class="item text grey">
|
||||
<span class="octicon octicon-info"></span>
|
||||
{{svg "octicon-info" 16}}
|
||||
{{$.i18n.Tr "repo.pulls.cannot_auto_merge_helper"}}
|
||||
</div>
|
||||
{{end}}
|
||||
|
|
|
@ -5,12 +5,12 @@
|
|||
<div class="ui {{if or (not .IsIssueWriter) .Repository.IsArchived}}disabled{{end}} floating jump select-label dropdown">
|
||||
<span class="text">
|
||||
<strong>{{.i18n.Tr "repo.issues.new.labels"}}</strong>
|
||||
<span class="octicon octicon-gear"></span>
|
||||
{{svg "octicon-gear" 16}}
|
||||
</span>
|
||||
<div class="filter menu labels" data-action="update" data-issue-id="{{$.Issue.ID}}" data-update-url="{{$.RepoLink}}/issues/labels">
|
||||
<div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_labels"}}</div>
|
||||
{{range .Labels}}
|
||||
<a class="{{if .IsChecked}}checked{{end}} item has-emoji" href="#" data-id="{{.ID}}" data-id-selector="#label_{{.ID}}"><span class="octicon {{if .IsChecked}}octicon-check{{end}}"></span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}
|
||||
<a class="{{if .IsChecked}}checked{{end}} item has-emoji" href="#" data-id="{{.ID}}" data-id-selector="#label_{{.ID}}"><span class="octicon-check {{if not .IsChecked}}invisible{{end}}">{{svg "octicon-check" 16}}</span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}
|
||||
{{if .Description }}<br><small class="desc">{{.Description}}</small>{{end}}</a>
|
||||
{{end}}
|
||||
</div>
|
||||
|
@ -30,14 +30,14 @@
|
|||
<div class="ui {{if or (not .IsIssueWriter) .Repository.IsArchived}}disabled{{end}} floating jump select-milestone dropdown">
|
||||
<span class="text">
|
||||
<strong>{{.i18n.Tr "repo.issues.new.milestone"}}</strong>
|
||||
<span class="octicon octicon-gear"></span>
|
||||
{{svg "octicon-gear" 16}}
|
||||
</span>
|
||||
<div class="menu" data-action="update" data-issue-id="{{$.Issue.ID}}" data-update-url="{{$.RepoLink}}/issues/milestone">
|
||||
<div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_milestone"}}</div>
|
||||
{{if .OpenMilestones}}
|
||||
<div class="divider"></div>
|
||||
<div class="header">
|
||||
<i class="octicon octicon-milestone"></i>
|
||||
{{svg "octicon-milestone" 16}}
|
||||
{{.i18n.Tr "repo.issues.new.open_milestone"}}
|
||||
</div>
|
||||
{{range .OpenMilestones}}
|
||||
|
@ -47,7 +47,7 @@
|
|||
{{if .ClosedMilestones}}
|
||||
<div class="divider"></div>
|
||||
<div class="header">
|
||||
<i class="octicon octicon-milestone"></i>
|
||||
{{svg "octicon-milestone" 16}}
|
||||
{{.i18n.Tr "repo.issues.new.closed_milestone"}}
|
||||
</div>
|
||||
{{range .ClosedMilestones}}
|
||||
|
@ -71,7 +71,7 @@
|
|||
<div class="ui {{if or (not .IsIssueWriter) .Repository.IsArchived}}disabled{{end}} floating jump select-assignees-modify dropdown">
|
||||
<span class="text">
|
||||
<strong>{{.i18n.Tr "repo.issues.new.assignees"}}</strong>
|
||||
<span class="octicon octicon-gear"></span>
|
||||
{{svg "octicon-gear" 16}}
|
||||
</span>
|
||||
<div class="filter menu" data-action="" data-issue-id="{{$.Issue.ID}}" data-update-url="{{$.RepoLink}}/issues/assignee">
|
||||
<div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_assignees"}}</div>
|
||||
|
@ -83,11 +83,13 @@
|
|||
checked
|
||||
{{end}}
|
||||
{{end}}" href="#" data-id="{{.ID}}" data-id-selector="#assignee_{{.ID}}">
|
||||
<span class="octicon{{range $.Issue.Assignees}}
|
||||
{{if eq .ID $AssigneeID}}
|
||||
octicon-check
|
||||
{{$checked := false}}
|
||||
{{range $.Issue.Assignees}}
|
||||
{{if eq .ID $AssigneeID}}
|
||||
{{$checked = true}}
|
||||
{{end}}
|
||||
{{end}}
|
||||
{{end}}"></span>
|
||||
<span class="octicon-check {{if not $checked}}invisible{{end}}">{{svg "octicon-check" 16}}</span>
|
||||
<span class="text">
|
||||
<img class="ui avatar image" src="{{.RelAvatarLink}}"> {{.GetDisplayName}}
|
||||
</span>
|
||||
|
@ -130,10 +132,10 @@
|
|||
{{$.CsrfTokenHtml}}
|
||||
<button class="fluid ui button">
|
||||
{{if $.IssueWatch.IsWatching}}
|
||||
<i class="octicon octicon-mute"></i>
|
||||
{{svg "octicon-mute" 16}}
|
||||
{{.i18n.Tr "repo.issues.unsubscribe"}}
|
||||
{{else}}
|
||||
<i class="octicon octicon-unmute"></i>
|
||||
{{svg "octicon-unmute" 16}}
|
||||
{{.i18n.Tr "repo.issues.subscribe"}}
|
||||
{{end}}
|
||||
</button>
|
||||
|
@ -218,7 +220,7 @@
|
|||
</div>
|
||||
{{if ne .Issue.DeadlineUnix 0}}
|
||||
<p>
|
||||
<span class="octicon octicon-calendar"></span>
|
||||
{{svg "octicon-calendar" 16}}
|
||||
{{.Issue.DeadlineUnix.FormatShort}}
|
||||
{{if .Issue.IsOverdue}}
|
||||
<span style="color: red;">{{.i18n.Tr "repo.issues.due_date_overdue"}}</span>
|
||||
|
@ -344,10 +346,10 @@
|
|||
<div>
|
||||
<button class="fluid ui show-modal button {{if .Issue.IsLocked }} negative {{ end }}" data-modal="#lock">
|
||||
{{if .Issue.IsLocked}}
|
||||
<i class="octicon octicon-key"></i>
|
||||
{{svg "octicon-key" 16}}
|
||||
{{.i18n.Tr "repo.issues.unlock"}}
|
||||
{{else}}
|
||||
<i class="octicon octicon-lock"></i>
|
||||
{{svg "octicon-lock" 16}}
|
||||
{{.i18n.Tr "repo.issues.lock"}}
|
||||
{{end}}
|
||||
</button>
|
||||
|
|
|
@ -17,13 +17,13 @@
|
|||
{{end}}
|
||||
</div>
|
||||
{{if .HasMerged}}
|
||||
<div class="ui purple large label"><i class="octicon octicon-git-pull-request"></i> {{.i18n.Tr "repo.pulls.merged"}}</div>
|
||||
<div class="ui purple large label">{{svg "octicon-gt-pull-request" 16}} {{.i18n.Tr "repo.pulls.merged"}}</div>
|
||||
{{else if .Issue.IsClosed}}
|
||||
<div class="ui red large label"><i class="octicon octicon-issue-closed"></i> {{.i18n.Tr "repo.issues.closed_title"}}</div>
|
||||
<div class="ui red large label">{{svg "octicon-issue-closed" 16}} {{.i18n.Tr "repo.issues.closed_title"}}</div>
|
||||
{{else if .Issue.IsPull}}
|
||||
<div class="ui green large label"><i class="octicon octicon-git-pull-request"></i> {{.i18n.Tr "repo.issues.open_title"}}</div>
|
||||
<div class="ui green large label">{{svg "octicon-git-pull-request" 16}} {{.i18n.Tr "repo.issues.open_title"}}</div>
|
||||
{{else}}
|
||||
<div class="ui green large label"><i class="octicon octicon-issue-opened"></i> {{.i18n.Tr "repo.issues.open_title"}}</div>
|
||||
<div class="ui green large label">{{svg "octicon-issue-opened" 16}} {{.i18n.Tr "repo.issues.open_title"}}</div>
|
||||
{{end}}
|
||||
|
||||
{{if .Issue.IsPull}}
|
||||
|
@ -51,7 +51,7 @@
|
|||
<span class="text">{{.i18n.Tr "repo.pulls.compare_compare"}}: {{$.HeadTarget}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<i class="octicon octicon-arrow-right"></i>
|
||||
{{svg "octicon-arrow-right" 16}}
|
||||
<div class="ui floating filter dropdown" data-no-results="{{.i18n.Tr "repo.pulls.no_results"}}">
|
||||
<div class="ui basic small button">
|
||||
<span class="text" id="pull-target-branch" data-basename="{{$.BaseName}}" data-branch="{{$.BaseBranch}}">{{.i18n.Tr "repo.pulls.compare_base"}}: {{$.BaseName}}:{{$.BaseBranch}}</span>
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
<div class="ui top attached pull tabular stackable menu">
|
||||
<a class="item {{if .PageIsPullConversation}}active{{end}}" href="{{.RepoLink}}/pulls/{{.Issue.Index}}">
|
||||
<span class="octicon octicon-comment-discussion"></span>
|
||||
{{svg "octicon-comment-discussion" 16}}
|
||||
{{$.i18n.Tr "repo.pulls.tab_conversation"}}
|
||||
<span class="ui {{if not .Issue.NumComments}}gray{{else}}blue{{end}} small label">{{.Issue.NumComments}}</span>
|
||||
</a>
|
||||
<a class="item {{if .PageIsPullCommits}}active{{end}}" {{if .NumCommits}}href="{{.RepoLink}}/pulls/{{.Issue.Index}}/commits"{{end}}>
|
||||
<span class="octicon octicon-git-commit"></span>
|
||||
{{svg "octicon-git-commit" 16}}
|
||||
{{$.i18n.Tr "repo.pulls.tab_commits"}}
|
||||
<span class="ui {{if not .NumCommits}}gray{{else}}blue{{end}} small label">{{if .NumCommits}}{{.NumCommits}}{{else}}N/A{{end}}</span>
|
||||
</a>
|
||||
<a class="item {{if .PageIsPullFiles}}active{{end}}" {{if .NumFiles}}href="{{.RepoLink}}/pulls/{{.Issue.Index}}/files"{{end}}>
|
||||
<span class="octicon octicon-diff"></span>
|
||||
{{svg "octicon-diff" 16}}
|
||||
{{$.i18n.Tr "repo.pulls.tab_files"}}
|
||||
<span class="ui {{if not .NumFiles}}gray{{else}}blue{{end}} small label">{{if .NumFiles}}{{.NumFiles}}{{else}}N/A{{end}}</span>
|
||||
</a>
|
||||
|
|
|
@ -43,8 +43,8 @@
|
|||
<div class="download">
|
||||
{{if $.Permission.CanRead $.UnitTypeCode}}
|
||||
<a href="{{$.RepoLink}}/src/commit/{{.Sha1}}" rel="nofollow"><i class="code icon"></i> {{ShortSha .Sha1}}</a>
|
||||
<a href="{{$.RepoLink}}/archive/{{.TagName | EscapePound}}.zip" rel="nofollow"><i class="octicon octicon-file-zip"></i> ZIP</a>
|
||||
<a href="{{$.RepoLink}}/archive/{{.TagName | EscapePound}}.tar.gz"><i class="octicon octicon-file-zip"></i> TAR.GZ</a>
|
||||
<a href="{{$.RepoLink}}/archive/{{.TagName | EscapePound}}.zip" rel="nofollow">{{svg "octicon-file-zip" 16}} ZIP</a>
|
||||
<a href="{{$.RepoLink}}/archive/{{.TagName | EscapePound}}.tar.gz">{{svg "octicon-file-zip" 16}} TAR.GZ</a>
|
||||
{{end}}
|
||||
</div>
|
||||
{{else}}
|
||||
|
@ -75,18 +75,18 @@
|
|||
<ul class="list">
|
||||
{{if $.Permission.CanRead $.UnitTypeCode}}
|
||||
<li>
|
||||
<a href="{{$.RepoLink}}/archive/{{.TagName | EscapePound}}.zip" rel="nofollow"><strong><i class="octicon octicon-file-zip"></i> {{$.i18n.Tr "repo.release.source_code"}} (ZIP)</strong></a>
|
||||
<a href="{{$.RepoLink}}/archive/{{.TagName | EscapePound}}.zip" rel="nofollow"><strong>{{svg "octicon-file-zip" 16}} {{$.i18n.Tr "repo.release.source_code"}} (ZIP)</strong></a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{$.RepoLink}}/archive/{{.TagName | EscapePound}}.tar.gz"><strong><i class="octicon octicon-file-zip"></i> {{$.i18n.Tr "repo.release.source_code"}} (TAR.GZ)</strong></a>
|
||||
<a href="{{$.RepoLink}}/archive/{{.TagName | EscapePound}}.tar.gz"><strong>{{svg "octicon-file-zip" 16}} {{$.i18n.Tr "repo.release.source_code"}} (TAR.GZ)</strong></a>
|
||||
</li>
|
||||
{{end}}
|
||||
{{if .Attachments}}
|
||||
{{range .Attachments}}
|
||||
<li>
|
||||
<span class="ui text right" data-tooltip="{{$.i18n.Tr "repo.release.download_count" (.DownloadCount | PrettyNumber)}}" data-position="bottom right"><i class="ui octicon octicon-info"></i></span>
|
||||
<span class="ui text right" data-tooltip="{{$.i18n.Tr "repo.release.download_count" (.DownloadCount | PrettyNumber)}}" data-position="bottom right">{{svg "octicon-info" 16}}</span>
|
||||
<a target="_blank" rel="noopener noreferrer" href="{{.DownloadURL}}">
|
||||
<strong><span class="ui image octicon octicon-package" title='{{.Name}}'></span> {{.Name}}</strong>
|
||||
<strong><span class="ui image" title='{{.Name}}'>{{svg "octicon-package" 16}}</span> {{.Name}}</strong>
|
||||
<span class="ui text grey right">{{.Size | FileSize}}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
<span class="at">@</span>
|
||||
<div class="ui selection dropdown">
|
||||
<input type="hidden" name="tag_target" value="{{.tag_target}}"/>
|
||||
<i class="octicon octicon-git-branch"></i>
|
||||
{{svg "octicon-git-branch" 16}}
|
||||
<div class="text">
|
||||
{{.i18n.Tr "repo.release.target"}} :
|
||||
<strong id="repo-branch-current">{{.Repository.DefaultBranch}}</strong>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
</a>
|
||||
</div>
|
||||
<div class="ui eight wide column">
|
||||
<span class="octicon octicon-shield"></span>
|
||||
{{svg "octicon-shield-lock" 16}}
|
||||
<div class="ui inline dropdown">
|
||||
<div class="text">{{if eq .Collaboration.Mode 1}}{{$.i18n.Tr "repo.settings.collaboration.read"}}{{else if eq .Collaboration.Mode 2}}{{$.i18n.Tr "repo.settings.collaboration.write"}}{{else if eq .Collaboration.Mode 3}}{{$.i18n.Tr "repo.settings.collaboration.admin"}}{{else}}{{$.i18n.Tr "repo.settings.collaboration.undefined"}}{{end}}</div>
|
||||
<i class="dropdown icon"></i>
|
||||
|
@ -67,7 +67,7 @@
|
|||
</a>
|
||||
</div>
|
||||
<div class="ui eight wide column poping up" data-content="Team's permission is set on the team setting page and can't be changed per repository">
|
||||
<span class="octicon octicon-shield"></span>
|
||||
{{svg "octicon-shield-lock" 16}}
|
||||
<div class="ui inline dropdown">
|
||||
<div class="text">{{if eq .Authorize 1}}{{$.i18n.Tr "repo.settings.collaboration.read"}}{{else if eq .Authorize 2}}{{$.i18n.Tr "repo.settings.collaboration.write"}}{{else if eq .Authorize 3}}{{$.i18n.Tr "repo.settings.collaboration.admin"}}{{else if eq .Authorize 4}}{{$.i18n.Tr "repo.settings.collaboration.owner"}}{{else}}{{$.i18n.Tr "repo.settings.collaboration.undefined"}}{{end}}</div>
|
||||
</div>
|
||||
|
|
|
@ -24,14 +24,14 @@
|
|||
{{$.i18n.Tr "settings.delete_key"}}
|
||||
</button>
|
||||
</div>
|
||||
<i class="mega-octicon octicon-key {{if .HasRecentActivity}}green{{end}}" {{if .HasRecentActivity}}data-content="{{$.i18n.Tr "settings.key_state_desc"}}" data-variation="inverted"{{end}}></i>
|
||||
<i class="{{if .HasRecentActivity}}green{{end}}" {{if .HasRecentActivity}}data-content="{{$.i18n.Tr "settings.key_state_desc"}}" data-variation="inverted"{{end}}>{{svg "octicon-key" 32}}</i>
|
||||
<div class="content">
|
||||
<strong>{{.Name}}</strong>
|
||||
<div class="print meta">
|
||||
{{.Fingerprint}}
|
||||
</div>
|
||||
<div class="activity meta">
|
||||
<i>{{$.i18n.Tr "settings.add_on"}} <span>{{.CreatedUnix.FormatShort}}</span> — <i class="octicon octicon-info"></i> {{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} <span {{if .HasRecentActivity}}class="green"{{end}}>{{.UpdatedUnix.FormatShort}}</span>{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}} - <span>{{$.i18n.Tr "settings.can_read_info"}}{{if not .IsReadOnly}} / {{$.i18n.Tr "settings.can_write_info"}} {{end}}</span></i>
|
||||
<i>{{$.i18n.Tr "settings.add_on"}} <span>{{.CreatedUnix.FormatShort}}</span> — {{svg "octicon-info" 16}} {{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} <span {{if .HasRecentActivity}}class="green"{{end}}>{{.UpdatedUnix.FormatShort}}</span>{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}} - <span>{{$.i18n.Tr "settings.can_read_info"}}{{if not .IsReadOnly}} / {{$.i18n.Tr "settings.can_write_info"}} {{end}}</span></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
</div>
|
||||
{{range .Hooks}}
|
||||
<div class="item">
|
||||
<span class="text {{if .IsActive}}green{{else}}grey{{end}}"><i class="octicon octicon-primitive-dot"></i></span>
|
||||
<span class="text {{if .IsActive}}green{{else}}grey{{end}}">{{svg "octicon-primitive-dot" 16}}</span>
|
||||
<span>{{.Name}}</span>
|
||||
<a class="text blue ui right" href="{{$.RepoLink}}/settings/hooks/git/{{.Name}}"><i class="fa fa-pencil"></i></a>
|
||||
</div>
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
<h4 class="ui top attached header">
|
||||
{{.i18n.Tr "repo.settings.lfs_filelist"}} ({{.i18n.Tr "admin.total" .Total}})
|
||||
<div class="ui right">
|
||||
<a class="ui black tiny show-panel button" href="{{.Link}}/locks"><i class="octicon octicon-lock octicon-tiny"></i>{{.i18n.Tr "repo.settings.lfs_locks"}}</a>
|
||||
<a class="ui blue tiny show-panel button" href="{{.Link}}/pointers"><i class="octicon octicon-search octicon-tiny"></i> {{.i18n.Tr "repo.settings.lfs_findpointerfiles"}}</a>
|
||||
<a class="ui black tiny show-panel button" href="{{.Link}}/locks"><span class="octicon-tiny">{{svg "octicon-lock" 16}}</span>{{.i18n.Tr "repo.settings.lfs_locks"}}</a>
|
||||
<a class="ui blue tiny show-panel button" href="{{.Link}}/pointers"><span class="octicon-tiny">{{svg "octicon-search" 16}}</span> {{.i18n.Tr "repo.settings.lfs_findpointerfiles"}}</a>
|
||||
</div>
|
||||
</h4>
|
||||
<table id="lfs-files-table" class="ui attached segment single line table">
|
||||
|
@ -27,7 +27,7 @@
|
|||
<td class="right aligned">
|
||||
<a class="ui blue show-panel button" href="{{$.Link}}/find?oid={{.Oid}}&size={{.Size}}">{{$.i18n.Tr "repo.settings.lfs_findcommits"}}</a>
|
||||
<button class="ui basic show-modal icon button" data-modal="#delete-{{.Oid}}">
|
||||
<i class="octicon octicon-trashcan btn-octicon btn-octicon-danger poping up" data-content="{{$.i18n.Tr "repo.editor.delete_this_file"}}" data-position="bottom center" data-variation="tiny inverted"></i>
|
||||
<span class="btn-octicon btn-octicon-danger poping up" data-content="{{$.i18n.Tr "repo.editor.delete_this_file"}}" data-position="bottom center" data-variation="tiny inverted">{{svg "octicon-trashcan" 16}}</span>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
{{range .Results}}
|
||||
<tr>
|
||||
<td>
|
||||
<span class="octicon octicon-file-text"></span>
|
||||
{{svg "octicon-file" 16}}
|
||||
<a href="{{EscapePound $.RepoLink}}/src/commit/{{.SHA}}/{{EscapePound .Name}}" title="{{.Name}}">{{.Name}}</a>
|
||||
</td>
|
||||
<td class="message has-emoji">
|
||||
|
@ -24,7 +24,7 @@
|
|||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="text grey"><i class="octicon octicon-git-branch"></i>{{.BranchName}}</span>
|
||||
<span class="text grey">{{svg "octicon-git-branch" 16}}{{.BranchName}}</span>
|
||||
</td>
|
||||
<td>
|
||||
{{if .ParentHashes}}
|
||||
|
|
|
@ -23,14 +23,14 @@
|
|||
<tr>
|
||||
<td>
|
||||
{{if index $.Linkable $index}}
|
||||
<span class="octicon octicon-file-text"></span>
|
||||
{{svg "octicon-file" 16}}
|
||||
<a href="{{EscapePound $.RepoLink}}/src/branch/{{EscapePound $lock.Repo.DefaultBranch}}/{{EscapePound $lock.Path}}" title="{{$lock.Path}}">{{$lock.Path}}</a>
|
||||
{{else}}
|
||||
<span class="octicon octicon-diff"></span>
|
||||
{{svg "octicon-diff" 16}}
|
||||
<span class="poping up" title="{{$.i18n.Tr "repo.settings.lfs_lock_file_no_exist"}}">{{$lock.Path}}</span>
|
||||
{{end}}
|
||||
{{if not (index $.Lockables $index)}}
|
||||
<i class="octicon octicon-alert poping up" title="{{$.i18n.Tr "repo.settings.lfs_noattribute"}}"></i>
|
||||
<span class="poping up" title="{{$.i18n.Tr "repo.settings.lfs_noattribute"}}">{{svg "octicon-alert" 16}}</span>
|
||||
{{end}}
|
||||
</td>
|
||||
<td>
|
||||
|
@ -43,7 +43,7 @@
|
|||
<td class="right aligned">
|
||||
<form action="{{$.LFSFilesLink}}/locks/{{$lock.ID}}/unlock" method="POST">
|
||||
{{$.CsrfTokenHtml}}
|
||||
<button class="ui blue button"><i class="octicon octicon-lock btn-octicon"></i>{{$.i18n.Tr "repo.settings.lfs_force_unlock"}}</button>
|
||||
<button class="ui blue button"><span class="btn-octicon">{{svg "octicon-lock" 16}}</span>{{$.i18n.Tr "repo.settings.lfs_force_unlock"}}</button>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
<div class="menu">
|
||||
{{range .Teams}}
|
||||
<div class="item" data-value="{{.ID}}">
|
||||
<i class="octicon octicon-jersey"></i>
|
||||
{{svg "octicon-jersey" 16}}
|
||||
{{.Name}}
|
||||
</div>
|
||||
{{end}}
|
||||
|
@ -115,7 +115,7 @@
|
|||
<div class="menu">
|
||||
{{range .Teams}}
|
||||
<div class="item" data-value="{{.ID}}">
|
||||
<i class="octicon octicon-jersey"></i>
|
||||
{{svg "octicon-jersey" 16}}
|
||||
{{.Name}}
|
||||
</div>
|
||||
{{end}}
|
||||
|
@ -195,7 +195,7 @@
|
|||
<div class="menu">
|
||||
{{range .Teams}}
|
||||
<div class="item" data-value="{{.ID}}">
|
||||
<i class="octicon octicon-jersey"></i>
|
||||
{{svg "octicon-jersey" 16}}
|
||||
{{.Name}}
|
||||
</div>
|
||||
{{end}}
|
||||
|
|
|
@ -14,9 +14,9 @@
|
|||
<div class="item">
|
||||
<div class="meta">
|
||||
{{if .IsSucceed}}
|
||||
<span class="text green"><i class="octicon octicon-check"></i></span>
|
||||
<span class="text green">{{svg "octicon-check" 16}}</span>
|
||||
{{else}}
|
||||
<span class="text red"><i class="octicon octicon-alert"></i></span>
|
||||
<span class="text red">{{svg "octicon-alert" 16}}</span>
|
||||
{{end}}
|
||||
<a class="ui blue sha label toggle button" data-target="#info-{{.ID}}">{{.UUID}}</a>
|
||||
<div class="ui right">
|
||||
|
|
|
@ -38,11 +38,11 @@
|
|||
{{range .Webhooks}}
|
||||
<div class="item">
|
||||
{{if eq .LastStatus 1}}
|
||||
<span class="text green"><i class="octicon octicon-check"></i></span>
|
||||
<span class="text green">{{svg "octicon-check" 16}}</span>
|
||||
{{else if eq .LastStatus 2}}
|
||||
<span class="text red"><i class="octicon octicon-alert"></i></span>
|
||||
<span class="text red">{{svg "octicon-alert" 16}}</span>
|
||||
{{else}}
|
||||
<span class="text grey"><i class="octicon octicon-primitive-dot"></i></span>
|
||||
<span class="text grey">{{svg "octicon-primitive-dot" 16}}</span>
|
||||
{{end}}
|
||||
<a class="dont-break-out" href="{{$.BaseLink}}/{{.ID}}">{{.URL}}</a>
|
||||
<div class="ui right">
|
||||
|
|
|
@ -3,15 +3,15 @@
|
|||
<div class="ui two horizontal center link list">
|
||||
{{if and (.Permission.CanRead $.UnitTypeCode) (not .IsEmptyRepo)}}
|
||||
<div class="item{{if .PageIsCommits}} active{{end}}">
|
||||
<a class="ui" href="{{.RepoLink}}/commits{{if .IsViewBranch}}/branch{{else if .IsViewTag}}/tag{{else if .IsViewCommit}}/commit{{end}}/{{EscapePound .BranchName}}"><i class="octicon octicon-history"></i> <b>{{.CommitsCount}}</b> {{.i18n.Tr (TrN .i18n.Lang .CommitsCount "repo.commit" "repo.commits") }}</a>
|
||||
<a class="ui" href="{{.RepoLink}}/commits{{if .IsViewBranch}}/branch{{else if .IsViewTag}}/tag{{else if .IsViewCommit}}/commit{{end}}/{{EscapePound .BranchName}}">{{svg "octicon-history" 16}} <b>{{.CommitsCount}}</b> {{.i18n.Tr (TrN .i18n.Lang .CommitsCount "repo.commit" "repo.commits") }}</a>
|
||||
</div>
|
||||
{{end}}
|
||||
{{if and (.Permission.CanRead $.UnitTypeCode) (not .IsEmptyRepo) }}
|
||||
<div class="item{{if .PageIsBranches}} active{{end}}">
|
||||
<a class="ui" href="{{.RepoLink}}/branches/"><i class="octicon octicon-git-branch"></i> <b>{{.BranchesCount}}</b> {{.i18n.Tr (TrN .i18n.Lang .BranchesCount "repo.branch" "repo.branches") }}</a>
|
||||
<a class="ui" href="{{.RepoLink}}/branches/">{{svg "octicon-git-branch" 16}} <b>{{.BranchesCount}}</b> {{.i18n.Tr (TrN .i18n.Lang .BranchesCount "repo.branch" "repo.branches") }}</a>
|
||||
</div>
|
||||
<div class="item">
|
||||
<a class="ui" href="#"><i class="octicon octicon-database"></i> <b>{{SizeFmt .Repository.Size}}</b></a>
|
||||
<a class="ui" href="#">{{svg "octicon-database" 16}} <b>{{SizeFmt .Repository.Size}}</b></a>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
|
|
|
@ -14,11 +14,11 @@
|
|||
|
||||
<div class="meta">
|
||||
{{if .Website}}
|
||||
<span class="octicon octicon-link"></span> <a href="{{.Website}}" target="_blank" rel="noopener noreferrer">{{.Website}}</a>
|
||||
{{svg "octicon-link" 16}} <a href="{{.Website}}" target="_blank" rel="noopener noreferrer">{{.Website}}</a>
|
||||
{{else if .Location}}
|
||||
<span class="octicon octicon-location"></span> {{.Location}}
|
||||
{{svg "octicon-location" 16}} {{.Location}}
|
||||
{{else}}
|
||||
<span class="octicon octicon-clock"></span> {{$.i18n.Tr "user.join_on"}} {{.CreatedUnix.FormatShort}}
|
||||
{{svg "octicon-clock" 16}} {{$.i18n.Tr "user.join_on"}} {{.CreatedUnix.FormatShort}}
|
||||
{{end}}
|
||||
</div>
|
||||
</li>
|
||||
|
|
|
@ -40,14 +40,14 @@
|
|||
</div>
|
||||
{{if .Repository.CanEnableEditor}}
|
||||
{{if .CanEditFile}}
|
||||
<a href="{{.RepoLink}}/_edit/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}"><i class="octicon octicon-pencil btn-octicon poping up" data-content="{{.EditFileTooltip}}" data-position="bottom center" data-variation="tiny inverted"></i></a>
|
||||
<a href="{{.RepoLink}}/_edit/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}"><span class="btn-octicon poping up" data-content="{{.EditFileTooltip}}" data-position="bottom center" data-variation="tiny inverted">{{svg "octicon-pencil" 16}}</span></a>
|
||||
{{else}}
|
||||
<i class="octicon octicon-pencil btn-octicon poping up disabled" data-content="{{.EditFileTooltip}}" data-position="bottom center" data-variation="tiny inverted"></i>
|
||||
<span class="btn-octicon poping up disabled" data-content="{{.EditFileTooltip}}" data-position="bottom center" data-variation="tiny inverted">{{svg "octicon-pencil" 16}}</span>
|
||||
{{end}}
|
||||
{{if .CanDeleteFile}}
|
||||
<a href="{{.RepoLink}}/_delete/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}"><i class="octicon octicon-trashcan btn-octicon btn-octicon-danger poping up" data-content="{{.DeleteFileTooltip}}" data-position="bottom center" data-variation="tiny inverted"></i></a>
|
||||
<a href="{{.RepoLink}}/_delete/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}"><span class="btn-octicon btn-octicon-danger poping up" data-content="{{.DeleteFileTooltip}}" data-position="bottom center" data-variation="tiny inverted">{{svg "octicon-trashcan" 16}}</span></a>
|
||||
{{else}}
|
||||
<i class="octicon octicon-trashcan btn-octicon poping up disabled" data-content="{{.DeleteFileTooltip}}" data-position="bottom center" data-variation="tiny inverted"></i>
|
||||
<span class="btn-octicon poping up disabled" data-content="{{.DeleteFileTooltip}}" data-position="bottom center" data-variation="tiny inverted">{{svg "octicon-trashcan" 16}}</span>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</div>
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
<tbody>
|
||||
{{if .HasParentPath}}
|
||||
<tr class="has-parent">
|
||||
<td colspan="3"><i class="octicon octicon-mail-reply"></i><a href="{{EscapePound .BranchLink}}{{.ParentPath}}">..</a></td>
|
||||
<td colspan="3">{{svg "octicon-mail-reply" 16}}<a href="{{EscapePound .BranchLink}}{{.ParentPath}}">..</a></td>
|
||||
</tr>
|
||||
{{end}}
|
||||
{{range $item := .Files}}
|
||||
|
@ -52,7 +52,7 @@
|
|||
{{if $entry.IsSubModule}}
|
||||
<td>
|
||||
<span class="truncate">
|
||||
<span class="octicon octicon-file-submodule"></span>
|
||||
{{svg "octicon-file-submodule" 16}}
|
||||
{{$refURL := $commit.RefURL AppUrl $.BranchLink}}
|
||||
{{if $refURL}}
|
||||
<a href="{{$refURL}}">{{$entry.Name}}</a> @ <a href="{{$refURL}}/commit/{{$commit.RefID}}">{{ShortSha $commit.RefID}}</a>
|
||||
|
@ -67,7 +67,7 @@
|
|||
{{if $entry.IsDir}}
|
||||
{{$subJumpablePathName := $entry.GetSubJumpablePathName}}
|
||||
{{$subJumpablePath := SubJumpablePath $subJumpablePathName}}
|
||||
<span class="octicon octicon-file-directory"></span>
|
||||
{{svg "octicon-file-directory" 16}}
|
||||
<a href="{{EscapePound $.TreeLink}}/{{EscapePound $subJumpablePathName}}" title="{{$subJumpablePathName}}">
|
||||
{{if eq (len $subJumpablePath) 2}}
|
||||
<span class="jumpable-path">{{index $subJumpablePath 0}}</span>{{index $subJumpablePath 1}}
|
||||
|
@ -76,7 +76,7 @@
|
|||
{{end}}
|
||||
</a>
|
||||
{{else}}
|
||||
<span class="octicon octicon-{{EntryIcon $entry}}"></span>
|
||||
{{svg (printf "octicon-%s" (EntryIcon $entry)) 16}}
|
||||
<a href="{{EscapePound $.TreeLink}}/{{EscapePound $entry.Name}}" title="{{$entry.Name}}">{{$entry.Name}}</a>
|
||||
{{end}}
|
||||
</span>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
{{range .Pages}}
|
||||
<tr>
|
||||
<td>
|
||||
<i class="octicon octicon-file-text"></i>
|
||||
{{svg "octicon-file" 16}}
|
||||
<a href="{{$.RepoLink}}/wiki/{{.SubURL}}">{{.Name}}</a>
|
||||
</td>
|
||||
{{$timeSince := TimeSinceUnix .UpdatedUnix $.Lang}}
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{{end}}
|
||||
{{if or ((not $.DisableHTTP) (and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH)))}}
|
||||
<button class="ui basic icon button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url">
|
||||
<i class="octicon octicon-clippy"></i>
|
||||
{{svg "octicon-clippy" 16}}
|
||||
</button>
|
||||
{{end}}
|
||||
</div>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
{{template "repo/header" .}}
|
||||
<div class="ui container">
|
||||
<div class="ui center segment">
|
||||
<span class="mega-octicon octicon-book"></span>
|
||||
{{svg "octicon-book" 32}}
|
||||
<h2>{{.i18n.Tr "repo.wiki.welcome"}}</h2>
|
||||
<p>{{.i18n.Tr "repo.wiki.welcome_desc"}}</p>
|
||||
{{if and .CanWriteWiki (not .Repository.IsMirror)}}
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
{{end}}
|
||||
{{if or ((not $.DisableHTTP) (and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH)))}}
|
||||
<button class="ui basic icon button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url">
|
||||
<i class="octicon octicon-clippy"></i>
|
||||
{{svg "octicon-clippy" 16}}
|
||||
</button>
|
||||
{{end}}
|
||||
</div>
|
||||
|
|
|
@ -85,11 +85,11 @@
|
|||
<ul class="repo-owner-name-list">
|
||||
<li v-for="repo in repos" :class="{'private': repo.private}" v-show="showRepo(repo, reposFilter)">
|
||||
<a :href="suburl + '/' + repo.full_name">
|
||||
<i :class="repoClass(repo)"></i>
|
||||
<svg :class="'svg ' + repoClass(repo)" width="16" height="16" aria-hidden="true"><use :xlink:href="staticPrefix + '/img/svg/icons.svg#' + repoClass(repo)" /></svg>
|
||||
<strong class="text truncate item-name">${repo.full_name}</strong>
|
||||
<i v-if="repo.archived" class="archive icon archived-icon"></i>
|
||||
<span class="ui right text light grey">
|
||||
${repo.stars_count} <i class="octicon octicon-star rear"></i>
|
||||
${repo.stars_count} <span class="rear">{{svg "octicon-star" 16}}</span>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
|
@ -113,10 +113,10 @@
|
|||
<ul class="repo-owner-name-list">
|
||||
<li v-for="org in organizations">
|
||||
<a :href="suburl + '/' + org.name">
|
||||
<i class="octicon octicon-organization"></i>
|
||||
{{svg "octicon-organization" 16}}
|
||||
<strong class="text truncate item-name">${org.name}</strong>
|
||||
<span class="ui right text light grey">
|
||||
${org.num_repos} <i class="octicon octicon-repo rear"></i>
|
||||
${org.num_repos} <span class="rear">{{svg "octicon-repo" 16}}</span>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
|
|
|
@ -101,7 +101,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="ui two wide right aligned column">
|
||||
<i class="text grey mega-octicon octicon-{{ActionIcon .GetOpType}}"></i>
|
||||
<span class="text grey">{{svg (printf "octicon-%s" (ActionIcon .GetOpType)) 32}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui divider"></div>
|
||||
|
|
|
@ -54,11 +54,11 @@
|
|||
<div class="twelve wide column content">
|
||||
<div class="ui tiny basic status buttons">
|
||||
<a class="ui {{if not .IsShowClosed}}green active{{end}} basic button" href="{{.Link}}?type={{$.ViewType}}&repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort={{$.SortType}}&state=open">
|
||||
<i class="octicon octicon-issue-opened"></i>
|
||||
{{svg "octicon-issue-opened" 16}}
|
||||
{{.i18n.Tr "repo.issues.open_tab" .IssueStats.OpenCount}}
|
||||
</a>
|
||||
<a class="ui {{if .IsShowClosed}}red active{{end}} basic button" href="{{.Link}}?type={{$.ViewType}}&repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort={{$.SortType}}&state=closed">
|
||||
<i class="octicon octicon-issue-closed"></i>
|
||||
{{svg "octicon-issue-closed" 16}}
|
||||
{{.i18n.Tr "repo.issues.close_tab" .IssueStats.ClosedCount}}
|
||||
</a>
|
||||
</div>
|
||||
|
@ -110,10 +110,10 @@
|
|||
{{end}}
|
||||
|
||||
{{if .NumComments}}
|
||||
<span class="comment ui right"><i class="octicon octicon-comment"></i> {{.NumComments}}</span>
|
||||
<span class="comment ui right">{{svg "octicon-comment" 16}} {{.NumComments}}</span>
|
||||
{{end}}
|
||||
{{if .TotalTrackedTime}}
|
||||
<span class="comment ui right"><i class="octicon octicon-clock"></i> {{.TotalTrackedTime | Sec2Time}}</span>
|
||||
<span class="comment ui right">{{svg "octicon-clock" 16}} {{.TotalTrackedTime | Sec2Time}}</span>
|
||||
{{end}}
|
||||
|
||||
<p class="desc">
|
||||
|
@ -126,12 +126,12 @@
|
|||
{{end}}
|
||||
{{if .Milestone}}
|
||||
<a class="milestone" href="{{AppSubUrl}}/{{.Repo.Owner.Name}}/{{.Repo.Name}}{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{.Milestone.ID}}&assignee={{$.AssigneeID}}">
|
||||
<span class="octicon octicon-milestone"></span> {{.Milestone.Name}}
|
||||
{{svg "octicon-milestone" 16}} {{.Milestone.Name}}
|
||||
</a>
|
||||
{{end}}
|
||||
{{if .Ref}}
|
||||
<a class="ref" href="{{AppSubUrl}}/{{.Repo.Owner.Name}}/{{.Repo.Name}}/src/branch/{{.Ref}}">
|
||||
<span class="octicon octicon-git-branch"></span> {{.Ref}}
|
||||
{{svg "octicon-git-branch" 16}} {{.Ref}}
|
||||
</a>
|
||||
{{end}}
|
||||
{{range .Assignees}}
|
||||
|
@ -143,17 +143,17 @@
|
|||
{{if gt $tasks 0}}
|
||||
{{$tasksDone := .GetTasksDone}}
|
||||
<span class="checklist">
|
||||
<span class="octicon octicon-checklist"></span> {{$tasksDone}} / {{$tasks}} <span class="progress-bar"><span class="progress" style="width:calc(100% * {{$tasksDone}} / {{$tasks}});"></span></span>
|
||||
{{svg "octicon-checklist" 16}} {{$tasksDone}} / {{$tasks}} <span class="progress-bar"><span class="progress" style="width:calc(100% * {{$tasksDone}} / {{$tasks}});"></span></span>
|
||||
</span>
|
||||
{{end}}
|
||||
{{if ne .DeadlineUnix 0}}
|
||||
<span class="due-date poping up" data-content="{{$.i18n.Tr "repo.issues.due_date"}}" data-variation="tiny inverted" data-position="right center">
|
||||
<span class="octicon octicon-calendar"></span><span{{if .IsOverdue}} class="overdue"{{end}}>{{.DeadlineUnix.FormatShort}}</span>
|
||||
{{svg "octicon-calendar" 16}}<span{{if .IsOverdue}} class="overdue"{{end}}>{{.DeadlineUnix.FormatShort}}</span>
|
||||
</span>
|
||||
{{end}}
|
||||
{{if .IsPull}}
|
||||
{{if and (not .PullRequest.HasMerged) ((len .PullRequest.ConflictedFiles) gt 0)}}
|
||||
<span class="conflicting"><i class="octicon octicon-mirror"></i> {{$.i18n.Tr (TrN $.i18n.Lang (len .PullRequest.ConflictedFiles) "repo.pulls.num_conflicting_files_1" "repo.pulls.num_conflicting_files_n") (len .PullRequest.ConflictedFiles)}}</span>
|
||||
<span class="conflicting">{{svg "octicon-mirror" 16}} {{$.i18n.Tr (TrN $.i18n.Lang (len .PullRequest.ConflictedFiles) "repo.pulls.num_conflicting_files_1" "repo.pulls.num_conflicting_files_n") (len .PullRequest.ConflictedFiles)}}</span>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</p>
|
||||
|
|
|
@ -36,11 +36,11 @@
|
|||
<div class="twelve wide column content">
|
||||
<div class="ui tiny basic status buttons">
|
||||
<a class="ui {{if not .IsShowClosed}}green active{{end}} basic button" href="{{.Link}}?repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort={{$.SortType}}&state=open">
|
||||
<i class="octicon octicon-issue-opened"></i>
|
||||
{{svg "octicon-issue-opened" 16}}
|
||||
{{.i18n.Tr "repo.milestones.open_tab" .MilestoneStats.OpenCount}}
|
||||
</a>
|
||||
<a class="ui {{if .IsShowClosed}}red active{{end}} basic button" href="{{.Link}}?repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort={{$.SortType}}&state=closed">
|
||||
<i class="octicon octicon-issue-closed"></i>
|
||||
{{svg "octicon-issue-closed" 16}}
|
||||
{{.i18n.Tr "repo.milestones.close_tab" .MilestoneStats.ClosedCount}}
|
||||
</a>
|
||||
</div>
|
||||
|
@ -66,7 +66,7 @@
|
|||
{{range .Milestones}}
|
||||
<li class="item">
|
||||
<div class="ui label">{{.Repo.FullName}}</div>
|
||||
<i class="octicon octicon-milestone"></i> <a href="{{.Repo.Link }}/milestone/{{.ID}}">{{.Name}}</a>
|
||||
{{svg "octicon-milestone" 16}} <a href="{{.Repo.Link }}/milestone/{{.ID}}">{{.Name}}</a>
|
||||
<div class="ui right green progress" data-percent="{{.Completeness}}">
|
||||
<div class="bar" {{if not .Completeness}}style="background-color: transparent"{{end}}>
|
||||
<div class="progress"></div>
|
||||
|
@ -75,9 +75,9 @@
|
|||
<div class="meta">
|
||||
{{ $closedDate:= TimeSinceUnix .ClosedDateUnix $.Lang }}
|
||||
{{if .IsClosed}}
|
||||
<span class="octicon octicon-clock"></span> {{$.i18n.Tr "repo.milestones.closed" $closedDate|Str2html}}
|
||||
{{svg "octicon-clock" 16}} {{$.i18n.Tr "repo.milestones.closed" $closedDate|Str2html}}
|
||||
{{else}}
|
||||
<span class="octicon octicon-calendar"></span>
|
||||
{{svg "octicon-calendar" 16}}
|
||||
{{if .DeadlineString}}
|
||||
<span {{if .IsOverdue}}class="overdue"{{end}}>{{.DeadlineString}}</span>
|
||||
{{else}}
|
||||
|
@ -85,20 +85,20 @@
|
|||
{{end}}
|
||||
{{end}}
|
||||
<span class="issue-stats">
|
||||
<i class="octicon octicon-issue-opened"></i> {{$.i18n.Tr "repo.milestones.open_tab" .NumOpenIssues}}
|
||||
<i class="octicon octicon-issue-closed"></i> {{$.i18n.Tr "repo.milestones.close_tab" .NumClosedIssues}}
|
||||
{{if .TotalTrackedTime}}<i class="octicon octicon-clock"></i> {{.TotalTrackedTime|Sec2Time}}{{end}}
|
||||
{{svg "octicon-issue-opened" 16}} {{$.i18n.Tr "repo.milestones.open_tab" .NumOpenIssues}}
|
||||
{{svg "octicon-issue-closed" 16}} {{$.i18n.Tr "repo.milestones.close_tab" .NumClosedIssues}}
|
||||
{{if .TotalTrackedTime}}{{svg "octicon-clock" 16}} {{.TotalTrackedTime|Sec2Time}}{{end}}
|
||||
</span>
|
||||
</div>
|
||||
{{if and (or $.CanWriteIssues $.CanWritePulls) (not $.Repository.IsArchived)}}
|
||||
<div class="ui right operate">
|
||||
<a href="{{$.Link}}/{{.ID}}/edit" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-pencil"></i> {{$.i18n.Tr "repo.issues.label_edit"}}</a>
|
||||
<a href="{{$.Link}}/{{.ID}}/edit" data-id={{.ID}} data-title={{.Name}}>{{svg "octicon-pencil" 16}} {{$.i18n.Tr "repo.issues.label_edit"}}</a>
|
||||
{{if .IsClosed}}
|
||||
<a href="{{$.Link}}/{{.ID}}/open" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-check"></i> {{$.i18n.Tr "repo.milestones.open"}}</a>
|
||||
<a href="{{$.Link}}/{{.ID}}/open" data-id={{.ID}} data-title={{.Name}}>{{svg "octicon-check" 16}} {{$.i18n.Tr "repo.milestones.open"}}</a>
|
||||
{{else}}
|
||||
<a href="{{$.Link}}/{{.ID}}/close" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-x"></i> {{$.i18n.Tr "repo.milestones.close"}}</a>
|
||||
<a href="{{$.Link}}/{{.ID}}/close" data-id={{.ID}} data-title={{.Name}}>{{svg "octicon-x" 16}} {{$.i18n.Tr "repo.milestones.close"}}</a>
|
||||
{{end}}
|
||||
<a class="delete-button" href="#" data-url="{{$.RepoLink}}/milestones/delete" data-id="{{.ID}}"><i class="octicon octicon-trashcan"></i> {{$.i18n.Tr "repo.issues.label_delete"}}</a>
|
||||
<a class="delete-button" href="#" data-url="{{$.RepoLink}}/milestones/delete" data-id="{{.ID}}">{{svg "octicon-trashcan" 16}} {{$.i18n.Tr "repo.issues.label_delete"}}</a>
|
||||
</div>
|
||||
{{end}}
|
||||
{{if .Content}}
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
</div>
|
||||
{{if .SignedUser.CanCreateOrganization}}
|
||||
<a class="item" href="{{AppSubUrl}}/org/create">
|
||||
<i class="octicon octicon-plus"></i> {{.i18n.Tr "new_org"}}
|
||||
{{svg "octicon-plus" 16}} {{.i18n.Tr "new_org"}}
|
||||
</a>
|
||||
{{end}}
|
||||
</div>
|
||||
|
@ -35,17 +35,17 @@
|
|||
{{if .ContextUser.IsOrganization}}
|
||||
<div class="right stackable menu">
|
||||
<a class="{{if .PageIsNews}}active{{end}} item" style="margin-left: auto" href="{{AppSubUrl}}/org/{{.ContextUser.Name}}/dashboard">
|
||||
<i class="octicon octicon-rss"></i> {{.i18n.Tr "activities"}}
|
||||
{{svg "octicon-rss" 16}} {{.i18n.Tr "activities"}}
|
||||
</a>
|
||||
<a class="{{if .PageIsIssues}}active{{end}} item" href="{{AppSubUrl}}/org/{{.ContextUser.Name}}/issues">
|
||||
<i class="octicon octicon-issue-opened"></i> {{.i18n.Tr "issues"}}
|
||||
{{svg "octicon-issue-opened" 16}} {{.i18n.Tr "issues"}}
|
||||
</a>
|
||||
<a class="{{if .PageIsPulls}}active{{end}} item" href="{{AppSubUrl}}/org/{{.ContextUser.Name}}/pulls">
|
||||
<i class="octicon octicon-git-pull-request"></i> {{.i18n.Tr "pull_requests"}}
|
||||
{{svg "octicon-git-pull-request" 16}} {{.i18n.Tr "pull_requests"}}
|
||||
</a>
|
||||
{{if .ShowMilestonesDashboardPage}}
|
||||
<a class="{{if .PageIsMilestonesDashboard}}active{{end}} item" href="{{AppSubUrl}}/org/{{.ContextUser.Name}}/milestones">
|
||||
<i class="octicon octicon-milestone"></i> {{.i18n.Tr "milestones"}}
|
||||
{{svg "octicon-milestone" 16}} {{.i18n.Tr "milestones"}}
|
||||
</a>
|
||||
{{end}}
|
||||
<div class="item">
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<form action="{{AppSubUrl}}/notifications/purge" method="POST" style="margin-left: auto;">
|
||||
{{$.CsrfTokenHtml}}
|
||||
<button class="ui mini button primary" title='{{$.i18n.Tr "notification.mark_all_as_read"}}'>
|
||||
<i class="octicon octicon-checklist"></i>
|
||||
{{svg "octicon-checklist" 16}}
|
||||
</button>
|
||||
</form>
|
||||
{{end}}
|
||||
|
@ -41,22 +41,22 @@
|
|||
<tr data-href="{{$notification.HTMLURL}}">
|
||||
<td class="collapsing">
|
||||
{{if eq $notification.Status 3}}
|
||||
<i class="blue octicon octicon-pin"></i>
|
||||
<span class="blue">{{svg "octicon-pin" 16}}</span>
|
||||
{{else if $issue.IsPull}}
|
||||
{{if $issue.IsClosed}}
|
||||
{{if $issue.GetPullRequest.HasMerged}}
|
||||
<i class="purple octicon octicon-git-merge"></i>
|
||||
<span class="purple">{{svg "octicon-git-merge" 16}}</span>
|
||||
{{else}}
|
||||
<i class="red octicon octicon-git-pull-request"></i>
|
||||
<span class="red">{{svg "octicon-git-pull-request" 16}}</span>
|
||||
{{end}}
|
||||
{{else}}
|
||||
<i class="green octicon octicon-git-pull-request"></i>
|
||||
<span class="green">{{svg "octicon-git-pull-request" 16}}</span>
|
||||
{{end}}
|
||||
{{else}}
|
||||
{{if $issue.IsClosed}}
|
||||
<i class="red octicon octicon-issue-closed"></i>
|
||||
<span class="red">{{svg "octicon-issue-closed" 16}}</span>
|
||||
{{else}}
|
||||
<i class="green octicon octicon-issue-opened"></i>
|
||||
<span class="green">{{svg "octicon-issue-opened" 16}}</span>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</td>
|
||||
|
@ -77,7 +77,7 @@
|
|||
<input type="hidden" name="notification_id" value="{{$notification.ID}}" />
|
||||
<input type="hidden" name="status" value="pinned" />
|
||||
<button class="ui mini button" title='{{$.i18n.Tr "notification.pin"}}'>
|
||||
<i class="octicon octicon-pin"></i>
|
||||
{{svg "octicon-pin" 16}}
|
||||
</button>
|
||||
</form>
|
||||
{{end}}
|
||||
|
@ -90,7 +90,7 @@
|
|||
<input type="hidden" name="status" value="read" />
|
||||
<input type="hidden" name="page" value="{{$.Page.Paginater.Current}}" />
|
||||
<button class="ui mini button" title='{{$.i18n.Tr "notification.mark_as_read"}}'>
|
||||
<i class="octicon octicon-check"></i>
|
||||
{{svg "octicon-check" 16}}
|
||||
</button>
|
||||
</form>
|
||||
{{else if eq $notification.Status 2}}
|
||||
|
@ -100,7 +100,7 @@
|
|||
<input type="hidden" name="status" value="unread" />
|
||||
<input type="hidden" name="page" value="{{$.Page.Paginater.Current}}" />
|
||||
<button class="ui mini button" title='{{$.i18n.Tr "notification.mark_as_unread"}}'>
|
||||
<i class="octicon octicon-bell"></i>
|
||||
{{svg "octicon-bell" 16}}
|
||||
</button>
|
||||
</form>
|
||||
{{end}}
|
||||
|
|
|
@ -20,23 +20,23 @@
|
|||
<div class="extra content wrap">
|
||||
<ul class="text black">
|
||||
{{if .Owner.Location}}
|
||||
<li><i class="octicon octicon-location"></i> {{.Owner.Location}}</li>
|
||||
<li>{{svg "octicon-location" 16}} {{.Owner.Location}}</li>
|
||||
{{end}}
|
||||
{{if .ShowUserEmail }}
|
||||
<li>
|
||||
<i class="octicon octicon-mail"></i>
|
||||
{{svg "octicon-mail" 16}}
|
||||
<a href="mailto:{{.Owner.Email}}" rel="nofollow">{{.Owner.Email}}</a>
|
||||
</li>
|
||||
{{end}}
|
||||
{{if .Owner.Website}}
|
||||
<li>
|
||||
<i class="octicon octicon-link"></i>
|
||||
{{svg "octicon-link" 16}}
|
||||
<a target="_blank" rel="noopener noreferrer me" href="{{.Owner.Website}}">{{.Owner.Website}}</a>
|
||||
</li>
|
||||
{{end}}
|
||||
{{if .Owner.Description}}
|
||||
<li>
|
||||
<i class="octicon octicon-info"></i>
|
||||
{{svg "octicon-info" 16}}
|
||||
<span>{{.Owner.Description}}</span>
|
||||
</li>
|
||||
{{end}}
|
||||
|
@ -48,7 +48,7 @@
|
|||
</li>
|
||||
{{end}}
|
||||
{{end}}
|
||||
<li><i class="octicon octicon-clock"></i> {{.i18n.Tr "user.join_on"}} {{.Owner.CreatedUnix.FormatShort}}</li>
|
||||
<li>{{svg "octicon-clock" 16}} {{.i18n.Tr "user.join_on"}} {{.Owner.CreatedUnix.FormatShort}}</li>
|
||||
{{if and .Orgs .HasOrgsVisible}}
|
||||
<li>
|
||||
<ul class="user-orgs">
|
||||
|
@ -65,9 +65,9 @@
|
|||
{{if and .IsSigned (ne .SignedUserName .Owner.Name)}}
|
||||
<li class="follow">
|
||||
{{if .SignedUser.IsFollowing .Owner.ID}}
|
||||
<a class="ui basic red button" href="{{.Link}}/action/unfollow?redirect_to={{$.Link}}"><i class="octicon octicon-person"></i> {{.i18n.Tr "user.unfollow"}}</a>
|
||||
<a class="ui basic red button" href="{{.Link}}/action/unfollow?redirect_to={{$.Link}}">{{svg "octicon-person" 16}} {{.i18n.Tr "user.unfollow"}}</a>
|
||||
{{else}}
|
||||
<a class="ui basic green button" href="{{.Link}}/action/follow?redirect_to={{$.Link}}"><i class="octicon octicon-person"></i> {{.i18n.Tr "user.follow"}}</a>
|
||||
<a class="ui basic green button" href="{{.Link}}/action/follow?redirect_to={{$.Link}}">{{svg "octicon-person" 16}} {{.i18n.Tr "user.follow"}}</a>
|
||||
{{end}}
|
||||
</li>
|
||||
{{end}}
|
||||
|
@ -78,21 +78,21 @@
|
|||
<div class="ui eleven wide column">
|
||||
<div class="ui secondary stackable pointing menu">
|
||||
<a class='{{if and (ne .TabName "activity") (ne .TabName "following") (ne .TabName "followers") (ne .TabName "stars")}}active{{end}} item' href="{{.Owner.HomeLink}}">
|
||||
<i class="octicon octicon-repo"></i> {{.i18n.Tr "user.repositories"}}
|
||||
{{svg "octicon-repo" 16}} {{.i18n.Tr "user.repositories"}}
|
||||
</a>
|
||||
<a class='{{if eq .TabName "activity"}}active{{end}} item' href="{{.Owner.HomeLink}}?tab=activity">
|
||||
<i class="octicon octicon-rss"></i> {{.i18n.Tr "user.activity"}}
|
||||
{{svg "octicon-rss" 16}} {{.i18n.Tr "user.activity"}}
|
||||
</a>
|
||||
<a class='{{if eq .TabName "stars"}}active{{end}} item' href="{{.Owner.HomeLink}}?tab=stars">
|
||||
<i class="octicon octicon-star"></i> {{.i18n.Tr "user.starred"}}
|
||||
{{svg "octicon-star" 16}} {{.i18n.Tr "user.starred"}}
|
||||
<div class="ui label">{{.Owner.NumStars}}</div>
|
||||
</a>
|
||||
<a class='{{if eq .TabName "following"}}active{{end}} item' href="{{.Owner.HomeLink}}?tab=following">
|
||||
<i class="octicon octicon-person"></i> {{.i18n.Tr "user.following"}}
|
||||
{{svg "octicon-person" 16}} {{.i18n.Tr "user.following"}}
|
||||
<div class="ui label">{{.Owner.NumFollowing}}</div>
|
||||
</a>
|
||||
<a class='{{if eq .TabName "followers"}}active{{end}} item' href="{{.Owner.HomeLink}}?tab=followers">
|
||||
<i class="octicon octicon-person"></i> {{.i18n.Tr "user.followers"}}
|
||||
{{svg "octicon-person" 16}} {{.i18n.Tr "user.followers"}}
|
||||
<div class="ui label">{{.Owner.NumFollowers}}</div>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -151,7 +151,7 @@
|
|||
</h4>
|
||||
<div class="ui attached warning segment">
|
||||
<div class="ui red message">
|
||||
<p class="text left"><i class="octicon octicon-alert"></i> {{.i18n.Tr "settings.delete_prompt" | Str2html}}</p>
|
||||
<p class="text left">{{svg "octicon-alert" 16}} {{.i18n.Tr "settings.delete_prompt" | Str2html}}</p>
|
||||
</div>
|
||||
<form class="ui form ignore-dirty" id="delete-form" action="{{AppSubUrl}}/user/settings/account/delete" method="post">
|
||||
{{.CsrfTokenHtml}}
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
<div class="content">
|
||||
<strong>{{.Name}}</strong>
|
||||
<div class="activity meta">
|
||||
<i>{{$.i18n.Tr "settings.add_on"}} <span>{{.CreatedUnix.FormatShort}}</span> — <i class="octicon octicon-info"></i> {{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} <span {{if .HasRecentActivity}}class="green"{{end}}>{{.UpdatedUnix.FormatShort}}</span>{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}}</i>
|
||||
<i>{{$.i18n.Tr "settings.add_on"}} <span>{{.CreatedUnix.FormatShort}}</span> — {{svg "octicon-info" 16}} {{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} <span {{if .HasRecentActivity}}class="green"{{end}}>{{.UpdatedUnix.FormatShort}}</span>{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}}</i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
{{$.i18n.Tr "settings.delete_key"}}
|
||||
</button>
|
||||
</div>
|
||||
<i class="mega-octicon octicon-key {{if or .ExpiredUnix.IsZero ($.PageStartTime.Before .ExpiredUnix.AsTime)}}green{{end}}"></i>
|
||||
<span class="{{if or .ExpiredUnix.IsZero ($.PageStartTime.Before .ExpiredUnix.AsTime)}}green{{end}}">{{svg "octicon-key" 32}}</span>
|
||||
<div class="content">
|
||||
{{range .Emails}}<strong>{{.Email}} </strong>{{end}}
|
||||
<div class="print meta">
|
||||
|
|
|
@ -20,14 +20,14 @@
|
|||
{{$.i18n.Tr "settings.delete_key"}}
|
||||
</button>
|
||||
</div>
|
||||
<i class="mega-octicon octicon-key {{if .HasRecentActivity}}green{{end}}" {{if .HasRecentActivity}}data-content="{{$.i18n.Tr "settings.key_state_desc"}}" data-variation="inverted tiny"{{end}}></i>
|
||||
<span class="{{if .HasRecentActivity}}green{{end}}" {{if .HasRecentActivity}}data-content="{{$.i18n.Tr "settings.key_state_desc"}}" data-variation="inverted tiny"{{end}}>{{svg "octicon-key" 32}}</span>
|
||||
<div class="content">
|
||||
<strong>{{.Name}}</strong>
|
||||
<div class="print meta">
|
||||
{{.Fingerprint}}
|
||||
</div>
|
||||
<div class="activity meta">
|
||||
<i>{{$.i18n.Tr "settings.add_on"}} <span>{{.CreatedUnix.FormatShort}}</span> — <i class="octicon octicon-info"></i> {{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} <span {{if .HasRecentActivity}}class="green"{{end}}>{{.UpdatedUnix.FormatShort}}</span>{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}}</i>
|
||||
<i>{{$.i18n.Tr "settings.add_on"}} <span>{{.CreatedUnix.FormatShort}}</span> — {{svg "octicon-info" 16}} {{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} <span {{if .HasRecentActivity}}class="green"{{end}}>{{.UpdatedUnix.FormatShort}}</span>{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}}</i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,53 +1,53 @@
|
|||
{{template "base/head" .}}
|
||||
<div class="user settings repos">
|
||||
{{template "user/settings/navbar" .}}
|
||||
<div class="ui container">
|
||||
{{template "base/alert" .}}
|
||||
<h4 class="ui top attached header">
|
||||
{{.i18n.Tr "settings.repos"}}
|
||||
</h4>
|
||||
<div class="ui attached segment">
|
||||
{{if .Repos}}
|
||||
<div class="ui middle aligned divided list">
|
||||
{{range .Repos}}
|
||||
<div class="item">
|
||||
<div class="content">
|
||||
{{if .IsPrivate}}
|
||||
<span class="text gold iconFloat"><i class="octicon octicon-lock"></i></span>
|
||||
{{else if .IsFork}}
|
||||
<span class="iconFloat"><i class="octicon octicon-repo-forked"></i></span>
|
||||
{{else if .IsMirror}}
|
||||
<span class="iconFloat"><i class="octicon octicon-repo-clone"></i></span>
|
||||
{{else}}
|
||||
<span class="iconFloat"><i class="octicon octicon-repo"></i></span>
|
||||
{{end}}
|
||||
<a class="name" href="{{AppSubUrl}}/{{$.Owner.Name}}/{{.Name}}">{{$.Owner.Name}}/{{.Name}}</a>
|
||||
<span>{{SizeFmt .Size}}</span>
|
||||
{{if .IsFork}}
|
||||
{{$.i18n.Tr "repo.forked_from"}}
|
||||
<span><a href="{{AppSubUrl}}/{{.BaseRepo.Owner.Name}}/{{.BaseRepo.Name}}">{{.BaseRepo.Owner.Name}}/{{.BaseRepo.Name}}</a></span>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="item">
|
||||
{{.i18n.Tr "settings.repos_none"}}
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ui small basic delete modal">
|
||||
<div class="ui icon header">
|
||||
<i class="trash icon"></i>
|
||||
{{.i18n.Tr "settings.remove_account_link"}}
|
||||
</div>
|
||||
<div class="content">
|
||||
<p>{{.i18n.Tr "settings.remove_account_link_desc"}}</p>
|
||||
</div>
|
||||
{{template "base/delete_modal_actions" .}}
|
||||
</div>
|
||||
{{template "base/footer" .}}
|
||||
{{template "base/head" .}}
|
||||
<div class="user settings repos">
|
||||
{{template "user/settings/navbar" .}}
|
||||
<div class="ui container">
|
||||
{{template "base/alert" .}}
|
||||
<h4 class="ui top attached header">
|
||||
{{.i18n.Tr "settings.repos"}}
|
||||
</h4>
|
||||
<div class="ui attached segment">
|
||||
{{if .Repos}}
|
||||
<div class="ui middle aligned divided list">
|
||||
{{range .Repos}}
|
||||
<div class="item">
|
||||
<div class="content">
|
||||
{{if .IsPrivate}}
|
||||
<span class="text gold iconFloat">{{svg "octicon-lock" 16}}</span>
|
||||
{{else if .IsFork}}
|
||||
<span class="iconFloat">{{svg "octicon-repo-forked" 16}}</span>
|
||||
{{else if .IsMirror}}
|
||||
<span class="iconFloat">{{svg "octicon-repo-clone" 16}}</span>
|
||||
{{else}}
|
||||
<span class="iconFloat">{{svg "octicon-repo" 16}}</span>
|
||||
{{end}}
|
||||
<a class="name" href="{{AppSubUrl}}/{{$.Owner.Name}}/{{.Name}}">{{$.Owner.Name}}/{{.Name}}</a>
|
||||
<span>{{SizeFmt .Size}}</span>
|
||||
{{if .IsFork}}
|
||||
{{$.i18n.Tr "repo.forked_from"}}
|
||||
<span><a href="{{AppSubUrl}}/{{.BaseRepo.Owner.Name}}/{{.BaseRepo.Name}}">{{.BaseRepo.Owner.Name}}/{{.BaseRepo.Name}}</a></span>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="item">
|
||||
{{.i18n.Tr "settings.repos_none"}}
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ui small basic delete modal">
|
||||
<div class="ui icon header">
|
||||
<i class="trash icon"></i>
|
||||
{{.i18n.Tr "settings.remove_account_link"}}
|
||||
</div>
|
||||
<div class="content">
|
||||
<p>{{.i18n.Tr "settings.remove_account_link_desc"}}</p>
|
||||
</div>
|
||||
{{template "base/delete_modal_actions" .}}
|
||||
</div>
|
||||
{{template "base/footer" .}}
|
||||
|
|
|
@ -52,7 +52,6 @@ var isSpecialElementMap = map[string]bool{
|
|||
"iframe": true,
|
||||
"img": true,
|
||||
"input": true,
|
||||
"isindex": true, // The 'isindex' element has been removed, but keep it for backwards compatibility.
|
||||
"keygen": true,
|
||||
"li": true,
|
||||
"link": true,
|
||||
|
|
|
@ -172,7 +172,6 @@ var svgAttributeAdjustments = map[string]string{
|
|||
"diffuseconstant": "diffuseConstant",
|
||||
"edgemode": "edgeMode",
|
||||
"externalresourcesrequired": "externalResourcesRequired",
|
||||
"filterres": "filterRes",
|
||||
"filterunits": "filterUnits",
|
||||
"glyphref": "glyphRef",
|
||||
"gradienttransform": "gradientTransform",
|
||||
|
|
|
@ -184,6 +184,17 @@ func (p *parser) clearStackToContext(s scope) {
|
|||
}
|
||||
}
|
||||
|
||||
// parseGenericRawTextElements implements the generic raw text element parsing
|
||||
// algorithm defined in 12.2.6.2.
|
||||
// https://html.spec.whatwg.org/multipage/parsing.html#parsing-elements-that-contain-only-text
|
||||
// TODO: Since both RAWTEXT and RCDATA states are treated as tokenizer's part
|
||||
// officially, need to make tokenizer consider both states.
|
||||
func (p *parser) parseGenericRawTextElement() {
|
||||
p.addElement()
|
||||
p.originalIM = p.im
|
||||
p.im = textIM
|
||||
}
|
||||
|
||||
// generateImpliedEndTags pops nodes off the stack of open elements as long as
|
||||
// the top node has a tag name of dd, dt, li, optgroup, option, p, rb, rp, rt or rtc.
|
||||
// If exceptions are specified, nodes with that name will not be popped off.
|
||||
|
@ -192,16 +203,17 @@ func (p *parser) generateImpliedEndTags(exceptions ...string) {
|
|||
loop:
|
||||
for i = len(p.oe) - 1; i >= 0; i-- {
|
||||
n := p.oe[i]
|
||||
if n.Type == ElementNode {
|
||||
switch n.DataAtom {
|
||||
case a.Dd, a.Dt, a.Li, a.Optgroup, a.Option, a.P, a.Rb, a.Rp, a.Rt, a.Rtc:
|
||||
for _, except := range exceptions {
|
||||
if n.Data == except {
|
||||
break loop
|
||||
}
|
||||
if n.Type != ElementNode {
|
||||
break
|
||||
}
|
||||
switch n.DataAtom {
|
||||
case a.Dd, a.Dt, a.Li, a.Optgroup, a.Option, a.P, a.Rb, a.Rp, a.Rt, a.Rtc:
|
||||
for _, except := range exceptions {
|
||||
if n.Data == except {
|
||||
break loop
|
||||
}
|
||||
continue
|
||||
}
|
||||
continue
|
||||
}
|
||||
break
|
||||
}
|
||||
|
@ -369,8 +381,7 @@ findIdenticalElements:
|
|||
// Section 12.2.4.3.
|
||||
func (p *parser) clearActiveFormattingElements() {
|
||||
for {
|
||||
n := p.afe.pop()
|
||||
if len(p.afe) == 0 || n.Type == scopeMarkerNode {
|
||||
if n := p.afe.pop(); len(p.afe) == 0 || n.Type == scopeMarkerNode {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
@ -625,25 +636,29 @@ func inHeadIM(p *parser) bool {
|
|||
switch p.tok.DataAtom {
|
||||
case a.Html:
|
||||
return inBodyIM(p)
|
||||
case a.Base, a.Basefont, a.Bgsound, a.Command, a.Link, a.Meta:
|
||||
case a.Base, a.Basefont, a.Bgsound, a.Link, a.Meta:
|
||||
p.addElement()
|
||||
p.oe.pop()
|
||||
p.acknowledgeSelfClosingTag()
|
||||
return true
|
||||
case a.Noscript:
|
||||
p.addElement()
|
||||
if p.scripting {
|
||||
p.setOriginalIM()
|
||||
p.im = textIM
|
||||
} else {
|
||||
p.im = inHeadNoscriptIM
|
||||
p.parseGenericRawTextElement()
|
||||
return true
|
||||
}
|
||||
p.addElement()
|
||||
p.im = inHeadNoscriptIM
|
||||
// Don't let the tokenizer go into raw text mode when scripting is disabled.
|
||||
p.tokenizer.NextIsNotRawText()
|
||||
return true
|
||||
case a.Script, a.Title, a.Noframes, a.Style:
|
||||
case a.Script, a.Title:
|
||||
p.addElement()
|
||||
p.setOriginalIM()
|
||||
p.im = textIM
|
||||
return true
|
||||
case a.Noframes, a.Style:
|
||||
p.parseGenericRawTextElement()
|
||||
return true
|
||||
case a.Head:
|
||||
// Ignore the token.
|
||||
return true
|
||||
|
@ -855,7 +870,7 @@ func inBodyIM(p *parser) bool {
|
|||
return true
|
||||
}
|
||||
copyAttributes(p.oe[0], p.tok)
|
||||
case a.Base, a.Basefont, a.Bgsound, a.Command, a.Link, a.Meta, a.Noframes, a.Script, a.Style, a.Template, a.Title:
|
||||
case a.Base, a.Basefont, a.Bgsound, a.Link, a.Meta, a.Noframes, a.Script, a.Style, a.Template, a.Title:
|
||||
return inHeadIM(p)
|
||||
case a.Body:
|
||||
if p.oe.contains(a.Template) {
|
||||
|
@ -881,7 +896,7 @@ func inBodyIM(p *parser) bool {
|
|||
p.addElement()
|
||||
p.im = inFramesetIM
|
||||
return true
|
||||
case a.Address, a.Article, a.Aside, a.Blockquote, a.Center, a.Details, a.Dir, a.Div, a.Dl, a.Fieldset, a.Figcaption, a.Figure, a.Footer, a.Header, a.Hgroup, a.Menu, a.Nav, a.Ol, a.P, a.Section, a.Summary, a.Ul:
|
||||
case a.Address, a.Article, a.Aside, a.Blockquote, a.Center, a.Details, a.Dialog, a.Dir, a.Div, a.Dl, a.Fieldset, a.Figcaption, a.Figure, a.Footer, a.Header, a.Hgroup, a.Main, a.Menu, a.Nav, a.Ol, a.P, a.Section, a.Summary, a.Ul:
|
||||
p.popUntil(buttonScope, a.P)
|
||||
p.addElement()
|
||||
case a.H1, a.H2, a.H3, a.H4, a.H5, a.H6:
|
||||
|
@ -1014,53 +1029,6 @@ func inBodyIM(p *parser) bool {
|
|||
p.tok.DataAtom = a.Img
|
||||
p.tok.Data = a.Img.String()
|
||||
return false
|
||||
case a.Isindex:
|
||||
if p.form != nil {
|
||||
// Ignore the token.
|
||||
return true
|
||||
}
|
||||
action := ""
|
||||
prompt := "This is a searchable index. Enter search keywords: "
|
||||
attr := []Attribute{{Key: "name", Val: "isindex"}}
|
||||
for _, t := range p.tok.Attr {
|
||||
switch t.Key {
|
||||
case "action":
|
||||
action = t.Val
|
||||
case "name":
|
||||
// Ignore the attribute.
|
||||
case "prompt":
|
||||
prompt = t.Val
|
||||
default:
|
||||
attr = append(attr, t)
|
||||
}
|
||||
}
|
||||
p.acknowledgeSelfClosingTag()
|
||||
p.popUntil(buttonScope, a.P)
|
||||
p.parseImpliedToken(StartTagToken, a.Form, a.Form.String())
|
||||
if p.form == nil {
|
||||
// NOTE: The 'isindex' element has been removed,
|
||||
// and the 'template' element has not been designed to be
|
||||
// collaborative with the index element.
|
||||
//
|
||||
// Ignore the token.
|
||||
return true
|
||||
}
|
||||
if action != "" {
|
||||
p.form.Attr = []Attribute{{Key: "action", Val: action}}
|
||||
}
|
||||
p.parseImpliedToken(StartTagToken, a.Hr, a.Hr.String())
|
||||
p.parseImpliedToken(StartTagToken, a.Label, a.Label.String())
|
||||
p.addText(prompt)
|
||||
p.addChild(&Node{
|
||||
Type: ElementNode,
|
||||
DataAtom: a.Input,
|
||||
Data: a.Input.String(),
|
||||
Attr: attr,
|
||||
})
|
||||
p.oe.pop()
|
||||
p.parseImpliedToken(EndTagToken, a.Label, a.Label.String())
|
||||
p.parseImpliedToken(StartTagToken, a.Hr, a.Hr.String())
|
||||
p.parseImpliedToken(EndTagToken, a.Form, a.Form.String())
|
||||
case a.Textarea:
|
||||
p.addElement()
|
||||
p.setOriginalIM()
|
||||
|
@ -1070,18 +1038,21 @@ func inBodyIM(p *parser) bool {
|
|||
p.popUntil(buttonScope, a.P)
|
||||
p.reconstructActiveFormattingElements()
|
||||
p.framesetOK = false
|
||||
p.addElement()
|
||||
p.setOriginalIM()
|
||||
p.im = textIM
|
||||
p.parseGenericRawTextElement()
|
||||
case a.Iframe:
|
||||
p.framesetOK = false
|
||||
p.parseGenericRawTextElement()
|
||||
case a.Noembed:
|
||||
p.parseGenericRawTextElement()
|
||||
case a.Noscript:
|
||||
if p.scripting {
|
||||
p.parseGenericRawTextElement()
|
||||
return true
|
||||
}
|
||||
p.reconstructActiveFormattingElements()
|
||||
p.addElement()
|
||||
p.setOriginalIM()
|
||||
p.im = textIM
|
||||
case a.Noembed, a.Noscript:
|
||||
p.addElement()
|
||||
p.setOriginalIM()
|
||||
p.im = textIM
|
||||
// Don't let the tokenizer go into raw text mode when scripting is disabled.
|
||||
p.tokenizer.NextIsNotRawText()
|
||||
case a.Select:
|
||||
p.reconstructActiveFormattingElements()
|
||||
p.addElement()
|
||||
|
@ -1137,7 +1108,7 @@ func inBodyIM(p *parser) bool {
|
|||
return false
|
||||
}
|
||||
return true
|
||||
case a.Address, a.Article, a.Aside, a.Blockquote, a.Button, a.Center, a.Details, a.Dir, a.Div, a.Dl, a.Fieldset, a.Figcaption, a.Figure, a.Footer, a.Header, a.Hgroup, a.Listing, a.Menu, a.Nav, a.Ol, a.Pre, a.Section, a.Summary, a.Ul:
|
||||
case a.Address, a.Article, a.Aside, a.Blockquote, a.Button, a.Center, a.Details, a.Dialog, a.Dir, a.Div, a.Dl, a.Fieldset, a.Figcaption, a.Figure, a.Footer, a.Header, a.Hgroup, a.Listing, a.Main, a.Menu, a.Nav, a.Ol, a.Pre, a.Section, a.Summary, a.Ul:
|
||||
p.popUntil(defaultScope, p.tok.DataAtom)
|
||||
case a.Form:
|
||||
if p.oe.contains(a.Template) {
|
||||
|
@ -1198,14 +1169,13 @@ func inBodyIM(p *parser) bool {
|
|||
if len(p.templateStack) > 0 {
|
||||
p.im = inTemplateIM
|
||||
return false
|
||||
} else {
|
||||
for _, e := range p.oe {
|
||||
switch e.DataAtom {
|
||||
case a.Dd, a.Dt, a.Li, a.Optgroup, a.Option, a.P, a.Rb, a.Rp, a.Rt, a.Rtc, a.Tbody, a.Td, a.Tfoot, a.Th,
|
||||
a.Thead, a.Tr, a.Body, a.Html:
|
||||
default:
|
||||
return true
|
||||
}
|
||||
}
|
||||
for _, e := range p.oe {
|
||||
switch e.DataAtom {
|
||||
case a.Dd, a.Dt, a.Li, a.Optgroup, a.Option, a.P, a.Rb, a.Rp, a.Rt, a.Rtc, a.Tbody, a.Td, a.Tfoot, a.Th,
|
||||
a.Thead, a.Tr, a.Body, a.Html:
|
||||
default:
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1221,9 +1191,15 @@ func (p *parser) inBodyEndTagFormatting(tagAtom a.Atom, tagName string) {
|
|||
// Once the code successfully parses the comprehensive test suite, we should
|
||||
// refactor this code to be more idiomatic.
|
||||
|
||||
// Steps 1-4. The outer loop.
|
||||
// Steps 1-2
|
||||
if current := p.oe.top(); current.Data == tagName && p.afe.index(current) == -1 {
|
||||
p.oe.pop()
|
||||
return
|
||||
}
|
||||
|
||||
// Steps 3-5. The outer loop.
|
||||
for i := 0; i < 8; i++ {
|
||||
// Step 5. Find the formatting element.
|
||||
// Step 6. Find the formatting element.
|
||||
var formattingElement *Node
|
||||
for j := len(p.afe) - 1; j >= 0; j-- {
|
||||
if p.afe[j].Type == scopeMarkerNode {
|
||||
|
@ -1238,17 +1214,22 @@ func (p *parser) inBodyEndTagFormatting(tagAtom a.Atom, tagName string) {
|
|||
p.inBodyEndTagOther(tagAtom, tagName)
|
||||
return
|
||||
}
|
||||
|
||||
// Step 7. Ignore the tag if formatting element is not in the stack of open elements.
|
||||
feIndex := p.oe.index(formattingElement)
|
||||
if feIndex == -1 {
|
||||
p.afe.remove(formattingElement)
|
||||
return
|
||||
}
|
||||
// Step 8. Ignore the tag if formatting element is not in the scope.
|
||||
if !p.elementInScope(defaultScope, tagAtom) {
|
||||
// Ignore the tag.
|
||||
return
|
||||
}
|
||||
|
||||
// Steps 9-10. Find the furthest block.
|
||||
// Step 9. This step is omitted because it's just a parse error but no need to return.
|
||||
|
||||
// Steps 10-11. Find the furthest block.
|
||||
var furthestBlock *Node
|
||||
for _, e := range p.oe[feIndex:] {
|
||||
if isSpecialElement(e) {
|
||||
|
@ -1265,47 +1246,65 @@ func (p *parser) inBodyEndTagFormatting(tagAtom a.Atom, tagName string) {
|
|||
return
|
||||
}
|
||||
|
||||
// Steps 11-12. Find the common ancestor and bookmark node.
|
||||
// Steps 12-13. Find the common ancestor and bookmark node.
|
||||
commonAncestor := p.oe[feIndex-1]
|
||||
bookmark := p.afe.index(formattingElement)
|
||||
|
||||
// Step 13. The inner loop. Find the lastNode to reparent.
|
||||
// Step 14. The inner loop. Find the lastNode to reparent.
|
||||
lastNode := furthestBlock
|
||||
node := furthestBlock
|
||||
x := p.oe.index(node)
|
||||
// Steps 13.1-13.2
|
||||
for j := 0; j < 3; j++ {
|
||||
// Step 13.3.
|
||||
// Step 14.1.
|
||||
j := 0
|
||||
for {
|
||||
// Step 14.2.
|
||||
j++
|
||||
// Step. 14.3.
|
||||
x--
|
||||
node = p.oe[x]
|
||||
// Step 13.4 - 13.5.
|
||||
// Step 14.4. Go to the next step if node is formatting element.
|
||||
if node == formattingElement {
|
||||
break
|
||||
}
|
||||
// Step 14.5. Remove node from the list of active formatting elements if
|
||||
// inner loop counter is greater than three and node is in the list of
|
||||
// active formatting elements.
|
||||
if ni := p.afe.index(node); j > 3 && ni > -1 {
|
||||
p.afe.remove(node)
|
||||
// If any element of the list of active formatting elements is removed,
|
||||
// we need to take care whether bookmark should be decremented or not.
|
||||
// This is because the value of bookmark may exceed the size of the
|
||||
// list by removing elements from the list.
|
||||
if ni <= bookmark {
|
||||
bookmark--
|
||||
}
|
||||
continue
|
||||
}
|
||||
// Step 14.6. Continue the next inner loop if node is not in the list of
|
||||
// active formatting elements.
|
||||
if p.afe.index(node) == -1 {
|
||||
p.oe.remove(node)
|
||||
continue
|
||||
}
|
||||
// Step 13.6.
|
||||
if node == formattingElement {
|
||||
break
|
||||
}
|
||||
// Step 13.7.
|
||||
// Step 14.7.
|
||||
clone := node.clone()
|
||||
p.afe[p.afe.index(node)] = clone
|
||||
p.oe[p.oe.index(node)] = clone
|
||||
node = clone
|
||||
// Step 13.8.
|
||||
// Step 14.8.
|
||||
if lastNode == furthestBlock {
|
||||
bookmark = p.afe.index(node) + 1
|
||||
}
|
||||
// Step 13.9.
|
||||
// Step 14.9.
|
||||
if lastNode.Parent != nil {
|
||||
lastNode.Parent.RemoveChild(lastNode)
|
||||
}
|
||||
node.AppendChild(lastNode)
|
||||
// Step 13.10.
|
||||
// Step 14.10.
|
||||
lastNode = node
|
||||
}
|
||||
|
||||
// Step 14. Reparent lastNode to the common ancestor,
|
||||
// Step 15. Reparent lastNode to the common ancestor,
|
||||
// or for misnested table nodes, to the foster parent.
|
||||
if lastNode.Parent != nil {
|
||||
lastNode.Parent.RemoveChild(lastNode)
|
||||
|
@ -1317,13 +1316,13 @@ func (p *parser) inBodyEndTagFormatting(tagAtom a.Atom, tagName string) {
|
|||
commonAncestor.AppendChild(lastNode)
|
||||
}
|
||||
|
||||
// Steps 15-17. Reparent nodes from the furthest block's children
|
||||
// Steps 16-18. Reparent nodes from the furthest block's children
|
||||
// to a clone of the formatting element.
|
||||
clone := formattingElement.clone()
|
||||
reparentChildren(clone, furthestBlock)
|
||||
furthestBlock.AppendChild(clone)
|
||||
|
||||
// Step 18. Fix up the list of active formatting elements.
|
||||
// Step 19. Fix up the list of active formatting elements.
|
||||
if oldLoc := p.afe.index(formattingElement); oldLoc != -1 && oldLoc < bookmark {
|
||||
// Move the bookmark with the rest of the list.
|
||||
bookmark--
|
||||
|
@ -1331,7 +1330,7 @@ func (p *parser) inBodyEndTagFormatting(tagAtom a.Atom, tagName string) {
|
|||
p.afe.remove(formattingElement)
|
||||
p.afe.insert(bookmark, clone)
|
||||
|
||||
// Step 19. Fix up the stack of open elements.
|
||||
// Step 20. Fix up the stack of open elements.
|
||||
p.oe.remove(formattingElement)
|
||||
p.oe.insert(p.oe.index(furthestBlock)+1, clone)
|
||||
}
|
||||
|
@ -1502,14 +1501,13 @@ func inCaptionIM(p *parser) bool {
|
|||
case StartTagToken:
|
||||
switch p.tok.DataAtom {
|
||||
case a.Caption, a.Col, a.Colgroup, a.Tbody, a.Td, a.Tfoot, a.Thead, a.Tr:
|
||||
if p.popUntil(tableScope, a.Caption) {
|
||||
p.clearActiveFormattingElements()
|
||||
p.im = inTableIM
|
||||
return false
|
||||
} else {
|
||||
if !p.popUntil(tableScope, a.Caption) {
|
||||
// Ignore the token.
|
||||
return true
|
||||
}
|
||||
p.clearActiveFormattingElements()
|
||||
p.im = inTableIM
|
||||
return false
|
||||
case a.Select:
|
||||
p.reconstructActiveFormattingElements()
|
||||
p.addElement()
|
||||
|
@ -1526,14 +1524,13 @@ func inCaptionIM(p *parser) bool {
|
|||
}
|
||||
return true
|
||||
case a.Table:
|
||||
if p.popUntil(tableScope, a.Caption) {
|
||||
p.clearActiveFormattingElements()
|
||||
p.im = inTableIM
|
||||
return false
|
||||
} else {
|
||||
if !p.popUntil(tableScope, a.Caption) {
|
||||
// Ignore the token.
|
||||
return true
|
||||
}
|
||||
p.clearActiveFormattingElements()
|
||||
p.im = inTableIM
|
||||
return false
|
||||
case a.Body, a.Col, a.Colgroup, a.Html, a.Tbody, a.Td, a.Tfoot, a.Th, a.Thead, a.Tr:
|
||||
// Ignore the token.
|
||||
return true
|
||||
|
@ -1777,12 +1774,11 @@ func inSelectIM(p *parser) bool {
|
|||
}
|
||||
p.addElement()
|
||||
case a.Select:
|
||||
if p.popUntil(selectScope, a.Select) {
|
||||
p.resetInsertionMode()
|
||||
} else {
|
||||
if !p.popUntil(selectScope, a.Select) {
|
||||
// Ignore the token.
|
||||
return true
|
||||
}
|
||||
p.resetInsertionMode()
|
||||
case a.Input, a.Keygen, a.Textarea:
|
||||
if p.elementInScope(selectScope, a.Select) {
|
||||
p.parseImpliedToken(EndTagToken, a.Select, a.Select.String())
|
||||
|
@ -1810,12 +1806,11 @@ func inSelectIM(p *parser) bool {
|
|||
p.oe = p.oe[:i]
|
||||
}
|
||||
case a.Select:
|
||||
if p.popUntil(selectScope, a.Select) {
|
||||
p.resetInsertionMode()
|
||||
} else {
|
||||
if !p.popUntil(selectScope, a.Select) {
|
||||
// Ignore the token.
|
||||
return true
|
||||
}
|
||||
p.resetInsertionMode()
|
||||
case a.Template:
|
||||
return inHeadIM(p)
|
||||
}
|
||||
|
@ -2136,28 +2131,31 @@ func parseForeignContent(p *parser) bool {
|
|||
Data: p.tok.Data,
|
||||
})
|
||||
case StartTagToken:
|
||||
b := breakout[p.tok.Data]
|
||||
if p.tok.DataAtom == a.Font {
|
||||
loop:
|
||||
for _, attr := range p.tok.Attr {
|
||||
switch attr.Key {
|
||||
case "color", "face", "size":
|
||||
b = true
|
||||
break loop
|
||||
if !p.fragment {
|
||||
b := breakout[p.tok.Data]
|
||||
if p.tok.DataAtom == a.Font {
|
||||
loop:
|
||||
for _, attr := range p.tok.Attr {
|
||||
switch attr.Key {
|
||||
case "color", "face", "size":
|
||||
b = true
|
||||
break loop
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if b {
|
||||
for i := len(p.oe) - 1; i >= 0; i-- {
|
||||
n := p.oe[i]
|
||||
if n.Namespace == "" || htmlIntegrationPoint(n) || mathMLTextIntegrationPoint(n) {
|
||||
p.oe = p.oe[:i+1]
|
||||
break
|
||||
if b {
|
||||
for i := len(p.oe) - 1; i >= 0; i-- {
|
||||
n := p.oe[i]
|
||||
if n.Namespace == "" || htmlIntegrationPoint(n) || mathMLTextIntegrationPoint(n) {
|
||||
p.oe = p.oe[:i+1]
|
||||
break
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
return false
|
||||
}
|
||||
switch p.top().Namespace {
|
||||
current := p.adjustedCurrentNode()
|
||||
switch current.Namespace {
|
||||
case "math":
|
||||
adjustAttributeNames(p.tok.Attr, mathMLAttributeAdjustments)
|
||||
case "svg":
|
||||
|
@ -2172,7 +2170,7 @@ func parseForeignContent(p *parser) bool {
|
|||
panic("html: bad parser state: unexpected namespace")
|
||||
}
|
||||
adjustForeignAttributes(p.tok.Attr)
|
||||
namespace := p.top().Namespace
|
||||
namespace := current.Namespace
|
||||
p.addElement()
|
||||
p.top().Namespace = namespace
|
||||
if namespace != "" {
|
||||
|
@ -2201,12 +2199,20 @@ func parseForeignContent(p *parser) bool {
|
|||
return true
|
||||
}
|
||||
|
||||
// Section 12.2.4.2.
|
||||
func (p *parser) adjustedCurrentNode() *Node {
|
||||
if len(p.oe) == 1 && p.fragment && p.context != nil {
|
||||
return p.context
|
||||
}
|
||||
return p.oe.top()
|
||||
}
|
||||
|
||||
// Section 12.2.6.
|
||||
func (p *parser) inForeignContent() bool {
|
||||
if len(p.oe) == 0 {
|
||||
return false
|
||||
}
|
||||
n := p.oe[len(p.oe)-1]
|
||||
n := p.adjustedCurrentNode()
|
||||
if n.Namespace == "" {
|
||||
return false
|
||||
}
|
||||
|
@ -2341,8 +2347,7 @@ func ParseWithOptions(r io.Reader, opts ...ParseOption) (*Node, error) {
|
|||
f(p)
|
||||
}
|
||||
|
||||
err := p.parse()
|
||||
if err != nil {
|
||||
if err := p.parse(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return p.doc, nil
|
||||
|
@ -2364,7 +2369,6 @@ func ParseFragmentWithOptions(r io.Reader, context *Node, opts ...ParseOption) (
|
|||
contextTag = context.DataAtom.String()
|
||||
}
|
||||
p := &parser{
|
||||
tokenizer: NewTokenizerFragment(r, contextTag),
|
||||
doc: &Node{
|
||||
Type: DocumentNode,
|
||||
},
|
||||
|
@ -2372,6 +2376,11 @@ func ParseFragmentWithOptions(r io.Reader, context *Node, opts ...ParseOption) (
|
|||
fragment: true,
|
||||
context: context,
|
||||
}
|
||||
if context != nil && context.Namespace != "" {
|
||||
p.tokenizer = NewTokenizer(r)
|
||||
} else {
|
||||
p.tokenizer = NewTokenizerFragment(r, contextTag)
|
||||
}
|
||||
|
||||
for _, f := range opts {
|
||||
f(p)
|
||||
|
@ -2396,8 +2405,7 @@ func ParseFragmentWithOptions(r io.Reader, context *Node, opts ...ParseOption) (
|
|||
}
|
||||
}
|
||||
|
||||
err := p.parse()
|
||||
if err != nil {
|
||||
if err := p.parse(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
|
|
@ -252,20 +252,19 @@ func writeQuoted(w writer, s string) error {
|
|||
// Section 12.1.2, "Elements", gives this list of void elements. Void elements
|
||||
// are those that can't have any contents.
|
||||
var voidElements = map[string]bool{
|
||||
"area": true,
|
||||
"base": true,
|
||||
"br": true,
|
||||
"col": true,
|
||||
"command": true,
|
||||
"embed": true,
|
||||
"hr": true,
|
||||
"img": true,
|
||||
"input": true,
|
||||
"keygen": true,
|
||||
"link": true,
|
||||
"meta": true,
|
||||
"param": true,
|
||||
"source": true,
|
||||
"track": true,
|
||||
"wbr": true,
|
||||
"area": true,
|
||||
"base": true,
|
||||
"br": true,
|
||||
"col": true,
|
||||
"embed": true,
|
||||
"hr": true,
|
||||
"img": true,
|
||||
"input": true,
|
||||
"keygen": true,
|
||||
"link": true,
|
||||
"meta": true,
|
||||
"param": true,
|
||||
"source": true,
|
||||
"track": true,
|
||||
"wbr": true,
|
||||
}
|
||||
|
|
|
@ -296,8 +296,7 @@ func (z *Tokenizer) Buffered() []byte {
|
|||
// too many times in succession.
|
||||
func readAtLeastOneByte(r io.Reader, b []byte) (int, error) {
|
||||
for i := 0; i < 100; i++ {
|
||||
n, err := r.Read(b)
|
||||
if n != 0 || err != nil {
|
||||
if n, err := r.Read(b); n != 0 || err != nil {
|
||||
return n, err
|
||||
}
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue