此为本博客建立的第一篇文章,记录了搭建hexo博客的过程。博客搭建本意是用来记录一些技术型的文章,比如折腾各种工具的过程,学习编程的过程记录等,或者一些杂七杂八的思考吧。比豆瓣简书清净,比之微信公众号便于修改和管理。

搭建博客

原理

  • hexo 是一个轻量级的基于Node.js的静态博客框架
    • 里面已经将各种写博客需要的框架都规定好了
  • theme 类似于atom的主题插件,可以随意选择安装更换
    • 在这里我使用的是Next主题,在网站的底部会有显示
    • 参照Next官方文档,可以完成很多页面的布局和设置,比如添加侧边栏、标签和搜索等功能
    • 2019年更换主题为极简风格的maupassant

主题美化

部署

  • hexo install
    • wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | sh 下载并安装nvm
    • export NVM_DIR="$HOME/.nvm"
      [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
      按照提示,将以上两句,加入bashrc,resource并重新打开terminal, 输入nvm测试
    • nvm install stable 安装node.js
    • npm install -g hexo-cli 安装hexo
  • hexo本身只能完成本地的部署,不可以完成公网的部署
  • 公网部署的原理是利用github生成的GitHub_page,生成独立域名后,再利用它来进行公网部署,这样别人也可以来看你的博客

bug

  • 当更换电脑,在其他地方重新部署,出现github限无法获取远程仓库,导致部署失败
    1
    2
    3
    4
    hexo d
    Warning: Permanently added the RSA host key for IP address '13.229.188.59' to the list of known hosts.
    Permission denied (publickey).
    fatal: Could not read from remote repository.
    解决方法: 修改_config.yml repo地址为https
    1
    2
    repo: https://github.com/Hansoluo/hansoluo.github.io.git
    #repo: git@github.com:Hansoluo/hansoluo.github.io.git
  • 发布文章时报错,原因是 vscode保存加上了 作者信息,需要手动删除,否则无法解析
  • 更新发现 生成的index.html为空白,原因是npm缺少包 参考文章
    1
    2
    3
    4
    5
    6
    7
    8
    npm ls --depth 0
    # npm ERR! missing: string_decoder@1.1.1, required by readable-stream@2.3.7
    npm install string_decoder@1.1.1
    npm audit fix
    npm audit fix --force
    hexo clean
    hexo g
    hexo d

文章编写及发布流程

  • 流程:

    • 使用草稿模式hexo new draft "文章标题"写草稿
    • hexo new "文章标题",会在source->_posts文件夹内生成一个”文章标题”.md文件,而且和里面的Front-matter中的title对应起来
    • 本地文章markdown预览(atom编辑器)
    • 本地服务器预览命令 hexo s -debug
    • 发布命令 hexo cgd(缩写)
  • 使用以下命令进行发布:

    hexo clean # 删除本地静态文件(Public目录)

    hexo g # 生成本地静态文件(Public目录)

    hexo d # 将本地静态文件推送至github

  • 后面两个命令可以简化为一个hexo g -d

  • 发布文章后,如果对文章修改后重新发布,则无需hexo new,其他同发布流程

博客变更记录

  • 主题为 next
  • 变更主题为 maupassant
  • 变更主题为 polk-x
  • 页面设置为 字,码,书,影, 分门别类存储不同类别文章
  • 去除页面设置,完全参照paulgraham
  • 变更主题为 maupassant,因为正文排版只有单边,浏览器阅读舒服,更接近 清影像 主题
  • 迁移douban文章到blog