stellar/
- _config.yml
- _data
- languages
-
layout
存放主题的模板文件, 网站所有页面的布局、呈现方式都在这里定义.
- 404.ejs
- archive.ejs
- categories.ejs
- index.ejs 一个hexo主题里至少要有一个模板文件`index.ejs`, 用来定义网站首页的内容布局.
- index_topic.ejs
- index_wiki.ejs
-
layout.ejs
⭐⭐⭐必备的模板, 每个页面模板的html代码的生成, 都从它开始 👉
- 概述: 可以这样理解, layout模板 ➕ 本目录下任一页面模板 🟰 一个完整的的html页面.
-
它生成了哪些部分 👉
- 网页的<head>部分 (调用
_partial/head.ejs
) - 背景图、封面-wiki (调用
_partial/cover/index.ejs
) - 左侧栏 (调用
_partial/sidebar/index_leftbar.ejs
) - ❌页面内容主体(包括5个模块: '导航栏/横幅区; 正文; 文底参考文献/分享区; 上下篇文章链接区; 评论区'), 它不负责
- page-footer部分 (调用
_partial/main/footer.ejs
) - 右侧栏 (调用
_partial/sidebar/index_rightbar.ejs
) - 网页的<script>部分 (调用
_partial/scripts/
)
- 网页的<head>部分 (调用
-
页面主体由谁负责: 本目录下的8个页面模板, 它们的输出传给该layout模板中的
body
变量.
- page.ejs
- tags.ejs
-
_partial
许多页面可共享的部件的模板集合.
-
comments
〖中间-5.评论区〗
〖被8个页面模板〗
作者集成了6种评论区框架.
- artalk
- beaudar
- giscus
- layout.ejs
- script.ejs
- twikoo
- utterances
- waline
- cover 〖整个页面〗 〖被layout.ejs〗 如: 进入wiki项目后的那个大封面.
-
main
〖中间-1,2,3,4,6区〗
〖被8个页面模板〗
可用于目录类、文章类页面.
- 1.顶部导航/横幅区;
- 2. 正文目录列表卡片的展示(限`目录类`页面的正文);
- 3. 正文结束的footer区(参考文献、许可证书、分享文章. 限`文章类`页面);
- 4. 上一篇/下一篇/相关文章区;
- ❌5. 评论区; (评论区没在`main/`中)
- 6. 页底版权信息区.
- article 〖中间-3.footer区; 4.上下文章链接区〗 〖被8个页面模板〗
-
navbar
〖中间-1.页顶导航栏/横幅区〗
〖被8个页面模板〗
-
article_banner.ejs
〖文章页〗顶部的banner区域 👉
-
其显示功能包括 :横幅背景图;
面包屑导航
; 文章日期; 可能有的头像; 标题; 副标题. -
breadcrumb
定义面包屑的行为. 被
'article_banner.ejs'
调用. -
dateinfo.ejs
定义文章日期. 被
article_banner.ejs
调用. - ghinfo.ejs 似乎已经弃用.
-
nav_tabs_blog.ejs
〖目录页-post〗顶部的导航区. (即网站首页
"/"
). -
nav_tabs_wiki.ejs
〖目录页-wiki〗顶部的导航区. (即wiki首页
"/wiki/"
).
-
article_banner.ejs
〖文章页〗顶部的banner区域 👉
- post_list 〖中间-2.正文: 目录页的文章列表〗 〖被8个页面模板〗 涵盖3种布局的目录:post, wiki, topic, 还有分页菜单.
- footer.ejs 〖中间-6.页底版权信息区〗 〖被layout.ejs〗
实现了以下模块 👉 - scripts
-
sidebar
〖两侧〗
〖被layout.ejs〗
-
index_leftbar.ejs
左侧栏模板, 实现了以下功能 👉
- logo区域 -> 调用
logo.ejs
- 搜索框 -> 调用
search.ejs
- 菜单按钮 -> 调用
menu.ejs
- 任意数量自定义组件 -> 调用
../widgets/
- 底部社交链接按钮 -> 调用
来自配置项theme.footer.social
- logo区域 -> 调用
- index_rightbar.ejs
- logo.ejs
- menu.ejs
- search.ejs
-
index_leftbar.ejs
左侧栏模板, 实现了以下功能 👉
-
widgets
〖两侧〗
〖被`_partial/sidebar/`〗
作者设计的所有小组件的模板集合.
-
这些模板需要的配置信息来自你的博客项目的
- components
- author.ejs
- ghissues.ejs
- ghrepo.ejs
- ghuser.ejs
- linklist.ejs
- markdown.ejs
- recent.ejs
- related.ejs
- search.ejs
- tagcloud.ejs
- timeline.ejs
- toc.ejs
- tree.ejs
source/_data/widgets.yml
, 和主题项目的themes/stellar/_data/wigets.yml
. - head.ejs 〖 〗 〖被layout.ejs〗 html网页的<head>元素.
- menubtn.ejs 〖两侧〗 〖被layout.ejs〗 用于移动设备显示左、右侧内容的按钮.
- scripts.ejs 〖 〗 〖被layout.ejs〗 加载脚本. 其诸多加载路径、作用有待进一步研究.
下面我用粉色字说明部件的作用区域(两侧、中间、整个页面); 用橙色字说明它被谁调用了. -
comments
〖中间-5.评论区〗
〖被8个页面模板〗
作者集成了6种评论区框架.
- _plugins 导入第三方插件的模板集合.
该目录包含: 8个页面模板用来定义网站里的8种网页类型; 1个布局模板(
layout.ejs
)用来给所有页面进行整体布局; 1个局部模板目录(_partial/
); 1个第三方插件模板目录(_plugins/
). -
scripts
js脚本集合. 其诸多加载路径、作用有待进一步研究.
- events
- filters
- generators 生成器脚本. 生成除`文章页`外的其他目录页.
- helpers 辅助脚本.
-
tags
标签插件脚本. 作者创造了很多有意思的Tag Plugins.
- index.js
- inline-labels.js
-
lib
- about.js
- albums.js
- audio.js
- banner.js
- box.js
- button.js
- checkbox.js
- copy.js
- emoji.js
- folders.js
- folding.js
- frame.js
- friends.js
- gallery.js
- ghcard.js
- grid.js
- hashtag.js
- icon.js
- image.js
- link.js
- mark.js
- md.js
- navbar.js
- note.js
- okr.js
- poetry.js
- posters.js
- quot.js
- sites.js
- swiper.js
- tabs.js
- timeline.js
- toc.js
- video.js
-
source
-
css
- main.styl
- _common
- _custom.styl
- _defines
-
_layout
- index.styl
- layout.styl
- list.styl
- main.styl
- md.styl
- pages
- partial
- sidebar
-
tag-plugins
- about.styl
- banner.styl
- button.styl
- checkbox.styl
- common.styl
- copy.styl
- emoji.styl
- folders.styl
- folding.styl
- frame.styl
- friends.styl
- gallery.styl
- ghcard.styl
- grid.styl
- hashtag.styl
- icon.styl
- image.styl
- inline-labels.styl
- link.styl
- mark.styl
- media.styl
- navbar.styl
- note.styl
- okr.styl
- override.styl
- poetry.styl
- quot.styl
- sites.styl
- tabs.styl
- timeline.styl
- toc.styl
- widgets
-
_plugins
- aplayer.styl
-
comments
作者设计的所有小组件的模板集合, 该目录被
"sidebar/"
使用 👉 作者设计的所有小组件的模板集合, 该目录被"sidebar/"
使用 👉 - copycode.styl
- fancybox.styl
- index.styl
- katex.styl
- lazyload.styl
- mermaid.styl
- scrollreveal.styl
- swiper.styl
- tianli_gpt.styl
-
js
- main.js
- plugins
- search
- services
-
css
-
.github
- configs
- ISSUE_TEMPLATE
- workflows
- .gitignore
- .npmignore
- giscus.json
- LICENSE
- npm-publish.sh
- package.json
- README.md