Initial commit
|
@ -0,0 +1,4 @@
|
|||
openssl req -new -text -passout pass:abcd -subj /CN=localhost -out server.req -keyout privkey.pem
|
||||
openssl rsa -in privkey.pem -passin pass:abcd -out server.key
|
||||
openssl req -x509 -in server.req -text -key server.key -out server.crt
|
||||
chmod 600 server.key
|
|
@ -0,0 +1,44 @@
|
|||
version: "2"
|
||||
|
||||
networks:
|
||||
gitea:
|
||||
external: false
|
||||
|
||||
services:
|
||||
server:
|
||||
image: gitea/gitea:latest
|
||||
restart: always
|
||||
networks:
|
||||
- gitea
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "127.0.0.1:2221:22"
|
||||
environment:
|
||||
- USER_UID=1000
|
||||
- USER_GID=1000
|
||||
- DB_TYPE=postgres
|
||||
- DB_HOST=db:5432
|
||||
- DB_NAME=gitea
|
||||
- DB_USER=gitea
|
||||
- DB_PASSWD=gitea
|
||||
volumes:
|
||||
- ./gitea:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- ./ssh/authorized_keys/:/var/lib/gitea/git/.ssh/authorized_keys
|
||||
|
||||
|
||||
db:
|
||||
image: postgres:11.6-alpine
|
||||
command: -c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key
|
||||
restart: always
|
||||
networks:
|
||||
- gitea
|
||||
environment:
|
||||
- POSTGRES_USER=gitea
|
||||
- POSTGRES_PASSWD=gitea
|
||||
- POSTGRES_DB=gitea
|
||||
volumes:
|
||||
- ./postgres:/var/lib/postgresql/data
|
||||
- ./certs/server.crt:/var/lib/postgresql/server.crt
|
||||
- ./certs/server.key:/var/lib/postgresql/server.key
|
|
@ -0,0 +1,89 @@
|
|||
APP_NAME = My Gitea Setup
|
||||
RUN_MODE = prod
|
||||
RUN_USER = git
|
||||
|
||||
[repository]
|
||||
ROOT = /data/git/repositories
|
||||
|
||||
[repository.local]
|
||||
LOCAL_COPY_PATH = /data/gitea/tmp/local-repo
|
||||
|
||||
[repository.upload]
|
||||
TEMP_PATH = /data/gitea/uploads
|
||||
|
||||
[server]
|
||||
APP_DATA_PATH = /data/gitea
|
||||
SSH_DOMAIN = localhost
|
||||
HTTP_PORT = 8080
|
||||
ROOT_URL = http://localhost:8080/
|
||||
DISABLE_SSH = false
|
||||
SSH_PORT = 22
|
||||
SSH_LISTEN_PORT = 22
|
||||
LFS_START_SERVER = true
|
||||
LFS_CONTENT_PATH = /data/git/lfs
|
||||
DOMAIN = localhost
|
||||
LFS_JWT_SECRET = FnoDQvm4Zr6ooza_A2d_iNiwNznowCbnHkVeo67rm3A
|
||||
OFFLINE_MODE = false
|
||||
|
||||
[database]
|
||||
PATH = /data/gitea/gitea.db
|
||||
DB_TYPE = postgres
|
||||
HOST = db:5432
|
||||
NAME = gitea
|
||||
USER = gitea
|
||||
PASSWD = gitea
|
||||
SCHEMA =
|
||||
SSL_MODE = require
|
||||
CHARSET = utf8
|
||||
|
||||
[indexer]
|
||||
ISSUE_INDEXER_PATH = /data/gitea/indexers/issues.bleve
|
||||
|
||||
[session]
|
||||
PROVIDER_CONFIG = /data/gitea/sessions
|
||||
PROVIDER = file
|
||||
|
||||
[picture]
|
||||
AVATAR_UPLOAD_PATH = /data/gitea/avatars
|
||||
REPOSITORY_AVATAR_UPLOAD_PATH = /data/gitea/repo-avatars
|
||||
DISABLE_GRAVATAR = false
|
||||
ENABLE_FEDERATED_AVATAR = true
|
||||
|
||||
[attachment]
|
||||
PATH = /data/gitea/attachments
|
||||
|
||||
[log]
|
||||
ROOT_PATH = /data/gitea/log
|
||||
MODE = file
|
||||
LEVEL = info
|
||||
|
||||
[security]
|
||||
INSTALL_LOCK = true
|
||||
SECRET_KEY = H9MebNKUVH7Fzq4ZeGGbNrs3jBAXKNCMw1Q1fc1pcdsZqCf5GbhnqEzpsIe1yjwv
|
||||
INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE1ODE2MTQ4MjF9.w4AUA6JlPYpL7OCjIINflp6b5RggZW0tuFxd05yaRMU
|
||||
|
||||
[service]
|
||||
DISABLE_REGISTRATION = false
|
||||
REQUIRE_SIGNIN_VIEW = false
|
||||
REGISTER_EMAIL_CONFIRM = false
|
||||
ENABLE_NOTIFY_MAIL = false
|
||||
ALLOW_ONLY_EXTERNAL_REGISTRATION = false
|
||||
ENABLE_CAPTCHA = false
|
||||
DEFAULT_KEEP_EMAIL_PRIVATE = false
|
||||
DEFAULT_ALLOW_CREATE_ORGANIZATION = true
|
||||
DEFAULT_ENABLE_TIMETRACKING = true
|
||||
NO_REPLY_ADDRESS = noreply.localhost
|
||||
|
||||
[oauth2]
|
||||
JWT_SECRET = TgrRL2yjGlKl-AM91BU7NUimaDM9v5iAiylFFj1DCtI
|
||||
|
||||
[mailer]
|
||||
ENABLED = false
|
||||
|
||||
[openid]
|
||||
ENABLE_OPENID_SIGNIN = true
|
||||
ENABLE_OPENID_SIGNUP = true
|
||||
|
||||
[ui]
|
||||
DEFAULT_THEME = arc-green
|
||||
THEMES = gitea,arc-green,space
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/sh
|
||||
ssh -p 2221 -o StrictHostKeyChecking=no git@127.0.0.1 "SSH_ORIGINAL_COMMAND=\"$SSH_ORIGINAL_COMMAND\" $0 $@"
|
|
@ -0,0 +1,1554 @@
|
|||
.hljs {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
padding: .5em;
|
||||
color: #bababa
|
||||
}
|
||||
|
||||
.hljs-emphasis,
|
||||
.hljs-strong {
|
||||
color: #a8a8a2
|
||||
}
|
||||
|
||||
.hljs-bullet,
|
||||
.hljs-link,
|
||||
.hljs-literal,
|
||||
.hljs-number,
|
||||
.hljs-quote,
|
||||
.hljs-regexp {
|
||||
color: #6896ba
|
||||
}
|
||||
|
||||
.hljs-code,
|
||||
.hljs-selector-class {
|
||||
color: #a6e22e
|
||||
}
|
||||
|
||||
.hljs-emphasis {
|
||||
font-style: italic
|
||||
}
|
||||
|
||||
.hljs-attribute,
|
||||
.hljs-keyword,
|
||||
.hljs-name,
|
||||
.hljs-section,
|
||||
.hljs-selector-tag,
|
||||
.hljs-variable {
|
||||
color: #cb7832
|
||||
}
|
||||
|
||||
.hljs-params {
|
||||
color: #b9b9b9
|
||||
}
|
||||
|
||||
.hljs-string {
|
||||
color: #6a8759
|
||||
}
|
||||
|
||||
.hljs-addition,
|
||||
.hljs-built_in,
|
||||
.hljs-builtin-name,
|
||||
.hljs-selector-attr,
|
||||
.hljs-selector-id,
|
||||
.hljs-selector-pseudo,
|
||||
.hljs-subst,
|
||||
.hljs-symbol,
|
||||
.hljs-template-tag,
|
||||
.hljs-template-variable,
|
||||
.hljs-type {
|
||||
color: #e0c46c
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.hljs-deletion,
|
||||
.hljs-meta {
|
||||
color: #7f7f7f
|
||||
}
|
||||
|
||||
.repository .ui.segment.sub-menu .list .item,
|
||||
.repository .ui.segment.sub-menu .list .item a,
|
||||
.repository .ui.segment.sub-menu .list .item span.ui {
|
||||
color: #cbc1d5;
|
||||
}
|
||||
|
||||
.ui.horizontal.segments>.segment {
|
||||
background-color: #212026
|
||||
}
|
||||
|
||||
body {
|
||||
background: #292b2e;
|
||||
color: #b2b7b8
|
||||
}
|
||||
|
||||
* {
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: #5d4d7a hsla(0, 0%, 100%, .1)
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
-webkit-appearance: none!important;
|
||||
width: 10px!important;
|
||||
height: 10px!important
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
border-radius: 0!important;
|
||||
background: hsla(0, 0%, 100%, .1)!important
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
cursor: pointer!important;
|
||||
border-radius: 5px!important;
|
||||
-webkit-transition: color .2s ease!important;
|
||||
transition: color .2s ease!important
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb,
|
||||
::-webkit-scrollbar-thumb:window-inactive {
|
||||
background: #5d4d7a!important
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #5d4d7a!important
|
||||
}
|
||||
|
||||
.ui.breadcrumb a:hover,
|
||||
.ui.card>.extra a:not(.ui):hover,
|
||||
.ui.cards>.card>.extra a:not(.ui):hover,
|
||||
a:hover,
|
||||
.repository .metas .ui.list a .text:hover,
|
||||
.repository .label.list .item a:hover,
|
||||
.repository .milestone.list>.item>a:hover,
|
||||
.repository .milestone.list>.item .operate>a:hover,
|
||||
.issue.list>.item .title:hover {
|
||||
color: #915e9e
|
||||
}
|
||||
|
||||
.repository .metas .ui.list a .text,
|
||||
.ui.breadcrumb a,
|
||||
.repository .label.list .item a,
|
||||
.repository .milestone.list>.item>a,
|
||||
a, .repository .milestone.list>.item .operate>a,
|
||||
.issue.list>.item .title {
|
||||
color: #5d4d7a
|
||||
}
|
||||
|
||||
.repository.release #release-list {
|
||||
border-top: 1px solid #4c505c
|
||||
}
|
||||
|
||||
.ui.green.progress .bar {
|
||||
background-color: #684
|
||||
}
|
||||
|
||||
.ui.progress.success .bar {
|
||||
background-color: #a3c293!important
|
||||
}
|
||||
|
||||
.following.bar.light {
|
||||
background: #212026;
|
||||
border-bottom: 1px solid #313131
|
||||
}
|
||||
|
||||
.ui.secondary.menu .active.item {
|
||||
color: #cbc1d5;
|
||||
background: #5d4d7a;
|
||||
}
|
||||
|
||||
.ui.secondary.menu .item {
|
||||
color: #b2b7b8
|
||||
}
|
||||
|
||||
.following.bar .top.menu a.item:hover {
|
||||
color: #e3dedd;
|
||||
background: #915e9e;
|
||||
}
|
||||
|
||||
.repository.view.issue .comment-list .comment .content>.bottom.segment a {
|
||||
border: 1px solid #292b2e;
|
||||
background-color: #292b2e
|
||||
}
|
||||
|
||||
.ui.attached.header {
|
||||
background: #292b2e;
|
||||
border: 1px solid #292b2e;
|
||||
color: #e3dedd;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.ui.attached.table {
|
||||
border: 1px solid #212026;
|
||||
background: #304251
|
||||
}
|
||||
|
||||
.feeds .list ul li:not(:last-child) {
|
||||
border-bottom: 1px solid #333640
|
||||
}
|
||||
|
||||
.feeds .list ul li.private {
|
||||
background: #292b2e;
|
||||
border: 1px solid #333640
|
||||
}
|
||||
|
||||
.ui.secondary.menu .active.item:hover,
|
||||
.ui.secondary.menu .dropdown.item:hover,
|
||||
.ui.secondary.menu .link.item:hover,
|
||||
.ui.secondary.menu a.item:hover {
|
||||
color: #ededed;
|
||||
background-color: #915e9e;
|
||||
}
|
||||
|
||||
.ui.menu .ui.dropdown .menu>.item {
|
||||
background: #34323e!important;
|
||||
color: #9a9aba!important
|
||||
}
|
||||
|
||||
.ui.secondary.menu .dropdown.item>.menu,
|
||||
.ui.text.menu .dropdown.item>.menu {
|
||||
border: 1px solid #5d4d7a;
|
||||
}
|
||||
|
||||
footer {
|
||||
background: #212026;
|
||||
border-top: 1px solid #313131
|
||||
}
|
||||
|
||||
.ui.menu .dropdown.item .menu {
|
||||
background: #34323e;
|
||||
}
|
||||
|
||||
.ui.menu .ui.dropdown .menu>.item:hover,
|
||||
.ui.menu .ui.dropdown .menu>.selected.item {
|
||||
color: #ededed!important
|
||||
}
|
||||
|
||||
.ui.dropdown .menu>.header {
|
||||
color: #cbc1d5
|
||||
}
|
||||
|
||||
.ui.red.label,
|
||||
.ui.red.labels .label {
|
||||
background-color: #7d3434!important;
|
||||
border-color: #8a2121!important
|
||||
}
|
||||
|
||||
.ui.menu {
|
||||
background: #292b2e;
|
||||
border: 1px solid #292b2e
|
||||
}
|
||||
|
||||
|
||||
.ui.link.menu .item:hover,
|
||||
.ui.menu .dropdown.item:hover,
|
||||
.ui.menu .link.item:hover,
|
||||
.ui.menu a.item:hover,
|
||||
.ui.menu .active.item:hover,
|
||||
.ui.vertical.menu .active.item:hover,
|
||||
.ui.menu .acty.item:hover {
|
||||
color: #cbc1d5;
|
||||
background: #915e9e;
|
||||
}
|
||||
|
||||
.ui.menu .active.item,
|
||||
.ui.menu .acty.item {
|
||||
background: #5d4d7a;
|
||||
color: #cbc1d5
|
||||
}
|
||||
|
||||
.ui.input.focus input,
|
||||
.ui.input input,
|
||||
.ui.input input:focus {
|
||||
background: #3c3c3c;
|
||||
border: 2px solid #292b2e;
|
||||
color: #cbc1d5
|
||||
}
|
||||
|
||||
.ui.accordion .title:not(.ui) {
|
||||
color: #cbc1d5
|
||||
}
|
||||
|
||||
.ui.label,
|
||||
.ui.label.basic {
|
||||
color: #cbc1d5;
|
||||
background-color: #3c3c3c
|
||||
}
|
||||
|
||||
.issue.list>.item {
|
||||
border-bottom: 1px dashed #475767
|
||||
}
|
||||
|
||||
.ui.basic.green.label,
|
||||
.ui.green.label,
|
||||
.ui.green.labels .label {
|
||||
background-color: #5d4d7a !important;
|
||||
border-color: #915e9e;
|
||||
}
|
||||
|
||||
.ui.basic.green.labels a.label:hover,
|
||||
a.ui.basic.green.label:hover {
|
||||
background-color: #5d4d7a;
|
||||
border-color: #a3c293;
|
||||
color: #ededed !important;
|
||||
}
|
||||
|
||||
.issue.list>.item .comment {
|
||||
color: #129c92
|
||||
}
|
||||
|
||||
.ui.basic.button,
|
||||
.ui.basic.buttons .button {
|
||||
color: #9a9aba!important;
|
||||
background: #5e5079;
|
||||
box-shadow: inset 0 0 0 0px #5d4d7a;
|
||||
}
|
||||
|
||||
.ui.basic.red.active.button,
|
||||
.ui.basic.red.buttons .active.button {
|
||||
box-shadow: inset 0 0 0 1px #c75252!important;
|
||||
color: #c75252!important
|
||||
}
|
||||
|
||||
.ui.basic.button:focus,
|
||||
.ui.basic.button:hover,
|
||||
.ui.basic.buttons .button:focus,
|
||||
.ui.basic.buttons .button:hover {
|
||||
background-color: #915e9e !important;
|
||||
color: #cbc1d5!important
|
||||
}
|
||||
|
||||
.ui.menu .item {
|
||||
background: #212026;
|
||||
color: #b2b7b8
|
||||
}
|
||||
|
||||
.ui.menu .item.disabled,
|
||||
.ui.menu .item.disabled:hover {
|
||||
color: #626773
|
||||
}
|
||||
|
||||
.ui.pagination.menu .active.item {
|
||||
color: #cbc1d5;
|
||||
background-color: #5d4d7a
|
||||
}
|
||||
|
||||
.repository .header-wrapper {
|
||||
background-color: #292b2e
|
||||
}
|
||||
|
||||
.ui.tabular.menu .item.acty {
|
||||
background: #5d4d7a;
|
||||
color: #cbc1d5;
|
||||
}
|
||||
|
||||
.ui.tabular.menu .item {
|
||||
color: #b2b7b8;
|
||||
background: #212026;
|
||||
}
|
||||
|
||||
.ui.tabular.menu .item:hover {
|
||||
color: #cbc1d5;
|
||||
background: #915e9e;
|
||||
|
||||
}
|
||||
|
||||
.ui.breadcrumb .divider,
|
||||
.ui.header {
|
||||
color: #b2b7b8
|
||||
}
|
||||
|
||||
.repository .segment.reactions .ui.label.basic.blue,
|
||||
.ui.blue.label,
|
||||
.ui.blue.labels .label {
|
||||
background-color: #26577b!important;
|
||||
border-color: #26577b!important
|
||||
}
|
||||
|
||||
.ui.menu .item>.label {
|
||||
background: #565454
|
||||
}
|
||||
|
||||
.ui.blue.button,
|
||||
.ui.blue.buttons .button {
|
||||
background-color: #5d4d7a
|
||||
}
|
||||
|
||||
.ui.blue.button:hover,
|
||||
.ui.blue.buttons .button:hover {
|
||||
background-color: #915e9e
|
||||
}
|
||||
|
||||
.ui.form input:not([type]),
|
||||
.ui.form input[type=date],
|
||||
.ui.form input[type=datetime-local],
|
||||
.ui.form input[type=email],
|
||||
.ui.form input[type=number],
|
||||
.ui.form input[type=password],
|
||||
.ui.form input[type=search],
|
||||
.ui.form input[type=tel],
|
||||
.ui.form input[type=text],
|
||||
.ui.form input[type=time],
|
||||
.ui.form input[type=url] {
|
||||
color: #b2b7b8;
|
||||
background: #3c3c3c;
|
||||
border: 2px solid #292b2e;
|
||||
}
|
||||
|
||||
.ui.form input:not([type]):focus,
|
||||
.ui.form input[type=date]:focus,
|
||||
.ui.form input[type=datetime-local]:focus,
|
||||
.ui.form input[type=email]:focus,
|
||||
.ui.form input[type=number]:focus,
|
||||
.ui.form input[type=password]:focus,
|
||||
.ui.form input[type=search]:focus,
|
||||
.ui.form input[type=tel]:focus,
|
||||
.ui.form input[type=text]:focus,
|
||||
.ui.form input[type=time]:focus,
|
||||
.ui.form input[type=url]:focus {
|
||||
background: #2b2b2b;
|
||||
border: 2px solid #2b2b2b;
|
||||
color: #cbc1d5;
|
||||
}
|
||||
|
||||
.ui.action.input:not([class*="left action"]) input:focus {
|
||||
border-right-color: #4b505f!important
|
||||
}
|
||||
|
||||
.ui.green.button,
|
||||
.ui.green.buttons .button {
|
||||
background-color: #5d4d7a;
|
||||
}
|
||||
|
||||
.ui.green.button:hover,
|
||||
.ui.green.buttons .button:hover {
|
||||
background-color: #915e9e
|
||||
}
|
||||
|
||||
.ui.button {
|
||||
background: #292b2e;
|
||||
border: 1px solid #4c505c;
|
||||
color: #cbc1d5
|
||||
}
|
||||
|
||||
.ui.labeled.button:not([class*="left labeled"])>.label,
|
||||
.ui[class*="left labeled"].button>.button {
|
||||
background: #34323e;
|
||||
border: 1px solid #5d4d7a;
|
||||
color: #5d4d7a
|
||||
}
|
||||
|
||||
.ui.button:hover {
|
||||
background-color: #3c3c3c;
|
||||
color: #cbc1d5
|
||||
}
|
||||
|
||||
.ui.table>thead>tr>th,
|
||||
.ui.table thead th {
|
||||
background: #212026!important;
|
||||
color: #cbc1d5!important
|
||||
}
|
||||
|
||||
.repository.file.list #repo-files-table tr {
|
||||
background: #292b2e;
|
||||
}
|
||||
|
||||
|
||||
.repository.file.list #repo-files-table tr:hover {
|
||||
background-color: #393d4a!important
|
||||
}
|
||||
|
||||
.ui.table {
|
||||
color: #686868 !important;
|
||||
border-color: #4c505c;
|
||||
background: #292b2e
|
||||
}
|
||||
|
||||
.ui.table tbody tr {
|
||||
border-color: #333640;
|
||||
background: #292b2e
|
||||
}
|
||||
|
||||
.ui .text.grey {
|
||||
color: #808084!important
|
||||
}
|
||||
|
||||
.ui.attached.table.segment {
|
||||
background: #292b2e;
|
||||
color: #cbc1d5!important
|
||||
}
|
||||
|
||||
.markdown:not(code) h2 {
|
||||
border-bottom: 1px solid #212026
|
||||
}
|
||||
|
||||
.repository.wiki.new .ui.container form .ui.tabular.menu {
|
||||
border-bottom: 1px solid hsla(0, 0%, 73.3%, .6)
|
||||
}
|
||||
|
||||
.repository.wiki.new .ui.container form .ui.tabular.menu .active.item {
|
||||
border-top: 1px solid hsla(0, 0%, 73.3%, .6);
|
||||
border-left: 1px solid hsla(0, 0%, 73.3%, .6);
|
||||
border-right: 1px solid hsla(0, 0%, 73.3%, .6)
|
||||
}
|
||||
|
||||
.repository.wiki.new .ui.container form .ui.tabular.menu .active.item:hover {
|
||||
background: #915e9e
|
||||
}
|
||||
|
||||
.hljs,
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag,
|
||||
.hljs-subst {
|
||||
color: #9daccc
|
||||
}
|
||||
|
||||
.markdown:not(code) .highlight pre,
|
||||
.markdown:not(code) pre {
|
||||
background-color: #292b2e;
|
||||
border: 0px !important;
|
||||
}
|
||||
|
||||
.markdown:not(code) table tr:nth-child(2n) {
|
||||
background-color: #292b2e
|
||||
}
|
||||
|
||||
.markdown:not(code) table tr:nth-child(2n-1) {
|
||||
background-color: #3c3c3c
|
||||
}
|
||||
|
||||
.markdown:not(code) table thead tr:nth-child(2n-1),
|
||||
.markdown blockquote blockquote,
|
||||
.markdown:not(code) table td,
|
||||
.markdown:not(code) table th {
|
||||
border: 0px !important;
|
||||
}
|
||||
|
||||
.markdown blockquote {
|
||||
background-color: #333;
|
||||
}
|
||||
|
||||
|
||||
.repository.file.editor.edit,
|
||||
.repository.wiki.new .CodeMirror {
|
||||
border-right: 1px solid hsla(0, 0%, 73.3%, .6);
|
||||
border-left: 1px solid hsla(0, 0%, 73.3%, .6);
|
||||
border-bottom: 1px solid hsla(0, 0%, 73.3%, .6)
|
||||
}
|
||||
|
||||
.repository.file.editor.edit+.editor-preview-side,
|
||||
.repository.file.editor.edit .editor-preview,
|
||||
.repository.file.editor.edit .editor-preview-side,
|
||||
.repository.wiki.new .CodeMirror+.editor-preview-side,
|
||||
.repository.wiki.new .CodeMirror .editor-preview,
|
||||
.repository.wiki.new .CodeMirror .editor-preview-side {
|
||||
background: #292b2e
|
||||
}
|
||||
|
||||
.repository.file.editor.edit+.editor-preview-side .markdown:not(code).ui.segment,
|
||||
.repository.file.editor.edit .editor-preview-side .markdown:not(code).ui.segment,
|
||||
.repository.file.editor.edit .editor-preview .markdown:not(code).ui.segment,
|
||||
.repository.wiki.new .CodeMirror+.editor-preview-side .markdown:not(code).ui.segment,
|
||||
.repository.wiki.new .CodeMirror .editor-preview-side .markdown:not(code).ui.segment,
|
||||
.repository.wiki.new .CodeMirror .editor-preview .markdown:not(code).ui.segment {
|
||||
border-width: 0
|
||||
}
|
||||
|
||||
.ui.dropdown .menu {
|
||||
background: #34323e;
|
||||
}
|
||||
|
||||
.ui.dropdown .menu>.message:not(.ui) {
|
||||
color: #636363
|
||||
}
|
||||
|
||||
.ui.input {
|
||||
color: #cbc1d5
|
||||
}
|
||||
|
||||
.overflow.menu .items .item {
|
||||
color: #9d9d9d
|
||||
}
|
||||
|
||||
.overflow.menu .items .item:hover {
|
||||
color: #cbc1d5
|
||||
}
|
||||
|
||||
.ui.segment {
|
||||
background: #212026;
|
||||
border: 1px solid #3c3c3c
|
||||
}
|
||||
|
||||
.ui.list>.item>.content,
|
||||
.ui.segment {
|
||||
color: #b2b7b8!important
|
||||
}
|
||||
|
||||
.ui.active.button:active,
|
||||
.ui.button:active,
|
||||
.ui.button:focus {
|
||||
background-color: #2e3e4e;
|
||||
color: #cbc1d5
|
||||
}
|
||||
|
||||
.ui.dropdown .menu .selected.item,
|
||||
.ui.dropdown .menu>.item:hover,
|
||||
.ui.dropdown.selected {
|
||||
color: #cbc1d5
|
||||
}
|
||||
|
||||
.ui.dropdown .menu>.item {
|
||||
color: #b2b7b8
|
||||
}
|
||||
|
||||
.ui.attached.segment {
|
||||
border: 1px solid #292b2e
|
||||
}
|
||||
|
||||
.repository.view.issue .comment-list .comment .content>.bottom.segment {
|
||||
background: #292b2e
|
||||
}
|
||||
|
||||
.repository.view.issue .comment-list .comment .content .header {
|
||||
color: #cbc1d5;
|
||||
background-color: #3c3c3c;
|
||||
border-bottom: 1px solid #353944
|
||||
}
|
||||
|
||||
.repository.view.issue .comment-list .comment .content .merge-section {
|
||||
background-color: #3c3c3c;
|
||||
border-top: 1px solid #353944
|
||||
}
|
||||
|
||||
.repository.view.issue .comment-list .event>.svg.issue-symbol {
|
||||
background: #3b4954
|
||||
}
|
||||
|
||||
.repository.view.issue .comment-list .event>.svg:not(.issue-symbol) {
|
||||
text-shadow: -2px 0 #292b2e, 0 2px #292b2e, 2px 0 #292b2e, 0 -2px #292b2e
|
||||
}
|
||||
|
||||
.ui .text.grey a {
|
||||
color: #cbc1d5!important
|
||||
}
|
||||
|
||||
.ui.comments .comment .actions a {
|
||||
color: #cbc1d5
|
||||
}
|
||||
|
||||
.repository.view.issue .comment-list .comment .content .header:after {
|
||||
border-right-color: #3c3c3c
|
||||
}
|
||||
|
||||
.repository.new.issue .comment.form .content:after {
|
||||
border-right-color: #292b2e
|
||||
}
|
||||
|
||||
.repository.view.issue .comment-list .comment .content .header:before {
|
||||
border-right-color: #3c3c3c
|
||||
}
|
||||
|
||||
.repository.new.issue .comment.form .content:before {
|
||||
border-right-color: #292b2e
|
||||
}
|
||||
|
||||
.repository.view.issue .comment-list .timeline-line:before,
|
||||
.repository.view.issue .comment-list:not(.prevent-before-timeline):before {
|
||||
background-color: #3b4954
|
||||
}
|
||||
|
||||
.repository .comment.form .content .form:after,
|
||||
.repository .comment.form .content .form:before {
|
||||
border-right-color: #313c47
|
||||
}
|
||||
|
||||
.ui .text.grey a:hover {
|
||||
color: #cbc1d5!important
|
||||
}
|
||||
|
||||
.ui.basic.green.active.button,
|
||||
.ui.basic.green.buttons .active.button {
|
||||
color: #a3c293 !important;
|
||||
box-shadow: 0 0 0 1px #a3c293 inset !important;
|
||||
}
|
||||
|
||||
.ui.basic.green.active.button:hover,
|
||||
.ui.basic.green.buttons .active.button:hover {
|
||||
color: #83a273 !important;
|
||||
background-color: #d3f2c3 !important;
|
||||
}
|
||||
|
||||
.ui.form textarea,
|
||||
.ui.form textarea:focus {
|
||||
color: #cbc1d5;
|
||||
background: #3c3c3c;
|
||||
border: 2px solid #292b2e
|
||||
}
|
||||
|
||||
.ui.form textarea:focus {
|
||||
border: 1px solid #456580
|
||||
}
|
||||
|
||||
.ui .info.segment.top {
|
||||
background-color: #3c3c3c!important
|
||||
}
|
||||
|
||||
.repository .diff-file-box .code-diff-unified tbody tr.del-code td {
|
||||
background-color: #3c2626!important;
|
||||
border-color: #634343!important
|
||||
}
|
||||
|
||||
.repository .diff-file-box .code-diff-unified tbody tr.add-code td {
|
||||
background-color: #283e2d!important;
|
||||
border-color: #314a37!important
|
||||
}
|
||||
|
||||
.repository .diff-file-box .code-diff tbody tr .added-code {
|
||||
background-color: #3a523a
|
||||
}
|
||||
|
||||
.hljs-section,
|
||||
.hljs-selector-id,
|
||||
.hljs-title {
|
||||
color: #986c88
|
||||
}
|
||||
|
||||
.hljs-doctag,
|
||||
.hljs-string {
|
||||
color: #8ab398
|
||||
}
|
||||
|
||||
.repository .diff-file-box .code-diff tbody tr .removed-code {
|
||||
background-color: #5f3737
|
||||
}
|
||||
|
||||
.tag-code,
|
||||
.tag-code td {
|
||||
background: #242637!important;
|
||||
border-color: transparent!important
|
||||
}
|
||||
|
||||
.ui.vertical.menu .active.item {
|
||||
background: #5d4d7a
|
||||
}
|
||||
|
||||
.ui.vertical.menu .item {
|
||||
background: #292b2e
|
||||
}
|
||||
|
||||
.ui.vertical.menu .header.item {
|
||||
background: #3c3c3c
|
||||
}
|
||||
|
||||
.ui.vertical.menu {
|
||||
background: #292b2e;
|
||||
border: 1px solid #333640
|
||||
}
|
||||
|
||||
.ui.repository.list .item:not(:first-child) {
|
||||
border-top: 1px solid #4c505c
|
||||
}
|
||||
|
||||
.ui .text.blue {
|
||||
color: #5d4d7a!important
|
||||
}
|
||||
|
||||
.ui.selection.active.dropdown,
|
||||
.ui.selection.active.dropdown .menu,
|
||||
.ui.selection.active.dropdown:hover,
|
||||
.ui.selection.active.dropdown:hover .menu {
|
||||
border-color: #4e5361;
|
||||
box-shadow: 0 2px 3px 0 rgba(34, 36, 38, .15)
|
||||
}
|
||||
|
||||
.ui.selection.dropdown {
|
||||
background: #212026;
|
||||
border: 1px solid #5d4d7a;
|
||||
color: #cbc1d5
|
||||
}
|
||||
|
||||
.ui.menu .ui.dropdown .menu>.active.item {
|
||||
color: #cbc1d5!important
|
||||
}
|
||||
|
||||
.ui.tabular.menu {
|
||||
border-bottom: 1px solid #313c47
|
||||
}
|
||||
|
||||
.ui.card,
|
||||
.ui.cards>.card {
|
||||
background: #292b2e;
|
||||
box-shadow: 0 1px 3px 0 #4c505c, 0 0 0 1px #4c505c
|
||||
}
|
||||
|
||||
.ui.card>.content>.header,
|
||||
.ui.cards>.card>.content>.header {
|
||||
color: #cbc1d5
|
||||
}
|
||||
|
||||
.ui.card>.extra a:not(.ui),
|
||||
.ui.cards>.card>.extra a:not(.ui) {
|
||||
color: #5d4d7a
|
||||
}
|
||||
|
||||
.ui .text.black {
|
||||
color: #b2b7b8
|
||||
}
|
||||
|
||||
.ui .text.black:hover {
|
||||
color: #cbc1d5
|
||||
}
|
||||
|
||||
.ui.secondary.segment {
|
||||
background: #292b2e
|
||||
}
|
||||
|
||||
.ui.secondary.pointing.menu .item {
|
||||
color: #64606b;
|
||||
border: 0;
|
||||
background: #212026
|
||||
}
|
||||
|
||||
.ui.secondary.pointing.menu .active.item,
|
||||
.ui.secondary.pointing.menu .acty.item {
|
||||
color: #cbc1d5;
|
||||
border: 0;
|
||||
background: #5d4d7a;
|
||||
}
|
||||
|
||||
.ui.user.list .item:not(:first-child) {
|
||||
border-top: 1px solid #4c505c
|
||||
}
|
||||
|
||||
.ui.secondary.pointing.menu .active.item:hover,
|
||||
.ui.secondary.pointing.menu .acty.item:hover {
|
||||
border-color: #af8b4c;
|
||||
color: #cbc1d5;
|
||||
background: #915e9e;
|
||||
}
|
||||
|
||||
.ui.secondary.pointing.menu .dropdown.item:hover,
|
||||
.ui.secondary.pointing.menu .link.item:hover,
|
||||
.ui.secondary.pointing.menu a.item:hover {
|
||||
color: #cbc1d5;
|
||||
background: #915e9e;
|
||||
}
|
||||
|
||||
.ui.checkbox+label,
|
||||
.ui.checkbox label,
|
||||
.ui.form .field>label,
|
||||
.ui.form .inline.field>label,
|
||||
.ui.form .inline.field>p,
|
||||
.ui.form .inline.fields .field>label,
|
||||
.ui.form .inline.fields .field>p,
|
||||
.ui.form .inline.fields>label {
|
||||
color: #b2b7b8
|
||||
}
|
||||
|
||||
.user.settings .email.list .item:not(:first-child) {
|
||||
border-top: 1px solid #3f4451
|
||||
}
|
||||
|
||||
.explore .navbar,
|
||||
.ui.menu.new-menu {
|
||||
background-color: #292b2e!important
|
||||
}
|
||||
|
||||
@media only screen and (max-width:1200px) {
|
||||
.ui.menu.new-menu:after {
|
||||
background-image: linear-gradient(90deg, rgba(42, 46, 42, 0), #2a2e2a)
|
||||
}
|
||||
}
|
||||
|
||||
input {
|
||||
background: #212026
|
||||
}
|
||||
|
||||
.settings .key.list .item:not(:first-child) {
|
||||
border-top: 1px solid #3c3c3c
|
||||
}
|
||||
|
||||
.ui.attached.info.message,
|
||||
.ui.info.message {
|
||||
box-shadow: inset 0 0 0 1px #4b5e71, 0 0 0 0 transparent
|
||||
}
|
||||
|
||||
.ui.bottom.attached.message {
|
||||
background-color: #2c662d;
|
||||
color: #5d4d7a
|
||||
}
|
||||
|
||||
.ui.bottom.attached.message .pull-right {
|
||||
color: #5d4d7a
|
||||
}
|
||||
|
||||
.ui.info.message {
|
||||
background-color: #2c3b4a;
|
||||
color: #9ebcc5
|
||||
}
|
||||
|
||||
.ui .warning.header {
|
||||
background-color: #292b2e!important;
|
||||
border-color: #292b2e
|
||||
}
|
||||
|
||||
.ui.red.message {
|
||||
background-color: #e0211d;
|
||||
color: #f9cbcb;
|
||||
box-shadow: inset 0 0 0 1px rgba(121, 71, 66, .5), 0 0 0 0 transparent
|
||||
}
|
||||
|
||||
.ui.red.button,
|
||||
.ui.red.buttons .button {
|
||||
background-color: #e0211d
|
||||
}
|
||||
|
||||
.ui.red.button:hover,
|
||||
.ui.red.buttons .button:hover {
|
||||
background-color: #984646
|
||||
}
|
||||
|
||||
.ui.checkbox+label:hover,
|
||||
.ui.checkbox label:hover {
|
||||
color: #cbc1d5!important
|
||||
}
|
||||
|
||||
.ui.checkbox input:checked~.box:after,
|
||||
.ui.checkbox input:checked~label:after {
|
||||
color: #7f98ad
|
||||
}
|
||||
|
||||
.ui.checkbox input:checked~.box:before,
|
||||
.ui.checkbox input:checked~label:before {
|
||||
background: #212026;
|
||||
opacity: 1;
|
||||
color: #7f98ad;
|
||||
border-color: #5d4d7a
|
||||
}
|
||||
|
||||
.ui.checkbox .box:hover:before,
|
||||
.ui.checkbox label:hover:before {
|
||||
background: #212026
|
||||
}
|
||||
|
||||
.ui.checkbox .box:before,
|
||||
.ui.checkbox label:before {
|
||||
background: #212026;
|
||||
border: 1px solid #5d4d7a
|
||||
}
|
||||
|
||||
.ui.checkbox label:before {
|
||||
border-color: #5d4d7a
|
||||
}
|
||||
|
||||
.ui.checkbox .box:active:before,
|
||||
.ui.checkbox label:active:before {
|
||||
background: #212026;
|
||||
border-color: rgba(34, 36, 38, .35)
|
||||
}
|
||||
|
||||
.ui.checkbox input:focus~.box:before,
|
||||
.ui.checkbox input:focus~label:before {
|
||||
border-color: #5d4d7a;
|
||||
background: #212026
|
||||
}
|
||||
|
||||
.ui.checkbox input:checked:focus~.box:before,
|
||||
.ui.checkbox input:checked:focus~label:before,
|
||||
.ui.checkbox input:not([type=radio]):indeterminate:focus~.box:before,
|
||||
.ui.checkbox input:not([type=radio]):indeterminate:focus~label:before {
|
||||
border-color: #5d4d7a;
|
||||
background: #212026
|
||||
}
|
||||
|
||||
.ui.checkbox input:checked:focus~.box:after,
|
||||
.ui.checkbox input:checked:focus~label:after,
|
||||
.ui.checkbox input:not([type=radio]):indeterminate:focus~.box:after,
|
||||
.ui.checkbox input:not([type=radio]):indeterminate:focus~label:after {
|
||||
color: #7f98ad
|
||||
}
|
||||
|
||||
.ui.checkbox input:focus~.box:after,
|
||||
.ui.checkbox input:focus~label,
|
||||
.ui.checkbox input:focus~label:after {
|
||||
color: #9a9a9a
|
||||
}
|
||||
|
||||
.ui.selection.dropdown:hover {
|
||||
border: 1px solid #456580
|
||||
}
|
||||
|
||||
.ui.selection.dropdown .menu>.item {
|
||||
border-top: 1px solid #313c47
|
||||
}
|
||||
|
||||
.ui.selection.visible.dropdown>.text:not(.default) {
|
||||
color: #b2b7b8
|
||||
}
|
||||
|
||||
.ui.negative.message {
|
||||
background-color: rgba(80, 23, 17, .6);
|
||||
color: #f9cbcb;
|
||||
box-shadow: inset 0 0 0 1px rgba(121, 71, 66, .5), 0 0 0 0 transparent
|
||||
}
|
||||
|
||||
.ui.positive.message {
|
||||
background-color: #34323e;
|
||||
color: #9a9a9a;
|
||||
box-shadow: 0 0 0 1px #5d4d7a inset,0 0 0 0 transparent;
|
||||
}
|
||||
|
||||
.hljs-attribute,
|
||||
.hljs-name,
|
||||
.hljs-tag {
|
||||
color: #ef5e77
|
||||
}
|
||||
|
||||
.user.profile .ui.card .extra.content ul li:not(:last-child) {
|
||||
border-bottom: 1px solid #4c505c
|
||||
}
|
||||
|
||||
.hljs-literal,
|
||||
.hljs-number,
|
||||
.hljs-tag .hljs-attr,
|
||||
.hljs-template-variable,
|
||||
.hljs-variable {
|
||||
color: #bd84bf
|
||||
}
|
||||
|
||||
.ui.form .dropzone {
|
||||
border: 2px dashed #4c505c
|
||||
}
|
||||
|
||||
.ui.basic.red.button,
|
||||
.ui.basic.red.buttons .button {
|
||||
box-shadow: inset 0 0 0 1px #a04141!important;
|
||||
color: #a04141!important
|
||||
}
|
||||
|
||||
.ui.list .list>.item .header,
|
||||
.ui.list>.item .header {
|
||||
color: #dedede
|
||||
}
|
||||
|
||||
.ui.list .list>.item .description,
|
||||
.ui.list>.item .description {
|
||||
color: #b2b7b8
|
||||
}
|
||||
|
||||
.ui.user.list .item .description a {
|
||||
color: #668cb1
|
||||
}
|
||||
|
||||
.repository.file.list #repo-files-table tbody .svg.octicon-file-directory,
|
||||
.repository.file.list #repo-files-table tbody .svg.octicon-file-submodule {
|
||||
color: #7c9b5e
|
||||
}
|
||||
|
||||
|
||||
.ui.blue.button:focus,
|
||||
.ui.blue.buttons .button:focus {
|
||||
background-color: #a27558
|
||||
}
|
||||
|
||||
.ui.basic.blue.button:focus,
|
||||
.ui.basic.blue.button:hover,
|
||||
.ui.basic.blue.buttons .button:focus,
|
||||
.ui.basic.blue.buttons .button:hover {
|
||||
box-shadow: inset 0 0 0 1px #34323e !important;
|
||||
color: #9a9aba;
|
||||
background-color: #453e57 !important;
|
||||
}
|
||||
|
||||
.repository.labels .ui.basic.black.label {
|
||||
background-color: #bbb!important
|
||||
}
|
||||
|
||||
.lines-commit {
|
||||
background: #212026!important
|
||||
}
|
||||
|
||||
.bottom-line {
|
||||
border-color: #4e525e!important
|
||||
}
|
||||
|
||||
.lines-num {
|
||||
background: #212026!important;
|
||||
color: #b2b7b8!important;
|
||||
border-color: #2d2d2d!important
|
||||
}
|
||||
|
||||
.lines-code .hljs,
|
||||
.lines-code ol,
|
||||
.lines-code pre,
|
||||
.lines-num .hljs,
|
||||
.lines-num ol,
|
||||
.lines-num pre {
|
||||
background-color: #292b2e!important
|
||||
}
|
||||
|
||||
td.blob-excerpt {
|
||||
background-color: rgba(0, 0, 0, .15)
|
||||
}
|
||||
|
||||
.code-view .active {
|
||||
background: #554a00
|
||||
}
|
||||
|
||||
|
||||
a.ui.label:hover,
|
||||
a.ui.labels .label:hover {
|
||||
background-color: #915e9e !important;
|
||||
color: #cbc1d5!important
|
||||
}
|
||||
|
||||
.repository #commits-table td.sha .sha.label,
|
||||
.repository #repo-files-table .sha.label {
|
||||
border-color: #888
|
||||
}
|
||||
|
||||
.repository #commits-table td.sha .sha.label.isSigned .detail.icon,
|
||||
.repository #repo-files-table .sha.label.isSigned .detail.icon {
|
||||
background: none;
|
||||
border-left-color: #888
|
||||
}
|
||||
|
||||
.repository .label.list .item {
|
||||
border-bottom: 1px dashed #4c505c
|
||||
}
|
||||
|
||||
.ui.basic.blue.button,
|
||||
.ui.basic.blue.buttons .button {
|
||||
box-shadow: inset 0 0 0 1px #34323e !important;
|
||||
color: #9a9aba !important;
|
||||
background-color: #34323e;
|
||||
}
|
||||
|
||||
.repository .diff-file-box .code-diff-split tbody tr.add-code td:first-child,
|
||||
.repository .diff-file-box .code-diff-split tbody tr.add-code td:nth-child(2),
|
||||
.repository .diff-file-box .code-diff-split tbody tr.add-code td:nth-child(3),
|
||||
.repository .diff-file-box .code-diff-split tbody tr.del-code td:nth-child(4),
|
||||
.repository .diff-file-box .code-diff-split tbody tr.del-code td:nth-child(5),
|
||||
.repository .diff-file-box .code-diff-split tbody tr.del-code td:nth-child(6) {
|
||||
background-color: #292b2e
|
||||
}
|
||||
|
||||
.repository .diff-file-box .code-diff-split tbody tr.add-code td:nth-child(4),
|
||||
.repository .diff-file-box .code-diff-split tbody tr.add-code td:nth-child(5),
|
||||
.repository .diff-file-box .code-diff-split tbody tr.add-code td:nth-child(6),
|
||||
.repository .diff-file-box .code-diff-split tbody tr td.add-code {
|
||||
background-color: #283e2d!important;
|
||||
border-color: #314a37!important
|
||||
}
|
||||
|
||||
.repository .diff-file-box .code-diff-split tbody tr.del-code td:first-child,
|
||||
.repository .diff-file-box .code-diff-split tbody tr.del-code td:nth-child(2),
|
||||
.repository .diff-file-box .code-diff-split tbody tr.del-code td:nth-child(3),
|
||||
.repository .diff-file-box .code-diff-split tbody tr td.del-code {
|
||||
background-color: #3c2626!important;
|
||||
border-color: #634343!important
|
||||
}
|
||||
|
||||
.ui.blue.button:active,
|
||||
.ui.blue.buttons .button:active {
|
||||
background-color: #a27558
|
||||
}
|
||||
|
||||
#git-graph-container li .author,
|
||||
#git-graph-container li a {
|
||||
color: #c79575
|
||||
}
|
||||
|
||||
.ui.header .sub.header {
|
||||
color: #b2b7b8
|
||||
}
|
||||
|
||||
.ui.dividing.header {
|
||||
border-bottom: 1px solid #4c505c
|
||||
}
|
||||
|
||||
.ui.modal>.header {
|
||||
background: #3c3c3c;
|
||||
color: #cbc1d5
|
||||
}
|
||||
|
||||
.ui.modal>.actions {
|
||||
background: #3c3c3c;
|
||||
border-top: 1px solid #3c3c3c
|
||||
}
|
||||
|
||||
.ui.modal>.content {
|
||||
background: #292b2e
|
||||
}
|
||||
|
||||
.editor-toolbar {
|
||||
background-color: #3c3c3c
|
||||
}
|
||||
|
||||
.editor-toolbar a {
|
||||
color: #5d4d7a!important
|
||||
}
|
||||
|
||||
.repository .diff-detail-box {
|
||||
background-color: #292b2e
|
||||
}
|
||||
|
||||
.repository .diff-detail-box .detail-files {
|
||||
background-color: inherit
|
||||
}
|
||||
|
||||
.comment-code-cloud .ui.attached.tabular.menu {
|
||||
background: none transparent;
|
||||
border: 0
|
||||
}
|
||||
|
||||
.comment-code-cloud .footer .markdown-info {
|
||||
color: inherit
|
||||
}
|
||||
|
||||
.file-comment {
|
||||
color: #888
|
||||
}
|
||||
|
||||
.ui.comments .comment .author {
|
||||
color: #cbc1d5
|
||||
}
|
||||
|
||||
.ui.comments .comment .metadata {
|
||||
color: #808084
|
||||
}
|
||||
|
||||
.ui.comments .comment .text {
|
||||
color: #b2b7b8
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker {
|
||||
background: #2a2e39;
|
||||
border: 1px solid #4c505c;
|
||||
color: #b2b7b8
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_mounthpicker {
|
||||
height: 36px;
|
||||
background: #464c5d;
|
||||
margin: -2px -8px 2px;
|
||||
padding: 2px 8px 0
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_mounthpicker button {
|
||||
background-image: none;
|
||||
text-indent: 0;
|
||||
text-align: center;
|
||||
color: #b2b7b8
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_mounthpicker button.xdsoft_prev:before {
|
||||
content: "\f0d9";
|
||||
font: normal normal normal 14px/1 FontAwesome, serif;
|
||||
font-size: 1.7em
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_mounthpicker button.xdsoft_next:before {
|
||||
content: "\f0da";
|
||||
font: normal normal normal 14px/1 FontAwesome, serif;
|
||||
font-size: 1.7em
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_mounthpicker button.xdsoft_today_button:before {
|
||||
content: "\f015";
|
||||
font: normal normal normal 14px/1 FontAwesome, serif;
|
||||
font-size: 1.4em
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_mounthpicker>div.xdsoft_label {
|
||||
background: #464c5d
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_mounthpicker>div.xdsoft_label i {
|
||||
line-height: 14px;
|
||||
background-image: none;
|
||||
text-indent: 0;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_mounthpicker>div.xdsoft_label i:before {
|
||||
content: "\f0dd";
|
||||
font: normal normal normal 14px/1 FontAwesome, serif;
|
||||
font-size: .7em
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_mounthpicker>div.xdsoft_label .xdsoft_select {
|
||||
background: #292b2e
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_datepicker .xdsoft_calendar td,
|
||||
.xdsoft_datetimepicker .xdsoft_datepicker .xdsoft_calendar th {
|
||||
border-color: #4c505c;
|
||||
background-color: #2a2e39
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_datepicker .xdsoft_calendar td.xdsoft_disabled,
|
||||
.xdsoft_datetimepicker .xdsoft_datepicker .xdsoft_calendar td.xdsoft_other_month {
|
||||
opacity: .8;
|
||||
background: #915e9e;
|
||||
color: #000
|
||||
}
|
||||
|
||||
.heatmap-color-0 {
|
||||
background-color: #212026
|
||||
}
|
||||
|
||||
.heatmap-color-1 {
|
||||
background-color: #302b3b
|
||||
}
|
||||
|
||||
.heatmap-color-2 {
|
||||
background-color: #3f3750
|
||||
}
|
||||
|
||||
.heatmap-color-3 {
|
||||
background-color: #4e4265
|
||||
}
|
||||
|
||||
.heatmap-color-4 {
|
||||
background-color: #5d4d7a
|
||||
}
|
||||
|
||||
.activity-bar-graph,
|
||||
.heatmap-color-5 {
|
||||
background-color: #5E5981
|
||||
}
|
||||
|
||||
.activity-bar-graph {
|
||||
color: #b2b7b8
|
||||
}
|
||||
|
||||
.CodeMirror {
|
||||
color: #9daccc;
|
||||
background-color: #2b2b2b;
|
||||
border-top: 0
|
||||
}
|
||||
|
||||
.CodeMirror div.CodeMirror-cursor {
|
||||
border-left: 1px solid #b2b7b8
|
||||
}
|
||||
|
||||
.CodeMirror .CodeMirror-gutters {
|
||||
background-color: #2b2b2b
|
||||
}
|
||||
|
||||
.CodeMirror::-moz-selection {
|
||||
background: #42402f!important
|
||||
}
|
||||
|
||||
.CodeMirror .CodeMirror-selected,
|
||||
.CodeMirror::-moz-selection,
|
||||
.CodeMirror::selection {
|
||||
background: #42402f!important
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-property,
|
||||
.CodeMirror.cm-s-paper .cm-property {
|
||||
color: #915e9e
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-header,
|
||||
.CodeMirror.cm-s-paper .cm-header {
|
||||
color: #9daccc
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-quote,
|
||||
.CodeMirror.cm-s-paper .cm-quote {
|
||||
color: #090
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-keyword,
|
||||
.CodeMirror.cm-s-paper .cm-keyword {
|
||||
color: #cc8a61
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-atom,
|
||||
.CodeMirror.cm-s-paper .cm-atom {
|
||||
color: #ef5e77
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-number,
|
||||
.CodeMirror.cm-s-paper .cm-number {
|
||||
color: #ff5656
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-def,
|
||||
.CodeMirror.cm-s-paper .cm-def {
|
||||
color: #e4e4e4
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-variable-2,
|
||||
.CodeMirror.cm-s-paper .cm-variable-2 {
|
||||
color: #00bdbf
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-variable-3,
|
||||
.CodeMirror.cm-s-paper .cm-variable-3 {
|
||||
color: #085
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-comment,
|
||||
.CodeMirror.cm-s-paper .cm-comment {
|
||||
color: #8e9ab3
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-string,
|
||||
.CodeMirror.cm-s-paper .cm-string {
|
||||
color: #a77272
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-string-2,
|
||||
.CodeMirror.cm-s-paper .cm-string-2 {
|
||||
color: #f50
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-meta,
|
||||
.CodeMirror.cm-s-default .cm-qualifier,
|
||||
.CodeMirror.cm-s-paper .cm-meta,
|
||||
.CodeMirror.cm-s-paper .cm-qualifier {
|
||||
color: #ffb176
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-builtin,
|
||||
.CodeMirror.cm-s-paper .cm-builtin {
|
||||
color: #b7c951
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-bracket,
|
||||
.CodeMirror.cm-s-paper .cm-bracket {
|
||||
color: #997
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-tag,
|
||||
.CodeMirror.cm-s-paper .cm-tag {
|
||||
color: #f1d273
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-attribute,
|
||||
.CodeMirror.cm-s-paper .cm-attribute {
|
||||
color: #bfcc70
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-hr,
|
||||
.CodeMirror.cm-s-paper .cm-hr {
|
||||
color: #999
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-url,
|
||||
.CodeMirror.cm-s-paper .cm-url {
|
||||
color: #c5cfd0
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-link,
|
||||
.CodeMirror.cm-s-paper .cm-link {
|
||||
color: #d8c792
|
||||
}
|
||||
|
||||
.CodeMirror.cm-s-default .cm-error,
|
||||
.CodeMirror.cm-s-paper .cm-error {
|
||||
color: #dbdbeb
|
||||
}
|
||||
|
||||
.ui.popup {
|
||||
color: #b2b7b8;
|
||||
border-color: #b2b7b8
|
||||
}
|
||||
|
||||
.ui.popup,
|
||||
.ui.popup.top:before {
|
||||
background-color: #292b2e
|
||||
}
|
||||
|
||||
div.secondary:nth-child(1) > a:first-of-type,
|
||||
div.secondary:nth-child(1) > a:first-of-type,
|
||||
.tabular > div:nth-child(7) > a:first-of-type,
|
||||
.tabular > a:first-of-type,
|
||||
div.secondary:nth-child(1) > a:first-of-type,
|
||||
div.two:nth-child(1) > a:first-of-type,
|
||||
div.tiny > a:first-of-type {
|
||||
border-top-left-radius: 290486px !important;
|
||||
border-bottom-left-radius: 290486px !important;
|
||||
}
|
||||
|
||||
div.secondary:nth-child(1) > a:last-of-type,
|
||||
div.secondary:nth-child(1) > a:last-of-type,
|
||||
.tabular > div:nth-child(7) > a:last-of-type,
|
||||
.tabular > a:last-of-type,
|
||||
.pointing > a:last-of-type,
|
||||
div.secondary:last-of-type > a:last-of-type,
|
||||
div.two:nth-child(1) > a:last-of-type,
|
||||
div.tiny > a:last-of-type {
|
||||
border-top-right-radius: 290486px !important;
|
||||
border-bottom-right-radius: 290486px !important;
|
||||
}
|
||||
|
||||
|
||||
.ui.form input[type="file"] {
|
||||
background-color: #292b2e;
|
||||
color: #686868;
|
||||
}
|
||||
|
||||
html body div.full.height div.repository.file.list div.ui.container table#repo-files-table.ui.single.line.table tbody tr td.name.four.wide span.truncate a {
|
||||
color: #4f97d7;
|
||||
}
|
||||
|
||||
html body div.full.height div.repository.file.list div.ui.container table#repo-files-table.ui.single.line.table tbody tr td.message.nine.wide span.truncate.has-emoji a {
|
||||
color: #2aa1ae;
|
||||
}
|
||||
|
||||
#repo-clone-url {
|
||||
background: #212026;
|
||||
color: #b2b2b2;
|
||||
border: 2px solid #212026;
|
||||
}
|
||||
|
||||
html body div.full.height div.repository.file.list div.ui.container table#repo-files-table.ui.single.line.table thead tr.commit-list th a.ui.sha.label {
|
||||
background: #34323e;
|
||||
color: #9a9aba;
|
||||
border: 1px solid #5d4d7a;
|
||||
}
|
||||
|
||||
html body div.full.height div.repository.file.list div.ui.container table#repo-files-table.ui.single.line.table thead tr.commit-list th a.ui.sha.label:hover {
|
||||
background: #5e5079 !important;
|
||||
color: #9a9aba;
|
||||
}
|
||||
|
||||
html body div.full.height div.repository.file.list div.ui.container div.tab-size-8.non-diff-file-content h4.file-header.ui.top.attached.header div.file-header-right div.ui.right.file-actions div.ui.buttons a.ui.button {
|
||||
background: #5e5079;
|
||||
color: #9a9a9a;
|
||||
}
|
||||
|
||||
html body div.full.height div.dashboard.issues div.ui.container div.ui.stackable.grid div.four.wide.column div.ui.secondary.vertical.filter.menu,
|
||||
html body div.full.height div.dashboard.issues div.ui.container div.ui.stackable.grid div.four.wide.column div.ui.secondary.vertical.filter.menu div.ui.divider {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
div.tab:nth-child(2) > h4:nth-child(1) {
|
||||
color: #b2b2b2;
|
||||
}
|
||||
|
||||
p {
|
||||
color: #a1a1a1;
|
||||
}
|
||||
|
||||
span.ui.grey.label,
|
||||
div.ui.mini.circular.grey.label,
|
||||
span.ui.gray.small.label {
|
||||
background-color: #3c3c3c !important;
|
||||
}
|
||||
|
||||
html body div.full.height div.repository.file.list div.ui.container table#repo-files-table.ui.single.line.table {
|
||||
border: 0px;
|
||||
padding-bottom: 1em;
|
||||
}
|
||||
|
||||
html body div.full.height div.repository.file.list div.ui.container div.tab-size-8.non-diff-file-content div.ui.attached.table.unstackable.segment {
|
||||
background-color: #222226;
|
||||
}
|
||||
|
||||
html body div.full.height div.repository.file.list div.ui.container div.tab-size-8.non-diff-file-content h4.file-header.ui.top.attached.header {
|
||||
padding: 1em 2em !important;
|
||||
}
|
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 9.1 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 26 KiB |
|
@ -0,0 +1,38 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||
width="700.000000pt" height="700.000000pt" viewBox="0 0 700.000000 700.000000"
|
||||
preserveAspectRatio="xMidYMid meet">
|
||||
<metadata>
|
||||
Created by potrace 1.11, written by Peter Selinger 2001-2013
|
||||
</metadata>
|
||||
<g transform="translate(0.000000,700.000000) scale(0.100000,-0.100000)"
|
||||
fill="#000000" stroke="none">
|
||||
<path d="M1305 5289 c-172 -23 -358 -86 -489 -163 -235 -140 -423 -400 -496
|
||||
-687 -61 -236 -40 -648 44 -904 40 -121 147 -331 213 -420 194 -259 507 -453
|
||||
898 -554 110 -29 220 -47 429 -71 183 -21 216 -30 216 -55 0 -28 129 -266 206
|
||||
-382 117 -176 223 -305 383 -464 166 -165 287 -253 391 -285 63 -18 103 -19
|
||||
1115 -18 l1050 0 90 46 c113 58 190 115 300 226 268 268 500 676 720 1267 181
|
||||
488 326 1090 365 1522 17 178 8 618 -13 690 -23 78 -79 175 -117 201 -30 20
|
||||
-45 22 -164 22 -73 0 -321 -9 -551 -20 -674 -32 -1174 -50 -1415 -51 -124 0
|
||||
-219 -3 -212 -6 9 -4 12 -136 12 -614 l0 -609 -75 37 -75 37 0 572 0 571 -112
|
||||
6 c-62 4 -178 7 -258 7 -245 0 -1044 36 -1815 81 -460 27 -556 30 -640 18z
|
||||
m225 -568 c0 -34 64 -470 86 -581 53 -278 127 -559 224 -845 28 -82 55 -167
|
||||
59 -187 9 -37 8 -38 -18 -38 -29 0 -200 40 -306 72 -244 73 -472 232 -589 411
|
||||
-72 111 -132 293 -157 481 -44 340 146 616 471 681 77 15 230 19 230 6z m2443
|
||||
-710 c64 -30 120 -57 123 -62 5 -9 -71 -167 -115 -237 -17 -28 -37 -46 -59
|
||||
-53 -46 -15 -99 -64 -124 -113 -19 -38 -20 -45 -8 -122 15 -96 16 -94 -101
|
||||
-324 -98 -194 -121 -227 -172 -249 -48 -21 -103 -78 -113 -117 -11 -44 2 -113
|
||||
30 -152 69 -100 194 -109 273 -19 47 54 59 107 38 171 -9 28 -21 58 -25 66 -8
|
||||
14 188 421 227 468 10 13 43 32 73 42 50 17 58 17 100 3 67 -22 219 -103 256
|
||||
-135 69 -61 56 -128 -78 -423 -65 -142 -80 -162 -142 -189 -86 -38 -134 -116
|
||||
-123 -198 7 -50 25 -77 76 -112 78 -54 173 -45 235 24 52 58 60 98 33 176 -25
|
||||
76 -30 58 83 307 171 379 149 464 -164 633 -117 62 -151 93 -171 154 -14 42
|
||||
-15 56 -4 87 13 40 91 209 107 231 11 16 115 -30 502 -222 358 -178 391 -203
|
||||
424 -315 21 -71 20 -100 -3 -158 -38 -95 -176 -386 -372 -781 -211 -424 -231
|
||||
-456 -313 -493 -58 -26 -141 -24 -218 5 -105 40 -295 129 -673 316 -437 217
|
||||
-521 265 -557 323 -50 80 -61 166 -29 239 102 238 506 1054 568 1148 58 88 78
|
||||
107 130 126 73 27 154 14 286 -45z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 1.5 KiB |
|
@ -0,0 +1,29 @@
|
|||
<div class="ui secondary pointing tabular top attached borderless menu stackable new-menu navbar">
|
||||
<a class="item {{if .PageIsAdminDashboard}}acty{{end}}" href="{{AppSubUrl}}/admin">
|
||||
{{.i18n.Tr "admin.dashboard"}}
|
||||
</a>
|
||||
<a class="item {{if .PageIsAdminUsers}}acty{{end}}" href="{{AppSubUrl}}/admin/users">
|
||||
{{.i18n.Tr "admin.users"}}
|
||||
</a>
|
||||
<a class="item {{if .PageIsAdminOrganizations}}acty{{end}}" href="{{AppSubUrl}}/admin/orgs">
|
||||
{{.i18n.Tr "admin.organizations"}}
|
||||
</a>
|
||||
<a class="item {{if .PageIsAdminRepositories}}acty{{end}}" href="{{AppSubUrl}}/admin/repos">
|
||||
{{.i18n.Tr "admin.repositories"}}
|
||||
</a>
|
||||
<a class="item {{if .PageIsAdminHooks}}acty{{end}}" href="{{AppSubUrl}}/admin/hooks">
|
||||
{{.i18n.Tr "admin.hooks"}}
|
||||
</a>
|
||||
<a class="item {{if .PageIsAdminAuthentications}}acty{{end}}" href="{{AppSubUrl}}/admin/auths">
|
||||
{{.i18n.Tr "admin.authentication"}}
|
||||
</a>
|
||||
<a class="item {{if .PageIsAdminConfig}}acty{{end}}" href="{{AppSubUrl}}/admin/config">
|
||||
{{.i18n.Tr "admin.config"}}
|
||||
</a>
|
||||
<a class="item {{if .PageIsAdminNotices}}acty{{end}}" href="{{AppSubUrl}}/admin/notices">
|
||||
{{.i18n.Tr "admin.notices"}}
|
||||
</a>
|
||||
<a class="item {{if .PageIsAdminMonitor}}acty{{end}}" href="{{AppSubUrl}}/admin/monitor">
|
||||
{{.i18n.Tr "admin.monitor"}}
|
||||
</a>
|
||||
</div>
|
|
@ -0,0 +1,176 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head data-suburl="{{AppSubUrl}}">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||
<title>{{if .Title}}{{.Title}} - {{end}}{{AppName}}</title>
|
||||
<link rel="manifest" href="{{AppSubUrl}}/manifest.json">
|
||||
|
||||
<script>
|
||||
if ('serviceWorker' in navigator) {
|
||||
window.addEventListener('load', function() {
|
||||
navigator.serviceWorker.register('{{AppSubUrl}}/serviceworker.js').then(function(registration) {
|
||||
// Registration was successful
|
||||
console.log('ServiceWorker registration successful with scope: ', registration.scope);
|
||||
}, function(err) {
|
||||
// registration failed :(
|
||||
console.log('ServiceWorker registration failed: ', err);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<meta name="theme-color" content="{{ThemeColorMetaTag}}">
|
||||
<meta name="author" content="{{if .Repository}}{{.Owner.Name}}{{else}}{{MetaAuthor}}{{end}}" />
|
||||
<meta name="description" content="{{if .Repository}}{{.Repository.Name}}{{if .Repository.Description}} - {{.Repository.Description}}{{end}}{{else}}{{MetaDescription}}{{end}}" />
|
||||
<meta name="keywords" content="{{MetaKeywords}}">
|
||||
<meta name="referrer" content="no-referrer" />
|
||||
<meta name="_csrf" content="{{.CsrfToken}}" />
|
||||
<meta name="_suburl" content="{{AppSubUrl}}" />
|
||||
{{if .IsSigned}}
|
||||
<meta name="_uid" content="{{.SignedUser.ID}}" />
|
||||
{{end}}
|
||||
{{if .ContextUser}}
|
||||
<meta name="_context_uid" content="{{.ContextUser.ID}}" />
|
||||
{{end}}
|
||||
{{if .SearchLimit}}
|
||||
<meta name="_search_limit" content="{{.SearchLimit}}" />
|
||||
{{end}}
|
||||
{{if .GoGetImport}}
|
||||
<meta name="go-import" content="{{.GoGetImport}} git {{.CloneLink.HTTPS}}">
|
||||
<meta name="go-source" content="{{.GoGetImport}} _ {{.GoDocDirectory}} {{.GoDocFile}}">
|
||||
{{end}}
|
||||
|
||||
<script>
|
||||
{{SafeJS `/*
|
||||
@licstart The following is the entire license notice for the
|
||||
JavaScript code in this page.
|
||||
|
||||
Copyright (c) 2016 The Gitea Authors
|
||||
Copyright (c) 2015 The Gogs Authors
|
||||
|
||||
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.
|
||||
---
|
||||
Licensing information for additional javascript libraries can be found at:
|
||||
{{AppSubUrl}}/vendor/librejs.html
|
||||
|
||||
@licend The above is the entire license notice
|
||||
for the JavaScript code in this page.
|
||||
*/`}}
|
||||
</script>
|
||||
|
||||
<link rel="shortcut icon" href="{{AppSubUrl}}/img/favicon.png" />
|
||||
<link rel="mask-icon" href="{{AppSubUrl}}/img/gitea-safari.svg" color="#609926">
|
||||
<link rel="preload" href="{{AppSubUrl}}/vendor/assets/font-awesome/css/font-awesome.min.css" as="style" onload="this.rel='stylesheet'">
|
||||
<noscript><link rel="stylesheet" href="{{AppSubUrl}}/vendor/assets/font-awesome/css/font-awesome.min.css"></noscript>
|
||||
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/assets/octicons/octicons.min.css">
|
||||
|
||||
{{if .RequireSimpleMDE}}
|
||||
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/simplemde/simplemde.min.css">
|
||||
{{end}}
|
||||
|
||||
{{if .RequireGitGraph}}
|
||||
<!-- graph -->
|
||||
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/gitgraph/gitgraph.css">
|
||||
{{end}}
|
||||
|
||||
{{if .RequireTribute}}
|
||||
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/tribute/tribute.css">
|
||||
{{end}}
|
||||
|
||||
<!-- Stylesheet -->
|
||||
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/semantic/semantic.min.css">
|
||||
<link rel="stylesheet" href="{{AppSubUrl}}/css/index.css?v={{MD5 AppVer}}">
|
||||
<noscript>
|
||||
<style>
|
||||
.dropdown:hover > .menu { display: block; }
|
||||
.ui.secondary.menu .dropdown.item > .menu { margin-top: 0; }
|
||||
</style>
|
||||
</noscript>
|
||||
|
||||
{{if .RequireHighlightJS}}
|
||||
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/highlight/github.css">
|
||||
{{end}}
|
||||
{{if .RequireMinicolors}}
|
||||
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/jquery.minicolors/jquery.minicolors.css">
|
||||
{{end}}
|
||||
{{if .RequireDatetimepicker}}
|
||||
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/jquery.datetimepicker/jquery.datetimepicker.css">
|
||||
{{end}}
|
||||
{{if .RequireDropzone}}
|
||||
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/dropzone/dropzone.css">
|
||||
{{end}}
|
||||
{{if .EnableHeatmap}}
|
||||
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/vue-calendar-heatmap/vue-calendar-heatmap.css">
|
||||
{{end}}
|
||||
<style class="list-search-style"></style>
|
||||
|
||||
<script src="{{AppSubUrl}}/vendor/plugins/cssrelpreload/loadCSS.min.js"></script>
|
||||
<script src="{{AppSubUrl}}/vendor/plugins/cssrelpreload/cssrelpreload.min.js"></script>
|
||||
{{if .PageIsUserProfile}}
|
||||
<meta property="og:title" content="{{.Owner.Name}}" />
|
||||
<meta property="og:type" content="profile" />
|
||||
<meta property="og:image" content="{{.Owner.AvatarLink}}" />
|
||||
<meta property="og:url" content="{{.Owner.HTMLURL}}" />
|
||||
<meta property="og:site_name" content="{{AppName}}" />
|
||||
{{else if .Repository}}
|
||||
<meta property="og:title" content="{{.Repository.Name}}" />
|
||||
<meta property="og:type" content="object" />
|
||||
<meta property="og:image" content="{{.Repository.Owner.AvatarLink}}" />
|
||||
<meta property="og:url" content="{{.Repository.HTMLURL}}" />
|
||||
{{if .Repository.Description}}
|
||||
<meta property="og:description" content="{{.Repository.Description}}" />
|
||||
{{end}}
|
||||
<meta property="og:site_name" content="{{AppName}}" />
|
||||
{{else}}
|
||||
<meta property="og:title" content="{{AppName}}">
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:image" content="{{AppSubUrl}}/img/gitea-lg.png" />
|
||||
<meta property="og:url" content="{{AppUrl}}" />
|
||||
<meta property="og:description" content="{{MetaDescription}}">
|
||||
{{end}}
|
||||
{{if .IsSigned }}
|
||||
{{ if ne .SignedUser.Theme "gitea" }}
|
||||
<link rel="stylesheet" href="{{AppSubUrl}}/css/theme-{{.SignedUser.Theme}}.css">
|
||||
{{end}}
|
||||
{{else if ne DefaultTheme "gitea"}}
|
||||
<link rel="stylesheet" href="{{AppSubUrl}}/css/theme-{{DefaultTheme}}.css">
|
||||
{{end}}
|
||||
{{template "custom/header" .}}
|
||||
</head>
|
||||
<body>
|
||||
{{template "custom/body_outer_pre" .}}
|
||||
|
||||
<div class="full height">
|
||||
<noscript>{{.i18n.Tr "enable_javascript"}}</noscript>
|
||||
|
||||
{{template "custom/body_inner_pre" .}}
|
||||
|
||||
{{if not .PageIsInstall}}
|
||||
<div class="ui top secondary stackable main menu following bar light">
|
||||
{{template "base/head_navbar" .}}
|
||||
</div><!-- end bar -->
|
||||
{{end}}
|
||||
{{/*
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
*/}}
|
|
@ -0,0 +1,16 @@
|
|||
<div class="ui secondary pointing tabular top attached borderless stackable menu navbar">
|
||||
<a class="item {{if .PageIsExploreRepositories}}acty{{end}}" href="{{AppSubUrl}}/explore/repos">
|
||||
{{svg "octicon-repo" 16}} {{.i18n.Tr "explore.repos"}}
|
||||
</a>
|
||||
<a class="item {{if .PageIsExploreUsers}}acty{{end}}" href="{{AppSubUrl}}/explore/users">
|
||||
{{svg "octicon-person" 16}} {{.i18n.Tr "explore.users"}}
|
||||
</a>
|
||||
<a class="item {{if .PageIsExploreOrganizations}}acty{{end}}" href="{{AppSubUrl}}/explore/organizations">
|
||||
{{svg "octicon-organization" 16}} {{.i18n.Tr "explore.organizations"}}
|
||||
</a>
|
||||
{{if .IsRepoIndexerEnabled}}
|
||||
<a class="item {{if .PageIsExploreCode}}acty{{end}}" href="{{AppSubUrl}}/explore/code">
|
||||
{{svg "octicon-code" 16}} {{.i18n.Tr "explore.code"}}
|
||||
</a>
|
||||
{{end}}
|
||||
</div>
|
|
@ -0,0 +1,143 @@
|
|||
<div class="header-wrapper">
|
||||
{{with .Repository}}
|
||||
<div class="ui container">
|
||||
<div class="repo-header">
|
||||
<div class="ui huge breadcrumb repo-title">
|
||||
{{if .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}}
|
||||
{{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 .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}}
|
||||
{{if .IsGenerated}}<div class="fork-flag">{{$.i18n.Tr "repo.generated_from"}} <a href="{{.TemplateRepo.Link}}">{{SubStr .TemplateRepo.RelLink 1 -1}}</a></div>{{end}}
|
||||
</div>
|
||||
{{if not .IsBeingCreated}}
|
||||
<div class="repo-buttons">
|
||||
<div class="ui labeled button" tabindex="0">
|
||||
<a class="ui compact basic button" href="{{$.RepoLink}}/action/{{if $.IsWatchingRepo}}un{{end}}watch?redirect_to={{$.Link}}">
|
||||
<i class="icon fa-eye{{if not $.IsWatchingRepo}}-slash{{end}}"></i>{{if $.IsWatchingRepo}}{{$.i18n.Tr "repo.unwatch"}}{{else}}{{$.i18n.Tr "repo.watch"}}{{end}}
|
||||
</a>
|
||||
<a class="ui basic label" href="{{.Link}}/watchers">
|
||||
{{.NumWatches}}
|
||||
</a>
|
||||
</div>
|
||||
<div class="ui labeled button" tabindex="0">
|
||||
<a class="ui compact basic button" href="{{$.RepoLink}}/action/{{if $.IsStaringRepo}}un{{end}}star?redirect_to={{$.Link}}">
|
||||
<i class="icon star{{if not $.IsStaringRepo}} outline{{end}}"></i>{{if $.IsStaringRepo}}{{$.i18n.Tr "repo.unstar"}}{{else}}{{$.i18n.Tr "repo.star"}}{{end}}
|
||||
</a>
|
||||
<a class="ui basic label" href="{{.Link}}/stars">
|
||||
{{.NumStars}}
|
||||
</a>
|
||||
</div>
|
||||
{{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">
|
||||
{{svg "octicon-repo-forked" 16}}{{$.i18n.Tr "repo.fork"}}
|
||||
</a>
|
||||
<a class="ui basic label" href="{{.Link}}/forks">
|
||||
{{.NumForks}}
|
||||
</a>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
{{end}}
|
||||
</div><!-- end grid -->
|
||||
</div><!-- end container -->
|
||||
{{end}}
|
||||
<div class="ui tabs container">
|
||||
{{if not .Repository.IsBeingCreated}}
|
||||
<div class="ui tabular stackable menu navbar">
|
||||
{{if .Permission.CanRead $.UnitTypeCode}}
|
||||
<a class="item {{if .PageIsViewCode}}acty{{end}}" href="{{.RepoLink}}{{if (ne .BranchName .Repository.DefaultBranch)}}/src/{{.BranchNameSubURL | EscapePound}}{{end}}">
|
||||
{{svg "octicon-code" 16}} {{.i18n.Tr "repo.code"}}
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
{{if .Permission.CanRead $.UnitTypeIssues}}
|
||||
<a class="item {{if .PageIsIssueList}}acty{{end}}" href="{{.RepoLink}}/issues">
|
||||
{{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="item {{if .PageIsIssueList}}acty{{end}}" href="{{.RepoExternalIssuesLink}}" target="_blank" rel="noopener noreferrer">
|
||||
{{svg "octicon-link-external" 16}} {{.i18n.Tr "repo.issues"}} </span>
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
{{if and .Repository.CanEnablePulls (.Permission.CanRead $.UnitTypePullRequests)}}
|
||||
<a class="item {{if .PageIsPullList}}acty{{end}}" href="{{.RepoLink}}/pulls">
|
||||
{{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="item {{if .PageIsReleaseList}}acty{{end}}" href="{{.RepoLink}}/releases">
|
||||
{{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="item {{if .PageIsWiki}}acty{{end}}" href="{{.RepoLink}}/wiki" {{if (.Permission.CanRead $.UnitTypeExternalWiki)}} target="_blank" rel="noopener noreferrer" {{end}}>
|
||||
{{svg "octicon-book" 16}} {{.i18n.Tr "repo.wiki"}}
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
{{if and (.Permission.CanReadAny $.UnitTypePullRequests $.UnitTypeIssues $.UnitTypeReleases) (not .IsEmptyRepo)}}
|
||||
<a class="item {{if .PageIsActivity}}acty{{end}}" href="{{.RepoLink}}/activity">
|
||||
{{svg "octicon-pulse" 16}} {{.i18n.Tr "repo.activity"}}
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
{{template "custom/extra_tabs" .}}
|
||||
|
||||
{{if .Permission.IsAdmin}}
|
||||
<div class="right menu">
|
||||
<a class="item {{if .PageIsSettings}}acty{{end}}" href="{{.RepoLink}}/settings">
|
||||
{{svg "octicon-tools" 16}} {{.i18n.Tr "repo.settings"}}
|
||||
</a>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
<div class="ui tabs divider"></div>
|
||||
</div>
|
|
@ -0,0 +1,154 @@
|
|||
{{template "base/head" .}}
|
||||
<div class="repository file list">
|
||||
{{template "repo/header" .}}
|
||||
<div class="ui container">
|
||||
{{template "base/alert" .}}
|
||||
<div class="ui repo-description">
|
||||
<div id="repo-desc">
|
||||
{{if .Repository.DescriptionHTML}}<span class="description has-emoji">{{.Repository.DescriptionHTML}}</span>{{else if .IsRepositoryAdmin}}<span class="no-description text-italic">{{.i18n.Tr "repo.no_desc"}}</span>{{end}}
|
||||
<a class="link" href="{{.Repository.Website}}">{{.Repository.Website}}</a>
|
||||
</div>
|
||||
{{if .RepoSearchEnabled}}
|
||||
<div class="ui repo-search">
|
||||
<form class="ui form ignore-dirty" action="{{.RepoLink}}/search" method="get">
|
||||
<div class="field">
|
||||
<div class="ui action input">
|
||||
<input name="q" value="{{.Keyword}}" placeholder="{{.i18n.Tr "repo.search.search_repo"}}">
|
||||
<button class="ui icon button" type="submit">
|
||||
<i class="search icon"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
<div class="ui" id="repo-topics">
|
||||
{{range .Topics}}<a class="ui repo-topic small label topic" href="{{AppSubUrl}}/explore/repos?q={{.Name}}&topic=1">{{.Name}}</a>{{end}}
|
||||
{{if and .Permission.IsAdmin (not .Repository.IsArchived)}}<a id="manage_topic">{{.i18n.Tr "repo.topic.manage_topics"}}</a>{{end}}
|
||||
</div>
|
||||
{{if and .Permission.IsAdmin (not .Repository.IsArchived)}}
|
||||
<div class="ui repo-topic-edit grid form segment error" id="topic_edit" style="display:none">
|
||||
<div class="fourteen wide column">
|
||||
<div class="field">
|
||||
<div class="ui fluid multiple search selection dropdown">
|
||||
<input type="hidden" name="topics" value="{{range $i, $v := .Topics}}{{.Name}}{{if lt (Add $i 1) (len $.Topics)}},{{end}}{{end}}">
|
||||
{{range .Topics}}
|
||||
<div class="ui small label topic transition visible" data-value="{{.Name}}" style="display: inline-block !important; cursor: default;">{{.Name}}<i class="delete icon"></i></div>
|
||||
{{end}}
|
||||
<div class="text"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="two wide column">
|
||||
<a class="ui button primary" href="javascript:;" id="save_topic"
|
||||
data-link="{{.RepoLink}}/topics">{{.i18n.Tr "repo.topic.done"}}</a>
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
<div class="hide" id="validate_prompt">
|
||||
<span id="count_prompt">{{.i18n.Tr "repo.topic.count_prompt"}}</span>
|
||||
<span id="format_prompt">{{.i18n.Tr "repo.topic.format_prompt"}}</span>
|
||||
</div>
|
||||
{{if .Repository.IsArchived}}
|
||||
<div class="ui warning message">
|
||||
{{.i18n.Tr "repo.archive.title"}}
|
||||
</div>
|
||||
{{end}}
|
||||
{{template "repo/sub_menu" .}}
|
||||
<div class="ui stackable secondary menu mobile--margin-between-items mobile--no-negative-margins">
|
||||
{{template "repo/branch_dropdown" .}}
|
||||
{{ $n := len .TreeNames}}
|
||||
{{ $l := Subtract $n 1}}
|
||||
<!-- If home page, show new PR. If not, show breadcrumb -->
|
||||
{{if eq $n 0}}
|
||||
{{if and .PullRequestCtx.Allowed .IsViewBranch (not .Repository.IsArchived)}}
|
||||
<div class="fitted item">
|
||||
<a href="{{.BaseRepo.Link}}/compare/{{.BaseRepo.DefaultBranch | EscapePound}}...{{if ne .Repository.Owner.Name .BaseRepo.Owner.Name}}{{.Repository.Owner.Name}}:{{end}}{{.BranchName | EscapePound}}">
|
||||
<button id="new-pull-request" class="ui compact basic button">{{.i18n.Tr "repo.pulls.compare_changes"}}</button>
|
||||
</a>
|
||||
</div>
|
||||
{{end}}
|
||||
{{else}}
|
||||
<div class="fitted item"><span class="ui breadcrumb repo-path"><a class="section" href="{{.RepoLink}}/src/{{EscapePound .BranchNameSubURL}}" title="{{.Repository.Name}}">{{EllipsisString .Repository.Name 30}}</a>{{range $i, $v := .TreeNames}}<span class="divider">/</span>{{if eq $i $l}}<span class="active section" title="{{$v}}">{{EllipsisString $v 30}}</span>{{else}}{{ $p := index $.Paths $i}}<span class="section"><a href="{{EscapePound $.BranchLink}}/{{EscapePound $p}}" title="{{$v}}">{{EllipsisString $v 30}}</a></span>{{end}}{{end}}</span></div>
|
||||
{{end}}
|
||||
<div class="right fitted item" id="file-buttons">
|
||||
<div class="ui tiny blue buttons">
|
||||
{{if .Repository.CanEnableEditor}}
|
||||
{{if .CanAddFile}}
|
||||
<a href="{{.RepoLink}}/_new/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}" class="ui button">
|
||||
{{.i18n.Tr "repo.editor.new_file"}}
|
||||
</a>
|
||||
{{end}}
|
||||
{{if .CanUploadFile}}
|
||||
<a href="{{.RepoLink}}/_upload/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}" class="ui button">
|
||||
{{.i18n.Tr "repo.editor.upload_file"}}
|
||||
</a>
|
||||
{{end}}
|
||||
{{end}}
|
||||
{{if and (ne $n 0) (not .IsViewFile) (not .IsBlame) }}
|
||||
<a href="{{.RepoLink}}/commits/{{EscapePound .BranchNameSubURL}}/{{EscapePound .TreePath}}" class="ui button">
|
||||
{{.i18n.Tr "repo.file_history"}}
|
||||
</a>
|
||||
{{end}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="fitted item">
|
||||
{{if eq $n 0}}
|
||||
{{if .Repository.IsTemplate}}
|
||||
<div class="ui tiny blue buttons">
|
||||
<a href="{{AppSubUrl}}/repo/create?template_id={{.Repository.ID}}" class="ui button">
|
||||
{{.i18n.Tr "repo.use_template"}}
|
||||
</a>
|
||||
</div>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</div>
|
||||
<div class="fitted item">
|
||||
|
||||
<!-- Only show clone panel in repository home page -->
|
||||
{{if eq $n 0}}
|
||||
<div class="ui action tiny input" id="clone-panel">
|
||||
{{if not $.DisableHTTP}}
|
||||
<button class="ui basic clone button" id="repo-clone-https" data-link="{{.CloneLink.HTTPS}}">
|
||||
{{if UseHTTPS}}HTTPS{{else}}HTTP{{end}}
|
||||
</button>
|
||||
{{end}}
|
||||
{{if and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH)}}
|
||||
<button class="ui basic clone button" id="repo-clone-ssh" data-link="{{.CloneLink.SSH}}">
|
||||
SSH
|
||||
</button>
|
||||
{{end}}
|
||||
{{if not $.DisableHTTP}}
|
||||
<input id="repo-clone-url" value="{{$.CloneLink.HTTPS}}" readonly>
|
||||
{{else if and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH)}}
|
||||
<input id="repo-clone-url" value="{{$.CloneLink.SSH}}" readonly>
|
||||
{{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">
|
||||
{{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">{{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>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
{{if .IsViewFile}}
|
||||
{{template "repo/view_file" .}}
|
||||
{{else if .IsBlame}}
|
||||
{{template "repo/blame" .}}
|
||||
{{else}}
|
||||
{{template "repo/view_list" .}}
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
<p>{{.i18n.Tr "repo.license"}}</p>
|
||||
{{template "base/footer" .}}
|
|
@ -0,0 +1,29 @@
|
|||
<div class="ui secondary pointing tabular top attached borderless menu stackable new-menu navbar">
|
||||
<a class="item {{if .PageIsSettingsOptions}}acty{{end}}" href="{{.RepoLink}}/settings">
|
||||
{{.i18n.Tr "repo.settings.options"}}
|
||||
</a>
|
||||
<a class="item {{if .PageIsSettingsCollaboration}}acty{{end}}" href="{{.RepoLink}}/settings/collaboration">
|
||||
{{.i18n.Tr "repo.settings.collaboration"}}
|
||||
</a>
|
||||
{{if not .Repository.IsEmpty}}
|
||||
<a class="item {{if .PageIsSettingsBranches}}acty{{end}}" href="{{.RepoLink}}/settings/branches">
|
||||
{{.i18n.Tr "repo.settings.branches"}}
|
||||
</a>
|
||||
{{end}}
|
||||
<a class="item {{if .PageIsSettingsHooks}}acty{{end}}" href="{{.RepoLink}}/settings/hooks">
|
||||
{{.i18n.Tr "repo.settings.hooks"}}
|
||||
</a>
|
||||
{{if .SignedUser.CanEditGitHook}}
|
||||
<a class="item {{if .PageIsSettingsGitHooks}}acty{{end}}" href="{{.RepoLink}}/settings/hooks/git">
|
||||
{{.i18n.Tr "repo.settings.githooks"}}
|
||||
</a>
|
||||
{{end}}
|
||||
<a class="item {{if .PageIsSettingsKeys}}acty{{end}}" href="{{.RepoLink}}/settings/keys">
|
||||
{{.i18n.Tr "repo.settings.deploy_keys"}}
|
||||
</a>
|
||||
{{if .LFSStartServer}}
|
||||
<a class="item {{if .PageIsSettingsLFS}}acty{{end}}" href="{{.RepoLink}}/settings/lfs">
|
||||
{{.i18n.Tr "repo.settings.lfs"}}
|
||||
</a>
|
||||
{{end}}
|
||||
</div>
|
|
@ -0,0 +1,132 @@
|
|||
{{template "base/head" .}}
|
||||
<div class="dashboard feeds">
|
||||
{{template "user/dashboard/navbar" .}}
|
||||
<div class="ui container">
|
||||
{{template "base/alert" .}}
|
||||
<div class="ui mobile reversed stackable grid">
|
||||
<div class="ui container ten wide column">
|
||||
{{if .EnableHeatmap}}
|
||||
<div id="user-heatmap" style="padding-right: 40px">
|
||||
<activity-heatmap :locale="locale" :suburl="suburl" :user="heatmapUser">
|
||||
<div slot="loading">
|
||||
<div class="ui active centered inline indeterminate text loader" id="loading-heatmap">{{.i18n.Tr "user.heatmap.loading"}}</div>
|
||||
</div>
|
||||
</activity-heatmap>
|
||||
<div class="ui divider"></div>
|
||||
</div>
|
||||
{{end}}
|
||||
{{template "user/dashboard/feeds" .}}
|
||||
</div>
|
||||
<div id="app" class="six wide column">
|
||||
<repo-search
|
||||
:search-limit="searchLimit"
|
||||
:suburl="suburl"
|
||||
:uid="uid"
|
||||
:more-repos-link="'{{.ContextUser.HomeLink}}'"
|
||||
{{if not .ContextUser.IsOrganization}}
|
||||
:organizations="[
|
||||
{{range .ContextUser.Orgs}}
|
||||
{name: '{{.Name}}', num_repos: '{{.NumRepos}}'},
|
||||
{{end}}
|
||||
]"
|
||||
:is-organization="false"
|
||||
:organizations-total-count="{{.ContextUser.GetOrganizationCount}}"
|
||||
:can-create-organization="{{.SignedUser.CanCreateOrganization}}"
|
||||
{{end}}
|
||||
inline-template
|
||||
v-cloak
|
||||
>
|
||||
<div>
|
||||
<div v-if="!isOrganization" class="ui two item tabable menu">
|
||||
<a :class="{item: true, acty: tab === 'repos'}" @click="changeTab('repos')">{{.i18n.Tr "repository"}}</a>
|
||||
<a :class="{item: true, acty: tab === 'organizations'}" @click="changeTab('organizations')">{{.i18n.Tr "organization"}}</a>
|
||||
</div>
|
||||
<div v-show="tab === 'repos'" class="ui tab active list dashboard-repos">
|
||||
<h4 class="ui top attached header">
|
||||
{{.i18n.Tr "home.my_repos"}} <span class="ui grey label">${reposTotalCount}</span>
|
||||
{{if or (not .ContextUser.IsOrganization) .IsOrganizationOwner}}
|
||||
<div class="ui right">
|
||||
<a class="poping up" :href="suburl + '/repo/create{{if .ContextUser.IsOrganization}}?org={{.ContextUser.ID}}{{end}}'" data-content="{{.i18n.Tr "new_repo"}}" data-variation="tiny inverted" data-position="left center">
|
||||
<i class="plus icon"></i>
|
||||
<span class="sr-only">{{.i18n.Tr "new_repo"}}</span>
|
||||
</a>
|
||||
</div>
|
||||
{{end}}
|
||||
</h4>
|
||||
<div class="ui attached secondary segment repos-search">
|
||||
<div class="ui fluid icon input" :class="{loading: isLoading}">
|
||||
<input @input="searchRepos(reposFilter)" v-model="searchQuery" ref="search" placeholder="{{.i18n.Tr "home.search_repos"}}">
|
||||
<i class="search icon"></i>
|
||||
</div>
|
||||
<div class="ui secondary tiny pointing borderless menu center aligned grid repos-filter">
|
||||
<a class="item" :class="{acty: reposFilter === 'all'}" @click="changeReposFilter('all')">
|
||||
{{.i18n.Tr "all"}}
|
||||
<div v-show="reposFilter === 'all'" class="ui circular mini grey label">${repoTypeCount}</div>
|
||||
</a>
|
||||
<a class="item" :class="{acty: reposFilter === 'sources'}" @click="changeReposFilter('sources')">
|
||||
{{.i18n.Tr "sources"}}
|
||||
<div v-show="reposFilter === 'sources'" class="ui circular mini grey label">${repoTypeCount}</div>
|
||||
</a>
|
||||
<a class="item" :class="{acty: reposFilter === 'forks'}" @click="changeReposFilter('forks')">
|
||||
{{.i18n.Tr "forks"}}
|
||||
<div v-show="reposFilter === 'forks'" class="ui circular mini grey label">${repoTypeCount}</div>
|
||||
</a>
|
||||
<a class="item" :class="{acty: reposFilter === 'mirrors'}" @click="changeReposFilter('mirrors')">
|
||||
{{.i18n.Tr "mirrors"}}
|
||||
<div v-show="reposFilter === 'mirrors'" class="ui circular mini grey label">${repoTypeCount}</div>
|
||||
</a>
|
||||
<a class="item" :class="{acty: reposFilter === 'collaborative'}" @click="changeReposFilter('collaborative')">
|
||||
{{.i18n.Tr "collaborative"}}
|
||||
<div v-show="reposFilter === 'collaborative'" class="ui circular mini grey label">${repoTypeCount}</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui attached table segment">
|
||||
<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">
|
||||
<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} <span class="rear">{{svg "octicon-star" 16}}</span>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li v-if="showMoreReposLink">
|
||||
<a :href="moreReposLink">{{.i18n.Tr "home.show_more_repos"}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!isOrganization" v-show="tab === 'organizations'" class="ui tab active list">
|
||||
<h4 class="ui top attached header">
|
||||
{{.i18n.Tr "home.my_orgs"}} <span class="ui grey label">${organizationsTotalCount}</span>
|
||||
<div v-if="canCreateOrganization" class="ui right">
|
||||
<a class="poping up" :href="suburl + '/org/create'" data-content="{{.i18n.Tr "new_org"}}" data-variation="tiny inverted" data-position="left center">
|
||||
<i class="plus icon"></i>
|
||||
<span class="sr-only">{{.i18n.Tr "new_org"}}</span>
|
||||
</a>
|
||||
</div>
|
||||
</h4>
|
||||
<div class="ui attached table segment">
|
||||
<ul class="repo-owner-name-list">
|
||||
<li v-for="org in organizations">
|
||||
<a :href="suburl + '/' + org.name">
|
||||
{{svg "octicon-organization" 16}}
|
||||
<strong class="text truncate item-name">${org.name}</strong>
|
||||
<span class="ui right text light grey">
|
||||
${org.num_repos} <span class="rear">{{svg "octicon-repo" 16}}</span>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</repo-search>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{template "base/footer" .}}
|
|
@ -0,0 +1,23 @@
|
|||
<div class="ui secondary pointing tabular top attached borderless menu stackable new-menu navbar">
|
||||
<a class="item {{if .PageIsSettingsProfile}}acty{{end}}" href="{{AppSubUrl}}/user/settings">
|
||||
{{.i18n.Tr "settings.profile"}}
|
||||
</a>
|
||||
<a class="item {{if .PageIsSettingsAccount}}acty{{end}}" href="{{AppSubUrl}}/user/settings/account">
|
||||
{{.i18n.Tr "settings.account"}}
|
||||
</a>
|
||||
<a class="item {{if .PageIsSettingsSecurity}}acty{{end}}" href="{{AppSubUrl}}/user/settings/security">
|
||||
{{.i18n.Tr "settings.security"}}
|
||||
</a>
|
||||
<a class="item {{if .PageIsSettingsApplications}}acty{{end}}" href="{{AppSubUrl}}/user/settings/applications">
|
||||
{{.i18n.Tr "settings.applications"}}
|
||||
</a>
|
||||
<a class="item {{if .PageIsSettingsKeys}}acty{{end}}" href="{{AppSubUrl}}/user/settings/keys">
|
||||
{{.i18n.Tr "settings.ssh_gpg_keys"}}
|
||||
</a>
|
||||
<a class="item {{if .PageIsSettingsOrganization}}acty{{end}}" href="{{AppSubUrl}}/user/settings/organization">
|
||||
{{.i18n.Tr "settings.organization"}}
|
||||
</a>
|
||||
<a class="item {{if .PageIsSettingsRepos}}acty{{end}}" href="{{AppSubUrl}}/user/settings/repos">
|
||||
{{.i18n.Tr "settings.repos"}}
|
||||
</a>
|
||||
</div>
|