Hexo搭建博客以及多端同步更新

来源:互联网 发布:2017网络事件 编辑:程序博客网 时间:2024/06/08 08:28

Hexo搭建博客以及多端同步更新

​ 这几天弄了下Hexo的博客搭建,并搞定了多端同步管理了。现在将搭建遇到的一些坑以及过程分享出来,自己也再理顺一遍。本文是基于码市 的私有仓库(github一样的原理)的,博主只是在多端管理的时候不想把所有的文章都同步到公共仓库去,另外还有就是GitHub的访问速度(毕竟是国外的)。好了,废话不多说,下面就介绍下Hexo是如何更换主题、添加博客评论、以及多端同步管理等,如有错误欢迎指正交流。

软件准备

  1. 安装node.js
  2. 安装git
  3. 文本编辑器(我是用的sublime text)
  4. 注册码市 账号(GitHub账号)

安装node与git

  1. node的安装,一步一步往下走就行了。终端输入node -v,可以看到版本信息就表示安装成功了。

  2. git的安装,与node安装同理,安装后会多出两个Git GUI Here 、Git Bash Here右键菜单,点击后者,输入git --version,可以看到版本信息就表示安装成功了。

  3. 选装cnpm。由于npm速度有时候令人堪忧,所以建议安装淘宝源的cnpm,在git bash中输入下面整段 alias cnpm="npm --registry=https://registry.npm.taobao.org \ --cache= $HOME/.npm/.cache/cnpm \ --disturl=https://npm.taobao.org/dist \ --userconfig=$HOME/.cnpmrc"
    安装完之后验证,输入:cnpm info express,若出现一大堆信息则表明成功了

安装Hexo

  1. 在git bash 下输入:cnpm install -g hexo-cli,输入Hexo -v 出现版本信息安装成功。
  2. 创建文件夹(目录名字都随便),在git bash 下 cd 到文件夹中,输入 Hexo init ,稍微等待一会,会有点慢。
  3. 继续输入 Hexo d -g 生成静态页面,在输入 Hexo server,浏览器中输入:[http://localhost:4000/] 来访问hexo博客。
  4. 到此静态博客搭建完毕。

创建pages与配置ssh

  1. 创建博客仓库。登陆到github上新建一个仓库,名称为:你的用户名(github的必需为 “你的用户名”.github.io)

  2. 本地生成ssh密钥。git bash下输入ssh-keygen -t rsa -C "你的邮箱地址"

  3. cd ~/.ssh 再执行cat id_rsa.pub ,复制里面的内容,到你的项目找到设置、部署公钥,新建部署公钥,title可填可不填。
    /assets/blogImg/xmas_ico0.jpg

  4. 执行npm install hexo-deployer-git --save

  5. 编辑配置文件,_config.yml ((注意空格)deploy:

    ​ type: git

    ​ repo:git@git.coding.net:”你的用户名”/”你的用户名”.git

    ​ branch: master

  6. cd source 执行 touch Staticfile(名字一定要是这个),然后在仓库,设置page服务为master

  7. 重新部署,执行 hexo clean 再 执行 hexo d -g

  8. 提交成功就可以访问成功了。

更换主题

​ 安利一款简洁主题 Next 有详细的配置,还有一款也不错,也是我现在用的yilia ,读者可以自己选择。也可以去这里 选自己喜欢的。里面的配置都大同小异,就不再做多的介绍了。

多端同步管理

​ 很多人可能家里一台笔记本,公司一个台式机,想两个同时管理博客,同时达到备份的博客主题、文章、配置的目的。下面就介绍一下用coding.net来备份博客并同步博客。

  1. 新建一个博客备份的私有仓库,配置同上面的一样,配置SSH,不过不需要pages服务。

  2. .配置 .gitignore 如下:
    /.deploy_git

    /public

  3. 如果主题是git clone 下来的,记得删除主题下的.git文件(rm -rf .git)

  4. 初始化仓库,git init 和 git remote add origin

  5. git add . #添加目录下所有文件
    git commit -m “更新说明” #提交并添加更新说明
    git push origin master #推送更新到远程仓库

  6. 查看仓库有没有提交成功

另一台电脑的更新远程仓库

​ 在B电脑安装必须要的环境后,新建文件执行

​ git init

​ git remote add origin

​ git fetch –all

​ git pull origin master

发布客户端同步

​ git add .

​ git commit -m “更新说明”

​ git push origin master

每次写博客之前记得先 git pull 进行同步更新

常用同步操作

​ git pull #同步更新

​ hexo new test “新建文章” (hexo n xxx)

​ hexo clean 清除旧的public文件夹

​ hexo d -g

​ git add .

​ git commit - m “更新说明”

​ git push origin master

安装多说

  1. 先去注册多说

  2. 首先在根目录下_config.yml中增加duoshuo_shortname: 你站点的short_name,这里的short_name也就是你的二级域名。

  3. 如果使用的是默认的landscape主题只需要修改themes\landscape\layout\_partial\article.ejs中的

<% if (!index && post.comments && config.disqus_shortname){ %>    <section id="comments">   <div id="disqus_thread">     <noscript>Please enable JavaScript to    view the <a href="//disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>   </div> </section> <% } %>

改为(下面的代码在多说开发者中心复制得到,然后替换thread-key复制下面的即可

<div id="ds-thread" class="ds-thread" data-thread-key="<%= post.path %>"    data-title="<%= post.title %>" data-url="<%= post.permalink %>"></div>)

栗子如下:

<% if (!index && post.comments && config.duoshuo_shortname){ %>  <section id="comments">      <!-- 多说评论框 start --><!-- 多说评论框 end --><!-- 多说公共JS代码 start (一个网页只需插入一次) -->  <script type="text/javascript">var duoshuoQuery = {short_name:"datoublog"};(function() {var ds = document.createElement('script');    ds.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//static.duoshuo.com/embed.js';ds.charset = 'UTF-8';(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ds);   })();</script>  <!-- 多说公共JS代码 end -->    </section>  <% } %>

如果是其他主题,也只需要修改主题\layout\_partial\comment.ejs

安装过程中的一些问题

  1. 安装node的时候,版本尽量选择稳定版

  2. 如果出现如下错误:

    { [Error: Cannot find module ‘./build/Release/DTraceProviderBindings’] code: ‘MODULE_NOT_FOUND’ }
    { [Error: Cannot find module ‘./build/default/DTraceProviderBindings’] code: ‘MODULE_NOT_FOUND’ }
    { [Error: Cannot find module ‘./build/Debug/DTraceProviderBindings’] code: ‘MODULE_NOT_FOUND’ }
    执行 npm install hexo --no-optional就可以了

0 0
原创粉丝点击