@jet-w/astro-blog 0.1.6 → 0.2.1

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 (122) hide show
  1. package/dist/chunk-6D3XRDNY.js +145 -0
  2. package/dist/chunk-A2E2VSAQ.js +246 -0
  3. package/dist/{chunk-GYLSY3OJ.js → chunk-TJTPX2WP.js} +1 -1
  4. package/dist/config/index.d.ts +3 -47
  5. package/dist/config/index.js +18 -2
  6. package/dist/i18n-PgMCFBw0.d.ts +222 -0
  7. package/dist/index.d.ts +204 -7
  8. package/dist/index.js +255 -3
  9. package/dist/integration.d.ts +9 -1
  10. package/dist/integration.js +2 -1
  11. package/dist/{sidebar-DNdiCKBw.d.ts → sidebar-Da-W_4Lr.d.ts} +1 -1
  12. package/dist/utils/sidebar.d.ts +1 -1
  13. package/package.json +1 -1
  14. package/src/components/blog/FloatingToc.vue +11 -3
  15. package/src/components/blog/Hero.astro +17 -2
  16. package/src/components/blog/NavigationTabs.vue +46 -15
  17. package/src/components/blog/PostCard.astro +28 -10
  18. package/src/components/blog/RelatedPosts.astro +23 -7
  19. package/src/components/blog/TableOfContents.astro +10 -4
  20. package/src/components/blog/TagCloud.astro +4 -3
  21. package/src/components/home/FeaturedPostsSection.astro +22 -6
  22. package/src/components/home/QuickNavSection.astro +33 -4
  23. package/src/components/home/RecentPostsSection.astro +22 -6
  24. package/src/components/home/StatsSection.astro +24 -6
  25. package/src/components/layout/Footer.astro +36 -20
  26. package/src/components/layout/Header.astro +75 -17
  27. package/src/components/layout/Sidebar.astro +40 -25
  28. package/src/components/ui/LanguageSwitcher.vue +183 -0
  29. package/src/components/ui/SearchBox.vue +13 -5
  30. package/src/components/ui/SearchInterface.vue +49 -25
  31. package/src/layouts/BaseLayout.astro +77 -52
  32. package/src/layouts/PageLayout.astro +22 -27
  33. package/src/layouts/SlidesLayout.astro +14 -2
  34. package/src/pages/archives/[year]/[month].astro +36 -17
  35. package/src/pages/archives/index.astro +36 -20
  36. package/src/pages/categories/[category].astro +33 -16
  37. package/src/pages/categories/index.astro +37 -14
  38. package/src/pages/posts/[...slug].astro +125 -18
  39. package/src/pages/posts/index.astro +59 -37
  40. package/src/pages/posts/page/[page].astro +65 -27
  41. package/src/pages/rss.xml.ts +18 -6
  42. package/src/pages/search.astro +50 -14
  43. package/src/pages/slides/index.astro +25 -6
  44. package/src/pages/tags/[tag].astro +32 -15
  45. package/src/pages/tags/index.astro +39 -16
  46. package/src/plugins/remark-containers.mjs +351 -322
  47. package/src/plugins/remark-protect-code.mjs +69 -0
  48. package/src/styles/global.css +35 -1
  49. package/templates/default/.claude/ralph-loop.local.md +48 -0
  50. package/templates/default/astro.config.mjs +33 -4
  51. package/templates/default/content/posts/blog_docs_en/01.get-started/01-intro.md +81 -0
  52. package/templates/default/content/posts/blog_docs_en/01.get-started/02-install.md +137 -0
  53. package/templates/default/content/posts/blog_docs_en/01.get-started/03-create-post.md +176 -0
  54. package/templates/default/content/posts/blog_docs_en/01.get-started/04-structure.md +173 -0
  55. package/templates/default/content/posts/blog_docs_en/01.get-started/05-deploy.md +208 -0
  56. package/templates/default/content/posts/blog_docs_en/01.get-started/README.md +52 -0
  57. package/templates/default/content/posts/blog_docs_en/02.guide/02-containers.md +245 -0
  58. package/templates/default/content/posts/blog_docs_en/02.guide/03-code-blocks.md +207 -0
  59. package/templates/default/content/posts/blog_docs_en/02.guide/03-mermaid.md +194 -0
  60. package/templates/default/content/posts/blog_docs_en/02.guide/04-icons.md +229 -0
  61. package/templates/default/content/posts/blog_docs_en/02.guide/06-latex.md +233 -0
  62. package/templates/default/content/posts/blog_docs_en/02.guide/07-video.md +184 -0
  63. package/templates/default/content/posts/blog_docs_en/02.guide/08-slides.md +359 -0
  64. package/templates/default/content/posts/blog_docs_en/02.guide/README.md +213 -0
  65. package/templates/default/content/posts/blog_docs_en/03.config/01-site.md +208 -0
  66. package/templates/default/content/posts/blog_docs_en/03.config/02-sidebar.md +240 -0
  67. package/templates/default/content/posts/blog_docs_en/03.config/03-i18n.md +349 -0
  68. package/templates/default/content/posts/blog_docs_en/03.config/README.md +85 -0
  69. package/templates/default/content/posts/blog_docs_en/README.md +79 -0
  70. package/templates/default/content/posts/blog_docs_zh/01.get-started/01-intro.md +81 -0
  71. package/templates/default/content/posts/blog_docs_zh/01.get-started/02-install.md +137 -0
  72. package/templates/default/content/posts/blog_docs_zh/01.get-started/03-create-post.md +176 -0
  73. package/templates/default/content/posts/blog_docs_zh/01.get-started/04-structure.md +173 -0
  74. package/templates/default/content/posts/blog_docs_zh/01.get-started/05-deploy.md +208 -0
  75. package/templates/default/content/posts/blog_docs_zh/01.get-started/README.md +52 -0
  76. package/templates/default/content/posts/blog_docs_zh/02.guide/02-containers.md +245 -0
  77. package/templates/default/content/posts/blog_docs_zh/02.guide/03-code-blocks.md +206 -0
  78. package/templates/default/content/posts/blog_docs_zh/02.guide/03-mermaid.md +194 -0
  79. package/templates/default/content/posts/blog_docs_zh/02.guide/04-icons.md +229 -0
  80. package/templates/default/content/posts/blog_docs_zh/02.guide/06-latex.md +233 -0
  81. package/templates/default/content/posts/blog_docs_zh/02.guide/07-video.md +184 -0
  82. package/templates/default/content/posts/blog_docs_zh/02.guide/08-slides.md +359 -0
  83. package/templates/default/content/posts/blog_docs_zh/02.guide/README.md +213 -0
  84. package/templates/default/content/posts/blog_docs_zh/03.config/01-site.md +208 -0
  85. package/templates/default/content/posts/blog_docs_zh/03.config/02-sidebar.md +240 -0
  86. package/templates/default/content/posts/blog_docs_zh/03.config/03-i18n.md +348 -0
  87. package/templates/default/content/posts/blog_docs_zh/03.config/README.md +85 -0
  88. package/templates/default/content/posts/blog_docs_zh/README.md +78 -0
  89. package/templates/default/package-lock.json +9667 -0
  90. package/templates/default/package.json +1 -1
  91. package/templates/default/src/config/footer.ts +14 -11
  92. package/templates/default/src/config/locales/en/footer.ts +17 -0
  93. package/templates/default/src/config/locales/en/index.ts +20 -0
  94. package/templates/default/src/config/locales/en/menu.ts +14 -0
  95. package/templates/default/src/config/locales/en/sidebar.ts +34 -0
  96. package/templates/default/src/config/locales/en/site.ts +7 -0
  97. package/templates/default/src/config/locales/en/ui.ts +29 -0
  98. package/templates/default/src/config/locales/index.ts +7 -0
  99. package/templates/default/src/config/locales/zh-CN/footer.ts +17 -0
  100. package/templates/default/src/config/locales/zh-CN/index.ts +20 -0
  101. package/templates/default/src/config/locales/zh-CN/menu.ts +14 -0
  102. package/templates/default/src/config/locales/zh-CN/sidebar.ts +34 -0
  103. package/templates/default/src/config/locales/zh-CN/site.ts +7 -0
  104. package/templates/default/src/config/locales/zh-CN/ui.ts +29 -0
  105. package/templates/default/src/config/sidebar.ts +10 -12
  106. package/templates/default/src/config/site.ts +2 -2
  107. package/templates/default/src/content.config.ts +15 -3
  108. package/templates/default/src/env.d.ts +7 -0
  109. package/dist/chunk-MQXPSOYB.js +0 -124
  110. package/templates/default/content/posts/blog_docs/01-quick-start.md +0 -162
  111. package/templates/default/content/posts/blog_docs/02-frontmatter.md +0 -277
  112. package/templates/default/content/posts/blog_docs/03-markdown-basic.md +0 -350
  113. package/templates/default/content/posts/blog_docs/04-containers.md +0 -331
  114. package/templates/default/content/posts/blog_docs/05-code-blocks.md +0 -388
  115. package/templates/default/content/posts/blog_docs/06-mermaid.md +0 -431
  116. package/templates/default/content/posts/blog_docs/07-video.md +0 -243
  117. package/templates/default/content/posts/blog_docs/08-latex.md +0 -382
  118. package/templates/default/content/posts/blog_docs/09-icons.md +0 -326
  119. package/templates/default/content/posts/blog_docs/10-sidebar.md +0 -445
  120. package/templates/default/content/posts/blog_docs/11-config.md +0 -334
  121. package/templates/default/content/posts/blog_docs/12-slides.mdx +0 -552
  122. package/templates/default/content/posts/blog_docs/README.md +0 -151
