mirror of
https://github.com/caiwx86/small-packages.git
synced 2026-10-31 11:15:13 +08:00
update 2026-09-24 16:56:26
This commit is contained in:
1 parent
b31a5c3878
commit
e4cee331e9
6885 files changed
+3240523
No files matched your search
@@ -0,0 +1,2 @@
|
||||
/etc/aurora/device.key
|
||||
/etc/aurora/device.hash
|
||||
@@ -0,0 +1,135 @@
|
||||
#!/bin/sh
|
||||
|
||||
readonly CONF_FILE="/etc/config/aurora"
|
||||
readonly DEFAULT_TEMPLATE="/usr/share/aurora/default.template"
|
||||
readonly SAGE_GREEN_TEMPLATE="/usr/share/aurora/sage-green.template"
|
||||
readonly AMBER_SAND_TEMPLATE="/usr/share/aurora/amber-sand.template"
|
||||
readonly MONOCHROME_TEMPLATE="/usr/share/aurora/monochrome.template"
|
||||
readonly SKY_BLUE_TEMPLATE="/usr/share/aurora/sky-blue.template"
|
||||
readonly LOG_TAG="aurora"
|
||||
|
||||
# Bump when the meaning of stored color tokens changes incompatibly.
|
||||
# v2: two-layer flip -- light_/dark_ status inputs (success/info/warning/danger)
|
||||
# went from "light surface" to "dark content", surfaces derived via
|
||||
# oklch(from var(--token) ...). Pre-flip snapshots leave content the same
|
||||
# colour as the derived surface -> invisible label text and icons.
|
||||
# v3: fixes a re-seed bug in v2 that left ~14 colour keys empty (a nested
|
||||
# command substitution inside a pipe-fed `while read` swallowed stdin and
|
||||
# skipped keys). v3 re-runs a corrected re-seed, so devices stuck at v2
|
||||
# with a half-migrated config are repaired.
|
||||
# v4: single-plane token redesign. The two-layer taxonomy (canvas/content/
|
||||
# surface_raised + ~57 derived expression tokens) is gone. The schema is now
|
||||
# 10 editable inputs (canvas->bg, content->text, surface_raised dropped) plus
|
||||
# 20 engine-derived flat colours. The re-seed prunes EVERY legacy light_/dark_
|
||||
# key absent from the new template, clearing stale overrides that header.ut
|
||||
# would otherwise inject against now-nonexistent CSS variables. Custom colours
|
||||
# reset to the active template defaults (no value mapping).
|
||||
# v5: broad config rework. Stored values are no longer migrated key-by-key --
|
||||
# any schema mismatch triggers a full reset: the live config is overwritten
|
||||
# wholesale with the active template. ALL prior customisation (colours,
|
||||
# fonts, toolbar items, nav mode, icon, logo/favicon) is discarded so every
|
||||
# upgraded device lands on the new defaults.
|
||||
# v6: link now defaults to the brand colour in both modes (aurora-tokens
|
||||
# 1.0.1). Seeded v5 snapshots still carry the legacy magenta/teal link,
|
||||
# which header.ut would keep injecting over the new CSS defaults; per the
|
||||
# v5 policy the mismatch triggers a full reset to the active template.
|
||||
# v7: light-mode relight to the "snow x blue hour" palette (aurora-tokens
|
||||
# 1.1.0, refined in 1.2.x: icy recessed fills, snow panel, control_bg
|
||||
# + app_opacity_disabled): cool 235deg neutrals, purified status hues
|
||||
# and a cool blue-black menu scrim. Seeded v6 snapshots carry the old
|
||||
# 264deg purple-grey light tokens, which header.ut would keep injecting
|
||||
# over the new CSS defaults; per the v5 policy the mismatch triggers a
|
||||
# full reset to the active template.
|
||||
readonly SCHEMA_VERSION="7"
|
||||
|
||||
log() {
|
||||
logger -t "$LOG_TAG" "$1"
|
||||
}
|
||||
|
||||
# Rename struct_container_max_width -> struct_content_width_centered, in place.
|
||||
#
|
||||
# Deliberately NOT a SCHEMA_VERSION bump: that triggers a full reset to the
|
||||
# template (see the v5 policy above) and is reserved for incompatible *colour*
|
||||
# semantics. A rename changes no meaning, so discarding every other
|
||||
# customisation to accomplish it would be gratuitous.
|
||||
#
|
||||
# The width cap only ever applied to the centred (top-bar) layouts — the
|
||||
# sidebar shell runs full-width — so the key was renamed to say which shell it
|
||||
# governs. The old key must be deleted, not merely copied: header.ut re-emits
|
||||
# every stored struct_* key as a CSS custom property, so leaving it behind would
|
||||
# keep injecting a --container-max-width that nothing reads.
|
||||
migrate_structure_keys() {
|
||||
local old
|
||||
|
||||
old=$(uci -q get aurora.theme.struct_container_max_width)
|
||||
[ -n "$old" ] || return 0
|
||||
|
||||
[ -n "$(uci -q get aurora.theme.struct_content_width_centered)" ] ||
|
||||
uci -q set aurora.theme.struct_content_width_centered="$old"
|
||||
uci -q delete aurora.theme.struct_container_max_width
|
||||
uci -q commit aurora
|
||||
log "Renamed struct_container_max_width -> struct_content_width_centered (${old})"
|
||||
}
|
||||
|
||||
# Reset the whole config to the active template. Used when the stored schema
|
||||
# version does not match: rather than migrating individual keys, the entire
|
||||
# config is overwritten so no stale options survive.
|
||||
migrate_color_schema() {
|
||||
local template="$1" stored
|
||||
|
||||
stored=$(uci -q get aurora.theme.config_version)
|
||||
[ "$stored" = "$SCHEMA_VERSION" ] && return 0
|
||||
|
||||
log "Schema changed (was '${stored:-unset}'); resetting config to template defaults"
|
||||
if cp "$template" "$CONF_FILE"; then
|
||||
chmod 644 "$CONF_FILE"
|
||||
uci -q set aurora.theme.config_version="$SCHEMA_VERSION"
|
||||
uci -q commit aurora
|
||||
log "Config reset to schema v$SCHEMA_VERSION complete"
|
||||
else
|
||||
log "Config reset failed; leaving existing config untouched"
|
||||
fi
|
||||
}
|
||||
|
||||
main() {
|
||||
log "Initializing Aurora theme configuration"
|
||||
|
||||
template=""
|
||||
if [ -f "$DEFAULT_TEMPLATE" ]; then
|
||||
template="$DEFAULT_TEMPLATE"
|
||||
elif [ -f "$SAGE_GREEN_TEMPLATE" ]; then
|
||||
template="$SAGE_GREEN_TEMPLATE"
|
||||
elif [ -f "$AMBER_SAND_TEMPLATE" ]; then
|
||||
template="$AMBER_SAND_TEMPLATE"
|
||||
elif [ -f "$MONOCHROME_TEMPLATE" ]; then
|
||||
template="$MONOCHROME_TEMPLATE"
|
||||
elif [ -f "$SKY_BLUE_TEMPLATE" ]; then
|
||||
template="$SKY_BLUE_TEMPLATE"
|
||||
fi
|
||||
|
||||
if [ -z "$template" ]; then
|
||||
log "Template missing: $DEFAULT_TEMPLATE, $SAGE_GREEN_TEMPLATE, $AMBER_SAND_TEMPLATE, $MONOCHROME_TEMPLATE, $SKY_BLUE_TEMPLATE"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! -f "$CONF_FILE" ]; then
|
||||
if cp "$template" "$CONF_FILE"; then
|
||||
chmod 644 "$CONF_FILE"
|
||||
uci -q set aurora.theme.config_version="$SCHEMA_VERSION"
|
||||
uci -q commit aurora
|
||||
log "First-time initialization: Config created from template at schema v$SCHEMA_VERSION"
|
||||
else
|
||||
log "Failed to create config from template"
|
||||
fi
|
||||
else
|
||||
log "Configuration already exists, checking colour token schema"
|
||||
migrate_color_schema "$template"
|
||||
# After a reset the config already matches the template, so this is a
|
||||
# no-op; it only does work for configs that survived the check above.
|
||||
migrate_structure_keys
|
||||
fi
|
||||
}
|
||||
|
||||
main
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Font system v2 migration: the font cache under /www is runtime state the
|
||||
# package never ships, so upgrades from the v1 pipeline must regenerate the
|
||||
# combined CSS (dropping the old remote @import fallback) and clear cache
|
||||
# files for presets that no longer exist. Idempotent no-op on fresh installs
|
||||
# and on already-migrated systems.
|
||||
|
||||
readonly RPCD_SCRIPT="/usr/libexec/rpcd/luci.aurora"
|
||||
|
||||
if [ -x "$RPCD_SCRIPT" ]; then
|
||||
logger -t aurora "Running font cache migration"
|
||||
"$RPCD_SCRIPT" migrate-fonts || logger -t aurora "Font cache migration failed"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
+3933
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,94 @@
|
||||
config aurora 'theme'
|
||||
option light_bg '#faf9f5'
|
||||
option light_surface '#faf9f5'
|
||||
option light_text '#3d3929'
|
||||
option light_brand '#c96442'
|
||||
option light_on_brand '#fff'
|
||||
option light_link '#c96442'
|
||||
option light_info '#0e5794'
|
||||
option light_warning '#653e00'
|
||||
option light_success '#00523c'
|
||||
option light_danger '#8d1925'
|
||||
option light_text_muted '#7f7c70'
|
||||
option light_text_subtle '#9a978c'
|
||||
option light_surface_sunken '#f8f7f3'
|
||||
option light_surface_overlay '#fffefa'
|
||||
option light_hairline '#3d392921'
|
||||
option light_hover_faint '#f0eeea'
|
||||
option light_brand_hover '#b55230'
|
||||
option light_brand_subtle '#f6e7df'
|
||||
option light_brand_subtle_hover '#e9dad2'
|
||||
option light_focus_ring '#c9644299'
|
||||
option light_progress_start '#dd9880'
|
||||
option light_progress_end '#c96442'
|
||||
option light_info_surface '#d8f0ff'
|
||||
option light_warning_surface '#ffecd2'
|
||||
option light_success_surface '#d5f8e9'
|
||||
option light_danger_surface '#ffe6e4'
|
||||
option light_danger_surface_hover '#f9d9d7'
|
||||
option light_control_bg '#fffefa'
|
||||
option light_scrim '#0009'
|
||||
option light_mega_menu_bg '#f7f6f0'
|
||||
option light_mega_menu_scrim '#0d1c2a61'
|
||||
option dark_bg '#262624'
|
||||
option dark_surface '#30302e'
|
||||
option dark_text '#c3c0b6'
|
||||
option dark_brand '#d97757'
|
||||
option dark_on_brand '#000'
|
||||
option dark_link '#d97757'
|
||||
option dark_info '#8dc1ff'
|
||||
option dark_warning '#f0ba59'
|
||||
option dark_success '#51bd85'
|
||||
option dark_danger '#f17070'
|
||||
option dark_text_muted '#83817a'
|
||||
option dark_text_subtle '#63625d'
|
||||
option dark_surface_sunken '#252523'
|
||||
option dark_surface_overlay '#353533'
|
||||
option dark_hairline '#c3c0b61a'
|
||||
option dark_hover_faint '#c3c0b60d'
|
||||
option dark_brand_hover '#c86848'
|
||||
option dark_brand_subtle '#40332c'
|
||||
option dark_brand_subtle_hover '#4b3d37'
|
||||
option dark_focus_ring '#d9775799'
|
||||
option dark_progress_start '#965a45'
|
||||
option dark_progress_end '#d97757'
|
||||
option dark_info_surface '#20344c'
|
||||
option dark_warning_surface '#45310b'
|
||||
option dark_success_surface '#153524'
|
||||
option dark_danger_surface '#541f20'
|
||||
option dark_danger_surface_hover '#602a2a'
|
||||
option dark_control_bg '#252523'
|
||||
option dark_scrim '#0009'
|
||||
option dark_mega_menu_bg '#252523'
|
||||
option dark_mega_menu_scrim '#00000080'
|
||||
option struct_font_sans '"Space Grotesk", "Lato", ui-sans-serif, system-ui, sans-serif'
|
||||
option struct_font_mono '"Fira Code", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace'
|
||||
option struct_spacing '0.25rem'
|
||||
option struct_content_width_centered '96rem'
|
||||
option struct_radius_base '0.375rem'
|
||||
option nav_type 'sidebar'
|
||||
option toolbar_enabled '0'
|
||||
|
||||
config toolbar_item
|
||||
option title 'Overview'
|
||||
option url '/cgi-bin/luci/admin/status/overview'
|
||||
option icon 'overview.svg'
|
||||
option enabled '1'
|
||||
|
||||
config toolbar_item
|
||||
option title 'System'
|
||||
option url '/cgi-bin/luci/admin/system/system'
|
||||
option icon 'system.svg'
|
||||
option enabled '1'
|
||||
|
||||
config toolbar_item
|
||||
option title 'Software'
|
||||
option url '/cgi-bin/luci/admin/system/package-manager'
|
||||
option icon 'software.svg'
|
||||
option enabled '0'
|
||||
|
||||
config toolbar_item
|
||||
option title 'Network'
|
||||
option url '/cgi-bin/luci/admin/network/network'
|
||||
option icon 'network.svg'
|
||||
option enabled '1'
|
||||
@@ -0,0 +1,35 @@
|
||||
# GENERATED by @eamonxg/luci-theme-tokens v2.0.0 -- DO NOT EDIT.
|
||||
# Ordered color token keys: 10 editable inputs, then 21 engine-derived
|
||||
# tokens. Read at runtime by /usr/libexec/rpcd/luci.aurora for preset and
|
||||
# import validation; each key exists as light_<key> and dark_<key> in UCI.
|
||||
bg
|
||||
surface
|
||||
text
|
||||
brand
|
||||
on_brand
|
||||
link
|
||||
info
|
||||
warning
|
||||
success
|
||||
danger
|
||||
text_muted
|
||||
text_subtle
|
||||
surface_sunken
|
||||
surface_overlay
|
||||
hairline
|
||||
hover_faint
|
||||
brand_hover
|
||||
brand_subtle
|
||||
brand_subtle_hover
|
||||
focus_ring
|
||||
progress_start
|
||||
progress_end
|
||||
info_surface
|
||||
warning_surface
|
||||
success_surface
|
||||
danger_surface
|
||||
danger_surface_hover
|
||||
control_bg
|
||||
scrim
|
||||
mega_menu_bg
|
||||
mega_menu_scrim
|
||||
@@ -0,0 +1,101 @@
|
||||
config aurora 'theme'
|
||||
option light_bg '#f7fafc'
|
||||
option light_surface '#fff'
|
||||
option light_text '#121a22'
|
||||
option light_brand '#0086bf'
|
||||
option light_on_brand '#fff'
|
||||
option light_link '#0086bf'
|
||||
option light_info '#0e5794'
|
||||
option light_warning '#653e00'
|
||||
option light_success '#00523c'
|
||||
option light_danger '#8d1925'
|
||||
option light_text_muted '#5f666d'
|
||||
option light_text_subtle '#7f858b'
|
||||
option light_surface_sunken '#f4f7fa'
|
||||
option light_surface_overlay '#fcffff'
|
||||
option light_hairline '#121a2221'
|
||||
option light_hover_faint '#ebeff2'
|
||||
option light_brand_hover '#0074ac'
|
||||
option light_brand_subtle '#dfecf5'
|
||||
option light_brand_subtle_hover '#d1dfe8'
|
||||
option light_focus_ring '#0186bf99'
|
||||
option light_progress_start '#70aed5'
|
||||
option light_progress_end '#0086bf'
|
||||
option light_info_surface '#d8f0ff'
|
||||
option light_warning_surface '#ffecd2'
|
||||
option light_success_surface '#d5f8e9'
|
||||
option light_danger_surface '#ffe6e4'
|
||||
option light_danger_surface_hover '#f9d9d7'
|
||||
option light_control_bg '#fcffff'
|
||||
option light_scrim '#0009'
|
||||
option light_mega_menu_bg '#f1f7fb'
|
||||
option light_mega_menu_scrim '#0d1c2a61'
|
||||
option dark_bg '#05070e'
|
||||
option dark_surface '#141822'
|
||||
option dark_text '#f9fafb'
|
||||
option dark_brand '#00978f'
|
||||
option dark_on_brand '#fff'
|
||||
option dark_link '#00978f'
|
||||
option dark_info '#8dc1ff'
|
||||
option dark_warning '#f0ba59'
|
||||
option dark_success '#51bd85'
|
||||
option dark_danger '#f17070'
|
||||
option dark_text_muted '#909297'
|
||||
option dark_text_subtle '#5d6066'
|
||||
option dark_surface_sunken '#0a0e17'
|
||||
option dark_surface_overlay '#191d27'
|
||||
option dark_hairline '#f9fafb1a'
|
||||
option dark_hover_faint '#f9fafb0d'
|
||||
option dark_brand_hover '#008880'
|
||||
option dark_brand_subtle '#0a1a20'
|
||||
option dark_brand_subtle_hover '#142329'
|
||||
option dark_focus_ring '#00978f99'
|
||||
option dark_progress_start '#166262'
|
||||
option dark_progress_end '#00978f'
|
||||
option dark_info_surface '#20344c'
|
||||
option dark_warning_surface '#45310b'
|
||||
option dark_success_surface '#153524'
|
||||
option dark_danger_surface '#541f20'
|
||||
option dark_danger_surface_hover '#602a2a'
|
||||
option dark_control_bg '#0a0e17'
|
||||
option dark_scrim '#0009'
|
||||
option dark_mega_menu_bg '#0a0e17'
|
||||
option dark_mega_menu_scrim '#00000080'
|
||||
option struct_font_sans '"Lato", ui-sans-serif, system-ui, sans-serif'
|
||||
option struct_font_mono 'ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace'
|
||||
option struct_spacing '0.25rem'
|
||||
option struct_content_width_centered '80rem'
|
||||
option struct_radius_base '0.5rem'
|
||||
option nav_type 'mega-menu'
|
||||
option toolbar_enabled '1'
|
||||
option icon_cache_version '0'
|
||||
option logo_svg 'logo.svg'
|
||||
option favicon_png ''
|
||||
option favicon_ico 'favicon.ico'
|
||||
option pwa_apple_touch 'apple-touch-icon.png'
|
||||
option pwa_icon_192 'app-icon-192x192.png'
|
||||
option pwa_icon_512 'app-icon-512x512.png'
|
||||
|
||||
config toolbar_item
|
||||
option title 'Overview'
|
||||
option url '/cgi-bin/luci/admin/status/overview'
|
||||
option icon 'overview.svg'
|
||||
option enabled '1'
|
||||
|
||||
config toolbar_item
|
||||
option title 'System'
|
||||
option url '/cgi-bin/luci/admin/system/system'
|
||||
option icon 'system.svg'
|
||||
option enabled '1'
|
||||
|
||||
config toolbar_item
|
||||
option title 'Software'
|
||||
option url '/cgi-bin/luci/admin/system/package-manager'
|
||||
option icon 'software.svg'
|
||||
option enabled '0'
|
||||
|
||||
config toolbar_item
|
||||
option title 'Network'
|
||||
option url '/cgi-bin/luci/admin/network/network'
|
||||
option icon 'network.svg'
|
||||
option enabled '1'
|
||||
@@ -0,0 +1,4 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEmeGPELx0dsnQ8kRyAy8TiBTHYh+W
|
||||
Uijl8X8KChGCO4XbH5/tbCL4g3lMOIKmu6seXTrt8e9dax/778izh/SBlg==
|
||||
-----END PUBLIC KEY-----
|
||||
@@ -0,0 +1,2 @@
|
||||
untrusted comment: eamonxg OpenWrt feed
|
||||
RWSC1y9e3tthY2KnF6i1bEgtcPK80EyKO3SLnCCjnweqsm5NCwl+rs/a
|
||||
@@ -0,0 +1,31 @@
|
||||
v2|generated-by-gen-font-presets|do-not-edit
|
||||
font|sans|default|Lato|Built-in|Lato|"Lato", ui-sans-serif, system-ui, sans-serif
|
||||
font|sans|system|System UI|System||system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif
|
||||
font|sans|geist-sans|Geist Sans|Fontsource|Geist Sans|"Geist Sans", "Lato", ui-sans-serif, system-ui, sans-serif
|
||||
file|sans|geist-sans|400|e6ef6abb39c762ed2259cc814e6f16888c540cd84835962227b56ab2354f27f1|https://cdn.jsdelivr.net/npm/@fontsource/geist-sans@5.2.5/files/geist-sans-latin-400-normal.woff2|https://registry.npmmirror.com/@fontsource/geist-sans/5.2.5/files/files/geist-sans-latin-400-normal.woff2
|
||||
file|sans|geist-sans|500|40073e90816315c92e4f4381bd50b6fdc950b22b0dd010a4179046cf588d4f12|https://cdn.jsdelivr.net/npm/@fontsource/geist-sans@5.2.5/files/geist-sans-latin-500-normal.woff2|https://registry.npmmirror.com/@fontsource/geist-sans/5.2.5/files/files/geist-sans-latin-500-normal.woff2
|
||||
file|sans|geist-sans|600|9d99fbd791968493fa507ac846de561cee47b00f8100c23cad333b3cb78392d6|https://cdn.jsdelivr.net/npm/@fontsource/geist-sans@5.2.5/files/geist-sans-latin-600-normal.woff2|https://registry.npmmirror.com/@fontsource/geist-sans/5.2.5/files/files/geist-sans-latin-600-normal.woff2
|
||||
file|sans|geist-sans|700|3d59addfafec3452d44717aa0a18911d5c3812487ed06af47f2ef27192ea1eed|https://cdn.jsdelivr.net/npm/@fontsource/geist-sans@5.2.5/files/geist-sans-latin-700-normal.woff2|https://registry.npmmirror.com/@fontsource/geist-sans/5.2.5/files/files/geist-sans-latin-700-normal.woff2
|
||||
font|sans|nunito|Nunito|Fontsource|Nunito|"Nunito", "Lato", ui-sans-serif, system-ui, sans-serif
|
||||
file|sans|nunito|400|a5906e15ceb68f73d3b2c2076b4057c3f6ed401186d56283b45ce12944ca0735|https://cdn.jsdelivr.net/npm/@fontsource/nunito@5.2.7/files/nunito-latin-400-normal.woff2|https://registry.npmmirror.com/@fontsource/nunito/5.2.7/files/files/nunito-latin-400-normal.woff2
|
||||
file|sans|nunito|500|23ae3083dbdaeabf3b9969a3947ddf5d5614683516e28ffa110ca4eb6192a9ff|https://cdn.jsdelivr.net/npm/@fontsource/nunito@5.2.7/files/nunito-latin-500-normal.woff2|https://registry.npmmirror.com/@fontsource/nunito/5.2.7/files/files/nunito-latin-500-normal.woff2
|
||||
file|sans|nunito|600|45f437de32ff5973eb5616b43c1308bf9fe897442f3d78a603c4cd0a06d66573|https://cdn.jsdelivr.net/npm/@fontsource/nunito@5.2.7/files/nunito-latin-600-normal.woff2|https://registry.npmmirror.com/@fontsource/nunito/5.2.7/files/files/nunito-latin-600-normal.woff2
|
||||
file|sans|nunito|700|fa89300b9bbb3bd0f60d6991aa055965d98e2ccca27bf8688fe0c39cdc796846|https://cdn.jsdelivr.net/npm/@fontsource/nunito@5.2.7/files/nunito-latin-700-normal.woff2|https://registry.npmmirror.com/@fontsource/nunito/5.2.7/files/files/nunito-latin-700-normal.woff2
|
||||
font|sans|space-grotesk|Space Grotesk|Fontsource|Space Grotesk|"Space Grotesk", "Lato", ui-sans-serif, system-ui, sans-serif
|
||||
file|sans|space-grotesk|400|65fd17fcbd2e2f522940b5f67ead3d23329e02891aa5495e74d11a499c0b0673|https://cdn.jsdelivr.net/npm/@fontsource/space-grotesk@5.2.10/files/space-grotesk-latin-400-normal.woff2|https://registry.npmmirror.com/@fontsource/space-grotesk/5.2.10/files/files/space-grotesk-latin-400-normal.woff2
|
||||
file|sans|space-grotesk|500|1b1a8131d9edf975d9decee81e2f2bf504812f7a4f498e5500f28a613e22e64c|https://cdn.jsdelivr.net/npm/@fontsource/space-grotesk@5.2.10/files/space-grotesk-latin-500-normal.woff2|https://registry.npmmirror.com/@fontsource/space-grotesk/5.2.10/files/files/space-grotesk-latin-500-normal.woff2
|
||||
file|sans|space-grotesk|600|685bbbf69fa616df1ef81847c85fc76be097ddfb3468ff2257be54511ab3130f|https://cdn.jsdelivr.net/npm/@fontsource/space-grotesk@5.2.10/files/space-grotesk-latin-600-normal.woff2|https://registry.npmmirror.com/@fontsource/space-grotesk/5.2.10/files/files/space-grotesk-latin-600-normal.woff2
|
||||
file|sans|space-grotesk|700|35f8aec56cfd5cbfdb03cc68733a54a0b05bb3617ffcd5fd332badc0b045ca55|https://cdn.jsdelivr.net/npm/@fontsource/space-grotesk@5.2.10/files/space-grotesk-latin-700-normal.woff2|https://registry.npmmirror.com/@fontsource/space-grotesk/5.2.10/files/files/space-grotesk-latin-700-normal.woff2
|
||||
font|mono|default|System Mono|Built-in||ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace
|
||||
font|mono|jetbrains-mono|JetBrains Mono|Fontsource|JetBrains Mono|"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace
|
||||
file|mono|jetbrains-mono|400|14425ba9c695763c1547f48a206b7aa60350a33ae23de09f0407877f3fcd89eb|https://cdn.jsdelivr.net/npm/@fontsource/jetbrains-mono@5.2.8/files/jetbrains-mono-latin-400-normal.woff2|https://registry.npmmirror.com/@fontsource/jetbrains-mono/5.2.8/files/files/jetbrains-mono-latin-400-normal.woff2
|
||||
file|mono|jetbrains-mono|700|d0d4e818808f2a0ba39b2b09d1989366f63494e295f003c7ef436697378507e8|https://cdn.jsdelivr.net/npm/@fontsource/jetbrains-mono@5.2.8/files/jetbrains-mono-latin-700-normal.woff2|https://registry.npmmirror.com/@fontsource/jetbrains-mono/5.2.8/files/files/jetbrains-mono-latin-700-normal.woff2
|
||||
font|mono|maple-mono|Maple Mono|Fontsource|Maple Mono|"Maple Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace
|
||||
file|mono|maple-mono|400|0f900ecac7020d4251bd5b7c963570d998f3dc1cd195e468f7c9d9902e5556a1|https://cdn.jsdelivr.net/npm/@fontsource/maple-mono@5.2.6/files/maple-mono-latin-400-normal.woff2|https://registry.npmmirror.com/@fontsource/maple-mono/5.2.6/files/files/maple-mono-latin-400-normal.woff2
|
||||
file|mono|maple-mono|700|869391b1f3bc7c60206abb5d89bce25504b6809ed638ed5e7695dffd1ff757d8|https://cdn.jsdelivr.net/npm/@fontsource/maple-mono@5.2.6/files/maple-mono-latin-700-normal.woff2|https://registry.npmmirror.com/@fontsource/maple-mono/5.2.6/files/files/maple-mono-latin-700-normal.woff2
|
||||
font|mono|fira-code|Fira Code|Fontsource|Fira Code|"Fira Code", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace
|
||||
file|mono|fira-code|400|6dc9da171ccea71d525379ee1cbf51d143e31acac330a251bb71b3d6060e687c|https://cdn.jsdelivr.net/npm/@fontsource/fira-code@5.2.7/files/fira-code-latin-400-normal.woff2|https://registry.npmmirror.com/@fontsource/fira-code/5.2.7/files/files/fira-code-latin-400-normal.woff2
|
||||
file|mono|fira-code|700|987306692df7c81d1ffa1efc98414dfaae10de5e178cfba8e22e92ad9c872e43|https://cdn.jsdelivr.net/npm/@fontsource/fira-code@5.2.7/files/fira-code-latin-700-normal.woff2|https://registry.npmmirror.com/@fontsource/fira-code/5.2.7/files/files/fira-code-latin-700-normal.woff2
|
||||
font|mono|cascadia-code|Cascadia Code|Fontsource|Cascadia Code|"Cascadia Code", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace
|
||||
file|mono|cascadia-code|400|923fd5a61f1618f4597422b66172d0d8615577f81eb9382724390ec8cb8bfd5d|https://cdn.jsdelivr.net/npm/@fontsource/cascadia-code@5.2.3/files/cascadia-code-latin-400-normal.woff2|https://registry.npmmirror.com/@fontsource/cascadia-code/5.2.3/files/files/cascadia-code-latin-400-normal.woff2
|
||||
file|mono|cascadia-code|700|db2452f9551ba42a0b2b5ef27a3e9438737922fbdaabd71a2446eaf96fe81ad9|https://cdn.jsdelivr.net/npm/@fontsource/cascadia-code@5.2.3/files/cascadia-code-latin-700-normal.woff2|https://registry.npmmirror.com/@fontsource/cascadia-code/5.2.3/files/files/cascadia-code-latin-700-normal.woff2
|
||||
@@ -0,0 +1,94 @@
|
||||
config aurora 'theme'
|
||||
option light_bg '#fcfcfc'
|
||||
option light_surface '#fff'
|
||||
option light_text '#000'
|
||||
option light_brand '#000'
|
||||
option light_on_brand '#fff'
|
||||
option light_link '#000'
|
||||
option light_info '#0e5794'
|
||||
option light_warning '#653e00'
|
||||
option light_success '#00523c'
|
||||
option light_danger '#8d1925'
|
||||
option light_text_muted '#414141'
|
||||
option light_text_subtle '#676767'
|
||||
option light_surface_sunken '#f7f7f7'
|
||||
option light_surface_overlay '#fff'
|
||||
option light_hairline '#00000021'
|
||||
option light_hover_faint '#eee'
|
||||
option light_brand_hover '#000'
|
||||
option light_brand_subtle '#d5d5d5'
|
||||
option light_brand_subtle_hover '#c8c8c8'
|
||||
option light_focus_ring '#0009'
|
||||
option light_progress_start '#383838'
|
||||
option light_progress_end '#000'
|
||||
option light_info_surface '#d8f0ff'
|
||||
option light_warning_surface '#ffecd2'
|
||||
option light_success_surface '#d5f8e9'
|
||||
option light_danger_surface '#ffe6e4'
|
||||
option light_danger_surface_hover '#f9d9d7'
|
||||
option light_control_bg '#fff'
|
||||
option light_scrim '#0009'
|
||||
option light_mega_menu_bg '#f6f6f6'
|
||||
option light_mega_menu_scrim '#0d1c2a61'
|
||||
option dark_bg '#000'
|
||||
option dark_surface '#090909'
|
||||
option dark_text '#fff'
|
||||
option dark_brand '#fff'
|
||||
option dark_on_brand '#000'
|
||||
option dark_link '#fff'
|
||||
option dark_info '#8dc1ff'
|
||||
option dark_warning '#f0ba59'
|
||||
option dark_success '#51bd85'
|
||||
option dark_danger '#f17070'
|
||||
option dark_text_muted '#868686'
|
||||
option dark_text_subtle '#4d4d4d'
|
||||
option dark_surface_sunken '#030303'
|
||||
option dark_surface_overlay '#0d0d0d'
|
||||
option dark_hairline '#ffffff1a'
|
||||
option dark_hover_faint '#ffffff0d'
|
||||
option dark_brand_hover '#eee'
|
||||
option dark_brand_subtle '#0d0d0d'
|
||||
option dark_brand_subtle_hover '#161616'
|
||||
option dark_focus_ring '#fff9'
|
||||
option dark_progress_start '#999'
|
||||
option dark_progress_end '#fff'
|
||||
option dark_info_surface '#20344c'
|
||||
option dark_warning_surface '#45310b'
|
||||
option dark_success_surface '#153524'
|
||||
option dark_danger_surface '#541f20'
|
||||
option dark_danger_surface_hover '#602a2a'
|
||||
option dark_control_bg '#030303'
|
||||
option dark_scrim '#0009'
|
||||
option dark_mega_menu_bg '#030303'
|
||||
option dark_mega_menu_scrim '#00000080'
|
||||
option struct_font_sans '"Geist Sans", "Lato", ui-sans-serif, system-ui, sans-serif'
|
||||
option struct_font_mono '"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace'
|
||||
option struct_spacing '0.2rem'
|
||||
option struct_content_width_centered '88rem'
|
||||
option struct_radius_base '0rem'
|
||||
option nav_type 'dropdown'
|
||||
option toolbar_enabled '0'
|
||||
|
||||
config toolbar_item
|
||||
option title 'Overview'
|
||||
option url '/cgi-bin/luci/admin/status/overview'
|
||||
option icon 'overview.svg'
|
||||
option enabled '1'
|
||||
|
||||
config toolbar_item
|
||||
option title 'System'
|
||||
option url '/cgi-bin/luci/admin/system/system'
|
||||
option icon 'system.svg'
|
||||
option enabled '1'
|
||||
|
||||
config toolbar_item
|
||||
option title 'Software'
|
||||
option url '/cgi-bin/luci/admin/system/package-manager'
|
||||
option icon 'software.svg'
|
||||
option enabled '0'
|
||||
|
||||
config toolbar_item
|
||||
option title 'Network'
|
||||
option url '/cgi-bin/luci/admin/network/network'
|
||||
option icon 'network.svg'
|
||||
option enabled '1'
|
||||
@@ -0,0 +1,94 @@
|
||||
config aurora 'theme'
|
||||
option light_bg '#f8f7f4'
|
||||
option light_surface '#fff'
|
||||
option light_text '#1a1f2e'
|
||||
option light_brand '#7c9082'
|
||||
option light_on_brand '#fff'
|
||||
option light_link '#7c9082'
|
||||
option light_info '#0e5794'
|
||||
option light_warning '#653e00'
|
||||
option light_success '#00523c'
|
||||
option light_danger '#8d1925'
|
||||
option light_text_muted '#656973'
|
||||
option light_text_subtle '#84878f'
|
||||
option light_surface_sunken '#f8f7f3'
|
||||
option light_surface_overlay '#fdfcf9'
|
||||
option light_hairline '#1a1f2e21'
|
||||
option light_hover_faint '#f0eeea'
|
||||
option light_brand_hover '#6a7e70'
|
||||
option light_brand_subtle '#e8eae6'
|
||||
option light_brand_subtle_hover '#dbddd9'
|
||||
option light_focus_ring '#7c908299'
|
||||
option light_progress_start '#a6b3a8'
|
||||
option light_progress_end '#7c9082'
|
||||
option light_info_surface '#d8f0ff'
|
||||
option light_warning_surface '#ffecd2'
|
||||
option light_success_surface '#d5f8e9'
|
||||
option light_danger_surface '#ffe6e4'
|
||||
option light_danger_surface_hover '#f9d9d7'
|
||||
option light_control_bg '#fdfcf9'
|
||||
option light_scrim '#0009'
|
||||
option light_mega_menu_bg '#f8f6f0'
|
||||
option light_mega_menu_scrim '#0d1c2a61'
|
||||
option dark_bg '#0a0a0a'
|
||||
option dark_surface '#121212'
|
||||
option dark_text '#f5f5f5'
|
||||
option dark_brand '#7c9082'
|
||||
option dark_on_brand '#000'
|
||||
option dark_link '#7c9082'
|
||||
option dark_info '#8dc1ff'
|
||||
option dark_warning '#f0ba59'
|
||||
option dark_success '#51bd85'
|
||||
option dark_danger '#f17070'
|
||||
option dark_text_muted '#919191'
|
||||
option dark_text_subtle '#616161'
|
||||
option dark_surface_sunken '#090909'
|
||||
option dark_surface_overlay '#161616'
|
||||
option dark_hairline '#f5f5f51a'
|
||||
option dark_hover_faint '#f5f5f50d'
|
||||
option dark_brand_hover '#6d8173'
|
||||
option dark_brand_subtle '#1a1c1a'
|
||||
option dark_brand_subtle_hover '#232524'
|
||||
option dark_focus_ring '#7c908299'
|
||||
option dark_progress_start '#4f5b53'
|
||||
option dark_progress_end '#7c9082'
|
||||
option dark_info_surface '#20344c'
|
||||
option dark_warning_surface '#45310b'
|
||||
option dark_success_surface '#153524'
|
||||
option dark_danger_surface '#541f20'
|
||||
option dark_danger_surface_hover '#602a2a'
|
||||
option dark_control_bg '#090909'
|
||||
option dark_scrim '#0009'
|
||||
option dark_mega_menu_bg '#090909'
|
||||
option dark_mega_menu_scrim '#00000080'
|
||||
option struct_font_sans '"Nunito", "Lato", ui-sans-serif, system-ui, sans-serif'
|
||||
option struct_font_mono '"Maple Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace'
|
||||
option struct_spacing '0.3rem'
|
||||
option struct_content_width_centered '92rem'
|
||||
option struct_radius_base '0.875rem'
|
||||
option nav_type 'mega-menu'
|
||||
option toolbar_enabled '1'
|
||||
|
||||
config toolbar_item
|
||||
option title 'Overview'
|
||||
option url '/cgi-bin/luci/admin/status/overview'
|
||||
option icon 'overview.svg'
|
||||
option enabled '1'
|
||||
|
||||
config toolbar_item
|
||||
option title 'System'
|
||||
option url '/cgi-bin/luci/admin/system/system'
|
||||
option icon 'system.svg'
|
||||
option enabled '1'
|
||||
|
||||
config toolbar_item
|
||||
option title 'Software'
|
||||
option url '/cgi-bin/luci/admin/system/package-manager'
|
||||
option icon 'software.svg'
|
||||
option enabled '0'
|
||||
|
||||
config toolbar_item
|
||||
option title 'Network'
|
||||
option url '/cgi-bin/luci/admin/network/network'
|
||||
option icon 'network.svg'
|
||||
option enabled '1'
|
||||
@@ -0,0 +1,94 @@
|
||||
config aurora 'theme'
|
||||
option light_bg '#fff'
|
||||
option light_surface '#f7f8f8'
|
||||
option light_text '#0f1419'
|
||||
option light_brand '#1e9df1'
|
||||
option light_on_brand '#fff'
|
||||
option light_link '#1e9df1'
|
||||
option light_info '#0e5794'
|
||||
option light_warning '#653e00'
|
||||
option light_success '#00523c'
|
||||
option light_danger '#8d1925'
|
||||
option light_text_muted '#5f6367'
|
||||
option light_text_subtle '#808487'
|
||||
option light_surface_sunken '#f7f7f7'
|
||||
option light_surface_overlay '#fff'
|
||||
option light_hairline '#0f141921'
|
||||
option light_hover_faint '#eee'
|
||||
option light_brand_hover '#008add'
|
||||
option light_brand_subtle '#e8f4ff'
|
||||
option light_brand_subtle_hover '#dbe7f1'
|
||||
option light_focus_ring '#1e9df199'
|
||||
option light_progress_start '#7cbef5'
|
||||
option light_progress_end '#1e9df1'
|
||||
option light_info_surface '#d8f0ff'
|
||||
option light_warning_surface '#ffecd2'
|
||||
option light_success_surface '#d5f8e9'
|
||||
option light_danger_surface '#ffe6e4'
|
||||
option light_danger_surface_hover '#f9d9d7'
|
||||
option light_control_bg '#fff'
|
||||
option light_scrim '#0009'
|
||||
option light_mega_menu_bg '#f6f6f6'
|
||||
option light_mega_menu_scrim '#0d1c2a61'
|
||||
option dark_bg '#000'
|
||||
option dark_surface '#17181c'
|
||||
option dark_text '#e7e9ea'
|
||||
option dark_brand '#1c9cf0'
|
||||
option dark_on_brand '#fff'
|
||||
option dark_link '#1c9cf0'
|
||||
option dark_info '#8dc1ff'
|
||||
option dark_warning '#f0ba59'
|
||||
option dark_success '#51bd85'
|
||||
option dark_danger '#f17070'
|
||||
option dark_text_muted '#797a7a'
|
||||
option dark_text_subtle '#454646'
|
||||
option dark_surface_sunken '#0d0e12'
|
||||
option dark_surface_overlay '#1c1d21'
|
||||
option dark_hairline '#e7e9ea1a'
|
||||
option dark_hover_faint '#e7e9ea0d'
|
||||
option dark_brand_hover '#008cdf'
|
||||
option dark_brand_subtle '#00040c'
|
||||
option dark_brand_subtle_hover '#030c15'
|
||||
option dark_focus_ring '#1c9cf099'
|
||||
option dark_progress_start '#21669a'
|
||||
option dark_progress_end '#1c9cf0'
|
||||
option dark_info_surface '#20344c'
|
||||
option dark_warning_surface '#45310b'
|
||||
option dark_success_surface '#153524'
|
||||
option dark_danger_surface '#541f20'
|
||||
option dark_danger_surface_hover '#602a2a'
|
||||
option dark_control_bg '#0d0e12'
|
||||
option dark_scrim '#0009'
|
||||
option dark_mega_menu_bg '#0d0e12'
|
||||
option dark_mega_menu_scrim '#00000080'
|
||||
option struct_font_sans 'system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif'
|
||||
option struct_font_mono 'ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace'
|
||||
option struct_spacing '0.25rem'
|
||||
option struct_content_width_centered '80rem'
|
||||
option struct_radius_base '0.75rem'
|
||||
option nav_type 'sidebar'
|
||||
option toolbar_enabled '1'
|
||||
|
||||
config toolbar_item
|
||||
option title 'Overview'
|
||||
option url '/cgi-bin/luci/admin/status/overview'
|
||||
option icon 'overview.svg'
|
||||
option enabled '1'
|
||||
|
||||
config toolbar_item
|
||||
option title 'System'
|
||||
option url '/cgi-bin/luci/admin/system/system'
|
||||
option icon 'system.svg'
|
||||
option enabled '1'
|
||||
|
||||
config toolbar_item
|
||||
option title 'Software'
|
||||
option url '/cgi-bin/luci/admin/system/package-manager'
|
||||
option icon 'software.svg'
|
||||
option enabled '0'
|
||||
|
||||
config toolbar_item
|
||||
option title 'Network'
|
||||
option url '/cgi-bin/luci/admin/network/network'
|
||||
option icon 'network.svg'
|
||||
option enabled '1'
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"admin/system/aurora": {
|
||||
"title": "Aurora Theme Design",
|
||||
"order": 100,
|
||||
"action": {
|
||||
"type": "firstchild"
|
||||
},
|
||||
"depends": {
|
||||
"acl": ["luci-app-aurora"]
|
||||
}
|
||||
},
|
||||
"admin/system/aurora/studio": {
|
||||
"title": "Design Studio",
|
||||
"order": 10,
|
||||
"action": {
|
||||
"type": "view",
|
||||
"path": "aurora/studio"
|
||||
}
|
||||
},
|
||||
"admin/system/aurora/marketplace": {
|
||||
"title": "Theme Marketplace",
|
||||
"order": 15,
|
||||
"action": {
|
||||
"type": "view",
|
||||
"path": "aurora/marketplace"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"luci-app-aurora": {
|
||||
"description": "Grant access to Aurora theme configuration",
|
||||
"read": {
|
||||
"uci": ["aurora"],
|
||||
"ubus": {
|
||||
"luci.aurora": [
|
||||
"list_icons",
|
||||
"get_system_info",
|
||||
"get_init_data",
|
||||
"get_theme_preset",
|
||||
"get_font_presets",
|
||||
"get_font_status",
|
||||
"export_config",
|
||||
"get_hub_status",
|
||||
"hub_local_state",
|
||||
"hub_me"
|
||||
],
|
||||
"file": ["read", "list", "stat"]
|
||||
},
|
||||
"file": {
|
||||
"/tmp/aurora_icon.tmp": ["read", "write"],
|
||||
"/tmp/aurora_font.tmp": ["read", "write"],
|
||||
"/tmp/aurora_config_export.conf": ["read"],
|
||||
"/www/luci-static/aurora/images/*": ["read", "list"],
|
||||
"/www/luci-static/aurora/fonts/*": ["read", "list"],
|
||||
"/tmp/aurora_hub_jobs/*": ["read"]
|
||||
}
|
||||
},
|
||||
"write": {
|
||||
"uci": ["aurora"],
|
||||
"ubus": {
|
||||
"luci.aurora": [
|
||||
"upload_icon",
|
||||
"write_pwa_manifest",
|
||||
"remove_icon",
|
||||
"reset_defaults",
|
||||
"add_feed",
|
||||
"import_config",
|
||||
"apply_theme_preset",
|
||||
"prepare_font",
|
||||
"upload_font",
|
||||
"remove_font",
|
||||
"hub_apply",
|
||||
"hub_restore_backup",
|
||||
"hub_share_begin",
|
||||
"hub_share_commit",
|
||||
"hub_delete",
|
||||
"hub_export_key",
|
||||
"hub_import_key",
|
||||
"hub_set_nickname"
|
||||
],
|
||||
"file": ["write", "remove", "exec", "stat"]
|
||||
},
|
||||
"file": {
|
||||
"/tmp/aurora_icon.tmp": ["read", "write"],
|
||||
"/tmp/aurora_font.tmp": ["read", "write"],
|
||||
"/tmp/aurora_config_import.tmp": ["read", "write", "remove"],
|
||||
"/www/luci-static/aurora/images/*": ["read", "write", "remove"],
|
||||
"/www/luci-static/aurora/fonts/*": ["read", "write", "remove"],
|
||||
"/tmp/aurora_hub_jobs/*": ["read", "write"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user