本地部署Hugo博客用来方便浏览我的markdown文档

作者:晚明

自从开始接触酷安、软路由这些,感觉就一直在不停地折腾,但限于钱包以及自身小白等级的技术力,即使是搭建一个个人笔记库也迟迟找不到一个能让自己满意的方案。

我只想好好地看个笔记

我目前的写作已经全线转为markdown了,不用考虑文字图片的排版确实能让写作顺畅许多,为此我放弃了诸如notion等一众优秀的笔记软件,最终选择了typora。typora的优点自不用提,优秀的渲染功能使得它几乎成为每个markdown用户的首选,但它只能简单地根据文件夹进行树状分类,这让我在日常回顾笔记时感到非常难受。

为了更好的阅览笔记,我先是找上了Obsidian这款软件。必须得说这是一款相当优秀的双链笔记软件,通过安装插件甚至能打造出一个精美程度不下于博客的页面。但它的插件依赖于社区,而且大多数的说明文档都是英文,折腾了好几个月我也依然是一头雾水,只好放弃了。接着我又尝试着将markdown笔记导入到notion等软件中进行管理,但很快就发现我的笔记涵盖范围太广,根本没什么可整理性。

在不断地折腾过程中,我意识到我需要的并不是将笔记整理的井井有条,而是可以随时可以方便的阅览,就如偶发空闲时随手拿起一本旧书,可以看完一章再看下一章,也可以回到目录快速寻找想看的章节。基于这种想法,我找上了博客这个快过时的老家伙(如果不是搭建困难,我觉得博客才是最好的笔记软件)。WordPress、Typecho这些流行的博客程序陆续都已经支持markdown了,但除去学生优惠之后高昂的云服务器费用让我望而却步,财力浅薄的我只好将目光转向了hexo、hugo这种静态博客的方案。

hexo和hugo两相比较了一下,hexo主题丰富,而且教程也比较多,相比之下网上有关hugo的教程就很少,而且在无良内容农场的搬运下,很多教程都有错漏,但hugo的渲染速度实在比hexo快太多了,所以我最终还是选择了hugo。hugo渲染完成后有很多部署的选择,大多数人应该都是部署到免费的GitHub上了,但我选择部署到Coding,虽然Coding的服务要花钱,但花费的很少,尤其是在你的博客只有你一个人看的时候。部署到Coding的好处是它和腾讯云是一家,即使不会用git命令部署,也可以直接通过腾讯云存储的cosbrower软件将生成的静态博客文件同步到对应博客的存储桶里(按照教程部署总出错,只好用这种偷懒的法子了)。

我只想稳稳地看个笔记

前些天看到有个人说自己部署在GitHub上的博客被删掉了,其实这也正常,毕竟GitHub的钱也不是大风刮来的,一群人拿着GitHub的免费资源打广告、建博客、搭图床、云编译,换谁都遭不住这样薅羊毛,这也是我不选择Github部署博客的原因。花钱的Coding也有许多问题,选择在国内部署,就需要网站备案,选择在香港(额,香港也是国内)服务器部署,正常的网络环境下想要访问也是个难题。

思来想去,想要安稳一点,还是放在本地才最安全。hugo生成的本就是网页文件,本地欠缺的不过是一个web服务器罢了。在Windows系统上,可以直接使用IIS服务,我个人平常用的是国产的deepin系统,总不至于为了一个静态网页服务就装个宝塔。随便搜了下就盯上了http-server这个程序,需要用npm安装,恰好之前折腾hexo时安装过的node.js还没删。

于是我就一个

sudo npm install http-server -g

sudo ln -s /usr/local/src/node/lib/node_modules/http-server/bin/http-server /usr/bin/http-server

安装好了http-server,将它加入到环境路径,接着

sudo http-server ~/Documents/public -p 8081

将~/Documents/public作为网页文件存放的目录,8081作为访问的端口,将hugo渲染生成的public文件夹里的全部文件复制到~/Documents/public目录,浏览器访问localhost:8081就可以看到博客内容了,这可比hugo上传到Coding方便多了

为了http-server服务能够长期运行,还需要设置使其能够开机自启。deepin系统开机自启的命令写在/etc/rc.local文件内,新版deepin已经默认不包含这个配置文件了,但这个方法依然可以使用

sudo vi /etc/rc.local

按i进入编辑模式,填入以下内容

#!/bin/bash

# rc.local config file created by use

http-server ~/Documents/public -p 8081  #把你需要执行的命令写在这里

exit 0

按esc退出编辑,按:wq保存并退出,之后给/etc/rc.local文件赋予可执行权

sudo chmod +x /etc/rc.local

重启之后,http-server就已经在后台运行了。

我只想时时地看个笔记

解决了本地看笔记的问题,但现在却不能随时随地看笔记了,恰好折腾NAS时花25和别人共享的FRP穿透服务还能用,加个tcp穿透就能随时访问了,emmm,折腾到这里,我才想到,hugo其实是一个实时渲染的的程序,我只要让hugo sever始终在后台运行就可以了,根本不需要http-server。想起来的时候已经很晚了,所以,就这样啦,累了累了,以后再说

我的Hugo博客

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部