关于这个博客
这个网站是依赖Hexo搭建起来的,将网页配置文件都加载到了GitHub Pages上,因为GitHub下行速率比较有限,因此同时还使用了腾讯云的对象存储作为图床。
因为日常使用并没有那么高频,也就没有特意去购买一个专用的云服务器,所以托GitHub总是抽风的福,博客也经常挂掉。
也许以后我有钱之后会购买一个云服务器来建站吧
目前部署主要还是部署在了GitHub Pages上面,曾经尝试过国内的coding.net和gitee,但是这两个一个频繁变更静态网页的服务要求、一个是无良github阉割版,要完整版还得收费。受够了来回折腾了,于是之后单独github pages就够了。
Hexo 博客常用内容
1. Git Bash 端操作
名称 |
代码 |
清除缓存 |
hexo clean |
生成本地网页缓存 |
hexo generate / hexo g |
将本地文件同步到 GitHub Page |
hexo deploy / hexo d |
组合输入同步 |
hexo clean && hexo g && hexo d |
本地搭建 (用于调试,在本地搭建之后可以使用Hexo Admin管理Posts) |
hexo server / hexo s |
上传agolia |
hexo algolia |
- 在上传之前,务必先清除缓存,以及使用 hexo s 本地调试一下
2. 添加博文
直接添加Post
添加博文(post、page、…)的方式大致有两种:
cd至本地Hexo安装文件夹,使用Git Bash的命令行:
1 2
| cd <path> hexo new <layout> "name"
|
Example:
1 2
| cd E:\My_Hexo hexo new post "New_Post"
|
之后就在本地Hexo文件夹的source文件夹中,找到通过命令行新建的md文件,进行编辑。
我推荐使用Typora编辑Markdown,Typora天下第一
编辑完成后使用 “hexo clean && hexo g && hexo d” 与GitHub Pages进行同步
使用Hexo Admin
使用Hexo Admin的好处是可以进行可视化管理,缺点是创建博文时候的自定义模板(scaffold)容易受到影响,自定义的参数较少。
Hexo Admin使用的时候需要先清理缓存,之后再次生成缓存文件,之后在本地搭建网页:
1 2 3
| hexo clean hexo g hexo s
|
可以在 http://localhost:4000/ 观察生成的静态网页的效果,同时在 http://localhost:4000/admin/ 使用Hexo Admin进行可视化管理。
因此推荐使用命令行进行新建,通过Hexo Admin进行管理。
从草稿(Draft)添加Post
(1) 添加Draft
Hexo 的一种特殊布局:draft
,这种布局在建立时会被保存到 source/_drafts
文件夹。
之后可以在source/_drafts
中找到该文件进行编辑
(2) 发布(Publish)草稿
可通过 publish
命令将草稿移动到 source/_posts
文件夹,该命令的使用方式与 new
十分类似,也可在命令中指定 layout
来指定布局。
1
| hexo publish [layout] "name"
|
3. 博文的常用参数
Config |
Description and Example |
title |
文章的标题 title: ‘Hello World’ |
author |
文章的作者 author: me |
tags |
文章的标签 tags: - Hexo |
categories |
文章的分类 categories: - Hexo |
excerpt |
文章的摘要 excerpt: 这是摘要 |
date |
文章的创建时间 date: 2020-06-29 19:06:00 |
update |
文章的更新时间 updated: 2020-06-29 19:06:00 |
comments |
是否允许评论 comments: true |
top |
是否将post置顶 top: true |
index_img或者cover |
文章的标题图 index_img: [url] 或者是 index_image: [本地目录],一般在主题的img文件夹 即设置为index_image: /img/welcome.png |
banner_img或者top_img |
文章内的顶部title图片 设置发昂发同index_img |
math |
是否启用公式渲染(LaTeX,KaTeX,Mathjex) math: true |
关于博客的备份
我选择的直接是把当前文件夹的内容push上github和coding,似乎也有直接的插件吧?但是我尝试了没有成功。
大致的备份步骤如下:
1 2 3 4 5 6 7 8 9 10 11
| git init git add --all #Upload to "Backup" Branch git commit -m "Backup" #Upload to "coding_backup" and "github_backup" repo git remote rm coding_backup && git remote rm github_backup #Add the remote git remote add coding_backup https://e.coding.net/zhenyumi/zhenyumi/zhenyumi_backup.git git remote add github_backup https://github.com/zhenyumi/Hexo_backup.git #Push (Force mode) git push coding_backup master:backup -f && git push github_backup master:backup -f
|
一个简单的.sh,用于部署、备份等
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| echo -e "┌-------------------┐" echo -e "| \e[34mBlog Hexo部署开始\e[0m |" echo -e "└-------------------┘" echo -e "" # echo -e ""
# read -p "即将开始部署网页 [Y/n] " yn yn='Y' if [[ $yn == "y" || $yn == "Y" ]]; then echo -e "\e[33m========执行1/6 : 清理========\e[0m" 2>&1 | tee deploy.log hexo clean 2>&1 | tee -a deploy.log echo -e "\e[33m========执行2/6 : 生成========\e[0m" 2>&1 | tee -a deploy.log hexo generate 2>&1 | tee -a deploy.log echo -e "\e[33m========执行3/6 : 上传algolia========\e[0m" 2>&1 | tee -a deploy.log hexo algolia 2>&1 | tee -a deploy.log echo -e "\e[33m========执行4/6 : 部署========\e[0m" 2>&1 | tee -a deploy.log hexo deploy 2>&1 | tee -a deploy.log echo -e "\e[33m========执行5/6 : 备份准备========\e[0m" 2>&1 | tee -a deploy.log git init 2>&1 | tee -a deploy.log git add --all 2>&1 | tee -a deploy.log git commit -m "Backup" 2>&1 | tee -a deploy.log git remote rm coding_backup && git remote rm github_backup 2>&1 | tee -a deploy.log # git remote add coding https://e.coding.net/zhenyumi/zhenyumi/zhenyumi.git 2>&1 | tee -a deploy.log git remote add coding_backup https://e.coding.net/zhenyumi/zhenyumi/zhenyumi_backup.git 2>&1 | tee -a deploy.log git remote add github_backup https://github.com/zhenyumi/Hexo_backup.git 2>&1 | tee -a deploy.log echo -e "\e[33m========执行6/6 : 上传备份========\e[0m" 2>&1 | tee -a deploy.log git push coding_backup master:backup -f && git push github_backup master:backup -f 2>&1 | tee -a deploy.log elif [[ $yn == "n" || $yn == "N" ]]; then echo -e "\e[31mCanceled\e[0m > Github" 2>&1 | tee deploy.log elif [[ $yn != "y" && $yn != "Y" && $yn != "n" && $yn != "N" ]]; then echo -e "\e[31m???\e[0m > $yn" 2>&1 | tee deploy.log fi echo -e "\e[32mDone\e[0m" sleep 5
|
博客添加pdf文件
根据官方文档:superalsrk/hexo-pdf: Hexo tag for embeded pdf (github.com)
Install
Usage
Normal PDF
1
| {% pdf http://7xov2f.com1.z0.glb.clouddn.com/bash_freshman.pdf %}
|
or
1
| {% pdf ./bash_freshman.pdf %}
|
Google drive
1
| {% pdf https://drive.google.com/file/d/0B6qSwdwPxPRdTEliX0dhQ2JfUEU/preview %}
|
Slideshare
1
| {% pdf http://www.slideshare.net/slideshow/embed_code/key/8Jl0hUt2OKUOOE %}
|