swtws

Swift Tweets 的演示者用命令行工具。

推文文件格式

请准备按照这种格式编写的演示推文的文本文件。字符编码必须是 UTF-8

文件扩展名建议使用 .tw

如何构建

克隆此仓库,并使用 Swift Package Manager 进行构建。

git clone https://github.com/swift-tweets/swtws.git
cd swtws
swift build

如何使用

按照上述步骤,swtws 的二进制文件将在 .build/debug/swtws 中生成。根据需要将其添加到路径等。

要检查 sample.tw 文件是否能成功解析且没有格式错误,请执行以下命令。

# パスを通した場合
swtws check sample.tw

# パスを通さない場合
.build/debug/swtws check sample.tw

使用 -c--count 选项可以显示推文的数量。

swtws check --count sample.tw

要实际发布到 Twitter,请执行 swtws presentation

swtws presentation sample.tw --twitter ... sample.tw

请注意,至少需要指定 --twitter。有关此选项的指定方法,请参阅“Upload images to Twitter”。此外,如果要在发布到 Twitter 的同时发布到 Gist 并生成图像,则还需要指定 --github(但是,建议提前上传资源)。有关使用这些选项指定令牌的详细信息,请参阅 How to upload resources in advance

默认情况下,推文以 30 秒的间隔发布,但您也可以使用 --interval 选项更改间隔。例如,要设置为 15 秒间隔,请按如下方式指定。

swtws presentation --interval 15.0 --twitter ... sample.tw

如何更新

要更新 swtws 命令,不仅要 git pull 最新版本并构建,还要更新依赖库,请在构建之前执行 swift package update

git pull
swift package update
swift build

如何获取令牌

为了使用 swtws 发布到 Twitter 和 Gist,您需要获取各种令牌。

Twitter

需要以下四个。

有关获取方法,以下页面可以作为参考。

GitHub

需要 Personal Access Token。可以通过以下页面的步骤获取。

如何提前上传资源

为了尽可能减少演示正式场合的技术故障,建议您提前上传资源。

预处理分为三个步骤,分别使用 resolve-coderesolve-gistresolve-image 子命令。在每个步骤中,tw 文件都会被重写,以便可以直接使用上传的资源等。在这里,我们假设有以下 tw 文件,并演示它是如何被重写的。

例:この tw 形式のツイートがどのように変化するか示します。

```swift:hello.swift
print("Hello")
```

将代码发布到 Gist

您可以使用 swtws resolve-code 命令预先将 tw 文件中描述的代码发布到 Gist。要发布到 Gist,您需要在 --github 选项中指定 GitHub 的 Personal Access Token。在下面的示例中,ffffffffffffffffffffffffffffffffffffffff 是 Access Token。

tw 文件中代码被替换为链接和图像的结果将写入标准输出,因此请使用 > path/to/output.tw 等方式保存结果。

swtws resolve-code --github ffffffffffffffffffffffffffffffffffffffff path/to/tweets.tw > path/to/output.tw
例:この tw 形式のツイートがどのように変化するか示します。

https://gist.github.com/0000000000000000000000000000000000000000

![](gist:0000000000000000000000000000000000000000)

将 Gist 上的代码写成图像

您可以使用 swtws resolve-gist 命令生成 tw 文件中描述的 ![](gist:0000000000000000000000000000000000000000) 格式的图像,并将其保存为本地文件。您需要使用 --image-output 选项指定保存目录。

tw 文件中 ![](gist:0000000000000000000000000000000000000000) 被替换为 ![](output/directory/path/image.png) 的结果将写入标准输出,因此请使用 > path/to/output.tw 等方式保存结果。

swtws resolve-gist --image-output output/directory/path path/to/tweets.tw > path/to/output.tw
例:この tw 形式のツイートがどのように変化するか示します。

https://gist.github.com/0000000000000000000000000000000000000000

![](output/directory/path/image.png)

上传图片到 Twitter

您可以使用 swtws resolve-image 命令预先将 tw 文件中描述的图像上传到 Twitter。要上传到 Twitter,您需要在 --twitter 选项中指定 Consumer Key, Consumer Secret, Access Token, Access Token Secret,并用 , 分隔。在下面的示例中,它们分别对应 WWWWWWWWWWWWWWWWWWWW, XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY, ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ

tw 文件中代码被替换为链接和图像的结果将写入标准输出,因此请使用 > path/to/output.tw 等方式保存结果。

swtws resolve-image --twitter WWWWWWWWWWWWWWWWWWWW,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX,YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY,ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ path/to/tweets.tw > path/to/output.tw
例:この tw 形式のツイートがどのように変化するか示します。

https://gist.github.com/0000000000000000000000000000000000000000

![](twitter:999999999999999999)