@hagicode/hagilight-starlight 0.1.0-dev.148.1.e0c630e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/AIDisclosureNotice.astro +12 -0
  2. package/ArticlePromotion.astro +630 -0
  3. package/ArticlePromotionPicker.astro +9 -0
  4. package/ContentLayoutToggle.astro +31 -0
  5. package/Footer.astro +201 -0
  6. package/Header.astro +131 -0
  7. package/LanguageChooser.astro +386 -0
  8. package/MarkdownContent.astro +45 -0
  9. package/NotFoundHero.astro +44 -0
  10. package/PageTitle.astro +7 -0
  11. package/PromotoFooter.astro +7 -0
  12. package/README.md +178 -0
  13. package/SEOHead.astro +67 -0
  14. package/ThemeSelect.astro +176 -0
  15. package/assets/showcase/hero-avatar.webp +0 -0
  16. package/assets/showcase/heroes.webp +0 -0
  17. package/assets/showcase/manifest.json +333 -0
  18. package/assets/showcase/pillar-efficient.svg +1 -0
  19. package/assets/showcase/pillar-fun.svg +1 -0
  20. package/assets/showcase/pillar-smart.svg +1 -0
  21. package/assets/showcase/proposal-workflow.webp +0 -0
  22. package/assets/showcase/workbench.webp +0 -0
  23. package/content-width.css +81 -0
  24. package/dist/ai-disclosures.d.ts +31 -0
  25. package/dist/ai-disclosures.js +105 -0
  26. package/dist/article-promotion-copy/de-DE.d.ts +34 -0
  27. package/dist/article-promotion-copy/de-DE.js +43 -0
  28. package/dist/article-promotion-copy/en-US.d.ts +34 -0
  29. package/dist/article-promotion-copy/en-US.js +43 -0
  30. package/dist/article-promotion-copy/es-ES.d.ts +34 -0
  31. package/dist/article-promotion-copy/es-ES.js +43 -0
  32. package/dist/article-promotion-copy/fr-FR.d.ts +34 -0
  33. package/dist/article-promotion-copy/fr-FR.js +43 -0
  34. package/dist/article-promotion-copy/index.d.ts +32 -0
  35. package/dist/article-promotion-copy/index.js +50 -0
  36. package/dist/article-promotion-copy/ja-JP.d.ts +34 -0
  37. package/dist/article-promotion-copy/ja-JP.js +43 -0
  38. package/dist/article-promotion-copy/ko-KR.d.ts +34 -0
  39. package/dist/article-promotion-copy/ko-KR.js +43 -0
  40. package/dist/article-promotion-copy/pt-BR.d.ts +34 -0
  41. package/dist/article-promotion-copy/pt-BR.js +43 -0
  42. package/dist/article-promotion-copy/ru-RU.d.ts +34 -0
  43. package/dist/article-promotion-copy/ru-RU.js +43 -0
  44. package/dist/article-promotion-copy/zh-CN.d.ts +34 -0
  45. package/dist/article-promotion-copy/zh-CN.js +43 -0
  46. package/dist/article-promotion-copy/zh-Hant.d.ts +34 -0
  47. package/dist/article-promotion-copy/zh-Hant.js +43 -0
  48. package/dist/article-promotion.d.ts +40 -0
  49. package/dist/article-promotion.js +14 -0
  50. package/dist/content-width-i18n.d.ts +6 -0
  51. package/dist/content-width-i18n.js +15 -0
  52. package/dist/content-width.d.ts +5 -0
  53. package/dist/content-width.js +42 -0
  54. package/dist/index.d.ts +105 -0
  55. package/dist/index.js +583 -0
  56. package/dist/language-routing.d.ts +18 -0
  57. package/dist/language-routing.js +95 -0
  58. package/dist/locales.d.ts +48 -0
  59. package/dist/locales.js +13 -0
  60. package/dist/not-found.d.ts +9 -0
  61. package/dist/not-found.js +28 -0
  62. package/dist/rss-renderer.d.ts +14 -0
  63. package/dist/rss-renderer.js +30 -0
  64. package/dist/rss-utils.d.ts +27 -0
  65. package/dist/rss-utils.js +65 -0
  66. package/dist/schema.d.ts +32 -0
  67. package/dist/schema.js +25 -0
  68. package/dist/seo-utils.d.ts +74 -0
  69. package/dist/seo-utils.js +219 -0
  70. package/dist/showcase.d.ts +6 -0
  71. package/dist/showcase.js +5 -0
  72. package/dist/site-metadata.d.ts +38 -0
  73. package/dist/site-metadata.js +109 -0
  74. package/dist/themes.d.ts +43 -0
  75. package/dist/themes.js +156 -0
  76. package/dist/windows-download.d.ts +4 -0
  77. package/dist/windows-download.js +22 -0
  78. package/package.json +88 -0
  79. package/rss.[language].xml.ts +20 -0
  80. package/rss.xml.ts +15 -0
  81. package/themes.css +160 -0
