--- title: teedoc 主题插件 keywords: teedoc, 主题插件, 主题, 插件 desc: teedoc 主题插件 --- ## `teedoc-plugin-theme-default`: 默认主题插件 ### 插件配置 在`site_config.json`中配置插件 ```json "plugins": { "teedoc-plugin-theme-default":{ "from": "pypi", "config": { "dark": true, "default_dark": false, "mobile_navbar_collapsed": true, "toc_depth": 4, "env":{ "main_color": "#4caf7d", "sidebar_width": "300px" }, "css": "/static/css/custom.css", "js": "/static/js/custom.js", "code_highlight_css": "/static/css/prism.css", "code_highlight_js": "/static/js/prism.js" } } } ``` * `dark`: 支持黑暗模式切换 * `default_dark`: 是否默认为黑暗模式 * `mobile_navbar_collapsed`: 移动设备导航栏默认折叠 * `toc_depth`: 文章目录显示的层级,默认为`4`,即显示`H1~H4` * `show_print_page`: 显示打印页面按钮, 用户点击或者使用`Ctrl+P`可以打印页面 * `main_color`: 主题主颜色 * `sidebar_width`: 侧边目录栏默认宽度, 可以是`"300px"`, `300`, `"30%"` 这样的格式 * `css`: `css`文件 `URL`,可以覆盖默认的样式,会被插入到页面的`head`标签中 * `js`: `js`文件 `URL`,可以写`js`程序,会被放在页面的末尾加载 默认代码高亮使用了[prismjs](https://prismjs.com/), 默认勾选了部分常用语言的支持,`js`文件 + `css`文件共`100KiB`左右,如果你需要的代码无法高亮,或者想节约流量或缩减加载时间,可以到[这里](https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+bash+c+cpp+cmake+coffeescript+docker+go+ini+java+json+json5+kotlin+latex+less+lua+makefile+markdown+markup-templating+objectivec+php+powershell+python+jsx+tsx+ruby+rust+sass+scss+shell-session+sql+swift+textile+typescript+yaml&plugins=line-numbers+highlight-keywords+toolbar+copy-to-clipboard+match-braces)查看默认勾选的以及勾选自己需要的语言和功能, 最后获得一个`css`文件和一个`js`文件放到`static/js/`目录下,然后需要在 `site_config.json` 中设置`URL`比如: ```json "route": { "assets": { "/static/": "static" } } ``` > 这会将`static`目录下所有文件拷贝到输出文件夹`static`目录下面 * `code_highlight_css`: `code`高亮`css`文件 `URL`,会取代默认的高亮`css`文件,会被插入到页面的`head`标签中 * `code_highlight_js`: `code`高亮`js`文件 `URL`,会取代默认的高亮`js`文件,会被放在页面的末尾加载 支持 `白天` 和 `夜间` 模式, 夜间模式会在`body`加一个`dark`类, 如果要该夜间模式的`css`样式,可以基于这个类名修改 ### class 支持 主题支持几个常用的`class` 和 `id`, 可以在`config.json`(/`config.yaml`) 或者或者`.md`文件的`class`和`id`关键字中设置,就可以直接使用这个样式了 比如在`config.json`中设置 ```json { "class": "md_page", "navbar": { ... } } ``` 或者在`md`文件头添加 ```markdown --- title: title class: heading_no_counter --- ``` 则这个文档下面所有生成的页面的`html`标签都会包含这个类, 比如`md_page`普通 markdown 文件渲染成 html 页面,可以加上这个类,会居中显示而不是左对齐 `class`有: * `md_page`: 普通 markdown 文件渲染成 html 页面,可以加上这个类,会居中显示而不是左对齐 * `heading_no_counter`: 取消标题自动编号