插件目录 » 重新格式化
作者 | Martin Cizek | |
---|---|---|
网站 | https://github.com/orchitech/redmine_reformat | |
代码存储库 | https://github.com/orchitech/redmine_reformat | |
注册于 | 2020-02-19 (超过4年前) | |
当前版本 | 0.8.0 | |
兼容性 | Redmine 5.0.x, 4.2.x, 4.1.x, 4.0.x | |
用户评分 |
Redmine Reformat - 将 Redmine 富文本数据转换为瑞士军刀¶
Redmine Reformat 是一个 Redmine 插件,提供了一项 rake 任务,用于灵活的富文本字段格式转换和批量编辑。
功能¶
- 可以在每个项目、每个对象和每个字段的基础上运行转换。
- 不同的数据集可以使用不同的转换 - 如果 Redmine 中的某些部分使用不同的语法版本,这将很有用。
- 支持自定义字段、日志甚至自定义字段日志。
- 支持在多个进程中并行转换 - 特别适合使用外部工具(pandoc、Web 服务)时。
- 即使并行转换也具有事务安全性。
- 当前支持的转换器
TextileToMarkdown
- 基于 Pandoc 的 Textile 到 Markdown 转换器。在标记级别上工作。经过百万条字符串的实战检验。详情见下文。MarkdownToCommonmark
- 将旧 Redmine markdown 格式(Redcarpet)的主要特定内容转换为 CommonMark/GFM。RedmineFormatter
- 使用 Redmine 内部格式化程序生成 HTML。与外部转换器链式使用时很有用。详情见下文。LinkRewriter
- 在重构 Redmine 项目结构(重命名、合并)时很有用。详情见下文。Ws
- 调用一个外部 Web 服务,提供请求正文中的输入,并期望在响应正文中获得转换后的输出。- 请随意提交更多 :)
- 可以链式使用转换 - 例如,将 Atlassian Wiki 标记(大致类似于 Textile)转换为 HTML,然后使用 Turndown 将 HTML 转换为 Markdown。
- 换行符以可配置的方式规范化,以确保结果确定性并尽可能匹配转换后的文本。
基本用法¶
当前格式 Textile - 使用默认的 TextileToMarkdown
转换器设置将所有富文本转换为 Markdown
rake reformat:convert to_formatting=markdown
干运行
rake reformat:convert to_formatting=markdown dryrun=1
并行处理(仅限 Unix/Linux)
rake reformat:convert to_formatting=markdown workers=10
如果已经使用 commmon_mark
格式补丁(参见 #32424 和 Docker 镜像 orchitech/redmine-gfm
)
# convert from textile:
rake reformat:convert to_formatting=common_mark
# convert from Redcarpet's markdown - same command:
rake reformat:convert to_formatting=common_mark
重命名或合并 Redmine 项目只能在数据库中直接完成。 redmine_reformat
可以为此更改准备维基链接
# 1. remove project prefix for wiki links within the renamed project
# 2. rename project prefix in wiki links outside of the renamed project
convcfg='[{
"projects": ["oldname"]
"converters": [["LinkRewriter", { "oldname": { "project": null } }]]
}, {
"converters": [["LinkRewriter", { "oldname": { "project": "newname" } }]]
}]'
rake reformat:convert converters_json="$convcfg"
# now you can rename the 'oldname' project to 'newname'
转换为 HTML(假设一个假设的 html
富文本格式)
convcfg='[{
"from_formatting": "textile",
"to_formatting": "html",
"converters": "RedmineFormatter"
}]'
rake reformat:convert to_formatting=html converters_json="$convcfg"
通过中间 HTML 使用外部 Web 服务进行转换
convcfg='[{
"from_formatting": "textile",
"to_formatting": "common_mark",
"converters": [
["RedmineFormatter"],
["Ws", "https://127.0.0.1:4000/turndown-uservice"]
]
}]'
rake reformat:convert to_formatting=common_mark converters_json="$convcfg"
有关高级场景和更多信息,请访问主页。
问题、贡献和问题¶
请随意在 项目的 GitHub 上提交工单或 PR
祝您格式化愉快!
安装说明
数据库备份¶
备份您的数据库或完全克隆您的 Redmine 实例。克隆的 Redmine 实例允许您将转换结果与原始结果进行比较。
安装¶
cd $REDMINE_ROOT
git -C plugins clone https://github.com/orchitech/redmine_reformat.git
bundle install
然后重新启动您的 Redmine。
安装转换器依赖项¶
如果使用 TextileToMarkdown
转换器,请安装 pandoc。其他提供的转换器没有直接依赖。
变更日志
0.8.0 (2022-11-04)
兼容 Redmine 5.0.x、4.2.x、4.1.x、4.0.x。
增加了 Redmine 5 兼容性。删除了 Redmine 3.x 支持。
0.6.0 (2020-06-03)
兼容 Redmine 4.2.x、4.1.x、4.0.x、3.4.x。
向提供的微服务和 WS 转换器中添加了 PUT 方法。PUT 现在在调用外部服务时是默认的 - 偏好幂等请求。改进了微服务错误处理。
0.5.0 (2020-04-30)
兼容 Redmine 4.2.x、4.1.x、4.0.x、3.4.x。
引入了 LinkRewriter
转换器,用于更新 wiki 链接引用。对项目和 wiki 重构很有用 - 重命名项目标识符、合并项目等。
0.4.0 (2020-04-13)
兼容 Redmine 4.2.x、4.1.x、4.0.x、3.4.x。
MarkdownToCommonmark
:切换到修补版(修复)的cmark-gfm
库以获取 Markdown 节点的正确 sourcepos。- 使
force_crlf
和match_trailing_nl
可由用户配置。 - 更新了默认转换器配置,以便直接处理
markdown
->common_mark
转换。
0.3.0 (2020-04-06)
兼容 Redmine 4.2.x、4.1.x、4.0.x、3.4.x。
引入了 MarkdownToCommonmark
转换器,以帮助用户进行 markdown
到 common_mark
格式迁移。见#32424。
0.2.0 (2020-03-28)
兼容 Redmine 4.2.x、4.1.x、4.0.x、3.4.x、3.3.x。
- 引入了
rake reformat:microservice
以简化某些集成测试。 - 将 Redmine 格式转换的 Rake 作业重命名为
rake reformat:convert
。
0.1.1 (2020-02-25)
兼容 Redmine 4.2.x、4.1.x、4.0.x、3.4.x、3.3.x。
转换器配置中的 from_formatting
和 to_fromatting
可以指定为数组,这样单个转换器规范就可以匹配更多格式。
0.1.0 (2020-02-19)
兼容 Redmine 4.2.x、4.1.x、4.0.x、3.4.x、3.3.x。