loading...
搭载静态博客网站
Published in:2022-01-04 |

将纯文本转换为静态博客网站

我自己的blog @https://nawu97.github.io/ 主要是利用hexo搭载的

组里的blog @https://tdap-help.github.io/TDAPW/ 主要是利用jekyll搭载的

下面就这两种搭载方式简单小结

❀利用Hexo搭载

参考:
@https://zhuanlan.zhihu.com/p/60578464

原理:在本地撰写 Markdown 格式文章后,通过 Hexo 解析文档,渲染生成具有主题样式的 HTML 静态网页,再推送到 GitHub 上完成博文的发布。

准备:node.js(@https://nodejs.org/zh-cn)和Git(@https://git-scm.com/downloads)

具体安装:

1
2
3
下载 Node.js 和 Git 程序并安装,一路点 “下一步” 按默认配置完成安装。

安装完成后,Win+R 输入 cmd 并打开,依次输入 node -v、npm -v 和 git --version 并回车,如下图出现程序版本号即可。

安装hexo

使用npm一键安装:npm install -g hexo-cli

初始化hexo

1
2
hexo init      # 初始化
npm install # 安装组件

启动本地服务器预览

1
2
3
hexo g   # 生成页面
hexo s # 启动预览
hexo d # 将网站上传到Github Pages

访问 http://localhost:4000,出现 Hexo 默认页面,本地博客安装成功!
Tips:如果出现页面加载不出来,可能是端口被占用了。Ctrl+C 关闭服务器,运行 hexo server -p 5000 更改端口号后重试。

备注:Hexo类型的博文结构特点

1
2
3
4
5
6
config.yaml #网站的配置信息
package.json #应用程序的信息
scaffolds #模板文件
source #存放用户资源,Mardown文件
themes #主题文件
public #网站文件

使用:

1)发布博文

1
hexo new "My New Post"

每次发布文章:

1
2
hexo g   # 生成页面
hexo d # 部署发布

也可以不使用命令自己创建 .md 文件,只需在文件开头手动加入如下格式 Front-matter 即可,写完后运行 hexo g 和 hexo d 发布。

1
2
3
4
5
6
7
8
9
10
11
12
13
---
title: Hello World # 标题
date: 2019/3/26 hh:mm:ss # 时间
categories: # 分类
- Diary
tags: # 标签
- PS3
- Games
---

摘要
<!--more-->
正文

2)网站设置

包括网站名称、描述、作者、链接样式等,全部在网站目录下的 _config.yml 文件中,参考官方文档按需要编辑。

注意:冒号后要加一个空格!

3)更换主题

1
git clone https://github.com/iissnan/hexo-theme-next themes/next

然后修改 config.yml 中的 theme 为新主题名称 next,发布。(有的主题需要将 _config.yml 替换为主题自带的,参考主题说明。)

4)常用命令

1
2
3
4
5
6
7
8
hexo new "name"       # 新建文章
hexo new page "name" # 新建页面
hexo g # 生成页面
hexo d # 部署
hexo g -d # 生成页面并部署
hexo s # 本地预览
hexo clean # 清除缓存和已生成的静态文件
hexo help # 帮助

5)对hexo文档进行加密

@https://zhuanlan.zhihu.com/p/113235573

a.安装

sudo npm install --save hexo-blog-encrypt

b.快速使用
1
2
3
4
5
6
7
8
9
10
title: Hello World
tags:
- 加密文章tag
date: 2020-03-13 21:12:21
password: muyiio
abstract: 这里有东西被加密了,需要输入密码查看哦。
message: 您好,这里需要密码。
wrong_pass_message: 抱歉,这个密码看着不太对,请再试试。
wrong_hash_message: 抱歉,这个文章不能被纠正,不过您还是能看看解密后的内容。
---
c.对博客下根目录中的_config.yml文件添加以下字段
1
2
3
4
5
6
7
8
9
# 安全
encrypt: # hexo-blog-encrypt
abstract: 这里有东西被加密了,需要输入密码查看哦。
message: 您好, 这里需要密码.
tags:
- {name: tagName, password: 密码A}
- {name: tagName, password: 密码B}
template: <div id="hexo-blog-encrypt" data-wpm="{{hbeWrongPassMessage}}" data-whm="{{hbeWrongHashMessage}}"><div class="hbe-input-container"><input type="password" id="hbePass" placeholder="{{hbeMessage}}" /><label>{{hbeMessage}}</label><div class="bottom-line"></div></div><script id="hbeData" type="hbeData" data-hmacdigest="{{hbeHmacDigest}}">{{hbeEncryptedData}}</script></div>
wrong_pass_message: 抱歉, 这个密码看着不太对, 请再试试.

