hexo博客搭建

博客搭建

需求?

  • 采用hexo博客框架,搭建基于github page的博客

  • 在博客中可嵌入latex公式

  • 实现可迁移更新博客,即可多台电脑同步书写博客

思路?

  1. 嵌入公式方法采用Mathjax
  2. 采用github中的分支系统来管理hexo源文件和博客生成文件

环境搭建

  1. 安装nodejs

    • brew install node

    • 遇到问题

      Error: The `brew link` step did not complete successfully
      ...
      ... You may want to remove it:
        rm '/usr/local/share/doc/node/gdbinit'
        
      To force the link and overwrite all conflicting files:
        brew link --overwrite node
        
      To list all files that would be deleted:
        brew link --overwrite --dry-run node
      

      先执行 rm '/usr/local/share/doc/node/gdbinit'

      再执行brew link --overwrite node , 这步可能会遇到权限问题,/usr/local/share/doc/node is not writeable,这里加入写权限

      # 这里的路径为上面提示无写权限的路径
      sudo chown -R `whoami`:admin /usr/local/share/doc/node  
      
    • 测试

      >> node -v
      v12.8.0
      >> npm -v
      6.10.3
      
    • 卸载方法(不许操作,只是提供方法)

      # brew安装的
      brew uninstall node
      # 官网下载的pkg
      sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}
      
  2. 安装git(macOSX一般都已自带)

    git分支管理与远程github分支管理方法

    # 显示分支
    git branch -a
    # 创建分支
    git branch [branch name]
    # 切换分支
    git checkout [brach name]
    # 创建同时切换分支
    git checkout -b [branch name]
    # 删除本地分支
    git branch -d [branch name]
    # 删除远程分支
    git push origin :[branch name]
    # 推送分支到github
    git push origin [branch name]
    
  3. 安装hexo(需先安装好nodejs)

    npm install -g hexo
    

?以上为环境搭建?


实现方法


1 Github部署

github与本地的连接不再赘述,以下认为你已经拥有GitHub账户并连接好本地git。

1.1 创建github page repo

创建新的Repo,Repository name要为账户名加.github.io。例如你的账户名为xxxx,那么Repository name应为xxxx.github.io

1.2 创建分支

为你的Repo创建一个分支,分支用来存储hexo源文件,因此可命名为hexo

创建分支后最好在settings中将hexo分支设为默认仓库,因为需要我们每次手动更新的是hexo分支,而master分支是通过hexo自动部署的。

#####1.3 将仓库clone到本地

git clone git@github.com:xxxx/xxxx.github.io.git
# 因为要在hexo中添加hexo源文件,因此需切换到hexo分支
cd xxxx.github.io
git checkout hexo
1.4 用hexo初始化仓库
# 初始化hexo
hexo init
# 安装hexo的git deployer,hexo自动git的必要工具
npm install --save hexo-deployer-git

#####1.5 部署基本设置

 # 设置需要部署的GitHub
 # 打开_config.yml编辑
 deoloy:
   type: git
   repo: git@githum.com:excelkks/excelkks.github.io.git
   branch: master

至此,基本部署完成


添加mathjax支持

1 替换默认引擎
npm uninstall hexo-renderer-marked -save
npm install hexo-renderer-kramed --save
2 语义冲突问题

打开 node_modules/kramed/lib/rules/inline.js编辑,将var lnline的值修改为以下内容

var inline = {
  // escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/, 第 11 行, 将其修改为
  escape: /^\\([`*\[\]()#$+\-.!_>])/,
  autolink: /^<([^ >]+(@|:\/)[^ >]+)>/,
  url: noop,
  html: /^<!--[\s\S]*?-->|^<(\w+(?!:\/|[^\w\s@]*@)\b)*?(?:"[^"]*"|'[^']*'|[^'">])*?>([\s\S]*?)?<\/\1>|^<(\w+(?!:\/|[^\w\s@]*@)\b)(?:"[^"]*"|'[^']*'|[^'">])*?>/,
  link: /^!?\[(inside)\]\(href\)/,
  reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/,
  nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,
  reffn: /^!?\[\^(inside)\]/,
  strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,
  // em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/, 第 20 行,将其修改为 
  em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
  code: /^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,
  br: /^ {2,}\n(?!\s*$)/,
  del: noop,
  text: /^[\s\S]+?(?=[\\<!\[_*`$]| {2,}\n|$)/,
  math: /^\$\$\s*([\s\S]*?[^\$])\s*\$\$(?!\$)/,
};

写到一半不想写了,博客也不想搭了,找不到合适的主题,太耗时间了,老老实实用csdn吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值