Teme
Komponente Lily imajo stabilne razredne kavlje in nič CSS — tema je torej samo slogovna datoteka. Ta vodnik gre od „povežite eno datoteko“ do „naj uporabnik med izvajanjem zamenja temo, s trajnim shranjevanjem“.
Kaj boste ustvarili
Aplikacija, katere celoten videz lahko uporabnik spremeni — od ene povezane slogovne datoteke do trajno shranjenega preklopnika tem med izvajanjem — v približno 15 minutah.
Preden začnete
Najprej dokončajte vodnik za ogrodje za svoj sklad najprej, da imate majhen obrazec Lily, ki mu boste dali temo. Vse tukaj deluje v vseh sedmih ogrodjih; vzorci kode prikazujejo Svelte in navaden HTML.
Korak 1 — Povežite pripravljeno temo
themes/ mapa vsebuje 45 samostojnih slogovnih datotek. Kopirajte jih v statična sredstva svoje aplikacije in povežite eno:
<link rel="stylesheet" href="/assets/themes/united-kingdom-national-health-service-england-for-patients.css" />
Poudarki nabora:
-
Javni sektor — NHS England / Scotland / Wales, vsaka v različicah za bolnike in za strokovnjake; GOV.UK (
united-kingdom-government-digital-service); USWDS (united-states-web-design-system). - Navdihnjene z dobavitelji —
adobe-spectrum,mozilla-protocol. -
Splošna uporaba —
light,dark,nord,dracula,wireframe,corporate,synthwavein še mnogo drugih.
Preverite svoje delo: znova naložite stran. Isto označevanje, ki ste ga zgradili v vodniku za ogrodje, je zdaj povsem oblikovano — gumbi, vnosi, oznake, fokusni obroči. To je naredila ena vrstica HTML — vsaka komponenta je ostala natanko taka, kot je bila.
Korak 2 — Preglasite karkoli
Izbirniki teme so oviti v :where(...)ki ima ničelno specifičnost — zato vsako pravilo, ki ga napišete, zmaga, preprosto:
/* After the theme link: your brand button, everything else themed */
.button {
background: #7c3aed;
border-radius: 9999px;
}
Korak 3 — Preklapljanje med izvajanjem s theme-picker
theme-picker pomočnik je brezglavi gumb z ikono + listbox, ki lastni celoten življenjski cikel teme: naloži izbrano slogovno datoteko z zamenjavo enega upravljanega <link>
(prenese se le aktivna tema), nastavi
data-theme="{slug}" na dokumentu in neobvezno trajno shrani v localStorage. Tukaj je prikazan Svelte; vrati za React, Vue, Angular, HTML, Nunjucks in Blazor ustrezajo pogodbo za pogodbo:
<script>
import ThemePicker from "@lilydesignsystem/svelte-theme-picker";
</script>
<ThemePicker
label="Theme"
themesUrl="/assets/themes/"
themes={["light", "dark", "nord", "wireframe"]}
storageKey="my-app-theme"
/>
To je celotna integracija. Vedenje tipkovnice sledi vzorcu listboxa WAI-ARIA APG; sam kontrolnik je brezglav (razredni kavelj
.theme-picker), zato prevzame, katera koli tema je aktivna.
Preverjeno 2026-08-29: natanko ta izrezek je bil preveden proti objavljenemu 0.1.1 paketu prek
svelte/server.
Korak 4 — Odzovite se na temo v lastnem CSS
Ker pomočnik nastavi data-theme na korenu dokumenta, se lahko vaši lastni slogi razvejijo po tem:
[data-theme="dark"] .site-logo { filter: invert(1); }
Opombe o izrisovanju na strežniku
Pomočnik vse zapise v DOM opravi znotraj življenjskega cikla mount/effect ogrodja, zato je po zasnovi varen za SSR. Da se izognete utripu ob prvem risanju, izrišite na strežniku <link> in
data-theme začetne teme (na primer iz piškotka) — repozitorij pomočnika Svelte vsebuje izvedljiv primer piškotka za SvelteKit, drugi katalogi pa isti vzorec dokumentirajo za svoje sklade.
Naslednji koraki
- Pomočniki za nastavitve — isti vzorec za jezik, velikost besedila, deljenje in vnos datuma/časa.
- Prispevajte temo — vsaka je ena samostojna slogovna datoteka, ki cilja razredne kavlje; glejte prispevanje.
Vprašanja na poti? Stran s pomočjo je polna odgovorov — in če bi bil kakšen korak lahko jasnejši, sporočite nam in vodnik bomo z veseljem izboljšali.