“低技术”网站搭建复盘

网站开发 2021-07-30 2966 次浏览 次点赞

“低技术”的太阳能网站》介绍了 solar.lowtechmagazine.com 使用 A20 OLinuXino Lime2 单板计算机和 Armbian 操作系统的服务器,并使用 Python 编写的静态站点生成器 Pelican 构建静态网站。

Jetson Nano

我们使用 Jetson Nano 作为主机(目前正在做 Jetson Nano 教学项目,而 Armbian 恰好有适配 Jetson Nano 的镜像),复盘使用 Armbian + Nginx + Pelican 的“低技术”网站搭建过程。请注意,这里的“低技术”指一种可持续的网站,意味着确保支持旧硬件、速度较慢的网络并提高博客内容的可移植性和可存档性

首先下载适配 Jetson Nano 的 Armbian Buster 镜像(内核 5.10.y),此镜像已包含 Python 3.7.3,刻录到 SD 卡并启动 Jetson Nano, Putty 连接:root/1234,第一次连接会要求修改密码。

重启

sudo reboot

001.JPG
请忽略图中红色警告

安装所需软件


安装 nginx

虽然有内置的 Python 3 HTTP 服务器及 Pelican 开发服务器守护进程可提供 HTTP 服务,但独立的网页服务器是必要的。

sudo apt install nginx  # Linux 下的网页服务器可用 Apache、Nginx 及 Lighttpd 等,推荐轻巧简便的 Nginx

安装 pip

sudo apt install python3-pip

安装 pelican 与 markdown

pip3 install pelican markdown

创建网站框架


mkdir blog  #创建项目目录
cd blog #进入项目目录
pelican-quickstart  #生成 pelican 框架(Pelican-based website)

框架生成过程中有诸多设置和选项,可直接忽略或者选择n,在下面的 pelicanconf.py 文件中再行添加和修改。

pelicanconf.JPG

创建完成后生成的 blog 目录结构:

.
├── content/ #存放文章的源文件
├── Makefile #管理博客
├── output/ #生成的静态文件存放目录
├── pelicanconf.py #博客配置文件
├── publishconf.py #发布配置文件
├── ……
└── tasks.py 

编写第一篇文章


在 content 目录下创建一个文件 my-first-post.md,使用 markdown 语法缩写这个文档。

Title:My First Blog
Date:2021-07-20 10:20
Modified:2021-07-21 19:30
Category:About
Tags:pelican,publishing
Slug:my-first-post #指定生成网页的文件名
Authors:Laurent Richard
Summary:This is the summary of my first post.
## 正文

生成静态网页文件


~/blog/$ pelican content

在 output 目录下会生成静态网站文件。

修改 Nginx 配置文件


vi /etc/nginx/sites-enabled/default  #配置文件有可能在其他路径,可在/etc/nginx/nginx.conf中include一行查找目标文件。

root /var/www/html; 修改为 root /home/pi/blog/output;

重启Nginx。在浏览器中访问 Jetson Nano,全得到以下页面。“低技术”网站搭建成功。

002.JPG

网站更新


  1. 在本地计算机使用 Markdown 编辑器如 MarkdownPad、Typora 等编写文章的 Markdown 文档(.md),如有图片通常使用图床链接;
  2. 使用 pscp.exe 上传 Markdown 文档到 /home/pi/blog/content/,这个工具亦可执行下载任务;
  3. 使用 Putty 连接到 Jetson Nano,在 /home/pi/blog/ 目录执行 pelican content 重新生成网站。
  4. 当然,还可以使用更多的技术,如使用 git 进行存档和版本控制。

主题美化


与其他所有的 web 框架一样,Pelican 也支持主题更换。http://www.pelicanthemes.com/ 有主题预览,并从 pelican-themes 上下载主题到本地并安装:

git clone https://github.com/getpelican/pelican-themes.git 

推荐下载指定主题(以 Peli-Kiera 为例)以节省空间:

git clone https://github.com/aleylara/Peli-Kiera /home/pi/blog/themes/Peli-Kiera

使用 Peli-Kiera 主题重新生成网站以测试效果:

pelican content -s pelicanconf.py -t /home/pi/blog/themes/Peli-Kiera

安装 Peli-Kiera 主题到/usr/lib/python3/dist-packages/pelican/themes/Peli-Kiera

pelican-themes --install /home/pi/blog/themes/Peli-Kiera --verbose

最后修改 pelicanconf.py 文件,配置 Peli-Kiera 主题。

THEME = 'Peli-Kiera'

最后生成网站。

pelican content

themes.JPG

以上只是“低技术”网站搭建复盘的快速实现,实际上 Pelican 还有更多设置和强大功能,更多可参考 solar.lowtechmagazine.com 的技术实现指南 Pelican 官方文档以及由 Read the Docs 托管的中文文档

Pelican Static Site Generator:https://blog.getpelican.com/

知识共享署名声明
本文由 CulmartPlay 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

酷玛致力于通过STEM教育培养信息素养和极客精神。