安装 ShokaX
在开始之前
本文档为 ShokaX 的 Hexo 版本,请确保你想要安装基于此系统的 ShokaX
为确保安装正常进行,你需要:
- nodejs 18 或更高版本
- 一个适合你的包管理器(我们建议使用 pnpm)
为节省文档编写时间,文档内均使用 pnpm 作为示例
使用 ShokaX 即食罐头
git clone https://github.com/theme-shoka-x/shokax-can --depth=1cd shokax-canpnpm installhexo s # 如果报错更换为 pnpm dlx hexo s
现在一个 ShokaX 环境已经创建好了,通过即食罐头创建的环境无需进行配置,可直接使用,如果需要软链接请查看最后一章
全新环境安装
初始化 Hexo 环境
pnpm add hexo-cli -g# cd your_pathhexo init# 如果报错: pnpm dlx hexo init
此时,你已经创建了一个基于 yarn 包管理器的 hexo 环境 我们建议通过以下方法更换为 pnpm:
# 请自行删除对应文件夹内的 node_modules 和 yarn.lockpnpm install
安装 ShokaX
使用包管理器安装 ShokaX
pnpm add hexo-theme-shokax# 对于npm/yarn用户可跳过,pnpm用户必须执行:node ./node_modules/hexo-theme-shokax/toolbox/hoistdep.mjs
使用 ShokaX-CLI 安装 ShokaX
pnpm add shokax-cli -gSXC install shokaX
使用 git 安装 ShokaX
cd themesgit clone https://github.com/theme-shoka-x/hexo-theme-shokaX.git # 可替换为你自己的项目# 将 clone 完的文件夹改名为 shokax,下文均使用此名称cd shokaxnode ./toolbox/compiler.mjs# 耐心等待编译完成cd ../..hexo s # 或 pnpm dlx hexo s# pnpm 用户必须运行,yarn/npm遇到依赖错误可运行:node ./themes/shokax/toolbox/hoistdep.mjs# 等待运行完成后,问题通常会解决
此时将theme
修改shokax
后就可以使用 ShokaX 了
前置配置
按照上文将_config.yml
中的theme修改为shokax,并将_config.landscape.yml
修改为_config.shokax.yml
必要配置
markdown 配置
markdown: render: # 渲染器设置 html: false # 过滤 HTML 标签 xhtmlOut: true # 使用 '/' 来闭合单标签 (比如 <br />)。 breaks: true # 转换段落里的 '\n' 到 <br>。 linkify: true # 将类似 URL 的文本自动转换为链接。 typographer: quotes: "“”‘’" plugins: # markdown-it 插件设置 - plugin: name: markdown-it-toc-and-anchor enable: true options: # 文章目录以及锚点应用的 class 名称,shoka 系主题必须设置成这样 tocClassName: "toc" anchorClassName: "anchor" - plugin: name: markdown-it-multimd-table enable: true options: multiline: true rowspan: true headerless: true - plugin: name: ./markdown-it-furigana enable: true options: fallbackParens: "()" - plugin: name: ./markdown-it-spoiler enable: true options: title: "你知道得太多了"
停用代码高亮
停用默认代码高亮(小于等于6.3.0
):
highlight: enable: false
prismjs: enable: false
停用默认代码高亮(大于等于7.0.0-rc1
):
syntax_highlighter: false
推荐配置
文件压缩
ShokaX 默认压缩器推荐配置:
minify: js: enable: false # ShokaX 自带 esbuild 优化,不建议开启,其他主题建议开启 exclude: # 排除文件,接受 string[],需符合 micromatch 格式 css: enable: true # 开启 CSS 优化 options: targets: ">= 0.5%" # browserslist 格式的 target exclude: # 排除文件,接受 string[],需符合 micromatch 格式 html: minifier: html-minifier enable: true # 开启 HTML 优化 options: comments: false # 是否保留注释内容 exclude: # 排除文件,接受 string[],需符合 micromatch 格式 image: enable: false # 开启图片预处理和自动 WebP 化 options: avif: false webp: true # 预留配置项,现版本无作用 quality: 80 # 质量,支持1-100的整数、lossless或nearLossless effort: 2 # CPU 工作量,0-6之间的整数(越低越快) replaceSrc: false # 自动替换生成html中的本地图片链接为webp链接 # 对于使用 CI 工作流部署的用户,请注意本配置可能导致图片 404,如果出现请关闭 # 我们更建议使用 Service Worker 来在用户侧实现 replaceSrc 的功能,这将能够以一种侵入式更小的方式实现链接替换 exclude:
feed 生成
feed: limit: 20 order_by: "-date" tag_dir: false category_dir: false rss: enable: true template: "node_modules/hexo-theme-shokax/layout/_alternate/rss.ejs" output: "rss.xml" atom: enable: true template: "node_modules/hexo-theme-shokax/layout/_alternate/atom.ejs" output: "atom.xml" jsonFeed: enable: true template: "node_modules/hexo-theme-shokax/layout/_alternate/json.ejs" output: "feed.json"
配置建议
为了方便操作,建议为本主题文件夹创建软链接。
终端 | 命令 |
---|---|
Windows CMD | mklink /J .\themes\shokax .\node_modules\hexo-theme-shokax |
Linux Bash | cd ../themes && ln -s ../node_modules/hexo-theme-shokax shokax |
此时可从themes/shokax
访问本主题文件
津公网安备 12011402001353 号