commit c5816eed45ae7f2b0e02129f531710cd8a3ecbee Author: Gnarwhal Date: Thu Sep 26 17:41:20 2024 +0000 Add initial setup diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3b7e381 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +conf/ diff --git a/public/assets/css/theme-gitdotgay-dark.css b/public/assets/css/theme-gitdotgay-dark.css new file mode 100644 index 0000000..a60947c --- /dev/null +++ b/public/assets/css/theme-gitdotgay-dark.css @@ -0,0 +1,622 @@ +.chroma .bp { + color: #fabd2f; +} /* NameBuiltinPseudo */ +.chroma .c { + color: #777e94; +} /* Comment */ +.chroma .c1 { + color: #777e94; +} /* CommentSingle */ +.chroma .ch { + color: #777e94; +} /* CommentHashbang */ +.chroma .cm { + color: #777e94; +} /* CommentMultiline */ +.chroma .cp { + color: #8ec07c; +} /* CommentPreproc */ +.chroma .cpf { + color: #649bc4; +} /* CommentPreprocFile */ +.chroma .cs { + color: #9075cd; +} /* CommentSpecial */ +.chroma .dl { + color: #649bc4; +} /* LiteralStringDelimiter */ +/* .chroma .fm {} NameFunctionMagic */ +/* .chroma .g {} Generic */ +.chroma .gd { + color: #ffffff; + background-color: #5f3737; +} /* GenericDeleted */ +.chroma .ge { + color: #ddee30; +} /* GenericEmph */ +.chroma .gh { + color: #ffaa10; +} /* GenericHeading */ +.chroma .gi { + color: #ffffff; + background-color: #3a523a; +} /* GenericInserted */ +/* .chroma .gl {} GenericUnderline */ +.chroma .go { + color: #777e94; +} /* GenericOutput */ +.chroma .gp { + color: #ebdbb2; +} /* GenericPrompt */ +.chroma .gr { + color: #ff4433; +} /* GenericError */ +.chroma .gs { + color: #ebdbb2; +} /* GenericStrong */ +.chroma .gt { + color: #ff7540; +} /* GenericTraceback */ +.chroma .gu { + color: #b8bb26; +} /* GenericSubheading */ +.chroma .il { + color: #649bc4; +} /* LiteralNumberIntegerLong */ +.chroma .k { + color: #ff7540; +} /* Keyword */ +.chroma .kc { + color: #649bc4; +} /* KeywordConstant */ +.chroma .kd { + color: #ff7540; +} /* KeywordDeclaration */ +.chroma .kn { + color: #ffaa10; +} /* KeywordNamespace */ +.chroma .kp { + color: #5f8700; +} /* KeywordPseudo */ +.chroma .kr { + color: #ff7540; +} /* KeywordReserved */ +.chroma .kt { + color: #ff7b72; +} /* KeywordType */ +/* .chroma .l {} Literal */ +/* .chroma .ld {} LiteralDate */ +.chroma .m { + color: #649bc4; +} /* LiteralNumber */ +.chroma .mb { + color: #649bc4; +} /* LiteralNumberBin */ +.chroma .mf { + color: #649bc4; +} /* LiteralNumberFloat */ +.chroma .mh { + color: #649bc4; +} /* LiteralNumberHex */ +.chroma .mi { + color: #649bc4; +} /* LiteralNumberInteger */ +.chroma .mo { + color: #649bc4; +} /* LiteralNumberOct */ +.chroma .n { + color: #c9d1d9; +} /* Name */ +.chroma .na { + color: #b8bb26; +} /* NameAttribute */ +.chroma .nb { + color: #fabd2f; +} /* NameBuiltin */ +.chroma .nc { + color: #ffaa10; +} /* NameClass */ +.chroma .nd { + color: #8ec07c; +} /* NameDecorator */ +.chroma .ne { + color: #ff7540; +} /* NameException */ +.chroma .nf { + color: #fabd2f; +} /* NameFunction */ +.chroma .ni { + color: #fabd2f; +} /* NameEntity */ +.chroma .nl { + color: #ff7540; +} /* NameLabel */ +.chroma .nn { + color: #ffaa10; +} /* NameNamespace */ +.chroma .no { + color: #649bc4; +} /* NameConstant */ +.chroma .nt { + color: #ff7540; +} /* NameTag */ +.chroma .nv { + color: #ebdbb2; +} /* NameVariable */ +.chroma .nx { + color: #b6bac5; +} /* NameOther */ +.chroma .o { + color: #ff7540; +} /* Operator */ +.chroma .ow { + color: #5f8700; +} /* OperatorWord */ +.chroma .p { + color: #d2d4db; +} /* Punctuation */ +/* .chroma .py {} NameProperty */ +.chroma .s { + color: #b8bb26; +} /* LiteralString */ +.chroma .s1 { + color: #b8bb26; +} /* LiteralStringSingle */ +.chroma .s2 { + color: #b8bb26; +} /* LiteralStringDouble */ +.chroma .sa { + color: #649bc4; +} /* LiteralStringAffix */ +.chroma .sb { + color: #b8bb26; +} /* LiteralStringBacktick */ +.chroma .sc { + color: #649bc4; +} /* LiteralStringChar */ +.chroma .sd { + color: #777e94; +} /* LiteralStringDoc */ +.chroma .se { + color: #ff7540; +} /* LiteralStringEscape */ +.chroma .sh { + color: #649bc4; +} /* LiteralStringHeredoc */ +.chroma .si { + color: #ffaa10; +} /* LiteralStringInterpol */ +.chroma .sr { + color: #9075cd; +} /* LiteralStringRegex */ +.chroma .ss { + color: #ff7540; +} /* LiteralStringSymbol */ +.chroma .sx { + color: #ffaa10; +} /* LiteralStringOther */ +.chroma .vc { + color: #ff7540; +} /* NameVariableClass */ +.chroma .vg { + color: #ffaa10; +} /* NameVariableGlobal */ +.chroma .vi { + color: #ffaa10; +} /* NameVariableInstance */ +/* .chroma .vm {} NameVariableMagic */ +.chroma .w { + color: #7f8699; +} /* TextWhitespace */ + +:root { + /* not actually steel lol */ + --steel-950: #050508; + --steel-900: #10121d; + --steel-850: #131521; + --steel-800: #171926; + --steel-750: #1d1f2f; + --steel-700: #242738; + --steel-650: #2b2e42; + --steel-600: #373a51; + --steel-550: #444861; + --steel-500: #515570; + --steel-450: #5f6380; + --steel-400: #6d728f; + --steel-350: #7c819f; + --steel-300: #8c91af; + --steel-250: #9da2c0; + --steel-200: #aeb3d0; + --steel-150: #c0c4e0; + --steel-100: #d2d6f0; + --is-dark-theme: true; + --color-primary: #b66de4; + --color-primary-contrast: #000; + --color-primary-dark-1: #d89cfe; + --color-primary-dark-2: #d89cfe; + --color-primary-dark-3: #e7c1ff; + --color-primary-dark-4: #e7c1ff; + --color-primary-dark-5: #f0d9ff; + --color-primary-dark-6: #f0d9ff; + --color-primary-dark-7: #f8edff; + --color-primary-light-1: #874bad; + --color-primary-light-2: #863ab8; + --color-primary-light-3: #772aa7; + --color-primary-light-4: #5e1b88; + --color-primary-light-5: #621991; + --color-primary-light-6: #511278; + --color-primary-light-7: #410e61; + --color-primary-alpha-10: #9516e419; + --color-primary-alpha-20: #9516e433; + --color-primary-alpha-30: #9516e44b; + --color-primary-alpha-40: #9516e466; + --color-primary-alpha-50: #9516e480; + --color-primary-alpha-60: #9516e499; + --color-primary-alpha-70: #9516e4b3; + --color-primary-alpha-80: #9516e4cc; + --color-primary-alpha-90: #9516e4e1; + --color-primary-hover: var(--color-primary-light-1); + --color-primary-active: var(--color-primary-light-2); + --color-secondary: var(--steel-750); + --color-secondary-dark-1: var(--steel-550); + --color-secondary-dark-2: var(--steel-500); + --color-secondary-dark-3: var(--steel-450); + --color-secondary-dark-4: var(--steel-400); + --color-secondary-dark-5: var(--steel-350); + --color-secondary-dark-6: var(--steel-300); + --color-secondary-dark-7: var(--steel-250); + --color-secondary-dark-8: var(--steel-200); + --color-secondary-dark-9: var(--steel-150); + --color-secondary-dark-10: var(--steel-100); + --color-secondary-dark-11: var(--steel-100); + --color-secondary-dark-12: var(--steel-100); + --color-secondary-dark-13: var(--steel-100); + --color-secondary-light-1: var(--steel-650); + --color-secondary-light-2: var(--steel-700); + --color-secondary-light-3: var(--steel-750); + --color-secondary-light-4: var(--steel-800); + --color-secondary-alpha-10: #2b364219; + --color-secondary-alpha-20: #2b364233; + --color-secondary-alpha-30: #2b36424b; + --color-secondary-alpha-40: #2b364266; + --color-secondary-alpha-50: #2b364280; + --color-secondary-alpha-60: #2b364299; + --color-secondary-alpha-70: #2b3642b3; + --color-secondary-alpha-80: #2b3642cc; + --color-secondary-alpha-90: #2b3642e1; + --color-highlight-fg: var(--color-primary-light-4); + --color-highlight-bg: var(--color-primary-alpha-20); + /* colors */ + --color-red: #b91c1c; + --color-orange: #ea580c; + --color-yellow: #ca8a04; + --color-olive: #91a313; + --color-green: #15803d; + --color-teal: #0d9488; + --color-blue: #2563eb; + --color-violet: #7c3aed; + --color-purple: #9333ea; + --color-pink: #db2777; + --color-brown: #a47252; + --color-grey: var(--steel-500); + --color-black: #111827; + /* light variants */ + --color-red-light: #dc2626; + --color-orange-light: #f97316; + --color-yellow-light: #eab308; + --color-olive-light: #839311; + --color-green-light: #16a34a; + --color-teal-light: #14b8a6; + --color-blue-light: #3b82f6; + --color-violet-light: #8b5cf6; + --color-purple-light: #a855f7; + --color-pink-light: #ec4899; + --color-brown-light: #94674a; + --color-grey-light: var(--steel-300); + --color-black-light: #1f2937; + /* other colors */ + --color-gold: #b1983b; + --color-white: #ffffff; + --color-diff-removed-word-bg: #783030; + --color-diff-added-word-bg: #255c39; + --color-diff-removed-row-bg: #432121; + --color-diff-moved-row-bg: #825718; + --color-diff-added-row-bg: #1b3625; + --color-diff-removed-row-border: #783030; + --color-diff-moved-row-border: #a67a1d; + --color-diff-added-row-border: #255c39; + --color-diff-inactive: var(--steel-650); + --color-error-border: #783030; + --color-error-bg: #5f2525; + --color-error-bg-active: #783030; + --color-error-bg-hover: #783030; + --color-error-text: #fef2f2; + --color-success-border: var(--color-primary-alpha-50); + --color-success-bg: var(--color-primary-alpha-20); + --color-success-text: #f9f2fd; + --color-warning-border: #a67a1d; + --color-warning-bg: #644821; + --color-warning-text: #fefce8; + --color-info-border: #2e50b0; + --color-info-bg: #2a396b; + --color-info-text: var(--steel-100); + --color-red-badge: #b91c1c; + --color-red-badge-bg: #b91c1c22; + --color-red-badge-hover-bg: #b91c1c44; + --color-green-badge: #16a34a; + --color-green-badge-bg: #16a34a22; + --color-green-badge-hover-bg: #16a34a44; + --color-yellow-badge: #ca8a04; + --color-yellow-badge-bg: #ca8a0422; + --color-yellow-badge-hover-bg: #ca8a0444; + --color-orange-badge: #ea580c; + --color-orange-badge-bg: #ea580c22; + --color-orange-badge-hover-bg: #ea580c44; + --color-git: #f05133; + /* target-based colors */ + --color-body: var(--steel-800); + --color-box-header: var(--steel-750); + --color-box-body: var(--steel-750); + --color-box-body-highlight: var(--steel-650); + --color-text-dark: #fff; + --color-text: var(--steel-100); + --color-text-light: var(--steel-150); + --color-text-light-1: var(--steel-150); + --color-text-light-2: var(--steel-200); + --color-text-light-3: var(--steel-200); + --color-footer: var(--steel-900); + --color-timeline: var(--steel-650); + --color-input-text: var(--steel-100); + --color-input-background: var(--steel-800); + --color-input-toggle-background: var(--steel-650); + --color-input-border: var(--steel-600); + --color-input-border-hover: var(--steel-450); + --color-header-wrapper: var(--steel-900); + --color-header-wrapper-transparent: #242d3800; + --color-light: #00000028; + --color-light-mimic-enabled: rgba( + 0, + 0, + 0, + calc(40 / 255 * 222 / 255 / var(--opacity-disabled)) + ); + --color-light-border: #c0c7ff24; + --color-hover: var(--steel-700); + --color-active: var(--steel-650); + --color-menu: var(--steel-750); + --color-card: var(--steel-700); + --color-markup-table-row: #ffffff06; + --color-markup-code-block: var(--steel-800); + --color-button: var(--steel-800); + --color-code-bg: var(--steel-750); + --color-code-sidebar-bg: var(--steel-600); + --color-shadow: #00000060; + --color-secondary-bg: var(--steel-700); + --color-text-focus: #fff; + --color-expand-button: #3c404d; + --color-placeholder-text: var(--steel-450); + --color-editor-line-highlight: var(--steel-700); + --color-project-board-bg: var(--color-secondary-light-3); + --color-project-board-dark-label: var(--color-text-light-3); + --color-caret: var(--color-text); + /* should ideally be --color-text-dark, see #15651 */ + --color-reaction-bg: #ffffff12; + --color-reaction-active-bg: var(--color-primary-alpha-30); + --color-tooltip-text: #ffffff; + --color-tooltip-bg: #000000f0; + --color-nav-bg: var(--steel-900); + --color-nav-hover-bg: var(--steel-800); + --color-secondary-nav-bg: var(--steel-900); + --color-label-active-bg: #4c525e; + --color-label-text: #fff; + --color-accent: var(--color-primary-light-1); + --color-small-accent: var(--color-primary-light-5); + --color-active-line: var(--color-primary-alpha-20); + --color-label-bg: var(--steel-500); + --color-label-hover-bg: var(--steel-400); + accent-color: var(--color-accent); + color-scheme: dark; + --fonts-proportional: "DM Sans", -apple-system, "Segoe UI", system-ui, Roboto, + "Helvetica Neue", Arial; +} +.home a { + color: var(--color-primary); +} +/* invert emojis that are hard to read otherwise */ +.emoji[aria-label="check mark"], +.emoji[aria-label="currency exchange"], +.emoji[aria-label="TOP arrow"], +.emoji[aria-label="END arrow"], +.emoji[aria-label="ON! arrow"], +.emoji[aria-label="SOON arrow"], +.emoji[aria-label="heavy dollar sign"], +.emoji[aria-label="copyright"], +.emoji[aria-label="registered"], +.emoji[aria-label="trade mark"], +.emoji[aria-label="multiply"], +.emoji[aria-label="plus"], +.emoji[aria-label="minus"], +.emoji[aria-label="divide"], +.emoji[aria-label="curly loop"], +.emoji[aria-label="double curly loop"], +.emoji[aria-label="wavy dash"], +.emoji[aria-label="paw prints"], +.emoji[aria-label="musical note"], +.emoji[aria-label="musical notes"] { + filter: invert(100%) hue-rotate(180deg); +} +.following.bar.light { + border-bottom: none; +} +#navbar { + background: var(--color-nav-bg); + border-bottom: none; +} +#navbar .item { + gap: 4px; + transition: background-color 100ms cubic-bezier(0.075, 0.82, 0.165, 1); +} +#navbar .item.active { + background-color: var(--color-nav-active-bg); +} +.ui.grey.labels .label, +.ui.ui.ui.grey.label { + background-color: var(--steel-500); +} +.ui.green.labels .label, +.ui.ui.ui.green.label, +.ui.green.button, +.ui.green.buttons .button, +.ui.green.button:focus, +.ui.green.buttons .button:focus { + background: var(--color-primary); +} +.ui.green.button:hover, +.ui.green.buttons .button:hover { + background: var(--color-primary-light-1); +} +.repository #commits-table td.sha .sha.label.isSigned.isVerified, +.repository #repo-files-table .sha.label.isSigned.isVerified, +.repository #repo-file-commit-box .sha.label.isSigned.isVerified, +.repository #rev-list .sha.label.isSigned.isVerified, +.repository + .timeline-item.commits-list + .singular-commit + .sha.label.isSigned.isVerified { + border: 1px solid var(--color-primary); + background: var(--color-primary-alpha-10); +} +.repository #commits-table td.sha .sha.label.isSigned.isVerified .detail.icon, +.repository #repo-files-table .sha.label.isSigned.isVerified .detail.icon, +.repository #repo-file-commit-box .sha.label.isSigned.isVerified .detail.icon, +.repository #rev-list .sha.label.isSigned.isVerified .detail.icon, +.repository + .timeline-item.commits-list + .singular-commit + .sha.label.isSigned.isVerified + .detail.icon { + color: var(--color-primary); + border-color: var(--color-primary); +} +.repository #commits-table td.sha .sha.label.isSigned.isVerified:hover, +.repository #repo-files-table .sha.label.isSigned.isVerified:hover, +.repository #repo-file-commit-box .sha.label.isSigned.isVerified:hover, +.repository #rev-list .sha.label.isSigned.isVerified:hover, +.repository + .timeline-item.commits-list + .singular-commit + .sha.label.isSigned.isVerified:hover { + background: var(--color-primary-alpha-40) !important; +} +.text.green.svg { + color: #16a34a !important; +} +i.grey.icon.icon.icon.icon { + color: var(--steel-350) !important; +} +.ui.red.button, +.ui.negative.button { + background-color: #7f1d1d !important; + color: #fff !important; + border-color: var(--color-light-border) !important; +} +.ui.red.button:hover, +.ui.negative.button:hover { + background-color: #991b1b !important; +} +.ui.secondary.vertical.menu { + border-radius: 0.28571429rem !important; + overflow: hidden; +} +.ui.secondary.vertical.menu > .item { + border-radius: 0 !important; +} +.ui.basic.primary.button.item { + background-color: var(--color-active) !important; + color: var(--color-text) !important; + box-shadow: none !important; +} +.ui.red.label.notification_count, +.ui.primary.label, +.ui.primary.labels .label { + background-color: var(--color-primary-light-3) !important; +} +.repository.view.issue .comment-list .code-comment + .code-comment { + margin: 1.25rem 0 !important; + padding-top: 1.25rem !important; + border-top-color: var(--steel-650) !important; +} +.ui.labeled.icon.buttons > .button > .icon, +.ui.labeled.icon.button > .icon { + background-color: rgba(0, 0, 0, 0.05) !important; +} +#review-box .review-comments-counter { + background-color: #00000088 !important; + color: #fff !important; + margin-left: 0.5em; +} +.ui.tabs .ui.primary.label, +.ui.menu .ui.primary.label { + background-color: rgba(192, 192, 255, 0.2) !important; + color: var(--color-text-dark) !important; +} +.ui.basic.yellow.label.pending-label { + background: var(--color-light) !important; +} +.ui.tertiary.button { + color: #fff9; +} +.ui.tertiary.button:hover { + color: #ccc; +} +.user.list .item .header { + display: flex; + flex-direction: row-reverse; + width: fit-content; + gap: 4px; +} +.user.list .item .header a::before { + content: "@"; +} +.user.profile .ui.card { + background: none; + border: none; +} +.user.profile .profile-avatar-name .username.text:first-child { + font-weight: var(--font-weight-bold); + font-size: 1.3rem; +} +.user.profile .profile-avatar-name .username.text::before { + content: "@"; +} +.page h1.ui.header { + font-size: 2rem !important; +} +.home .hero .svg { + color: inherit; + margin-bottom: 16px !important; +} + +/* friendlycaptcha */ +.frc-captcha.frc-captcha, +.frc-captcha.frc-captcha.dark { + border-color: var(--color-input-border); + background: var(--color-input-background); + border-radius: .28571429rem; + color: inherit; +} +.frc-captcha.frc-captcha *, +.frc-captcha.frc-captcha.dark * { + color: inherit; +} +.frc-captcha.frc-captcha.dark .frc-button, +.frc-captcha.frc-captcha .frc-button { + border-color: var(--color-input-border); + background: none; + border-radius: 2px; + transition: background .1s ease !important; +} +.frc-captcha.frc-captcha.dark .frc-button:hover, +.frc-captcha.frc-captcha .frc-button:hover { + background: var(--color-hover); +} diff --git a/public/assets/css/theme-gitdotgay-light.css b/public/assets/css/theme-gitdotgay-light.css new file mode 100644 index 0000000..ed00951 --- /dev/null +++ b/public/assets/css/theme-gitdotgay-light.css @@ -0,0 +1,390 @@ +@import "../chroma/light.css"; +@import "../codemirror/light.css"; + +:root { + /* not actually steel lol */ + --steel-950: #050508; + --steel-900: #10121D; + --steel-850: #141623; + --steel-800: #1A1C2B; + --steel-750: #212336; + --steel-700: #2A2D41; + --steel-650: #353952; + --steel-600: #414560; + --steel-550: #4F5471; + --steel-500: #616686; + --steel-450: #73789B; + --steel-400: #8186A8; + --steel-350: #9095B5; + --steel-300: #A6ABCB; + --steel-250: #B9BEDB; + --steel-200: #CCD0EA; + --steel-150: #DCDFF6; + --steel-100: #E9EBFC; + --color-primary: #a348dc; + --color-primary-contrast: #000; + --color-primary-dark-1: #874bad; + --color-primary-dark-2: #863ab8; + --color-primary-dark-3: #772aa7; + --color-primary-dark-4: #5e1b88; + --color-primary-dark-5: #621991; + --color-primary-dark-6: #511278; + --color-primary-dark-7: #410e61; + --color-primary-light-1: #d89cfe; + --color-primary-light-2: #d89cfe; + --color-primary-light-3: #e7c1ff; + --color-primary-light-4: #e7c1ff; + --color-primary-light-5: #f0d9ff; + --color-primary-light-6: #f0d9ff; + --color-primary-light-7: #f8edff; + --color-primary-alpha-10: #9516e419; + --color-primary-alpha-20: #9516e433; + --color-primary-alpha-30: #9516e44b; + --color-primary-alpha-40: #9516e466; + --color-primary-alpha-50: #9516e480; + --color-primary-alpha-60: #9516e499; + --color-primary-alpha-70: #9516e4b3; + --color-primary-alpha-80: #9516e4cc; + --color-primary-alpha-90: #9516e4e1; + --color-primary-hover: var(--color-primary-light-1); + --color-primary-active: var(--color-primary-light-2); + --color-secondary: var(--steel-100); + --color-secondary-dark-1: var(--steel-550); + --color-secondary-dark-2: var(--steel-500); + --color-secondary-dark-3: var(--steel-450); + --color-secondary-dark-4: var(--steel-400); + --color-secondary-dark-5: var(--steel-350); + --color-secondary-dark-6: var(--steel-300); + --color-secondary-dark-7: var(--steel-250); + --color-secondary-dark-8: var(--steel-200); + --color-secondary-dark-9: var(--steel-150); + --color-secondary-dark-10: var(--steel-100); + --color-secondary-dark-11: var(--steel-100); + --color-secondary-dark-12: var(--steel-100); + --color-secondary-dark-13: var(--steel-100); + --color-secondary-light-1: var(--color-secondary-alpha-10); + --color-secondary-light-2: var(--steel-100); + --color-secondary-light-3: var(--steel-150); + --color-secondary-light-4: var(--steel-200); + --color-secondary-alpha-10: #aeb3d019; + --color-secondary-alpha-20: #aeb3d033; + --color-secondary-alpha-30: #aeb3d04b; + --color-secondary-alpha-40: #aeb3d066; + --color-secondary-alpha-50: #aeb3d080; + --color-secondary-alpha-60: #aeb3d099; + --color-secondary-alpha-70: #aeb3d0b3; + --color-secondary-alpha-80: #aeb3d0cc; + --color-secondary-alpha-90: #aeb3d0e1; + --color-highlight-fg: var(--color-primary-light-4); + --color-highlight-bg: var(--color-primary-alpha-20); + /* colors */ + --color-red: #b91c1c; + --color-orange: #ea580c; + --color-yellow: #ca8a04; + --color-olive: #91a313; + --color-green: #15803d; + --color-teal: #0d9488; + --color-blue: #2563eb; + --color-violet: #7c3aed; + --color-purple: #9333ea; + --color-pink: #db2777; + --color-brown: #a47252; + --color-grey: var(--steel-500); + --color-black: #111827; + /* light variants */ + --color-red-light: #dc2626; + --color-orange-light: #f97316; + --color-yellow-light: #eab308; + --color-olive-light: #839311; + --color-green-light: #16a34a; + --color-teal-light: #14b8a6; + --color-blue-light: #3b82f6; + --color-violet-light: #8b5cf6; + --color-purple-light: #a855f7; + --color-pink-light: #ec4899; + --color-brown-light: #94674a; + --color-grey-light: var(--steel-300); + --color-black-light: #1f2937; + /* other colors */ + --color-gold: #b1983b; + --color-white: #ffffff; + --color-diff-removed-word-bg: #ff4b4b4a; + --color-diff-added-word-bg: #18f57c4a; + --color-diff-removed-row-bg: #ff4b4b1a; + --color-diff-moved-row-bg: #d18e2d1a; + --color-diff-added-row-bg: #18f57c1a; + --color-diff-removed-row-border: #ff4b4b; + --color-diff-moved-row-border: #d18e2d; + --color-diff-added-row-border: #18f57c; + --color-diff-inactive: var(--steel-350); + --color-error-border: #783030; + --color-error-bg: #942222; + --color-error-bg-active: #783030; + --color-error-bg-hover: #783030; + --color-error-text: #fef2f2; + --color-success-border: var(--color-primary-alpha-50); + --color-success-bg: var(--color-primary-alpha-20); + --color-success-text: #f9f2fd; + --color-warning-border: #a67a1d; + --color-warning-bg: #644821; + --color-warning-text: #fefce8; + --color-info-border: #2e50b0; + --color-info-bg: #2a396b; + --color-info-text: var(--steel-100); + --color-red-badge: #b91c1c; + --color-red-badge-bg: #b91c1c22; + --color-red-badge-hover-bg: #b91c1c44; + --color-green-badge: #16a34a; + --color-green-badge-bg: #16a34a22; + --color-green-badge-hover-bg: #16a34a44; + --color-yellow-badge: #ca8a04; + --color-yellow-badge-bg: #ca8a0422; + --color-yellow-badge-hover-bg: #ca8a0444; + --color-orange-badge: #ea580c; + --color-orange-badge-bg: #ea580c22; + --color-orange-badge-hover-bg: #ea580c44; + --color-git: #f05133; + /* target-based colors */ + --color-body: #fff; + --color-box-header: var(--steel-100); + --color-box-body: var(--steel-100); + --color-box-body-highlight: var(--steel-200); + --color-text-dark: #000; + --color-text: var(--steel-900); + --color-text-light: var(--steel-600); + --color-text-light-1: var(--steel-500); + --color-text-light-2: var(--steel-550); + --color-text-light-3: var(--steel-600); + --color-footer: var(--steel-100); + --color-timeline: var(--steel-200); + --color-input-text: var(--steel-800); + --color-input-background: var(--steel-100); + --color-input-toggle-background: var(--steel-650); + --color-input-border: var(--steel-400); + --color-input-border-hover: var(--steel-450); + --color-header-wrapper: var(--steel-200); + --color-header-wrapper-transparent: #242d3800; + --color-light: var(--steel-150); + --color-light-mimic-enabled: rgba( + 0, + 0, + 0, + calc(40 / 255 * 222 / 255 / var(--opacity-disabled)) + ); + --color-light-border: #1e202e24; + --color-hover: var(--steel-150); + --color-active: var(--steel-250); + --color-menu: var(--steel-100); + --color-card: var(--steel-100); + --color-markup-table-row: #ffffff06; + --color-markup-code-block: var(--steel-150); + --color-button: var(--steel-100); + --color-code-bg: var(--steel-100); + --color-code-sidebar-bg: var(--steel-600); + --color-shadow: #00000060; + --color-secondary-bg: var(--steel-700); + --color-text-focus: #fff; + --color-expand-button: var(--steel-200); + --color-placeholder-text: var(--steel-450); + --color-editor-line-highlight: var(--steel-150); + --color-project-board-bg: var(--color-secondary-light-3); + --color-project-board-dark-label: var(--color-text-light-3); + --color-caret: var(--color-text); + /* should ideally be --color-text-dark, see #15651 */ + --color-reaction-bg: #ffffff12; + --color-reaction-active-bg: var(--color-primary-alpha-30); + --color-tooltip-text: #000000; + --color-tooltip-bg: #fffffff0; + --color-nav-bg: var(--steel-150); + --color-nav-hover-bg: var(--steel-250); + --color-secondary-nav-bg: var(--steel-150); + --color-label-active-bg: #4c525e; + --color-label-text: var(--steel-700); + --color-accent: var(--color-primary-light-1); + --color-small-accent: var(--color-primary-light-5); + --color-active-line: var(--color-primary-alpha-20); + --color-label-bg: var(--color-secondary-alpha-30); + --color-label-hover-bg: var(--steel-400); + accent-color: var(--color-accent); + color-scheme: light; + --fonts-proportional: "DM Sans", -apple-system, "Segoe UI", system-ui, Roboto, + "Helvetica Neue", Arial; +} +.home a { + color: var(--color-primary); +} +.following.bar.light { + border-bottom: none; +} +#navbar { + background: var(--color-nav-bg); + border-bottom: none; +} +#navbar .item { + gap: 4px; + transition: background-color 100ms cubic-bezier(0.075, 0.82, 0.165, 1); +} +#navbar .item.active { + background-color: var(--color-nav-active-bg); +} +.ui.grey.labels .label, +.ui.ui.ui.grey.label { + background-color: var(--steel-500); +} +.ui.green.labels .label, +.ui.ui.ui.green.label, +.ui.green.button, +.ui.green.buttons .button, +.ui.green.button:focus, +.ui.green.buttons .button:focus { + background: var(--color-primary); +} +.ui.green.button:hover, +.ui.green.buttons .button:hover { + background: var(--color-primary-light-1); +} +.repository #commits-table td.sha .sha.label.isSigned.isVerified, +.repository #repo-files-table .sha.label.isSigned.isVerified, +.repository #repo-file-commit-box .sha.label.isSigned.isVerified, +.repository #rev-list .sha.label.isSigned.isVerified, +.repository + .timeline-item.commits-list + .singular-commit + .sha.label.isSigned.isVerified { + border: 1px solid var(--color-primary); + background: var(--color-primary-alpha-10); +} +.repository #commits-table td.sha .sha.label.isSigned.isVerified .detail.icon, +.repository #repo-files-table .sha.label.isSigned.isVerified .detail.icon, +.repository #repo-file-commit-box .sha.label.isSigned.isVerified .detail.icon, +.repository #rev-list .sha.label.isSigned.isVerified .detail.icon, +.repository + .timeline-item.commits-list + .singular-commit + .sha.label.isSigned.isVerified + .detail.icon { + color: var(--color-primary); + border-color: var(--color-primary); +} +.repository #commits-table td.sha .sha.label.isSigned.isVerified:hover, +.repository #repo-files-table .sha.label.isSigned.isVerified:hover, +.repository #repo-file-commit-box .sha.label.isSigned.isVerified:hover, +.repository #rev-list .sha.label.isSigned.isVerified:hover, +.repository + .timeline-item.commits-list + .singular-commit + .sha.label.isSigned.isVerified:hover { + background: var(--color-primary-alpha-40) !important; +} +.text.green.svg { + color: #16a34a !important; +} +i.grey.icon.icon.icon.icon { + color: var(--steel-350) !important; +} +.ui.red.button, +.ui.negative.button { + background-color: #c35959 !important; + color: #fff !important; + border-color: var(--color-light-border) !important; +} +.ui.red.button:hover, +.ui.negative.button:hover { + background-color: #991b1b !important; +} +.ui.secondary.vertical.menu { + border-radius: 0.28571429rem !important; + overflow: hidden; +} +.ui.secondary.vertical.menu > .item { + border-radius: 0 !important; +} +.ui.basic.primary.button.item { + background-color: var(--color-active) !important; + color: var(--color-text) !important; + box-shadow: none !important; +} +.ui.red.label.notification_count, +.ui.primary.label, +.ui.primary.labels .label { + background-color: var(--color-primary-light-3) !important; +} +.repository.view.issue .comment-list .code-comment + .code-comment { + margin: 1.25rem 0 !important; + padding-top: 1.25rem !important; + border-top-color: var(--steel-650) !important; +} +.ui.labeled.icon.buttons > .button > .icon, +.ui.labeled.icon.button > .icon { + background-color: rgba(0, 0, 0, 0.05) !important; +} +#review-box .review-comments-counter { + background-color: #00000088 !important; + color: #fff !important; + margin-left: 0.5em; +} +.ui.tabs .ui.primary.label, +.ui.menu .ui.primary.label { + background-color: rgba(192, 192, 255, 0.2) !important; + color: var(--color-text-dark) !important; +} +.ui.basic.yellow.label.pending-label { + background: var(--color-light) !important; +} +.ui.tertiary.button { + color: #fff9; +} +.ui.tertiary.button:hover { + color: #ccc; +} +.user.list .item .header { + display: flex; + flex-direction: row-reverse; + width: fit-content; + gap: 4px; +} +.user.list .item .header a::before { + content: "@"; +} +.user.profile .ui.card { + background: none; + border: none; +} +.user.profile .profile-avatar-name .username.text:first-child { + font-weight: var(--font-weight-bold); + font-size: 1.3rem; +} +.user.profile .profile-avatar-name .username.text::before { + content: "@"; +} +.page h1.ui.header { + font-size: 2rem !important; +} +.home .hero .svg { + color: inherit; + margin-bottom: 16px !important; +} + +/* friendlycaptcha */ +.frc-captcha.frc-captcha, +.frc-captcha.frc-captcha.dark { + border-color: var(--color-input-border); + background: var(--color-input-background); + border-radius: .28571429rem; + color: inherit; +} +.frc-captcha.frc-captcha *, +.frc-captcha.frc-captcha.dark * { + color: inherit; +} +.frc-captcha.frc-captcha.dark .frc-button, +.frc-captcha.frc-captcha .frc-button { + border-color: var(--color-input-border); + background: none; + border-radius: 2px; + transition: background .1s ease !important; +} +.frc-captcha.frc-captcha.dark .frc-button:hover, +.frc-captcha.frc-captcha .frc-button:hover { + background: var(--color-hover); +} diff --git a/public/assets/css/theme-gitdotgay.css b/public/assets/css/theme-gitdotgay.css new file mode 100644 index 0000000..f9e76fa --- /dev/null +++ b/public/assets/css/theme-gitdotgay.css @@ -0,0 +1,2 @@ +@import "theme-gitdotgay-light.css"; +@import "theme-gitdotgay-dark.css" (prefers-color-scheme: dark); diff --git a/public/assets/img/apple-touch-icon.png b/public/assets/img/apple-touch-icon.png new file mode 100644 index 0000000..e50d448 Binary files /dev/null and b/public/assets/img/apple-touch-icon.png differ diff --git a/public/assets/img/favicon.png b/public/assets/img/favicon.png new file mode 100644 index 0000000..dfb6dde Binary files /dev/null and b/public/assets/img/favicon.png differ diff --git a/public/assets/img/favicon.svg b/public/assets/img/favicon.svg new file mode 100644 index 0000000..7c2ea18 --- /dev/null +++ b/public/assets/img/favicon.svg @@ -0,0 +1,15 @@ + + diff --git a/public/assets/img/forgejo-loading.svg b/public/assets/img/forgejo-loading.svg new file mode 100644 index 0000000..4b19bbe --- /dev/null +++ b/public/assets/img/forgejo-loading.svg @@ -0,0 +1,30 @@ + + diff --git a/public/assets/img/logo.png b/public/assets/img/logo.png new file mode 100644 index 0000000..000081a Binary files /dev/null and b/public/assets/img/logo.png differ diff --git a/public/assets/img/logo.svg b/public/assets/img/logo.svg new file mode 100644 index 0000000..7c2ea18 --- /dev/null +++ b/public/assets/img/logo.svg @@ -0,0 +1,15 @@ + +