Hexo搭建记录-主题配置
本地软件安装
安装nodejs和git
node -v npm -v
安装hexo
由于使用npm直接下载会有很多人遇到卡顿的问题(国外服务器),所以我们要做的第一步工作是将npm换成淘宝的服务器。
cmd输入以下命令
npm config set registry https://registry.npm.taobao.org
然后下载hexo
npm install -g hexo-cli
初始化
将nodejs文件夹和blog文件夹目录设置为用户完全控制 ~~ 忘记设置哪一个了,直接两个都改掉~~
选一个目录用来初始化博客程序:(以d盘为例)
D: cd blog hexo init
执行成功后安装两个插件
npm install hexo-deployer-git --save npm install hexo-server
运行调试
写入公钥
本机与云服务器之间通过 ssh 连接 使用以下命令在 windows 用户下 /.ssh 文件夹中生成密钥
ssh-keygen -t rsa
将生成的公钥id_rsa.pub拷贝到ubuntu服务器的/home/git/.ssh/authorized_keys上
你可以直接用vim将id_rsa.pub粘贴到authorized_keys中
也可以使用scp将文件传至服务器上再进行重定向
scp C:\用户\你的用户名\.ssh\id_rsa.pub git@hostip:/home/git/.ssh
cat /home/git/.ssh/id_rsa.pub >> /home/git/.ssh/authorized_keys
本地调试
本地开启hexo预览
hexo new "Hello My First Blog" //生成一篇文章名为“My First Blog” hexo cl //清楚缓存文件db.json和已经生成的静态文件public hexo g //生成网站的静态文件到默认的设置文件public中 hexo s //启动服务器,用于预览主题
本地访问127.0.0.1:4000预览hexo
主题安装
降低hexo版本
将hexo版本改为5.0.0
npm i hexo@5.0.0 # 查看当前hexo版本 hexo version
安装主题
在D:\blog下打开cmd
git clone https://github.com/amehime/hexo-theme-shoka.git ./themes/shoka
安装插件
安装前,需要卸载掉默认的hexo-renderer-marked,以及别的markdown文件渲染器。
npm un hexo-renderer-marked --save npm uninstall hexo-prism-plugin --save
安装主题所需插件
npm i hexo-renderer-multi-markdown-it --save npm i hexo-autoprefixer --save npm i hexo-algoliasearch --save npm i hexo-symbols-count-time --save npm i hexo-feed --save
查看和更新插件
首先查看项目目录下的npm已安装的包信息,进入到项目目录下后:
npm ls
如需要更新包并将更新保存到配置文件,即项目根目录下的package.json中,例如更新hexo-renderer-multi-markdown-it到最新版本:
npm install --save hexo-renderer-multi-markdown-it@latest
配置文件
参考主题提供的\blog\themes\shoka\example目录内容,将后面的配置复制上去
将原本配置文件的syntax_highlighter: highlight.js 删除停用代码高亮功能
highlight: enable: false # edit for Theme.shoka line_number: true auto_detect: true tab_replace: '' prismjs: enable: false # edit for Theme.shoka
部署到服务器
配置_config.yml
在_config.yml的deploy做如下配置
# Deployment ## Docs: https://hexo.io/docs/one-command-deployment deploy: type: git repo: git@hostip:/home/git/blog.git branch: master
首次部署需要设置git邮箱以及账号
发布到服务器
hexo generate --deploy
发布后需要重启服务器的nginx服务
$ systemctl restart nginx
hexo基础命令
在blog目录下打开cmd以执行hexo相关命令
新建文章
该命令会在Hexo博客的 source/_posts 目录下创建一个名为 title.md 的Markdown文件。
hexo new "title"
生成静态文件
简写为 hexo g ,该命令会根据配置和文章的 Markdown 源文件,生成相应的 HTML 页面。所有渲染好的 HTML 页面和静态资源(如 CSS、JavaScript 文件等)j将被打包成一个静态文件夹用于上线。
hexo generate hexo g
启用本地服务器
该命令将启用本地服务器供调试,默认为127.0.0.1:4000
命令部分参数
-p 指定服务器端口,默认为 4000
-i 指定服务器 IP 地址,默认为 0.0.0.0
-s 静态模式 ,仅提供 public 文件夹中的文件并禁用文件监视
hexo server hexo s
部署网站
该命令用于将静态网页部署到服务器,hexo generate --deploy为生成静态页面同时直接部署到服务器,在使用此命令前需要确保在_config.yml中完成相关配置
hexo deploy hexo d hexo generate --deploy
清理缓存文件
hexo clean hexo cl
初始化
初始化一个本地文件夹作为网站的根目录,初始化之前文件夹需为空,cd到该目录后执行
hexo init my_blog
安全模式
该命令启用安全模式,用于禁用加载插件和脚本
hexo --safe
调试模式
启用调试模式,将消息详细记录到终端和 debug.log 文件
hexo --debug
静默模式
静默输出到终端
hexo --silent
常见问题
无法找到某个包
查看是否安装主题所需插件
文章代码块显示不完整
版本问题,降低hexo版本
一些报错
ERROR { err: [Error: EISDIR: illegal operation on a directory, read] { errno: -4068, code: 'EISDIR', syscall: 'read' } } Plugin load failed: %s hexo-theme-landscape
删除node_modules下的hexo-theme-landscape包
npm uninstall --save hexo-theme-landscape