美文网首页
mac安装hexo博客教程

mac安装hexo博客教程

作者: nextliving | 来源:发表于2018-04-22 14:45 被阅读239次

    相信很多互联网从业者都特别爱学习,都会经常记笔记,比如笔者自己经常使用印象笔记和为知笔记。那么问题来了,我们如果只是把笔记放在属于自己的私密空间,那么它将无法发挥太大的价值。要知道唯一能穿越时空而永垂不朽的唯有思想,而文字是思想的载体,每一份笔记便是一份思想。我们如果可以分享笔记,分享工作和学习中踩过的坑和获取的经验,那么我们不仅在帮助了别人的同时,也提高了自己的写作水平和思维能力,让自己的思想具备了穿越时空的能力。分享笔记最好的方式莫过于博客,而目前最流行的博客框架之一是hexo,本文将演示如何利用Github Pages搭建静态hexo博客。

    安装Git

    我们在电脑上安装Git,这样可以在本地建立项目并push到远程仓库上。推荐使用Homebrew来安装Git。打开终端(Windows用户可以使用Git Bash等),根据Homebrew官网输入以下指令安装Homebrew(Mac需要安装Xcode):

    $/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)")

    安装成功后输入:

    $brew install git

    这样我们就安装好了Git。如果出现问题,尝试在指令前加入sudo,sudo可以获得root权限,执行带有sudo的指令电脑会要求你输入密码。

    后续我们还会用到很多git的指令,推荐阅读廖雪峰老师的Git教程

    安装Node.js

    Hexo是基于Node.js的,所以Node.js的环境是必须的。

    先安装nvm,在终端中输入以下指令:

    `$curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash

    `

    安装好以后,重启终端,执行以下指令:

    
    $nvm install v5.11.0
    
    $nvm use v5.11.0
    
    $nvm alias default v5.11.0
    
    

    Node.js安装就完成了,接下来注册Github帐号并配置ssh keys

    配置SSH Keys

    打开Github网站,点击右上方的头像,选中并点击下拉框中的settings选项,之后页面左侧面板中出现SSH And GPG keys选项,点击该选项,之后点击New SSH Key就可以添加一个新的SSH key。SSH keys的好处是让我们以后在本地进行操作并同步到GitHub上时不用输密码,那么如何配置SSH keys?

    首先,打开你的终端(Terminal),输入如下代码:

    $cd ~/.ssh

    这行代码能够帮助你检查电脑上是否存在SSH key。

    如果提示:No such file or directory说明没有key文件,输入以下代码生成新的key文件:

    $ssh-keygen -t rsa -C "user_name@xxx.com"

    这里的邮件地址填自己注册时的邮件地址,注意大小写,双引号不能省略,终端会返回代码让你确定文件名,回车就好。

    
    Generating public/private rsa key pair.
    
    Enter file in which to save the key (/Users/chenxin/.ssh/id_rsa): //这里可以直接回车,使用系统默认提供的保存路径
    
    Created directory '/Users/chenxin/.ssh'.
    
    Enter passphrase (empty for no passphrase): //如果不想使用密码,空着就好
    
    Enter same passphrase again: //同上
    
    

    看到如下所示的输出,就代表你已经成功的创建了一个SSH key

    
    Your identification has been saved in /Users/chenxin/.ssh/id_rsa.
    
    Your public key has been saved in /Users/chenxin/.ssh/id_rsa.pub.
    
    The key fingerprint is:
    
    SHA256:Ldpwue4Oru8WWW4ATlUQyljhKKK2FB0atTD9BiIao/o user_name@xxx.com
    
    The key's randomart image is:
    
    +---[RSA 2048]----+
    
    |.oOBX*o.  |
    
    |==+o.=o.  |
    
    |.=..= ..  |
    
    | oo.o+ ..  |
    
    | . +oo.oS . |
    
    |. . . * .  |
    
    |. . + o . |
    
    |.. * .  |
    
    |.=E o |
    
    +----[SHA256]-----+
    
    

    接着打开终端,键入以下命令在终端界面打印出.ssh目录下id_rsa.pub的内容:

    $cat ~/.ssh/id_rsa.pub

    终端界面应该是这样的:

    $ssh-rsa xxxxxx user_name@xxx.com

    以ssh-rsa开头,以邮箱结束,中间xxxxxx代表一长串字符串,将该段内容完整拷贝,粘贴到下图中的key对应的框中

    image

    之后点击Add key就添加成功了。输入下面的指令测试是否配置成功:

    $ssh -T git@github.com

    如果返回的结果如下:

    
    The authenticity of host 'github.com (192.30.252.130)' can't be established.
    
    RSA key fingerprint is SHA256:Ldpwue4Oru8WWW4ATlUQyljhKKK2FB0atTD9BiIao/o.
    
    Are you sure you want to continue connecting (yes/no)?```
    
    输入  ****==yes==****  ,就能看到:
    
    

    Warning: Permanently added 'github.com,192.30.252.130' (RSA) to the list of known hosts.

    Hi ethan979! You've successfully authenticated, but GitHub does not provide shell access.

    
    这样你的SSH key就配置完成了。完成之后,我们设置好个人信息,用于提交代码说明是谁提交的,怎么联系。可以用以下指令完成:
    
    

    $git config --global user.name "你的名字"

    $git config --global user.email "你的邮箱"

    
    # 安装npm
    
    先输入以下指令查看本机是否安装过npm:
    
    `$npm -v`
    
    如果抛出以下异常,说明尚未安装npm
    
    

    module.js:340

    throw err;

    ^

    Error: Cannot find module 'npmconf'

    at Function.Module._resolveFilename (module.js:338:15)

    at Function.Module._load (module.js:280:25)

    at Module.require (module.js:362:17)

    at require (module.js:378:17)

    at Object.<anonymous> (/Users/chenxin/.nvm/v0.8.14/lib/node_modules/npm/lib/config.js:16:15)

    at Module._compile (module.js:449:26)

    at Object.Module._extensions..js (module.js:467:10)

    at Module.load (module.js:356:32)

    at Function.Module._load (module.js:312:12)

    at Module.require (module.js:362:17)

    
    需要先安装npm。就像[[NPM的官网](https://www.npmjs.com/package/npm)](https://www.npmjs.com/package/npm)上介绍的那样,安装NPM仅仅是一行命令的事情:
    
    `$curl -L https://npmjs.org/install.sh | sh
    
    `
    
    但是可能会安装失败:
    
    

    sh: line 21: npm-install-5326.sh: Permission denied

    rm: npm-install-5326.sh: No such file or directory

    Failed to download script```

    把安装命令改一下即可:

    `$curl -L https://npmjs.org/install.sh | sudo sh

    `

    这里详解一下这句命令的意思,通过curl命令获取这个安装shell脚本,按后通过管道符| 将获取的脚本交由sh命令来执行。这里如果没有权限会安装不成功,需要加上sudo来确保权限.安装成功以后最后一行会提示:

    It worked

    至此,npm安装结束。

    安装Hexo

    打开终端,输入以下指令:

    $npm install -g hexo-cli

    接着通过以下指令创建博客目录:

    
    $hexo init <folder>
    
    $cd <folder>
    
    $npm install
    
    

    以上命令执行完成后,会在目标目录生成以下的结构目录:

    
    .
    
    ├── _config.yml
    
    ├── package.json
    
    ├── scaffolds
    
    ├── source
    
    |  ├── _drafts
    
    |  └── _posts
    
    └── themes
    
    

    相关字段说明如下:

    • _config.yml 是博客的配置文件

    • scaffolds 是博客文章模板

    • source 是博客文章目录

    • themes 存放主题风格文件

    Hexo就会在该文件夹建立博客所需要的所有文件。本地的Hexo博客已经初步搭建起来,输入以下指令:

    
    $hexo generate
    
    $hexo server //在本机运行博客程序,可以在浏览器中输入localhost:4000查看效果
    
    

    要注意的是,所有的hexo指令都必须在你所建立的目录下执行。

    配置自定义域名

    使用github提供的username.github.io格式的二级域名请略过本节。

    首先去goaddy购买域名。goaddy本身提供域名解析服务,但是使用goaddy的域名解析服务会导致国内用户打开网站过慢甚至打不开网站,建议使用国内的Dnspod提供的免费DNS解析服务,具体教程请自行搜索。

    然后在你的Hexo目录中找到source文件夹,在其中新建一个名为CNAME的文件,没有后缀名(建议使用Sublime Text新建),内容为你的域名比如blog.engchen.com),保存。

    部署Hexo到Github上

    本地的博客已经搭建好了,如何能让别人从网上访问到你的博客?只要将你的本地博客deploy到GitHub上就好。输入以下指令:

    npm install hexo-deployer-git --save

    然后打开博客目录的_config.yml文件,设置deploy的type为git。repository的格式可以有2种:https和ssh。如果采用https,以后每次上传博客代码都要输入github用户名和密码,相当费时,具体格式为repo :https://github.com/你的id/你的id.github.io.git。 建议采用ssh,上传博客代码不需要用户名和密码,Git版本管理工具会自动校验保存在本机的ssh私钥和之前配置ssh的时候上传到github的公钥是否匹配,匹配则上传成功,具体格式为repo:git@github.com:你的ID/你的ID.github.io.git。之后输入以下指令:

    
    $hexo generate //可以简写为 hexo g
    
    $hexo deploy  //可简写为 hexo d
    
    

    然后在浏览器中输入自己的域名就能看到自己的博客内容了。

    相关文章

      网友评论

          本文标题:mac安装hexo博客教程

          本文链接:https://www.haomeiwen.com/subject/adcclftx.html