package/package.json ADDED
@@ -0,0 +1,88 @@
1
+ {
2
+ "name": "@hagicode/hagilight-starlight",
3
+ "version": "0.1.0-dev.148.1.e0c630e",
4
+ "type": "module",
5
+ "description": "Starlight plugin and components for HagiCode documentation",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/HagiCode-org/hagilight.git",
9
+ "directory": "packages/starlight"
10
+ },
11
+ "publishConfig": {
12
+ "access": "public",
13
+ "provenance": true
14
+ },
15
+ "scripts": {
16
+ "build": "tsc -b",
17
+ "prepack": "tsc -b"
18
+ },
19
+ "exports": {
20
+ ".": {
21
+ "types": "./dist/index.d.ts",
22
+ "default": "./dist/index.js"
23
+ },
24
+ "./locales": {
25
+ "types": "./dist/locales.d.ts",
26
+ "default": "./dist/locales.js"
27
+ },
28
+ "./schema": {
29
+ "types": "./dist/schema.d.ts",
30
+ "default": "./dist/schema.js"
31
+ },
32
+ "./showcase": {
33
+ "types": "./dist/showcase.d.ts",
34
+ "default": "./dist/showcase.js"
35
+ },
36
+ "./ContentLayoutToggle": "./ContentLayoutToggle.astro",
37
+ "./ThemeSelect": "./ThemeSelect.astro",
38
+ "./Header": "./Header.astro",
39
+ "./Footer": "./Footer.astro",
40
+ "./MarkdownContent": "./MarkdownContent.astro",
41
+ "./ArticlePromotion": "./ArticlePromotion.astro",
42
+ "./PageTitle": "./PageTitle.astro",
43
+ "./NotFoundHero": "./NotFoundHero.astro",
44
+ "./PromotoFooter": "./PromotoFooter.astro"
45
+ },
46
+ "files": [
47
+ "README.md",
48
+ "dist/**/*.js",
49
+ "dist/**/*.d.ts",
50
+ "*.astro",
51
+ "*.css",
52
+ "rss*.xml.ts",
53
+ "assets/showcase/*"
54
+ ],
55
+ "dependencies": {
56
+ "@hagicode/hagilight-core": "0.1.0-dev.148.1.e0c630e"
57
+ },
58
+ "peerDependencies": {
59
+ "@astrojs/starlight": "^0.42.4",
60
+ "astro": "^7.3.5"
61
+ },
62
+ "devDependencies": {
63
+ "@astrojs/starlight": "^0.42.4",
64
+ "astro": "^7.3.5"
65
+ },
66
+ "keywords": [
67
+ "hagicode",
68
+ "hagicode-org",
69
+ "hagilight",
70
+ "astro-component",
71
+ "withastro",
72
+ "astro-seo",
73
+ "starlight",
74
+ "starlight-plugin",
75
+ "multilingual-documentation",
76
+ "hreflang",
77
+ "structured-data"
78
+ ],
79
+ "homepage": "https://github.com/HagiCode-org/hagilight#readme",
80
+ "bugs": {
81
+ "url": "https://github.com/HagiCode-org/hagilight/issues"
82
+ },
83
+ "license": "MIT",
84
+ "author": {
85
+ "name": "HagiCode",
86
+ "url": "https://github.com/HagiCode-org"
87
+ }
88
+ }
@@ -0,0 +1,20 @@
1
+ import { getCollection } from 'astro:content';
2
+ import type { APIRoute, GetStaticPaths } from 'astro';
3
+ import rssConfig from 'virtual:hagilight-starlight/rss-config';
4
+ import { generateRssFeed } from './dist/rss-renderer.js';
5
+
6
+ export const getStaticPaths: GetStaticPaths = () => {
7
+ const filenames = new Set(['en', ...rssConfig.locales.map(({ filename }) => filename)]);
8
+ return [...filenames].map((language) => ({ params: { language } }));
9
+ };
10
+
11
+ export const GET: APIRoute = async ({ params, site }) => {
12
+ const entries = await getCollection('docs');
13
+ return generateRssFeed({
14
+ site,
15
+ baseUrl: import.meta.env.BASE_URL,
16
+ filename: params.language,
17
+ ...rssConfig,
18
+ entries,
19
+ });
20
+ };
package/rss.xml.ts ADDED
@@ -0,0 +1,15 @@
1
+ import { getCollection } from 'astro:content';
2
+ import type { APIRoute } from 'astro';
3
+ import rssConfig from 'virtual:hagilight-starlight/rss-config';
4
+ import { generateRssFeed } from './dist/rss-renderer.js';
5
+
6
+ export const GET: APIRoute = async ({ site }) => {
7
+ const entries = await getCollection('docs');
8
+ return generateRssFeed({
9
+ site,
10
+ baseUrl: import.meta.env.BASE_URL,
11
+ filename: 'en',
12
+ ...rssConfig,
13
+ entries,
14
+ });
15
+ };
package/themes.css ADDED
@@ -0,0 +1,160 @@
1
+ /*
2
+ * Hagilight extra themes: Ocean, Sakura, and Forest. Each theme overrides Starlight's
3
+ * color custom properties for its dark and light appearance. The applied theme is exposed
4
+ * through `data-hagilight-theme` on `<html>` by the theme picker's pre-paint bootstrap
5
+ * script, while light/dark mode keeps using Starlight's `data-theme` attribute.
6
+ *
7
+ * Starlight's dark palette is the `:root` default, so dark overrides must exclude the light
8
+ * mode with `:not([data-theme='light'])`; otherwise they would out-specify the light palette
9
+ * because custom CSS loads after Starlight's own styles.
10
+ */
11
+
12
+ /* Ocean — cool blue accent. */
13
+ :root[data-hagilight-theme='ocean']:not([data-theme='light']),
14
+ :root[data-hagilight-theme='ocean']:not([data-theme='light']) ::backdrop {
15
+ --sl-color-white: hsl(0, 0%, 100%);
16
+ --sl-color-gray-1: hsl(212, 24%, 94%);
17
+ --sl-color-gray-2: hsl(212, 12%, 77%);
18
+ --sl-color-gray-3: hsl(212, 10%, 56%);
19
+ --sl-color-gray-4: hsl(212, 10%, 36%);
20
+ --sl-color-gray-5: hsl(212, 14%, 23%);
21
+ --sl-color-gray-6: hsl(212, 18%, 16%);
22
+ --sl-color-black: hsl(212, 20%, 10%);
23
+
24
+ --sl-hue-orange: 25;
25
+ --sl-hue-green: 160;
26
+ --sl-hue-blue: 206;
27
+ --sl-hue-purple: 265;
28
+ --sl-hue-red: 355;
29
+
30
+ --sl-color-accent-low: hsl(212, 64%, 22%);
31
+ --sl-color-accent: hsl(206, 100%, 63%);
32
+ --sl-color-accent-high: hsl(205, 100%, 84%);
33
+
34
+ --sl-color-backdrop-overlay: hsla(212, 40%, 8%, 0.66);
35
+ }
36
+
37
+ :root[data-hagilight-theme='ocean'][data-theme='light'],
38
+ :root[data-hagilight-theme='ocean'][data-theme='light'] ::backdrop {
39
+ --sl-color-white: hsl(212, 24%, 10%);
40
+ --sl-color-gray-1: hsl(212, 18%, 16%);
41
+ --sl-color-gray-2: hsl(212, 12%, 23%);
42
+ --sl-color-gray-3: hsl(212, 10%, 36%);
43
+ --sl-color-gray-4: hsl(212, 8%, 56%);
44
+ --sl-color-gray-5: hsl(212, 10%, 77%);
45
+ --sl-color-gray-6: hsl(212, 26%, 94%);
46
+ --sl-color-gray-7: hsl(212, 32%, 97%);
47
+ --sl-color-black: hsl(0, 0%, 100%);
48
+
49
+ --sl-hue-orange: 25;
50
+ --sl-hue-green: 160;
51
+ --sl-hue-blue: 206;
52
+ --sl-hue-purple: 265;
53
+ --sl-hue-red: 355;
54
+
55
+ --sl-color-accent-high: hsl(211, 80%, 30%);
56
+ --sl-color-accent: hsl(206, 90%, 42%);
57
+ --sl-color-accent-low: hsl(206, 88%, 90%);
58
+
59
+ --sl-color-backdrop-overlay: hsla(212, 30%, 35%, 0.66);
60
+ }
61
+
62
+ /* Sakura — rose accent with warm neutrals. */
63
+ :root[data-hagilight-theme='sakura']:not([data-theme='light']),
64
+ :root[data-hagilight-theme='sakura']:not([data-theme='light']) ::backdrop {
65
+ --sl-color-white: hsl(0, 0%, 100%);
66
+ --sl-color-gray-1: hsl(340, 24%, 94%);
67
+ --sl-color-gray-2: hsl(340, 12%, 77%);
68
+ --sl-color-gray-3: hsl(340, 10%, 56%);
69
+ --sl-color-gray-4: hsl(340, 10%, 36%);
70
+ --sl-color-gray-5: hsl(340, 14%, 23%);
71
+ --sl-color-gray-6: hsl(340, 18%, 16%);
72
+ --sl-color-black: hsl(340, 20%, 10%);
73
+
74
+ --sl-hue-orange: 20;
75
+ --sl-hue-green: 145;
76
+ --sl-hue-blue: 230;
77
+ --sl-hue-purple: 285;
78
+ --sl-hue-red: 350;
79
+
80
+ --sl-color-accent-low: hsl(338, 60%, 22%);
81
+ --sl-color-accent: hsl(340, 85%, 70%);
82
+ --sl-color-accent-high: hsl(340, 100%, 88%);
83
+
84
+ --sl-color-backdrop-overlay: hsla(340, 40%, 8%, 0.66);
85
+ }
86
+
87
+ :root[data-hagilight-theme='sakura'][data-theme='light'],
88
+ :root[data-hagilight-theme='sakura'][data-theme='light'] ::backdrop {
89
+ --sl-color-white: hsl(340, 24%, 10%);
90
+ --sl-color-gray-1: hsl(340, 18%, 16%);
91
+ --sl-color-gray-2: hsl(340, 12%, 23%);
92
+ --sl-color-gray-3: hsl(340, 10%, 36%);
93
+ --sl-color-gray-4: hsl(340, 8%, 56%);
94
+ --sl-color-gray-5: hsl(340, 10%, 77%);
95
+ --sl-color-gray-6: hsl(340, 26%, 94%);
96
+ --sl-color-gray-7: hsl(340, 32%, 97%);
97
+ --sl-color-black: hsl(0, 0%, 100%);
98
+
99
+ --sl-hue-orange: 20;
100
+ --sl-hue-green: 145;
101
+ --sl-hue-blue: 230;
102
+ --sl-hue-purple: 285;
103
+ --sl-hue-red: 350;
104
+
105
+ --sl-color-accent-high: hsl(338, 80%, 34%);
106
+ --sl-color-accent: hsl(340, 80%, 44%);
107
+ --sl-color-accent-low: hsl(340, 90%, 91%);
108
+
109
+ --sl-color-backdrop-overlay: hsla(340, 30%, 35%, 0.66);
110
+ }
111
+
112
+ /* Forest — green accent with cool neutrals. */
113
+ :root[data-hagilight-theme='forest']:not([data-theme='light']),
114
+ :root[data-hagilight-theme='forest']:not([data-theme='light']) ::backdrop {
115
+ --sl-color-white: hsl(0, 0%, 100%);
116
+ --sl-color-gray-1: hsl(150, 20%, 94%);
117
+ --sl-color-gray-2: hsl(150, 10%, 77%);
118
+ --sl-color-gray-3: hsl(150, 8%, 56%);
119
+ --sl-color-gray-4: hsl(150, 8%, 36%);
120
+ --sl-color-gray-5: hsl(150, 12%, 23%);
121
+ --sl-color-gray-6: hsl(150, 16%, 16%);
122
+ --sl-color-black: hsl(150, 18%, 10%);
123
+
124
+ --sl-hue-orange: 35;
125
+ --sl-hue-green: 155;
126
+ --sl-hue-blue: 200;
127
+ --sl-hue-purple: 262;
128
+ --sl-hue-red: 5;
129
+
130
+ --sl-color-accent-low: hsl(152, 60%, 20%);
131
+ --sl-color-accent: hsl(158, 80%, 52%);
132
+ --sl-color-accent-high: hsl(150, 90%, 78%);
133
+
134
+ --sl-color-backdrop-overlay: hsla(150, 40%, 8%, 0.66);
135
+ }
136
+
137
+ :root[data-hagilight-theme='forest'][data-theme='light'],
138
+ :root[data-hagilight-theme='forest'][data-theme='light'] ::backdrop {
139
+ --sl-color-white: hsl(150, 20%, 10%);
140
+ --sl-color-gray-1: hsl(150, 16%, 16%);
141
+ --sl-color-gray-2: hsl(150, 10%, 23%);
142
+ --sl-color-gray-3: hsl(150, 8%, 36%);
143
+ --sl-color-gray-4: hsl(150, 6%, 56%);
144
+ --sl-color-gray-5: hsl(150, 8%, 77%);
145
+ --sl-color-gray-6: hsl(150, 24%, 94%);
146
+ --sl-color-gray-7: hsl(150, 30%, 97%);
147
+ --sl-color-black: hsl(0, 0%, 100%);
148
+
149
+ --sl-hue-orange: 35;
150
+ --sl-hue-green: 155;
151
+ --sl-hue-blue: 200;
152
+ --sl-hue-purple: 262;
153
+ --sl-hue-red: 5;
154
+
155
+ --sl-color-accent-high: hsl(152, 100%, 24%);
156
+ --sl-color-accent: hsl(155, 100%, 26%);
157
+ --sl-color-accent-low: hsl(152, 85%, 89%);
158
+
159
+ --sl-color-backdrop-overlay: hsla(150, 30%, 35%, 0.66);
160
+ }