mirror of
http://code.capytal.cc/dot013/spacestation.git
synced 2026-06-08 23:30:23 -03:00
feat: simplify forgejo customization
This commit is contained in:
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 200 KiB After Width: | Height: | Size: 200 KiB |
156
capytal/forgejo/assets/js/custom-theme.js
Normal file
156
capytal/forgejo/assets/js/custom-theme.js
Normal file
@@ -0,0 +1,156 @@
|
||||
/**
|
||||
* This is was a attempt to change the icons of the instance. The code works,
|
||||
* but finding every single icon takes a lot of work, for little reward.
|
||||
*
|
||||
* For now this will be unused, until it is completed ~~some day~~.
|
||||
*/
|
||||
|
||||
/**
|
||||
* SVG icons source code used below as strings are from the Solar Icon Set,
|
||||
* by 480 Design, licensed under the Creative Commons' CC-BY 4.0 license.
|
||||
* Source code were accessed via the Iconify API, via the icones.js.org front-end.
|
||||
*
|
||||
* Original set can be found here:
|
||||
* https://www.figma.com/community/file/1166831539721848736/solar-icons-set
|
||||
*
|
||||
* Collection on icones.js.org can be found here:
|
||||
* https://icones.js.org/collection/solar
|
||||
*/
|
||||
|
||||
// solar:bookmark-opened-bold-duotone
|
||||
const REPO_ICON = '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M3.464 20.536C4.93 22 7.286 22 12 22s7.071 0 8.535-1.465C22 19.072 22 16.714 22 12q.001-1.002-.004-1.867c-.002-.279-.003-.418-.057-.641a1.5 1.5 0 0 0-.152-.421a4.25 4.25 0 0 0-1.857-1.858c-.412-.21-.92-.333-1.707-.397q-.224-.02-.473-.03l-1.5-.034v4.056c0 .496 0 .836-.015 1.09c-.015.262-.043.343-.05.358a.75.75 0 0 1-.862.425c-.016-.004-.097-.032-.315-.18a21 21 0 0 1-.872-.653l-.067-.052c-.37-.285-.659-.507-.973-.644a2.75 2.75 0 0 0-2.192 0c-.314.137-.603.359-.973.644l-.067.052c-.393.303-.663.51-.873.653c-.217.148-.298.176-.314.18a.75.75 0 0 1-.862-.425c-.007-.015-.035-.096-.05-.358a22 22 0 0 1-.015-1.09V6.752l-1.5.033q-.249.012-.473.03c-.787.065-1.295.189-1.706.398A4.25 4.25 0 0 0 2.204 9.09c-.06.12-.09.18-.143.402c-.054.222-.055.362-.057.641Q2 10.999 2 12c0 4.714 0 7.071 1.464 8.535" clip-rule="evenodd" opacity=".6"/><path fill="currentColor" d="M7.75 6.752v4.056c0 .496 0 .836.015 1.09c.015.262.043.343.05.358a.75.75 0 0 0 .862.425c.016-.004.097-.032.314-.18c.21-.143.48-.35.873-.653l.067-.052c.37-.285.659-.507.973-.644a2.75 2.75 0 0 1 2.192 0c.314.137.603.36.973.645l.067.051c.393.303.663.51.873.653c.217.148.298.176.314.18a.75.75 0 0 0 .862-.425c.007-.015.035-.096.05-.358c.015-.254.015-.594.015-1.09V6.752z"/><path fill="currentColor" d="M20.535 3.464C19.071 2 16.714 2 12 2S4.928 2 3.464 3.464c-.77.77-1.134 1.785-1.308 3.26l-.119 2.878q.01-.052.024-.11a1.4 1.4 0 0 1 .143-.402l.01-.02A4.25 4.25 0 0 1 4.07 7.214c.411-.21.919-.333 1.706-.397q.225-.018.473-.03l1.5-.034V10.5h8.5V6.752l1.5.033q.248.014.473.03c.787.065 1.295.189 1.707.398a4.25 4.25 0 0 1 1.857 1.858l.01.019l.046.096V6.723c-.174-1.474-.539-2.49-1.308-3.259M2.002 10.5v-.056L2 10.5z" opacity=".4"/></svg>';
|
||||
|
||||
// solar:bookmark-opened-line-duotone
|
||||
const REPO_TEMPLATE_ICON = '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-width="1.5"><path d="M2 12c0-4.714 0-7.071 1.464-8.536C4.93 2 7.286 2 12 2s7.071 0 8.535 1.464C22 4.93 22 7.286 22 12" opacity=".5"/><path d="M14 6h-4c-2.8 0-4.2 0-5.27.545A5 5 0 0 0 2.545 8.73C2 9.8 2 11.2 2 14s0 4.2.545 5.27a5 5 0 0 0 2.185 2.185C5.8 22 7.2 22 10 22h4c2.8 0 4.2 0 5.27-.545a5 5 0 0 0 2.185-2.185C22 18.2 22 16.8 22 14s0-4.2-.545-5.27a5 5 0 0 0-2.185-2.185C18.2 6 16.8 6 14 6Z"/><path d="M17 6v4.808c0 .975 0 1.462-.13 1.753a1.5 1.5 0 0 1-1.724.848c-.31-.075-.695-.372-1.468-.967c-.436-.336-.654-.504-.881-.602a2 2 0 0 0-1.594 0c-.227.098-.445.266-.881.602c-.773.595-1.159.892-1.468.967a1.5 1.5 0 0 1-1.725-.848C7 12.27 7 11.783 7 10.808V6" opacity=".5"/></g></svg>';
|
||||
|
||||
// solar:floor-lamp-broken
|
||||
const REPO_FORK_ICON = '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" d="M12 18v-1.063a4.14 4.14 0 0 0-1.597-3.272l-3.881-2.774m-3.743-.207l2.532-3.241M2.78 10.684c-.35.448-.274 1.118.26 1.305a3.05 3.05 0 0 0 3.483-1.098m-3.743-.207a2.076 2.076 0 0 1-.34-2.898a2.033 2.033 0 0 1 2.872-.343m0 0c.35-.448 1.013-.53 1.318-.05a3.12 3.12 0 0 1-.107 3.498"/><path stroke-linecap="round" d="M12 18v-1.063c0-1.282.59-2.49 1.597-3.272l3.881-2.774m3.743-.207l-2.532-3.241m2.532 3.241c.35.448.274 1.118-.26 1.305a3.05 3.05 0 0 1-3.483-1.098m3.743-.207a2.076 2.076 0 0 0 .34-2.898a2.033 2.033 0 0 0-2.872-.343m0 0c-.35-.448-1.013-.53-1.318-.05a3.12 3.12 0 0 0 .107 3.498M9 22h6m-3 0v-9m0-6v3"/><path d="M12 7a3 3 0 0 0 2.836-2.018C15.016 4.46 14.552 4 14 4h-4c-.552 0-1.016.46-.836.982A3 3 0 0 0 12 7Zm0-5a2 2 0 0 1 2 2h-4a2 2 0 0 1 2-2Z"/></g></svg>';
|
||||
|
||||
// solar:flip-horizontal-bold-duotone
|
||||
const REPO_MIRROR_ICON = '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="currentColor" d="M22 5.887v12.227c0 1.702 0 2.553-.542 2.832c-.543.28-1.235-.215-2.62-1.205l-1.582-1.13c-.616-.439-.924-.659-1.09-.982S16 16.927 16 16.171V7.83c0-.757 0-1.135.166-1.458c.166-.324.474-.543 1.09-.983l1.581-1.13c1.386-.99 2.078-1.484 2.62-1.205c.543.28.543 1.13.543 2.833m-20 0v12.227c0 1.702 0 2.553.542 2.832c.543.28 1.235-.215 2.62-1.205l1.582-1.13c.616-.439.924-.659 1.09-.982S8 16.927 8 16.171V7.83c0-.757 0-1.135-.166-1.458c-.166-.324-.474-.543-1.09-.983l-1.582-1.13c-1.385-.99-2.077-1.484-2.62-1.205C2 3.334 2 4.184 2 5.887" opacity=".5"/><path fill="currentColor" fill-rule="evenodd" d="M12 22.75a.75.75 0 0 1-.75-.75v-4a.75.75 0 0 1 1.5 0v4a.75.75 0 0 1-.75.75m0-8a.75.75 0 0 1-.75-.75v-4a.75.75 0 0 1 1.5 0v4a.75.75 0 0 1-.75.75m0-8a.75.75 0 0 1-.75-.75V2a.75.75 0 0 1 1.5 0v4a.75.75 0 0 1-.75.75" clip-rule="evenodd"/></svg>';
|
||||
|
||||
// solar:lock-unlocked-bold-duotone
|
||||
const LOCK_ICON = '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="currentColor" d="M2 16c0-2.828 0-4.243.879-5.121C3.757 10 5.172 10 8 10h8c2.828 0 4.243 0 5.121.879C22 11.757 22 13.172 22 16s0 4.243-.879 5.121C20.243 22 18.828 22 16 22H8c-2.828 0-4.243 0-5.121-.879C2 20.243 2 18.828 2 16" opacity=".5"/><path fill="currentColor" d="M6.75 8a5.25 5.25 0 0 1 10.335-1.313a.75.75 0 0 0 1.452-.374A6.75 6.75 0 0 0 5.25 8v2.055a24 24 0 0 1 1.5-.051z"/></svg>';
|
||||
|
||||
// solar:buildings-bold-duotone
|
||||
const ORG_ICON = '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M7 5h4c1.886 0 2.828 0 3.414.586S15 7.114 15 9v12.25h7a.75.75 0 0 1 0 1.5H2a.75.75 0 0 1 0-1.5h1V9c0-1.886 0-2.828.586-3.414S5.114 5 7 5M5.25 8A.75.75 0 0 1 6 7.25h6a.75.75 0 0 1 0 1.5H6A.75.75 0 0 1 5.25 8m0 3a.75.75 0 0 1 .75-.75h6a.75.75 0 0 1 0 1.5H6a.75.75 0 0 1-.75-.75m0 3a.75.75 0 0 1 .75-.75h6a.75.75 0 0 1 0 1.5H6a.75.75 0 0 1-.75-.75M9 18.25a.75.75 0 0 1 .75.75v2.25h-1.5V19a.75.75 0 0 1 .75-.75" clip-rule="evenodd"/><path fill="currentColor" d="M15 2h2c1.886 0 2.828 0 3.414.586S21 4.114 21 6v15.25h-6V9c0-1.886 0-2.828-.586-3.414C13.842 5.013 12.928 5 11.126 5V3.5c.084-.387.225-.68.46-.914C12.17 2 13.114 2 15 2" opacity=".5"/></svg>';
|
||||
|
||||
// solar:bookmark-circle-line-duotone
|
||||
const COMMIT_ICON = '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-width="1.5"><path d="M16 14.046v-2.497c0-2.145 0-3.217-.586-3.883S13.886 7 12 7s-2.828 0-3.414.666S8 9.404 8 11.55v2.497c0 1.548 0 2.322.326 2.66a.95.95 0 0 0 .562.29c.438.056.95-.453 1.975-1.473c.453-.45.68-.676.942-.735a.9.9 0 0 1 .39 0c.262.059.489.284.942.735c1.024 1.02 1.537 1.53 1.976 1.473a.95.95 0 0 0 .56-.29c.327-.338.327-1.112.327-2.66Z"/><path d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12S6.477 2 12 2s10 4.477 10 10Z" opacity=".5"/></g></svg>';
|
||||
|
||||
// solar:minus-circle-line-duotone
|
||||
const ISSUE_OPENED_ICON = '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-width="1.5"><circle cx="12" cy="12" r="10" opacity=".5"/><path stroke-linecap="round" d="M15 12H9"/></g></svg>';
|
||||
|
||||
// solar:bell-bold-duotone
|
||||
const BELL_ICON = '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="currentColor" d="M18.75 9v.704c0 .845.24 1.671.692 2.374l1.108 1.723c1.011 1.574.239 3.713-1.52 4.21a25.8 25.8 0 0 1-14.06 0c-1.759-.497-2.531-2.636-1.52-4.21l1.108-1.723a4.4 4.4 0 0 0 .693-2.374V9c0-3.866 3.022-7 6.749-7s6.75 3.134 6.75 7" opacity=".5"/><path fill="currentColor" d="M7.243 18.545a5.002 5.002 0 0 0 9.513 0c-3.145.59-6.367.59-9.513 0"/></svg>';
|
||||
|
||||
// solar:hamburger-menu-broken
|
||||
const MENU_ICON = '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M4 7h3m13 0h-9m9 10h-3M4 17h9m-9-5h16"/></svg>';
|
||||
|
||||
// solar:filter-bold-duotone
|
||||
const MENU_FILTERS_ICON = '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M5 3h14L8.816 13.184a2.7 2.7 0 0 0-.778-1.086c-.228-.198-.547-.377-1.183-.736l-2.913-1.64c-.949-.533-1.423-.8-1.682-1.23C2 8.061 2 7.541 2 6.503v-.69c0-1.326 0-1.99.44-2.402C2.878 3 3.585 3 5 3" clip-rule="evenodd"/><path fill="currentColor" d="M22 6.504v-.69c0-1.326 0-1.99-.44-2.402C21.122 3 20.415 3 19 3L8.815 13.184q.075.193.121.403c.064.285.064.619.064 1.286v2.67c0 .909 0 1.364.252 1.718c.252.355.7.53 1.594.88c1.879.734 2.818 1.101 3.486.683S15 19.452 15 17.542v-2.67c0-.666 0-1 .063-1.285a2.68 2.68 0 0 1 .9-1.49c.227-.197.545-.376 1.182-.735l2.913-1.64c.948-.533 1.423-.8 1.682-1.23c.26-.43.26-.95.26-1.988" opacity=".5"/></svg>';
|
||||
|
||||
// solar:menu-dots-bold
|
||||
const MENU_DOTS_ICON = '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="currentColor" d="M7 12a2 2 0 1 1-4 0a2 2 0 0 1 4 0m7 0a2 2 0 1 1-4 0a2 2 0 0 1 4 0m7 0a2 2 0 1 1-4 0a2 2 0 0 1 4 0"/></svg>';
|
||||
|
||||
// solar:add-circle-bold-duotone
|
||||
const PLUS_ICON = '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="currentColor" d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12S6.477 2 12 2s10 4.477 10 10" opacity=".5"/><path fill="currentColor" d="M12.75 9a.75.75 0 0 0-1.5 0v2.25H9a.75.75 0 0 0 0 1.5h2.25V15a.75.75 0 0 0 1.5 0v-2.25H15a.75.75 0 0 0 0-1.5h-2.25z"/></svg>';
|
||||
|
||||
// solar:alt-arrow-right-bold
|
||||
const ARROW_RIGHT = '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="currentColor" d="M15.835 11.63L9.205 5.2C8.79 4.799 8 5.042 8 5.57v12.86c0 .528.79.771 1.205.37l6.63-6.43a.5.5 0 0 0 0-.74"/></svg>';
|
||||
|
||||
// solar:alt-arrow-left-bold
|
||||
const ARROW_LEFT = '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="currentColor" d="m8.165 11.63l6.63-6.43C15.21 4.799 16 5.042 16 5.57v12.86c0 .528-.79.771-1.205.37l-6.63-6.43a.5.5 0 0 1 0-.74"/></svg>';
|
||||
|
||||
// solar:double-alt-arrow-right-bold-duotone
|
||||
const DOUBLE_ARROW_RIGHT = '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="currentColor" d="M6.25 19a.75.75 0 0 0 1.32.488l6-7a.75.75 0 0 0 0-.976l-6-7A.75.75 0 0 0 6.25 5z" opacity=".5"/><path fill="currentColor" fill-rule="evenodd" d="M10.512 19.57a.75.75 0 0 1-.081-1.058L16.012 12l-5.581-6.512a.75.75 0 1 1 1.139-.976l6 7a.75.75 0 0 1 0 .976l-6 7a.75.75 0 0 1-1.058.082" clip-rule="evenodd"/></svg>';
|
||||
|
||||
// solar:double-alt-arrow-right-left-duotone
|
||||
const DOUBLE_ARROW_LEFT = '<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="currentColor" d="M17.75 19a.75.75 0 0 1-1.32.488l-6-7a.75.75 0 0 1 0-.976l6-7A.75.75 0 0 1 17.75 5z" opacity=".5"/><path fill="currentColor" fill-rule="evenodd" d="M13.488 19.57a.75.75 0 0 0 .081-1.058L7.988 12l5.581-6.512a.75.75 0 1 0-1.138-.976l-6 7a.75.75 0 0 0 0 .976l6 7a.75.75 0 0 0 1.057.082" clip-rule="evenodd"/></svg>';
|
||||
|
||||
const VERSION = document.querySelector('.left-links > a[href="/admin/config"]')?.textContent || "0.0.0";
|
||||
if (VERSION === '0.0.0') {
|
||||
console.warn('[Custom theme] Unable to find Forgejo version')
|
||||
}
|
||||
|
||||
const THEME_ELEM =
|
||||
document.querySelector(`link[href="/assets/css/theme-capytal-dark-a.css?v=${VERSION}"]`) ||
|
||||
document.querySelector(`link[href="/assets/css/theme-capytal-light-a.css?v=${VERSION}"]`)
|
||||
if (!THEME_ELEM) {
|
||||
console.warn('[Custom theme] Capytal theme element not found')
|
||||
}
|
||||
|
||||
const IS_CAPYTAL_THEME = THEME_ELEM ? true : false;
|
||||
if (IS_CAPYTAL_THEME) {
|
||||
console.log('[Custom theme] Applying changes to Capytal theme')
|
||||
main()
|
||||
} else {
|
||||
console.warn('[Custom theme] Not applying custom theme changes');
|
||||
}
|
||||
|
||||
function main() {
|
||||
applyChanges();
|
||||
|
||||
setTimeout(() => {
|
||||
applyChanges();
|
||||
}, 500)
|
||||
setTimeout(() => {
|
||||
applyChanges();
|
||||
}, 1000)
|
||||
setTimeout(() => {
|
||||
applyChanges();
|
||||
}, 2000)
|
||||
}
|
||||
|
||||
function applyChanges() {
|
||||
changeIcon('svg.svg.octicon-bell', BELL_ICON)
|
||||
changeIcon('svg.svg.octicon-three-bars', MENU_ICON)
|
||||
changeIcon('svg.svg.octicon-filter', MENU_FILTERS_ICON)
|
||||
changeIcon('svg.svg.octicon-kebab-horizontal', MENU_DOTS_ICON)
|
||||
changeIcon('svg.svg.octicon-plus', PLUS_ICON)
|
||||
|
||||
changeIcon('svg.svg.octicon-chevron-right', ARROW_RIGHT)
|
||||
changeIcon('svg.svg.octicon-chevron-left', ARROW_LEFT)
|
||||
changeIcon('svg.svg.gitea-double-chevron-right', DOUBLE_ARROW_RIGHT)
|
||||
changeIcon('svg.svg.gitea-double-chevron-left', DOUBLE_ARROW_LEFT)
|
||||
|
||||
changeIcon('svg.svg.octicon-repo', REPO_ICON)
|
||||
changeIcon('svg.svg.octicon-repo-push', REPO_ICON)
|
||||
changeIcon('svg.svg.octicon-repo-template', REPO_TEMPLATE_ICON)
|
||||
changeIcon('svg.svg.octicon-repo-forked', REPO_FORK_ICON)
|
||||
changeIcon('svg.svg.octicon-mirror', REPO_MIRROR_ICON)
|
||||
changeIcon('svg.svg.octicon-lock', LOCK_ICON)
|
||||
|
||||
changeIcon('svg.svg.octicon-organization', ORG_ICON)
|
||||
|
||||
changeIcon('svg.svg.octicon-git-commit', COMMIT_ICON)
|
||||
changeIcon('svg.svg.octicon-issue-opened', ISSUE_OPENED_ICON)
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} html - The html to parse
|
||||
* @returns {Element} - The resulting element
|
||||
*/
|
||||
function parseHTML(html) {
|
||||
let el = document.createElement('div');
|
||||
el.innerHTML = html;
|
||||
return el.children.item(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} original - CSS selector of the original icon
|
||||
* @param {string} newIcon - SVG text for the new icon
|
||||
*/
|
||||
function changeIcon(original, newIcon) {
|
||||
let originalIcons = document.querySelectorAll(original);
|
||||
for (const icon of originalIcons) {
|
||||
let newEl = parseHTML(newIcon);
|
||||
|
||||
newEl.setAttribute('width', icon.getAttribute('width') ?? "")
|
||||
newEl.setAttribute('height', icon.getAttribute('height') ?? "")
|
||||
newEl.setAttribute('class', icon.getAttribute('class') ?? "")
|
||||
|
||||
icon.before(newEl)
|
||||
icon.remove()
|
||||
}
|
||||
}
|
||||
@@ -26,27 +26,12 @@ with builtins; let
|
||||
'';
|
||||
in {
|
||||
services.forgejo.customization = {
|
||||
assets = {
|
||||
"fonts" = {
|
||||
source = "${cal-sans}/fonts/webfonts";
|
||||
recursive = true;
|
||||
};
|
||||
"fonts.css" = {
|
||||
source = fonts-css;
|
||||
};
|
||||
"img/home-logo.png" = {
|
||||
source = ./assets/logo.png;
|
||||
};
|
||||
"img/home-logo.svg" = {
|
||||
source = ./assets/logo.svg;
|
||||
};
|
||||
};
|
||||
templates = {
|
||||
header = ''
|
||||
<link rel="stylesheet" type="text/css" href="assets/fonts.css">
|
||||
${readFile ./templates/custom/header.tmpl}
|
||||
'';
|
||||
home = ./templates/home.tmpl;
|
||||
assets = ./assets;
|
||||
templates = ./templates;
|
||||
theme = {
|
||||
"frappurccino" = frappurccino-theme;
|
||||
"capytal-dark-b" = ./themes/theme-capytal-dark.css;
|
||||
"bthree-dark" = ./themes/theme-bthree-dark.css;
|
||||
};
|
||||
options.label."Default" = with config.scheme.withHashtag; {
|
||||
"scope/a11y" = {
|
||||
@@ -148,12 +133,5 @@ in {
|
||||
exclusive = true;
|
||||
};
|
||||
};
|
||||
theme = {
|
||||
"frappurccino" = frappurccino-theme;
|
||||
};
|
||||
favicon.png = ./assets/icon.png;
|
||||
favicon.svg = ./assets/icon.svg;
|
||||
logo.png = ./assets/icon.png;
|
||||
logo.svg = ./assets/icon.svg;
|
||||
};
|
||||
}
|
||||
|
||||
731
capytal/forgejo/templates/custom/_body_inner_pre.tmpl
Normal file
731
capytal/forgejo/templates/custom/_body_inner_pre.tmpl
Normal file
@@ -0,0 +1,731 @@
|
||||
<style>
|
||||
/* This style block is copied across all sites using the developer navbar.
|
||||
* For custom styling on this website, add a <style> block after this one. */
|
||||
|
||||
/* Variables. */
|
||||
.nav-global {
|
||||
-webkit-font-smoothing: antialiased;
|
||||
|
||||
--nav-global-color-bg: hsl(213, 10%, 14%);
|
||||
--nav-global-color-text: hsl(213, 5%, 64%);
|
||||
--nav-global-color-text-secondary: hsl(213, 5%, 44%);
|
||||
--nav-global-color-text-highlight: hsl(213, 5%, 84%);
|
||||
--nav-global-color-text-hover: white;
|
||||
--nav-global-color-text-active: white;
|
||||
|
||||
--nav-global-color-primary: hsl(204, 98%, 54%);
|
||||
--nav-global-color-primary-bg: hsla(204, 100%, 46%, .1);
|
||||
|
||||
--nav-global-color-button-bg-hover: hsl(213, 10%, 24%);
|
||||
--nav-global-color-button-text: var(--nav-global-color-text);
|
||||
|
||||
--nav-global-color-menu-bg: var(--nav-global-color-bg);
|
||||
--nav-global-color-menu-border: hsl(213, 10%, 18%);
|
||||
|
||||
--nav-global-color-menu-zindex: 1040;
|
||||
|
||||
--nav-global-box-shadow-menu: 0px 5px 15px -2px rgba(0, 0, 0, 0.33), 0px 5px 15px -5px rgba(0, 0, 0, 0.33);
|
||||
--nav-global-box-shadow-menu-item: 0px 1px 4px 0px rgba(0, 0, 0, 0.05), 0px 15px 20px -1px rgba(0, 0, 0, 0.025);
|
||||
|
||||
--nav-global-navbar-height: var(--navbar-primary-height, 56px);
|
||||
|
||||
--nav-global-spacer: 15px;
|
||||
--nav-global-spacer-sm: 10px;
|
||||
--nav-global-spacer-xs: 5px;
|
||||
|
||||
--nav-global-border-radius: 6px;
|
||||
--nav-global-border-radius-lg: 10px;
|
||||
|
||||
--nav-global-button-height: 35px;
|
||||
--nav-global-link-padding-x: var(--nav-global-spacer);
|
||||
--nav-global-link-padding-y: var(--nav-global-spacer-sm);
|
||||
|
||||
--nav-global-font-size: 14px;
|
||||
--nav-global-transition-speed: 150ms;
|
||||
}
|
||||
|
||||
/* Reset. */
|
||||
@namespace svg "http://www.w3.org/2000/svg";
|
||||
|
||||
.nav-global :not(svg|*),
|
||||
.nav-global *::before,
|
||||
.nav-global *::after {
|
||||
-webkit-box-sizing: border-box;
|
||||
|
||||
all: unset;
|
||||
display: revert;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.nav-global [default-styles] {
|
||||
all: revert;
|
||||
}
|
||||
|
||||
.nav-global * {
|
||||
-webkit-text-size-adjust: 100%;
|
||||
|
||||
font-family: 'Heebo', -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
font-variation-settings: 'wght' 400;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.nav-global {
|
||||
background-color: var(--nav-global-color-bg);
|
||||
color: var(--nav-global-color-text);
|
||||
display: flex;
|
||||
position: relative;
|
||||
z-index: var(--zindex-fixed);
|
||||
}
|
||||
|
||||
.nav-global h3,
|
||||
.nav-global h4,
|
||||
.nav-global strong {
|
||||
font-variation-settings: 'wght' 500;
|
||||
}
|
||||
|
||||
.nav-global figure,
|
||||
.nav-global section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.nav-global svg:not(:root) {
|
||||
overflow: hidden;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.nav-global .nav-global-container {
|
||||
flex: 1;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
/* Navigation. */
|
||||
.nav-global nav {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
line-height: var(--nav-global-font-size);
|
||||
font-size: var(--nav-global-font-size);
|
||||
height: var(--nav-global-navbar-height);
|
||||
margin: 0 auto;
|
||||
padding: 0 var(--nav-global-spacer);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* Links. */
|
||||
.nav-global a:not(.dropdown-item) {
|
||||
color: inherit;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
transition: background-color var(--nav-global-transition-speed) ease-out, color var(--nav-global-transition-speed) ease-out;
|
||||
}
|
||||
|
||||
.nav-global a:not(.dropdown-item):hover {
|
||||
color: var(--nav-global-color-text-hover);
|
||||
}
|
||||
|
||||
/* Navigation items. */
|
||||
.nav-global nav > ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.nav-global nav > ul,
|
||||
.nav-global nav > ul > li,
|
||||
.nav-global nav > ul > li > a,
|
||||
.nav-global-apps-dropdown-container {
|
||||
align-items: center;
|
||||
display: inline-flex;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.nav-global-apps-dropdown-container {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.nav-global nav > ul > li > a {
|
||||
padding: var(--nav-global-link-padding-y) var(--nav-global-link-padding-x);
|
||||
}
|
||||
|
||||
.nav-global nav > a.is-active,
|
||||
.nav-global nav > a.is-active svg,
|
||||
.nav-global nav > ul > li > a.is-active,
|
||||
.nav-global .nav-global-link-active,
|
||||
.nav-global .nav-global-link-active svg {
|
||||
color: var(--nav-global-color-text-active) !important;
|
||||
fill: var(--nav-global-color-text-active);
|
||||
font-variation-settings: 'wght' 500;
|
||||
}
|
||||
|
||||
.nav-global .nav-global-links-right {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
/* Logo. */
|
||||
.nav-global a.nav-global-logo {
|
||||
margin-right: var(--nav-global-spacer);
|
||||
position: relative;
|
||||
top: 2px;
|
||||
}
|
||||
|
||||
.nav-global a.nav-global-logo strong {
|
||||
margin-inline: var(--nav-global-spacer-sm);
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.nav-global .nav-global-logo svg {
|
||||
height: 21px;
|
||||
}
|
||||
|
||||
.nav-global a.nav-global-logo svg {
|
||||
position: relative;
|
||||
top: -4px;
|
||||
}
|
||||
|
||||
.nav-global svg {
|
||||
fill: var(--nav-global-color-text);
|
||||
transition: fill var(--nav-global-transition-speed) ease-out;
|
||||
}
|
||||
|
||||
.nav-global .nav-global-logo:hover svg {
|
||||
fill: white;
|
||||
}
|
||||
|
||||
/* Apps button. */
|
||||
.nav-global button,
|
||||
.nav-global .nav-global-btn {
|
||||
-webkit-appearance: button;
|
||||
|
||||
align-items: center;
|
||||
background-color: transparent;
|
||||
border-radius: var(--nav-global-border-radius);
|
||||
border: 0;
|
||||
color: var(--nav-global-color-button-text);
|
||||
cursor: pointer;
|
||||
display: inline-flex;
|
||||
font: inherit;
|
||||
height: var(--nav-global-button-height);
|
||||
margin: 0;
|
||||
outline: 0;
|
||||
overflow: visible;
|
||||
padding: var(--nav-global-spacer-xs) var(--nav-global-spacer);
|
||||
text-transform: none;
|
||||
transition: background-color var(--nav-global-transition-speed) ease-out, color var(--nav-global-transition-speed) ease-out, transform var(--nav-global-transition-speed) ease-out;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.nav-global button span,
|
||||
.nav-global .nav-global-btn span {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.nav-global button:hover,
|
||||
.nav-global .nav-global-btn:hover {
|
||||
background-color: var(--nav-global-color-button-bg-hover);
|
||||
color: var(--nav-global-color-text-hover);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-global button.nav-global-btn-active,
|
||||
.nav-global .nav-global-btn.nav-global-btn-active {
|
||||
background-color: var(--nav-global-color-primary-bg);
|
||||
color: var(--nav-global-color-primary);
|
||||
}
|
||||
|
||||
.nav-global button.nav-global-btn-active svg,
|
||||
.nav-global .nav-global-btn.nav-global-btn-active svg {
|
||||
fill: var(--nav-global-color-primary);
|
||||
}
|
||||
|
||||
.nav-global .nav-global-icon {
|
||||
height: 20px;
|
||||
pointer-events: none;
|
||||
width: 20px;
|
||||
}
|
||||
|
||||
.nav-global-icon-dropdown-toggle {
|
||||
margin-left: var(--nav-global-spacer-xs);
|
||||
}
|
||||
|
||||
.nav-global button:hover svg,
|
||||
.nav-global .nav-global-btn:hover svg {
|
||||
fill: white;
|
||||
}
|
||||
|
||||
/* Apps dropdown menu. */
|
||||
.nav-global .nav-global-apps-menu {
|
||||
background-color: var(--nav-global-color-menu-bg);
|
||||
border-radius: var(--nav-global-border-radius-lg);
|
||||
border: thin solid var(--nav-global-color-menu-border);
|
||||
box-shadow: var(--nav-global-box-shadow-menu);
|
||||
display: none;
|
||||
padding: var(--nav-global-spacer-sm);
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: calc(100% + 15px);
|
||||
visibility: hidden;
|
||||
width: 640px;
|
||||
z-index: var(--nav-global-color-menu-zindex);
|
||||
}
|
||||
|
||||
.nav-global .nav-global-dropdown.is-visible {
|
||||
display: block;
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
/* Tiny triangle in the corner. */
|
||||
.nav-global .nav-global-apps-menu::before {
|
||||
background-color: var(--nav-global-color-menu-bg);
|
||||
border-radius: 3px;
|
||||
border: 2px var(--nav-global-color-menu-bg) solid;
|
||||
content: '';
|
||||
display: block;
|
||||
height: .85rem;
|
||||
position: absolute;
|
||||
right: .85rem;
|
||||
top: -0.25rem;
|
||||
transform: rotate(45deg);
|
||||
width: 1rem;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.nav-global .nav-global-apps-menu ul {
|
||||
border-bottom: 2px solid rgba(255, 255, 255, .05);
|
||||
display: grid;
|
||||
gap: var(--nav-global-spacer-sm);
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
list-style: none;
|
||||
margin: 0 0 var(--nav-global-spacer-xs) 0;
|
||||
padding: var(--nav-global-spacer-xs) 0 var(--nav-global-spacer-sm) 0;
|
||||
}
|
||||
|
||||
.nav-global .nav-global-apps-menu ul>li>a {
|
||||
border-radius: var(--nav-global-border-radius-lg);
|
||||
display: flex;
|
||||
flex: 1;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.nav-global .nav-global-apps-menu ul>li>a:hover {
|
||||
background-color: rgba(255, 255, 255, .05);
|
||||
color: var(--nav-global-color-text-active);
|
||||
box-shadow: var(--nav-global-box-shadow-menu-item);
|
||||
}
|
||||
|
||||
.nav-global .nav-global-apps-menu ul>li>a:hover h4,
|
||||
.nav-global .nav-global-apps-menu ul>li>a:hover svg {
|
||||
color: var(--nav-global-color-primary);
|
||||
fill: var(--nav-global-color-primary);
|
||||
}
|
||||
|
||||
.nav-global .nav-global-apps-menu h3 {
|
||||
color: white;
|
||||
display: inline-block;
|
||||
font-size: 13px;
|
||||
line-height: 18px;
|
||||
margin: 0;
|
||||
opacity: .3;
|
||||
padding-left: var(--nav-global-spacer);
|
||||
}
|
||||
|
||||
.nav-global .nav-global-apps-menu h4 {
|
||||
color: var(--nav-global-color-text-highlight);
|
||||
font-size: 17px;
|
||||
line-height: 18px;
|
||||
margin: var(--nav-global-spacer-xs) 0 0;
|
||||
padding: var(--nav-global-spacer-sm) var(--nav-global-spacer) 0;
|
||||
transition: color var(--nav-global-transition-speed) ease-out;
|
||||
}
|
||||
|
||||
.nav-global .nav-global-apps-menu p {
|
||||
font-size: 15px;
|
||||
line-height: 20px;
|
||||
margin: 0;
|
||||
opacity: .8;
|
||||
padding: var(--nav-global-spacer-xs) var(--nav-global-spacer) var(--nav-global-spacer-sm);
|
||||
}
|
||||
|
||||
.nav-global .nav-global-apps-menu figure {
|
||||
margin: var(--nav-global-spacer) 0 0 var(--nav-global-spacer);
|
||||
}
|
||||
|
||||
.nav-global .nav-global-apps-menu ul>li>a svg {
|
||||
position: relative;
|
||||
top: -2px;
|
||||
}
|
||||
|
||||
/* Donate section of the menu. */
|
||||
.nav-global .nav-global-apps-menu-section-donate ul {
|
||||
border: none;
|
||||
margin-bottom: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.nav-global .nav-global-apps-menu-section-donate a svg {
|
||||
fill: hsl(352, 90%, 62%) !important;
|
||||
transition: transform var(--nav-global-transition-speed) ease-out;
|
||||
}
|
||||
|
||||
.nav-global .nav-global-apps-menu-section-donate ul>li:first-child>a {
|
||||
background-color: hsla(352deg, 90%, 42%, .2);
|
||||
}
|
||||
|
||||
.nav-global .nav-global-apps-menu-section-donate ul>li:first-child>a:hover {
|
||||
background-color: hsla(352deg, 90%, 42%, .5);
|
||||
}
|
||||
|
||||
.nav-global .nav-global-apps-menu-section-donate ul>li:first-child>a:hover svg {
|
||||
fill: hsl(352, 90%, 72%) !important;
|
||||
transform: scale(1.2);
|
||||
}
|
||||
|
||||
.nav-global .nav-global-apps-menu-section-donate ul>li:first-child>a:hover h4 {
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* Mobile. */
|
||||
.nav-global button.nav-global-logo {
|
||||
display: none;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
|
||||
.nav-global-apps-dropdown-container,
|
||||
.nav-global a.nav-global-logo {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.nav-global button.nav-global-logo {
|
||||
display: block;
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.nav-global .nav-global-nav-links {
|
||||
align-items: flex-start;
|
||||
background-color: var(--nav-global-color-menu-bg);
|
||||
border-radius: var(--nav-global-border-radius-lg);
|
||||
display: none;
|
||||
flex-direction: column;
|
||||
left: 1rem;
|
||||
padding: 0 var(--nav-global-spacer-sm);
|
||||
position: absolute;
|
||||
top: calc(100% + .5rem);
|
||||
visibility: visible;
|
||||
width: 10rem;
|
||||
z-index: var(--nav-global-color-menu-zindex);
|
||||
}
|
||||
|
||||
.nav-global .nav-global-nav-links.is-visible {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.nav-global .nav-global-nav-links::before {
|
||||
background-color: var(--nav-global-color-menu-bg);
|
||||
border-radius: 3px;
|
||||
border: 2px var(--nav-global-color-menu-bg) solid;
|
||||
content: '';
|
||||
display: block;
|
||||
height: 0.8rem;
|
||||
position: absolute;
|
||||
left: 1.5rem;
|
||||
top: -0.133rem;
|
||||
transform: rotate(45deg);
|
||||
width: 1rem;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.nav-global nav>ul {
|
||||
height: initial;
|
||||
}
|
||||
|
||||
.nav-global .nav-global-nav-links>li {
|
||||
border-bottom: 2px solid rgba(255, 255, 255, .05);
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.nav-global .nav-global-nav-links>li:last-child {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.nav-global .nav-global-nav-links>li>a {
|
||||
padding-inline: 0;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<style>
|
||||
/* Custom styling for projects.blender.org */
|
||||
/* Make sure to start every line with ".nav-global"
|
||||
* so changes affect the developer navbar only. */
|
||||
|
||||
/* Limit navbar width on large screens. */
|
||||
@media (min-width: 1200px) {
|
||||
[role="main"] > .dashboard-navbar,
|
||||
.full.height > .menu.bar > [role="navigation"],
|
||||
.nav-global .nav-global-container {
|
||||
max-width: 1170px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Override Gitea's default navbar height. */
|
||||
#navbar {
|
||||
min-height: 46px;
|
||||
}
|
||||
|
||||
/* Hide the site logo. */
|
||||
/* Seems to be breaking the sign-in button currently.
|
||||
#navbar .item:first-child {
|
||||
display: none;
|
||||
}
|
||||
*/
|
||||
/* Fix alignment of text in dropdown items. */
|
||||
.ui.dropdown>.text {
|
||||
position: relative;
|
||||
top: -2px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="nav-global">
|
||||
<div class="nav-global-container">
|
||||
<nav>
|
||||
<a href="https://developer.blender.org/" class="nav-global-logo">
|
||||
<svg fill-rule="nonzero" viewBox="0 0 200 162.05">
|
||||
<path
|
||||
d="M61.1 104.56c.05 2.6.88 7.66 2.12 11.61a61.27 61.27 0 0 0 13.24 22.92 68.39 68.39 0 0 0 23.17 16.64 74.46 74.46 0 0 0 30.42 6.32 74.52 74.52 0 0 0 30.4-6.42 68.87 68.87 0 0 0 23.15-16.7 61.79 61.79 0 0 0 13.23-22.97 58.06 58.06 0 0 0 2.07-25.55 59.18 59.18 0 0 0-8.44-23.1 64.45 64.45 0 0 0-15.4-16.98h.02L112.76 2.46l-.16-.12c-4.09-3.14-10.96-3.13-15.46.02-4.55 3.18-5.07 8.44-1.02 11.75l-.02.02 26 21.14-79.23.08h-.1c-6.55.01-12.85 4.3-14.1 9.74-1.27 5.53 3.17 10.11 9.98 10.14v.02l40.15-.07-71.66 55-.27.2c-6.76 5.18-8.94 13.78-4.69 19.23 4.32 5.54 13.51 5.55 20.34.03l39.1-32s-.56 4.32-.52 6.91zm100.49 14.47c-8.06 8.2-19.34 12.86-31.54 12.89-12.23.02-23.5-4.6-31.57-12.79-3.93-4-6.83-8.59-8.61-13.48a35.57 35.57 0 0 1 2.34-29.25 39.1 39.1 0 0 1 9.58-11.4 44.68 44.68 0 0 1 28.24-9.85 44.59 44.59 0 0 1 28.24 9.77 38.94 38.94 0 0 1 9.58 11.36 35.58 35.58 0 0 1 4.33 14.18 35.1 35.1 0 0 1-1.98 15.05 37.7 37.7 0 0 1-8.61 13.52zm-57.6-27.91a23.55 23.55 0 0 1 8.55-16.68 28.45 28.45 0 0 1 18.39-6.57 28.5 28.5 0 0 1 18.38 6.57 23.57 23.57 0 0 1 8.55 16.67c.37 6.83-2.37 13.19-7.2 17.9a28.18 28.18 0 0 1-19.73 7.79c-7.83 0-14.84-3-19.75-7.8a23.13 23.13 0 0 1-7.19-17.88z" />
|
||||
<strong>Developer</strong>
|
||||
</svg>
|
||||
</a>
|
||||
|
||||
<button class="nav-global-logo js-dropdown-toggle" data-toggle-menu-id="nav-global-nav-links">
|
||||
<svg fill-rule="nonzero" viewBox="0 0 850.2 162.05">
|
||||
<path d="M61.1 104.56c.05 2.6.88 7.66 2.12 11.61a61.27 61.27 0 0 0 13.24 22.92 68.39 68.39 0 0 0 23.17 16.64 74.46 74.46 0 0 0 30.42 6.32 74.52 74.52 0 0 0 30.4-6.42 68.87 68.87 0 0 0 23.15-16.7 61.79 61.79 0 0 0 13.23-22.97 58.06 58.06 0 0 0 2.07-25.55 59.18 59.18 0 0 0-8.44-23.1 64.45 64.45 0 0 0-15.4-16.98h.02L112.76 2.46l-.16-.12c-4.09-3.14-10.96-3.13-15.46.02-4.55 3.18-5.07 8.44-1.02 11.75l-.02.02 26 21.14-79.23.08h-.1c-6.55.01-12.85 4.3-14.1 9.74-1.27 5.53 3.17 10.11 9.98 10.14v.02l40.15-.07-71.66 55-.27.2c-6.76 5.18-8.94 13.78-4.69 19.23 4.32 5.54 13.51 5.55 20.34.03l39.1-32s-.56 4.32-.52 6.91zm100.49 14.47c-8.06 8.2-19.34 12.86-31.54 12.89-12.23.02-23.5-4.6-31.57-12.79-3.93-4-6.83-8.59-8.61-13.48a35.57 35.57 0 0 1 2.34-29.25 39.1 39.1 0 0 1 9.58-11.4 44.68 44.68 0 0 1 28.24-9.85 44.59 44.59 0 0 1 28.24 9.77 38.94 38.94 0 0 1 9.58 11.36 35.58 35.58 0 0 1 4.33 14.18 35.1 35.1 0 0 1-1.98 15.05 37.7 37.7 0 0 1-8.61 13.52zm-57.6-27.91a23.55 23.55 0 0 1 8.55-16.68 28.45 28.45 0 0 1 18.39-6.57 28.5 28.5 0 0 1 18.38 6.57 23.57 23.57 0 0 1 8.55 16.67c.37 6.83-2.37 13.19-7.2 17.9a28.18 28.18 0 0 1-19.73 7.79c-7.83 0-14.84-3-19.75-7.8a23.13 23.13 0 0 1-7.19-17.88z" />
|
||||
<path d="M829.17 133.76h-15.9V64.39h15.13l.77 13.59zM850.07 79q-1.47-.25-3.14-.38-1.6-.13-3.2-.13-5.26 0-8.8 1.92-3.45 1.86-5.25 5.39-1.8 3.46-2.11 8.2l-3.66.07q0-8.78 2.31-15.77 2.3-6.99 6.92-11.1 4.62-4.1 11.54-4.1 1.35 0 3.02.26 1.66.26 2.5.58zm-76.55 56.04q-10.32 0-17.82-4.42-7.5-4.5-11.55-12.06-4.03-7.63-4.03-17.05v-2.63q0-10.84 4.1-18.85 4.1-8.08 11.22-12.5 7.18-4.43 16.22-4.43 10 0 16.6 4.36 6.6 4.3 9.88 12 3.27 7.62 3.27 17.69V104h-53.67V92.53h37.96v-1.22q-.13-4.04-1.54-7.56-1.4-3.53-4.49-5.7-3.01-2.19-8.07-2.19-5.07 0-8.53 2.89-3.46 2.82-5.26 8.01-1.8 5.13-1.8 12.12v2.63q0 5.9 2.19 10.58 2.18 4.68 6.34 7.43 4.17 2.7 9.94 2.7 5.58 0 9.87-2.18 4.36-2.18 7.5-6.29l8.34 8.34q-3.27 4.93-9.87 8.97-6.54 3.98-16.8 3.98zm-88.67 25.39h-15.9V64.39h14.68l1.22 13.33zm45-60.72q0 10.13-3.13 18.15-3.08 7.95-9.1 12.56-5.97 4.62-14.63 4.62-8.72 0-14.49-4.23-5.7-4.3-8.9-11.8-3.21-7.5-4.43-17.12v-4.55q1.22-10.26 4.42-17.89 3.2-7.7 8.91-11.99 5.71-4.36 14.3-4.36 8.79 0 14.81 4.43 6.03 4.42 9.1 12.37 3.15 7.95 3.15 18.47zm-15.9-1.34q0-6.22-1.6-11.29-1.53-5.06-5-8.01-3.4-2.95-8.9-2.95-3.98 0-6.87 1.35-2.88 1.28-4.87 3.65-1.92 2.37-3.01 5.64-1.1 3.2-1.54 7.05v11.6q.77 4.62 2.56 8.47 1.8 3.85 5.13 6.16 3.4 2.24 8.72 2.24 5.51 0 8.91-3.08 3.4-3.14 4.94-8.2 1.54-5.13 1.54-11.29zm-122.51.06q0-10.13 3.84-18.08 3.85-7.95 11.03-12.57 7.25-4.68 17.38-4.68 10.25 0 17.5 4.68 7.24 4.62 11.03 12.57 3.84 7.95 3.84 18.08v1.35q0 10.06-3.84 18.08-3.79 7.95-11.03 12.56-7.18 4.62-17.38 4.62-10.19 0-17.43-4.62-7.25-4.61-11.1-12.56-3.84-8.02-3.84-18.08zm15.9 1.35q0 6.15 1.73 11.28 1.73 5.07 5.32 8.14 3.65 3.08 9.42 3.08 5.71 0 9.3-3.08 3.65-3.07 5.32-8.14 1.73-5.13 1.73-11.28v-1.35q0-6.09-1.73-11.22-1.67-5.13-5.32-8.2-3.65-3.15-9.42-3.15-5.71 0-9.36 3.14-3.6 3.08-5.33 8.21-1.66 5.13-1.66 11.22zm-29.69 33.98h-15.9V35.28h15.9zm-56.67 1.28q-10.33 0-17.83-4.42-7.5-4.5-11.54-12.06-4.04-7.63-4.04-17.05v-2.63q0-10.84 4.1-18.85 4.11-8.08 11.23-12.5 7.18-4.43 16.22-4.43 10 0 16.6 4.36 6.6 4.3 9.88 12 3.27 7.62 3.27 17.69V104H495.2V92.53h37.96v-1.22q-.13-4.04-1.54-7.56-1.41-3.53-4.49-5.7-3.01-2.19-8.08-2.19-5.06 0-8.52 2.89-3.47 2.82-5.26 8.01-1.8 5.13-1.8 12.12v2.63q0 5.9 2.18 10.58t6.35 7.43q4.17 2.7 9.94 2.7 5.58 0 9.87-2.18 4.36-2.18 7.5-6.29l8.34 8.34q-3.27 4.93-9.88 8.97-6.54 3.98-16.8 3.98zM464.3 64.39h16.48l-23.98 69.37h-10.26l1.03-12.57zm-12.25 57 .77 12.37h-10.19l-24.17-69.37H435zm-65.88 13.65q-10.32 0-17.82-4.42-7.5-4.5-11.54-12.06-4.04-7.63-4.04-17.05v-2.63q0-10.84 4.1-18.85 4.1-8.08 11.22-12.5 7.18-4.43 16.22-4.43 10 0 16.6 4.36 6.61 4.3 9.88 12 3.27 7.62 3.27 17.69V104H360.4V92.53h37.95v-1.22q-.12-4.04-1.53-7.56-1.42-3.53-4.5-5.7-3-2.19-8.07-2.19t-8.53 2.89q-3.46 2.82-5.26 8.01-1.8 5.13-1.8 12.12v2.63q0 5.9 2.19 10.58 2.18 4.68 6.35 7.43 4.16 2.7 9.93 2.7 5.58 0 9.88-2.18 4.36-2.18 7.5-6.29l8.33 8.34q-3.27 4.93-9.87 8.97-6.54 3.98-16.8 3.98zm-107.64-1.28.12-13.27h19.75q8.6 0 14.36-3.72 5.77-3.72 8.72-10.65 2.95-6.98 2.95-16.67v-4.87q0-9.94-2.95-16.8-2.88-6.86-8.59-10.45-5.7-3.59-13.91-3.59h-20.84V40.41h20.84q12.5 0 21.93 5.51 9.48 5.52 14.8 15.45 5.33 9.94 5.33 23.34v4.74q0 13.47-5.32 23.4-5.33 9.94-14.94 15.46-9.56 5.45-22.38 5.45zm9.23 0h-16.54V40.4h16.54z" />
|
||||
</svg>
|
||||
<svg class="nav-global-icon nav-global-icon-dropdown-toggle" height="100px" width="100px" viewBox="0 0 1000 1000">
|
||||
<path d="m 206.53824,376.41174 a 42,42 0 0 1 71,-29 l 221,220 220,-220 a 42,42 0 1 1 59,59 l -250,250 a 42,42 0 0 1 -59,0 l -250,-250 a 42,42 0 0 1 -12,-30 z"/>
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<ul class="nav-global-nav-links nav-global-dropdown js-dropdown-menu" id="nav-global-nav-links">
|
||||
<li>
|
||||
<a href="https://projects.blender.org" class="is-active">Projects</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://developer.blender.org/docs/">Docs</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://code.blender.org">Blog</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://devtalk.blender.org">Forum</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://builder.blender.org/download/daily/">Builds</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="nav-global-links-right">
|
||||
<li>
|
||||
<div class="nav-global-apps-dropdown-container">
|
||||
<button class="js-dropdown-toggle" data-toggle-menu-id="nav-global-apps-menu">
|
||||
<svg class="nav-global-icon" height="100px" width="100px" viewBox="0 0 1000 1000">
|
||||
<path
|
||||
d="m 150.5,899 a 50,50 0 0 1 -49,-50 V 749 a 50,50 0 0 1 49,-50 h 100 a 50,50 0 0 1 50,50 v 100 a 50,50 0 0 1 -50,50 z m 299,0 a 50,50 0 0 1 -50,-50 V 749 a 50,50 0 0 1 50,-50 h 100 a 50,50 0 0 1 50,50 v 100 a 50,50 0 0 1 -50,50 z m 299,0 a 50,50 0 0 1 -50,-50 V 749 a 50,50 0 0 1 50,-50 h 100 a 50,50 0 0 1 50,50 v 100 a 50,50 0 0 1 -50,50 z m -598,-299 a 50,50 0 0 1 -49,-50 V 450 a 50,50 0 0 1 49,-50 h 100 a 50,50 0 0 1 50,50 v 100 a 50,50 0 0 1 -50,50 z m 299,0 a 50,50 0 0 1 -50,-50 V 450 a 50,50 0 0 1 50,-50 h 100 a 50,50 0 0 1 50,50 v 100 a 50,50 0 0 1 -50,50 z m 299,0 a 50,50 0 0 1 -50,-50 V 450 a 50,50 0 0 1 50,-50 h 100 a 50,50 0 0 1 50,50 v 100 a 50,50 0 0 1 -50,50 z m -598,-299 a 50,50 0 0 1 -49,-50 V 151 a 50,50 0 0 1 49,-50 h 100 a 50,50 0 0 1 50,50 v 100 a 50,50 0 0 1 -50,50 z m 299,0 a 50,50 0 0 1 -50,-50 V 151 a 50,50 0 0 1 50,-50 h 100 a 50,50 0 0 1 50,50 v 100 a 50,50 0 0 1 -50,50 z m 299,0 a 50,50 0 0 1 -50,-50 V 151 a 50,50 0 0 1 50,-50 h 100 a 50,50 0 0 1 50,50 v 100 a 50,50 0 0 1 -50,50 z"/>
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<div class="nav-global-apps-menu nav-global-dropdown js-dropdown-menu" id="nav-global-apps-menu">
|
||||
<a href="https://www.blender.org/?utm_medium=nav-global" target="_blank">
|
||||
<h3>BLENDER.ORG</h3>
|
||||
</a>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="https://www.blender.org/download/?utm_medium=nav-global" target="_blank">
|
||||
<figure>
|
||||
<svg class="nav-global-icon" height="100px" width="100px" viewbox="0 0 1000 1000">
|
||||
<path d="m 49.15424,599.52895 a 50.360431,50.360431 0 0 0 -49.16137168,50.36043 v 200.24266 c 0,81.53594 68.34629768,149.88226 149.88223168,149.88226 h 700.2498 c 81.53593,0 149.8822,-68.34632 149.8822,-149.88226 V 649.88938 a 50.360431,50.360431 0 1 0 -100.72083,0 v 200.24266 c 0,27.57834 -21.58304,49.16138 -49.16137,49.16138 H 149.8751 c -27.57833,0 -49.16137,-21.58304 -49.16137,-49.16138 V 649.88938 A 50.360431,50.360431 0 0 0 49.15424,599.52895 Z M 249.3969,350.12491 a 50.360431,50.360431 0 0 0 -34.77267,85.13311 l 250.60309,249.40404 a 50.360431,50.360431 0 0 0 70.74442,0 L 785.37577,435.25802 A 50.360431,50.360431 0 1 0 714.63136,364.51361 L 500,579.14497 285.36864,364.51361 A 50.360431,50.360431 0 0 0 249.3969,350.12491 Z M 498.80094,0 A 50.360431,50.360431 0 0 0 449.63957,50.360432 V 649.88938 a 50.360431,50.360431 0 1 0 100.72086,0 V 50.360432 A 50.360431,50.360431 0 0 0 498.80094,0 Z" style="stroke-width:1.19906"></path>
|
||||
</svg>
|
||||
</figure>
|
||||
<div>
|
||||
<h4>Download</h4>
|
||||
<p>Get the latest Blender, older versions, or experimental builds.</p>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://www.blender.org/download/releases/?utm_medium=nav-global" target="_blank">
|
||||
<div>
|
||||
<h4>What's New</h4>
|
||||
<p>Stay up-to-date with the new features in the latest Blender releases.</p>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<a href="https://studio.blender.org/?utm_medium=nav-global" target="_blank">
|
||||
<h3>LEARNING & RESOURCES</h3>
|
||||
</a>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="https://studio.blender.org/?utm_medium=nav-global" target="_blank">
|
||||
<figure>
|
||||
<svg class="nav-global-icon" height="100px" width="100px" viewbox="0 0 1000 1000">
|
||||
<path d="m 146.70939,1.6802353 c -78.362959,0 -143.678322,64.2057377 -143.6783209,143.6570547 -7.2533835,268.45385 0,463.93349 0,709.63356 0,79.45132 65.3153619,143.65705 143.6783209,143.65705 266.17757,0.51388 460.32009,0 709.61228,0 79.45134,0 143.67832,-64.20573 143.67832,-143.65705 0.37471,-118.45983 0,-235.03162 0,-353.72203 0.017,-0.72264 0.017,-1.4456 0,-2.16825 0.43351,-118.60776 0,-235.80643 0,-353.74328 0,-79.451317 -64.22698,-143.6570547 -143.67832,-143.6570547 -241.21275,-1.18614431 -498.91438,-0.041532 -709.61228,0 z m 0,90.3436617 h 82.71228 V 228.07083 H 93.374735 v -82.73354 c 0,-30.47448 22.860165,-53.313393 53.334655,-53.313393 z m 173.05594,0 h 363.5004 c -5.81542,127.740813 0,236.658243 0,362.416273 h -363.5004 c 0.39671,-121.62159 0,-241.06277 0,-362.416273 z m 453.84406,0 h 82.71228 c 30.4745,0 53.33466,22.838913 53.33466,53.313393 v 82.73354 H 773.60939 Z M 93.374735,318.39324 H 229.42167 V 454.44017 H 93.374735 Z m 680.234655,0 H 909.65633 V 454.44017 H 773.60939 Z M 93.374735,545.86796 H 229.42167 V 681.91489 H 93.374735 Z m 226.390595,0 h 363.5004 c -5.81534,127.74773 0,236.67164 0,362.43753 h -363.5004 c 0.3967,-121.62867 0,-241.07685 0,-362.43753 z m 453.84406,0 H 909.65633 V 681.91489 H 773.60939 Z M 93.374735,772.25856 H 229.42167 v 136.04693 h -82.71228 c -30.47449,0 -53.334655,-22.86016 -53.334655,-53.33464 z m 680.234655,0 h 136.04694 v 82.71229 c 0,30.47448 -22.86016,53.33464 -53.33466,53.33464 h -82.71228 z" style="stroke-width:1.08838"></path>
|
||||
</svg>
|
||||
</figure>
|
||||
<div>
|
||||
<h4>Blender Studio</h4>
|
||||
<p>Access production assets and knowledge from the open movies.</p>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://docs.blender.org/manual/en/latest/?utm_medium=nav-global" target="_blank">
|
||||
<div>
|
||||
<h4>Manual</h4>
|
||||
<p>Documentation on the usage and features in Blender.</p>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<a href="https://projects.blender.org/?utm_medium=nav-global" target="_blank">
|
||||
<h3>DEVELOPMENT</h3>
|
||||
</a>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="https://code.blender.org/?utm_medium=nav-global" target="_blank">
|
||||
<figure>
|
||||
<svg class="nav-global-icon" height="100px" width="100px" viewbox="0 0 1000 1000">
|
||||
<path d="m 683.36434,818.19976 a 45.841084,45.841084 0 0 1 -33.83509,-13.09745 45.841084,45.841084 0 0 1 0,-64.39581 L 890.74067,499.49508 649.52925,259.37512 a 45.841084,45.841084 0 0 1 0,-64.39582 45.841084,45.841084 0 0 1 64.39581,0 l 272.8636,272.8636 a 45.841084,45.841084 0 0 1 0,64.39581 l -272.8636,272.8636 a 45.841084,45.841084 0 0 1 -30.56072,13.09745 z m -363.45431,0 A 45.841084,45.841084 0 0 1 286.07494,805.10231 L 13.211339,532.23871 a 45.841084,45.841084 0 0 1 0,-64.39581 L 286.07494,194.9793 a 45.841084,45.841084 0 0 1 64.39581,0 45.841084,45.841084 0 0 1 0,64.39582 L 109.25933,499.49508 350.47075,740.7065 a 45.841084,45.841084 0 0 1 0,64.39581 45.841084,45.841084 0 0 1 -30.56072,13.09745 z" style="stroke-width:1.09145"></path>
|
||||
</svg>
|
||||
</figure>
|
||||
<div>
|
||||
<h4>Developers Blog</h4>
|
||||
<p>Latest development updates, by Blender developers.</p>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://developer.blender.org/docs/?utm_medium=nav-global" target="_blank">
|
||||
<div>
|
||||
<h4>Documentation</h4>
|
||||
<p>Guidelines, release notes and development docs.</p>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="https://opendata.blender.org/?utm_medium=nav-global" target="_blank">
|
||||
<figure>
|
||||
<svg class="nav-global-icon" height="100px" width="100px" viewbox="0 0 1000 1000">
|
||||
<path d="M 499.99424,0 A 55.30474,55.30474 0 0 0 444.6895,55.30474 V 944.69526 A 55.30474,55.30474 0 0 0 499.99424,1000 55.30474,55.30474 0 0 0 555.29898,944.69526 V 55.30474 A 55.30474,55.30474 0 0 0 499.99424,0 Z m 332.95711,332.95711 a 55.30474,55.30474 0 0 0 -55.30474,56.43341 V 944.69526 A 55.30474,55.30474 0 0 0 832.95135,1000 55.30474,55.30474 0 0 0 888.25609,944.69526 V 389.39052 A 55.30474,55.30474 0 0 0 832.95135,332.95711 Z M 167.03713,555.30474 a 55.30474,55.30474 0 0 0 -55.30474,55.30474 V 944.69526 A 55.30474,55.30474 0 0 0 167.03713,1000 55.30474,55.30474 0 0 0 222.34187,944.69526 V 610.60948 a 55.30474,55.30474 0 0 0 -55.30474,-55.30474 z" style="stroke-width:1.12867"></path>
|
||||
</svg>
|
||||
</figure>
|
||||
<div>
|
||||
<h4>Benchmark</h4>
|
||||
<p>A platform to collect and share results of the Blender Benchmark.</p>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://conference.blender.org/?utm_medium=nav-global" target="_blank">
|
||||
<div>
|
||||
<h4>Blender Conference</h4>
|
||||
<p>The yearly event that brings the community together.</p>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="nav-global-apps-menu-section-donate">
|
||||
<a href="https://fund.blender.org/?utm_medium=nav-global" target="_blank">
|
||||
<h3>DONATE</h3>
|
||||
</a>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="https://fund.blender.org/?utm_medium=nav-global" target="_blank">
|
||||
<figure>
|
||||
<svg class="nav-global-icon" height="100px" width="100px" viewbox="0 0 1000 1000">
|
||||
<path d="M 273.67169,58.416076 C 201.59785,62.59427 135.79129,94.975269 86.697523,145.11359 37.603742,194.20736 4.1781939,260.01391 0,332.08775 -4.1781926,403.11704 22.980065,480.41362 86.697523,545.17562 l 45.960127,45.96013 339.47823,338.43367 a 43.871033,43.871033 0 0 0 61.62835,0 L 872.1979,591.13575 918.15804,545.17562 c 109.67766,-110.72213 109.67766,-290.38445 0,-400.06203 -110.72213,-110.722127 -290.38445,-110.722127 -400.06204,0 l -15.66822,14.62368 -15.66822,-14.62368 C 423.04211,80.351592 345.74553,53.193334 273.67169,58.416076 Z m 5.22274,86.697514 c 48.04922,-3.13365 98.18754,12.53458 146.23677,60.5838 l 47.00468,47.00468 a 43.871033,43.871033 0 0 0 61.62835,0 l 45.96013,-47.00468 c 76.25204,-76.25203 199.50874,-76.25203 276.80532,0 77.29658,77.29658 77.29658,200.5533 0,277.84988 L 810.56956,529.50739 502.42778,837.64917 194.286,529.50739 148.32588,483.54727 C 100.27665,434.45349 84.608431,384.31516 86.697523,336.26594 c 3.133646,-47.00467 26.113717,-95.0539 61.628357,-130.56855 35.51464,-35.51464 82.51932,-58.49471 130.56855,-60.5838 z" style="stroke-width:1.04455"></path>
|
||||
</svg>
|
||||
</figure>
|
||||
<div>
|
||||
<h4>Development Fund</h4>
|
||||
<p>Support core development with a monthly contribution.</p>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://www.blender.org/about/donations/?utm_medium=nav-global" target="_blank">
|
||||
<div>
|
||||
<h4>One-time Donations</h4>
|
||||
<p>Perform a single donation with more payment options available.</p>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const dropdownToggles = document.getElementsByClassName("js-dropdown-toggle");
|
||||
const btnActiveClass = 'nav-global-btn-active';
|
||||
const isVisibleClass = 'is-visible';
|
||||
|
||||
/* Hide all dropdowns. */
|
||||
function dropdownHideAll() {
|
||||
const dropdownMenus = document.getElementsByClassName("js-dropdown-menu");
|
||||
|
||||
if (dropdownMenus) {
|
||||
for (let i = 0; i < dropdownMenus.length; i++) {
|
||||
dropdownMenus[i].classList.remove(isVisibleClass);
|
||||
}
|
||||
}
|
||||
|
||||
/* Remove styling from all dropdown toggles. */
|
||||
for (let i = 0; i < dropdownToggles.length; i++) {
|
||||
dropdownToggles[i].classList.remove(btnActiveClass);
|
||||
}
|
||||
}
|
||||
|
||||
for (let i = 0; i < dropdownToggles.length; i++) {
|
||||
dropdownToggles[i].addEventListener("click", function (e) {
|
||||
e.stopPropagation();
|
||||
|
||||
const dropdownId = this.getAttribute('data-toggle-menu-id');
|
||||
const el = document.getElementById(dropdownId);
|
||||
|
||||
if (el) {
|
||||
/* If the button is already active, remove styling. */
|
||||
if (el.classList.contains(isVisibleClass)) {
|
||||
dropdownHideAll();
|
||||
} else {
|
||||
/* Style button as active and show menu. */
|
||||
this.classList.add(btnActiveClass);
|
||||
el.classList.add(isVisibleClass);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/* Hide all dropdowns when clicking anywhere except menus. */
|
||||
document.body.addEventListener("click", function (e) {
|
||||
if (!e.target.classList.contains("js-dropdown-menu")) {
|
||||
dropdownHideAll();
|
||||
}
|
||||
});
|
||||
|
||||
/* Hide all dropdowns when pressing Esc. */
|
||||
window.addEventListener('keydown', function (event) {
|
||||
if (event.key === 'Escape') {
|
||||
dropdownHideAll();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@@ -1,7 +1,6 @@
|
||||
<link rel="preconnect" href="https://fonts.bunny.net">
|
||||
<link href="https://fonts.bunny.net/css?family=red-hat-display:300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i|roboto:100" rel="stylesheet" />
|
||||
<script src="/assets/js/htmx.js"></script>
|
||||
<script src="/assets/js/header.js" defer></script>
|
||||
<!-- <script src="/assets/js/custom-theme.js" defer=""></script> -->
|
||||
<style type="text/css">
|
||||
:root * {
|
||||
--fonts-proportional: "Red Hat Display", "Noto Sans", "Liberation Sans", sans-serif, var(--fonts-emoji) !important;
|
||||
|
||||
519
capytal/forgejo/themes/theme-bthree-dark.css
Normal file
519
capytal/forgejo/themes/theme-bthree-dark.css
Normal file
@@ -0,0 +1,519 @@
|
||||
/* bthree dark theme */
|
||||
:root {
|
||||
--is-dark-theme: true;
|
||||
|
||||
/* Colors. */
|
||||
/* Some colors must be set as HEX, due to the monaco-editor no supporting
|
||||
* conversion of non-hex colors. https: //github.com/microsoft/monaco-editor/issues/1815 */
|
||||
color-scheme: dark;
|
||||
--color-primary: hsl(204deg, 90%, 60%);
|
||||
--color-primary-hover: hsl(204deg, 90%, 50%);
|
||||
--color-primary-bg: hsla(204deg, 100%, 36%, .6);
|
||||
--color-primary-text: hsl(204deg, 90%, 72%);
|
||||
|
||||
--color-primary-contrast: hsl(0, 0%, 100%);
|
||||
--color-primary-dark-1: #14a1ff;
|
||||
--color-primary-dark-2: #47b6ff;
|
||||
--color-primary-dark-3: #66c2ff;
|
||||
--color-primary-dark-4: #8fd2ff;
|
||||
--color-primary-dark-5: #addeff;
|
||||
--color-primary-dark-6: #c7e9ff;
|
||||
--color-primary-dark-7: #e0f3ff;
|
||||
|
||||
--color-primary-light-1: #007acc;
|
||||
--color-primary-light-2: #006eb8;
|
||||
--color-primary-light-3: #005c99;
|
||||
--color-primary-light-4: #005085;
|
||||
--color-primary-light-5: #003d66;
|
||||
--color-primary-light-6: #003152;
|
||||
--color-primary-light-7: #001f33;
|
||||
|
||||
--color-primary-alpha-10: #008deb1a;
|
||||
--color-primary-alpha-20: #008deb33;
|
||||
--color-primary-alpha-30: #008deb4d;
|
||||
--color-primary-alpha-40: #008deb66;
|
||||
--color-primary-alpha-50: #008deb80;
|
||||
--color-primary-alpha-60: #008deb99;
|
||||
--color-primary-alpha-70: #008debb3;
|
||||
--color-primary-alpha-80: #008debcc;
|
||||
--color-primary-alpha-90: #008debe6;
|
||||
|
||||
--color-secondary: hsl(213, 12%, 30%);
|
||||
--color-secondary-bg: hsl(213, 16%, 20%);
|
||||
--color-secondary-dark-1: hsl(213, 12%, 35%);
|
||||
--color-secondary-dark-2: hsl(213, 12%, 40%);
|
||||
--color-secondary-dark-3: hsl(213, 12%, 50%);
|
||||
--color-secondary-dark-4: hsl(213, 12%, 55%);
|
||||
--color-secondary-dark-5: hsl(213, 12%, 60%);
|
||||
--color-secondary-dark-6: #9aa3af;
|
||||
--color-secondary-dark-7: hsl(213, 12%, 69%);
|
||||
--color-secondary-dark-8: hsl(213, 12%, 74%);
|
||||
--color-secondary-dark-9: hsl(213, 11%, 79%);
|
||||
--color-secondary-dark-10: hsl(213, 11%, 84%);
|
||||
--color-secondary-dark-11: hsl(213, 12%, 89%);
|
||||
--color-secondary-dark-12: hsl(213, 12%, 94%);
|
||||
--color-secondary-dark-13: hsl(213, 14%, 98%);
|
||||
|
||||
--color-secondary-light-1: hsl(213, 12%, 24%);
|
||||
--color-secondary-light-2: hsl(213, 12%, 18%);
|
||||
--color-secondary-light-3: hsl(213, 11%, 12%);
|
||||
--color-secondary-light-4: hsl(213, 8%, 6%);
|
||||
|
||||
--color-secondary-alpha-10: hsla(213, 12%, 31%, 0.1);
|
||||
--color-secondary-alpha-20: hsla(213, 12%, 31%, 0.2);
|
||||
--color-secondary-alpha-30: hsla(213, 12%, 31%, 0.3);
|
||||
--color-secondary-alpha-40: hsla(213, 12%, 31%, 0.4);
|
||||
--color-secondary-alpha-50: hsla(213, 12%, 31%, 0.5);
|
||||
--color-secondary-alpha-60: hsla(213, 12%, 31%, 0.6);
|
||||
--color-secondary-alpha-70: hsla(213, 12%, 31%, 0.7);
|
||||
--color-secondary-alpha-80: hsla(213, 12%, 31%, 0.8);
|
||||
--color-secondary-alpha-90: hsla(213, 12%, 31%, 0.9);
|
||||
|
||||
/* Colors for buttons, labels, etc. */
|
||||
--color-red: hsl(0, 56.4%, 54.1%);
|
||||
--color-red-light: hsl(0, 56.5%, 48.6%);
|
||||
--color-red-dark-1: hsl(3deg, 75%, 59%);
|
||||
--color-orange: hsl(23.8, 89%, 42.4%);
|
||||
--color-orange-light: hsl(23.6, 88.7%, 38%);
|
||||
--color-yellow: hsl(44.8, 97%, 40.6%);
|
||||
--color-yellow-light: hsl(44.8, 96.8%, 37%);
|
||||
--color-olive: hsl(67.5, 79.1%, 36%);
|
||||
--color-olive-light: hsl(67.4, 79.3%, 32%);
|
||||
--color-green: hsl(124deg 41% 35%);
|
||||
--color-green-light: hsl(124deg 41% 45%);
|
||||
--color-teal: hsl(177, 100%, 28.4%);
|
||||
--color-teal-light: hsl(176.8, 100%, 26%);
|
||||
--color-blue: hsl(206, 56%, 50.2%);
|
||||
--color-blue-light: hsl(206, 55%, 45.3%);
|
||||
--color-blue-dark-1: hsl(213deg, 89%, 64%);
|
||||
--color-blue-dark-bg: hsla(213deg, 89%, 64%, .15);
|
||||
--color-violet: hsl(259.2, 66.5%, 65%);
|
||||
--color-violet-light: hsl(259.1, 66.2%, 58%);
|
||||
--color-violet-dark-1: hsl(262deg, 66%, 66%);
|
||||
--color-violet-dark-bg: hsla(262deg, 66%, 66%, .15);
|
||||
--color-purple: hsl(285, 55.9%, 58%);
|
||||
--color-purple-light: hsl(285, 55.6%, 52%);
|
||||
--color-pink: hsl(326, 64.6%, 50.2%);
|
||||
--color-pink-light: hsl(326, 64.5%, 45%);
|
||||
--color-brown: hsl(23.4, 33%, 48%);
|
||||
--color-brown-light: hsl(23.5, 33%, 43%);
|
||||
--color-grey: hsl(213, 12%, 30%);
|
||||
--color-grey-light: hsl(213, 12%, 40%);
|
||||
--color-black: hsl(213, 21%, 15%);
|
||||
--color-black-light: hsl(223, 20%, 13%);
|
||||
--color-gold: hsl(47, 50%, 46.3%);
|
||||
--color-white: #ffffff;
|
||||
|
||||
/* Color: diff */
|
||||
--color-diff-added-word-bg: hsl(120, 25.5%, 32%);
|
||||
--color-diff-removed-word-bg: hsl(0, 37%, 32%);
|
||||
|
||||
--color-diff-added-row-bg: hsla(123, 36%, 43%, 0.1);
|
||||
--color-diff-added-row-linesnum-bg: hsla(123, 36%, 40%, 0.2);
|
||||
--color-diff-added-row-border: hsl(134.4, 20%, 24%);
|
||||
--color-diff-removed-row-bg: hsl(0, 20%, 20%);
|
||||
--color-diff-removed-row-linesnum-bg: hsl(0, 25%, 23%);
|
||||
--color-diff-removed-row-border: hsl(0, 19%, 33%);
|
||||
--color-diff-moved-row-bg: hsl(59, 31%, 38.6%);
|
||||
--color-diff-moved-row-border: hsl(69.2, 46%, 61%);
|
||||
|
||||
--color-diff-inactive: hsl(229, 14%, 13%);
|
||||
|
||||
/* Color: messages and status. */
|
||||
--color-error-border: hsl(0, 42%, 44.1%);
|
||||
--color-error-bg: hsl(0, 42.9%, 23%);
|
||||
--color-error-bg-active: hsl(0, 27.3%, 37%);
|
||||
--color-error-bg-hover: hsl(0, 33.3%, 30%);
|
||||
--color-error-text: hsl(0, 79.3%, 88.6%);
|
||||
--color-success-border: hsl(136, 33.3%, 40.6%);
|
||||
--color-success-bg: hsl(150, 23%, 20%);
|
||||
--color-success-text: hsl(116, 46%, 58.4%);
|
||||
--color-warning-border: hsl(50, 100%, 37%);
|
||||
--color-warning-bg: hsl(60, 9.4%, 20.8%);
|
||||
--color-warning-text: hsl(44.7, 96.8%, 50.8%);
|
||||
--color-info-border: hsl(210, 50%, 37.6%);
|
||||
--color-info-bg: hsl(216.3, 33.3%, 22.4%);
|
||||
--color-info-text: hsl(213deg, 89%, 64%);
|
||||
|
||||
--color-body: #202327;
|
||||
|
||||
--color-box-header: hsl(213, 12%, 22%);
|
||||
--color-box-body: hsl(213, 12%, 18%);
|
||||
--color-box-body-highlight: hsla(204deg, 60%, 15%, .15);
|
||||
|
||||
--color-text: #bbc0ca;
|
||||
--color-text-dark: hsl(220, 26%, 89%);
|
||||
--color-text-light: hsl(224, 9.2%, 68%);
|
||||
--color-text-light-1: hsl(224, 7.8%, 62%);
|
||||
--color-text-light-2: hsl(224, 6.8%, 57%);
|
||||
--color-text-light-3: hsl(224.3, 9.3%, 48.4%);
|
||||
|
||||
/* "color-light" is actually a subtle black in dark themes, to darken an element.
|
||||
* against different backgrounds. */
|
||||
--color-light: hsla(0, 0%, 0%, 0.2);
|
||||
--color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled)));
|
||||
--color-light-border: hsla(0, 0%, 100%, 0.2);
|
||||
|
||||
--color-hover: hsla(213, 18%, 90%, .05);
|
||||
--color-active: hsla(213, 18%, 90%, .1);
|
||||
|
||||
--color-menu: hsl(213, 12%, 21%);
|
||||
--color-card: transparent;
|
||||
|
||||
--color-markup-table-row: hsla(0, 0%, 100%, 0);
|
||||
--color-markup-code-block: hsla(0, 0%, 100%, 0.1);
|
||||
--color-markup-code-inline: hsla(0, 0%, 100%, 0.1);
|
||||
|
||||
--color-code-bg: #1e2329;
|
||||
--color-code-line-bg-hover: hsl(213, 16%, 16%);
|
||||
--color-code-sidebar-bg: hsl(213, 15%, 21%);
|
||||
|
||||
--color-tooltip-text: #fbfdff;
|
||||
--color-tooltip-bg: #000017f0;
|
||||
|
||||
/* Navbar. */
|
||||
--color-navbar: hsl(213, 10%, 18%);
|
||||
--color-nav-bg: hsl(213, 10%, 18%);
|
||||
--color-nav-hover-bg: hsla(213, 18%, 90%, .05);
|
||||
--color-header-wrapper: hsl(213, 10%, 18%);
|
||||
--color-navbar-transparent: hsla(213, 10%, 14%, 0);
|
||||
--color-header-bar: hsl(213, 10%, 18%);
|
||||
|
||||
/* Inputs. */
|
||||
--color-input-text: #d6dbe6;
|
||||
--color-input-background: #17191c;
|
||||
--color-input-toggle-background: #454d57;
|
||||
--color-input-border: #454d57;
|
||||
--color-input-border-hover: #505668;
|
||||
--color-placeholder-text: #6a737d;
|
||||
|
||||
--color-editor-line-highlight: var(--color-primary-light-5);
|
||||
--color-project-board-bg: var(--color-secondary-light-2);
|
||||
|
||||
--color-highlight-fg: #87651e;
|
||||
--color-highlight-bg: #352c1c;
|
||||
--color-overlay-backdrop: #080808c0;
|
||||
|
||||
--color-button: #282d33;
|
||||
|
||||
--color-caret: var(--color-text);
|
||||
--color-border: var(--color-secondary-alpha-40);
|
||||
|
||||
--color-reaction-bg: hsla(0, 0%, 100%, 0.1);
|
||||
--color-reaction-active-bg: var(--color-primary-alpha-30);
|
||||
|
||||
--color-small-accent: var(--color-primary-light-5);
|
||||
--color-active-line: hsl(53.6, 50.9%, 22%);
|
||||
|
||||
/* Labels. e.g. issues count indicator in repo tabs. */
|
||||
--color-label-text: var(--color-text-light);
|
||||
--color-label-bg: var(--color-secondary-alpha-60);
|
||||
--color-label-active-bg: hsl(220, 10.6%, 33.3%);
|
||||
|
||||
/* Footer. */
|
||||
--color-footer: hsl(213, 14.8%, 21%);
|
||||
--color-footer-text: var(--color-text-light-3);
|
||||
--color-footer-links: var(--color-text-light-1);
|
||||
}
|
||||
|
||||
/* Custom styling of individual elements.
|
||||
* Using !important is bad, but unfortunately gitea does it already in _base.less. */
|
||||
|
||||
/* Primary button. */
|
||||
.ui.primary.button,
|
||||
.ui.primary.buttons .button {
|
||||
background-color: var(--color-primary-bg) !important;
|
||||
border-color: var(--color-primary-bg) !important;
|
||||
color: var(--color-primary-text) !important;
|
||||
}
|
||||
|
||||
a.ui.primary.label:hover,
|
||||
.ui.primary.button:hover,
|
||||
.ui.primary.buttons .button:hover {
|
||||
background-color: var(--color-primary-hover) !important;
|
||||
color: var(--color-primary-contrast) !important;
|
||||
}
|
||||
|
||||
.ui.primary.label {
|
||||
background-color: var(--color-primary-bg) !important;
|
||||
border-color: var(--color-primary-bg) !important;
|
||||
color: var(--color-primary) !important;
|
||||
}
|
||||
|
||||
/* (from arc-green)
|
||||
* 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);
|
||||
}
|
||||
|
||||
/* Code syntax highlighting. */
|
||||
.tag-code .code-inner {
|
||||
opacity: .5;
|
||||
}
|
||||
|
||||
.same-code .lines-num.lines-num-old,
|
||||
.same-code .lines-num.lines-num-new {
|
||||
color: var(--color-text-light-3) !important;
|
||||
}
|
||||
|
||||
.add-code .lines-num.lines-num-old,
|
||||
.add-code .lines-num.lines-num-new {
|
||||
background-color: var(--color-diff-added-row-linesnum-bg);
|
||||
color: var(--color-text-dark-2) !important;
|
||||
}
|
||||
|
||||
.del-code .lines-num.lines-num-old,
|
||||
.diff-unified .del-code .lines-num.lines-num-old,
|
||||
.del-code .lines-num.lines-num-new {
|
||||
background-color: var(--color-diff-removed-row-linesnum-bg);
|
||||
color: var(--color-text-dark-2) !important;
|
||||
}
|
||||
|
||||
.repository .diff-file-box .file-body.file-code table tbody tr.add-code:hover .lines-num,
|
||||
.repository .diff-file-box .file-body.file-code table tbody tr.del-code:hover .lines-num,
|
||||
.repository .diff-file-box .file-body.file-code table tbody tr.same-code:hover .lines-num,
|
||||
.repository .diff-file-box .file-body.file-code table tbody .diff-unified tr:hover .del-code .lines-num {
|
||||
color: var(--color-text-dark) !important;
|
||||
}
|
||||
|
||||
.repository .diff-file-box .file-body.file-code table tbody tr.same-code:hover .lines-num {
|
||||
color: var(--color-text-dark-2) !important;
|
||||
}
|
||||
|
||||
.repository .diff-file-box .file-body.file-code table tbody tr.same-code:hover .lines-code,
|
||||
.repository .diff-file-box .file-body.file-code table tbody tr.same-code:hover .lines-num,
|
||||
.repository .diff-file-box .file-body.file-code table tbody tr.same-code:hover .lines-type-marker {
|
||||
background-color: var(--color-code-line-bg-hover) !important;
|
||||
}
|
||||
|
||||
/* From web_src/less/themes/chroma/dark.less */
|
||||
:root {
|
||||
--color-syntax-NameBuiltinPseudo: #fabd2f;
|
||||
--color-syntax-Comment: #777e94;
|
||||
--color-syntax-CommentSingle: #777e94;
|
||||
--color-syntax-CommentHashbang: #777e94;
|
||||
--color-syntax-CommentMultiline: #777e94;
|
||||
--color-syntax-CommentPreproc: #8ec07c;
|
||||
--color-syntax-CommentPreprocFile: #649bc4;
|
||||
--color-syntax-CommentSpecial: #9075cd;
|
||||
--color-syntax-LiteralStringDelimiter: #649bc4;
|
||||
|
||||
--color-syntax-GenericDeleted-text: #fff;
|
||||
--color-syntax-GenericDeleted-bg: #5f3737;
|
||||
--color-syntax-GenericEmph: #ddee30;
|
||||
--color-syntax-GenericHeading: #ffaa10;
|
||||
--color-syntax-GenericInserted-text: #fff;
|
||||
--color-syntax-GenericInserted-bg: #3a523a;
|
||||
--color-syntax-GenericOutput: #777e94;
|
||||
--color-syntax-GenericPrompt: #ebdbb2;
|
||||
--color-syntax-GenericError: #ff4433;
|
||||
--color-syntax-GenericStrong: #ebdbb2;
|
||||
--color-syntax-GenericTraceback: #ff7540;
|
||||
--color-syntax-GenericSubheading: #b8bb26;
|
||||
--color-syntax-LineHighlight: #3f424d;
|
||||
--color-syntax-LiteralNumberIntegerLong: #649bc4;
|
||||
--color-syntax-Keyword: #f47067;
|
||||
--color-syntax-KeywordConstant: #649bc4;
|
||||
--color-syntax-KeywordDeclaration: #ff7540;
|
||||
--color-syntax-KeywordNamespace: #ffaa10;
|
||||
--color-syntax-KeywordPseudo: #5f8700;
|
||||
--color-syntax-KeywordReserved: #ff7540;
|
||||
--color-syntax-KeywordType: #fabd2f;
|
||||
--color-syntax-LineNumbers: #7f8699;
|
||||
--color-syntax-LineNumbersTable: #7f8699;
|
||||
--color-syntax-LiteralNumber: #649bc4;
|
||||
--color-syntax-LiteralNumberBin: #649bc4;
|
||||
--color-syntax-LiteralNumberFloat: #649bc4;
|
||||
--color-syntax-LiteralNumberHex: #649bc4;
|
||||
--color-syntax-LiteralNumberInteger: #649bc4;
|
||||
--color-syntax-LiteralNumberOct: #649bc4;
|
||||
--color-syntax-Name: #adbac7;
|
||||
--color-syntax-NameAttribute: #b8bb26;
|
||||
--color-syntax-NameBuiltin: #fabd2f;
|
||||
--color-syntax-NameClass: #f69d50;
|
||||
--color-syntax-NameDecorator: #dcbdfb;
|
||||
--color-syntax-NameException: #ff7540;
|
||||
--color-syntax-NameFunction: #dcbdfb;
|
||||
--color-syntax-NameEntity: #fabd2f;
|
||||
--color-syntax-NameLabel: #ff7540;
|
||||
--color-syntax-NameNamespace: #ffaa10;
|
||||
--color-syntax-NameConstant: #649bc4;
|
||||
--color-syntax-NameTag: #ff7540;
|
||||
--color-syntax-NameVariable: #ebdbb2;
|
||||
--color-syntax-NameOther: #b6bac5;
|
||||
--color-syntax-Operator: #6cb6ff;
|
||||
--color-syntax-OperatorWord: #6cb6ff;
|
||||
--color-syntax-Punctuation: #d2d4db;
|
||||
--color-syntax-LiteralString: #b8bb26;
|
||||
--color-syntax-LiteralStringSingle: #96d0ff;
|
||||
--color-syntax-LiteralStringDouble: #96d0ff;
|
||||
--color-syntax-LiteralStringAffix: #649bc4;
|
||||
--color-syntax-LiteralStringBacktick: #b8bb26;
|
||||
--color-syntax-LiteralStringChar: #649bc4;
|
||||
--color-syntax-LiteralStringDoc: #777e94;
|
||||
--color-syntax-LiteralStringEscape: #ff7540;
|
||||
--color-syntax-LiteralStringHeredoc: #649bc4;
|
||||
--color-syntax-LiteralStringInterpol: #ffaa10;
|
||||
--color-syntax-LiteralStringRegex: #9075cd;
|
||||
--color-syntax-LiteralStringSymbol: #ff7540;
|
||||
--color-syntax-LiteralStringOther: #ffaa10;
|
||||
--color-syntax-NameVariableClass: #ff7540;
|
||||
--color-syntax-NameVariableGlobal: #ffaa10;
|
||||
--color-syntax-NameVariableInstance: #ffaa10;
|
||||
--color-syntax-TextWhitespace: #7f8699;
|
||||
}
|
||||
|
||||
.chroma .bp { color: var(--color-syntax-NameBuiltinPseudo) } /* NameBuiltinPseudo */
|
||||
.chroma .c { color: var(--color-syntax-Comment) } /* Comment */
|
||||
.chroma .c1 { color: var(--color-syntax-CommentSingle) } /* CommentSingle */
|
||||
.chroma .ch { color: var(--color-syntax-CommentHashbang) } /* CommentHashbang */
|
||||
.chroma .cm { color: var(--color-syntax-CommentMultiline) } /* CommentMultiline */
|
||||
.chroma .cp { color: var(--color-syntax-CommentPreproc) } /* CommentPreproc */
|
||||
.chroma .cpf { color: var(--color-syntax-CommentPreprocFile) } /* CommentPreprocFile */
|
||||
.chroma .cs { color: var(--color-syntax-CommentSpecial) } /* CommentSpecial */
|
||||
.chroma .dl { color: var(--color-syntax-LiteralStringDelimiter) } /* LiteralStringDelimiter */
|
||||
.chroma .gd { color: var(--color-syntax-GenericDeleted-text); background-color: var(--color-syntax-GenericDeleted-bg); } /* GenericDeleted */
|
||||
.chroma .ge { color: var(--color-syntax-GenericEmph); } /* GenericEmph */
|
||||
.chroma .gh { color: var(--color-syntax-GenericHeading); } /* GenericHeading */
|
||||
.chroma .gi { color: var(--color-syntax-GenericInserted-text); background-color: var(--color-syntax-GenericInserted-bg); } /* GenericInserted */
|
||||
.chroma .go { color: var(--color-syntax-GenericOutput); } /* GenericOutput */
|
||||
.chroma .gp { color: var(--color-syntax-GenericPrompt); } /* GenericPrompt */
|
||||
.chroma .gr { color: var(--color-syntax-GenericError); } /* GenericError */
|
||||
.chroma .gs { color: var(--color-syntax-GenericStrong); } /* GenericStrong */
|
||||
.chroma .gt { color: var(--color-syntax-GenericTraceback); } /* GenericTraceback */
|
||||
.chroma .gu { color: var(--color-syntax-GenericSubheading); } /* GenericSubheading */
|
||||
.chroma .hl { background-color: var(--color-syntax-LineHighlight); } /* LineHighlight */
|
||||
.chroma .il { color: var(--color-syntax-LiteralNumberIntegerLong); } /* LiteralNumberIntegerLong */
|
||||
.chroma .k { color: var(--color-syntax-Keyword); } /* Keyword */
|
||||
.chroma .kc { color: var(--color-syntax-KeywordConstant); } /* KeywordConstant */
|
||||
.chroma .kd { color: var(--color-syntax-KeywordDeclaration); } /* KeywordDeclaration */
|
||||
.chroma .kn { color: var(--color-syntax-KeywordNamespace); } /* KeywordNamespace */
|
||||
.chroma .kp { color: var(--color-syntax-KeywordPseudo); } /* KeywordPseudo */
|
||||
.chroma .kr { color: var(--color-syntax-KeywordReserved); } /* KeywordReserved */
|
||||
.chroma .kt { color: var(--color-syntax-KeywordType); } /* KeywordType */
|
||||
.chroma .ln { color: var(--color-syntax-LineNumbers); } /* LineNumbers */
|
||||
.chroma .lnt { color: var(--color-syntax-LineNumbersTable); } /* LineNumbersTable */
|
||||
.chroma .m { color: var(--color-syntax-LiteralNumber); } /* LiteralNumber */
|
||||
.chroma .mb { color: var(--color-syntax-LiteralNumberBin); } /* LiteralNumberBin */
|
||||
.chroma .mf { color: var(--color-syntax-LiteralNumberFloat); } /* LiteralNumberFloat */
|
||||
.chroma .mh { color: var(--color-syntax-LiteralNumberHex); } /* LiteralNumberHex */
|
||||
.chroma .mi { color: var(--color-syntax-LiteralNumberInteger); } /* LiteralNumberInteger */
|
||||
.chroma .mo { color: var(--color-syntax-LiteralNumberOct); } /* LiteralNumberOct */
|
||||
.chroma .n { color: var(--color-syntax-Name); } /* Name */
|
||||
.chroma .na { color: var(--color-syntax-NameAttribute); } /* NameAttribute */
|
||||
.chroma .nb { color: var(--color-syntax-NameBuiltin); } /* NameBuiltin */
|
||||
.chroma .nc { color: var(--color-syntax-NameClass); } /* NameClass */
|
||||
.chroma .nd { color: var(--color-syntax-NameDecorator); } /* NameDecorator */
|
||||
.chroma .ne { color: var(--color-syntax-NameException); } /* NameException */
|
||||
.chroma .nf { color: var(--color-syntax-NameFunction); } /* NameFunction */
|
||||
.chroma .ni { color: var(--color-syntax-NameEntity); } /* NameEntity */
|
||||
.chroma .nl { color: var(--color-syntax-NameLabel); } /* NameLabel */
|
||||
.chroma .nn { color: var(--color-syntax-NameNamespace); } /* NameNamespace */
|
||||
.chroma .no { color: var(--color-syntax-NameConstant); } /* NameConstant */
|
||||
.chroma .nt { color: var(--color-syntax-NameTag); } /* NameTag */
|
||||
.chroma .nv { color: var(--color-syntax-NameVariable); } /* NameVariable */
|
||||
.chroma .nx { color: var(--color-syntax-NameOther); } /* NameOther */
|
||||
.chroma .o { color: var(--color-syntax-Operator); } /* Operator */
|
||||
.chroma .ow { color: var(--color-syntax-OperatorWord); } /* OperatorWord */
|
||||
.chroma .p { color: var(--color-syntax-Punctuation); } /* Punctuation */
|
||||
.chroma .s { color: var(--color-syntax-LiteralString); } /* LiteralString */
|
||||
.chroma .s1 { color: var(--color-syntax-LiteralStringSingle); } /* LiteralStringSingle */
|
||||
.chroma .s2 { color: var(--color-syntax-LiteralStringDouble); } /* LiteralStringDouble */
|
||||
.chroma .sa { color: var(--color-syntax-LiteralStringAffix); } /* LiteralStringAffix */
|
||||
.chroma .sb { color: var(--color-syntax-LiteralStringBacktick); } /* LiteralStringBacktick */
|
||||
.chroma .sc { color: var(--color-syntax-LiteralStringChar); } /* LiteralStringChar */
|
||||
.chroma .sd { color: var(--color-syntax-LiteralStringDoc); } /* LiteralStringDoc */
|
||||
.chroma .se { color: var(--color-syntax-LiteralStringEscape); } /* LiteralStringEscape */
|
||||
.chroma .sh { color: var(--color-syntax-LiteralStringHeredoc); } /* LiteralStringHeredoc */
|
||||
.chroma .si { color: var(--color-syntax-LiteralStringInterpol); } /* LiteralStringInterpol */
|
||||
.chroma .sr { color: var(--color-syntax-LiteralStringRegex); } /* LiteralStringRegex */
|
||||
.chroma .ss { color: var(--color-syntax-LiteralStringSymbol); } /* LiteralStringSymbol */
|
||||
.chroma .sx { color: var(--color-syntax-LiteralStringOther); } /* LiteralStringOther */
|
||||
.chroma .vc { color: var(--color-syntax-NameVariableClass); } /* NameVariableClass */
|
||||
.chroma .vg { color: var(--color-syntax-NameVariableGlobal); } /* NameVariableGlobal */
|
||||
.chroma .vi { color: var(--color-syntax-NameVariableInstance); } /* NameVariableInstance */
|
||||
.chroma .w { color: var(--color-syntax-TextWhitespace); } /* TextWhitespace */
|
||||
|
||||
/* From web_src/less/codemirror/dark.less */
|
||||
.CodeMirror.cm-s-default .cm-property, .CodeMirror.cm-s-paper .cm-property {
|
||||
color: #a0cc75;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-header, .CodeMirror.cm-s-paper .cm-header {
|
||||
color: #9daccc;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-quote, .CodeMirror.cm-s-paper .cm-quote {
|
||||
color: #009900;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-keyword, .CodeMirror.cm-s-paper .cm-keyword {
|
||||
color: #cc8a61;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-atom, .CodeMirror.cm-s-paper .cm-atom {
|
||||
color: #ef5e77;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-number, .CodeMirror.cm-s-paper .cm-number {
|
||||
color: #ff5656;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-def, .CodeMirror.cm-s-paper .cm-def {
|
||||
color: #e4e4e4;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-variable-2, .CodeMirror.cm-s-paper .cm-variable-2 {
|
||||
color: #00bdbf;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-variable-3, .CodeMirror.cm-s-paper .cm-variable-3 {
|
||||
color: #008855;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-comment, .CodeMirror.cm-s-paper .cm-comment {
|
||||
color: #8e9ab3;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-string, .CodeMirror.cm-s-paper .cm-string {
|
||||
color: #a77272;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-string-2, .CodeMirror.cm-s-paper .cm-string-2 {
|
||||
color: #ff5500;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-meta, .CodeMirror.cm-s-default .cm-qualifier, .CodeMirror.cm-s-paper .cm-meta, .CodeMirror.cm-s-paper .cm-qualifier {
|
||||
color: #ffb176;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-builtin, .CodeMirror.cm-s-paper .cm-builtin {
|
||||
color: #b7c951;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-bracket, .CodeMirror.cm-s-paper .cm-bracket {
|
||||
color: #999977;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-tag, .CodeMirror.cm-s-paper .cm-tag {
|
||||
color: #f1d273;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-attribute, .CodeMirror.cm-s-paper .cm-attribute {
|
||||
color: #bfcc70;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-hr, .CodeMirror.cm-s-paper .cm-hr {
|
||||
color: #999999;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-url, .CodeMirror.cm-s-paper .cm-url {
|
||||
color: #c5cfd0;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-link, .CodeMirror.cm-s-paper .cm-link {
|
||||
color: #d8c792;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-error, .CodeMirror.cm-s-paper .cm-error {
|
||||
color: #dbdbeb;
|
||||
}
|
||||
570
capytal/forgejo/themes/theme-capytal-dark.css
Normal file
570
capytal/forgejo/themes/theme-capytal-dark.css
Normal file
@@ -0,0 +1,570 @@
|
||||
/* capytal dark theme */
|
||||
:root {
|
||||
--is-dark-theme: true;
|
||||
|
||||
/* Colors. */
|
||||
/* Some colors must be set as HEX, due to the monaco-editor no supporting
|
||||
* conversion of non-hex colors. https: //github.com/microsoft/monaco-editor/issues/1815 */
|
||||
color-scheme: dark;
|
||||
--color-primary: var(--color-text-light);
|
||||
--color-primary-hover: var(--color-text-light);
|
||||
--color-primary-bg: var(--color-box-header);
|
||||
--color-primary-text: var(--color-text);
|
||||
|
||||
--color-primary-contrast: #191919;
|
||||
--color-primary-dark-1: #111111;
|
||||
--color-primary-dark-2: #191919;
|
||||
--color-primary-dark-3: #222222;
|
||||
--color-primary-dark-4: #2a2a2a;
|
||||
--color-primary-dark-5: #313131;
|
||||
--color-primary-dark-6: #3a3a3a;
|
||||
--color-primary-dark-7: #484848;
|
||||
|
||||
--color-primary-light-1: #eeeeee;
|
||||
--color-primary-light-2: #b4b4b4;
|
||||
--color-primary-light-3: #7b7b7b;
|
||||
--color-primary-light-4: #6e6e6e;
|
||||
--color-primary-light-5: #606060;
|
||||
--color-primary-light-6: #484848;
|
||||
--color-primary-light-7: #3a3a3a;
|
||||
|
||||
--color-primary-alpha-10: #eeeeee1a;
|
||||
--color-primary-alpha-20: #eeeeee33;
|
||||
--color-primary-alpha-30: #eeeeee4d;
|
||||
--color-primary-alpha-40: #eeeeee66;
|
||||
--color-primary-alpha-50: #eeeeee80;
|
||||
--color-primary-alpha-60: #eeeeee99;
|
||||
--color-primary-alpha-70: #eeeeeeb3;
|
||||
--color-primary-alpha-80: #eeeeeecc;
|
||||
--color-primary-alpha-90: #eeeeeee6;
|
||||
|
||||
--color-secondary: #2a2a2a00;
|
||||
--color-secondary-bg: hsl(213, 16%, 20%);
|
||||
--color-secondary-dark-1: hsl(213, 12%, 35%);
|
||||
--color-secondary-dark-2: hsl(213, 12%, 40%);
|
||||
--color-secondary-dark-3: hsl(213, 12%, 50%);
|
||||
--color-secondary-dark-4: hsl(213, 12%, 55%);
|
||||
--color-secondary-dark-5: hsl(213, 12%, 60%);
|
||||
--color-secondary-dark-6: #9aa3af;
|
||||
--color-secondary-dark-7: hsl(213, 12%, 69%);
|
||||
--color-secondary-dark-8: hsl(213, 12%, 74%);
|
||||
--color-secondary-dark-9: hsl(213, 11%, 79%);
|
||||
--color-secondary-dark-10: hsl(213, 11%, 84%);
|
||||
--color-secondary-dark-11: hsl(213, 12%, 89%);
|
||||
--color-secondary-dark-12: hsl(213, 12%, 94%);
|
||||
--color-secondary-dark-13: hsl(213, 14%, 98%);
|
||||
|
||||
--color-secondary-light-1: hsl(213, 12%, 24%);
|
||||
--color-secondary-light-2: hsl(213, 12%, 18%);
|
||||
--color-secondary-light-3: hsl(213, 11%, 12%);
|
||||
--color-secondary-light-4: hsl(213, 8%, 6%);
|
||||
|
||||
--color-secondary-alpha-10: hsla(213, 12%, 31%, 0.1);
|
||||
--color-secondary-alpha-20: hsla(213, 12%, 31%, 0.2);
|
||||
--color-secondary-alpha-30: hsla(213, 12%, 31%, 0.3);
|
||||
--color-secondary-alpha-40: hsla(213, 12%, 31%, 0.4);
|
||||
--color-secondary-alpha-50: hsla(213, 12%, 31%, 0.5);
|
||||
--color-secondary-alpha-60: hsla(213, 12%, 31%, 0.6);
|
||||
--color-secondary-alpha-70: hsla(213, 12%, 31%, 0.7);
|
||||
--color-secondary-alpha-80: hsla(213, 12%, 31%, 0.8);
|
||||
--color-secondary-alpha-90: hsla(213, 12%, 31%, 0.9);
|
||||
|
||||
/* Colors for buttons, labels, etc. */
|
||||
--color-red: hsl(0, 56.4%, 54.1%);
|
||||
--color-red-light: hsl(0, 56.5%, 48.6%);
|
||||
--color-red-dark-1: hsl(3deg, 75%, 59%);
|
||||
--color-orange: hsl(23.8, 89%, 42.4%);
|
||||
--color-orange-light: hsl(23.6, 88.7%, 38%);
|
||||
--color-yellow: hsl(44.8, 97%, 40.6%);
|
||||
--color-yellow-light: hsl(44.8, 96.8%, 37%);
|
||||
--color-olive: hsl(67.5, 79.1%, 36%);
|
||||
--color-olive-light: hsl(67.4, 79.3%, 32%);
|
||||
--color-green: hsl(124deg 41% 35%);
|
||||
--color-green-light: hsl(124deg 41% 45%);
|
||||
--color-teal: hsl(177, 100%, 28.4%);
|
||||
--color-teal-light: hsl(176.8, 100%, 26%);
|
||||
--color-blue: hsl(206, 56%, 50.2%);
|
||||
--color-blue-light: hsl(206, 55%, 45.3%);
|
||||
--color-blue-dark-1: hsl(213deg, 89%, 64%);
|
||||
--color-blue-dark-bg: hsla(213deg, 89%, 64%, .15);
|
||||
--color-violet: hsl(259.2, 66.5%, 65%);
|
||||
--color-violet-light: hsl(259.1, 66.2%, 58%);
|
||||
--color-violet-dark-1: hsl(262deg, 66%, 66%);
|
||||
--color-violet-dark-bg: hsla(262deg, 66%, 66%, .15);
|
||||
--color-purple: hsl(285, 55.9%, 58%);
|
||||
--color-purple-light: hsl(285, 55.6%, 52%);
|
||||
--color-pink: hsl(326, 64.6%, 50.2%);
|
||||
--color-pink-light: hsl(326, 64.5%, 45%);
|
||||
--color-brown: hsl(23.4, 33%, 48%);
|
||||
--color-brown-light: hsl(23.5, 33%, 43%);
|
||||
--color-grey: hsl(213, 12%, 30%);
|
||||
--color-grey-light: hsl(213, 12%, 40%);
|
||||
--color-black: hsl(213, 21%, 15%);
|
||||
--color-black-light: hsl(223, 20%, 13%);
|
||||
--color-gold: hsl(47, 50%, 46.3%);
|
||||
--color-white: #ffffff;
|
||||
|
||||
/* Color: diff */
|
||||
--color-diff-added-word-bg: hsl(120, 25.5%, 32%);
|
||||
--color-diff-removed-word-bg: hsl(0, 37%, 32%);
|
||||
|
||||
--color-diff-added-row-bg: hsla(123, 36%, 43%, 0.1);
|
||||
--color-diff-added-row-linesnum-bg: hsla(123, 36%, 40%, 0.2);
|
||||
--color-diff-added-row-border: hsl(134.4, 20%, 24%);
|
||||
--color-diff-removed-row-bg: hsl(0, 20%, 20%);
|
||||
--color-diff-removed-row-linesnum-bg: hsl(0, 25%, 23%);
|
||||
--color-diff-removed-row-border: hsl(0, 19%, 33%);
|
||||
--color-diff-moved-row-bg: hsl(59, 31%, 38.6%);
|
||||
--color-diff-moved-row-border: hsl(69.2, 46%, 61%);
|
||||
|
||||
--color-diff-inactive: hsl(229, 14%, 13%);
|
||||
|
||||
/* Color: messages and status. */
|
||||
--color-error-border: hsl(0, 42%, 44.1%);
|
||||
--color-error-bg: hsl(0, 42.9%, 23%);
|
||||
--color-error-bg-active: hsl(0, 27.3%, 37%);
|
||||
--color-error-bg-hover: hsl(0, 33.3%, 30%);
|
||||
--color-error-text: hsl(0, 79.3%, 88.6%);
|
||||
--color-success-border: var(--color-success-text);
|
||||
--color-success-bg: #0e1512;
|
||||
--color-success-text: #3dd68c;
|
||||
--color-warning-border: hsl(50, 100%, 37%);
|
||||
--color-warning-bg: hsl(60, 9.4%, 20.8%);
|
||||
--color-warning-text: hsl(44.7, 96.8%, 50.8%);
|
||||
--color-info-border: hsl(210, 50%, 37.6%);
|
||||
--color-info-bg: hsl(216.3, 33.3%, 22.4%);
|
||||
--color-info-text: hsl(213deg, 89%, 64%);
|
||||
|
||||
--color-body: #090909;
|
||||
|
||||
--color-box-header: #121212;
|
||||
--color-box-body: #101010;
|
||||
--color-box-body-highlight: #111111;
|
||||
|
||||
--color-text: #b4b4b4;
|
||||
--color-text-dark: #191919;
|
||||
--color-text-light: #eeeeee;
|
||||
--color-text-light-1: #eeeeee;
|
||||
--color-text-light-2: #b4b4b4;
|
||||
--color-text-light-3: #7b7b7b;
|
||||
|
||||
/* "color-light" is actually a subtle black in dark themes, to darken an element.
|
||||
* against different backgrounds. */
|
||||
--color-light: hsla(0, 0%, 0%, 0.2);
|
||||
--color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled)));
|
||||
--color-light-border: hsla(0, 0%, 100%, 0.2);
|
||||
|
||||
--color-hover: hsla(213, 18%, 90%, .05);
|
||||
--color-active: hsla(213, 18%, 90%, .1);
|
||||
|
||||
--color-menu: var(--color-box-body);
|
||||
--color-card: transparent;
|
||||
|
||||
--color-markup-table-row: hsla(0, 0%, 100%, 0);
|
||||
--color-markup-code-block: hsla(0, 0%, 100%, 0.1);
|
||||
--color-markup-code-inline: hsla(0, 0%, 100%, 0.1);
|
||||
|
||||
--color-code-bg: #1e2329;
|
||||
--color-code-line-bg-hover: hsl(213, 16%, 16%);
|
||||
--color-code-sidebar-bg: hsl(213, 15%, 21%);
|
||||
|
||||
--color-tooltip-text: #fbfdff;
|
||||
--color-tooltip-bg: #000017f0;
|
||||
|
||||
/* Navbar. */
|
||||
--color-navbar: var(--color-box-header);
|
||||
--color-nav-bg: var(--color-navbar);
|
||||
--color-nav-hover-bg: hsla(0, 0%, 10%, .05); /* #191919 */
|
||||
--color-header-wrapper: var(--color-navbar);
|
||||
--color-navbar-transparent: hsla(213, 10%, 14%, 0);
|
||||
--color-header-bar: var(--color-navbar);
|
||||
|
||||
/* Inputs. */
|
||||
--color-input-text: var(--color-text-light);
|
||||
--color-input-background: var(--color-box-header);
|
||||
--color-input-toggle-background: var(--color-box-header);
|
||||
--color-input-border: var(--color-text-dark);
|
||||
--color-input-border-hover: var(--color-text-light-3);
|
||||
--color-placeholder-text: var(--color-text-light-3);
|
||||
|
||||
--color-editor-line-highlight: var(--color-primary-light-5);
|
||||
--color-project-board-bg: var(--color-secondary-light-2);
|
||||
|
||||
--color-highlight-fg: #87651e;
|
||||
--color-highlight-bg: #352c1c;
|
||||
--color-overlay-backdrop: #080808c0;
|
||||
|
||||
--color-button: #282d3;
|
||||
|
||||
--color-caret: var(--color-text);
|
||||
--color-border: var(--color-secondary-alpha-40);
|
||||
|
||||
--color-reaction-bg: hsla(0, 0%, 100%, 0.1);
|
||||
--color-reaction-active-bg: var(--color-primary-alpha-30);
|
||||
|
||||
--color-small-accent: var(--color-primary-light-5);
|
||||
--color-active-line: hsl(53.6, 50.9%, 22%);
|
||||
|
||||
/* Labels. e.g. issues count indicator in repo tabs. */
|
||||
--color-label-text: var(--color-text-light);
|
||||
--color-label-bg: var(--color-secondary-alpha-60);
|
||||
--color-label-active-bg: hsl(220, 10.6%, 33.3%);
|
||||
|
||||
/* Footer. */
|
||||
--color-footer: var(--color-nav-bg);
|
||||
--color-footer-text: var(--color-text-light-3);
|
||||
--color-footer-links: var(--color-text-light-1);
|
||||
}
|
||||
|
||||
:root {
|
||||
--icon-check-square-bold: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' fill-rule='evenodd' d='M12 22c-4.714 0-7.071 0-8.536-1.465C2 19.072 2 16.714 2 12s0-7.071 1.464-8.536C4.93 2 7.286 2 12 2s7.071 0 8.535 1.464C22 4.93 22 7.286 22 12s0 7.071-1.465 8.535C19.072 22 16.714 22 12 22m4.03-13.03a.75.75 0 0 1 0 1.06l-5 5a.75.75 0 0 1-1.06 0l-2-2a.75.75 0 1 1 1.06-1.06l1.47 1.47l4.47-4.47a.75.75 0 0 1 1.06 0' clip-rule='evenodd'/%3E%3C/svg%3E");
|
||||
--icon-minus-quare-line-duotone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Cpath d='M2 12c0-4.714 0-7.071 1.464-8.536C4.93 2 7.286 2 12 2s7.071 0 8.535 1.464C22 4.93 22 7.286 22 12s0 7.071-1.465 8.535C19.072 22 16.714 22 12 22s-7.071 0-8.536-1.465C2 19.072 2 16.714 2 12Z' opacity='.5'/%3E%3Cpath stroke-linecap='round' d='M15 12H9'/%3E%3C/g%3E%3C/svg%3E");
|
||||
}
|
||||
|
||||
/* Custom styling of individual elements.
|
||||
* Using !important is bad, but unfortunately gitea does it already in _base.less. */
|
||||
|
||||
/* Primary button. */
|
||||
.ui.primary.button,
|
||||
.ui.primary.buttons .button {
|
||||
background-color: var(--color-primary-bg) !important;
|
||||
border-color: var(--color-primary-text) !important;
|
||||
color: var(--color-primary-text) !important;
|
||||
}
|
||||
|
||||
a.ui.primary.label:hover,
|
||||
.ui.primary.button:hover,
|
||||
.ui.primary.buttons .button:hover {
|
||||
background-color: var(--color-primary-hover) !important;
|
||||
color: var(--color-primary-contrast) !important;
|
||||
}
|
||||
|
||||
.ui.primary.label {
|
||||
background-color: var(--color-primary-bg) !important;
|
||||
border-color: var(--color-primary-bg) !important;
|
||||
color: var(--color-primary) !important;
|
||||
}
|
||||
|
||||
/* Primary Checkboxes */
|
||||
.ui.checkbox input[type="checkbox"] {
|
||||
display: none
|
||||
}
|
||||
.ui.checkbox input[type="checkbox"] + label::before {
|
||||
content: "";
|
||||
width: 1.4rem;
|
||||
height: 1.4rem;
|
||||
top: -0.1rem;
|
||||
left: -2.1rem;
|
||||
-webkit-mask: var(--icon-minus-quare-line-duotone) no-repeat;
|
||||
mask: var(--icon-minus-quare-line-duotone) no-repeat;
|
||||
-webkit-mask-size: 100% 100%;
|
||||
mask-size: 100% 100%;
|
||||
background-color: currentColor;
|
||||
color: var(--color-primary-text);
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.ui.checkbox input[type="checkbox"]:checked {
|
||||
display: none
|
||||
}
|
||||
.ui.checkbox input[type="checkbox"]:checked + label::before {
|
||||
content: "";
|
||||
width: 1.4rem;
|
||||
height: 1.4rem;
|
||||
top: -0.1rem;
|
||||
left: -2.1rem;
|
||||
-webkit-mask: var(--icon-check-square-bold) no-repeat;
|
||||
mask: var(--icon-check-square-bold) no-repeat;
|
||||
-webkit-mask-size: 100% 100%;
|
||||
mask-size: 100% 100%;
|
||||
background-color: currentColor;
|
||||
color: var(--color-primary-text);
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
/* Tabs */
|
||||
.ui.secondary.pointing.menu .active.item,
|
||||
.ui.secondary.pointing.menu .active.item:hover,
|
||||
.ui.secondary.pointing.menu .active.item:focus,
|
||||
.ui.secondary.pointing.menu .dropdown.item:hover,
|
||||
.ui.secondary.pointing.menu .dropdown.item:focus {
|
||||
color: var(--color-primary-text);
|
||||
}
|
||||
|
||||
/* (from arc-green)
|
||||
* 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);
|
||||
}
|
||||
|
||||
/* Code syntax highlighting. */
|
||||
.tag-code .code-inner {
|
||||
opacity: .5;
|
||||
}
|
||||
|
||||
.same-code .lines-num.lines-num-old,
|
||||
.same-code .lines-num.lines-num-new {
|
||||
color: var(--color-text-light-3) !important;
|
||||
}
|
||||
|
||||
.add-code .lines-num.lines-num-old,
|
||||
.add-code .lines-num.lines-num-new {
|
||||
background-color: var(--color-diff-added-row-linesnum-bg);
|
||||
color: var(--color-text-dark-2) !important;
|
||||
}
|
||||
|
||||
.del-code .lines-num.lines-num-old,
|
||||
.diff-unified .del-code .lines-num.lines-num-old,
|
||||
.del-code .lines-num.lines-num-new {
|
||||
background-color: var(--color-diff-removed-row-linesnum-bg);
|
||||
color: var(--color-text-dark-2) !important;
|
||||
}
|
||||
|
||||
.repository .diff-file-box .file-body.file-code table tbody tr.add-code:hover .lines-num,
|
||||
.repository .diff-file-box .file-body.file-code table tbody tr.del-code:hover .lines-num,
|
||||
.repository .diff-file-box .file-body.file-code table tbody tr.same-code:hover .lines-num,
|
||||
.repository .diff-file-box .file-body.file-code table tbody .diff-unified tr:hover .del-code .lines-num {
|
||||
color: var(--color-text-dark) !important;
|
||||
}
|
||||
|
||||
.repository .diff-file-box .file-body.file-code table tbody tr.same-code:hover .lines-num {
|
||||
color: var(--color-text-dark-2) !important;
|
||||
}
|
||||
|
||||
.repository .diff-file-box .file-body.file-code table tbody tr.same-code:hover .lines-code,
|
||||
.repository .diff-file-box .file-body.file-code table tbody tr.same-code:hover .lines-num,
|
||||
.repository .diff-file-box .file-body.file-code table tbody tr.same-code:hover .lines-type-marker {
|
||||
background-color: var(--color-code-line-bg-hover) !important;
|
||||
}
|
||||
|
||||
/* From web_src/less/themes/chroma/dark.less */
|
||||
:root {
|
||||
--color-syntax-NameBuiltinPseudo: #fabd2f;
|
||||
--color-syntax-Comment: #777e94;
|
||||
--color-syntax-CommentSingle: #777e94;
|
||||
--color-syntax-CommentHashbang: #777e94;
|
||||
--color-syntax-CommentMultiline: #777e94;
|
||||
--color-syntax-CommentPreproc: #8ec07c;
|
||||
--color-syntax-CommentPreprocFile: #649bc4;
|
||||
--color-syntax-CommentSpecial: #9075cd;
|
||||
--color-syntax-LiteralStringDelimiter: #649bc4;
|
||||
|
||||
--color-syntax-GenericDeleted-text: #fff;
|
||||
--color-syntax-GenericDeleted-bg: #5f3737;
|
||||
--color-syntax-GenericEmph: #ddee30;
|
||||
--color-syntax-GenericHeading: #ffaa10;
|
||||
--color-syntax-GenericInserted-text: #fff;
|
||||
--color-syntax-GenericInserted-bg: #3a523a;
|
||||
--color-syntax-GenericOutput: #777e94;
|
||||
--color-syntax-GenericPrompt: #ebdbb2;
|
||||
--color-syntax-GenericError: #ff4433;
|
||||
--color-syntax-GenericStrong: #ebdbb2;
|
||||
--color-syntax-GenericTraceback: #ff7540;
|
||||
--color-syntax-GenericSubheading: #b8bb26;
|
||||
--color-syntax-LineHighlight: #3f424d;
|
||||
--color-syntax-LiteralNumberIntegerLong: #649bc4;
|
||||
--color-syntax-Keyword: #f47067;
|
||||
--color-syntax-KeywordConstant: #649bc4;
|
||||
--color-syntax-KeywordDeclaration: #ff7540;
|
||||
--color-syntax-KeywordNamespace: #ffaa10;
|
||||
--color-syntax-KeywordPseudo: #5f8700;
|
||||
--color-syntax-KeywordReserved: #ff7540;
|
||||
--color-syntax-KeywordType: #fabd2f;
|
||||
--color-syntax-LineNumbers: #7f8699;
|
||||
--color-syntax-LineNumbersTable: #7f8699;
|
||||
--color-syntax-LiteralNumber: #649bc4;
|
||||
--color-syntax-LiteralNumberBin: #649bc4;
|
||||
--color-syntax-LiteralNumberFloat: #649bc4;
|
||||
--color-syntax-LiteralNumberHex: #649bc4;
|
||||
--color-syntax-LiteralNumberInteger: #649bc4;
|
||||
--color-syntax-LiteralNumberOct: #649bc4;
|
||||
--color-syntax-Name: #adbac7;
|
||||
--color-syntax-NameAttribute: #b8bb26;
|
||||
--color-syntax-NameBuiltin: #fabd2f;
|
||||
--color-syntax-NameClass: #f69d50;
|
||||
--color-syntax-NameDecorator: #dcbdfb;
|
||||
--color-syntax-NameException: #ff7540;
|
||||
--color-syntax-NameFunction: #dcbdfb;
|
||||
--color-syntax-NameEntity: #fabd2f;
|
||||
--color-syntax-NameLabel: #ff7540;
|
||||
--color-syntax-NameNamespace: #ffaa10;
|
||||
--color-syntax-NameConstant: #649bc4;
|
||||
--color-syntax-NameTag: #ff7540;
|
||||
--color-syntax-NameVariable: #ebdbb2;
|
||||
--color-syntax-NameOther: #b6bac5;
|
||||
--color-syntax-Operator: #6cb6ff;
|
||||
--color-syntax-OperatorWord: #6cb6ff;
|
||||
--color-syntax-Punctuation: #d2d4db;
|
||||
--color-syntax-LiteralString: #b8bb26;
|
||||
--color-syntax-LiteralStringSingle: #96d0ff;
|
||||
--color-syntax-LiteralStringDouble: #96d0ff;
|
||||
--color-syntax-LiteralStringAffix: #649bc4;
|
||||
--color-syntax-LiteralStringBacktick: #b8bb26;
|
||||
--color-syntax-LiteralStringChar: #649bc4;
|
||||
--color-syntax-LiteralStringDoc: #777e94;
|
||||
--color-syntax-LiteralStringEscape: #ff7540;
|
||||
--color-syntax-LiteralStringHeredoc: #649bc4;
|
||||
--color-syntax-LiteralStringInterpol: #ffaa10;
|
||||
--color-syntax-LiteralStringRegex: #9075cd;
|
||||
--color-syntax-LiteralStringSymbol: #ff7540;
|
||||
--color-syntax-LiteralStringOther: #ffaa10;
|
||||
--color-syntax-NameVariableClass: #ff7540;
|
||||
--color-syntax-NameVariableGlobal: #ffaa10;
|
||||
--color-syntax-NameVariableInstance: #ffaa10;
|
||||
--color-syntax-TextWhitespace: #7f8699;
|
||||
}
|
||||
|
||||
.chroma .bp { color: var(--color-syntax-NameBuiltinPseudo) } /* NameBuiltinPseudo */
|
||||
.chroma .c { color: var(--color-syntax-Comment) } /* Comment */
|
||||
.chroma .c1 { color: var(--color-syntax-CommentSingle) } /* CommentSingle */
|
||||
.chroma .ch { color: var(--color-syntax-CommentHashbang) } /* CommentHashbang */
|
||||
.chroma .cm { color: var(--color-syntax-CommentMultiline) } /* CommentMultiline */
|
||||
.chroma .cp { color: var(--color-syntax-CommentPreproc) } /* CommentPreproc */
|
||||
.chroma .cpf { color: var(--color-syntax-CommentPreprocFile) } /* CommentPreprocFile */
|
||||
.chroma .cs { color: var(--color-syntax-CommentSpecial) } /* CommentSpecial */
|
||||
.chroma .dl { color: var(--color-syntax-LiteralStringDelimiter) } /* LiteralStringDelimiter */
|
||||
.chroma .gd { color: var(--color-syntax-GenericDeleted-text); background-color: var(--color-syntax-GenericDeleted-bg); } /* GenericDeleted */
|
||||
.chroma .ge { color: var(--color-syntax-GenericEmph); } /* GenericEmph */
|
||||
.chroma .gh { color: var(--color-syntax-GenericHeading); } /* GenericHeading */
|
||||
.chroma .gi { color: var(--color-syntax-GenericInserted-text); background-color: var(--color-syntax-GenericInserted-bg); } /* GenericInserted */
|
||||
.chroma .go { color: var(--color-syntax-GenericOutput); } /* GenericOutput */
|
||||
.chroma .gp { color: var(--color-syntax-GenericPrompt); } /* GenericPrompt */
|
||||
.chroma .gr { color: var(--color-syntax-GenericError); } /* GenericError */
|
||||
.chroma .gs { color: var(--color-syntax-GenericStrong); } /* GenericStrong */
|
||||
.chroma .gt { color: var(--color-syntax-GenericTraceback); } /* GenericTraceback */
|
||||
.chroma .gu { color: var(--color-syntax-GenericSubheading); } /* GenericSubheading */
|
||||
.chroma .hl { background-color: var(--color-syntax-LineHighlight); } /* LineHighlight */
|
||||
.chroma .il { color: var(--color-syntax-LiteralNumberIntegerLong); } /* LiteralNumberIntegerLong */
|
||||
.chroma .k { color: var(--color-syntax-Keyword); } /* Keyword */
|
||||
.chroma .kc { color: var(--color-syntax-KeywordConstant); } /* KeywordConstant */
|
||||
.chroma .kd { color: var(--color-syntax-KeywordDeclaration); } /* KeywordDeclaration */
|
||||
.chroma .kn { color: var(--color-syntax-KeywordNamespace); } /* KeywordNamespace */
|
||||
.chroma .kp { color: var(--color-syntax-KeywordPseudo); } /* KeywordPseudo */
|
||||
.chroma .kr { color: var(--color-syntax-KeywordReserved); } /* KeywordReserved */
|
||||
.chroma .kt { color: var(--color-syntax-KeywordType); } /* KeywordType */
|
||||
.chroma .ln { color: var(--color-syntax-LineNumbers); } /* LineNumbers */
|
||||
.chroma .lnt { color: var(--color-syntax-LineNumbersTable); } /* LineNumbersTable */
|
||||
.chroma .m { color: var(--color-syntax-LiteralNumber); } /* LiteralNumber */
|
||||
.chroma .mb { color: var(--color-syntax-LiteralNumberBin); } /* LiteralNumberBin */
|
||||
.chroma .mf { color: var(--color-syntax-LiteralNumberFloat); } /* LiteralNumberFloat */
|
||||
.chroma .mh { color: var(--color-syntax-LiteralNumberHex); } /* LiteralNumberHex */
|
||||
.chroma .mi { color: var(--color-syntax-LiteralNumberInteger); } /* LiteralNumberInteger */
|
||||
.chroma .mo { color: var(--color-syntax-LiteralNumberOct); } /* LiteralNumberOct */
|
||||
.chroma .n { color: var(--color-syntax-Name); } /* Name */
|
||||
.chroma .na { color: var(--color-syntax-NameAttribute); } /* NameAttribute */
|
||||
.chroma .nb { color: var(--color-syntax-NameBuiltin); } /* NameBuiltin */
|
||||
.chroma .nc { color: var(--color-syntax-NameClass); } /* NameClass */
|
||||
.chroma .nd { color: var(--color-syntax-NameDecorator); } /* NameDecorator */
|
||||
.chroma .ne { color: var(--color-syntax-NameException); } /* NameException */
|
||||
.chroma .nf { color: var(--color-syntax-NameFunction); } /* NameFunction */
|
||||
.chroma .ni { color: var(--color-syntax-NameEntity); } /* NameEntity */
|
||||
.chroma .nl { color: var(--color-syntax-NameLabel); } /* NameLabel */
|
||||
.chroma .nn { color: var(--color-syntax-NameNamespace); } /* NameNamespace */
|
||||
.chroma .no { color: var(--color-syntax-NameConstant); } /* NameConstant */
|
||||
.chroma .nt { color: var(--color-syntax-NameTag); } /* NameTag */
|
||||
.chroma .nv { color: var(--color-syntax-NameVariable); } /* NameVariable */
|
||||
.chroma .nx { color: var(--color-syntax-NameOther); } /* NameOther */
|
||||
.chroma .o { color: var(--color-syntax-Operator); } /* Operator */
|
||||
.chroma .ow { color: var(--color-syntax-OperatorWord); } /* OperatorWord */
|
||||
.chroma .p { color: var(--color-syntax-Punctuation); } /* Punctuation */
|
||||
.chroma .s { color: var(--color-syntax-LiteralString); } /* LiteralString */
|
||||
.chroma .s1 { color: var(--color-syntax-LiteralStringSingle); } /* LiteralStringSingle */
|
||||
.chroma .s2 { color: var(--color-syntax-LiteralStringDouble); } /* LiteralStringDouble */
|
||||
.chroma .sa { color: var(--color-syntax-LiteralStringAffix); } /* LiteralStringAffix */
|
||||
.chroma .sb { color: var(--color-syntax-LiteralStringBacktick); } /* LiteralStringBacktick */
|
||||
.chroma .sc { color: var(--color-syntax-LiteralStringChar); } /* LiteralStringChar */
|
||||
.chroma .sd { color: var(--color-syntax-LiteralStringDoc); } /* LiteralStringDoc */
|
||||
.chroma .se { color: var(--color-syntax-LiteralStringEscape); } /* LiteralStringEscape */
|
||||
.chroma .sh { color: var(--color-syntax-LiteralStringHeredoc); } /* LiteralStringHeredoc */
|
||||
.chroma .si { color: var(--color-syntax-LiteralStringInterpol); } /* LiteralStringInterpol */
|
||||
.chroma .sr { color: var(--color-syntax-LiteralStringRegex); } /* LiteralStringRegex */
|
||||
.chroma .ss { color: var(--color-syntax-LiteralStringSymbol); } /* LiteralStringSymbol */
|
||||
.chroma .sx { color: var(--color-syntax-LiteralStringOther); } /* LiteralStringOther */
|
||||
.chroma .vc { color: var(--color-syntax-NameVariableClass); } /* NameVariableClass */
|
||||
.chroma .vg { color: var(--color-syntax-NameVariableGlobal); } /* NameVariableGlobal */
|
||||
.chroma .vi { color: var(--color-syntax-NameVariableInstance); } /* NameVariableInstance */
|
||||
.chroma .w { color: var(--color-syntax-TextWhitespace); } /* TextWhitespace */
|
||||
|
||||
/* From web_src/less/codemirror/dark.less */
|
||||
.CodeMirror.cm-s-default .cm-property, .CodeMirror.cm-s-paper .cm-property {
|
||||
color: #a0cc75;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-header, .CodeMirror.cm-s-paper .cm-header {
|
||||
color: #9daccc;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-quote, .CodeMirror.cm-s-paper .cm-quote {
|
||||
color: #009900;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-keyword, .CodeMirror.cm-s-paper .cm-keyword {
|
||||
color: #cc8a61;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-atom, .CodeMirror.cm-s-paper .cm-atom {
|
||||
color: #ef5e77;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-number, .CodeMirror.cm-s-paper .cm-number {
|
||||
color: #ff5656;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-def, .CodeMirror.cm-s-paper .cm-def {
|
||||
color: #e4e4e4;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-variable-2, .CodeMirror.cm-s-paper .cm-variable-2 {
|
||||
color: #00bdbf;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-variable-3, .CodeMirror.cm-s-paper .cm-variable-3 {
|
||||
color: #008855;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-comment, .CodeMirror.cm-s-paper .cm-comment {
|
||||
color: #8e9ab3;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-string, .CodeMirror.cm-s-paper .cm-string {
|
||||
color: #a77272;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-string-2, .CodeMirror.cm-s-paper .cm-string-2 {
|
||||
color: #ff5500;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-meta, .CodeMirror.cm-s-default .cm-qualifier, .CodeMirror.cm-s-paper .cm-meta, .CodeMirror.cm-s-paper .cm-qualifier {
|
||||
color: #ffb176;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-builtin, .CodeMirror.cm-s-paper .cm-builtin {
|
||||
color: #b7c951;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-bracket, .CodeMirror.cm-s-paper .cm-bracket {
|
||||
color: #999977;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-tag, .CodeMirror.cm-s-paper .cm-tag {
|
||||
color: #f1d273;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-attribute, .CodeMirror.cm-s-paper .cm-attribute {
|
||||
color: #bfcc70;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-hr, .CodeMirror.cm-s-paper .cm-hr {
|
||||
color: #999999;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-url, .CodeMirror.cm-s-paper .cm-url {
|
||||
color: #c5cfd0;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-link, .CodeMirror.cm-s-paper .cm-link {
|
||||
color: #d8c792;
|
||||
}
|
||||
.CodeMirror.cm-s-default .cm-error, .CodeMirror.cm-s-paper .cm-error {
|
||||
color: #dbdbeb;
|
||||
}
|
||||
@@ -20,8 +20,8 @@ in {
|
||||
default = true;
|
||||
};
|
||||
assets = mkOption {
|
||||
type = attrsOf anything;
|
||||
default = {};
|
||||
type = nullOr path;
|
||||
default = null;
|
||||
};
|
||||
options = {
|
||||
label = mkOption {
|
||||
@@ -57,30 +57,8 @@ in {
|
||||
default = {};
|
||||
};
|
||||
};
|
||||
templates = {
|
||||
header = mkOption {
|
||||
type = nullOr fileType;
|
||||
default = null;
|
||||
};
|
||||
home = mkOption {
|
||||
type = nullOr fileType;
|
||||
default = null;
|
||||
};
|
||||
};
|
||||
logo.svg = mkOption {
|
||||
type = nullOr fileType;
|
||||
default = null;
|
||||
};
|
||||
logo.png = mkOption {
|
||||
type = nullOr fileType;
|
||||
default = null;
|
||||
};
|
||||
favicon.svg = mkOption {
|
||||
type = nullOr fileType;
|
||||
default = null;
|
||||
};
|
||||
favicon.png = mkOption {
|
||||
type = nullOr fileType;
|
||||
templates = mkOption {
|
||||
type = nullOr path;
|
||||
default = null;
|
||||
};
|
||||
theme = mkOption {
|
||||
@@ -118,29 +96,14 @@ in {
|
||||
optionsDir = "${forgejoConfig.customDir}/options";
|
||||
in
|
||||
{
|
||||
"${assetsDir}/img/logo.svg" =
|
||||
mkIf (!(isNull customization.logo.svg))
|
||||
(fileTypeToHomeFile customization.logo.svg);
|
||||
|
||||
"${assetsDir}/img/logo.png" =
|
||||
mkIf (!(isNull customization.logo.png))
|
||||
(fileTypeToHomeFile customization.logo.png);
|
||||
|
||||
"${assetsDir}/img/favicon.svg" =
|
||||
mkIf (!(isNull customization.favicon.svg))
|
||||
(fileTypeToHomeFile customization.favicon.svg);
|
||||
|
||||
"${assetsDir}/img/favicon.png" =
|
||||
mkIf (!(isNull customization.favicon.png))
|
||||
(fileTypeToHomeFile customization.favicon.png);
|
||||
|
||||
"${templatesDir}/custom/header.tmpl" =
|
||||
mkIf (!(isNull customization.templates.header))
|
||||
(fileTypeToHomeFile customization.templates.header);
|
||||
|
||||
"${templatesDir}/home.tmpl" =
|
||||
mkIf (!(isNull customization.templates.home))
|
||||
(fileTypeToHomeFile customization.templates.home);
|
||||
"${assetsDir}" = mkIf (!(isNull cfg.assets)) {
|
||||
source = cfg.assets;
|
||||
recursive = true;
|
||||
};
|
||||
"${templatesDir}" = mkIf (!(isNull cfg.templates)) {
|
||||
source = cfg.templates;
|
||||
recursive = true;
|
||||
};
|
||||
}
|
||||
// (lib.attrsets.mapAttrs'
|
||||
(ln: lv:
|
||||
@@ -161,9 +124,6 @@ in {
|
||||
};
|
||||
})
|
||||
customization.options.label)
|
||||
// (lib.attrsets.mapAttrs'
|
||||
(n: v: lib.attrsets.nameValuePair "${assetsDir}/${n}" v)
|
||||
customization.assets)
|
||||
// (
|
||||
if (!(isNull customization.theme))
|
||||
then
|
||||
|
||||
Reference in New Issue
Block a user