hexo-theme-stellar 1.44.0 → 2.0.0-rc.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 (376) hide show
  1. package/CHANGELOG.md +39 -5
  2. package/CONTRIBUTING.md +29 -120
  3. package/README.md +60 -59
  4. package/README_EN.md +44 -74
  5. package/_config.yml +884 -744
  6. package/_data/icons.yml +43 -171
  7. package/_data/widgets.yml +1 -1
  8. package/languages/en.yml +59 -2
  9. package/languages/zh-CN.yml +59 -2
  10. package/languages/zh-TW.yml +59 -2
  11. package/layout/404.ejs +4 -4
  12. package/layout/_partial/comments/artalk/layout.ejs +3 -2
  13. package/layout/_partial/comments/beaudar/layout.ejs +2 -2
  14. package/layout/_partial/comments/giscus/layout.ejs +2 -5
  15. package/layout/_partial/comments/layout.ejs +11 -40
  16. package/layout/_partial/comments/twikoo/layout.ejs +3 -2
  17. package/layout/_partial/comments/utterances/layout.ejs +2 -2
  18. package/layout/_partial/comments/waline/layout.ejs +3 -2
  19. package/layout/_partial/components/collection-item.ejs +30 -13
  20. package/layout/_partial/components/collection.ejs +2 -2
  21. package/layout/_partial/cover/index.ejs +5 -2
  22. package/layout/_partial/cover/wiki_cover.ejs +39 -28
  23. package/layout/_partial/dropdown.ejs +26 -14
  24. package/layout/_partial/head.ejs +94 -67
  25. package/layout/_partial/main/article/contributors.ejs +12 -9
  26. package/layout/_partial/main/article/post_footer.ejs +47 -0
  27. package/layout/_partial/main/article/post_read_next.ejs +22 -0
  28. package/layout/_partial/main/article/post_related.ejs +14 -0
  29. package/layout/_partial/main/article/post_tags.ejs +12 -0
  30. package/layout/_partial/main/article/share.ejs +55 -0
  31. package/layout/_partial/main/footer.ejs +11 -10
  32. package/layout/_partial/main/{navbar/nav_tabs_blog.ejs → listing_nav/blog.ejs} +21 -18
  33. package/layout/_partial/main/listing_nav/wiki.ejs +56 -0
  34. package/layout/_partial/main/navbar/article_banner.ejs +39 -35
  35. package/layout/_partial/main/navbar/breadcrumb/blog.ejs +15 -28
  36. package/layout/_partial/main/navbar/breadcrumb/note.ejs +12 -5
  37. package/layout/_partial/main/navbar/breadcrumb/wiki.ejs +15 -11
  38. package/layout/_partial/main/navbar/dateinfo.ejs +28 -12
  39. package/layout/_partial/main/navbar/ghinfo.ejs +5 -3
  40. package/layout/_partial/main/notebook/note_card.ejs +12 -17
  41. package/layout/_partial/main/notebook/note_tags.ejs +3 -4
  42. package/layout/_partial/main/notebook/notebook_card.ejs +11 -4
  43. package/layout/_partial/main/pin_slider.ejs +48 -43
  44. package/layout/_partial/main/post_list/archive_item.ejs +8 -4
  45. package/layout/_partial/main/post_list/latest_post_card.ejs +10 -4
  46. package/layout/_partial/main/post_list/post_card.ejs +39 -90
  47. package/layout/_partial/main/post_list/topic_card.ejs +7 -5
  48. package/layout/_partial/main/post_list/wiki_card.ejs +16 -13
  49. package/layout/_partial/menubtn.ejs +3 -3
  50. package/layout/_partial/primitives/item.ejs +8 -0
  51. package/layout/_partial/primitives/navigation.ejs +17 -0
  52. package/layout/_partial/primitives/region.ejs +16 -0
  53. package/layout/_partial/primitives/section.ejs +8 -0
  54. package/layout/_partial/primitives/shell.ejs +34 -0
  55. package/layout/_partial/regions/widgets.ejs +84 -0
  56. package/layout/_partial/scripts/defines.ejs +46 -76
  57. package/layout/_partial/scripts/runtime.ejs +51 -0
  58. package/layout/_partial/scripts.ejs +18 -42
  59. package/layout/_partial/search/dialog.ejs +33 -0
  60. package/layout/_partial/search/shortcut.ejs +1 -0
  61. package/layout/_partial/sidebar/brand.ejs +127 -0
  62. package/layout/_partial/sidebar/menu.ejs +59 -14
  63. package/layout/_partial/sidebar/search.ejs +58 -41
  64. package/layout/_partial/widgets/actions.ejs +25 -0
  65. package/layout/_partial/widgets/author.ejs +9 -5
  66. package/layout/_partial/widgets/components/linklist.ejs +1 -2
  67. package/layout/_partial/widgets/ghissues.ejs +7 -10
  68. package/layout/_partial/widgets/ghrepo.ejs +23 -16
  69. package/layout/_partial/widgets/ghuser.ejs +3 -3
  70. package/layout/_partial/widgets/recent.ejs +25 -21
  71. package/layout/_partial/widgets/related.ejs +25 -34
  72. package/layout/_partial/widgets/settings.ejs +17 -0
  73. package/layout/_partial/widgets/tagtree.ejs +18 -10
  74. package/layout/_partial/widgets/toc.ejs +17 -9
  75. package/layout/_partial/widgets/tree.ejs +12 -13
  76. package/layout/archive.ejs +20 -13
  77. package/layout/categories.ejs +4 -3
  78. package/layout/collection-preview.ejs +8 -9
  79. package/layout/index.ejs +32 -43
  80. package/layout/index_topic.ejs +6 -13
  81. package/layout/index_wiki.ejs +17 -34
  82. package/layout/layout.ejs +192 -65
  83. package/layout/notebooks.ejs +3 -3
  84. package/layout/notes.ejs +4 -4
  85. package/layout/page.ejs +95 -50
  86. package/layout/settings.ejs +109 -0
  87. package/layout/tags.ejs +4 -3
  88. package/{THIRD-PARTY-NOTICES.md → legal/THIRD-PARTY-NOTICES.md} +8 -4
  89. package/package.json +15 -3
  90. package/scripts/commands/stellar.js +55 -0
  91. package/scripts/events/index.js +15 -9
  92. package/scripts/events/lib/authors.js +9 -7
  93. package/scripts/events/lib/config-hot-reload.js +65 -0
  94. package/scripts/events/lib/config-schema.js +20 -0
  95. package/scripts/events/lib/config.js +22 -63
  96. package/scripts/events/lib/content-config.js +5 -0
  97. package/scripts/events/lib/doc_tree.js +99 -9
  98. package/scripts/events/lib/links.js +6 -3
  99. package/scripts/events/lib/notebooks.js +200 -8
  100. package/scripts/events/lib/utils.js +4 -4
  101. package/scripts/events/lib/version-check.js +57 -3
  102. package/scripts/filters/index.js +2 -27
  103. package/scripts/filters/lib/img_lazyload.js +4 -126
  104. package/scripts/filters/lib/img_onerror.js +14 -17
  105. package/scripts/filters/lib/page-view-model.js +152 -0
  106. package/scripts/generators/404.js +13 -8
  107. package/scripts/generators/author.js +16 -11
  108. package/scripts/generators/notebooks.js +68 -39
  109. package/scripts/generators/search.js +62 -67
  110. package/scripts/generators/settings.js +43 -0
  111. package/scripts/generators/stellar-icons.js +13 -5
  112. package/scripts/generators/topic.js +24 -13
  113. package/scripts/generators/wiki.js +49 -21
  114. package/scripts/helpers/ai_label.js +6 -12
  115. package/scripts/helpers/brand.js +17 -0
  116. package/scripts/helpers/browser_runtime_manifest.js +12 -0
  117. package/scripts/helpers/caption.js +8 -0
  118. package/scripts/helpers/category_color.js +13 -13
  119. package/scripts/helpers/collection.js +18 -0
  120. package/scripts/helpers/comments_model.js +14 -0
  121. package/scripts/helpers/extension_assets.js +8 -0
  122. package/scripts/helpers/json_ld.js +16 -7
  123. package/scripts/helpers/mdrender.js +3 -9
  124. package/scripts/helpers/menu.js +9 -0
  125. package/scripts/helpers/post_view_model.js +23 -0
  126. package/scripts/helpers/regions.js +37 -0
  127. package/scripts/helpers/scrollreveal.js +7 -7
  128. package/scripts/helpers/search_domain.js +34 -0
  129. package/scripts/helpers/service_provider.js +9 -0
  130. package/scripts/helpers/settings.js +16 -0
  131. package/scripts/helpers/share_action.js +8 -0
  132. package/scripts/helpers/stellar_config.js +12 -0
  133. package/scripts/helpers/stellar_data.js +8 -0
  134. package/scripts/helpers/stellar_info.js +21 -16
  135. package/scripts/helpers/stellar_inject.js +9 -0
  136. package/scripts/helpers/ui_classes.js +12 -0
  137. package/scripts/lib/ai_label.js +14 -11
  138. package/scripts/lib/brand.js +41 -0
  139. package/scripts/lib/browser-runtime.js +115 -0
  140. package/scripts/lib/caption.js +21 -0
  141. package/scripts/lib/collection-pipeline/adapters/notebook.js +62 -0
  142. package/scripts/lib/collection-pipeline/adapters/post.js +20 -0
  143. package/scripts/lib/collection-pipeline/adapters/topic.js +82 -0
  144. package/scripts/lib/collection-pipeline/adapters/wiki.js +20 -0
  145. package/scripts/lib/collection-pipeline/index.js +169 -0
  146. package/scripts/lib/collection-pipeline/registry.js +27 -0
  147. package/scripts/lib/collection-pipeline/shared.js +164 -0
  148. package/scripts/lib/comments.js +60 -0
  149. package/scripts/lib/config-inject.js +20 -0
  150. package/scripts/lib/config-schema.js +1095 -0
  151. package/scripts/lib/content-config.js +157 -0
  152. package/scripts/lib/content-defaults.js +52 -0
  153. package/scripts/lib/content-membership.js +233 -0
  154. package/scripts/lib/contribution-contract.js +165 -0
  155. package/scripts/lib/contribution-registry.js +429 -0
  156. package/scripts/lib/doc_tree.js +46 -44
  157. package/scripts/lib/doctor.js +296 -0
  158. package/scripts/lib/front-matter.js +29 -0
  159. package/scripts/lib/hero-effect-registry.js +262 -0
  160. package/scripts/lib/html-images.js +128 -0
  161. package/scripts/lib/internal-constants.js +152 -0
  162. package/scripts/lib/layout-config.js +62 -0
  163. package/scripts/lib/mdrender_html.js +36 -23
  164. package/scripts/lib/menu.js +36 -0
  165. package/scripts/lib/model-schema.js +90 -0
  166. package/scripts/lib/models/index.js +1538 -0
  167. package/scripts/lib/new-note.js +172 -0
  168. package/scripts/lib/page-view-model-registry.js +103 -0
  169. package/scripts/lib/regions.js +132 -0
  170. package/scripts/lib/runtime-data.js +23 -0
  171. package/scripts/lib/safe-path.js +44 -0
  172. package/scripts/lib/search-domain.js +59 -0
  173. package/scripts/lib/seo.js +10 -10
  174. package/scripts/lib/service-provider.js +12 -0
  175. package/scripts/lib/settings.js +16 -0
  176. package/scripts/lib/share-services.js +96 -0
  177. package/scripts/lib/source-config.js +27 -0
  178. package/scripts/lib/theme-metadata.js +22 -0
  179. package/scripts/lib/ui-capabilities.js +32 -0
  180. package/scripts/lib/widget-registry.js +150 -0
  181. package/scripts/lib/wiki_readme.js +15 -11
  182. package/scripts/schema/config-rules.js +288 -0
  183. package/scripts/schema/config-schema.js +162 -0
  184. package/scripts/schema/content-config-rules.js +262 -0
  185. package/scripts/schema/content-config-schema.js +321 -0
  186. package/scripts/schema/model-schema.js +965 -0
  187. package/scripts/schema/schema-utils.js +48 -0
  188. package/scripts/tags/index.js +2 -3
  189. package/scripts/tags/lib/albums.js +6 -6
  190. package/scripts/tags/lib/banner.js +10 -4
  191. package/scripts/tags/lib/box.js +1 -1
  192. package/scripts/tags/lib/button.js +1 -1
  193. package/scripts/tags/lib/chat.js +9 -31
  194. package/scripts/tags/lib/checkbox.js +6 -1
  195. package/scripts/tags/lib/copy.js +4 -1
  196. package/scripts/tags/lib/dropdown.js +6 -4
  197. package/scripts/tags/lib/emoji.js +5 -10
  198. package/scripts/tags/lib/friends.js +4 -4
  199. package/scripts/tags/lib/gallery.js +7 -7
  200. package/scripts/tags/lib/ghcard.js +5 -3
  201. package/scripts/tags/lib/gist.js +16 -0
  202. package/scripts/tags/lib/grid.js +4 -2
  203. package/scripts/tags/lib/hashtag.js +1 -1
  204. package/scripts/tags/lib/icon.js +1 -1
  205. package/scripts/tags/lib/image.js +1 -1
  206. package/scripts/tags/lib/link.js +6 -3
  207. package/scripts/tags/lib/mark.js +8 -3
  208. package/scripts/tags/lib/md.js +1 -1
  209. package/scripts/tags/lib/note.js +1 -1
  210. package/scripts/tags/lib/okr.js +18 -1
  211. package/scripts/tags/lib/posters.js +6 -6
  212. package/scripts/tags/lib/quot.js +15 -5
  213. package/scripts/tags/lib/rating.js +7 -4
  214. package/scripts/tags/lib/sites.js +8 -6
  215. package/scripts/tags/lib/tip.js +6 -6
  216. package/scripts/tags/lib/toc.js +2 -2
  217. package/scripts/tags/lib/vote.js +8 -5
  218. package/source/css/_appearances/_mixins.styl +258 -0
  219. package/source/css/_appearances/card.styl +30 -0
  220. package/source/css/_appearances/flat.styl +44 -0
  221. package/source/css/_appearances/glass.styl +138 -0
  222. package/source/css/_appearances/minimal.styl +325 -0
  223. package/source/css/_common/base.styl +5 -9
  224. package/source/css/_common/blockquote.styl +0 -1
  225. package/source/css/_common/button.styl +1 -1
  226. package/source/css/_common/device.styl +24 -42
  227. package/source/css/_common/dropdown.styl +20 -14
  228. package/source/css/_common/highlight.styl +5 -12
  229. package/source/css/_common/icon.styl +38 -0
  230. package/source/css/_common/input.styl +33 -0
  231. package/source/css/_common/loading.styl +2 -2
  232. package/source/css/_common/svg.styl +0 -8
  233. package/source/css/_components/collection.styl +21 -64
  234. package/source/css/_components/layout.styl +524 -84
  235. package/source/css/_components/list.styl +36 -22
  236. package/source/css/_components/main.styl +16 -19
  237. package/source/css/_components/md.styl +8 -13
  238. package/source/css/_components/pages/article-indent.styl +1 -1
  239. package/source/css/_components/pages/article-story.styl +7 -6
  240. package/source/css/_components/pages/article-tech.styl +5 -5
  241. package/source/css/_components/pages/collection-preview.styl +1 -5
  242. package/source/css/_components/pages/settings.styl +184 -0
  243. package/source/css/_components/partial/article-banner.styl +2 -2
  244. package/source/css/_components/partial/article-footer.styl +0 -32
  245. package/source/css/_components/partial/article-share.styl +48 -0
  246. package/source/css/_components/partial/article-tags.styl +1 -1
  247. package/source/css/_components/partial/cover.styl +13 -13
  248. package/source/css/_components/partial/listing-nav.styl +68 -0
  249. package/source/css/_components/partial/paginator.styl +1 -1
  250. package/source/css/_components/pin-slider.styl +3 -3
  251. package/source/css/_components/sidebar/brand.styl +135 -0
  252. package/source/css/_components/sidebar/footer.styl +14 -31
  253. package/source/css/_components/sidebar/nav-area.styl +4 -0
  254. package/source/css/_components/sidebar/search.styl +176 -26
  255. package/source/css/_components/sidebar/sidebar.styl +76 -110
  256. package/source/css/_components/tag-plugins/banner.styl +16 -28
  257. package/source/css/_components/tag-plugins/checkbox.styl +7 -22
  258. package/source/css/_components/tag-plugins/copy.styl +3 -5
  259. package/source/css/_components/tag-plugins/gallery.styl +2 -2
  260. package/source/css/_components/tag-plugins/grid.styl +3 -0
  261. package/source/css/_components/tag-plugins/image.styl +2 -1
  262. package/source/css/_components/tag-plugins/link.styl +0 -1
  263. package/source/css/_components/tag-plugins/mark.styl +19 -4
  264. package/source/css/_components/tag-plugins/mdrender.styl +2 -2
  265. package/source/css/_components/tag-plugins/navbar.styl +23 -17
  266. package/source/css/_components/tag-plugins/note.styl +2 -2
  267. package/source/css/_components/tag-plugins/okr.styl +1 -2
  268. package/source/css/_components/tag-plugins/quot.styl +5 -0
  269. package/source/css/_components/tag-plugins/rating.styl +3 -2
  270. package/source/css/_components/tag-plugins/timeline.styl +1 -1
  271. package/source/css/_components/tag-plugins/tip.styl +1 -1
  272. package/source/css/_components/tag-plugins/vote.styl +3 -2
  273. package/source/css/_components/widgets/ghrepo.styl +2 -1
  274. package/source/css/_components/widgets/ghuser.styl +4 -6
  275. package/source/css/_components/widgets/settings.styl +49 -0
  276. package/source/css/_components/widgets/timeline.styl +2 -2
  277. package/source/css/_components/widgets/toc.styl +12 -33
  278. package/source/css/_components/widgets/widgets.styl +14 -19
  279. package/source/css/_components/wiki-card.styl +2 -2
  280. package/source/css/_custom.styl +26 -32
  281. package/source/css/_defines/func.styl +47 -37
  282. package/source/css/_defines/theme_base.styl +8 -10
  283. package/source/css/_plugins/card-hover.styl +1 -1
  284. package/source/css/_plugins/copycode.styl +16 -19
  285. package/source/css/_plugins/index.styl +3 -8
  286. package/source/css/_plugins/lazyload.styl +1 -1
  287. package/source/css/main.styl +12 -0
  288. package/source/js/main.js +302 -59
  289. package/source/js/plugins/adaptive-text.js +33 -16
  290. package/source/js/plugins/card-hover.js +2 -24
  291. package/source/js/plugins/copycode.js +10 -16
  292. package/source/js/plugins/voice.js +51 -48
  293. package/source/js/profile.js +316 -0
  294. package/source/js/runtime/asset-loader.js +61 -0
  295. package/source/js/runtime/extension-registry.js +149 -0
  296. package/source/js/runtime/extensions/card-hover.js +5 -0
  297. package/source/js/runtime/extensions/color-scheme-switch.js +101 -0
  298. package/source/js/runtime/extensions/comments.js +200 -0
  299. package/source/js/runtime/extensions/deferred-icons.js +53 -0
  300. package/source/js/{plugins → runtime/extensions}/dropdown.js +69 -30
  301. package/source/js/runtime/extensions/feature.js +200 -0
  302. package/source/js/runtime/extensions/hero-effect.js +179 -0
  303. package/source/js/runtime/extensions/reveal.js +80 -0
  304. package/source/js/runtime/extensions/search.js +23 -0
  305. package/source/js/{services.js → runtime/extensions/services.js} +67 -54
  306. package/source/js/runtime/extensions/settings.js +235 -0
  307. package/source/js/runtime/hero-effects/ferrofluid.js +385 -0
  308. package/source/js/{plugins → runtime/hero-effects}/galaxy.js +53 -177
  309. package/source/js/runtime/hero-effects/light-rays.js +293 -0
  310. package/source/js/runtime/index.js +75 -0
  311. package/source/js/runtime/legacy-request-adapter.js +47 -0
  312. package/source/js/runtime/request-cache.js +219 -0
  313. package/source/js/search/algolia-search.js +76 -51
  314. package/source/js/search/highlight.js +1 -1
  315. package/source/js/search/local-search.js +96 -57
  316. package/source/js/search/shortcut.js +31 -20
  317. package/source/js/services/friends_and_posts.js +6 -1
  318. package/source/js/services/rating.js +14 -6
  319. package/source/js/services/siteinfo.js +3 -7
  320. package/source/js/services/timeline.js +1 -1
  321. package/source/js/services/vote.js +7 -5
  322. package/source/js/services/weibo.js +1 -1
  323. package/source/js/utils.js +19 -444
  324. package/.claude/skills/stellar-theme-dev/SKILL.md +0 -51
  325. package/_data/chat_users.yml +0 -0
  326. package/layout/_partial/comments/artalk/script.ejs +0 -76
  327. package/layout/_partial/comments/beaudar/script.ejs +0 -33
  328. package/layout/_partial/comments/giscus/script.ejs +0 -31
  329. package/layout/_partial/comments/script.ejs +0 -3
  330. package/layout/_partial/comments/twikoo/script.ejs +0 -25
  331. package/layout/_partial/comments/utterances/script.ejs +0 -33
  332. package/layout/_partial/comments/waline/script.ejs +0 -43
  333. package/layout/_partial/main/article/article_footer.ejs +0 -164
  334. package/layout/_partial/main/article/article_tags.ejs +0 -16
  335. package/layout/_partial/main/article/read_next.ejs +0 -63
  336. package/layout/_partial/main/article/related_posts.ejs +0 -16
  337. package/layout/_partial/main/navbar/nav_tabs_wiki.ejs +0 -52
  338. package/layout/_partial/scripts/bootstrap.ejs +0 -37
  339. package/layout/_partial/scripts/lazyload.ejs +0 -89
  340. package/layout/_partial/sidebar/grad-def.ejs +0 -26
  341. package/layout/_partial/sidebar/index_leftbar.ejs +0 -191
  342. package/layout/_partial/sidebar/index_rightbar.ejs +0 -94
  343. package/layout/_partial/sidebar/logo.ejs +0 -99
  344. package/layout/_plugins/adaptive_text.ejs +0 -11
  345. package/layout/_plugins/card_hover.ejs +0 -32
  346. package/layout/_plugins/copycode.ejs +0 -17
  347. package/layout/_plugins/fancybox.ejs +0 -53
  348. package/layout/_plugins/heti.ejs +0 -21
  349. package/layout/_plugins/index.ejs +0 -50
  350. package/layout/_plugins/mathjax.ejs +0 -49
  351. package/layout/_plugins/mermaid.ejs +0 -33
  352. package/layout/_plugins/preload.ejs +0 -9
  353. package/layout/_plugins/scrollreveal.ejs +0 -102
  354. package/layout/_plugins/search/algolia_search.ejs +0 -12
  355. package/layout/_plugins/search/local_search.ejs +0 -9
  356. package/layout/_plugins/swiper.ejs +0 -27
  357. package/layout/_plugins/tianli_gpt.ejs +0 -14
  358. package/scripts/commands/new-note.js +0 -49
  359. package/scripts/events/lib/merge_posts.js +0 -48
  360. package/scripts/events/lib/topic_tree.js +0 -48
  361. package/scripts/helpers/related_posts.js +0 -51
  362. package/scripts/helpers/subtitle.js +0 -8
  363. package/scripts/lib/notebooks.js +0 -181
  364. package/scripts/lib/subtitle.js +0 -28
  365. package/scripts/tags/lib/about.js +0 -48
  366. package/source/css/_components/page-transition.styl +0 -22
  367. package/source/css/_components/partial/navbar.styl +0 -51
  368. package/source/css/_components/sidebar/logo.styl +0 -111
  369. package/source/css/_components/tag-plugins/about.styl +0 -56
  370. package/source/css/_components/widgets/tree.styl +0 -0
  371. package/source/css/_plugins/scrollreveal.styl +0 -6
  372. package/source/css/_plugins/tianli_gpt.styl +0 -213
  373. package/source/css/plugins/mermaid.styl +0 -137
  374. package/source/js/icons.js +0 -60
  375. package/source/js/services/fcircle.js +0 -35
  376. package/source/js/theme.js +0 -61
