hexo-theme-stellar 1.44.0 → 2.0.0-rc.2
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.
- package/CHANGELOG.md +63 -5
- package/CONTRIBUTING.md +29 -120
- package/README.md +66 -73
- package/README_EN.md +66 -73
- package/_config.yml +890 -743
- package/_data/icons.yml +43 -171
- package/_data/widgets.yml +1 -1
- package/assets/icon-v2-x512.webp +0 -0
- package/languages/en.yml +59 -2
- package/languages/zh-CN.yml +59 -2
- package/languages/zh-TW.yml +59 -2
- package/layout/404.ejs +7 -4
- package/layout/_partial/comments/artalk/layout.ejs +3 -2
- package/layout/_partial/comments/beaudar/layout.ejs +2 -2
- package/layout/_partial/comments/giscus/layout.ejs +2 -5
- package/layout/_partial/comments/layout.ejs +11 -40
- package/layout/_partial/comments/twikoo/layout.ejs +3 -2
- package/layout/_partial/comments/utterances/layout.ejs +2 -2
- package/layout/_partial/comments/waline/layout.ejs +3 -2
- package/layout/_partial/components/collection-item.ejs +30 -13
- package/layout/_partial/components/collection.ejs +2 -2
- package/layout/_partial/cover/index.ejs +5 -2
- package/layout/_partial/cover/wiki_cover.ejs +39 -28
- package/layout/_partial/dropdown.ejs +26 -14
- package/layout/_partial/head.ejs +96 -69
- package/layout/_partial/main/article/contributors.ejs +12 -9
- package/layout/_partial/main/article/post_footer.ejs +47 -0
- package/layout/_partial/main/article/post_read_next.ejs +22 -0
- package/layout/_partial/main/article/post_related.ejs +14 -0
- package/layout/_partial/main/article/post_tags.ejs +12 -0
- package/layout/_partial/main/article/share.ejs +55 -0
- package/layout/_partial/main/footer.ejs +11 -10
- package/layout/_partial/main/{navbar/nav_tabs_blog.ejs → listing_nav/blog.ejs} +21 -18
- package/layout/_partial/main/listing_nav/wiki.ejs +56 -0
- package/layout/_partial/main/navbar/article_banner.ejs +39 -35
- package/layout/_partial/main/navbar/breadcrumb/blog.ejs +15 -28
- package/layout/_partial/main/navbar/breadcrumb/note.ejs +12 -5
- package/layout/_partial/main/navbar/breadcrumb/wiki.ejs +15 -11
- package/layout/_partial/main/navbar/dateinfo.ejs +28 -12
- package/layout/_partial/main/navbar/ghinfo.ejs +5 -3
- package/layout/_partial/main/notebook/note_card.ejs +12 -17
- package/layout/_partial/main/notebook/note_tags.ejs +3 -4
- package/layout/_partial/main/notebook/notebook_card.ejs +11 -4
- package/layout/_partial/main/pin_slider.ejs +48 -43
- package/layout/_partial/main/post_list/archive_item.ejs +8 -4
- package/layout/_partial/main/post_list/latest_post_card.ejs +10 -4
- package/layout/_partial/main/post_list/post_card.ejs +39 -90
- package/layout/_partial/main/post_list/topic_card.ejs +7 -5
- package/layout/_partial/main/post_list/wiki_card.ejs +16 -13
- package/layout/_partial/menubtn.ejs +3 -3
- package/layout/_partial/primitives/item.ejs +8 -0
- package/layout/_partial/primitives/navigation.ejs +17 -0
- package/layout/_partial/primitives/region.ejs +16 -0
- package/layout/_partial/primitives/section.ejs +8 -0
- package/layout/_partial/primitives/shell.ejs +35 -0
- package/layout/_partial/regions/widgets.ejs +84 -0
- package/layout/_partial/scripts/defines.ejs +46 -76
- package/layout/_partial/scripts/runtime.ejs +55 -0
- package/layout/_partial/scripts.ejs +18 -42
- package/layout/_partial/search/dialog.ejs +33 -0
- package/layout/_partial/search/shortcut.ejs +1 -0
- package/layout/_partial/sidebar/brand.ejs +127 -0
- package/layout/_partial/sidebar/menu.ejs +59 -14
- package/layout/_partial/sidebar/search.ejs +58 -41
- package/layout/_partial/widgets/actions.ejs +25 -0
- package/layout/_partial/widgets/author.ejs +9 -5
- package/layout/_partial/widgets/components/linklist.ejs +1 -2
- package/layout/_partial/widgets/ghissues.ejs +7 -10
- package/layout/_partial/widgets/ghrepo.ejs +23 -16
- package/layout/_partial/widgets/ghuser.ejs +3 -3
- package/layout/_partial/widgets/recent.ejs +25 -21
- package/layout/_partial/widgets/related.ejs +25 -34
- package/layout/_partial/widgets/settings.ejs +17 -0
- package/layout/_partial/widgets/tagtree.ejs +18 -10
- package/layout/_partial/widgets/toc.ejs +17 -9
- package/layout/_partial/widgets/tree.ejs +12 -13
- package/layout/archive.ejs +20 -13
- package/layout/categories.ejs +4 -3
- package/layout/collection-preview.ejs +8 -9
- package/layout/index.ejs +32 -43
- package/layout/index_topic.ejs +6 -13
- package/layout/index_wiki.ejs +17 -34
- package/layout/layout.ejs +195 -65
- package/layout/notebooks.ejs +3 -3
- package/layout/notes.ejs +4 -4
- package/layout/page.ejs +95 -50
- package/layout/settings.ejs +109 -0
- package/layout/tags.ejs +4 -3
- package/{THIRD-PARTY-NOTICES.md → legal/THIRD-PARTY-NOTICES.md} +8 -4
- package/package.json +28 -6
- package/scripts/commands/stellar.js +55 -0
- package/scripts/events/index.js +15 -9
- package/scripts/events/lib/authors.js +9 -7
- package/scripts/events/lib/config-hot-reload.js +65 -0
- package/scripts/events/lib/config-schema.js +20 -0
- package/scripts/events/lib/config.js +22 -63
- package/scripts/events/lib/content-config.js +5 -0
- package/scripts/events/lib/doc_tree.js +99 -9
- package/scripts/events/lib/links.js +6 -3
- package/scripts/events/lib/notebooks.js +200 -8
- package/scripts/events/lib/utils.js +4 -4
- package/scripts/events/lib/version-check.js +57 -3
- package/scripts/filters/index.js +2 -27
- package/scripts/filters/lib/img_lazyload.js +4 -126
- package/scripts/filters/lib/img_onerror.js +14 -17
- package/scripts/filters/lib/page-view-model.js +152 -0
- package/scripts/generators/404.js +13 -8
- package/scripts/generators/author.js +16 -11
- package/scripts/generators/notebooks.js +68 -39
- package/scripts/generators/search.js +62 -67
- package/scripts/generators/settings.js +43 -0
- package/scripts/generators/stellar-icons.js +13 -5
- package/scripts/generators/topic.js +24 -13
- package/scripts/generators/wiki.js +49 -21
- package/scripts/helpers/ai_label.js +6 -12
- package/scripts/helpers/brand.js +17 -0
- package/scripts/helpers/browser_runtime_manifest.js +12 -0
- package/scripts/helpers/caption.js +8 -0
- package/scripts/helpers/category_color.js +13 -13
- package/scripts/helpers/collection.js +18 -0
- package/scripts/helpers/comments_model.js +14 -0
- package/scripts/helpers/extension_assets.js +8 -0
- package/scripts/helpers/json_ld.js +16 -7
- package/scripts/helpers/mdrender.js +3 -9
- package/scripts/helpers/menu.js +9 -0
- package/scripts/helpers/post_view_model.js +23 -0
- package/scripts/helpers/regions.js +37 -0
- package/scripts/helpers/scrollreveal.js +7 -7
- package/scripts/helpers/search_domain.js +34 -0
- package/scripts/helpers/service_provider.js +9 -0
- package/scripts/helpers/settings.js +16 -0
- package/scripts/helpers/share_action.js +8 -0
- package/scripts/helpers/stellar_config.js +12 -0
- package/scripts/helpers/stellar_data.js +8 -0
- package/scripts/helpers/stellar_info.js +21 -16
- package/scripts/helpers/stellar_inject.js +9 -0
- package/scripts/helpers/ui_classes.js +12 -0
- package/scripts/lib/ai_label.js +14 -11
- package/scripts/lib/brand.js +41 -0
- package/scripts/lib/browser-runtime.js +115 -0
- package/scripts/lib/caption.js +21 -0
- package/scripts/lib/collection-pipeline/adapters/notebook.js +62 -0
- package/scripts/lib/collection-pipeline/adapters/post.js +20 -0
- package/scripts/lib/collection-pipeline/adapters/topic.js +82 -0
- package/scripts/lib/collection-pipeline/adapters/wiki.js +20 -0
- package/scripts/lib/collection-pipeline/index.js +169 -0
- package/scripts/lib/collection-pipeline/registry.js +27 -0
- package/scripts/lib/collection-pipeline/shared.js +164 -0
- package/scripts/lib/comments.js +60 -0
- package/scripts/lib/config-inject.js +20 -0
- package/scripts/lib/config-schema.js +1095 -0
- package/scripts/lib/content-config.js +157 -0
- package/scripts/lib/content-defaults.js +56 -0
- package/scripts/lib/content-membership.js +233 -0
- package/scripts/lib/contribution-contract.js +165 -0
- package/scripts/lib/contribution-registry.js +429 -0
- package/scripts/lib/doc_tree.js +46 -44
- package/scripts/lib/doctor.js +296 -0
- package/scripts/lib/front-matter.js +29 -0
- package/scripts/lib/hero-effect-registry.js +262 -0
- package/scripts/lib/html-images.js +128 -0
- package/scripts/lib/internal-constants.js +152 -0
- package/scripts/lib/layout-config.js +62 -0
- package/scripts/lib/mdrender_html.js +36 -23
- package/scripts/lib/menu.js +36 -0
- package/scripts/lib/model-schema.js +90 -0
- package/scripts/lib/models/index.js +1542 -0
- package/scripts/lib/new-note.js +172 -0
- package/scripts/lib/page-view-model-registry.js +103 -0
- package/scripts/lib/regions.js +132 -0
- package/scripts/lib/runtime-data.js +23 -0
- package/scripts/lib/safe-path.js +44 -0
- package/scripts/lib/search-domain.js +59 -0
- package/scripts/lib/seo.js +10 -10
- package/scripts/lib/service-provider.js +12 -0
- package/scripts/lib/settings.js +16 -0
- package/scripts/lib/share-services.js +96 -0
- package/scripts/lib/source-config.js +27 -0
- package/scripts/lib/theme-metadata.js +22 -0
- package/scripts/lib/ui-capabilities.js +32 -0
- package/scripts/lib/widget-registry.js +150 -0
- package/scripts/lib/wiki_readme.js +15 -11
- package/scripts/schema/config-rules.js +290 -0
- package/scripts/schema/config-schema.js +163 -0
- package/scripts/schema/content-config-rules.js +264 -0
- package/scripts/schema/content-config-schema.js +321 -0
- package/scripts/schema/model-schema.js +971 -0
- package/scripts/schema/schema-utils.js +48 -0
- package/scripts/tags/index.js +2 -3
- package/scripts/tags/lib/albums.js +6 -6
- package/scripts/tags/lib/banner.js +10 -4
- package/scripts/tags/lib/box.js +1 -1
- package/scripts/tags/lib/button.js +1 -1
- package/scripts/tags/lib/chat.js +9 -31
- package/scripts/tags/lib/checkbox.js +6 -1
- package/scripts/tags/lib/copy.js +4 -1
- package/scripts/tags/lib/dropdown.js +6 -4
- package/scripts/tags/lib/emoji.js +5 -10
- package/scripts/tags/lib/friends.js +4 -4
- package/scripts/tags/lib/gallery.js +7 -7
- package/scripts/tags/lib/ghcard.js +5 -3
- package/scripts/tags/lib/gist.js +16 -0
- package/scripts/tags/lib/grid.js +4 -2
- package/scripts/tags/lib/hashtag.js +1 -1
- package/scripts/tags/lib/icon.js +1 -1
- package/scripts/tags/lib/image.js +1 -1
- package/scripts/tags/lib/link.js +6 -3
- package/scripts/tags/lib/mark.js +8 -3
- package/scripts/tags/lib/md.js +1 -1
- package/scripts/tags/lib/note.js +1 -1
- package/scripts/tags/lib/okr.js +18 -1
- package/scripts/tags/lib/posters.js +6 -6
- package/scripts/tags/lib/quot.js +15 -5
- package/scripts/tags/lib/rating.js +7 -4
- package/scripts/tags/lib/sites.js +8 -6
- package/scripts/tags/lib/tip.js +6 -6
- package/scripts/tags/lib/toc.js +2 -2
- package/scripts/tags/lib/vote.js +8 -5
- package/source/css/_appearances/_mixins.styl +258 -0
- package/source/css/_appearances/card.styl +30 -0
- package/source/css/_appearances/flat.styl +44 -0
- package/source/css/_appearances/glass.styl +138 -0
- package/source/css/_appearances/minimal.styl +325 -0
- package/source/css/_common/base.styl +5 -9
- package/source/css/_common/blockquote.styl +0 -1
- package/source/css/_common/button.styl +1 -1
- package/source/css/_common/device.styl +24 -42
- package/source/css/_common/dropdown.styl +20 -14
- package/source/css/_common/highlight.styl +5 -12
- package/source/css/_common/icon.styl +38 -0
- package/source/css/_common/input.styl +33 -0
- package/source/css/_common/loading.styl +2 -2
- package/source/css/_common/svg.styl +0 -8
- package/source/css/_components/collection.styl +21 -64
- package/source/css/_components/layout.styl +524 -84
- package/source/css/_components/list.styl +36 -22
- package/source/css/_components/main.styl +16 -19
- package/source/css/_components/md.styl +8 -13
- package/source/css/_components/pages/article-indent.styl +1 -1
- package/source/css/_components/pages/article-story.styl +7 -6
- package/source/css/_components/pages/article-tech.styl +5 -5
- package/source/css/_components/pages/collection-preview.styl +1 -5
- package/source/css/_components/pages/settings.styl +184 -0
- package/source/css/_components/partial/article-banner.styl +2 -2
- package/source/css/_components/partial/article-footer.styl +0 -32
- package/source/css/_components/partial/article-share.styl +48 -0
- package/source/css/_components/partial/article-tags.styl +1 -1
- package/source/css/_components/partial/cover.styl +13 -13
- package/source/css/_components/partial/listing-nav.styl +68 -0
- package/source/css/_components/partial/paginator.styl +1 -1
- package/source/css/_components/pin-slider.styl +3 -3
- package/source/css/_components/sidebar/brand.styl +135 -0
- package/source/css/_components/sidebar/footer.styl +14 -31
- package/source/css/_components/sidebar/nav-area.styl +4 -0
- package/source/css/_components/sidebar/search.styl +176 -26
- package/source/css/_components/sidebar/sidebar.styl +76 -110
- package/source/css/_components/tag-plugins/banner.styl +16 -28
- package/source/css/_components/tag-plugins/checkbox.styl +7 -22
- package/source/css/_components/tag-plugins/copy.styl +3 -5
- package/source/css/_components/tag-plugins/gallery.styl +2 -2
- package/source/css/_components/tag-plugins/grid.styl +3 -0
- package/source/css/_components/tag-plugins/image.styl +2 -1
- package/source/css/_components/tag-plugins/link.styl +0 -1
- package/source/css/_components/tag-plugins/mark.styl +19 -4
- package/source/css/_components/tag-plugins/mdrender.styl +2 -2
- package/source/css/_components/tag-plugins/navbar.styl +23 -17
- package/source/css/_components/tag-plugins/note.styl +2 -2
- package/source/css/_components/tag-plugins/okr.styl +1 -2
- package/source/css/_components/tag-plugins/quot.styl +5 -0
- package/source/css/_components/tag-plugins/rating.styl +3 -2
- package/source/css/_components/tag-plugins/timeline.styl +1 -1
- package/source/css/_components/tag-plugins/tip.styl +1 -1
- package/source/css/_components/tag-plugins/vote.styl +3 -2
- package/source/css/_components/widgets/ghrepo.styl +2 -1
- package/source/css/_components/widgets/ghuser.styl +4 -6
- package/source/css/_components/widgets/settings.styl +49 -0
- package/source/css/_components/widgets/timeline.styl +2 -2
- package/source/css/_components/widgets/toc.styl +12 -33
- package/source/css/_components/widgets/widgets.styl +14 -19
- package/source/css/_components/wiki-card.styl +2 -2
- package/source/css/_custom.styl +26 -32
- package/source/css/_defines/func.styl +47 -37
- package/source/css/_defines/theme_base.styl +8 -10
- package/source/css/_plugins/card-hover.styl +1 -1
- package/source/css/_plugins/copycode.styl +16 -19
- package/source/css/_plugins/index.styl +3 -8
- package/source/css/_plugins/lazyload.styl +1 -1
- package/source/css/main.styl +12 -0
- package/source/js/main.js +302 -59
- package/source/js/plugins/adaptive-text.js +33 -16
- package/source/js/plugins/card-hover.js +2 -24
- package/source/js/plugins/copycode.js +10 -16
- package/source/js/plugins/voice.js +51 -48
- package/source/js/profile.js +316 -0
- package/source/js/runtime/asset-loader.js +61 -0
- package/source/js/runtime/extension-registry.js +149 -0
- package/source/js/runtime/extensions/card-hover.js +5 -0
- package/source/js/runtime/extensions/color-scheme-switch.js +101 -0
- package/source/js/runtime/extensions/comments.js +200 -0
- package/source/js/runtime/extensions/deferred-icons.js +53 -0
- package/source/js/{plugins → runtime/extensions}/dropdown.js +69 -30
- package/source/js/runtime/extensions/feature.js +200 -0
- package/source/js/runtime/extensions/hero-effect.js +179 -0
- package/source/js/runtime/extensions/reveal.js +80 -0
- package/source/js/runtime/extensions/search.js +23 -0
- package/source/js/{services.js → runtime/extensions/services.js} +67 -54
- package/source/js/runtime/extensions/settings.js +235 -0
- package/source/js/runtime/hero-effects/ferrofluid.js +385 -0
- package/source/js/{plugins → runtime/hero-effects}/galaxy.js +53 -177
- package/source/js/runtime/hero-effects/light-rays.js +293 -0
- package/source/js/runtime/index.js +75 -0
- package/source/js/runtime/legacy-request-adapter.js +47 -0
- package/source/js/runtime/request-cache.js +219 -0
- package/source/js/search/algolia-search.js +76 -51
- package/source/js/search/highlight.js +1 -1
- package/source/js/search/local-search.js +96 -57
- package/source/js/search/shortcut.js +31 -20
- package/source/js/services/friends_and_posts.js +6 -1
- package/source/js/services/rating.js +14 -6
- package/source/js/services/siteinfo.js +3 -7
- package/source/js/services/timeline.js +1 -1
- package/source/js/services/vote.js +7 -5
- package/source/js/services/weibo.js +1 -1
- package/source/js/utils.js +19 -444
- package/.claude/skills/stellar-theme-dev/SKILL.md +0 -51
- package/_data/chat_users.yml +0 -0
- package/layout/_partial/comments/artalk/script.ejs +0 -76
- package/layout/_partial/comments/beaudar/script.ejs +0 -33
- package/layout/_partial/comments/giscus/script.ejs +0 -31
- package/layout/_partial/comments/script.ejs +0 -3
- package/layout/_partial/comments/twikoo/script.ejs +0 -25
- package/layout/_partial/comments/utterances/script.ejs +0 -33
- package/layout/_partial/comments/waline/script.ejs +0 -43
- package/layout/_partial/main/article/article_footer.ejs +0 -164
- package/layout/_partial/main/article/article_tags.ejs +0 -16
- package/layout/_partial/main/article/read_next.ejs +0 -63
- package/layout/_partial/main/article/related_posts.ejs +0 -16
- package/layout/_partial/main/navbar/nav_tabs_wiki.ejs +0 -52
- package/layout/_partial/scripts/bootstrap.ejs +0 -37
- package/layout/_partial/scripts/lazyload.ejs +0 -89
- package/layout/_partial/sidebar/grad-def.ejs +0 -26
- package/layout/_partial/sidebar/index_leftbar.ejs +0 -191
- package/layout/_partial/sidebar/index_rightbar.ejs +0 -94
- package/layout/_partial/sidebar/logo.ejs +0 -99
- package/layout/_plugins/adaptive_text.ejs +0 -11
- package/layout/_plugins/card_hover.ejs +0 -32
- package/layout/_plugins/copycode.ejs +0 -17
- package/layout/_plugins/fancybox.ejs +0 -53
- package/layout/_plugins/heti.ejs +0 -21
- package/layout/_plugins/index.ejs +0 -50
- package/layout/_plugins/mathjax.ejs +0 -49
- package/layout/_plugins/mermaid.ejs +0 -33
- package/layout/_plugins/preload.ejs +0 -9
- package/layout/_plugins/scrollreveal.ejs +0 -102
- package/layout/_plugins/search/algolia_search.ejs +0 -12
- package/layout/_plugins/search/local_search.ejs +0 -9
- package/layout/_plugins/swiper.ejs +0 -27
- package/layout/_plugins/tianli_gpt.ejs +0 -14
- package/scripts/commands/new-note.js +0 -49
- package/scripts/events/lib/merge_posts.js +0 -48
- package/scripts/events/lib/topic_tree.js +0 -48
- package/scripts/helpers/related_posts.js +0 -51
- package/scripts/helpers/subtitle.js +0 -8
- package/scripts/lib/notebooks.js +0 -181
- package/scripts/lib/subtitle.js +0 -28
- package/scripts/tags/lib/about.js +0 -48
- package/source/css/_components/page-transition.styl +0 -22
- package/source/css/_components/partial/navbar.styl +0 -51
- package/source/css/_components/sidebar/logo.styl +0 -111
- package/source/css/_components/tag-plugins/about.styl +0 -56
- package/source/css/_components/widgets/tree.styl +0 -0
- package/source/css/_plugins/scrollreveal.styl +0 -6
- package/source/css/_plugins/tianli_gpt.styl +0 -213
- package/source/css/plugins/mermaid.styl +0 -137
- package/source/js/icons.js +0 -60
- package/source/js/services/fcircle.js +0 -35
- package/source/js/theme.js +0 -61
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,63 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.0-rc.2
|
|
4
|
+
|
|
5
|
+
> 发布日期:2026-09-07
|
|
6
|
+
|
|
7
|
+
本节记录从公开候选 `2.0.0-rc.1` 到 `2.0.0-rc.2` 最终文件树的净变化。
|
|
8
|
+
|
|
9
|
+
### 新功能
|
|
10
|
+
|
|
11
|
+
- Notebook 列表、设置页与错误页的专属配置统一收敛到 `profiles`;404 页新增默认关闭的评论区,可独立覆盖标题、线程、Provider 与参数。
|
|
12
|
+
- 可信页面注入补全 `head_begin/head_end/body_begin/body_end` 四个位置,站点主题配置与页面 Front Matter 使用同一合并顺序和原样输出语义。
|
|
13
|
+
|
|
14
|
+
### 修复与工程变化
|
|
15
|
+
|
|
16
|
+
- 将 `hexo-front-matter` 声明为主题直接依赖,避免源码配置与 `stellar new note` 依赖 Hexo 宿主的传递依赖。
|
|
17
|
+
- 重构中英文 README,明确 npm、源码与 Blueprint 三种安装入口,并补充随 npm 包分发的 Stellar 图标、项目描述、关键词和作者元数据。
|
|
18
|
+
|
|
19
|
+
### 升级注意(配置变更与破坏性改动)
|
|
20
|
+
|
|
21
|
+
- 从 RC1 升级时,将顶层 `notebook` 移到 `profiles.notebook`,将 `settings.about` 移到 `profiles.settings.about`,将 `error_page.image` 移到 `profiles.error.image`。
|
|
22
|
+
- `profiles.notebook_index` 更名为 `profiles.notebooks`,`profiles.note_index` 更名为 `profiles.notebook`;Note 内容页继续使用 `profiles.note`。
|
|
23
|
+
- `inject` 内容会作为可信 HTML 原样输出;只应配置维护者完全信任的内容,站点级内容在前、页面 Front Matter 在后。
|
|
24
|
+
|
|
25
|
+
Full Changelog: [2.0.0-rc.1...2.0.0-rc.2](https://github.com/xaoxuu/hexo-theme-stellar/compare/2.0.0-rc.1...2.0.0-rc.2)
|
|
26
|
+
|
|
27
|
+
## 2.0.0-rc.1
|
|
28
|
+
|
|
29
|
+
> 发布日期:2026-09-07
|
|
30
|
+
|
|
31
|
+
本节记录从最近公开版本 `1.44.0` 到当前候选文件树的净变化;开发期间已经被替换的中间方案不属于迁移契约。
|
|
32
|
+
|
|
33
|
+
### 新功能
|
|
34
|
+
|
|
35
|
+
- 配置、Collection YAML 与页面 Front Matter 采用声明式严格 Schema;默认配置、校验、JavaScript 投影和 Reference 由同一字段事实生成,Doctor 在构建前给出带来源和字段路径的诊断。
|
|
36
|
+
- 新增 Post、Topic、Wiki、Notebook、Note 与索引页共享的 Collection/PageViewModel 管线,并以 `listed/searchable` 分离聚合展示和搜索收录。
|
|
37
|
+
- 页面外壳统一为 Topbar、Leftbar、Rightbar Region,Brand、Menu、Widget、Footer 和 13 个 Profile 使用结构化配置与明确的覆盖语义。
|
|
38
|
+
- 新增 `card/glass/minimal/flat` 外观预设、明暗模式切换、颜色/渐变/排版/形状/背景设置,以及独立设置页。
|
|
39
|
+
- 浏览器功能改为原生 ESM Runtime Manifest 和按 DOM 命中加载的 Extension;搜索、评论、Feature、数据服务及请求缓存拥有明确生命周期。
|
|
40
|
+
- Wiki Hero 支持 `ferrofluid`、`galaxy`、`light-rays` 三种可选背景效果,效果与静态图片可叠加;标签目录新增 `gist`。
|
|
41
|
+
- 新增 `hexo stellar doctor` 与 `hexo stellar new note`;目录驱动的完整 Blueprint 改由 Stellar Examples 仓库维护。
|
|
42
|
+
|
|
43
|
+
### 行为、样式与工程变化
|
|
44
|
+
|
|
45
|
+
- Article 与 Notebook 的列表、横幅、许可、分享、标签和排序默认值收敛到内容模型;Collection 内容默认关闭分享,Notebook 与其它 Collection 使用一致的覆盖规则。
|
|
46
|
+
- 侧栏集合、Navbar、Dropdown、Grid、文章卡片、下载按钮和 Topbar 对齐使用统一的 UI capability、形状与状态反馈。
|
|
47
|
+
- 运行环境升级为 Node.js 22+、Hexo 8+;构建、包集成、性能、知识库、贡献注册表和复用规则各自拥有独立门禁。
|
|
48
|
+
- 发布流程原子同步 `package.json`、`package-lock.json` 与安装知识库的版本,并把未跟踪文件纳入工作区门禁,避免候选包、锁文件或临时产物漂移;稳定版写入 npm `latest`,RC 写入 `rc` dist-tag。
|
|
49
|
+
- 主题仓库只保留长期指南、当前知识库和阶段审计;单次方案、迁移中间态及已被最终实现取代的测试/兼容残留不进入发布文件树。
|
|
50
|
+
|
|
51
|
+
### 升级注意(配置变更与破坏性改动)
|
|
52
|
+
|
|
53
|
+
- 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`。
|
|
54
|
+
- Collection 与 Front Matter 需要迁移为 `collection/route/navigation/listing/visibility/banner/article/comments/render/seo` 等分组字段;未知字段、错误类型与非法枚举会在构建早期失败。
|
|
55
|
+
- `about`、`users` 标签以及对应的 `chat_users.yml`、`fcircle` 适配器已移除;`tip` 改为单标签 `{% tip 词句 pop:注解 %}`,`quot` 支持直接图标键与 `color`。
|
|
56
|
+
- 浏览器后处理必须原样保留 `public/js/runtime/**/*.js` 的 ESM 语义、相对 import 与 JavaScript MIME 类型。
|
|
57
|
+
- v2 当前源码从仓库 `main` 安装并需要执行 `npm install --prefix themes/stellar`;npm 包是否为 v2 以实际公开版本为准。
|
|
58
|
+
|
|
59
|
+
Full Changelog: [1.44.0...main](https://github.com/xaoxuu/hexo-theme-stellar/compare/1.44.0...main)
|
|
60
|
+
|
|
3
61
|
## 1.44.0
|
|
4
62
|
|
|
5
63
|
> 发布日期:2026-08-21
|
|
@@ -104,18 +162,18 @@ Full Changelog: [1.42.0...1.42.1](https://github.com/xaoxuu/hexo-theme-stellar/c
|
|
|
104
162
|
### 重构
|
|
105
163
|
- 移除已失效的 auto_banner(Unsplash 自动横幅)与 `poster` 配置
|
|
106
164
|
- 页面横幅上块重构为显式两行结构(面包屑 + 阅读时长/AI 标签 + 日期行)
|
|
107
|
-
- 评论数图标统一使用 `default:
|
|
165
|
+
- 评论数图标统一使用 `default:to-comment`,移除 `weibo:comment`
|
|
108
166
|
|
|
109
167
|
### 其他
|
|
110
168
|
- 移除知识库合并版 `知识库全量.md`,知识库以领域页面为唯一事实源
|
|
111
|
-
- 新增 AI
|
|
169
|
+
- 新增 AI 规范引用一致性检查与发版前提交登记完整性检查(随 `npm run check` 执行)
|
|
112
170
|
|
|
113
171
|
### 升级注意(配置变更与破坏性改动)
|
|
114
172
|
- 移除 `article.auto_banner`(Unsplash 自动横幅已失效)与文章 front-matter `poster`(`headline` / `topic` / `caption`);`poster.color` / `banner_info.color` 显式文字颜色不再生效,由自适应文字颜色接管
|
|
115
173
|
- 新增 `article.card_style`(`hero` 默认 / `classic`):未显式设置的站点保持 hero 卡片样式
|
|
116
174
|
- 新增 `plugins.adaptive_text`(默认 `enable: true`):页面存在 `[data-text-adaptive]` 元素时才按需加载,文字颜色默认随背景自适应
|
|
117
175
|
- 删除间距令牌 `--gap-margin` / `--gap-padding` / `--gap-max`,替换为 `--gap-base`(组件内部间距)与 `--gap-page`(页面级留白);引用旧令牌的自定义 CSS 需迁移
|
|
118
|
-
- `weibo:comment` 图标已移除,评论数图标统一使用 `default:
|
|
176
|
+
- `weibo:comment` 图标已移除,评论数图标统一使用 `default:to-comment`;自定义中引用了 `weibo:comment` 的站点请改用 `default:to-comment`
|
|
119
177
|
- 知识库合并版 `知识库全量.md` 移除(RAG 可直接索引领域页面)
|
|
120
178
|
|
|
121
179
|
Full Changelog: [1.41.0...main](https://github.com/xaoxuu/hexo-theme-stellar/compare/1.41.0...main)
|
|
@@ -290,7 +348,7 @@ Full Changelog: [1.37.0...1.38.0](https://github.com/xaoxuu/hexo-theme-stellar/c
|
|
|
290
348
|
|
|
291
349
|
### 其他
|
|
292
350
|
- CHANGELOG.md 历史数据一次性从 GitHub Releases API 同步入库(76 个版本,统一格式)
|
|
293
|
-
- 新增发版流程文档(docs/guides/release-process.md
|
|
351
|
+
- 新增发版流程文档(docs/guides/release-process.md)并完善发布自动化记录
|
|
294
352
|
|
|
295
353
|
Full Changelog: [1.36.0...1.37.0](https://github.com/xaoxuu/hexo-theme-stellar/compare/1.36.0...1.37.0)
|
|
296
354
|
|
|
@@ -336,7 +394,7 @@ Full Changelog: [1.35.0...1.36.0](https://github.com/xaoxuu/hexo-theme-stellar/c
|
|
|
336
394
|
- 统一 URL 路径规范化逻辑,修复 canonical 标签路径不一致的问题
|
|
337
395
|
- 修复 wiki 文档树中索引页(index)的路径匹配错误
|
|
338
396
|
- 发版脚本迁移为 Node CLI(release.js),支持版本校验、dry-run 预览与二次确认
|
|
339
|
-
- 完善仓库 AI 协作规范(AGENTS.md、issue 处理规则),重组 docs
|
|
397
|
+
- 完善仓库 AI 协作规范(AGENTS.md、issue 处理规则),重组 docs 中的长期指南与审计记录
|
|
340
398
|
- 优化 npm 发布忽略规则(.npmignore)
|
|
341
399
|
|
|
342
400
|
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)
|
|
3
|
+
感谢你考虑为 [Stellar](https://github.com/xaoxuu/hexo-theme-stellar) 贡献代码或文档。本指南只保留贡献者需要的入口;工程规则以 [AGENTS.md](AGENTS.md) 为准,主题使用方法见 [Wiki 文档](https://xaoxuu.com/wiki/stellar/)。
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
## 仓库与职责边界
|
|
5
|
+
## 仓库边界
|
|
8
6
|
|
|
9
7
|
| 仓库 | 职责 |
|
|
10
|
-
|
|
11
|
-
| [hexo-theme-stellar](https://github.com/xaoxuu/hexo-theme-stellar) |
|
|
12
|
-
| [
|
|
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
|
-
|
|
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
|
-
|
|
16
|
+
公开兼容范围以 [README.md](README.md) 为准,当前开发命令以 [package.json](package.json) 为准,CI 使用的 Node.js 版本以 [.github/workflows/ci.yml](.github/workflows/ci.yml) 为准,避免在多处复制版本矩阵。
|
|
28
17
|
|
|
29
|
-
|
|
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
|
-
|
|
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
|
-
|
|
33
|
+
先运行最接近改动的检查;需要全仓证据时运行 `npm run check`。所有可用脚本及其当前组合以 `package.json` 为准。宿主构建、视觉检查和分发验收只在任务影响这些契约时补充。
|
|
68
34
|
|
|
69
|
-
|
|
35
|
+
机器契约与直接测试随实现更新;知识库、CHANGELOG 和版本级 `VERIFICATION.md` 在发版准备时按最终净变化集中同步。
|
|
70
36
|
|
|
71
|
-
|
|
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)
|
|
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
|
-
|
|
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)
|
|
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
|
-
|
|
61
|
+
提问时请说明现象、复现步骤、尝试过程与报错信息。
|
|
153
62
|
|
|
154
63
|
## 许可
|
|
155
64
|
|
package/README.md
CHANGED
|
@@ -1,113 +1,106 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img src="assets/icon-v2-x512.webp" width="160" alt="Stellar">
|
|
3
|
+
<h1>Stellar</h1>
|
|
4
|
+
<p>每个人的独立博客</p>
|
|
5
|
+
<p>基于 Hexo 的全能个人知识库,开箱即用,内置海量标签和动态数据组件。可用于个人博客、项目文档、知识库、专栏、笔记等。</p>
|
|
6
|
+
<p><a href="README.md">简体中文</a> · <a href="README_EN.md">English</a></p>
|
|
7
|
+
<p>
|
|
8
|
+
<a href="https://github.com/xaoxuu/hexo-theme-stellar/releases"><img src="https://img.shields.io/github/v/release/xaoxuu/hexo-theme-stellar" alt="release"></a>
|
|
9
|
+
<a href="https://www.npmjs.com/package/hexo-theme-stellar"><img src="https://img.shields.io/npm/v/hexo-theme-stellar" alt="npm"></a>
|
|
10
|
+
<a href="https://www.npmjs.com/package/hexo-theme-stellar"><img src="https://img.shields.io/npm/dm/hexo-theme-stellar" alt="npm downloads"></a>
|
|
11
|
+
<a href="https://github.com/xaoxuu/hexo-theme-stellar"><img src="https://img.shields.io/github/stars/xaoxuu/hexo-theme-stellar" alt="stars"></a>
|
|
12
|
+
<a href="LICENSE"><img src="https://img.shields.io/github/license/xaoxuu/hexo-theme-stellar" alt="license"></a>
|
|
13
|
+
</p>
|
|
14
|
+
<p>
|
|
15
|
+
<a href="https://xaoxuu.com/wiki/stellar/start/install/">创建第一个博客</a> ·
|
|
16
|
+
<a href="https://xaoxuu.com/wiki/stellar/support/examples/">站点示例</a> ·
|
|
17
|
+
<a href="https://xaoxuu.com/wiki/stellar/">完整文档</a>
|
|
18
|
+
</p>
|
|
19
|
+
</div>
|
|
2
20
|
|
|
3
|
-
|
|
21
|
+
## 在纷繁中建立秩序
|
|
4
22
|
|
|
5
|
-
|
|
6
|
-
[](https://github.com/xaoxuu/hexo-theme-stellar/blob/main/LICENSE)
|
|
7
|
-
[](https://github.com/xaoxuu/hexo-theme-stellar)
|
|
8
|
-
[](https://www.npmjs.com/package/hexo-theme-stellar)
|
|
9
|
-
[](https://github.com/xaoxuu/hexo-theme-stellar/releases)
|
|
23
|
+
> 真正的简约不止删繁就简,而是在纷繁中建立秩序。
|
|
10
24
|
|
|
11
|
-
|
|
25
|
+
### 完善的内容组织体系
|
|
12
26
|
|
|
13
|
-
|
|
27
|
+
从普通文章开始。项目需要稳定的文档目录时,用 Wiki;文章逐渐形成系列时,收进专栏;零散知识需要长期积累时,放进笔记本。它们共享同一套导航、搜索、侧栏与阅读体验,没有启用的内容系统不会增加额外负担。
|
|
14
28
|
|
|
15
|
-
|
|
29
|
+
### 灵活的排版与表达方式
|
|
16
30
|
|
|
17
|
-
|
|
31
|
+
从外观预设、配色和字体,到分栏、选项卡、折叠块与图库,站点的样子和内容的表达方式都可以按需组合。本地搜索可以直接定位到相关章节,响应式布局会在窄屏上把主要空间留给正文。
|
|
18
32
|
|
|
19
|
-
|
|
20
|
-
- **Wiki 文档系统**:既可以展示多个项目文档,也可以作为个人知识库,项目树、小节与层级导航开箱即用。
|
|
21
|
-
- **专栏系统**:系列文章集中管理,提供沉浸式的连续阅读体验。
|
|
22
|
-
- **笔记本系统**:三层架构与标签树导航,方便地梳理、归档和检索笔记。
|
|
33
|
+
### 静态页面,也能常看常新
|
|
23
34
|
|
|
24
|
-
|
|
35
|
+
手写内容沉淀观点,外部数据保持新鲜。远程内容、社区数据和外部服务可以按需加载,与静态正文保持解耦;经常变化的数据不必每次都随整站重新生成。
|
|
25
36
|
|
|
26
|
-
|
|
37
|
+
## 站点示例
|
|
27
38
|
|
|
28
|
-
|
|
39
|
+
[Stellar Examples](https://github.com/xaoxuu/hexo-theme-stellar-examples/) 提供可以直接运行的示例站,适合先体验接近自己目标的站点,再逐步替换内容与配置。更多真实站点见[站点示例](https://xaoxuu.com/wiki/stellar/support/examples/)。
|
|
29
40
|
|
|
30
|
-
|
|
41
|
+
## 开始使用
|
|
31
42
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
- **动态时间线**:像发朋友圈一样发布短文,也可以订阅他人的时间线。
|
|
35
|
-
- **自动化友链**:自动检测友链状态、打标签、订阅友链文章。
|
|
36
|
-
- **远程 Markdown 渲染**:例如直接渲染项目仓库的 README,避免重复维护。
|
|
37
|
-
- **GitHub 仓库 / 贡献者卡片、评分、投票、最新评论**等数据组件,按需加载,不拖慢首屏。
|
|
38
|
-
- **社区文化**:可以订阅「探索号」时间线数据源,获取社区用户的宝贵经验分享。
|
|
43
|
+
### 环境要求
|
|
39
44
|
|
|
40
|
-
|
|
45
|
+
- Node.js 22 或更高版本
|
|
46
|
+
- Hexo 8 或更高版本
|
|
41
47
|
|
|
42
|
-
|
|
43
|
-
- **设计令牌驱动的样式系统**:统一的设计语言、深色模式与移动端响应式适配。
|
|
44
|
-
- **图片懒加载**按原图比例预留占位,不会出现高度跳变,体验更佳。
|
|
45
|
-
- 可选插件按需启用:代码高亮与复制、KaTeX / MathJax 数学渲染、Mermaid 图表、Fancybox 灯箱、Swiper 轮播等。
|
|
46
|
-
- **本地搜索**:内置索引生成器,结果按章节展示,点击直达锚点并高亮关键词。
|
|
47
|
-
- **SEO 完备**:JSON-LD 结构化数据、Open Graph、canonical 与克隆站检测,保护原创内容。
|
|
48
|
-
- **一站多作者**:可以为不同文章指定不同作者,每位作者都有专属主页。
|
|
48
|
+
### 从蓝图创建
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
准备好 Git 和 npm 后,一条命令即可启动交互式蓝图安装器:
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
```bash
|
|
53
|
+
sh -c "$(curl -fsSL https://github.com/xaoxuu/hexo-theme-stellar-examples/raw/main/install.sh)"
|
|
54
|
+
```
|
|
53
55
|
|
|
54
|
-
|
|
55
|
-
- 展示墙:[使用 Stellar 主题的博客](https://xaoxuu.com/wiki/stellar/examples/)
|
|
56
|
+
安装器会读取示例仓库的 [`blueprints.json`](https://github.com/xaoxuu/hexo-theme-stellar-examples/blob/main/blueprints.json),展示当前可用的蓝图,并依次确认蓝图、项目目录、依赖安装和创建计划。
|
|
56
57
|
|
|
57
|
-
|
|
58
|
+
### 从 npm 安装
|
|
58
59
|
|
|
59
|
-
|
|
60
|
+
在博客根目录安装 npm 当前提供的默认版本,并确认实际安装结果:
|
|
60
61
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
Hexo: 6.3.0 ~ latest(已验证至 8.1.2)
|
|
65
|
-
hexo-cli: 4.3.0 ~ latest
|
|
66
|
-
node: >= 22 # 建议选择 LTS 版本
|
|
67
|
-
npm: >= 10
|
|
62
|
+
```bash
|
|
63
|
+
npm install hexo-theme-stellar
|
|
64
|
+
npm ls hexo-theme-stellar
|
|
68
65
|
```
|
|
69
66
|
|
|
70
|
-
###
|
|
67
|
+
### 跟随最新源码
|
|
71
68
|
|
|
72
|
-
|
|
69
|
+
将官方仓库的 `main` 分支添加为子模块,并安装主题自身的依赖:
|
|
73
70
|
|
|
74
71
|
```bash
|
|
75
|
-
|
|
72
|
+
git submodule add -b main https://github.com/xaoxuu/hexo-theme-stellar.git themes/stellar
|
|
73
|
+
npm install --prefix themes/stellar
|
|
76
74
|
```
|
|
77
75
|
|
|
78
|
-
###
|
|
76
|
+
### 启用并检查
|
|
79
77
|
|
|
80
|
-
|
|
78
|
+
在博客 `_config.yml` 中启用主题:
|
|
81
79
|
|
|
82
80
|
```yaml
|
|
83
81
|
theme: stellar
|
|
84
82
|
```
|
|
85
83
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
配置完成后即可发布文章。Wiki、专栏、笔记本与动态数据组件按需启用,文档中均有详细说明;也可以直接参考示例仓库的 `blog` 场景快速搭建。
|
|
89
|
-
|
|
90
|
-
## 使用文档
|
|
91
|
-
|
|
92
|
-
完整文档请见:https://xaoxuu.com/wiki/stellar/
|
|
84
|
+
然后运行 Doctor 并生成站点:
|
|
93
85
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
### 常用文档
|
|
86
|
+
```bash
|
|
87
|
+
npx hexo stellar doctor
|
|
88
|
+
npx hexo generate
|
|
89
|
+
```
|
|
99
90
|
|
|
100
|
-
|
|
101
|
-
- [主题配置](https://xaoxuu.com/wiki/stellar/theme-settings/)
|
|
102
|
-
- [Wiki 系统](https://xaoxuu.com/wiki/stellar/wiki-settings/)
|
|
103
|
-
- [专栏与笔记](https://xaoxuu.com/wiki/stellar/topic/)
|
|
91
|
+
完整步骤见[环境与安装](https://xaoxuu.com/wiki/stellar/start/install/)和[创建第一个站点](https://xaoxuu.com/wiki/stellar/start/first-site/)。
|
|
104
92
|
|
|
105
|
-
##
|
|
93
|
+
## 文档与社区
|
|
106
94
|
|
|
107
|
-
-
|
|
108
|
-
-
|
|
109
|
-
-
|
|
95
|
+
- [配置自己的站点](https://xaoxuu.com/wiki/stellar/start/configuration/)
|
|
96
|
+
- [使用内容组件](https://xaoxuu.com/wiki/stellar/reference/tags/)
|
|
97
|
+
- [管理 Wiki、专栏与笔记本](https://xaoxuu.com/wiki/stellar/reference/collection/)
|
|
98
|
+
- [主题配置参考](https://xaoxuu.com/wiki/stellar/reference/theme/)
|
|
99
|
+
- [从 v1 迁移到 v2](https://xaoxuu.com/wiki/stellar/migration/v1-to-v2/)
|
|
100
|
+
- [Issues](https://github.com/xaoxuu/hexo-theme-stellar/issues/):反馈可以复现的问题
|
|
101
|
+
- [Discussions](https://github.com/xaoxuu/hexo-theme-stellar/discussions/):交流使用经验和想法
|
|
102
|
+
- [贡献指南](CONTRIBUTING.md):参与主题开发与文档维护
|
|
110
103
|
|
|
111
104
|
## 开源许可
|
|
112
105
|
|
|
113
|
-
|
|
106
|
+
Stellar 使用 [MIT License](LICENSE),Copyright (c) 2021 xaoxuu,永久开源、完全免费。第三方组件及其许可证见[第三方授权声明](legal/THIRD-PARTY-NOTICES.md)。
|