Heox搭建流程

2018-11-13  本文已影响25人  亦猿非猿

现在博客平台很多,不过界面风格都会受到限制,不能随心所欲

无意中发现了自搭博客Hexo的简洁风格,一下子就被迷住了,于是也着手搭建一个

安装环境

  1. 安装git

    ➜  ~ brew cask install git
    

    查看git版本

    ➜  ~ git --version
    git version 2.7.1
    

    配置参数

    $ git config --global user.name guidongyuan
    $ git config --global user.email guidongyuan@163.com
    

    删除配置参数

    $ git config --global --unset user.name guidongyuan
    
  2. 安装node

    ➜  ~ brew install node
    

    查看node版本

    ➜  ~ node -v
    v7.2.1
    
  3. 安装hexo

    国内网络下,安装有点慢,耐心等待

    ➜  ~ npm install -g hexo-cli
    

    查看hexo版本

    ➜  ~ hexo -v
    hexo-cli: 1.0.2
    os: Darwin 16.1.0 darwin x64
    http_parser: 2.7.0
    node: 7.2.1
    v8: 5.4.500.44
    uv: 1.10.1
    zlib: 1.2.8
    ares: 1.10.1-DEV
    modules: 51
    openssl: 1.0.2j
    icu: 58.1
    unicode: 9.0
    cldr: 30.0.2
    tz: 2016g
    

本地部署hexo

  1. 初始化hexo

    我在原有的code文件下,新建一个文件夹,命名为hexo

    ➜  code mkdir hexo
    

    进入hexo文件下初始化站点

    ➜  code cd hexo
    ➜  hexo hexo init
    

    安装成功后最后会提示

    INFO  Start blogging with Hexo!
    
  2. 本地部署测试

    ➜  hexo hexo server
    INFO  Start processing
    INFO  Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.
    

    服务运行后,打开浏览器,输入 http://localhost:4000/ 则可以看到hexo的默认页面

    image

部署到Github Pages

  1. 创建Github账号,自行到[github][https://github.com]注册账号

  2. 创建一个repository,名称必须为 用户名.github.io

    image
  3. 创建成功后出现该页面

    image
  1. 创建SSH Key 进行身份验证

    本地Git仓库与Git远端进行通信时,需要通过SSH进行身份验证

    查看电脑是否存在SSH Key,如果存在.ssh 文件,则电脑已经存在,如果第一次使用,则需要生成SSH Key

    ➜  ~ ls -al
    

    生成SSH Key,出现Enter file 和 passphrase 直接Enter保持默认设置

    ➜  ~ ssh-keygen -t rsa -C "guidongyuan@163.com"
    

    参数含义:

    -t 指定密钥类型,默认是 rsa ,可以省略。
    -C 设置注释文字,比如邮箱。

    此时在.ssh文件夹中会生成id_rsa id_rsa.pub两个文件

  2. 在Github中添加SSH Key

    image

    Title可以自定义,key为id_rsa.pub 文件中的内容

  3. 修改hexo的配置文件,部署到服务器

    打开_config.yml配置文件,修改最下面的# Deployment,修改后如下

    # Deployment
    ## Docs: https://hexo.io/docs/deployment.html
    deploy:
      type: git
      repository: git@github.com:guidongyuan/guidongyuan.github.io.git
      branch: master
    

    注意: :后面必须要加空格

发布博客

  1. 新建博客

    ➜  hexo hexo new testBlog
    INFO  Created: ~/code/hexo/source/_posts/testBlog.md
    

    新建的博客会自动保存在_posts文件下,也可以自己创建一个md文件放在该目录下,不过要注意加上hexo的头部信息,头部信息可以拷贝用命令行自动生成的文档模板.

    打开testBlog.md可以看到头部信息如下

    title: testBlog
    date: 2016-12-17 14:58:13
    tags:
    
  2. 生成静态Html文件

    ➜  hexo hexo generate
    

    简便输入为

    ➜  hexo hexo g
    

    这个时候会发现在hexo文件夹内多了一个public文件夹,该文件保存生成的静态Html文件

  3. 发布博客

    ➜  hexo hexo deploy
    

    简便输入为

    ➜  hexo hexo d
    

    如果提示如下,则需要安装Deployer

    ➜  hexo hexo deploy
    ERROR Deployer not found: git
    
    ➜  hexo npm install hexo-deployer-git --save
    

    安装成功后,再次执行hexo deploy

验证效果

  1. 在浏览器中输入 用户名.github.io (如guidongyuan.github.io)可以看到和本地部署测试一样的效果

    image

其他

草稿

在新建文件的时候,可以先写草稿,等到写好之后,再发布出去。那么,就需要草稿的功能。

➜  hexo hexo new draft "新建草稿文件"

这样,文件就会创建在会在source/_drafts目录下,如果想在本地部署预览草稿,则可以使用

➜  hexo hexo server --drafts

当文章写好之后,想发布出去,就要移出草稿

➜  ➜  hexo hexo publish "新建草稿文件"

错误

  1. 后来更新了Node.js的版本到8.0,使用hexo的时候,提示如下

    rror: The module '/usr/local/lib/node_modules/hexo-cli/node_modules/dtrace-provider/build/Release/DTraceProviderBindings.node'
    was compiled against a different Node.js version using
    NODE_MODULE_VERSION 51. This version of Node.js requires
    NODE_MODULE_VERSION 57. Please try re-compiling or re-installing
    the module (for instance, using `npm rebuild` or `npm install`).
    

    解决办法

    # 重新安装hexo
    ➜  hexo npm install hexo --no--optional
    # 如果执行上面命名后,还是提示错误,则先卸载再安装
    ➜  hexo npm uninstall hexo-cli -g
    ➜  hexo npm install hexo-cli -g
    

    参考链接

  2. 应该是相对应的库没有或者版本比较老导致的错误,提示如下

    ➜  hexo hexo g
    (node:6410) [DEP0061] DeprecationWarning: fs.SyncWriteStream is deprecated.
    INFO  Start processing
    FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/docs/troubleshooting.html
    Error: Cannot find module 'highlight.js/lib/languages/hy'
    

    解决办法

    ➜  hexo npm install highlight.js --save
    highlight.js@9.12.0
    updated 1 package in 2.851s
    

参考链接

上一篇下一篇

猜你喜欢

热点阅读