7个版本

0.1.7 2024年3月24日
0.1.6 2024年3月22日

#1 in #blog

AGPL-3.0-or-later

41KB
1K SLoC

Gemfreely

主仓库: Agnos.is Git

镜像在 GitHub

同步Gemini协议Gemlogs到WriteFreely实例。

先决条件和适用人群?

要使用 gemfreely,您将需要

gemfreely适用于希望以简单方式将他们的Gemini胶囊的gemlog链接到Fediverse的人。Gemini作为协议,对大多数互联网用户来说并不容易接触,而随着Fediverse的日益流行,这提供了一种增加您的Gemini胶囊博客帖子可见性的方法。

什么是Gemini? Gemini是常规Web的一个轻量级替代品,但并不旨在取代它。

什么是WriteFreely? WriteFreely是博客软件,类似于WordPress,它集成了所谓的“Fediverse”(使用ActivityPub标准的互联社交媒体网站)。

用法

gemfreely help

Gemfreely旨在易于使用,主要用于自动化操作。成功同步您的gemlog到WriteFreely有两大步骤

  1. gemfreely登录
  2. gemfreely同步

WriteFreely登录

首先,您必须拥有访问您的WriteFreely实例的访问令牌。如果您没有,gemfreely可以为您创建一个

gemfreely login --wf-url="https://witefreely.example.com/" -u yourusername -p "yourpassword"

如果登录成功,这将打印出WriteFreely访问令牌。请保存此令牌以备使用,因为它不会被存储在任何地方。

同步Gemlog到WriteFreely

要将您的gemlog同步到WriteFreely,请使用sync命令。您需要

  • 您的WriteFreely访问令牌。注意:不支持同步时使用用户名和密码。
  • 您gemlog的feed的完整URL(Atom或Gemfeed,但Atom对于发布日期准确性更好)。
  • 您的writefreely博客的URL。
gemfreely \
  -t "YourWFAccessToken" \
  --wf-alias="yourusername" \
  sync \
  --gemlog-url="gemini://example.com/gemlog/atom.xml" \
  --wf-url="https://writefreely.example.com"

--wf-alias参数,在WriteFreely术语中,是您的WriteFreely collectionalias。在更常见的术语中,这是您博客的标识符,通常与您的WriteFreely用户名相同。

其他选项

sync命令有两个其他选项,涉及转换后的gemlog帖子的清理

--strip-before-marker <STRIP_BEFORE_MARKER>
  Remove all text BEFORE this marker in the Gemlog post

--strip-after-marker <STRIP_AFTER_MARKER>
  Remove all text AFTER this marker in the Gemlog post

这些标记可以是任何有效的UTF-8字符串。这些选项的主要目的是删除gemlog帖子中存在但不需要在转换为Markdown格式的博客帖子中的文本。在我的gemlog中,它用于删除标题、页脚和页眉,这些包含返回Gemini胶囊其他部分的链接。这些不需要在WriteFreely帖子中存在。

登出

可以通过使用gemfreely logout来使WriteFreely访问令牌无效。

gemfreely --wf-alias="youralias"
  \ -t "YourAccessToken" logout \
  --wf-url="https://writefreely.example.com"

这将撤销WriteFreely上的访问令牌,并需要新的访问令牌来使用sync命令。

问题报告

可以在GitHub或https://git.agnos.is/的规范存储库中报告问题。

依赖项

~23–37MB
~745K SLoC