diff --git a/Makefile b/Makefile index 6eeaa7087..cad3c109c 100644 --- a/Makefile +++ b/Makefile @@ -59,6 +59,9 @@ else endif endif +# $(call strip-suffix,filename) +strip-suffix = $(firstword $(subst ., ,$(1))) + .PHONY: all all: build @@ -314,7 +317,7 @@ public/js/index.js: $(JAVASCRIPTS) .PHONY: stylesheets-check stylesheets-check: generate-stylesheets - @diff=$$(git diff public/css/index.css); \ + @diff=$$(git diff public/css/*); \ if [ -n "$$diff" ]; then \ echo "Please run 'make generate-stylesheets' and commit the result:"; \ echo "$${diff}"; \ @@ -324,6 +327,7 @@ stylesheets-check: generate-stylesheets .PHONY: generate-stylesheets generate-stylesheets: node_modules/.bin/lessc --clean-css public/less/index.less public/css/index.css + $(foreach file, $(filter-out public/less/themes/_base.less, $(wildcard public/less/themes/*)),node_modules/.bin/lessc --clean-css public/less/themes/$(notdir $(file)) > public/css/theme-$(notdir $(call strip-suffix,$(file))).css;) .PHONY: swagger-ui swagger-ui: diff --git a/custom/conf/app.ini.sample b/custom/conf/app.ini.sample index 931a525d7..c4dd741ca 100644 --- a/custom/conf/app.ini.sample +++ b/custom/conf/app.ini.sample @@ -75,6 +75,8 @@ THEME_COLOR_META_TAG = `#6cc644` MAX_DISPLAY_FILE_SIZE = 8388608 ; Whether the email of the user should be shown in the Explore Users page SHOW_USER_EMAIL = true +; Set the default theme for the Gitea install +DEFAULT_THEME = gitea [ui.admin] ; Number of users that are displayed on one page diff --git a/docs/content/doc/advanced/config-cheat-sheet.en-us.md b/docs/content/doc/advanced/config-cheat-sheet.en-us.md index de4ce6b18..c7e80b957 100644 --- a/docs/content/doc/advanced/config-cheat-sheet.en-us.md +++ b/docs/content/doc/advanced/config-cheat-sheet.en-us.md @@ -68,6 +68,7 @@ Values containing `#` or `;` must be quoted using `` ` `` or `"""`. - `EXPLORE_PAGING_NUM`: **20**: Number of repositories that are shown in one explore page. - `ISSUE_PAGING_NUM`: **10**: Number of issues that are shown in one page (for all pages that list issues). - `FEED_MAX_COMMIT_NUM`: **5**: Number of maximum commits shown in one activity feed. +- `DEFAULT_THEME`: **gitea**: \[gitea, arc-green\]: Set the default theme for the Gitea install. ### UI - Admin (`ui.admin`) @@ -282,6 +283,13 @@ Values containing `#` or `;` must be quoted using `` ` `` or `"""`. - `MAX_GIT_DIFF_FILES`: **100**: Max number of files shown in diff view. - `GC_ARGS`: **\**: Arguments for command `git gc`, e.g. `--aggressive --auto`. +## Git - Timeout settings (`git.timeout`) +- `MIGRATE`: **600**: Migrate external repositories timeout seconds. +- `MIRROR`: **300**: Mirror external repositories timeout seconds. +- `CLONE`: **300**: Git clone from internal repositories timeout seconds. +- `PULL`: **300**: Git pull from internal repositories timeout seconds. +- `GC`: **60**: Git repository GC timeout seconds. + ## API (`api`) - `ENABLE_SWAGGER_ENDPOINT`: **true**: Enables /api/swagger, /api/v1/swagger etc. endpoints. True or false; default is true. diff --git a/docs/content/doc/advanced/config-cheat-sheet.zh-cn.md b/docs/content/doc/advanced/config-cheat-sheet.zh-cn.md index 09862cc3b..a7109572d 100644 --- a/docs/content/doc/advanced/config-cheat-sheet.zh-cn.md +++ b/docs/content/doc/advanced/config-cheat-sheet.zh-cn.md @@ -187,6 +187,13 @@ menu: - `MAX_GIT_DIFF_FILES`: 比较视图中的最大现实文件数目。 - `GC_ARGS`: 执行 `git gc` 命令的参数, 比如: `--aggressive --auto`。 +## Git - 超时设置 (`git.timeout`) +- `MIGRATE`: **600**: 迁移外部仓库时的超时时间,单位秒 +- `MIRROR`: **300**: 镜像外部仓库的超时时间,单位秒 +- `CLONE`: **300**: 内部仓库间克隆的超时时间,单位秒 +- `PULL`: **300**: 内部仓库间拉取的超时时间,单位秒 +- `GC`: **60**: git仓库GC的超时时间,单位秒 + ## markup (`markup`) 外部渲染工具支持,你可以用你熟悉的文档渲染工具. 比如一下将新增一个名字为 `asciidoc` 的渲染工具which is followed `markup.` ini section. And there are some config items below. diff --git a/docs/content/doc/advanced/customizing-gitea.en-us.md b/docs/content/doc/advanced/customizing-gitea.en-us.md index 9343b0636..f9a0d0d9f 100644 --- a/docs/content/doc/advanced/customizing-gitea.en-us.md +++ b/docs/content/doc/advanced/customizing-gitea.en-us.md @@ -91,3 +91,7 @@ Apart from `extra_links.tmpl` and `extra_tabs.tmpl`, there are other useful temp ## Customizing gitignores, labels, licenses, locales, and readmes. Place custom files in corresponding sub-folder under `custom/options`. + +## Customizing the look of Gitea + +Gitea has two built-in themes, the default theme `gitea`, and a dark theme `arc-green`. To change the look of your Gitea install change the value of `DEFAULT_THEME` in the [ui](https://docs.gitea.io/en-us/config-cheat-sheet/#ui-ui) section of `app.ini` to another one of the available options. diff --git a/docs/content/doc/installation/from-binary.en-us.md b/docs/content/doc/installation/from-binary.en-us.md index 9c8859215..f393333e4 100644 --- a/docs/content/doc/installation/from-binary.en-us.md +++ b/docs/content/doc/installation/from-binary.en-us.md @@ -21,10 +21,18 @@ the destination platform from the [downloads page](https://dl.gitea.io/gitea), c the URL and replace the URL within the commands below: ```sh -wget -O gitea https://dl.gitea.io/gitea/1.4.2/gitea-1.4.2-linux-amd64 +wget -O gitea https://dl.gitea.io/gitea/1.4.3/gitea-1.4.3-linux-amd64 chmod +x gitea ``` +## Verify GPG signature +Gitea signs all binaries with a [GPG key](https://pgp.mit.edu/pks/lookup?op=vindex&fingerprint=on&search=0x2D9AE806EC1592E2) to prevent against unwanted modification of binaries. To validate the binary download the signature file which ends in `.asc` for the binary you downloaded and use the gpg command line tool. + +```sh +gpg --keyserver pgp.mit.edu --recv 0x2D9AE806EC1592E2 +gpg --verify gitea-1.5.0-linux-amd64.asc gitea-1.5.0-linux-amd64 +``` + ## Test After getting a binary, it can be tested with `./gitea web` or moved to a permanent diff --git a/models/action.go b/models/action.go index c3ed9c7c0..a6fb209a4 100644 --- a/models/action.go +++ b/models/action.go @@ -122,6 +122,12 @@ func (a *Action) loadRepo() { } } +// GetActFullName gets the action's user full name. +func (a *Action) GetActFullName() string { + a.loadActUser() + return a.ActUser.FullName +} + // GetActUserName gets the action's user name. func (a *Action) GetActUserName() string { a.loadActUser() diff --git a/modules/markup/markdown/markdown.go b/modules/markup/markdown/markdown.go index 901edb80a..3f94aa08b 100644 --- a/modules/markup/markdown/markdown.go +++ b/modules/markup/markdown/markdown.go @@ -101,7 +101,7 @@ var ( func (r *Renderer) Image(out *bytes.Buffer, link []byte, title []byte, alt []byte) { prefix := r.URLPrefix if r.IsWiki { - prefix = util.URLJoin(prefix, "wiki", "src") + prefix = util.URLJoin(prefix, "wiki", "raw") } prefix = strings.Replace(prefix, "/src/", "/raw/", 1) if len(link) > 0 { diff --git a/modules/setting/setting.go b/modules/setting/setting.go index 5230307ca..410cdfbfb 100644 --- a/modules/setting/setting.go +++ b/modules/setting/setting.go @@ -280,6 +280,7 @@ var ( ThemeColorMetaTag string MaxDisplayFileSize int64 ShowUserEmail bool + DefaultTheme string Admin struct { UserPagingNum int @@ -303,6 +304,7 @@ var ( ReactionMaxUserNum: 10, ThemeColorMetaTag: `#6cc644`, MaxDisplayFileSize: 8388608, + DefaultTheme: `gitea`, Admin: struct { UserPagingNum int RepoPagingNum int diff --git a/modules/templates/helper.go b/modules/templates/helper.go index b6c835ad4..8e1a79bc5 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -186,6 +186,9 @@ func NewFuncMap() []template.FuncMap { "ParseDeadline": func(deadline string) []string { return strings.Split(deadline, "|") }, + "DefaultTheme": func() string { + return setting.UI.DefaultTheme + }, }} } diff --git a/options/locale/locale_de-DE.ini b/options/locale/locale_de-DE.ini index d72f0834b..e22f586f6 100644 --- a/options/locale/locale_de-DE.ini +++ b/options/locale/locale_de-DE.ini @@ -75,6 +75,7 @@ cancel=Abbrechen [install] install=Installation title=Erstkonfiguration +docker_helper=Wenn du Gitea in einem Docker-Container nutzt, lies bitte die Dokumentation, bevor du irgendwelche Einstellungen veränderst. requite_db_desc=Gitea benötigt MySQL, PostgreSQL, MSSQL, SQLite3 oder TiDB. db_title=Datenbankeinstellungen db_type=Datenbanktyp @@ -491,8 +492,13 @@ owner=Besitzer repo_name=Repository-Name repo_name_helper=Ein guter Repository-Name besteht normalerweise aus kurzen, unvergesslichen und einzigartigen Schlagwörtern. visibility=Sichtbarkeit +visibility_helper=Markiere das Repository als privat +visibility_helper_forced=Auf dieser Gitea-Instanz können nur private Repositories angelegt werden. +visibility_fork_helper=(Eine Änderung dieses Wertes wirkt sich auf alle Forks aus) +clone_helper=Benötigst du Hilfe beim Klonen? Öffne die Hilfe. fork_repo=Repository forken fork_from=Fork von +fork_visibility_helper=Die Sichtbarkeit eines geforkten Repositorys kann nicht geändert werden. repo_desc=Beschreibung repo_lang=Sprache repo_gitignore_helper=Wähle eine .gitignore-Vorlage aus. @@ -607,6 +613,7 @@ editor.directory_is_a_file=Der Verzeichnisname „%s“ wird bereits als Dateina editor.file_is_a_symlink='%s' ist ein symolischer Link. Symbolische Links können mit dem Web Editor nicht bearbeitet werden. editor.filename_is_a_directory=Der Dateiname „%s“ wird bereits als Verzeichnisname in diesem Repository verwendet. editor.file_editing_no_longer_exists=Die bearbeitete Datei „%s“ existiert nicht mehr in diesem Repository. +editor.file_changed_while_editing=Der Inhalt der Datei hat sich seit dem Beginn der Bearbeitung geändert. Hier klicken, um die Änderungen anzusehen, oder Änderungen erneut comitten, um sie zu überschreiben. editor.file_already_exists=Eine Datei mit dem Namen „%s“ ist bereits in diesem Repository vorhanden. editor.no_changes_to_show=Keine Änderungen vorhanden. editor.fail_to_update_file=Fehler beim Ändern/Erstellen der Datei „%s“. Fehler: %v @@ -987,6 +994,7 @@ settings.search_user_placeholder=Benutzer suchen… settings.org_not_allowed_to_be_collaborator=Organisationen können nicht als Mitarbeiter hinzugefügt werden. settings.user_is_org_member=Der Benutzer ist ein Organisationsmitglied und kann nicht als Mitarbeiter hinzugefügt werden. settings.add_webhook=Webhook hinzufügen +settings.hooks_desc=Webhooks senden bei bestimmten Gitea-Events automatisch „HTTP POST“-Anfragen an einen Server. Lies mehr in unserer Anleitung zu Webhooks (auf Englisch). settings.webhook_deletion=Webhook löschen settings.webhook_deletion_desc=Das Entfernen eines Webhooks löscht seine Einstellungen und Zustellungsverlauf. Fortfahren? settings.webhook_deletion_success=Webhook wurde entfernt. @@ -1003,6 +1011,7 @@ settings.githook_edit_desc=Wenn ein Hook nicht aktiv ist, wird der Standardinhal settings.githook_name=Hook-Name settings.githook_content=Hook-Inhalt settings.update_githook=Hook aktualisieren +settings.add_webhook_desc=Gitea sendet einen POST-Request mit festgelegtem Content-Type an die Ziel-URL. Mehr Informationen findest du in der Anleitung zu Webhooks (Englisch). settings.payload_url=Ziel-URL settings.content_type=POST-Content-Type settings.secret=Secret @@ -1264,6 +1273,8 @@ dashboard.operation_switch=Wechseln dashboard.operation_run=Ausführen dashboard.clean_unbind_oauth=Nicht verbundene OAuth-Verbindungen löschen dashboard.clean_unbind_oauth_success=Alle unverbundene OAuth-Verbindungen wurden gelöscht. +dashboard.delete_inactivate_accounts=Lösche alle nicht-aktivierten Accounts +dashboard.delete_inactivate_accounts_success=Alle nicht-aktivierten Accounts wurden gelöscht. dashboard.delete_repo_archives=Alle Repository-Archive löschen dashboard.delete_repo_archives_success=Alle Repository-Archive wurden gelöscht. dashboard.delete_missing_repos=Alle Repository-Datensätze mit verlorenen gegangenen Git-Dateien löschen diff --git a/options/locale/locale_sv-SE.ini b/options/locale/locale_sv-SE.ini index 968fb97a9..885302ad4 100644 --- a/options/locale/locale_sv-SE.ini +++ b/options/locale/locale_sv-SE.ini @@ -75,6 +75,7 @@ cancel=Avbryt [install] install=Installation title=Ursprunglig konfiguration +docker_helper=Om du kör Gitea i Docker, vänligen läs igenom dokumentationen innan några inställningar ändras. requite_db_desc=Gitea behöver MySQL, PostgreSQL, MSSQL, SQLite3 eller TiDB. db_title=Databasinställningar db_type=Databastyp @@ -165,25 +166,37 @@ disable_register_mail=Bekräftelsemejl vid registrering är inaktiverad. remember_me=Kom ihåg mig forgot_password_title=Glömt lösenord forgot_password=Glömt lösenord? +sign_up_now=Behöver du ett konto? Registrera nu. confirmation_mail_sent_prompt=Ett nytt bekräftelsemail has skickats till %s. Vänligen kolla din inkorg inom dom kommande %s för att slutföra registreringsprocessen. reset_password_mail_sent_prompt=Ett bekräftelsemail has skickats till %s. Vänligen kolla din inkorg inom dom kommande %s för att slutföra lösenordsändringsprocessen. active_your_account=Aktivera ditt konto +prohibit_login=Inloggning otillåten +prohibit_login_desc=Ditt konto tillåts ej att logga in, vänligen kontakta din sidadministratör. +resent_limit_prompt=Du har redan begärt ett aktiveringsmejl nyligen. Vänligen vänta 3 minuter och försök igen. has_unconfirmed_mail=Hej %s, du har en obekräftad epostaddress (%s). Om du inte har fått ett bekräftelsemail eller behöver ett nytt, klicka på knappen nedan. resend_mail=Klicka här för att skicka ditt aktiveringsmejl igen email_not_associate=Denna e-postadress är inte knutet till något konto. send_reset_mail=Klicka här för att skicka e-post med lösenordsåterställning igen reset_password=Återställ ditt lösenord +invalid_code=Din bekräftelsekod är ogiltig eller har löpt ut. reset_password_helper=Klicka här för att återställa ditt lösenord +password_too_short=Lösenordet får ej vara kortare än %d tecken. +non_local_account=Externa användare kan inte ändra sitt lösenord genom Giteas webbgränssnitt. verify=Verifiera scratch_code=Skrapkod use_scratch_code=Använd en skrapkod twofa_scratch_used=Du har använt din skrapkod. Du har blivit omdirigerad till tvåfaktorsinställningarna så att du kan ta bort din aktiverade enhet eller generera en ny skrapkod. +twofa_passcode_incorrect=Din kod är inte giltig. Om du har tappat bort din enhet, använd din skrapkod för att logga in. twofa_scratch_token_incorrect=Din skrapkod är ogiltlig. login_userpass=Logga in login_openid=OpenID openid_connect_submit=Anslut openid_connect_title=Anslut ett existerande konto +openid_connect_desc=Vald OpenID URI är okänd. Associera den med ett nytt konto här. openid_register_title=Skapa nytt konto +openid_register_desc=Vald OpenID URI är okänd. Associera den med ett nytt konto här. +openid_signin_desc=Ange din OpenID URI. Exempelvis: https://anne.me, bob.openid.org.cn eller gnusocial.net/carry. +disable_forgot_password_mail=Återställning av lösenord är inaktiverat. Kontakta webbplatsadministratören. [mail] activate_account=Vänligen aktivera ditt konto @@ -195,12 +208,14 @@ register_notify=Välkommen till Gitea [modal] yes=Ja no=Nej +modify=Uppdatera [form] UserName=Användarnamn RepoName=Utvecklingskatalogens namn Email=E-postadress Password=Lösenord +Retype=Upprepa lösenordet SSHTitle=SSH-nyckelnamn HttpsUrl=HTTPS-URL PayloadUrl=Payload-URL @@ -216,6 +231,9 @@ TreeName=Filsökväg Content=Innehåll require_error=får inte vara tomt +alpha_dash_error=` bör endast innehålla alfanumeriska tecken, bindestreck ('-') och understreck ('_').` +alpha_dash_dot_error=` bör endast innehålla alfanumeriska tecken, bindestreck ('-'), understreck ('_') och punkter ('.').` +git_ref_name_error=` måste vara ett för Git välformaterat referensnamn.' size_error=` måste vara av storleken %s` min_size_error=` måste innehålla minst %s tecken.` max_size_error=` får inte innehålla mer än %s tecken.` @@ -223,7 +241,10 @@ email_error=` är inte en giltlig epostaddress.` url_error=Den givna URL-adressen är inte valid include_error=` måste innehålla texten '%s'.` unknown_error=Okänt fel: +captcha_incorrect=CAPTCHA-koden är ogiltig. +password_not_match=Lösenorden matchar inte. +username_been_taken=Användarnamnet är redan taget. repo_name_been_taken=Namnet för utvecklingskatalogen är upptaget. user_not_exist=Användaren finns inte. @@ -283,19 +304,43 @@ new_password=Nytt lösenord emails=E-postadresser email_desc=Din primära e-postadress kommer att användas för notifieringar och andra åtgärder. primary=Primär +add_new_email=Lägg till ny mejladress +add_new_openid=Lägg till ny OpenID URI +add_email=Lägg till mejladress add_openid=Lägg till OpenID URI +add_email_confirmation_sent=Ett bekräftelsemail har skickats till '%s'. Vänligen kontrollera din inkorg inom de närmsta %s för att slutföra bekräftelsen. +add_email_success=Den nya mejladressen har lagts till. +add_openid_success=Den nya OpenID-adressen har lagts till. +keep_email_private=Göm mejladress +keep_email_private_popup=Din mejladress kommer döljas för andra användare. +openid_desc=OpenID låter dig delegera autentiseringen till en extern leverantör. manage_ssh_keys=Hantera SSH-nycklar manage_gpg_keys=Hantera GPG-nycklar add_key=Lägg till nyckel +ssh_desc=Dessa publika SSH nycklar är associerade med ditt konto. De motsvarande privata nycklarna tillåter full åtkomst till dina utvecklingskataloger. +gpg_desc=Dessa publika GPG nycklar är associerade med ditt konto. Håll dina privata nycklar säkra då de tillåter att commits kan verifieras. ssh_helper=Behöver du hjälp? Kolla in Github's guide för att skapa din egen SSH-nycklar eller lösa vanliga problem som kan uppstå med SSH. gpg_helper=Behöver du hjälp? Ta en titt på Github's guide om GPG. add_new_key=Lägg till SSH-nyckel add_new_gpg_key=Lägg till GPG-nyckel +ssh_key_been_used=Denna SSH-nyckel är redan associerad med ditt konto. +ssh_key_name_used=En SSH-nyckel med samma namn är redan associerad med ditt konto. +gpg_key_id_used=En publik GPG-nyckel med samma ID existerar redan. +gpg_no_key_email_found=Denna GPG-nyckel är inte brukbar med någon utav mejladresserna associerade med ditt konto. subkeys=Undernycklar key_id=Nyckel-ID key_name=Nyckelnamn key_content=Innehåll +add_key_success=SSH-nyckel '%s' har lagts till. +add_gpg_key_success=GPG-nyckel '%s' har lagts till. +delete_key=Ta bort +ssh_key_deletion=Ta bort SSH-nyckel +gpg_key_deletion=Ta bort GPG-nyckel +ssh_key_deletion_desc=Borttagning utav en SSH-nyckel återkallar dess åtkomst till ditt konto. Vill du fortsätta? +gpg_key_deletion_desc=Att ta bort en GPG-nyckel kommer vederlägga tidigare verifierade commits som signerats utav den. Vill du fortsätta? +ssh_key_deletion_success=SSH-nyckeln har blivit borttagen. +gpg_key_deletion_success=GPG-nyckeln har blivit borttagen. add_on=Tillagd valid_until=Giltig t.om. valid_forever=Giltig för alltid @@ -307,20 +352,46 @@ key_state_desc=Denna nyckel har använts inom dom senaste 7 dagarna token_state_desc=Denna token har används inom dom senaste 7 dagarna show_openid=Synlig på min profil hide_openid=Dold från min profil +ssh_disabled=SSH är inaktiverat manage_social=Hantera länkade sociala konton +social_desc=Dessa sociala konton är länkade till ditt Gitea konto. Var god kontrollera att du känns vid samtliga då de kan användas för att logga in på ditt Gitea konto. +unbind=Koppla från +unbind_success=Socialt konto har frånkopplats ditt Gitea konto. +manage_access_token=Hantera åtkomst-tokens generate_new_token=Generera Nya Tokens +tokens_desc=Dessa tokens tillåter åtkomst till ditt konto via Gitea API. +new_token_desc=Applikationer som använder en token har full åtkomst till ditt konto. token_name=Tokennamn generate_token=Generera Token +generate_token_success=Din nya token har genererats. Kopiera nu då den inte kommer visas igen. delete_token=Radera +access_token_deletion=Ta bort åtkomst token +access_token_deletion_desc=Borttagning utav en token kommer återkalla åtkomst till ditt konto för de applikationer som använder den. Vill du fortsätta? +delete_token_success=Token har tagits bort. Applikationer som använder den kommer inte längre ha åtkomst till ditt konto. +twofa_desc=Tvåfaktorsautentisering förbättrar säkerheten på ditt konto. twofa_is_enrolled=Ditt konto är för närvarande uppsäkrad med tvåfaktorsautentisering. twofa_not_enrolled=Ditt konto är för närvarande inte uppsäkrad med tvåfaktorsautentisering. +twofa_disable=Inaktivera tvåfaktorsautentisering +twofa_scratch_token_regenerate=Generera ny skrapkod +twofa_scratch_token_regenerated=Din skrapkod är nu %s. Förvara den på en säker plats. +twofa_enroll=Aktivera tvåfaktorsautentisering +twofa_disable_note=Du kan inaktivera tvåfaktorsautentisering om det behövs. +twofa_disable_desc=Avaktivering av tvåfaktorsautentisering kommer göra ditt konto mindre säkert. Vill du fortsätta? +regenerate_scratch_token_desc=Om du tappat bort din skrapkod, eller redan använt den för att logga in, så kan du återställa den här. twofa_disabled=Tvåfaktorsautentisering har blivit avaktiverat. scan_this_image=Skanna denna bild med ditt autentiseringsprogram: or_enter_secret=Eller skriv in följande sträng: %s +then_enter_passcode=Och ange den lösenkod som visas i programmet: +passcode_invalid=Koden är ogiltig. Försök igen. +twofa_enrolled=Tvåfaktorsautentisering har aktiverats för ditt konto. Förvara din skrapkod (%s) på en säker plats eftersom den bara visas en gång! +u2f_desc=Säkerhetsnycklar är maskinvaruenheter som innehåller kryptografiska nycklar. De kan användas för tvåfaktorautentisering. Säkerhetsnyckeln måste dock stödja FIDO U2F standarden. +u2f_require_twofa=Tvåfaktorautentisering måste aktiveras för att kunna använda säkerhetsnycklar. +u2f_register_key=Lägg till säkerhetsnyckel +u2f_nickname=Smeknamn orgs_none=Du är inte en medlem i någon organisation. @@ -333,8 +404,13 @@ confirm_delete_account=Bekräfta Borttagelsen owner=Ägare repo_name=Utvecklingskatalogens namn visibility=Synligt för +visibility_helper=Gör utvecklingskatalogen privat +visibility_helper_forced=Din tjänstadministratör påtvingar privata utvecklingskataloger. +visibility_fork_helper=(Ändring av detta kommer påverka alla forkar.) +clone_helper=Hjälp med kloning? Se hjälp. fork_repo=Forka Repo fork_from=Forka Från +fork_visibility_helper=Synligheten av en forkad utvecklingskatalog kan inte ändras. repo_desc=Beskrivning repo_lang=Språk license=Licens @@ -393,30 +469,50 @@ file_permalink=Permalänk stored_lfs=Sparad med Git LFS editor.preview_changes=Förhandsgranska ändringar +editor.fork_before_edit=Du måste forka denna utvecklingskatalog för att göra eller föreslå förändringar på denna fil. +editor.delete_this_file=Ta bort fil +editor.must_have_write_access=Du måste ha skrivåtkomst för att göra eller föreslå ändringar av denna fil. +editor.file_delete_success=Fil '%s' har tagits bort. +editor.name_your_file=Namnge din fil… +editor.filename_help=Lägg till en katalog genom att skriva dess namn följt utav en slash ('/'). Ta bort katalog genom att sudda i början utav fältet. editor.or=eller +editor.cancel_lower=Avbryt editor.commit_changes=Checka in ändringar editor.add_tmpl=Lägg till '%s/' editor.add=Lägg till '%s' editor.update=Uppdatera '%s' editor.delete=Tag bort '%s' +editor.commit_message_desc=Lägg till en valfri utökad beskrivning… editor.commit_directly_to_this_branch=Checka in direkt till grenen %s. editor.create_new_branch=Skapa en ny gren för denna incheckning och påbörja en hämtningsbegäran. +editor.new_branch_name_desc=Nytt branchnamn… editor.cancel=Avbryt +editor.filename_cannot_be_empty=Filnamnet kan inte vara tomt. editor.branch_already_exists=Grenen '%s' finns redan i förrådet. +editor.directory_is_a_file=Katalognamnet '%s' används redan som ett filnamn i denna utvecklingskatalog. +editor.file_is_a_symlink='%s' är en symbolisk länk. Symboliska länkar kan inte editeras i webbgränssnittet editor.no_changes_to_show=Det finns inga ändringar att visa. editor.fail_to_update_file=Uppdateringen/skapandet av filen '%s' misslyckades med felet: %v +editor.add_subdir=Lägga till en katalog… editor.unable_to_upload_files=Uppladdning av filen '%s' misslyckades med felet: %v editor.upload_files_to_dir=Ladda upp filer till '%s' +editor.cannot_commit_to_protected_branch=Kan inte commita till den skyddade branchen '%s'. +commits.desc=Bläddra i källkodens förändringshistorik. commits.commits=Incheckningar +commits.search=Sök commits… commits.find=Sök +commits.search_all=Alla brancher commits.author=Upphovsman commits.message=Meddelande commits.date=Datum commits.older=Äldre commits.newer=Nyare commits.signed_by=Signerad av +commits.gpg_key_id=GPG-nyckel ID +ext_issues=Externa ärenden +ext_issues.desc=Länk till externt ärendehanteringssystem. issues.new=Nytt Ärende issues.new.labels=Etiketter @@ -427,6 +523,8 @@ issues.new.no_milestone=Ingen Milsten issues.new.clear_milestone=Rensa milstenar issues.new.open_milestone=Öppna Milstenar issues.new.closed_milestone=Stängda Milstenar +issues.new.assignees=Tilldelade +issues.new.clear_assignees=Rensa tilldelade issues.new.no_assignees=Ingen tilldelad issues.no_ref=Ingen branch/Tag specificerad issues.create=Skapa Ärende @@ -435,7 +533,9 @@ issues.new_label_placeholder=Etikettsnamn issues.new_label_desc_placeholder=Beskrivning issues.create_label=Skapa Etikett issues.label_templates.title=Ladda en fördefinierad uppsättning etiketter +issues.label_templates.info=Inga etiketter finns ännu. Skapa en etikett med 'Ny etikett' eller använd fördefinierade etiketter: issues.label_templates.helper=Markera en uppsättning etiketter +issues.label_templates.use=Använd etikettsamling issues.label_templates.fail_to_load_file=Laddning av etikettmallen '%s' misslyckades: %v issues.add_label_at=lade till etiketten
%s
%s issues.remove_label_at=tog bort etiketten
%s
%s @@ -451,8 +551,11 @@ issues.delete_branch_at='tog bort grenen %s %s' issues.open_tab=%d Öppna issues.close_tab=%d Stängda issues.filter_label=Etikett +issues.filter_label_no_select=Alla etiketter issues.filter_milestone=Milsten +issues.filter_milestone_no_select=Alla milstolpar issues.filter_assignee=Förvärvare +issues.filter_assginee_no_select=Alla tilldelade issues.filter_type=Typ issues.filter_type.all_issues=Alla ärenden issues.filter_type.assigned_to_you=Tilldelad dig @@ -677,14 +780,44 @@ settings.external_tracker_url=URL För Extern Ärendehanterare settings.external_tracker_url_error=Länken för ärendehanteringsystemet är inte en giltig länk. settings.external_tracker_url_desc=Besökare dirigeras om till länken för det externa ärendehanteringssystemet när de trycker på ärende-tabben. settings.tracker_url_format=URL-Format För Extern Ärendehanterare +settings.tracker_issue_style=Externt ärendenummersformat settings.tracker_issue_style.numeric=Numerisk settings.tracker_issue_style.alphanumeric=Alfanumerisk +settings.enable_timetracker=Aktivera tidsredovisning +settings.admin_settings=Administratörsinställningar +settings.admin_enable_health_check=Aktivera hälsokontroll för utvecklingskataloger (git fsck) settings.danger_zone=Högrisksområde settings.new_owner_has_same_repo=Den nya ägaren har redan ett repo med det namnet. Vänligen välj ett annat namn. +settings.convert=Konvertera till vanlig utvecklingskatalog +settings.convert_desc=Du kan konvertera denna spegling till en vanlig utvecklingskatalog. Detta kan ej ångras. +settings.convert_confirm=Konvertera utvecklingskatalog +settings.convert_succeed=Speglingen har blivit konverterad till en vanlig utvecklingskatalog. settings.transfer=Överför Ägarskap +settings.wiki_delete=Ta bort wiki-data +settings.wiki_delete_desc=Borttagning av utvecklingskatalogens wiki-data är permanent och kan ej ångras. +settings.wiki_delete_notices_1=- Detta kommer permanent ta bort och inaktivera utvecklingskatalogens wiki för %s. +settings.confirm_wiki_delete=Ta bort wiki-data +settings.wiki_deletion_success=Utvecklingskatalogens wiki-data har blivit borttaget. settings.delete=Ta Bort Detta Repo +settings.delete_desc=Borttagning av en utvecklingskatalog är permanent och kan ej ångras. settings.delete_notices_1=- Denna åtgärd kan INTE ångras. +settings.delete_notices_2=- Denna åtgärd kommer permanent ta bort utvecklingskatalogen %s inklusive kod, ärenden, kommentarer, wiki-data samt medarbetarinställningar. +settings.delete_notices_fork_1=- Forkar av denna utvecklingskatalog kommer bli självständiga efter borttagning. +settings.deletion_success=Utvecklingskatalog har tagits bort. +settings.update_settings_success=Inställningar för utvecklingskatalog har uppdaterats. settings.transfer_owner=Ny Ägare +settings.make_transfer=Utför förflyttning +settings.transfer_succeed=Utvecklingskatalogen har flyttats över. +settings.confirm_delete=Ta bort utvecklingskatalog +settings.add_collaborator=Lägg till medarbetare +settings.add_collaborator_success=Medarbetare har lagts till. +settings.delete_collaborator=Ta bort +settings.collaborator_deletion=Ta bort medarbetare +settings.collaborator_deletion_desc=Borttagning av en medarbetare kommer att återkalla deras åtkomst till utvecklingskatalogen. Vill du fortsätta? +settings.remove_collaborator_success=Medarbetaren har blivit borttagen. +settings.search_user_placeholder=Sök användare… +settings.org_not_allowed_to_be_collaborator=Organisationer kan inte läggas till som en medarbetare. +settings.user_is_org_member=Användaren är en organisationsmedlem som inte kan läggas till som medarbetare. settings.add_webhook=Lägg Till Webbhook settings.webhook.test_delivery=Testa Leverans settings.webhook.request=Begäran diff --git a/package-lock.json b/package-lock.json index 0269b9ace..bb58a82ab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -43,7 +43,7 @@ "dev": true, "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "caseless": { @@ -59,8 +59,8 @@ "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=", "dev": true, "requires": { - "commander": "2.8.1", - "source-map": "0.4.4" + "commander": "2.8.x", + "source-map": "0.4.x" }, "dependencies": { "source-map": { @@ -69,7 +69,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -87,7 +87,7 @@ "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "dev": true, "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -96,7 +96,7 @@ "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", "dev": true, "requires": { - "graceful-readlink": "1.0.1" + "graceful-readlink": ">= 1.0.0" } }, "core-util-is": { @@ -113,7 +113,7 @@ "dev": true, "optional": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" }, "dependencies": { "assert-plus": { @@ -138,7 +138,7 @@ "dev": true, "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "errno": { @@ -148,7 +148,7 @@ "dev": true, "optional": true, "requires": { - "prr": "1.0.1" + "prr": "~1.0.1" } }, "extend": { @@ -192,7 +192,7 @@ "dev": true, "optional": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" }, "dependencies": { "assert-plus": { @@ -294,14 +294,14 @@ "integrity": "sha512-q3SyEnPKbk9zh4l36PGeW2fgynKu+FpbhiUNx/yaiBUQ3V0CbACCgb9FzYWcRgI2DJlP6eI4jc8XPrCTi55YcQ==", "dev": true, "requires": { - "errno": "0.1.7", - "graceful-fs": "4.1.11", - "image-size": "0.5.5", - "mime": "1.6.0", - "mkdirp": "0.5.1", - "promise": "7.3.1", - "request": "2.85.0", - "source-map": "0.6.1" + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "mime": "^1.4.1", + "mkdirp": "^0.5.0", + "promise": "^7.1.1", + "request": "^2.83.0", + "source-map": "~0.6.0" }, "dependencies": { "ajv": { @@ -311,10 +311,10 @@ "dev": true, "optional": true, "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "assert-plus": { @@ -338,7 +338,7 @@ "dev": true, "optional": true, "requires": { - "hoek": "4.2.1" + "hoek": "4.x.x" } }, "cryptiles": { @@ -348,7 +348,7 @@ "dev": true, "optional": true, "requires": { - "boom": "5.2.0" + "boom": "5.x.x" }, "dependencies": { "boom": { @@ -358,7 +358,7 @@ "dev": true, "optional": true, "requires": { - "hoek": "4.2.1" + "hoek": "4.x.x" } } } @@ -370,9 +370,9 @@ "dev": true, "optional": true, "requires": { - "asynckit": "0.4.0", + "asynckit": "^0.4.0", "combined-stream": "1.0.6", - "mime-types": "2.1.18" + "mime-types": "^2.1.12" } }, "har-schema": { @@ -389,8 +389,8 @@ "dev": true, "optional": true, "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, "hawk": { @@ -400,10 +400,10 @@ "dev": true, "optional": true, "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.1", - "sntp": "2.1.0" + "boom": "4.x.x", + "cryptiles": "3.x.x", + "hoek": "4.x.x", + "sntp": "2.x.x" } }, "hoek": { @@ -419,9 +419,9 @@ "dev": true, "optional": true, "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.1" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "performance-now": { @@ -445,28 +445,28 @@ "dev": true, "optional": true, "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.7.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "hawk": "6.0.2", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "stringstream": "0.0.5", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "hawk": "~6.0.2", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "stringstream": "~0.0.5", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" } }, "sntp": { @@ -476,7 +476,7 @@ "dev": true, "optional": true, "requires": { - "hoek": "4.2.1" + "hoek": "4.x.x" } }, "source-map": { @@ -494,7 +494,7 @@ "integrity": "sha1-zFeveqM5iVflbezr5jy2DCNClwM=", "dev": true, "requires": { - "clean-css": "3.4.28" + "clean-css": "^3.0.1" } }, "mime": { @@ -516,7 +516,7 @@ "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "dev": true, "requires": { - "mime-db": "1.33.0" + "mime-db": "~1.33.0" } }, "minimist": { @@ -550,7 +550,7 @@ "dev": true, "optional": true, "requires": { - "asap": "2.0.6" + "asap": "~2.0.3" } }, "prr": { @@ -580,14 +580,14 @@ "dev": true, "optional": true, "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" }, "dependencies": { "assert-plus": { @@ -613,7 +613,7 @@ "dev": true, "optional": true, "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "tunnel-agent": { @@ -623,7 +623,7 @@ "dev": true, "optional": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -647,9 +647,9 @@ "dev": true, "optional": true, "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" }, "dependencies": { "assert-plus": { diff --git a/public/css/theme-arc-green.css b/public/css/theme-arc-green.css new file mode 100644 index 000000000..a901c0809 --- /dev/null +++ b/public/css/theme-arc-green.css @@ -0,0 +1 @@ +.hljs{display:block;overflow-x:auto;padding:.5em;background-color:#2b2b2b!important;color:#bababa}.repository.file.list .non-diff-file-content .code-view .lines-code ol,.repository.file.list .non-diff-file-content .code-view .lines-num{background-color:#2b2b2b!important}.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 a{color:#dbdbdb}.ui.horizontal.segments>.segment{background-color:#383c4a}body{background:#383c4a;color:#9e9e9e}a{color:#87ab63}a:hover{color:#a0cc75}.ui.card>.extra a:not(.ui):hover,.ui.cards>.card>.extra a:not(.ui):hover{color:#a0cc75}.ui.breadcrumb a:hover{color:#a0cc75}.ui.breadcrumb a{color:#87ab63}.repository .metas .ui.list a .text{color:#87ab63}.repository .metas .ui.list a .text:hover{color:#a0cc75}.repository .label.list .item a{color:#87ab63}.repository .label.list .item a:hover{color:#a0cc75}.repository .milestone.list>.item>a{color:#87ab63}.repository .milestone.list>.item>a:hover{color:#a0cc75}.repository.release #release-list{border-top:1px solid #4c505c}.repository .milestone.list>.item .operate>a{color:#87ab63}.repository .milestone.list>.item .operate>a:hover{color:#a0cc75}.ui.green.progress .bar{background-color:#684}.ui.progress.success .bar{background-color:#7b9e57!important}.following.bar.light{background:#2e323e}.ui.secondary.menu .active.item{color:#dbdbdb}.ui.secondary.menu .item{color:#9e9e9e}.following.bar .top.menu a.item:hover{color:#fff}.repository.view.issue .comment-list .comment .content>.bottom.segment a{border:solid 1px #353945;background-color:#353945}.following.bar.light{border-bottom:1px solid #313131}.ui.attached.header{background:#404552;border:1px solid #404552;color:#dbdbdb}.ui.attached.table{border:1px solid #304251;background:#304251}.feeds .list ul li:not(:last-child){border-bottom:1px solid #333640}.feeds .list ul li.private{background:#353945;border:1px solid #333640}.ui.secondary.menu .dropdown.item:hover,.ui.secondary.menu .link.item:hover,.ui.secondary.menu a.item:hover{color:#fff}.ui.menu .ui.dropdown .menu>.item{background:#2c303a!important;color:#9e9e9e!important}.ui.secondary.menu .dropdown.item>.menu,.ui.text.menu .dropdown.item>.menu{border:1px solid #434444}footer{background:#2e323e;border-top:1px solid #313131}.ui.menu .dropdown.item .menu{background:#2c303a}.ui.menu .ui.dropdown .menu>.item:hover,.ui.menu .ui.dropdown .menu>.selected.item{color:#fff!important}.ui.dropdown .menu>.header{color:#dbdbdb}.ui.red.label,.ui.red.labels .label{background-color:#7d3434!important;border-color:#8a2121!important}.ui.menu{background:#404552;border:1px solid #353945}.ui.menu .active.item:hover,.ui.vertical.menu .active.item:hover{color:#dbdbdb;background:#4B5162}.ui.link.menu .item:hover,.ui.menu .dropdown.item:hover,.ui.menu .link.item:hover,.ui.menu a.item:hover{color:#dbdbdb;background:#454b5a}.ui.menu .active.item{background:#4B5162;color:#dbdbdb}.ui.input input{background:#404552;border:2px solid #353945;color:#dbdbdb}.ui.input input:focus,.ui.input.focus input{background:#404552;border:2px solid #353945;color:#dbdbdb}.ui.label{color:#dbdbdb;background-color:#404552}.issue.list>.item .title{color:#87ab63}.issue.list>.item .title:hover{color:#a0cc75}.issue.list>.item{border-bottom:1px dashed #475767}.ui.green.label,.ui.green.labels .label{background-color:#2d693b!important;border-color:#2d693b!important}.issue.list>.item .comment{color:#129c92}.ui.basic.button,.ui.basic.buttons .button{color:#797979!important}.ui.basic.red.active.button,.ui.basic.red.buttons .active.button{box-shadow:0 0 0 1px #c75252 inset!important;color:#c75252!important}.ui.basic.button:focus,.ui.basic.button:hover,.ui.basic.buttons .button:focus,.ui.basic.buttons .button:hover{background:0 0!important;color:#dbdbdb!important}.ui.menu .item{background:#404552;color:#9e9e9e}.ui.menu .item.disabled,.ui.menu .item.disabled:hover{color:#626773}.ui.pagination.menu .active.item{color:#dbdbdb;background-color:#609926}.repository .header-wrapper{background-color:#2a2e3a}.ui.tabular.menu .active.item{background:#383c4a;color:#dbdbdb;border-left:1px solid transparent;border-right:1px solid transparent;border-top:none}.ui.tabular.menu .item{color:#9e9e9e}.ui.tabular.menu .item:hover{color:#dbdbdb}.ui.breadcrumb .divider,.ui.header{color:#9e9e9e}.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:#609926}.ui.blue.button:hover,.ui.blue.buttons .button:hover{background-color:#73ad36}.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]{background:#404552;border:2px solid #353945}.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:#404552;border:2px solid #4b505f;color:#dbdbdb}.ui.action.input:not([class*="left action"]) input:focus{border-right-color:#4b505f!important}.ui.green.button,.ui.green.buttons .button{background-color:#609926}.ui.green.button:hover,.ui.green.buttons .button:hover{background-color:#73ad36}.ui.button{background:#383c4a;border:1px solid #4c505c;color:#dbdbdb}.ui.labeled.button:not([class*="left labeled"])>.label,.ui[class*="left labeled"].button>.button{background:#404552;border:1px solid #4c505c;color:#87ab63}.ui.button:hover{background-color:#404552;color:#dbdbdb}.ui.table thead th{background:#404552;color:#dbdbdb}.repository.file.list #repo-files-table tr:hover{background-color:#393d4a}.ui.table{color:#a5a5a5!important;border:1px solid #4c505c;background:#353945}.ui.table tbody tr{border-bottom:1px solid #333640;background:#2a2e3a}.ui .text.grey{color:#808084!important}.ui.attached.table.segment{background:#353945;color:#dbdbdb!important}.markdown:not(code) h2{border-bottom:1px solid #304251}.hljs,.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#9daccc}.markdown:not(code) .highlight pre,.markdown:not(code) pre{background-color:#2a2e3a;border:1px solid #404552}.ui.dropdown .menu{background:#2c303a}.ui.dropdown .menu>.message:not(.ui){color:#636363}.ui.input{color:#dbdbdb}.overflow.menu .items .item{color:#9d9d9d}.overflow.menu .items .item:hover{color:#dbdbdb}.ui.segment{background:#353945;color:#9e9e9e!important;border:1px solid #404552}.ui.active.button:active,.ui.button:active,.ui.button:focus{background-color:#2e3e4e;color:#dbdbdb}.ui.dropdown .menu .selected.item,.ui.dropdown.selected{color:#dbdbdb}.ui.dropdown .menu>.item:hover{color:#dbdbdb}.ui.dropdown .menu>.item{color:#9e9e9e}.ui.attached.segment{border:1px solid #404552}.repository.view.issue .comment-list .comment .content>.bottom.segment{background:#353945}.repository.view.issue .comment-list .comment .content .header{color:#dbdbdb;background-color:#404552;border-bottom:1px solid #353944}.ui .text.grey a{color:#b3b3b3!important}.ui.comments .comment .actions a{color:#dbdbdb}.repository.view.issue .comment-list .comment .content .header:after{border-right-color:#404552}.repository.new.issue .comment.form .content:after{border-right-color:#353945}.repository.view.issue .comment-list .comment .content .header:before{border-right-color:#404552}.repository.new.issue .comment.form .content:before{border-right-color:#353945}.repository.view.issue .comment-list:before{background-color:#313c47}.repository .comment.form .content .form:after{border-right-color:#313c47}.repository .comment.form .content .form:before{border-right-color:#313c47}.ui .text.grey a{color:#dbdbdb!important}.ui .text.grey a:hover{color:#dbdbdb!important}.ui.basic.green.active.button,.ui.basic.green.buttons .active.button{color:#13ae38!important}.ui.form textarea,.ui.form textarea:focus{background:#1a2632;border:1px solid #313c47;color:#dbdbdb}.ui.form textarea:focus{border:1px solid #456580}.ui .info.segment.top{background-color:#404552!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}.repository .diff-file-box .code-diff .lines-num{border-right:1px solid #2d2d2d}.repository .diff-file-box .file-body.file-code .lines-num{color:#9e9e9e;background:#2e323e}.repository .diff-file-box .code-diff tbody tr td.tag-code,.repository .diff-file-box .code-diff tbody tr.tag-code td{border-color:#2d2d2d!important}.repository .diff-file-box .file-body.file-code .lines-num-old{border-right:1px solid #2d2d2d}.hljs-section,.hljs-selector-id,.hljs-title{color:#986c88}.hljs-doctag,.hljs-string{color:#949494}.repository .diff-file-box .code-diff tbody tr .removed-code{background-color:#5f3737}.repository .diff-file-box .code-diff tbody tr td.tag-code,.repository .diff-file-box .code-diff tbody tr.tag-code td{background-color:#292727!important}.ui.vertical.menu .active.item{background:#4B5162}.ui.vertical.menu .item{background:#353945}.ui.vertical.menu .header.item{background:#404552}.ui.vertical.menu{background:#353945;border:1px solid #333640}.ui.repository.list .item:not(:first-child){border-top:1px solid #4c505c}.ui .text.blue{color:#609926!important}.ui.selection.active.dropdown,.ui.selection.active.dropdown .menu{border-color:#4e5361;box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.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:#404552;border:1px solid #404552;color:#9e9e9e}.ui.menu .ui.dropdown .menu>.active.item{color:#dbdbdb!important}.ui.tabular.menu{border-bottom:1px solid #313c47}.ui.card,.ui.cards>.card{background:#353945;box-shadow:0 1px 3px 0 #4c505c,0 0 0 1px #4c505c}.ui.card>.content>.header,.ui.cards>.card>.content>.header{color:#dbdbdb}.ui.card>.extra a:not(.ui),.ui.cards>.card>.extra a:not(.ui){color:#87ab63}.ui .text.black{color:#9e9e9e}.ui .text.black:hover{color:#dbdbdb}.ui.secondary.segment{background:#353945}.ui.secondary.pointing.menu .active.item{border-color:#609926;color:#dbdbdb;background:#404552}.ui.user.list .item:not(:first-child){border-top:1px solid #4c505c}.ui.secondary.pointing.menu .active.item:hover{border-color:#af8b4c;color:#dbdbdb;background:#4b5162}.ui.secondary.pointing.menu .dropdown.item:hover,.ui.secondary.pointing.menu .link.item:hover,.ui.secondary.pointing.menu a.item:hover{color:#dbdbdb}.ui.checkbox label,.ui.checkbox+label,.ui.form .field>label{color:#9e9e9e}.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:#9e9e9e}.user.settings .email.list .item:not(:first-child){border-top:1px solid #3f4451}.explore .navbar{background-color:#2a2e3a!important}.ui.menu.new-menu{background-color:#2a2e3a!important}input{background:#2e323e}.ui.secondary.pointing.menu .active.item{border:none;background:#383c4a}.settings .key.list .item:not(:first-child){border-top:1px solid #404552}.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:#9e9e9e}.ui.attached.info.message,.ui.info.message{box-shadow:0 0 0 1px #4b5e71 inset,0 0 0 0 transparent}.ui.info.message{background-color:#2c3b4a;color:#9ebcc5}.ui .warning.header{background-color:#5d3a22!important;border-color:#794f31}.ui.red.message{background-color:rgba(80,23,17,.6);color:#f9cbcb;box-shadow:0 0 0 1px rgba(121,71,66,.5) inset,0 0 0 0 transparent}.ui.red.button,.ui.red.buttons .button{background-color:#7d3434}.ui.red.button:hover,.ui.red.buttons .button:hover{background-color:#984646}.ui.checkbox label:hover,.ui.checkbox+label:hover{color:#dbdbdb!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:#304251}.ui.checkbox .box:hover::before,.ui.checkbox label:hover::before{background:#304251}.ui.checkbox .box:before,.ui.checkbox label:before{background:#304251;border:1px solid #304251}.ui.checkbox .box:active::before,.ui.checkbox label:active::before{background:#304251;border-color:rgba(34,36,38,.35)}.ui.checkbox input:checked~.box:before,.ui.checkbox input:checked~label:before{border-color:#304251;background:#304251}.ui.checkbox input:focus~.box:before,.ui.checkbox input:focus~label:before{border-color:#304251;background:#304251}.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:#304251;background:#304251}.ui.checkbox input:checked~.box:after,.ui.checkbox input:checked~label:after{opacity:1;color:#7f98ad}.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-color:rgba(34,36,38,.35);border:1px solid #456580}.ui.selection.dropdown .menu>.item{border-top:1px solid #313c47}.ui.selection.visible.dropdown>.text:not(.default){color:#9e9e9e}.ui.negative.message{background-color:rgba(80,23,17,.6);color:#f9cbcb;box-shadow:0 0 0 1px rgba(121,71,66,.5) 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}.ui.form textarea,.ui.form textarea:focus{background:#404552;border:2px solid #353945}.hljs-literal,.hljs-number,.hljs-tag .hljs-attr,.hljs-template-variable,.hljs-variable{color:#bd84bf}.hljs-doctag,.hljs-string{color:#8ab398}.ui.form .dropzone{border:2px dashed #4c505c}.ui.basic.red.button,.ui.basic.red.buttons .button{box-shadow:0 0 0 1px #a04141 inset!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:#9e9e9e}.ui.user.list .item .description a{color:#668cb1}.repository.file.list #file-content .code-view .lines-num{background:#2e323e}.repository.file.list #repo-files-table tbody .octicon.octicon-file-directory,.repository.file.list #repo-files-table tbody .octicon.octicon-file-submodule{color:#7c9b5e}.ui.blue.button:focus,.ui.blue.buttons .button:focus{background-color:#609926}.ui.basic.blue.button:hover,.ui.basic.blue.buttons .button:hover{box-shadow:0 0 0 1px #609926 inset!important;color:#609926!important}.ui.basic.blue.button:focus,.ui.basic.blue.buttons .button:focus{box-shadow:0 0 0 1px #609926 inset!important;color:#609926!important}.repository.file.list #file-content .code-view .lines-code .hljs,.repository.file.list #file-content .code-view .lines-code ol,.repository.file.list #file-content .code-view .lines-code pre,.repository.file.list #file-content .code-view .lines-num .hljs,.repository.file.list #file-content .code-view .lines-num ol,.repository.file.list #file-content .code-view .lines-num pre{background-color:#2a2e3a}a.ui.label:hover,a.ui.labels .label:hover{background-color:#505667;color:#dbdbdb}.repository .label.list .item{border-bottom:1px dashed #4c505c}.repository.file.list #file-content .code-view .lines-num{background:#2e323e}.repository.file.list #repo-files-table tbody .octicon.octicon-file-directory,.repository.file.list #repo-files-table tbody .octicon.octicon-file-submodule{color:#7c9b5e}.ui.basic.blue.button,.ui.basic.blue.buttons .button{box-shadow:0 0 0 1px #a27558 inset!important;color:#a27558!important}.repository.file.list #file-content .code-view .lines-code .hljs,.repository.file.list #file-content .code-view .lines-code ol,.repository.file.list #file-content .code-view .lines-code pre,.repository.file.list #file-content .code-view .lines-num .hljs,.repository.file.list #file-content .code-view .lines-num ol,.repository.file.list #file-content .code-view .lines-num pre{background-color:#2a2e3a}a.ui.label:hover,a.ui.labels .label:hover{background-color:#505667;color:#dbdbdb}.repository .diff-file-box .code-diff-split tbody tr.add-code td:nth-child(1),.repository .diff-file-box .code-diff-split tbody tr.add-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.del-code td:nth-child(4){background-color:#2a2e3a}.repository .diff-file-box .code-diff-split tbody tr td.add-code,.repository .diff-file-box .code-diff-split tbody tr.add-code td:nth-child(3),.repository .diff-file-box .code-diff-split tbody tr.add-code td:nth-child(4){background-color:#283e2d!important;border-color:#314a37!important}.repository .diff-file-box .code-diff-split tbody tr td.del-code,.repository .diff-file-box .code-diff-split tbody tr.del-code td:nth-child(1),.repository .diff-file-box .code-diff-split tbody tr.del-code td:nth-child(2){background-color:#3c2626!important;border-color:#634343!important}.ui.blue.button:focus,.ui.blue.buttons .button:focus{background-color:#a27558}.ui.blue.button:active,.ui.blue.buttons .button:active{background-color:#a27558}#git-graph-container li a{color:#c79575}#git-graph-container li .author{color:#c79575}.ui.header .sub.header{color:#9e9e9e}.ui.dividing.header{border-bottom:1px solid #4c505c}.ui.modal>.header{background:#404552;color:#dbdbdb}.ui.modal>.actions{background:#404552;border-top:1px solid #404552}.ui.modal>.content{background:#383c4a}.ui.basic.blue.button,.ui.basic.blue.buttons .button{box-shadow:0 0 0 1px #609926 inset!important;color:#609926!important} \ No newline at end of file diff --git a/public/less/themes/_base.less b/public/less/themes/_base.less new file mode 100644 index 000000000..18d4f068c --- /dev/null +++ b/public/less/themes/_base.less @@ -0,0 +1,3 @@ +// TODO: Instead of having each theme file define each +// CSS/LESS item in this file and then overide +// in the theme files \ No newline at end of file diff --git a/public/less/themes/arc-green.less b/public/less/themes/arc-green.less new file mode 100644 index 000000000..5d5500410 --- /dev/null +++ b/public/less/themes/arc-green.less @@ -0,0 +1,751 @@ +@import "_base"; + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background-color: #2b2b2b !important; + color: #bababa; +} + .repository.file.list .non-diff-file-content .code-view .lines-num, .repository.file.list .non-diff-file-content .code-view .lines-code ol { + background-color: #2b2b2b !important; +} + .hljs-strong, .hljs-emphasis { + color: #a8a8a2; +} + .hljs-bullet, .hljs-quote, .hljs-link, .hljs-number, .hljs-regexp, .hljs-literal { + color: #6896ba; +} + .hljs-code, .hljs-selector-class { + color: #a6e22e; +} + .hljs-emphasis { + font-style: italic; +} + .hljs-keyword, .hljs-selector-tag, .hljs-section, .hljs-attribute, .hljs-name, .hljs-variable { + color: #cb7832; +} + .hljs-params { + color: #b9b9b9; +} + .hljs-string { + color: #6a8759; +} + .hljs-subst, .hljs-type, .hljs-built_in, .hljs-builtin-name, .hljs-symbol, .hljs-selector-id, .hljs-selector-attr, .hljs-selector-pseudo, .hljs-template-tag, .hljs-template-variable, .hljs-addition { + color: #e0c46c; +} + .hljs-comment, .hljs-deletion, .hljs-meta { + color: #7f7f7f; +} + .repository .ui.segment.sub-menu .list .item a { + color:#dbdbdb; +} + .ui.horizontal.segments > .segment { + background-color: #383c4a; +} + body { + background: #383c4a; + color: #9e9e9e; +} + a { + color: #87ab63; +} + a:hover { + color: #a0cc75; +} + .ui.card>.extra a:not(.ui):hover, .ui.cards>.card>.extra a:not(.ui):hover { + color: #a0cc75; +} + .ui.breadcrumb a:hover { + color: #a0cc75; +} + .ui.breadcrumb a { + color: #87ab63; +} + .repository .metas .ui.list a .text { + color: #87ab63; +} + .repository .metas .ui.list a .text:hover { + color: #a0cc75; +} + .repository .label.list .item a { + color: #87ab63; +} + .repository .label.list .item a:hover { + color: #a0cc75; +} + .repository .milestone.list > .item > a { + color: #87ab63; +} + .repository .milestone.list > .item > a:hover { + color: #a0cc75; +} + .repository.release #release-list { + border-top: 1px solid #4c505c; +} + .repository .milestone.list > .item .operate > a { + color: #87ab63; +} + .repository .milestone.list > .item .operate > a:hover { + color: #a0cc75; +} + .ui.green.progress .bar { + background-color: #668844; +} + .ui.progress.success .bar { + background-color: #7b9e57!important; +} + .following.bar.light { + background: #2e323e; +} + .ui.secondary.menu .active.item { + color: #dbdbdb; +} + .ui.secondary.menu .item { + color: #9e9e9e; +} + .following.bar .top.menu a.item:hover { + color: #fff; +} + .repository.view.issue .comment-list .comment .content > .bottom.segment a { + border: solid 1px #353945; + background-color: #353945; +} + .following.bar.light { + border-bottom: 1px solid #313131; +} + .ui.attached.header { + background: #404552; + border: 1px solid #404552; + color: #dbdbdb; +} + .ui.attached.table { + border: 1px solid #304251; + background: #304251; +} + .feeds .list ul li:not(:last-child) { + border-bottom: 1px solid #333640; +} + .feeds .list ul li.private { + background: #353945; + border: 1px solid #333640; +} + .ui.secondary.menu .dropdown.item:hover, .ui.secondary.menu .link.item:hover, .ui.secondary.menu a.item:hover { + color: #fff; +} + .ui.menu .ui.dropdown .menu>.item { + background: #2c303a !important; + color: #9e9e9e !important; +} + .ui.secondary.menu .dropdown.item>.menu, .ui.text.menu .dropdown.item>.menu { + border: 1px solid #434444; +} + footer { + background: #2e323e; + border-top: 1px solid #313131; +} + .ui.menu .dropdown.item .menu { + background: #2c303a; +} + .ui.menu .ui.dropdown .menu>.item:hover, .ui.menu .ui.dropdown .menu>.selected.item { + color: #fff!important; +} + .ui.dropdown .menu>.header { + color: #dbdbdb; +} + .ui.red.label, .ui.red.labels .label { + background-color: #7d3434!important; + border-color: #8a2121!important; +} + .ui.menu { + background: #404552; + border: 1px solid #353945; +} + .ui.menu .active.item:hover, .ui.vertical.menu .active.item:hover { + color: #dbdbdb; + background: #4B5162; +} + .ui.link.menu .item:hover, .ui.menu .dropdown.item:hover, .ui.menu .link.item:hover, .ui.menu a.item:hover { + color: #dbdbdb; + background: #454b5a; +} + .ui.menu .active.item { + background: #4B5162; + color: #dbdbdb; +} + .ui.input input { + background: #404552; + border: 2px solid #353945; + color: #dbdbdb; +} + .ui.input input:focus, .ui.input.focus input { + background: #404552; + border: 2px solid #353945; + color: #dbdbdb; +} + .ui.label { + color: #dbdbdb; + background-color: #404552; +} + .issue.list > .item .title { + color: #87ab63; +} + .issue.list > .item .title:hover { + color: #a0cc75; +} + .issue.list > .item { + border-bottom: 1px dashed #475767; +} + .ui.green.label, .ui.green.labels .label { + background-color: #2d693b!important; + border-color: #2d693b!important; +} + .issue.list > .item .comment { + color: #129c92; +} + .ui.basic.button, .ui.basic.buttons .button { + color: #797979!important; +} + .ui.basic.red.active.button, .ui.basic.red.buttons .active.button { + box-shadow: 0 0 0 1px #c75252 inset!important; + color: #c75252!important; +} + .ui.basic.button:focus, .ui.basic.button:hover, .ui.basic.buttons .button:focus, .ui.basic.buttons .button:hover { + background: transparent!important; + color: #dbdbdb!important; +} + .ui.menu .item { + background: #404552; + color: #9e9e9e; +} + .ui.menu .item.disabled, .ui.menu .item.disabled:hover { + color: #626773; +} + .ui.pagination.menu .active.item { + color: #dbdbdb; + background-color: #609926; +} + .repository .header-wrapper { + background-color: #2a2e3a; +} + .ui.tabular.menu .active.item { + background: #383c4a; + color: #dbdbdb; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-top: none; +} + .ui.tabular.menu .item { + color: #9e9e9e; +} + .ui.tabular.menu .item:hover { + color: #dbdbdb; +} + .ui.header, .ui.breadcrumb .divider { + color: #9e9e9e; +} + .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: #609926; +} + .ui.blue.button:hover, .ui.blue.buttons .button:hover { + background-color: #73ad36; +} + .ui.form input:not([type]), .ui.form input[type=text], .ui.form input[type=email], .ui.form input[type=search], .ui.form input[type=password], .ui.form input[type=date], .ui.form input[type=datetime-local], .ui.form input[type=tel], .ui.form input[type=time], .ui.form input[type=url], .ui.form input[type=number] { + background: #404552; + border: 2px solid #353945; +} + .ui.form input:not([type]):focus, .ui.form input[type=text]:focus, .ui.form input[type=email]:focus, .ui.form input[type=search]:focus, .ui.form input[type=password]:focus, .ui.form input[type=date]:focus, .ui.form input[type=datetime-local]:focus, .ui.form input[type=tel]:focus, .ui.form input[type=time]:focus, .ui.form input[type=url]:focus, .ui.form input[type=number]:focus { + background: #404552; + border: 2px solid #4b505f; + color: #dbdbdb; +} + .ui.action.input:not([class*="left action"]) input:focus { + border-right-color: #4b505f!important; +} + .ui.green.button, .ui.green.buttons .button { + background-color: #609926; +} + .ui.green.button:hover, .ui.green.buttons .button:hover { + background-color: #73ad36; +} + .ui.button { + background: #383c4a; + border: 1px solid #4c505c; + color: #dbdbdb; +} + .ui.labeled.button:not([class*="left labeled"])>.label, .ui[class*="left labeled"].button>.button { + background: #404552; + border: 1px solid #4c505c; + color: #87ab63; +} + .ui.button:hover { + background-color: #404552; + color: #dbdbdb; +} + .ui.table thead th { + background: #404552; + color: #dbdbdb; +} + .repository.file.list #repo-files-table tr:hover { + background-color: #393d4a; +} + .ui.table { + color: #a5a5a5!important; + border: 1px solid #4c505c; + background: #353945; +} + .ui.table tbody tr { + border-bottom: 1px solid #333640; + background: #2a2e3a; +} + .ui .text.grey { + color: #808084 !important; +} + .ui.attached.table.segment { + background: #353945; + color: #dbdbdb!important; +} + .markdown:not(code) h2 { + border-bottom: 1px solid #304251; +} + .hljs, .hljs-keyword, .hljs-selector-tag, .hljs-subst { + color: #9daccc; +} + .markdown:not(code) .highlight pre, .markdown:not(code) pre { + background-color: #2a2e3a; + border: 1px solid #404552; +} + .ui.dropdown .menu { + background: #2c303a; +} + .ui.dropdown .menu>.message:not(.ui) { + color: rgb(99, 99, 99); +} + .ui.input { + color: #dbdbdb; +} + .overflow.menu .items .item { + color: #9d9d9d; +} + .overflow.menu .items .item:hover { + color: #dbdbdb; +} + .ui.segment { + background: #353945; + color: #9e9e9e!important; + border: 1px solid #404552; +} + .ui.active.button:active, .ui.button:active, .ui.button:focus { + background-color: #2e3e4e; + color: #dbdbdb; +} + .ui.dropdown .menu .selected.item, .ui.dropdown.selected { + color: #dbdbdb; +} + .ui.dropdown .menu>.item:hover { + color: #dbdbdb; +} + .ui.dropdown .menu>.item { + color: #9e9e9e; +} + .ui.attached.segment { + border: 1px solid #404552; +} + .repository.view.issue .comment-list .comment .content > .bottom.segment { + background: #353945; +} + .repository.view.issue .comment-list .comment .content .header { + color: #dbdbdb; + background-color: #404552; + border-bottom: 1px solid #353944; +} + .ui .text.grey a { + color: #b3b3b3 !important; +} + .ui.comments .comment .actions a { + color: #dbdbdb; +} + .repository.view.issue .comment-list .comment .content .header:after { + border-right-color: #404552; +} + .repository.new.issue .comment.form .content:after { + border-right-color: #353945; +} + .repository.view.issue .comment-list .comment .content .header:before { + border-right-color: #404552; +} + .repository.new.issue .comment.form .content:before { + border-right-color: #353945; +} + .repository.view.issue .comment-list:before { + background-color: #313c47; +} + .repository .comment.form .content .form:after { + border-right-color: #313c47; +} + .repository .comment.form .content .form:before { + border-right-color: #313c47; +} + .ui .text.grey a { + color: #dbdbdb !important; +} + .ui .text.grey a:hover { + color: #dbdbdb !important; +} + .ui.basic.green.active.button, .ui.basic.green.buttons .active.button { + color: #13ae38!important; +} + .ui.form textarea, .ui.form textarea:focus { + background: #1a2632; + border: 1px solid #313c47; + color: #dbdbdb; +} + .ui.form textarea:focus { + border: 1px solid #456580; +} + .ui .info.segment.top { + background-color: #404552 !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: rgb(40, 62, 45) !important; + border-color: #314a37 !important; +} + .repository .diff-file-box .code-diff tbody tr .added-code { + background-color: #3a523a; +} + .repository .diff-file-box .code-diff .lines-num { + border-right: 1px solid #2d2d2d; +} + .repository .diff-file-box .file-body.file-code .lines-num { + color: #9e9e9e; + background: #2e323e; +} + .repository .diff-file-box .code-diff tbody tr.tag-code td, .repository .diff-file-box .code-diff tbody tr td.tag-code { + border-color: #2d2d2d !important; +} + .repository .diff-file-box .file-body.file-code .lines-num-old { + border-right: 1px solid #2d2d2d; +} + .hljs-title, .hljs-section, .hljs-selector-id { + color: #986c88; +} + .hljs-string, .hljs-doctag { + color: #949494; +} + .repository .diff-file-box .code-diff tbody tr .removed-code { + background-color: #5f3737; +} + .repository .diff-file-box .code-diff tbody tr.tag-code td, .repository .diff-file-box .code-diff tbody tr td.tag-code { + background-color: #292727 !important; +} + .ui.vertical.menu .active.item { + background: #4B5162; +} + .ui.vertical.menu .item { + background: #353945; +} + .ui.vertical.menu .header.item { + background: #404552; +} + .ui.vertical.menu { + background: #353945; + border: 1px solid #333640; +} + .ui.repository.list .item:not(:first-child) { + border-top: 1px solid #4c505c; +} + .ui .text.blue { + color: #609926 !important; +} + .ui.selection.active.dropdown, .ui.selection.active.dropdown .menu { + border-color: #4e5361; + box-shadow: 0 2px 3px 0 rgba(34,36,38,.15); +} + .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: #404552; + border: 1px solid rgb(64, 69, 82); + color: #9e9e9e; +} + .ui.menu .ui.dropdown .menu>.active.item { + color: #dbdbdb !important; +} + .ui.tabular.menu { + border-bottom: 1px solid #313c47; +} + .ui.card, .ui.cards>.card { + background: #353945; + box-shadow: 0 1px 3px 0 #4c505c, 0 0 0 1px #4c505c; +} + .ui.card>.content>.header, .ui.cards>.card>.content>.header { + color: #dbdbdb; +} + .ui.card>.extra a:not(.ui), .ui.cards>.card>.extra a:not(.ui) { + color: #87ab63; +} + .ui .text.black { + color: #9e9e9e; +} + .ui .text.black:hover { + color: #dbdbdb; +} + .ui.secondary.segment { + background: #353945; +} + .ui.secondary.pointing.menu .active.item { + border-color: #609926; + color: #dbdbdb; + background: #404552; +} + .ui.user.list .item:not(:first-child) { + border-top: 1px solid #4c505c; +} + .ui.secondary.pointing.menu .active.item:hover { + border-color: #af8b4c; + color: #dbdbdb; + background: #4b5162; +} + .ui.secondary.pointing.menu .dropdown.item:hover, .ui.secondary.pointing.menu .link.item:hover, .ui.secondary.pointing.menu a.item:hover { + color: #dbdbdb; +} + .ui.checkbox label, .ui.checkbox+label, .ui.form .field>label { + color: #9e9e9e; +} + .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: #9e9e9e; +} + .user.settings .email.list .item:not(:first-child) { + border-top: 1px solid #3f4451; +} + .explore .navbar { + background-color: #2a2e3a!important; +} + .ui.menu.new-menu { + background-color: #2a2e3a!important; +} + input { + background: #2e323e; +} + .ui.secondary.pointing.menu .active.item { + border: none; + background: #383c4a; +} + .settings .key.list .item:not(:first-child) { + border-top: 1px solid #404552; +} + .ui.form input:not([type]), .ui.form input[type=text], .ui.form input[type=email], .ui.form input[type=search], .ui.form input[type=password], .ui.form input[type=date], .ui.form input[type=datetime-local], .ui.form input[type=tel], .ui.form input[type=time], .ui.form input[type=url], .ui.form input[type=number] { + color: #9e9e9e; +} + .ui.attached.info.message, .ui.info.message { + box-shadow: 0 0 0 1px #4b5e71 inset, 0 0 0 0 transparent; +} + .ui.info.message { + background-color: #2c3b4a; + color: #9ebcc5; +} + .ui .warning.header { + background-color: #5d3a22 !important; + border-color: #794f31; +} + .ui.red.message { + background-color: rgba(80, 23, 17, 0.6); + color: #f9cbcb; + box-shadow: 0 0 0 1px rgba(121, 71, 66, 0.5) inset, 0 0 0 0 transparent; +} + .ui.red.button, .ui.red.buttons .button { + background-color: #7d3434; +} + .ui.red.button:hover, .ui.red.buttons .button:hover { + background-color: #984646; +} + .ui.checkbox label:hover, .ui.checkbox+label:hover { + color: #dbdbdb !important; +} + .ui.checkbox input:checked~.box:after, .ui.checkbox input:checked~label:after { + color: rgb(127, 152, 173); +} + .ui.checkbox input:checked~.box:before, .ui.checkbox input:checked~label:before { + background: #304251; +} + .ui.checkbox .box:hover::before, .ui.checkbox label:hover::before { + background: #304251; +} + .ui.checkbox .box:before, .ui.checkbox label:before { + background: #304251; + border: 1px solid #304251; +} + .ui.checkbox .box:active::before, .ui.checkbox label:active::before { + background: #304251; + border-color: rgba(34,36,38,.35); +} + .ui.checkbox input:checked~.box:before, .ui.checkbox input:checked~label:before { + border-color: #304251; + background: #304251; +} + .ui.checkbox input:focus~.box:before, .ui.checkbox input:focus~label:before { + border-color: #304251; + background: #304251; +} + .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: #304251; + background: #304251; +} + .ui.checkbox input:checked~.box:after, .ui.checkbox input:checked~label:after { + opacity: 1; + color: rgb(127, 152, 173); +} + .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: rgb(127, 152, 173); +} + .ui.checkbox input:focus~.box:after, .ui.checkbox input:focus~label, .ui.checkbox input:focus~label:after { + color: #9a9a9a; +} + .ui.selection.dropdown:hover { + border-color: rgba(34,36,38,.35); + border: 1px solid #456580; +} + .ui.selection.dropdown .menu>.item { + border-top: 1px solid #313c47; +} + .ui.selection.visible.dropdown>.text:not(.default) { + color: #9e9e9e; +} + .ui.negative.message { + background-color: rgba(80, 23, 17, 0.6); + color: #f9cbcb; + box-shadow: 0 0 0 1px rgba(121, 71, 66, 0.5) inset, 0 0 0 0 transparent; +} + .hljs-tag, .hljs-name, .hljs-attribute { + color: #ef5e77; +} + .user.profile .ui.card .extra.content ul li:not(:last-child) { + border-bottom: 1px solid #4c505c; +} + .ui.form textarea, .ui.form textarea:focus { + background: #404552; + border: 2px solid #353945; +} + .hljs-number, .hljs-literal, .hljs-variable, .hljs-template-variable, .hljs-tag .hljs-attr { + color: #bd84bf; +} + .hljs-string, .hljs-doctag { + color: #8ab398; +} + .ui.form .dropzone { + border: 2px dashed #4c505c; +} + .ui.basic.red.button, .ui.basic.red.buttons .button { + box-shadow: 0 0 0 1px #a04141 inset!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: #9e9e9e; +} + .ui.user.list .item .description a { + color: #668cb1; +} + .repository.file.list #file-content .code-view .lines-num { + background: #2e323e; +} + .repository.file.list #repo-files-table tbody .octicon.octicon-file-directory, .repository.file.list #repo-files-table tbody .octicon.octicon-file-submodule { + color: #7c9b5e; +} + .ui.blue.button:focus, .ui.blue.buttons .button:focus { + background-color: #609926; +} + .ui.basic.blue.button:hover, .ui.basic.blue.buttons .button:hover { + box-shadow: 0 0 0 1px #609926 inset!important; + color: #609926!important; +} + .ui.basic.blue.button:focus, .ui.basic.blue.buttons .button:focus { + box-shadow: 0 0 0 1px #609926 inset!important; + color: #609926!important; +} + .repository.file.list #file-content .code-view .lines-num pre, .repository.file.list #file-content .code-view .lines-code pre, .repository.file.list #file-content .code-view .lines-num ol, .repository.file.list #file-content .code-view .lines-code ol, .repository.file.list #file-content .code-view .lines-num .hljs, .repository.file.list #file-content .code-view .lines-code .hljs { + background-color: #2a2e3a; +} + a.ui.label:hover, a.ui.labels .label:hover { + background-color: #505667; + color: rgb(219, 219, 219); +} + .repository .label.list .item { + border-bottom: 1px dashed #4c505c; +} + .repository.file.list #file-content .code-view .lines-num { + background: #2e323e; +} + .repository.file.list #repo-files-table tbody .octicon.octicon-file-directory, .repository.file.list #repo-files-table tbody .octicon.octicon-file-submodule { + color: #7c9b5e; +} + .ui.basic.blue.button, .ui.basic.blue.buttons .button { + box-shadow: 0 0 0 1px #a27558 inset !important; + color: #a27558 !important; +} + .repository.file.list #file-content .code-view .lines-num pre, .repository.file.list #file-content .code-view .lines-code pre, .repository.file.list #file-content .code-view .lines-num ol, .repository.file.list #file-content .code-view .lines-code ol, .repository.file.list #file-content .code-view .lines-num .hljs, .repository.file.list #file-content .code-view .lines-code .hljs { + background-color: #2a2e3a; +} + a.ui.label:hover, a.ui.labels .label:hover { + background-color: #505667; + color: rgb(219, 219, 219); +} + .repository .diff-file-box .code-diff-split tbody tr.add-code td:nth-child(1), .repository .diff-file-box .code-diff-split tbody tr.add-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.del-code td:nth-child(4) { + background-color: #2a2e3a; +} + .repository .diff-file-box .code-diff-split tbody tr.add-code td:nth-child(3), .repository .diff-file-box .code-diff-split tbody tr.add-code td:nth-child(4), .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:nth-child(1), .repository .diff-file-box .code-diff-split tbody tr.del-code td:nth-child(2), .repository .diff-file-box .code-diff-split tbody tr td.del-code { + background-color: #3c2626 !important; + border-color: #634343 !important; +} + .ui.blue.button:focus, .ui.blue.buttons .button:focus { + background-color: #a27558; +} + .ui.blue.button:active, .ui.blue.buttons .button:active { + background-color: #a27558; +} + #git-graph-container li a { + color: #c79575; +} + #git-graph-container li .author { + color: #c79575; +} + .ui.header .sub.header { + color: #9e9e9e; +} + .ui.dividing.header { + border-bottom: 1px solid #4c505c; +} + .ui.modal>.header { + background: #404552; + color: #dbdbdb; +} + .ui.modal>.actions { + background: #404552; + border-top: 1px solid #404552; +} + .ui.modal>.content { + background: #383c4a; +} + .ui.basic.blue.button, .ui.basic.blue.buttons .button { + box-shadow: 0 0 0 1px #609926 inset!important; + color: #609926!important; +} diff --git a/templates/base/head.tmpl b/templates/base/head.tmpl index 53d3de1e9..a59341496 100644 --- a/templates/base/head.tmpl +++ b/templates/base/head.tmpl @@ -127,6 +127,9 @@ {{end}} +{{if ne DefaultTheme "gitea"}} + +{{end}} {{template "custom/header" .}} diff --git a/templates/user/dashboard/feeds.tmpl b/templates/user/dashboard/feeds.tmpl index bdd6c3482..d9082a0f1 100644 --- a/templates/user/dashboard/feeds.tmpl +++ b/templates/user/dashboard/feeds.tmpl @@ -7,7 +7,7 @@

- {{.ShortActUserName}} + {{.ShortActUserName}} {{if eq .GetOpType 1}} {{$.i18n.Tr "action.create_repo" .GetRepoLink .ShortRepoPath | Str2html}} {{else if eq .GetOpType 2}}