@@ -0,0 +1,233 @@
1
+ ---
2
+ title: LaTeX Math
3
+ description: Write mathematical formulas with LaTeX and KaTeX
4
+ pubDate: 2025-01-01
5
+ author: jet-w
6
+ categories:
7
+ - Documentation
8
+ tags:
9
+ - LaTeX
10
+ - Math
11
+ ---
12
+
13
+ # LaTeX Math
14
+
15
+ Write beautiful mathematical formulas using LaTeX syntax, rendered with [KaTeX](https://katex.org).
16
+
17
+ ## Inline Math
18
+
19
+ Use single `$` for inline formulas:
20
+
21
+ ```markdown
22
+ The famous equation $E = mc^2$ changed physics.
23
+ ```
24
+
25
+ The famous equation $E = mc^2$ changed physics.
26
+
27
+ More examples:
28
+ - Area of circle: $A = \pi r^2$
29
+ - Pythagorean theorem: $a^2 + b^2 = c^2$
30
+ - Quadratic formula: $x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}$
31
+
32
+ ## Block Math
33
+
34
+ Use double `$$` for centered, block-level formulas:
35
+
36
+ ```markdown
37
+ $$
38
+ \int_0^\infty e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
39
+ $$
40
+ ```
41
+
42
+ $$
43
+ \int_0^\infty e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
44
+ $$
45
+
46
+ ## Basic Syntax
47
+
48
+ ### Superscripts and Subscripts
49
+
50
+ | Syntax | Result |
51
+ |--------|--------|
52
+ | `x^2` | $x^2$ |
53
+ | `x_i` | $x_i$ |
54
+ | `x_i^2` | $x_i^2$ |
55
+ | `x^{10}` | $x^{10}$ |
56
+
57
+ ### Fractions
58
+
59
+ ```latex
60
+ $$
61
+ \frac{a}{b} \quad \frac{1}{2} \quad \frac{x+1}{y-1}
62
+ $$
63
+ ```
64
+
65
+ $$
66
+ \frac{a}{b} \quad \frac{1}{2} \quad \frac{x+1}{y-1}
67
+ $$
68
+
69
+ ### Square Roots
70
+
71
+ ```latex
72
+ $$
73
+ \sqrt{2} \quad \sqrt{x+y} \quad \sqrt[3]{8}
74
+ $$
75
+ ```
76
+
77
+ $$
78
+ \sqrt{2} \quad \sqrt{x+y} \quad \sqrt[3]{8}
79
+ $$
80
+
81
+ ## Greek Letters
82
+
83
+ | Letter | Syntax | Letter | Syntax |
84
+ |--------|--------|--------|--------|
85
+ | $\alpha$ | `\alpha` | $\beta$ | `\beta` |
86
+ | $\gamma$ | `\gamma` | $\delta$ | `\delta` |
87
+ | $\pi$ | `\pi` | $\sigma$ | `\sigma` |
88
+ | $\theta$ | `\theta` | $\lambda$ | `\lambda` |
89
+ | $\Omega$ | `\Omega` | $\Sigma$ | `\Sigma` |
90
+
91
+ ## Operators
92
+
93
+ ### Sums and Products
94
+
95
+ ```latex
96
+ $$
97
+ \sum_{i=1}^{n} x_i \quad \prod_{i=1}^{n} x_i
98
+ $$
99
+ ```
100
+
101
+ $$
102
+ \sum_{i=1}^{n} x_i \quad \prod_{i=1}^{n} x_i
103
+ $$
104
+
105
+ ### Integrals
106
+
107
+ ```latex
108
+ $$
109
+ \int_a^b f(x)dx \quad \iint_D f(x,y)dxdy \quad \oint_C f(z)dz
110
+ $$
111
+ ```
112
+
113
+ $$
114
+ \int_a^b f(x)dx \quad \iint_D f(x,y)dxdy \quad \oint_C f(z)dz
115
+ $$
116
+
117
+ ### Limits
118
+
119
+ ```latex
120
+ $$
121
+ \lim_{x \to \infty} \frac{1}{x} = 0
122
+ $$
123
+ ```
124
+
125
+ $$
126
+ \lim_{x \to \infty} \frac{1}{x} = 0
127
+ $$
128
+
129
+ ## Matrices
130
+
131
+ ```latex
132
+ $$
133
+ \begin{pmatrix}
134
+ a & b \\
135
+ c & d
136
+ \end{pmatrix}
137
+ \quad
138
+ \begin{bmatrix}
139
+ 1 & 2 & 3 \\
140
+ 4 & 5 & 6
141
+ \end{bmatrix}
142
+ $$
143
+ ```
144
+
145
+ $$
146
+ \begin{pmatrix}
147
+ a & b \\
148
+ c & d
149
+ \end{pmatrix}
150
+ \quad
151
+ \begin{bmatrix}
152
+ 1 & 2 & 3 \\
153
+ 4 & 5 & 6
154
+ \end{bmatrix}
155
+ $$
156
+
157
+ ## Equations
158
+
159
+ ### Aligned Equations
160
+
161
+ ```latex
162
+ $$
163
+ \begin{aligned}
164
+ (a+b)^2 &= a^2 + 2ab + b^2 \\
165
+ (a-b)^2 &= a^2 - 2ab + b^2
166
+ \end{aligned}
167
+ $$
168
+ ```
169
+
170
+ $$
171
+ \begin{aligned}
172
+ (a+b)^2 &= a^2 + 2ab + b^2 \\
173
+ (a-b)^2 &= a^2 - 2ab + b^2
174
+ \end{aligned}
175
+ $$
176
+
177
+ ### Cases
178
+
179
+ ```latex
180
+ $$
181
+ f(x) = \begin{cases}
182
+ x^2 & \text{if } x \geq 0 \\
183
+ -x^2 & \text{if } x < 0
184
+ \end{cases}
185
+ $$
186
+ ```
187
+
188
+ $$
189
+ f(x) = \begin{cases}
190
+ x^2 & \text{if } x \geq 0 \\
191
+ -x^2 & \text{if } x < 0
192
+ \end{cases}
193
+ $$
194
+
195
+ ## Common Formulas
196
+
197
+ ### Statistics
198
+
199
+ Standard deviation:
200
+ $$
201
+ \sigma = \sqrt{\frac{1}{N}\sum_{i=1}^{N}(x_i - \mu)^2}
202
+ $$
203
+
204
+ ### Calculus
205
+
206
+ Taylor series:
207
+ $$
208
+ e^x = \sum_{n=0}^{\infty} \frac{x^n}{n!} = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \cdots
209
+ $$
210
+
211
+ ### Physics
212
+
213
+ Maxwell's equations:
214
+ $$
215
+ \nabla \cdot \mathbf{E} = \frac{\rho}{\varepsilon_0}
216
+ $$
217
+
218
+ ## Tips
219
+
220
+ ::: tip Best Practices
221
+ 1. **Use inline math** for simple formulas in text
222
+ 2. **Use block math** for complex or important equations
223
+ 3. **Add spacing** with `\quad` between elements
224
+ 4. **Test rendering** - KaTeX doesn't support all LaTeX
225
+ :::
226
+
227
+ ::: info Reference
228
+ Full KaTeX syntax: [katex.org/docs/supported.html](https://katex.org/docs/supported.html)
229
+ :::
230
+
231
+ ---
232
+
233
+ Next: [Video Embedding](./03-video) for multimedia content.
@@ -0,0 +1,184 @@
1
+ ---
2
+ title: Video Embedding
3
+ description: Embed YouTube, Bilibili, and custom videos in your posts
4
+ pubDate: 2025-01-01
5
+ author: jet-w
6
+ categories:
7
+ - Documentation
8
+ tags:
9
+ - Video
10
+ - Multimedia
11
+ ---
12
+
13
+ # Video Embedding
14
+
15
+ Add videos to make your content more engaging and informative.
16
+
17
+ ## YouTube
18
+
19
+ Embed YouTube videos using the component:
20
+
21
+ ```markdown
22
+ <YouTube id="dQw4w9WgXcQ" />
23
+ ```
24
+
25
+ Or with a full URL:
26
+
27
+ ```markdown
28
+ <YouTube url="https://www.youtube.com/watch?v=dQw4w9WgXcQ" />
29
+ ```
30
+
31
+ ### Options
32
+
33
+ ```markdown
34
+ <YouTube
35
+ id="dQw4w9WgXcQ"
36
+ title="Video Title"
37
+ start={30}
38
+ />
39
+ ```
40
+
41
+ | Option | Description |
42
+ |--------|-------------|
43
+ | `id` | YouTube video ID |
44
+ | `url` | Full YouTube URL |
45
+ | `title` | Video title for accessibility |
46
+ | `start` | Start time in seconds |
47
+
48
+ ## Bilibili
49
+
50
+ For Bilibili videos:
51
+
52
+ ```markdown
53
+ <Bilibili bvid="BV1xx411c7mD" />
54
+ ```
55
+
56
+ Or with AV number:
57
+
58
+ ```markdown
59
+ <Bilibili aid="123456789" />
60
+ ```
61
+
62
+ ### Options
63
+
64
+ ```markdown
65
+ <Bilibili
66
+ bvid="BV1xx411c7mD"
67
+ page={1}
68
+ title="Video Title"
69
+ />
70
+ ```
71
+
72
+ | Option | Description |
73
+ |--------|-------------|
74
+ | `bvid` | Bilibili BV ID |
75
+ | `aid` | Bilibili AV number |
76
+ | `page` | Part number (for multi-part videos) |
77
+ | `title` | Video title |
78
+
79
+ ## Self-Hosted Videos
80
+
81
+ For videos in your `public/` folder:
82
+
83
+ ```markdown
84
+ <Video src="/videos/demo.mp4" />
85
+ ```
86
+
87
+ ### Options
88
+
89
+ ```markdown
90
+ <Video
91
+ src="/videos/demo.mp4"
92
+ poster="/images/video-cover.jpg"
93
+ autoplay
94
+ muted
95
+ loop
96
+ />
97
+ ```
98
+
99
+ | Option | Description |
100
+ |--------|-------------|
101
+ | `src` | Video file path |
102
+ | `poster` | Cover image URL |
103
+ | `autoplay` | Auto-play on load |
104
+ | `muted` | Muted by default |
105
+ | `loop` | Loop playback |
106
+ | `controls` | Show controls (default: true) |
107
+
108
+ ## HTML5 Video
109
+
110
+ You can also use standard HTML5:
111
+
112
+ ```html
113
+ <video
114
+ src="/videos/demo.mp4"
115
+ controls
116
+ width="100%"
117
+ poster="/images/cover.jpg">
118
+ Your browser doesn't support video.
119
+ </video>
120
+ ```
121
+
122
+ ### Multiple Sources
123
+
124
+ ```html
125
+ <video controls width="100%">
126
+ <source src="/videos/demo.webm" type="video/webm">
127
+ <source src="/videos/demo.mp4" type="video/mp4">
128
+ Your browser doesn't support video.
129
+ </video>
130
+ ```
131
+
132
+ ## Video Formats
133
+
134
+ | Format | Extension | Support |
135
+ |--------|-----------|---------|
136
+ | MP4 (H.264) | `.mp4` | Best compatibility |
137
+ | WebM | `.webm` | Good compression |
138
+ | Ogg | `.ogv` | Open format |
139
+
140
+ ::: tip Recommendation
141
+ Use **MP4 (H.264)** for best browser support. WebM is a good secondary option.
142
+ :::
143
+
144
+ ## Responsive Videos
145
+
146
+ Videos are responsive by default. For custom aspect ratios:
147
+
148
+ ```html
149
+ <div style="aspect-ratio: 16/9;">
150
+ <Video src="/videos/demo.mp4" style="width: 100%; height: 100%;" />
151
+ </div>
152
+ ```
153
+
154
+ ## Best Practices
155
+
156
+ ::: info Video Guidelines
157
+ 1. **Optimize file size** - Compress videos for web
158
+ 2. **Add poster images** - Show a preview before loading
159
+ 3. **Provide captions** - Improve accessibility
160
+ 4. **Consider autoplay carefully** - Can be annoying
161
+ 5. **Use lazy loading** - Don't load videos until needed
162
+ :::
163
+
164
+ ::: warning File Size
165
+ Keep videos under 10MB when possible. For longer videos, consider hosting on YouTube or Vimeo.
166
+ :::
167
+
168
+ ## External Embedding
169
+
170
+ For other platforms, use their embed codes:
171
+
172
+ ```html
173
+ <iframe
174
+ src="https://player.vimeo.com/video/123456789"
175
+ width="640"
176
+ height="360"
177
+ frameborder="0"
178
+ allowfullscreen>
179
+ </iframe>
180
+ ```
181
+
182
+ ---
183
+
184
+ Next: [Icons](./04-icons) to add visual elements.