mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-29 09:31:11 -05:00
616146f904
* Various Mermaid improvments - Render into iframe for improved security - Use built-in dark theme instead of color inversion - Remove flexbox attributes, resulting in more consistent size rendering - Update API usage and update to latest version * restart ci * misc tweaks * remove unneccesary declaration * make it work without allow-same-origin, add loading=lazy * remove loading attribute, does not seem to work * rename variable * skip roundtrip to DOM for rendering * don't guess chart height * update comment to make it clear it's intentional * tweak * replace deprecated 'scrolling' property * remove unused css file Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
465 lines
12 KiB
Text
465 lines
12 KiB
Text
@import "../chroma/dark.less";
|
|
@import "../codemirror/dark.less";
|
|
|
|
:root {
|
|
--is-dark-theme: true;
|
|
--color-primary: #87ab63;
|
|
--color-primary-dark-1: #93b373;
|
|
--color-primary-dark-2: #9fbc82;
|
|
--color-primary-dark-3: #abc492;
|
|
--color-primary-dark-4: #b7cda1;
|
|
--color-primary-dark-5: #cfddc1;
|
|
--color-primary-dark-6: #e7eee0;
|
|
--color-primary-dark-7: #f8faf6;
|
|
--color-primary-light-1: #7a9e55;
|
|
--color-primary-light-2: #6c8c4c;
|
|
--color-primary-light-3: #5f7b42;
|
|
--color-primary-light-4: #516939;
|
|
--color-primary-light-5: #364626;
|
|
--color-primary-light-6: #1b2313;
|
|
--color-primary-light-7: #080b06;
|
|
--color-primary-alpha-10: #87ab6319;
|
|
--color-primary-alpha-20: #87ab6333;
|
|
--color-primary-alpha-30: #87ab634b;
|
|
--color-primary-alpha-40: #87ab6366;
|
|
--color-primary-alpha-50: #87ab6380;
|
|
--color-primary-alpha-60: #87ab6399;
|
|
--color-primary-alpha-70: #87ab63b3;
|
|
--color-primary-alpha-80: #87ab63cc;
|
|
--color-primary-alpha-90: #87ab63e1;
|
|
--color-secondary: #454a57;
|
|
--color-secondary-dark-1: #505665;
|
|
--color-secondary-dark-2: #5b6273;
|
|
--color-secondary-dark-3: #71798e;
|
|
--color-secondary-dark-4: #7f8699;
|
|
--color-secondary-dark-5: #8c93a4;
|
|
--color-secondary-dark-6: #9aa0af;
|
|
--color-secondary-dark-7: #a8adba;
|
|
--color-secondary-dark-8: #b6bac5;
|
|
--color-secondary-dark-9: #c4c7d0;
|
|
--color-secondary-dark-10: #d2d4db;
|
|
--color-secondary-dark-11: #dfe1e6;
|
|
--color-secondary-dark-12: #edeef1;
|
|
--color-secondary-dark-13: #fbfbfc;
|
|
--color-secondary-light-1: #373b46;
|
|
--color-secondary-light-2: #292c34;
|
|
--color-secondary-light-3: #1c1e23;
|
|
--color-secondary-light-4: #0e0f11;
|
|
--color-secondary-alpha-10: #454a5719;
|
|
--color-secondary-alpha-20: #454a5733;
|
|
--color-secondary-alpha-30: #454a574b;
|
|
--color-secondary-alpha-40: #454a5766;
|
|
--color-secondary-alpha-50: #454a5780;
|
|
--color-secondary-alpha-60: #454a5799;
|
|
--color-secondary-alpha-70: #454a57b3;
|
|
--color-secondary-alpha-80: #454a57cc;
|
|
--color-secondary-alpha-90: #454a57e1;
|
|
/* colors */
|
|
--color-red: #db2828;
|
|
--color-orange: #f2711c;
|
|
--color-yellow: #fbbd08;
|
|
--color-olive: #b5cc18;
|
|
--color-green: #21ba45;
|
|
--color-teal: #00b5ad;
|
|
--color-blue: #2185d0;
|
|
--color-violet: #6435c9;
|
|
--color-purple: #a333c8;
|
|
--color-pink: #e03997;
|
|
--color-brown: #a5673f;
|
|
--color-grey: #767a85;
|
|
--color-black: #1e222e;
|
|
--color-gold: #a1882b;
|
|
--color-white: #ffffff;
|
|
--color-diff-removed-word-bg: #6f3333;
|
|
--color-diff-added-word-bg: #3c653c;
|
|
--color-diff-removed-row-bg: #3c2626;
|
|
--color-diff-moved-row-bg: #818044;
|
|
--color-diff-added-row-bg: #283e2d;
|
|
--color-diff-removed-row-border: #634343;
|
|
--color-diff-moved-row-border: #bcca6f;
|
|
--color-diff-added-row-border: #314a37;
|
|
--color-diff-inactive: #353846;
|
|
--color-error-border: #a53a37;
|
|
--color-error-bg: #482c2c;
|
|
--color-error-text: #ff4433;
|
|
--color-success-border: #458a57;
|
|
--color-success-bg: #284034;
|
|
--color-success-text: #6cc664;
|
|
--color-warning-border: #bb9d00;
|
|
--color-warning-bg: #3a3a30;
|
|
--color-warning-text: #fbbd08;
|
|
--color-info-border: #306090;
|
|
--color-info-bg: #26354c;
|
|
--color-info-text: #38a8e8;
|
|
/* target-based colors */
|
|
--color-body: #383c4a;
|
|
--color-box-header: #404652;
|
|
--color-box-body: #303440;
|
|
--color-text-dark: #dbe0ea;
|
|
--color-text: #bbc0ca;
|
|
--color-text-light: #a6aab5;
|
|
--color-text-light-2: #8a8e99;
|
|
--color-text-light-3: #707687;
|
|
--color-footer: #2e323e;
|
|
--color-timeline: #4c525e;
|
|
--color-input-text: #d5dbe6;
|
|
--color-input-background: #292d39;
|
|
--color-input-border: #454a57;
|
|
--color-input-border-hover: #505667;
|
|
--color-navbar: #2a2e3a;
|
|
--color-navbar-transparent: #2a2e3a00;
|
|
--color-light: #00000028;
|
|
--color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled)));
|
|
--color-light-border: #ffffff28;
|
|
--color-hover: #ffffff10;
|
|
--color-active: #ffffff16;
|
|
--color-menu: #2e323e;
|
|
--color-card: #2e323e;
|
|
--color-markup-table-row: #ffffff06;
|
|
--color-markup-code-block: #292d39;
|
|
--color-button: #353846;
|
|
--color-code-bg: #2a2e3a;
|
|
--color-code-sidebar-bg: #2e323e;
|
|
--color-shadow: #00000060;
|
|
--color-secondary-bg: #2a2e3a;
|
|
--color-text-focus: #fff;
|
|
--color-expand-button: #3c404d;
|
|
--color-placeholder-text: #6a737d;
|
|
--color-editor-line-highlight: var(--color-primary-light-5);
|
|
--color-project-board-bg: var(--color-secondary-light-2);
|
|
--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-40);
|
|
}
|
|
|
|
::-webkit-calendar-picker-indicator {
|
|
filter: invert(.8);
|
|
}
|
|
|
|
.ui.horizontal.segments > .segment {
|
|
background-color: #383c4a;
|
|
}
|
|
|
|
.ui.green.progress .bar {
|
|
background-color: #668844;
|
|
}
|
|
|
|
.ui.progress.success .bar {
|
|
background-color: #7b9e57 !important;
|
|
}
|
|
|
|
.following.bar.light {
|
|
background: #2e323e;
|
|
border-color: var(--color-secondary-alpha-40);
|
|
}
|
|
|
|
.following.bar .top.menu a.item:hover {
|
|
color: #fff;
|
|
}
|
|
|
|
.feeds .list ul li.private {
|
|
background: #353945;
|
|
}
|
|
|
|
.ui.red.label,
|
|
.ui.red.labels .label {
|
|
background-color: #7d3434 !important;
|
|
border-color: #8a2121 !important;
|
|
}
|
|
|
|
.ui.yellow.label,
|
|
.ui.yellow.labels .label {
|
|
border-color: #664d02 !important;
|
|
background-color: #936e00 !important;
|
|
}
|
|
|
|
.ui.accordion .title:not(.ui) {
|
|
color: #dbdbdb;
|
|
}
|
|
|
|
.ui.green.label,
|
|
.ui.green.labels .label,
|
|
.ui.basic.green.label {
|
|
background-color: #2d693b !important;
|
|
border-color: #2d693b !important;
|
|
}
|
|
|
|
.ui.green.labels a.label:hover,
|
|
.ui.basic.green.labels a.label:hover,
|
|
a.ui.ui.ui.green.label:hover,
|
|
a.ui.basic.green.label:hover {
|
|
background-color: #3d794b !important;
|
|
border-color: #3d794b !important;
|
|
color: #fff !important;
|
|
}
|
|
|
|
.ui.divider:not(.vertical):not(.horizontal) {
|
|
border-bottom-color: var(--color-secondary);
|
|
border-top-color: transparent;
|
|
}
|
|
|
|
.form .help {
|
|
color: #7f8699;
|
|
}
|
|
|
|
.ui .text.light.grey {
|
|
color: #7f8699 !important;
|
|
}
|
|
|
|
.ui.form .fields.error .field textarea,
|
|
.ui.form .fields.error .field select,
|
|
.ui.form .fields.error .field input:not([type]),
|
|
.ui.form .fields.error .field input[type="date"],
|
|
.ui.form .fields.error .field input[type="datetime-local"],
|
|
.ui.form .fields.error .field input[type="email"],
|
|
.ui.form .fields.error .field input[type="number"],
|
|
.ui.form .fields.error .field input[type="password"],
|
|
.ui.form .fields.error .field input[type="search"],
|
|
.ui.form .fields.error .field input[type="tel"],
|
|
.ui.form .fields.error .field input[type="time"],
|
|
.ui.form .fields.error .field input[type="text"],
|
|
.ui.form .fields.error .field input[type="file"],
|
|
.ui.form .fields.error .field input[type="url"],
|
|
.ui.form .field.error textarea,
|
|
.ui.form .field.error select,
|
|
.ui.form .field.error input:not([type]),
|
|
.ui.form .field.error input[type="date"],
|
|
.ui.form .field.error input[type="datetime-local"],
|
|
.ui.form .field.error input[type="email"],
|
|
.ui.form .field.error input[type="number"],
|
|
.ui.form .field.error input[type="password"],
|
|
.ui.form .field.error input[type="search"],
|
|
.ui.form .field.error input[type="tel"],
|
|
.ui.form .field.error input[type="time"],
|
|
.ui.form .field.error input[type="text"],
|
|
.ui.form .field.error input[type="file"],
|
|
.ui.form .field.error input[type="url"] {
|
|
background-color: #522;
|
|
border: 1px solid #7d3434;
|
|
color: #f9cbcb;
|
|
}
|
|
|
|
.ui.form .field.error select:focus,
|
|
.ui.form .field.error input:not([type]):focus,
|
|
.ui.form .field.error input[type="date"]:focus,
|
|
.ui.form .field.error input[type="datetime-local"]:focus,
|
|
.ui.form .field.error input[type="email"]:focus,
|
|
.ui.form .field.error input[type="number"]:focus,
|
|
.ui.form .field.error input[type="password"]:focus,
|
|
.ui.form .field.error input[type="search"]:focus,
|
|
.ui.form .field.error input[type="tel"]:focus,
|
|
.ui.form .field.error input[type="time"]:focus,
|
|
.ui.form .field.error input[type="text"]:focus,
|
|
.ui.form .field.error input[type="file"]:focus,
|
|
.ui.form .field.error input[type="url"]:focus {
|
|
background-color: #522;
|
|
border: 1px solid #a04141;
|
|
color: #f9cbcb;
|
|
}
|
|
|
|
.ui.green.button,
|
|
.ui.green.buttons .button {
|
|
background-color: #87ab63;
|
|
}
|
|
|
|
.ui.green.button:hover,
|
|
.ui.green.buttons .button:hover {
|
|
background-color: #a0cc75;
|
|
}
|
|
|
|
.ui.search > .results {
|
|
background: #383c4a;
|
|
border-color: var(--color-secondary);
|
|
}
|
|
|
|
.ui.search > .results .result:hover,
|
|
.ui.category.search > .results .category .result:hover {
|
|
background: var(--color-secondary);
|
|
}
|
|
|
|
.ui.search > .results .result .title {
|
|
color: #dbdbdb;
|
|
}
|
|
|
|
.ui.table > thead > tr > th {
|
|
background: var(--color-secondary);
|
|
color: #dbdbdb !important;
|
|
}
|
|
|
|
.repository.file.list #repo-files-table tr {
|
|
background: #2a2e3a;
|
|
}
|
|
|
|
.repository.file.list #repo-files-table tr:hover {
|
|
background-color: #393d4a !important;
|
|
}
|
|
|
|
.overflow.menu .items .item {
|
|
color: #9d9d9d;
|
|
}
|
|
|
|
.overflow.menu .items .item:hover {
|
|
color: #dbdbdb;
|
|
}
|
|
|
|
.ui.list > .item > .content {
|
|
color: var(--color-secondary-dark-6) !important;
|
|
}
|
|
|
|
.repository .navbar .active.item,
|
|
.repository .navbar .active.item:hover {
|
|
border-color: transparent !important;
|
|
}
|
|
|
|
.repository .diff-stats li {
|
|
border-color: var(--color-secondary);
|
|
}
|
|
|
|
.tag-code,
|
|
.tag-code td {
|
|
background: #353945 !important;
|
|
|
|
}
|
|
.tag-code td.lines-num {
|
|
background-color: #3a3e4c !important;
|
|
}
|
|
|
|
.tag-code td.lines-type-marker,
|
|
td.blob-hunk {
|
|
color: #dbdbdb !important;
|
|
}
|
|
|
|
.ui.red.button,
|
|
.ui.red.buttons .button {
|
|
background-color: #7d3434;
|
|
}
|
|
|
|
.ui.red.button:hover,
|
|
.ui.red.buttons .button:hover {
|
|
background-color: #984646;
|
|
}
|
|
|
|
.ui.list .list > .item .header,
|
|
.ui.list > .item .header {
|
|
color: #dedede;
|
|
}
|
|
|
|
.ui.list .list > .item .description,
|
|
.ui.list > .item .description {
|
|
color: var(--color-secondary-dark-6);
|
|
}
|
|
|
|
.repository.labels .ui.basic.black.label {
|
|
background-color: #bbbbbb !important;
|
|
}
|
|
|
|
.lines-num {
|
|
color: var(--color-secondary-dark-6) !important;
|
|
border-color: var(--color-secondary) !important;
|
|
}
|
|
|
|
td.blob-excerpt {
|
|
background-color: rgba(0, 0, 0, .15);
|
|
}
|
|
|
|
.lines-code.active,
|
|
.lines-code .active {
|
|
background: #534d1b !important;
|
|
}
|
|
|
|
.ui.ui.ui.ui.table tr.active,
|
|
.ui.ui.table td.active {
|
|
color: #dbdbdb;
|
|
}
|
|
|
|
.ui.active.label {
|
|
background: #393d4a;
|
|
border-color: #393d4a;
|
|
color: #dbdbdb;
|
|
}
|
|
|
|
.ui.header .sub.header {
|
|
color: var(--color-secondary-dark-6);
|
|
}
|
|
|
|
.ui.dividing.header {
|
|
border-bottom: 1px solid var(--color-secondary);
|
|
}
|
|
|
|
.ui.modal > .header {
|
|
background: var(--color-secondary);
|
|
color: #dbdbdb;
|
|
}
|
|
|
|
.ui.modal > .actions {
|
|
background: var(--color-secondary);
|
|
border-color: var(--color-secondary);
|
|
}
|
|
|
|
.ui.modal > .content {
|
|
background: #383c4a;
|
|
}
|
|
|
|
.minicolors-panel {
|
|
background: var(--color-secondary) !important;
|
|
border-color: #6a737d !important;
|
|
}
|
|
|
|
/* 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);
|
|
}
|
|
|
|
.edit-diff > div > .ui.table {
|
|
border-left-color: var(--color-secondary) !important;
|
|
border-right-color: var(--color-secondary) !important;
|
|
}
|
|
|
|
footer .container .links > * {
|
|
border-left-color: #888;
|
|
}
|
|
|
|
.repository.release #release-list > li .detail .dot {
|
|
background-color: #505667;
|
|
border-color: #383c4a;
|
|
}
|
|
|
|
.tribute-container {
|
|
box-shadow: 0 .25rem .5rem rgba(0, 0, 0, .6);
|
|
}
|
|
|
|
.repository .repo-header .ui.huge.breadcrumb.repo-title .repo-header-icon .avatar {
|
|
color: #2a2e3a;
|
|
}
|
|
|
|
img[src$="/img/matrix.svg"] {
|
|
filter: invert(80%);
|
|
}
|
|
|
|
.is-loading::after {
|
|
border-color: #4a4c58 #4a4c58 #d7d7da #d7d7da;
|
|
}
|
|
|
|
.markup-block-error {
|
|
border: 1px solid rgba(121, 71, 66, .5) !important;
|
|
border-bottom: none !important;
|
|
}
|