arron / cli-texy-converter
通过命令行将Texy文件转换为HTML或GitHub Markdown。
3.0.0
2023-06-09 11:04 UTC
Requires
- php: ~8.0
- kukulich/fshl: 2.*
- latte/latte: 2.*
- symfony/console: *
- texy/texy: >=3.0.0
Requires (Dev)
README
通过命令行将Texy文件转换为HTML或GitHub Markdown。它还可以用作项目中的库,您可以直接调用转换器。
如果您要转换为HTML,可以提供Latte模板,该模板将被填充。
安装
使用composer安装TestIt。只需将arron/cli-texy-converter项目作为依赖项添加。
用法
命令行
convert texy [-t|--template="..."] [-f|--force] from to
- from是源texy文件
- to是要创建的目标文件。将使用何种转换由目标文件的扩展名(.html和.htm用于转换为HTML,.md用于转换为Markdown)确定。
- -f 或 --force是强制重写目标文件的选项。如果没有此选项,则在尝试覆盖现有文件时将抛出异常。
- -t|--template="..."是Latte模板的路径。如果提供,转换的结果将通过
$content
变量传递到该模板。
程序中
有两个类。一个用于转换为HTML,一个用于转换为Markdown。两个类都实现了Arron\Converter\IConvert
接口,用法非常简单。
$htmlConverter = new HtmlConverter(); $resultString = $htmlConverter->convert($sourceString); $markdownConverter = new MarkdownConverter(); $resultString = $markdownConverter->convert($sourceString);
转换
HTML
转换的Texy设置实际上与您在Texy编辑器中看到的是一样的。对于语法高亮,使用的是FSHL库。
目前无法更改某些选项。
Markdown
将Texy转换为GitHub Markdown语法。转换是通过Texy解析器完成的,输出被改为不转换为HTML而是转换为Markdown。由于这个解决方案,存在一些限制。Texy没有提供所有必要的自定义选项,因此这些部分在输出中保持不变。
- 列表
- 表格
某些Texy功能在GitHub Markdown语言中不受支持
- 缩写:Texy语法NATO((North Atlantic Treaty Organisation))简单地转换为NATO (North Atlantic Treaty Organisation)。
- 行内引用:Texy语法>>inline quote<<保持不变。
- Texy语法++inserted++ --deleted-- ^^superscript^^ m^2 替代上标 subscript m_2 替代下标转换为inserted
deletedsuperscript m2 替代上标 subscript m2 替代下标
许可
请随意使用它,根据GPL许可或GPL v2或任何更晚的GPL版本。