写在前面

  • 长久以来,一直想建立自己的博客,今年开始学习 Emacs,偶遇几位大神用 Hexo 建立博客,于是也动手搭建自己的博客,记录学习过程,记录向数据科学转型学习点滴
  • 本文简述用 Org-mode 写博客,通过 Hexo 搭建博客的过程,我的博客见深度识医

用 Hexo 搭建博客

主要参照 CKJOKER1和岁月如歌2及漠然3的博客

  • 我本人用 Archlinux,先安装 npm,再通过 npm 安装 hexo

    1
    2
    3
    4
    5
    6
    7
    
    sudo pacman -S npm
    mkdir hexo
    npm install -g hexo
    npm install -g hexo-cli
    hexo init
    hexo install
    hexo server

    这时候在浏览器中打开 http://0.0.0.0:4000/ 应该能看到效果如图所示

    • 安装 hexo 的一些插件
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    
    npm install hexo-generator-index --save
    npm install hexo-generator-archive --save
    npm install hexo-generator-category --save
    npm install hexo-generator-tag --save
    npm install hexo-server --save
    npm install hexo-deployer-git --save
    npm install hexo-deployer-heroku --save
    npm install hexo-deployer-rsync --save
    npm install hexo-deployer-openshift --save
    npm install hexo-renderer-marked@0.2 --save
    npm install hexo-renderer-stylus@0.2 --save
    npm install hexo-generator-feed@1 --save
    npm install hexo-generator-sitemap@1 --save

博客源代码托管到 Github 上

  • 建立 Github 账号,设置本地 SSH,与 Github 连接
  • 修改 _config.yml,增加

    1
    2
    3
    4
    
    deploy:
    type: git
    repo: git@github.com:xxx/xxx.github.io.git
    branch: master

    及根据参考修改其他配置

    • 使用 Next 主题,根据配置文件说明配置自己的博客
    1
    
    git clone https://github.com/iissnan/hexo-theme-next themes/next
  • 打开自己的博客,修改美化相应选项

    1
    2
    3
    4
    
    hexo clean
    hexo g
    hexo g
    hexo d

    用 Org-mode 写博客

    主要参照 CodeFalling4和 zilongshanren5

    • blog-admin 做前端,参照文件说明配置
    • hexo-renderer-org 将写好的.org 文件转化成 hexo 识别的 md 文件并发布
    • 参照 CodeFalling 和 zilongshanren 的 github 的 Spacemacs 私人配置更改自己的配置

    一些问题

    Org-mode 图片插入

    • 安装hexo-asset-image, 安装后在.md 文件中插入图片没有问题,在 org 中插入有问题
    • Org 中插入图片或者链接格式如下
    1
    
    [[file:filedir/file OR html adress]]
  • 改变图片大小,位置,加入图片说明可增加以下代码

1
2
#+CAPTION: title with figure number
#+ATTR_HTML: :width 200px :align left :title The tile of picture without figure number