首页 > 技术文章 > 【参考】Hugo、Jekyll、Hexo

Michael-Scofields 2020-08-24 22:31 原文

博客生成器也叫静态网站生成器,是一种将文本文档通过一些处理生成一个有机整体的html语言的网站,由于生成的静态网页可以直接托管在主机或vps上,配合nginx或Apache就可以供网民使用。github与gitcafe等网站也支持免费托管静态网页文件,非常方便。

编译速度:Hugo>hexo>Jekyll

Hugo使用go语言是一种编译型语言,速度非常快,而Jekyll使用ruby编写,hexo使用nodejs编写,ruby与nodejs都是面向对象的高级解释型语言,执行效率比编译型语言要低。

## Hugo

主题:https://themes.gohugo.io/  

安装:https://github.com/gohugoio/hugo/releases 下载最新的.deb(Debian、Ubuntu)

使用:

  新建博客:hugo new site .

  本地调试:hugo server    # http://localhost:1313/

  hugo -t even -d 目标路径    # even为主题,如果不指定目标路径, 会默认在public目录下生成可部署的网站.

  脚本:

#!/bin/bash
# 部署到 github pages 脚本
# 错误时终止脚本
set -e

# 删除打包文件夹
rm -rf public

# 打包。even 是主题
hugo -t even # if using a theme, replace with `hugo -t <YOURTHEME>`

# 进入打包文件夹
cd public

# Add changes to git.

git init
git add -A

# Commit changes.
msg="building site `date`"
if [ $# -eq 1 ]
  then msg="$1"
fi
git commit -m "$msg"

# 推送到githu  
# nusr.github.io 只能使用 master分支
git push -f git@github.com:Michael-Scofields/Michael-Scofields.github.io.git master

# 回到原文件夹
cd ..

 

## Hexo

主题:https://hexo.io/themes/

安装:https://github.com/nvm-sh/nvm/使用官方推荐的NVM(Node Version Manager)安装:

  curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash

  然后关闭SSH窗口,重新连接:

nvm install stable
npm install hexo-cli -g

使用:

  新建命令:hexo init . ,

  生成命令:hexo generate 或 hexo g

 

## Jekyll

Github.com 原生支持,主题:
https://jekyllthemes.io/free  
https://jekyllthemes.dev/  
http://jekyllthemes.org/

安装:

echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc
echo 'export GEM_HOME="$HOME/gems"' >> ~/.bashrc
echo 'export PATH="$HOME/gems/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# 关闭SSH窗口,再重新链接
apt install ruby-full build-essential zlib1g-dev
gem install bundler jekyll

新版本的Jekyll需要Ruby大于等于2.4版本,如果你是Ubuntu 16.04, Debian 8 ,很有可能低于2.4,会出现错误提示,提示ruby版本过低,低于2.4

ERROR: Error installing jekyll:
jekyll-sass-converter requires Ruby version >= 2.4.0.
1 gem installed
使用官方推荐的RVM(Ruby Version Manager)工具安装Ruby的高版本, https://github.com/rvm/ubuntu_rvm
安装命令:
apt-add-repository -y ppa:rael-gc/rvm    
apt update    
apt install rvm   
# 关闭SSH窗口,再重新链接
rvm install ruby   
gem install bundler jekyll   
使用:
  升级 Jekyll:gem update jekyll
  生成命令:jekyll build 或jekyll b
  Jekyll 是较为特殊的,任意目录,只要下载好你所需要的主题,剩下就是上传写好的.md文档

 

推荐阅读