建立Hexo博客-2

注:我并非专业程序员,年龄13岁,码龄一岁多,才疏学浅、学业不精,如有错误还请大佬指教!😃 希望能通过本专栏帮助到一些想要部署Hexo的童鞋!!

嘿,又是我。我们继续整Hexo 和它的bug
阅读本文前我建议你去看前一篇文章

其中说了Hexo在GitHub+Vercel的部署。
好啦好啦,该入正题啦。

一些指令

这里,我要说一些Hexo博客的有关数据库的指令。
大佬们,请跳过这个标题。原因是,写的太菜。
你:“什么?Hexo还需要数据库??不是都已经把文件存好了吗……?”
好吧,那么假设你走进了一家“奇葩图书馆”(此处指没有数据库的Hexo网站),里面没有查找图书位置的计算机,图书柜也不分类,就是一堆大书架子,上面摆满书(指你的那些博文的文件)。你大吼一声:“喂!我想看图书馆里《东方快车谋杀案》第269页!”
……
你看人家图书管理员不抽死你。
好吧,再假设图书管理员(指服务器)特别善良、有耐心,帮你找书……是的,你已经知道了,他即使找到了,也会耗费大量时间(指页面加载时间,可能对于服务器要1~5秒左右)和精力(此处指服务器负荷)。
数据库与图书馆
所以,为了不让你的服务器累死,也不让你的用户等得着急得把电脑砸了, 最好弄个简单的查找和调用方式。
你:“不这样做,真的会累死吗……?”
你可别忘了,Hexo还有个按年归档的功能。你走近图书馆,大吼:“把你们去年进的书统统拿过来!”
这就需要图书管理员翻开每本书,看书上标签的日期,决定给不给你,然后拿起另一本,重复以上操作
……
然后,等他把所有书给你了,好了,这些书再也不是去年进的了,变成前年进的了。
找去年进的书

所以,数据库还是很重要的。
于是,聪明的图书管理员搞来了个S3(Simple Storage System,不懂者请理解为一个巨大的易于查找的硬盘;此指Hexo数据库),把书的内容全放在了里面。

hexo generate

那么,现在让我们把书的内容放在S3里面吧!

hexo generate

(如果你在本地执行此指令,请确保执行前已经安装了hexo-cli;这也是Vercel的标准Hexo模板部署指令,但Vercel已经默认安装了所有相关依赖项)
这个指令会搞出一个S3,啊呸,数据库,并把你的博文之类的内容扔进去。
懒
呃,Hexo确实为你这种特别懒的人准备了方案:

hexo g

这两个指令目前未发现任何兼容性问题或者区别,可以放心使用。

hexo clean

太棒了!我们有了一个存储着文章等内容的数据库,加载速度快多了!然而,当你写了亿点点文章后……
存储空间快没了
注:此处的存储空间大小运用了夸张的修辞手法。正如图中所言,GitHub(免费版)每个仓库限额1GB。

存储空间寥寥无几。图书管理员(服务器)每次查找还得费点劲,而且许多内容还是陈旧的,可能已经被删了或者修改了,或者是落灰了。
所以,有必要把陈旧的内容数据清理清理。我们需要:

hexo clean

懒
不是……这么几个字还多?好吧:

hexo cl

这个时候,所有的数据,都没啦!
你:“没了!!??那新的文章怎么办?”
哈哈,不知道了吧,用这个神奇的指令:

hexo g

对啊,再生成一次,放进数据库里,不就好啦?
那么,我们也可以一步做到这两个操作,准确地说,是在一行,而并不完全算是一步:

hexo cl && hexo g

相信各位同学都很聪明,都明白,&&左右两边的这两个指令顺序不能颠倒。否则,刚生成数据库就全删了……

hexo deploy

这个我们暂时用不到,是在本地通过npm安装了Hexo,并配置了在Git上的部署选项时用的。我这边可能是网络问题或操作问题,一直未使用这种方式,而是用了如上一篇文章所示的部署方式

hexo server

这个也暂时用不到。它会在localhost:4000新建一个Hexo网站。一般用于在本地调试时使用,原因是这个指令会输出一切bug(如果有的话)。

hexo new

这个能够新建一篇文章,同上,也是在该情况下用的。我们可以直接在GitHub仓库中,在source/_posts目录中新建一个Markdown文件即可。目前未发现这两种新建文章的方式用多大的区别,也未发现兼容性问题,请放心使用。

