#blog-post #blog #cli #server #config-file #default-config

app crosspub

适用于 tilde 服务器用户的工具,可以将博客文章跨发布到 HTML 和 Gemini。

1 个不稳定版本

0.5.4 2022年7月14日

2799命令行工具

MIT 许可证

64KB
1.5K SLoC

crosspub

适用于 tilde 服务器用户,将博客文章跨发布到 HTML 和 Gemini 的工具。

安装

运行

make
sudo make install

用法

crosspub 设计为无需任何配置即可直接使用。要开始,创建一个包含目录并初始化它。

mkdir website
crosspub --init

这会创建两个目录,一个用于 posts(特定日期编写的博客和文章)和一个用于 topics(随时间变化和增长的演变文档),以及创建一个默认的配置文件。

crosspub 内容使用 gemtext 编写,这是一种轻量级标记语言。文件应以 .gmi 结尾。

接下来,修改 config.toml 中的设置,请参阅 基本配置

在您的 HTML 和 Gemini 根目录中创建文章目录

mkdir ~/public_html/posts
mkdir ~/public_gemini/posts

将这些路径更改为匹配您的配置。

准备好生成您的网站时,只需导航到您初始化的目录并运行

crosspub

文章语法

posts/ 中所有的 gemtext 文件都必须以强制性的 TOML 前置信息开头

---
title = "Example Title"
date = "YYYY-MM-DD"
slug = "example"
---

Content goes here
...

"slug" 是一个短字符串,将成为文件名的一部分,基本上是一个简短的标题。

主题语法

topics/ 中的文件以略有不同的前置信息开头,缺少日期字段。

---
title = "Example Topic"
slug = "example_topic"
---

...

基本配置

配置文件位于 $HOME/crosspub/config.toml

  • name 是您网站的标题
  • url 是网站的基 URL(不包括波浪号部分)
  • username 是您的用户名,网站上的 tilde 扩展名减去 ~ 字符
  • html_rootgemini_root 是您公共_html 和公共_gemini 文件的路径。

关于文件

crosspub 允许您编写一个简介并将其生成 About 页面。首先确保您有一个用于 crosspub 数据的目录

mkdir -p ~/.local/share/crosspub

接下来,在该目录中创建一个名为 about.gmi 的文件。这只是一个普通的 gemtext 文件,没有前置信息。

最后编辑 ~/.config/crosspub/config.toml 以确保 use_about_page = true

高级配置

自定义模板

如果需要,可以通过使用自定义模板来创建更多独特的网站。首先创建正确的目录

mkdir -p ~/.local/share/crosspub/templates/html
mkdir -p ~/.local/share/crosspub/templates/gemini

默认模板位于 /usr/share/crosspub/templates/。建议查看内置模板,以了解它们是如何工作的。

crosspub为HTML和Gemini各使用5个模板

  • index
  • post
  • topic
  • postlist
  • about

这些模板中的一些或全部可以被位于 ~/.local/share/crosspub/templates 的模板所覆盖。

自定义CSS

与模板类似,可以修改全局CSS。用户CSS应放在 ~/.local/share/crosspub/templates/html/style.css

帖子列表

默认的index.html和index.gmi模板都列出了主页上的帖子。如果您想将此列表移至单独的页面,请将您的配置中的 post_list = true 设置。这将在 {HTML_ROOT}/posts/posts.html{GEMINI_ROOT}/posts/posts.gmi 创建列表。crosspub 不会自动链接到这些列表,因此您需要根据需要修改其他模板。

依赖关系

约3.5–4.5MB
约81K SLoC