ಥೀಮಿಂಗ್
Lily ಘಟಕಗಳು ಸ್ಥಿರ ಕ್ಲಾಸ್ ಹುಕ್ಗಳು ಮತ್ತು ಶೂನ್ಯ CSS ಹೊಂದಿವೆ — ಹೀಗಾಗಿ ಥೀಮ್ ಕೇವಲ ಒಂದು ಸ್ಟೈಲ್ಶೀಟ್. ಈ ಟ್ಯುಟೋರಿಯಲ್ “ಒಂದು ಫೈಲ್ ಲಿಂಕ್ ಮಾಡಿ” ಇಂದ “ಬಳಕೆದಾರರು ರನ್ಟೈಮ್ನಲ್ಲಿ ಥೀಮ್ಗಳನ್ನು ಬದಲಿಸಲು ಬಿಡಿ, ಉಳಿಸಿ” ವರೆಗೆ ಹೋಗುತ್ತದೆ.
ನೀವು ಏನನ್ನು ನಿರ್ಮಿಸುತ್ತೀರಿ
ಬಳಕೆದಾರರು ಇಡೀ ನೋಟವನ್ನು ಬದಲಿಸಬಹುದಾದ ಅಪ್ಲಿಕೇಶನ್ — ಒಂದು ಲಿಂಕ್ ಮಾಡಿದ ಸ್ಟೈಲ್ಶೀಟ್ನಿಂದ ಆರಂಭಿಸಿ, ಉಳಿಯುವ ರನ್ಟೈಮ್ ಥೀಮ್ ಬದಲಾವಣೆಗಾರನೊಂದಿಗೆ ಮುಕ್ತಾಯ — ಸುಮಾರು 15 ನಿಮಿಷಗಳಲ್ಲಿ.
ಆರಂಭಿಸುವ ಮೊದಲು
ಮೊದಲು ಪೂರ್ಣಗೊಳಿಸಿ ಫ್ರೇಮ್ವರ್ಕ್ ಟ್ಯುಟೋರಿಯಲ್ ಮೊದಲು ನಿಮ್ಮ ಸ್ಟ್ಯಾಕ್ಗಾಗಿ, ಹೀಗಾಗಿ ಥೀಮ್ ಹಾಕಲು ನಿಮ್ಮಲ್ಲಿ ಸಣ್ಣ Lily ಫಾರ್ಮ್ ಇರುತ್ತದೆ. ಇಲ್ಲಿರುವುದೆಲ್ಲ ಎಲ್ಲಾ ಏಳು ಫ್ರೇಮ್ವರ್ಕ್ಗಳಲ್ಲಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ; ಕೋಡ್ ಮಾದರಿಗಳು Svelte ಮತ್ತು ಸರಳ HTML ತೋರಿಸುತ್ತವೆ.
ಹಂತ 1 — ಸಿದ್ಧ ಥೀಮ್ ಲಿಂಕ್ ಮಾಡಿ
themes/ ಡೈರೆಕ್ಟರಿ 45 ಸ್ವತಂತ್ರ ಸ್ಟೈಲ್ಶೀಟ್ಗಳನ್ನು ಹೊಂದಿದೆ. ಅವನ್ನು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನ ಸ್ಥಿರ ಸ್ವತ್ತುಗಳಿಗೆ ನಕಲಿಸಿ ಮತ್ತು ಒಂದನ್ನು ಲಿಂಕ್ ಮಾಡಿ:
<link rel="stylesheet" href="/assets/themes/united-kingdom-national-health-service-england-for-patients.css" />
ಸೆಟ್ನ ಮುಖ್ಯಾಂಶಗಳು:
-
ಸಾರ್ವಜನಿಕ ವಲಯ — NHS England / Scotland / Wales, ಪ್ರತಿಯೊಂದೂ ರೋಗಿ-ಮುಖಿ ಮತ್ತು ವೈದ್ಯ-ಮುಖಿ ರೂಪಾಂತರಗಳಲ್ಲಿ; GOV.UK (
united-kingdom-government-digital-service); USWDS (united-states-web-design-system). - ಮಾರಾಟಗಾರ-ಪ್ರೇರಿತ —
adobe-spectrum,mozilla-protocol. -
ಸಾಮಾನ್ಯ ಉದ್ದೇಶ —
light,dark,nord,dracula,wireframe,corporate,synthwave, ಮತ್ತು ಇನ್ನೂ ಹಲವು.
ನಿಮ್ಮ ಕೆಲಸವನ್ನು ಪರಿಶೀಲಿಸಿ: ಪುಟವನ್ನು ಮರುಲೋಡ್ ಮಾಡಿ. ಫ್ರೇಮ್ವರ್ಕ್ ಟ್ಯುಟೋರಿಯಲ್ನಲ್ಲಿ ನೀವು ನಿರ್ಮಿಸಿದ ಅದೇ ಮಾರ್ಕ್ಅಪ್ ಈಗ ಸಂಪೂರ್ಣ ಶೈಲೀಕೃತ — ಬಟನ್ಗಳು, ಇನ್ಪುಟ್ಗಳು, ಲೇಬಲ್ಗಳು, ಫೋಕಸ್ ರಿಂಗ್ಗಳು. HTML ನ ಒಂದು ಸಾಲು ಅದನ್ನು ಮಾಡಿತು — ಪ್ರತಿ ಘಟಕವೂ ಇದ್ದಂತೆಯೇ ಉಳಿಯಿತು.
ಹಂತ 2 — ಯಾವುದನ್ನಾದರೂ ಅತಿಕ್ರಮಿಸಿ
ಥೀಮ್ ಆಯ್ಕೆಗಾರರು ಇದರಲ್ಲಿ ಸುತ್ತಿಡಲ್ಪಟ್ಟಿವೆ :where(...)ಇದು ಶೂನ್ಯ ನಿರ್ದಿಷ್ಟತೆಯನ್ನು ಹೊಂದಿದೆ — ಹೀಗಾಗಿ ನೀವು ಬರೆಯುವ ಯಾವುದೇ ನಿಯಮ ಗೆಲ್ಲುತ್ತದೆ, ಸರಳವಾಗಿ:
/* After the theme link: your brand button, everything else themed */
.button {
background: #7c3aed;
border-radius: 9999px;
}
ಹಂತ 3 — theme-picker ನೊಂದಿಗೆ ರನ್ಟೈಮ್ ಬದಲಾವಣೆ
theme-picker ಸಹಾಯಕ ಥೀಮ್ನ ಸಂಪೂರ್ಣ ಜೀವನಚಕ್ರವನ್ನು ಹೊಂದಿರುವ ಹೆಡ್ಲೆಸ್ ಐಕಾನ್-ಬಟನ್ + ಲಿಸ್ಟ್ಬಾಕ್ಸ್: ಇದು ಒಂದು ನಿರ್ವಹಿಸಲ್ಪಡುವ ಅನ್ನು ಬದಲಿಸುವ ಮೂಲಕ ಆಯ್ದ ಸ್ಟೈಲ್ಶೀಟ್ ಅನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ <link>
(ಸಕ್ರಿಯ ಥೀಮ್ ಮಾತ್ರ ಪಡೆಯಲ್ಪಡುತ್ತದೆ), ಹೊಂದಿಸುತ್ತದೆ
data-theme="{slug}" ಡಾಕ್ಯುಮೆಂಟ್ನಲ್ಲಿ, ಮತ್ತು ಐಚ್ಛಿಕವಾಗಿ ಇಲ್ಲಿ ಉಳಿಸುತ್ತದೆ localStorage. ಇಲ್ಲಿ Svelte ತೋರಿಸಲಾಗಿದೆ; React, Vue, Angular, HTML, Nunjucks ಮತ್ತು Blazor ಪೋರ್ಟ್ಗಳು ಒಪ್ಪಂದ-ಒಪ್ಪಂದವಾಗಿ ಹೊಂದುತ್ತವೆ:
<script>
import ThemePicker from "@lilydesignsystem/svelte-theme-picker";
</script>
<ThemePicker
label="Theme"
themesUrl="/assets/themes/"
themes={["light", "dark", "nord", "wireframe"]}
storageKey="my-app-theme"
/>
ಅದೇ ಸಂಪೂರ್ಣ ಏಕೀಕರಣ. ಕೀಬೋರ್ಡ್ ವರ್ತನೆ WAI-ARIA APG ಲಿಸ್ಟ್ಬಾಕ್ಸ್ ಮಾದರಿಯನ್ನು ಅನುಸರಿಸುತ್ತದೆ; ನಿಯಂತ್ರಣವೇ ಹೆಡ್ಲೆಸ್ (ಕ್ಲಾಸ್ ಹುಕ್
.theme-picker), ಹೀಗಾಗಿ ಯಾವುದೇ ಥೀಮ್ ಸಕ್ರಿಯವಾಗಿದ್ದರೂ ಅದನ್ನು ಎತ್ತಿಕೊಳ್ಳುತ್ತದೆ.
2026-08-29 ರಂದು ಪರಿಶೀಲಿಸಲಾಗಿದೆ: ಈ ನಿಖರ ತುಣುಕನ್ನು ಪ್ರಕಟಿತ ಪ್ಯಾಕೇಜ್ ವಿರುದ್ಧ ಕಂಪೈಲ್ ಮಾಡಲಾಯಿತು 0.1.1 ಇದರ ಮೂಲಕ
svelte/server.
ಹಂತ 4 — ನಿಮ್ಮದೇ CSS ನಲ್ಲಿ ಥೀಮ್ಗೆ ಪ್ರತಿಕ್ರಿಯಿಸಿ
ಸಹಾಯಕ ಹೊಂದಿಸುವುದರಿಂದ data-theme ಡಾಕ್ಯುಮೆಂಟ್ ರೂಟ್ನಲ್ಲಿ, ನಿಮ್ಮ ಸ್ವಂತ ಶೈಲಿಗಳು ಅದರ ಮೇಲೆ ಕವಲೊಡೆಯಬಹುದು:
[data-theme="dark"] .site-logo { filter: invert(1); }
ಸರ್ವರ್ ರೆಂಡರಿಂಗ್ಗೆ ಟಿಪ್ಪಣಿಗಳು
ಸಹಾಯಕ ಎಲ್ಲಾ DOM ಬರವಣಿಗೆಗಳನ್ನು ಫ್ರೇಮ್ವರ್ಕ್ನ mount/effect ಜೀವನಚಕ್ರದೊಳಗೆ ಮಾಡುತ್ತದೆ, ಹೀಗಾಗಿ ನಿರ್ಮಾಣದಿಂದಲೇ SSR-ಸುರಕ್ಷಿತ. ಮೊದಲ ಪೇಂಟ್ ಫ್ಲ್ಯಾಶ್ ತಪ್ಪಿಸಲು, ಆರಂಭಿಕ ಥೀಮ್ನ ರೆಂಡರ್ ಮಾಡಿ <link> ಮತ್ತು
data-theme ಸರ್ವರ್ನಲ್ಲಿ (ಉದಾಹರಣೆಗೆ ಕುಕೀಯಿಂದ) — Svelte ಸಹಾಯಕ ರೆಪೊ ಚಲಾಯಿಸಬಹುದಾದ SvelteKit ಕುಕೀ ಉದಾಹರಣೆಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ, ಮತ್ತು ಇತರ ಕ್ಯಾಟಲಾಗ್ಗಳು ತಮ್ಮ ಸ್ಟ್ಯಾಕ್ಗಳಿಗೆ ಅದೇ ಮಾದರಿಯನ್ನು ದಾಖಲಿಸುತ್ತವೆ.
ಮುಂದಿನ ಹಂತಗಳು
- ಆದ್ಯತೆ ಸಹಾಯಕಗಳು — ಭಾಷೆ, ಪಠ್ಯ ಗಾತ್ರ, ಹಂಚಿಕೆ, ಮತ್ತು ದಿನಾಂಕ/ಸಮಯ ನಮೂದಿಗೆ ಅದೇ ಮಾದರಿ.
- ಥೀಮ್ ಕೊಡುಗೆ ನೀಡಿ — ಪ್ರತಿಯೊಂದೂ ಕ್ಲಾಸ್ ಹುಕ್ಗಳನ್ನು ಗುರಿಯಾಗಿಸುವ ಒಂದು ಸ್ವತಂತ್ರ ಸ್ಟೈಲ್ಶೀಟ್; ನೋಡಿ ಕೊಡುಗೆ.
ದಾರಿಯಲ್ಲಿ ಪ್ರಶ್ನೆಗಳಿವೆಯೇ? ಸಹಾಯ ಪುಟ ಉತ್ತರಗಳಿಂದ ತುಂಬಿದೆ — ಮತ್ತು ಯಾವುದೇ ಹಂತ ಸ್ಪಷ್ಟವಾಗಬಹುದಾದರೆ, ನಮಗೆ ತಿಳಿಸಿ ಮತ್ತು ನಾವು ಸಂತೋಷದಿಂದ ಟ್ಯುಟೋರಿಯಲ್ ಸುಧಾರಿಸುತ್ತೇವೆ.