❀利用kekyll搭载

关于这部分的搭载问题很多:直接通过源码安装问题很多,常见报错:

1
报错,内容:ruby-2.7.0/lib/rubygems/core_ext/kernel_require.rb:92:in 'require': cannot load such file -- openssl (LoadError)

重新装了openssl但还是没有解决问题,好在参考了第三篇博文,发现了相同问题利用rvm安装ruby解决

参考:

1.安装rvm,bundler

@http://sayaku.github.io/blog/2016/05/05/rubyde-rvm-gem-bundler/

2.安装rvm,升级ruby

@https://www.jianshu.com/p/12d3226d83ee

3.源码安装ruby跳坑换用rvm安装

https://blog.csdn.net/kingdvc/article/details/39437683
@https://blog.csdn.net/devshilei/article/details/103929290
https://blog.hotwill.cn/Ubuntu%E5%AE%89%E8%A3%85ruby-%E4%BD%BF%E7%94%A8RVM.html

4.Jekyll 安装

@http://jekyllcn.com/

5.gpg入门生成密钥

@https://ruanyifeng.com/blog/2013/07/gpg.html

准备:rvm安装,ruby安装,bundler安装和jekyll安装

1)安装rvm:

1
2
3
4
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 #这里的密钥可参考5密钥生成
$ \curl -sSL https://get.rvm.io | bash -s stable #下载rvm
$ source ~/.bashrc
$ source ~/.bash_profile

修改 RVM 的 Ruby 安装源到 Ruby China 的 Ruby 镜像服务器,这样能提高安装速度:

1
$ echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/db

2)安装ruby和版本切换:

列出可以安装的Ruby版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ rvm list known
安装某个版本的Ruby

$ rvm install 2.3.0
这里安装了最新的 2.3.0, rvm list known 列表里面的都可以拿来安装。

切换Ruby版本

$ rvm use 2.3.0
将Ruby版本切换到2.3.0

设置默认的Ruby版本

$ rvm use 2.3.0 --default
这样系统中的Ruby版本就被设置为了2.3.0

更详细的教程可以参考ruby-china的这篇教程:@https://ruby-china.org/wiki/rvm-guide

3)安装libssl-dev包:

1
2
安装aptitude:sudo apt-get install aptitude
通过aptitude安装libssl-dev:sudo aptitude install libssl-dev,期间会提示是否要应用方案以及是否要调低版本,总的过程需要做的操作是:分别输入 n(不选默认方案)y(降低版本)y(确定),完成之后可以用dpkg -l *libssl*查看安装情况

Tips:最好先安装libssl包

3)安装gem,bundle:

@http://sayaku.github.io/blog/2016/05/05/rubyde-rvm-gem-bundler/
@https://cndaqiang.github.io/2020/04/18/ruby/

1
2
3
4
gem install rails  
gem install bundler #利用gem安装bundler
bundle init #生成Gemfile
bundle install #按照Gemfile 所定义的套件下载,再把套件的版本放置到Gemfile.lock存起来

4)安装jekyll

1
2
3
4
5
6
7
8
9
10
11
  gem install jekyll bundler

jekyll new my-awesome-site

cd my-awesome-site

bundle install

bundle exec jekyll serve

# => 打开浏览器 http://localhost:400

5)推送Jekyll到Github

@https://www.wangzhaomin.com/docs/jekyll/how-to-push-Jekyll%27s-blog-to-github/

1
2
3
4
5
6
git add --all   # 添加文件

git commit -m "***" # 提交 -m “这里要写点什么,什么都行”

git push -u origin master # 推送到线上仓库,之后直接输入 git push 即可。

6)常见报错处理方式

1.vscode无法远程连接Ubuntu

具体报错如下:

1
2
ssh: connect to host ubuntu port 36000: Connection refused [10:00:03.358] 
> 过程试图写入的管道不存在。

引起的原因有多种,可采取以下措施:

1
2
3
4
5
#第一种删掉.ssh中的known_hosts
#第二种检查ssh是否没有打开
sudo service ssh status #检查ssh的状态,如果提示not running则需要打开ssh
sudo service ssh start #开启ssh
sudo service ssh stop #停止ssh
Prev:
pyramids 使用说明书
Next:
catalog
catalog