基于Hexo框架的博客
欢迎使用 Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
原则
|简 Simple |效 Useful |要 Important
基本指令
Create a new post 新博客创建
1 | $ hexo new "My New Post" |
More info: Writing
Run server
1 | $ hexo server |
More info: Server
Generate static files
1 | $ hexo generate |
More info: Generating
Deploy to remote sites
1 | $ hexo deploy |
More info: Deployment
常用流程
更新后调试
更新内容或修改butterfly下_config.yml文件,然后clean 然后g 然后s,也就是:
1 | hexo clean &&hexo g && hexo s |
注意:
1.node这类都可以动态热更新,也就是小改动直接刷新页面,不用重新执行指令;
2.&&有些终端不适用于连接命令
更新并部署
更新内容或修改butterfly下_config.yml文件,清除并重新生成public下文件,然后部署
1 | hexo clean &&hexo g && hexo d |
模板修改
scaffolds文件夹是模板文件夹,里面存放了3个模板文件,依次是草稿模板,页面模板和文章模板。
1 | ├── draft.md |
当我们使用hexo命令生成草稿、页面或者文章的时候,就是复制这些模板。
我们以文章模板为例进行说明。默认post.md内容为空,头部信息如下:
1 | --- |
如果我们想所有新生成的文章都带上分类字段。我们可以修改post.md的头部。我们给头部添加了categories字段。
1 | --- |
这样我们使用hexo new a
生成a.md文章的时候,a.md文章顶部都会带上categories字段。
1 | --- |
新项创建
创建新的子网页
1 | hexo new page XXX |
比如book\categories\tags等,例如
1 | hexo new page book |
然后会在source文件夹下多一个对应的文件夹,编辑里面的index.md即可
插件:音乐、GITdeploy时候自动部署
个性化:修改butterfly主题下config文件
TODO:cheatsheet
问题:修改大小写后部署出问题,路由大小写敏感
参考:
Hexo 部署到 Github Pages 文件夹大小写问题 // Yizhao He’s Notes (1mhz.me)
hexo 分类或标签单词开头大写出现404-腾讯云开发者社区-腾讯云 (tencent.com)
在本地没有发现问题,但是一部署就发现有个博客打不开,手动修改网址大小写就打开了,根据上面两个博客,修改 .deploy_git/.git/config文件中ignorecase = true 改为= false,如果VSCODE或文件管理器没有文件夹,只是隐藏了而已
1 | (base) PS C:\Hexo-Blog\blog-demo\myblog\.deploy_git> git push |
1 | git branch |
显示我在main,github主branch是master,本来想拉取或者new branch的,但不知道为什么又push好了
Hexo使用插件hexo-pdf插入pdf
插入特点:该pdf是可下载的(肯定可下载,只是难度问题,没打水印吧;pdf理论上等同图像格式,如果可以按页插入,也是图像形式可下载/爬取)
1 | npm |
插入方法:
1.在文档中插入代码,例如:
1 | {% pdf ./MINILM.pdf %} |
2.将pdf文件移入,关键是pdf路径,上述路径是在public/发布日期/博客标题名 文件夹下,跟index.html在相同路径。
案例:
报错:Nunjucks Error,[Line 92, Column 138] unexpected token: 双括号误用
原因:hexo对于双括号parsing会有问题,我误以为是我手抽把hexo g写成了npm g,结果后者等同npm install g即全局安装依赖,问题不大
1 |
|
有md格式不对:sertionError [ERR_ASSERTION]: T
AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:
assert(cache[index])
不知为何,还是原因,还是有md格式不对
npm 重装后butterfly主题下yml更改导致还原默认主题样式
解法:请参照butterfly主题的用法,将node_modules\hexo-theme-butterfly_config.yml修改成自己个性化后的.yml