awa

# 杂谈

这篇文章简单讲讲我自己的blog是如何构建的。

一、了解如何搭建自己的blog

搭建blog的方式无非两种,一种是本地构建,另外一种是云端构建。

本地构建指的是网页在本地渲染,然后提交到云端,云端不进行任何计算,只是负责将文件分发给接收者。

云端构建指的是云端上只存储原始的markdown文件,在分发时进行渲染,这就要求云端有一定的计算能力。

我并不打算花费金钱群购买服务器,但是同时我又想要尽可能个性化的blog页面,但是我又不太希望将其公之于众,那么这个时候github的github_page就十分合适了

githubpage的原理就是属于本地构建,服务器相当于提供下载功能,总而言之是一种相对方便与美观的构建方式

一般较为常见的方式是使用hexo搭建,但是同样也有使用huge搭建的方式,后者更加美观,但是我并不计较那些,hexo搭建的话有许多bug都可以直接找的到解决办法。详细的可以看[[关于hexo与hugo]]

之后,我选择了看起来简洁社群也相对较为的发达的hexo

二、开始搭建

这里是有专门的教程的,直接跟着一步步做即可。我没有作过于深入的了解。

遇到的几个问题,我记得的有:

  • git被拒绝了:有可能是因为你开了加速器,关掉就好了
  • localhost显示不正常:使用hexo clean之后重新生成试试看

三、编写自动化bat脚本

每次想要构建都需要打开所在文件夹,点击open git bash here,这十分麻烦,于是我搜集了资料,自己编写了一个bat脚本来便于我一键生成~

再加上powertoys的powertoys run功能,使我只需要按下alt+space并且输入>就可以开始键入命令调用bat脚本了

下面是我的bat脚本,bat的名称为myhexo:

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Echo Off
SetLocal
set p0=%1
set "p1=defaultName"
set p1=%2
set "fileAddress=E:\HexoFile\source\_posts\%p1%.md"
if "%p0%"=="" (
start E:\\Git\\git-bash.exe --cd=E:\HexoFile
Exit
)
if "%p0%"=="r" (
start E:\\Git\\git-bash.exe --cd=E:\HexoFile -c "hexo g && hexo d &&hexo s;bash"
Exit
)
if "%p0%"=="g" (
start E:\\Git\\git-bash.exe --cd=E:\HexoFile -c "hexo clean &&hexo g && hexo d &&hexo s;bash"
Exit
)
if "%p0%"=="n" (
if exist %fileAddress% ( explorer "%fileAddress%" )
if exist %fileAddress% ( Exit )

start E:\Git\git-bash.exe --cd=E:\HexoFile -c "hexo new post %p1%&&exit"
timeout /t 8 /nobreak >nul
cmd /c "myhexo n %p1%"
Exit
)
if "%p0%"=="x" (
if exist %fileAddress% ( explorer "%fileAddress%" )
if exist %fileAddress% ( Exit )

start E:\Git\git-bash.exe --cd=E:\HexoFile -c "hexo new xmind %p1%&&exit"
timeout /t 8 /nobreak >nul
cmd /c "myhexo x %p1%"
Exit
)
if "%p0%"=="b" (
if exist %fileAddress% ( explorer "%fileAddress%" )
if exist %fileAddress% ( Exit )

start E:\Git\git-bash.exe --cd=E:\HexoFile -c "hexo new bilibili %p1%&&exit"
timeout /t 8 /nobreak >nul
cmd /c "myhexo b %p1%"
Exit
)
start E:\\Git\\git-bash.exe --cd=E:\HexoFile -c "hexo %p0%;bash"
Exit

使用start调用git-bash,并cd进入指定目录

使用 -c附带执行的指令语句。

比如简单的生成就输入myhexo r ,这将会调用下面的指令:start E:\\Git\\git-bash.exe --cd=E:\HexoFile -c "hexo g && hexo d &&hexo s;bash" 先generate生成网页,然后再develop提交给GitHub,最后再serve构建本地预览。

如果要清空再生成,就是myhexo g,这将会调用:start E:\\Git\\git-bash.exe --cd=E:\HexoFile -c "hexo clean &&hexo g && hexo d &&hexo s;bash"


自动化让生活更美好~

四、后续

我后面又联合obsidian和一个本机文件同步软件FreeFileSync还有一个 多设备的文件同步软件SyncTrazor进一步构建我的blog体系。

我使用obsidian构建知识库,然后使用FreeFileSync实时将其中部分公开内容同步到本地的hexo的_post文件夹内,同时也将文件通过SyncTrazor随时准备共享到其他设备上。