写一篇文章

好啦,终于到了激动人心的时刻!一点也不激动人心。
我们在仓库的source/_posts下,新建一个Markdown文件。文件名?随意。比如,如果你想写一篇献礼建党百年的文章,你可以新建一个happy-100th-birthday-cpc.md,或者xljdbn.md(每个字拼音的缩写),或者i8RGco12N.md这种随机值,都不必定会影响文章的标题或者永久链接等内容(除非你不在Front-matter中定义)。但我一般都用第一种,因为更易理解和辨别。
接下来,写Front-matter。

Front-matter

这是个啥?这,就是文章的一个重要部分。文章标题、永久链接、分类专栏、标签、创建日期等,都在这里定义。
Front-matter使用YAML语言。不过,我可不是个YAML专家。
取消关注
好啦好啦,大概说说好了,请大佬批评指正哈。
YAML的大致语法是:

<项>: <值>
 <第二级项>: <它的值>

注意:项与值之间是英文冒号,且后面应当有至少一个空格。Front-matter也提供了一些你会常用的预置的项:

项名称解释
title文章标题,默认为文章源文件除去最后“.md”的内容
date日期;格式应为YYYY/MM/DD HH:MM:SS;默认为创建此文件的时间
permalink文章的永久链接,默认为<网站根URL>/YYYY/MM/DD/<文章源文件除去最后“.md”的内容>
categories分类专栏。请注意最好写一个,否则请使用列表
tags文章标签,每一行为一个
author本文作者,不填则默认为网站_config.yml中的作者
commentstrue或者false,表明此页面是否打开评论功能
layout表明这是个页面还是篇文章,默认为文章

这些项没有顺序,先写哪个都可以,也没必要全都写,如果默认值即为所要,可以不写该项,直接让Hexo自己用默认值去。
举个栗子:

---
title: 如何建立Hexo网站
categories:
 - 网站
tags:
 - 网站
 - 科技
 - Hexo
 - Web前端
date: 2021/5/4 13:23:20
permalink: /2021/05/04/how-to-setup-hexo/
---

这是我的一篇Hexo文章的Front-matter。
注意,要在Front-matter前加上那三个英文横杠---,结束后也要加。这标志着Front-matter在这两道线之间。

categories和tags都是每一项要换行,并在前面加以-(横杠前后均有空格)。值得注意的是,categories中,下一行的分类会成为上一行的分类的子分类。

我仍然用原始格式定义了永久链接permalink,是因为我发现它并不是永久链接,如果我在2021/5/4写了篇文章,在2021/5/6做了修改,那么,自动生成的链接就会从/2021/05/04/<文件名称去掉“.md”>变为/2021/05/06/<文件名称去掉“.md”>
这也就不是永久链接了呀!我只好每次都手动定义一下。

不想用YAML
好吧,那你就用JSON吧。JSON总可以了吧?只要把首尾的---换成;;;就好了,项名还一样。至于JSON语法我就不赘述了。
这种方法目前未发现兼容性问题。

写文章正文

接下来就开始写正文啦!Hexo原生支持GitHub-Flavored Markdown。这里给一些常见的标记格式:

# 一级标题
### 三级
###### 六级
**我是粗体**
*我是斜体*
~~我是删除线~~
```代码块```(可以多行)
> 引用
- 列表
| 表格标题 | 表格标题2 |
| ---- | ---- |
| 表格项 | 表格项 |
| 表格项 | 表格项 |
[超链接](https://blog.csdn.net)
![图片](https://cdn.jsdelivr.net/gh/cao-zhiming/ss-caozhimingtk@master/img/logo.png)
- [ ] 未完成的项目
- [x] 已完成的项目

值得注意的是,Hexo会将Markdown直接渲染为HTML。所以任何HTML标签在Hexo的Markdown源文件中都是完全可用的,例如<video><script>,等等(也就是说,你可以嵌入JS等程序代码)。你也可以用<strong>代替**等Markdown语法。但是,在大部分HTML标签中,Markdown语法都将不再受支持;而且,在其它支持Markdown写作的平台上,它们不一定都支持所有的HTML标签(它们怎么会让你随意在它们的网站上写JS代码呢)

好了,以上就是Hexo的一些指令以及如何在Hexo中写文章了。感谢你的阅读。如果有问题或者是我写的有错误,烦请多多私信指导。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值