package/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.0-rc.1
4
+
5
+ > 发布日期:2026-09-07
6
+
7
+ 本节记录从最近公开版本 `1.44.0` 到当前候选文件树的净变化;开发期间已经被替换的中间方案不属于迁移契约。
8
+
9
+ ### 新功能
10
+
11
+ - 配置、Collection YAML 与页面 Front Matter 采用声明式严格 Schema;默认配置、校验、JavaScript 投影和 Reference 由同一字段事实生成,Doctor 在构建前给出带来源和字段路径的诊断。
12
+ - 新增 Post、Topic、Wiki、Notebook、Note 与索引页共享的 Collection/PageViewModel 管线,并以 `listed/searchable` 分离聚合展示和搜索收录。
13
+ - 页面外壳统一为 Topbar、Leftbar、Rightbar Region,Brand、Menu、Widget、Footer 和 13 个 Profile 使用结构化配置与明确的覆盖语义。
14
+ - 新增 `card/glass/minimal/flat` 外观预设、明暗模式切换、颜色/渐变/排版/形状/背景设置,以及独立设置页。
15
+ - 浏览器功能改为原生 ESM Runtime Manifest 和按 DOM 命中加载的 Extension;搜索、评论、Feature、数据服务及请求缓存拥有明确生命周期。
16
+ - Wiki Hero 支持 `ferrofluid`、`galaxy`、`light-rays` 三种可选背景效果,效果与静态图片可叠加;标签目录新增 `gist`。
17
+ - 新增 `hexo stellar doctor` 与 `hexo stellar new note`;目录驱动的完整 Blueprint 改由 Stellar Examples 仓库维护。
18
+
19
+ ### 行为、样式与工程变化
20
+
21
+ - Article 与 Notebook 的列表、横幅、许可、分享、标签和排序默认值收敛到内容模型;Collection 内容默认关闭分享,Notebook 与其它 Collection 使用一致的覆盖规则。
22
+ - 侧栏集合、Navbar、Dropdown、Grid、文章卡片、下载按钮和 Topbar 对齐使用统一的 UI capability、形状与状态反馈。
23
+ - 运行环境升级为 Node.js 22+、Hexo 8+;构建、包集成、性能、知识库、贡献注册表和复用规则各自拥有独立门禁。
24
+ - 发布流程原子同步 `package.json`、`package-lock.json` 与安装知识库的版本,并把未跟踪文件纳入工作区门禁,避免候选包、锁文件或临时产物漂移;稳定版写入 npm `latest`,RC 写入 `rc` dist-tag。
25
+ - 主题仓库只保留长期指南、当前知识库和阶段审计;单次方案、迁移中间态及已被最终实现取代的测试/兼容残留不进入发布文件树。
26
+
27
+ ### 升级注意(配置变更与破坏性改动)
28
+
29
+ - v1 的 `logo/menubar/site_tree/style/tag_plugins/plugins/data_services` 等结构不会被兼容读取;请按[公开迁移说明](https://xaoxuu.com/wiki/stellar/migration/v1-to-v2/)逐项迁移到 `topbar/leftbar/rightbar/footer/profiles/appearance/tags/features/services`。
30
+ - Collection 与 Front Matter 需要迁移为 `collection/route/navigation/listing/visibility/banner/article/comments/render/seo` 等分组字段;未知字段、错误类型与非法枚举会在构建早期失败。
31
+ - `about`、`users` 标签以及对应的 `chat_users.yml`、`fcircle` 适配器已移除;`tip` 改为单标签 `{% tip 词句 pop:注解 %}`,`quot` 支持直接图标键与 `color`。
32
+ - 浏览器后处理必须原样保留 `public/js/runtime/**/*.js` 的 ESM 语义、相对 import 与 JavaScript MIME 类型。
33
+ - v2 当前源码从仓库 `main` 安装并需要执行 `npm install --prefix themes/stellar`;npm 包是否为 v2 以实际公开版本为准。
34
+
35
+ Full Changelog: [1.44.0...main](https://github.com/xaoxuu/hexo-theme-stellar/compare/1.44.0...main)
36
+
3
37
  ## 1.44.0
4
38
 
5
39
  > 发布日期:2026-08-21
@@ -104,18 +138,18 @@ Full Changelog: [1.42.0...1.42.1](https://github.com/xaoxuu/hexo-theme-stellar/c
104
138
  ### 重构
105
139
  - 移除已失效的 auto_banner(Unsplash 自动横幅)与 `poster` 配置
106
140
  - 页面横幅上块重构为显式两行结构(面包屑 + 阅读时长/AI 标签 + 日期行)
107
- - 评论数图标统一使用 `default:tocomment`,移除 `weibo:comment`
141
+ - 评论数图标统一使用 `default:to-comment`,移除 `weibo:comment`
108
142
 
109
143
  ### 其他
110
144
  - 移除知识库合并版 `知识库全量.md`,知识库以领域页面为唯一事实源
111
- - 新增 AI 规范引用一致性检查(check-spec-refs)与发版前提交登记完整性检查(随 `npm run check` 执行)
145
+ - 新增 AI 规范引用一致性检查与发版前提交登记完整性检查(随 `npm run check` 执行)
112
146
 
113
147
  ### 升级注意(配置变更与破坏性改动)
114
148
  - 移除 `article.auto_banner`(Unsplash 自动横幅已失效)与文章 front-matter `poster`(`headline` / `topic` / `caption`);`poster.color` / `banner_info.color` 显式文字颜色不再生效,由自适应文字颜色接管
115
149
  - 新增 `article.card_style`(`hero` 默认 / `classic`):未显式设置的站点保持 hero 卡片样式
116
150
  - 新增 `plugins.adaptive_text`(默认 `enable: true`):页面存在 `[data-text-adaptive]` 元素时才按需加载,文字颜色默认随背景自适应
117
151
  - 删除间距令牌 `--gap-margin` / `--gap-padding` / `--gap-max`,替换为 `--gap-base`(组件内部间距)与 `--gap-page`(页面级留白);引用旧令牌的自定义 CSS 需迁移
118
- - `weibo:comment` 图标已移除,评论数图标统一使用 `default:tocomment`;自定义中引用了 `weibo:comment` 的站点请改用 `default:tocomment`
152
+ - `weibo:comment` 图标已移除,评论数图标统一使用 `default:to-comment`;自定义中引用了 `weibo:comment` 的站点请改用 `default:to-comment`
119
153
  - 知识库合并版 `知识库全量.md` 移除(RAG 可直接索引领域页面)
120
154
 
121
155
  Full Changelog: [1.41.0...main](https://github.com/xaoxuu/hexo-theme-stellar/compare/1.41.0...main)
@@ -290,7 +324,7 @@ Full Changelog: [1.37.0...1.38.0](https://github.com/xaoxuu/hexo-theme-stellar/c
290
324
 
291
325
  ### 其他
292
326
  - CHANGELOG.md 历史数据一次性从 GitHub Releases API 同步入库(76 个版本,统一格式)
293
- - 新增发版流程文档(docs/guides/release-process.md)与设计记录(docs/designs/2026-08-09-release-automation.md)
327
+ - 新增发版流程文档(docs/guides/release-process.md)并完善发布自动化记录
294
328
 
295
329
  Full Changelog: [1.36.0...1.37.0](https://github.com/xaoxuu/hexo-theme-stellar/compare/1.36.0...1.37.0)
296
330
 
@@ -336,7 +370,7 @@ Full Changelog: [1.35.0...1.36.0](https://github.com/xaoxuu/hexo-theme-stellar/c
336
370
  - 统一 URL 路径规范化逻辑,修复 canonical 标签路径不一致的问题
337
371
  - 修复 wiki 文档树中索引页(index)的路径匹配错误
338
372
  - 发版脚本迁移为 Node CLI(release.js),支持版本校验、dry-run 预览与二次确认
339
- - 完善仓库 AI 协作规范(AGENTS.md、issue 处理规则),重组 docs 目录(designs/、guides/、audits/)
373
+ - 完善仓库 AI 协作规范(AGENTS.md、issue 处理规则),重组 docs 中的长期指南与审计记录
340
374
  - 优化 npm 发布忽略规则(.npmignore)
341
375
 
342
376
  Full Changelog: [1.34.0...1.35.0](https://github.com/xaoxuu/hexo-theme-stellar/compare/1.34.0...1.35.0)
package/CONTRIBUTING.md CHANGED
@@ -1,155 +1,64 @@
1
1
  # 贡献指南
2
2
 
3
- 感谢你考虑为 [Stellar](https://github.com/xaoxuu/hexo-theme-stellar) 贡献代码或文档!Stellar 是一个功能强大的综合型 Hexo 主题,内置博客、知识库、专栏、笔记四大系统,并提供丰富的标签组件与动态数据组件。
3
+ 感谢你考虑为 [Stellar](https://github.com/xaoxuu/hexo-theme-stellar) 贡献代码或文档。本指南只保留贡献者需要的入口;工程规则以 [AGENTS.md](AGENTS.md) 为准,主题使用方法见 [Wiki 文档](https://xaoxuu.com/wiki/stellar/)。
4
4
 
5
- 本指南面向开发者,描述从环境准备、开发、验证到提交 PR 的完整流程;主题仓库的 AI 协作规范(唯一权威)见 [AGENTS.md](AGENTS.md)。使用上的问题请先查阅 [Wiki 文档](https://xaoxuu.com/wiki/stellar/)。
6
-
7
- ## 仓库与职责边界
5
+ ## 仓库边界
8
6
 
9
7
  | 仓库 | 职责 |
10
- |------|------|
11
- | [hexo-theme-stellar](https://github.com/xaoxuu/hexo-theme-stellar) | 主题代码(`layout/`、`scripts/`、`source/`)、国际化(`languages/`)、主题文档(`docs/`)、版本发布 |
12
- | [xaoxuu.com 主工程](https://github.com/xaoxuu/xaoxuu.com) | 博客站点,以 git submodule 方式引用本主题;只更新子模块指针,不包含主题源码 |
13
- | [hexo-theme-stellar-docs](https://github.com/xaoxuu/hexo-theme-stellar-docs) | Wiki 文档内容(对应 xaoxuu.com/wiki/stellar/) |
14
- | [hexo-theme-stellar-examples](https://github.com/xaoxuu/hexo-theme-stellar-examples) | 官方示例工程(`blog` 博客场景、`docs` 文档场景),用于集成开发与验证 |
15
-
16
- 主题无法单独运行,开发调试需要在主工程或官方 demo 工程中集成。
8
+ | --- | --- |
9
+ | [hexo-theme-stellar](https://github.com/xaoxuu/hexo-theme-stellar) | 主题代码、默认配置、国际化、主题工程文档与版本发布 |
10
+ | [hexo-theme-stellar-examples](https://github.com/xaoxuu/hexo-theme-stellar-examples) | 官方博客与文档场景,用于需要宿主环境的集成验证 |
17
11
 
18
- ## 环境准备
12
+ 主题仓库不维护具体站点的内容、配置、版本引用或部署规则。只有任务需要宿主页面且仓库内证据不足时,才使用示例工程或任务指定的消费站点。
19
13
 
20
- ```yaml
21
- Hexo: 6.3.0 ~ latest(已验证至 8.1.2)
22
- hexo-cli: 4.3.0 ~ latest
23
- node: >= 22 # 建议选择 LTS 版本
24
- npm: >= 10
25
- ```
14
+ ## 准备环境
26
15
 
27
- 推荐使用官方 demo 工程集成开发:
16
+ 公开兼容范围以 [README.md](README.md) 为准,当前开发命令以 [package.json](package.json) 为准,CI 使用的 Node.js 版本以 [.github/workflows/ci.yml](.github/workflows/ci.yml) 为准,避免在多处复制版本矩阵。
28
17
 
29
- 1. Fork 本仓库并克隆到本地。
30
- 2. 克隆 [hexo-theme-stellar-examples](https://github.com/xaoxuu/hexo-theme-stellar-examples),将你的主题副本放到 `blog/themes/stellar`(或 `docs/themes/stellar`)。
31
- 3. 在 demo 工程中执行 `npm install`,然后按需 `npx hexo generate` / `npx gulp minify` 构建验证。
32
-
33
- 也可以使用 git submodule 将主题挂载到自己的博客或主工程:
18
+ 需要宿主环境时,推荐克隆官方示例工程,将主题副本放入 `blog/themes/stellar` 或 `docs/themes/stellar`,在对应示例目录安装依赖并构建。也可以把主题作为 submodule 挂载到自己的 Hexo 站点:
34
19
 
35
20
  ```bash
36
21
  git submodule add https://github.com/<your-name>/hexo-theme-stellar.git themes/stellar
37
22
  ```
38
23
 
39
- ## 开发流程
40
-
41
- 每个功能或修复请按以下顺序推进,产物保留在仓库中。
42
-
43
- ### 1. 方案
44
-
45
- 在 `docs/designs/{YYYY-MM-DD}-{功能简称}/` 下创建方案文档(模板见 `docs/designs/_template/`),包含 `spec.md` / `plan.md` / `checklist.md`,写明:
46
-
47
- - 要解决的问题或新增的能力
48
- - 技术方案和实现思路
49
- - 影响范围(涉及哪些文件 / 模块)
50
- - 需要同步的知识库页面与文档
51
-
52
- ### 2. 实施
24
+ ## 开发与验证
53
25
 
54
- 新增功能覆盖全部相关维度:
26
+ 开始前阅读 [AGENTS.md](AGENTS.md),确认任务边界和最低充分验证级别。常用专项指南:
55
27
 
56
- | 维度 | 目录 | 说明 |
57
- |------|------|------|
58
- | 模板 | `layout/` | EJS 模板与可复用 partial |
59
- | 服务端脚本 | `scripts/` | Hexo 标签 / 辅助函数 / 过滤器 |
60
- | 样式 | `source/css/` | Stylus 样式 |
61
- | 浏览器脚本 | `source/js/` | ES2015+ 源码(Gulp Babel 转译输出) |
62
- | 国际化 | `languages/` | 新增文案时同步 |
63
- | 文档 | `docs/` | 方案 + 执行计划 + 测试记录 + 知识库同步 |
28
+ - 新增或重构标签插件:[标签插件开发规范](docs/guides/tag-plugins-style-guide.md)
29
+ - 修改配置、内容 profile、组件、Extension 或语言文案:[贡献架构指南](docs/guides/contribution-architecture.md)
64
30
 
65
- ### 3. 文档与知识库同步
31
+ 公开 v2 文档按[入门](https://xaoxuu.com/wiki/stellar/start/install/)、[配置参考](https://xaoxuu.com/wiki/stellar/reference/theme/)和[行为参考](https://xaoxuu.com/wiki/stellar/reference/behavior/)组织。维护使用方迁移说明时核对 [AI 迁移契约](https://xaoxuu.com/wiki/stellar/migration/ai/);旧公开入口由文档仓库的映射表和消费站点跳转实现承接。
66
32
 
67
- 涉及主题代码、配置或行为变化时,必须同步更新 `docs/knowledge/` 并在 `docs/knowledge/VERIFICATION.md` 登记;涉及逻辑变更(API、配置项、行为变化)同时更新仓库 Wiki。
33
+ 先运行最接近改动的检查;需要全仓证据时运行 `npm run check`。所有可用脚本及其当前组合以 `package.json` 为准。宿主构建、视觉检查和分发验收只在任务影响这些契约时补充。
68
34
 
69
- ## 编码规范摘要
35
+ 机器契约与直接测试随实现更新;知识库、CHANGELOG 和版本级 `VERIFICATION.md` 在发版准备时按最终净变化集中同步。
70
36
 
71
- 完整规范见 `AGENTS.md` §4,核心要求:
72
-
73
- - **EJS 模板**:`<%- %>` 输出非转义 HTML;变量声明用 `var`(IE8 兼容);2 空格缩进;HTML 属性双引号;复杂逻辑提取到 `helpers/`
74
- - **Node 脚本**:CommonJS(`require()` / `module.exports`);文件头 `/* global hexo */` + `'use strict';`;2 空格缩进、双引号、分号结尾
75
- - **Stylus 样式**:类名和文件名 `kebab-case`;变量在 `_defines/`,通用样式在 `_common/`,组件在 `_components/`;2 空格缩进
76
- - **浏览器 JS**:ES2015+ 语法;避免直接操作 DOM,使用主题工具函数
77
- - **不引入新构建系统**,保持 Hexo 原生 + Gulp 后处理;CSS 兼容 IE8,JS 兼容 ES2015+
78
- - 新增或重构标签插件时,先阅读 `docs/guides/tag-plugins-style-guide.md`
79
-
80
- ## 测试与验证
81
-
82
- 在主题仓库根目录执行:
83
-
84
- ```bash
85
- npm run lint # ESLint
86
- npm test # node:test 单测
87
- python3 docs/knowledge/tools/verify.py # 知识库硬事实核查
88
- npm run check # 一键执行 lint + 单测 + 知识库核查
89
- ```
90
-
91
- 修改 `scripts/` 后**必须**在主工程(xaoxuu.com)执行全量验证:
92
-
93
- ```bash
94
- npm run g # hexo clean && hexo generate && npx gulp minify
95
- ```
96
-
97
- > `npm run s`(本地按需渲染)不能替代全量验证。UI 方面(样式、模板、前端交互)改动量不大时无需执行自检流程,除非用户明确要求。
98
-
99
- 新增 / 修改纯函数时请补充单元测试。
100
-
101
- ## 提交规范
102
-
103
- 使用 Conventional Commits,一次提交对应一个需求点(逻辑相似的需求可以合并):
104
-
105
- ```
106
- <type>(<scope>): <description>
107
- ```
108
-
109
- `type` 白名单(完整规则以 `ci/check-commit-msg.js` 为准):`feat` / `fix` / `refactor` / `perf` / `style` / `docs` / `chore` / `content` / `release`。
110
-
111
- - 任务完成后**不自动提交**:改动保留在工作区供审查
112
- - 只有明确要求时才 push
113
- - 发版流程除外(见下文)
37
+ 跨域架构、迁移、兼容、发布计划或其它需要持久化的设计方案统一使用 GitHub issue,正文应包含问题、决策、影响范围和验收标准;具体约定见 [Issue tracker](docs/agents/issue-tracker.md)。仓库不接收单次设计方案或其本地归档。
114
38
 
115
39
  ## 提交 Pull Request
116
40
 
117
- 按 [PULL_REQUEST_TEMPLATE.md](.github/PULL_REQUEST_TEMPLATE.md) 填写 PR:
118
-
119
- - **变更说明**:描述解决的问题或新增能力,附相关 issue 编号(如有)
120
- - **改动范围**:勾选涉及维度(`layout/`、`scripts/`、`source/css/`、`source/js/`、`languages/`、`docs/`)
121
- - **验证清单**:确认 lint / 单测 / 全量构建 / 知识库同步等已通过
41
+ 按 [PULL_REQUEST_TEMPLATE.md](.github/PULL_REQUEST_TEMPLATE.md) 描述:
122
42
 
123
- CI 会在 PR 上强制执行以下检查,全部通过后才可合并:
43
+ - 解决的问题、行为变化和相关 issue;
44
+ - 受影响的公开契约或内部模块;
45
+ - 实际执行的验证及结果;
46
+ - 尚需人工确认的页面、兼容性或发布事项。
124
47
 
125
- | 检查 | 内容 |
126
- |------|------|
127
- | Lint | ESLint |
128
- | Unit tests | node:test 单测 |
129
- | Conventional Commits | 提交信息符合规范 |
130
- | Skill mirror sync | `.agents/` 与 `.claude/` 技能镜像一致 |
131
- | Spec refs | AGENTS.md 章节引用与关键措辞一致性 |
132
- | Integration build | 官方 demo 全量构建(hexo generate)+ Gulp minify |
133
- | Knowledge base verify | `docs/knowledge/tools/verify.py` 硬事实核查 |
48
+ 提交信息使用 Conventional Commits,具体允许格式以 `ci/check-commit-msg.js` 为准。CI 的当前作业与触发条件以 [.github/workflows/ci.yml](.github/workflows/ci.yml) 为准。
134
49
 
135
50
  ## 发版
136
51
 
137
- 发版由维护者(或明确授权的贡献者)执行,一键全自动:
138
-
139
- ```bash
140
- npm run release -- <version> --yes
141
- ```
142
-
143
- 发版前需在 `CHANGELOG.md` 准备好对应版本的非空章节(H2 版本号 + H3 分类),脚本校验通过后自动更新版本号、推送并触发 CI 完成 npm 发布、tag 与 GitHub Release。完整流程见 [docs/guides/release-process.md](docs/guides/release-process.md)。
52
+ 发版由维护者或明确授权的贡献者执行。准备 CHANGELOG、确认版本并运行脚本的完整流程见 [发版流程](docs/guides/release-process.md);普通贡献不要提前维护发布快照。
144
53
 
145
54
  ## 社区与支持
146
55
 
147
- - [Issues](https://github.com/xaoxuu/hexo-theme-stellar/issues):技术问题答疑、BUG 反馈
148
- - [Discussions](https://github.com/xaoxuu/hexo-theme-stellar/discussions):论坛、相关话题讨论
149
- - [探索号](https://xaoxuu.com/wiki/stellar/articles/):文章收录
150
- - [社区支持页面](https://xaoxuu.com/wiki/stellar/contributors/):开发者列表、社区渠道与提问建议
56
+ - [Issues](https://github.com/xaoxuu/hexo-theme-stellar/issues)BUG 反馈与技术问题
57
+ - [Discussions](https://github.com/xaoxuu/hexo-theme-stellar/discussions):社区讨论
58
+ - [探索号](https://xaoxuu.com/wiki/stellar/support/articles/):文章收录
59
+ - [社区支持页面](https://xaoxuu.com/wiki/stellar/support/contributors/):贡献者与交流渠道
151
60
 
152
- 无论在什么渠道提问,建议先学习[「提问的智慧」](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md),描述清楚问题现象、尝试过程与报错信息,能帮助大家更高效地解决你的问题。
61
+ 提问时请说明现象、复现步骤、尝试过程与报错信息。
153
62
 
154
63
  ## 许可
155
64
 
package/README.md CHANGED
@@ -2,112 +2,113 @@
2
2
 
3
3
  [简体中文](README.md) · [English](README_EN.md)
4
4
 
5
+ 一个博客,也是一套可以长期生长的内容系统。
6
+
7
+ 从一篇文章开始。以后想加项目文档、专栏或笔记,仍然在同一个站点里写。
8
+
9
+ [创建第一个博客](https://xaoxuu.com/wiki/stellar/start/install/) · [蓝图与展示墙](https://xaoxuu.com/wiki/stellar/support/examples/) · [完整文档](https://xaoxuu.com/wiki/stellar/)
10
+
11
+ > Stellar v2 当前版本为 `2.0.0-rc.1`;是否已经公开发布,以 npm 页面和 GitHub Releases 为准。
12
+
5
13
  [![npm](https://img.shields.io/npm/v/hexo-theme-stellar)](https://www.npmjs.com/package/hexo-theme-stellar)
6
14
  [![license](https://img.shields.io/github/license/xaoxuu/hexo-theme-stellar)](https://github.com/xaoxuu/hexo-theme-stellar/blob/main/LICENSE)
7
15
  [![stars](https://img.shields.io/github/stars/xaoxuu/hexo-theme-stellar)](https://github.com/xaoxuu/hexo-theme-stellar)
8
16
  [![npm downloads](https://img.shields.io/npm/dm/hexo-theme-stellar)](https://www.npmjs.com/package/hexo-theme-stellar)
9
17
  [![release](https://img.shields.io/github/v/release/xaoxuu/hexo-theme-stellar)](https://github.com/xaoxuu/hexo-theme-stellar/releases)
10
18
 
11
- Stellar 是一个「博客 + 知识库一体」的 Hexo 主题:简约商务美学之下,内置博客、Wiki、专栏、笔记四大内容系统与丰富的标签、动态数据组件,开箱即用。
12
-
13
- 可以只把它当作一个轻博客主题使用——安装启用即可写文章;Wiki 知识库、专栏、笔记与动态数据组件都按需启用,随着你的内容需求自然生长。
14
-
15
- ## 为什么选择 Stellar
16
-
17
- ### 四大内容系统,一体化整合
19
+ ## 内容多起来,也不用推倒重来
18
20
 
19
- - **博客系统**:支持技术 / 生活两种文章布局,分类、标签、分页与相关文章一应俱全;只想写博客时,它就是一个开箱即用的轻博客。
20
- - **Wiki 文档系统**:既可以展示多个项目文档,也可以作为个人知识库,项目树、小节与层级导航开箱即用。
21
- - **专栏系统**:系列文章集中管理,提供沉浸式的连续阅读体验。
22
- - **笔记本系统**:三层架构与标签树导航,方便地梳理、归档和检索笔记。
21
+ 普通文章照常发布。项目需要一套稳定目录时,用 Wiki;几篇文章写成了系列,收进专栏;零散知识想长期补充,放进笔记本。
23
22
 
24
- 四套系统与动态数据组件一体化整合,无需拼装多个插件。
23
+ 博客、Wiki、专栏和笔记本共享同一套导航、搜索、侧栏与阅读体验。只写博客时,其它系统不会跑出来打扰你。
25
24
 
26
- ### 富表达标签组件
25
+ ## 静态博客,也能放一些活的内容
27
26
 
28
- 内置大量灵活而强大的标签组件——提示框、折叠、标签页、时间线、图库、图标、表情、高亮、OKR、聊天、表格等,互相之间可以自由混搭嵌套,让内容表达不再受 Markdown 语法限制。详见[标签组件文档](https://xaoxuu.com/wiki/stellar/tag-plugins/)。
27
+ 动态时间线、自动友链、远程 README、GitHub 仓库与贡献者、评分和投票都可以按需接入。博客仍然是静态文件,但经常变化的内容不必每次都跟着整站重新部署。
29
28
 
30
- ### 动态数据组件
29
+ 远程服务不会挡住正文先显示。接口暂时不可用时,文章仍然可以读。
31
30
 
32
- 静态博客也能拥有动态能力,内容更新无需重新部署:
31
+ ## 写作、检索和阅读是一件事
33
32
 
34
- - **动态时间线**:像发朋友圈一样发布短文,也可以订阅他人的时间线。
35
- - **自动化友链**:自动检测友链状态、打标签、订阅友链文章。
36
- - **远程 Markdown 渲染**:例如直接渲染项目仓库的 README,避免重复维护。
37
- - **GitHub 仓库 / 贡献者卡片、评分、投票、最新评论**等数据组件,按需加载,不拖慢首屏。
38
- - **社区文化**:可以订阅「探索号」时间线数据源,获取社区用户的宝贵经验分享。
33
+ 提示框、折叠、标签页、图库、时间线、聊天和表格等内容组件可以互相组合。Markdown 表达不够时,不需要临时拼一套风格各异的插件。
39
34
 
40
- ### 体验与性能
35
+ 本地搜索由主题生成索引,结果可以直接落到文章章节;桌面端目录和信息栏到了手机上会变成抽屉,把位置让给正文。
41
36
 
42
- - **模块化设计**:内置多种高复用性小组件,左右侧边栏自由搭配,布局随心。
43
- - **设计令牌驱动的样式系统**:统一的设计语言、深色模式与移动端响应式适配。
44
- - **图片懒加载**按原图比例预留占位,不会出现高度跳变,体验更佳。
45
- - 可选插件按需启用:代码高亮与复制、KaTeX / MathJax 数学渲染、Mermaid 图表、Fancybox 灯箱、Swiper 轮播等。
46
- - **本地搜索**:内置索引生成器,结果按章节展示,点击直达锚点并高亮关键词。
47
- - **SEO 完备**:JSON-LD 结构化数据、Open Graph、canonical 与克隆站检测,保护原创内容。
48
- - **一站多作者**:可以为不同文章指定不同作者,每位作者都有专属主页。
37
+ [内容组件](https://xaoxuu.com/wiki/stellar/reference/tags/) · [站内搜索](https://xaoxuu.com/wiki/stellar/guides/search/) · [外观与排版](https://xaoxuu.com/wiki/stellar/guides/appearance/)
49
38
 
50
- 以上功能都可以在[文档](https://xaoxuu.com/wiki/stellar/)中找到详细的使用方法。
39
+ > 如果你只想写博客,它不会逼你理解这些系统;内容真的多起来时,它们已经在那里了。
51
40
 
52
- ## 示例与展示
41
+ ## 选择一个起点
53
42
 
54
- - 示例源码:[hexo-theme-stellar-examples](https://github.com/xaoxuu/hexo-theme-stellar-examples/)(`blog` 博客场景、`docs` 文档场景),可直接 fork 起步
55
- - 展示墙:[使用 Stellar 主题的博客](https://xaoxuu.com/wiki/stellar/examples/)
43
+ | 示例 | 适合什么样的站点 |
44
+ | --- | --- |
45
+ | 留白 · Light Blog | 安静写长文、随笔和生活记录 |
46
+ | 星迹 · Blog | 使用经典侧栏整理文章、分类与专栏 |
47
+ | 个人知识库 · Knowledge | 把博客、项目资料和长期主题放在一起 |
48
+ | 项目文档 · Docs | 给一个项目维护清晰的文档目录 |
56
49
 
57
- [![Star History Chart](https://star-history.dera.page/svg?repos=xaoxuu/hexo-theme-stellar&type=date&legend=top-left)](https://star-history.dera.page/#xaoxuu/hexo-theme-stellar&type=date&legend=top-left)
50
+ 示例源码在 [hexo-theme-stellar-examples](https://github.com/xaoxuu/hexo-theme-stellar-examples/)
58
51
 
59
52
  ## 快速开始
60
53
 
61
54
  ### 环境要求
62
55
 
63
56
  ```yaml
64
- Hexo: 6.3.0 ~ latest(已验证至 8.1.2)
57
+ Hexo: '>= 8'
65
58
  hexo-cli: 4.3.0 ~ latest
66
- node: >= 22 # 建议选择 LTS 版本
67
- npm: >= 10
59
+ node: '>= 22'
60
+ npm: '>= 10'
68
61
  ```
69
62
 
70
- ### 安装
63
+ ### 使用最新源码
71
64
 
72
- 在博客根目录执行:
65
+ 在博客根目录添加主题源码并安装依赖:
73
66
 
74
67
  ```bash
75
- npm install hexo-theme-stellar
68
+ git submodule add -b main https://github.com/xaoxuu/hexo-theme-stellar.git themes/stellar
69
+ npm install --prefix themes/stellar
76
70
  ```
77
71
 
78
- ### 配置
79
-
80
- 编辑 `_config.yml`,启用主题:
72
+ 然后在博客 `_config.yml` 中启用主题:
81
73
 
82
74
  ```yaml
83
75
  theme: stellar
84
76
  ```
85
77
 
86
- ### 从轻博客开始
78
+ 运行 Doctor 和生成:
87
79
 
88
- 配置完成后即可发布文章。Wiki、专栏、笔记本与动态数据组件按需启用,文档中均有详细说明;也可以直接参考示例仓库的 `blog` 场景快速搭建。
80
+ ```bash
81
+ npx hexo stellar doctor
82
+ npx hexo generate
83
+ ```
89
84
 
90
- ## 使用文档
85
+ 完整步骤见[环境与安装](https://xaoxuu.com/wiki/stellar/start/install/)和[创建第一个站点](https://xaoxuu.com/wiki/stellar/start/first-site/)。
91
86
 
92
- 完整文档请见:https://xaoxuu.com/wiki/stellar/
87
+ ### 使用 npm 公开稳定版
93
88
 
94
- > AI 文档:https://deepwiki.com/xaoxuu/hexo-theme-stellar/
89
+ ```bash
90
+ npm install hexo-theme-stellar
91
+ ```
95
92
 
96
- - 更新日志:[CHANGELOG.md](https://github.com/xaoxuu/hexo-theme-stellar/blob/main/CHANGELOG.md) · [Releases](https://github.com/xaoxuu/hexo-theme-stellar/releases)
93
+ 这条命令不保证安装到 v2。复制 v2 配置前,请先运行 `npm ls hexo-theme-stellar` 核对实际版本。
97
94
 
98
- ### 常用文档
95
+ ## 文档
99
96
 
100
- - [标签组件](https://xaoxuu.com/wiki/stellar/tag-plugins/)
101
- - [主题配置](https://xaoxuu.com/wiki/stellar/theme-settings/)
102
- - [Wiki 系统](https://xaoxuu.com/wiki/stellar/wiki-settings/)
103
- - [专栏与笔记](https://xaoxuu.com/wiki/stellar/topic/)
97
+ - [从第一篇文章开始](https://xaoxuu.com/wiki/stellar/start/first-site/)
98
+ - [把博客变成自己的样子](https://xaoxuu.com/wiki/stellar/start/configuration/)
99
+ - [Wiki 写项目文档](https://xaoxuu.com/wiki/stellar/guides/wiki/)
100
+ - [把文章整理成专栏](https://xaoxuu.com/wiki/stellar/guides/topic/)
101
+ - [建立自己的笔记本](https://xaoxuu.com/wiki/stellar/guides/notebook/)
102
+ - [主题配置参考](https://xaoxuu.com/wiki/stellar/reference/theme/)
103
+ - [从 v1 迁移到 v2](https://xaoxuu.com/wiki/stellar/migration/v1-to-v2/)
104
104
 
105
- ## 反馈
105
+ ## 社区
106
106
 
107
- - 提交 Issueshttps://github.com/xaoxuu/hexo-theme-stellar/issues/
108
- - 参与讨论:https://github.com/xaoxuu/hexo-theme-stellar/discussions/
109
- - 贡献指南:[CONTRIBUTING.md](CONTRIBUTING.md) · [Wiki 贡献页](https://xaoxuu.com/wiki/stellar/contributors/)
107
+ - [Issues](https://github.com/xaoxuu/hexo-theme-stellar/issues/):反馈可以复现的问题
108
+ - [Discussions](https://github.com/xaoxuu/hexo-theme-stellar/discussions/):交流使用经验和想法
109
+ - [蓝图与展示墙](https://xaoxuu.com/wiki/stellar/support/examples/):看看不同的人怎样使用 Stellar
110
+ - [贡献指南](CONTRIBUTING.md):参与主题开发与文档维护
110
111
 
111
112
  ## 开源许可
112
113
 
113
- 本项目采用 [MIT License](LICENSE),Copyright (c) 2021 xaoxuu,永久开源、完全免费。
114
+ Stellar 使用 [MIT License](LICENSE),Copyright (c) 2021 xaoxuu,永久开源、完全免费。第三方组件及其许可证见[第三方授权声明](legal/THIRD-PARTY-NOTICES.md)。
package/README_EN.md CHANGED
@@ -1,113 +1,83 @@
1
- # Stellar - Your Own Independent Blog
1
+ # Stellar a blog that can grow with your work
2
2
 
3
3
  [English](README_EN.md) · [简体中文](README.md)
4
4
 
5
+ Stellar can begin as a quiet personal blog and grow into a home for your articles, project documentation, series, and notes.
6
+
7
+ [See the examples](https://xaoxuu.com/wiki/stellar/support/examples/) · [Getting started](https://xaoxuu.com/wiki/stellar/start/install/) · [Chinese documentation](https://xaoxuu.com/wiki/stellar/)
8
+
9
+ > The current Stellar v2 version is `2.0.0-rc.1`. Check npm and GitHub Releases for its public availability.
10
+
5
11
  [![npm](https://img.shields.io/npm/v/hexo-theme-stellar)](https://www.npmjs.com/package/hexo-theme-stellar)
6
12
  [![license](https://img.shields.io/github/license/xaoxuu/hexo-theme-stellar)](https://github.com/xaoxuu/hexo-theme-stellar/blob/main/LICENSE)
7
13
  [![stars](https://img.shields.io/github/stars/xaoxuu/hexo-theme-stellar)](https://github.com/xaoxuu/hexo-theme-stellar)
8
14
  [![npm downloads](https://img.shields.io/npm/dm/hexo-theme-stellar)](https://www.npmjs.com/package/hexo-theme-stellar)
9
- [![release](https://img.shields.io/github/v/release/xaoxuu/hexo-theme-stellar)](https://github.com/xaoxuu/hexo-theme-stellar/releases)
10
-
11
- Stellar is a Hexo theme that unifies blogging and knowledge base in one place. Beneath its clean, business-style aesthetics lie four built-in content systems — Blog, Wiki, Topic, and Notebook — plus a rich collection of tag plugins and dynamic data widgets, ready to use out of the box for every kind of expression.
12
-
13
- You can also use it as a lightweight blog theme from day one: install, enable, and start writing. Wiki, Topic, Notebook, and dynamic data widgets are all enabled on demand, growing naturally with your content needs.
14
-
15
- ## Why Stellar
16
15
 
17
- ### Four Content Systems, Integrated in One
16
+ ## Four kinds of content, one site
18
17
 
19
- - **Blog**: Two article layouts (tech / story) offer different reading experiences, with categories, tags, pagination, and related posts use it as a lightweight blog right away if that's all you need.
20
- - **Wiki**: Showcase multiple project documentations or use it as your personal knowledge base, with project trees, sections, and hierarchical navigation.
21
- - **Topic**: Manage series of articles with an immersive, continuous reading experience.
22
- - **Notebook**: A three-layer architecture with a tag tree to organize, archive, and retrieve notes with ease.
18
+ Publish regular blog posts as usual. Give a project its own Wiki when it needs stable navigation. Keep a series of posts together as a Topic, or collect smaller pieces of knowledge in a Notebook.
23
19
 
24
- All four systems and dynamic widgets are integrated out of the box no need to assemble multiple plugins.
20
+ They share the same navigation, search, sidebars, and reading experience. If all you need is a blog, the other systems stay out of the way.
25
21
 
26
- ### Expressive Tag Plugins
22
+ ## A static site with room for live data
27
23
 
28
- A large set of flexible and powerful tag plugins — notes, folding, tabs, timelines, galleries, icons, emoji, highlights, OKR, chat, tables, and more — that can be freely mixed and nested, freeing your content from the limits of plain Markdown. See the [tag plugins documentation](https://xaoxuu.com/wiki/stellar/tag-plugins/).
24
+ Timelines, link status, remote README files, GitHub repositories and contributors, ratings, and polls can load when they are needed. Your site remains static, while frequently changing data does not require a full rebuild.
29
25
 
30
- ### Dynamic Data Widgets
26
+ The article remains readable when a remote service is unavailable.
31
27
 
32
- Static blogs with dynamic capabilities update content without redeploying:
28
+ ## Writing, finding, and reading belong together
33
29
 
34
- - **Dynamic timeline**: Post short updates like a social feed, or subscribe to others' timelines.
35
- - **Automated friend links**: Automatically detect link status, tag links, and subscribe to friends' posts.
36
- - **Remote Markdown rendering**: Render a project repository's README directly, avoiding duplicate maintenance.
37
- - **GitHub repository / contributor cards, ratings, votes, latest comments**, and other data widgets — loaded on demand without slowing down the first screen.
38
- - **Community culture**: Subscribe to the "Explorer" timeline data source to learn from the community.
30
+ Stellar includes content components for notes, folding sections, tabs, galleries, timelines, chat, tables, and more. Built-in local search can take a reader straight to a matching section. On smaller screens, navigation moves into drawers and leaves the page to the article.
39
31
 
40
- ### Experience & Performance
32
+ ## Choose a starting point
41
33
 
42
- - **Modular design**: Highly reusable widgets with freely configurable left/right sidebars.
43
- - **Design-token-driven styling**: A unified design language, dark mode, and responsive mobile adaptation.
44
- - **Lazy-loaded images** reserve space by original aspect ratio, preventing layout jumps.
45
- - Optional plugins enabled on demand: code highlighting & copy, KaTeX / MathJax, Mermaid diagrams, Fancybox lightbox, Swiper carousel, and more.
46
- - **Local search**: A built-in index generator, with results grouped by section, jumping to anchors and highlighting keywords.
47
- - **Complete SEO**: JSON-LD structured data, Open Graph, canonical URLs, and clone-site detection to protect original content.
48
- - **Multi-author support**: Assign different authors to different posts, each with their own dedicated homepage.
34
+ | Example | A good fit for |
35
+ | --- | --- |
36
+ | Light Blog | Essays, personal notes, and distraction-free reading |
37
+ | Blog | A classic sidebar blog with categories and series |
38
+ | Knowledge | A personal site combining articles and long-lived knowledge |
39
+ | Docs | Documentation for a single project |
49
40
 
50
- Detailed usage for all of the above can be found in the [documentation](https://xaoxuu.com/wiki/stellar/).
41
+ The source for these sites lives in the catalog-driven [hexo-theme-stellar-examples](https://github.com/xaoxuu/hexo-theme-stellar-examples/) repository.
51
42
 
52
- ## Examples & Showcase
43
+ ## Use the latest source
53
44
 
54
- - Example source: [hexo-theme-stellar-examples](https://github.com/xaoxuu/hexo-theme-stellar-examples/) (`blog` blog scenario, `docs` documentation scenario) ready to fork and start
55
- - Showcase: [Blogs using Stellar](https://xaoxuu.com/wiki/stellar/examples/)
56
-
57
- [![Star History Chart](https://star-history.dera.page/svg?repos=xaoxuu/hexo-theme-stellar&type=date&legend=top-left)](https://star-history.dera.page/#xaoxuu/hexo-theme-stellar&type=date&legend=top-left)
58
-
59
- ## Quick Start
60
-
61
- ### Requirements
62
-
63
- ```yaml
64
- Hexo: 6.3.0 ~ latest (verified up to 8.1.2)
65
- hexo-cli: 4.3.0 ~ latest
66
- node: >= 22 # LTS recommended
67
- npm: >= 10
68
- ```
69
-
70
- ### Install
71
-
72
- In the root directory of your blog:
45
+ You need Node.js 22 or newer and Hexo 8 or newer. In the root of an existing Hexo site:
73
46
 
74
47
  ```bash
75
- npm install hexo-theme-stellar
48
+ git submodule add -b main https://github.com/xaoxuu/hexo-theme-stellar.git themes/stellar
49
+ npm install --prefix themes/stellar
76
50
  ```
77
51
 
78
- ### Configure
79
-
80
- Edit `_config.yml` and enable the theme:
52
+ Enable the theme in `_config.yml`:
81
53
 
82
54
  ```yaml
83
55
  theme: stellar
84
56
  ```
85
57
 
86
- ### Start Light
87
-
88
- Once configured, you can publish posts immediately. Wiki, Topic, Notebook, and dynamic widgets can be enabled on demand and are documented in detail; alternatively, start from the `blog` scenario in the example repository for a quick setup.
89
-
90
- ## Documentation
58
+ Then check and build the site:
91
59
 
92
- Full documentation: https://xaoxuu.com/wiki/stellar/ (currently available in Chinese)
60
+ ```bash
61
+ npx hexo stellar doctor
62
+ npx hexo generate
63
+ ```
93
64
 
94
- > AI documentation: https://deepwiki.com/xaoxuu/hexo-theme-stellar/
65
+ The full v2 documentation is currently maintained in Chinese. The example repository provides an English quick start and complete runnable sites that can be explored without reading the whole reference.
95
66
 
96
- - Changelog: [CHANGELOG.md](https://github.com/xaoxuu/hexo-theme-stellar/blob/main/CHANGELOG.md) · [Releases](https://github.com/xaoxuu/hexo-theme-stellar/releases)
67
+ ## Stable npm release
97
68
 
98
- ### Common Topics
69
+ ```bash
70
+ npm install hexo-theme-stellar
71
+ ```
99
72
 
100
- - [Tag Plugins](https://xaoxuu.com/wiki/stellar/tag-plugins/)
101
- - [Theme Settings](https://xaoxuu.com/wiki/stellar/theme-settings/)
102
- - [Wiki System](https://xaoxuu.com/wiki/stellar/wiki-settings/)
103
- - [Topic & Notebook](https://xaoxuu.com/wiki/stellar/topic/)
73
+ This command may still install v1. Run `npm ls hexo-theme-stellar` before using any v2 configuration.
104
74
 
105
- ## Feedback
75
+ ## Community
106
76
 
107
- - Issues: https://github.com/xaoxuu/hexo-theme-stellar/issues/
108
- - Discussions: https://github.com/xaoxuu/hexo-theme-stellar/discussions/
109
- - Contributing: [CONTRIBUTING.md](CONTRIBUTING.md) · [Wiki contributors page](https://xaoxuu.com/wiki/stellar/contributors/)
77
+ - [Issues](https://github.com/xaoxuu/hexo-theme-stellar/issues/) for reproducible problems
78
+ - [Discussions](https://github.com/xaoxuu/hexo-theme-stellar/discussions/) for ideas and usage questions
79
+ - [Contributing](CONTRIBUTING.md) for code and documentation work
110
80
 
111
81
  ## License
112
82
 
113
- This project is licensed under the [MIT License](LICENSE), Copyright (c) 2021 xaoxuu. Permanently open source and completely free.
83
+ Stellar is free and open source under the [MIT License](LICENSE). Third-party licenses are listed in [THIRD-PARTY-NOTICES.md](legal/THIRD-PARTY-NOTICES.md).