3分钟烹饪,用 Deno 的 Lume CMS 快速搭建博客或网站

3 min

language: ja bn en es hi pt ru zh-cn zh-tw

Screenshot_20240620_011217.png

你好,我是无能。

我一直在关注 Deno,并且一直在寻找一个可以在简单环境中实现且易于使用的 CMS,然后我遇到了 LumeCMS。

https://lume.land

因此,假设 Deno 已经安装,我们来创建一个目录。

mkdir newsite

然后,安装 Lume。

deno run -A https://deno.land/x/lume/init.ts

现在,我想使用一个主题,所以选择 'Install a theme',然后选择 _config.ts

然后选择 'Simple Blog'。

好的,就这样完成了。那么,让我们实际运行一下吧。

deno task lume cms

然后访问它...

哇,太快了...

但是,标准的上传文件夹位于执行 deno task lume cms 的目录 ./uploads 中,如果直接在博客中以 Markdown 格式复制粘贴,它会变成 ./_site/uploads,导致图片路径不正确,图片无法显示。
我认为这是因为它的设计理念是让 LumeCMS 也能在其他 SSG(如 Hugo)等环境中使用。

因此,打开 _config.ts 文件。

vim _config.ts
import lume from "lume/mod.ts";
import blog from "blog/mod.ts";

const site = lume();

site.use(blog());
// 在这里复制到 uploads 文件夹
site.copy("uploads", "uploads");

export default site;

这样,上传到 ./uploads 的图片就会被复制到 ./_site/uploads 文件夹,可以正常查看。我之所以这样做,是想着如果原始文件保留在 ./uploads 中,那么对于复制到 ./_site/uploads 的图片,就可以更容易地进行修改(例如格式转换)。

创建一篇测试文章后的目录结构如下:


├── 404.md
├── _cms.ts
├── _config.ts
├── _data.yml
├── _site
│   ├── 404.html
│   ├── archive
│   │   └── index.html
│   ├── favicon.png
│   ├── feed.json
│   ├── feed.xml
│   ├── index.html
│   ├── js
│   │   ├── comments.js
│   │   └── main.js
│   ├── pagefind
│   │   ├── fragment
│   │   │   └── en_3551ff1.pf_fragment
│   │   ├── index
│   │   │   └── en_8fc6f26.pf_index
│   │   ├── pagefind-entry.json
│   │   ├── pagefind-highlight.js
│   │   ├── pagefind-modular-ui.css
│   │   ├── pagefind-modular-ui.js
│   │   ├── pagefind-ui.css
│   │   ├── pagefind-ui.js
│   │   ├── pagefind.en_7625ba4347.pf_meta
│   │   ├── pagefind.js
│   │   ├── wasm.en.pagefind
│   │   └── wasm.unknown.pagefind
│   ├── robots.txt
│   ├── sitemap.xml
│   ├── styles.css
│   ├── test
│   │   └── index.html
│   └── uploads
│       └── images-(2)-(9).jpeg
├── deno.json
├── deno.lock
├── favicon.png
├── posts
│   └── test.md
└── uploads
    └── images-(2)-(9).jpeg

文章创建页面是这样的。

SSG 的弱点是无法从智能手机等设备发布(虽然不是完全不可能),Markdown 编写起来非常方便,但从智能手机上操作会很困难。现在,仅仅通过这个,就变得非常容易实现了。

对我来说,这正是我所寻找的,所以我希望能够将网站迁移过来。
关于从 WP 迁移到 SSG 的文章应该有很多。话虽如此,我通常只在有动力的时候才会去做。

那么。

下次再见。

Related Posts