SubIO 是一个类似于 Surgio 的订阅转换工具,但是更加轻量级,更易扩展新协议。
SubIO 通过将已知的配置格式转换成一个统一的内部数据结构,然后再根据配置将内部数据结构转换成目标格式。
SubIO 和 Surgio 一样,主要有两部分组成,一部分是解析器,负责解析订阅中的节点并转换成内部数据结构,另一部分是渲染器,负责将内部数据结构转换成目标格式。
使用 SubIO 至少需要定义一个输入(provider)、一个转换规则(模板)和一个输出(artifact)。
pip3 install -e git+https://github.com/ekkog/subio#egg=subio
- 在当前目录下,创建配置文件
config.toml
,内容参考 config.toml。SubIO 也支持 yaml/json/json5 格式的配置 - 在当前目录下新建
template
目录,并在该目录下创建模板文件,参考 template。 - 可以在当前目录下创建
snippet
目录,用于存放一些公共的配置片段,参考 snippet。 snippet 语法参考 Jinja2。 - 可以在模板中引用远程规则集,规则集需要在配置文件中定义
然后执行 subio
命令即可。
subio