如何添加使用内部 Gollum markdown 处理器的扩展?
How can I add an extension that uses the internal Gollum markdown processor?
描述:
- 我正在尝试集成包含 vimwiki 和 Gollum 的工作流程和工具。我只想添加 vimwiki 作为编辑器的扩展类型,同时由 Gollum 的内部 Markdown 处理器处理(参见 "Things I've tried" #1)。
- 最后,我还希望 Gollum 在创建新文档时也默认为 'vimwiki'。
- 我正在做的项目可以在 Vimwiki-Gollum-Integration
找到
测试细节:
- 咕噜版本:4.1.1
- 正在测试的文件有效github markdown
- 正在使用不同的文件名和扩展名测试相同的内容:
- testx.thing
- blah.vimwiki
- 测试文件在以 .md 扩展名命名时工作正常
- 已安装相关渲染宝石:
- github-markdown
- github-标记
- kramdown
- 红地毯
- 所有代码都在 gollum --config 文件中进行测试
- 我不是很熟ruby
我尝试过的事情
- 正在创建新的扩展和自定义渲染器
- 除了没有理由实施自定义处理器 (pandoc) 外,这有效
- 这将是理想的,这样 Markdown 名称就可以出现在“编辑”页面中。但是,我认为我不应该在这里涉及 pandoc
- 在编辑 vimwiki 扩展时,如何让编辑页面将 markdown 默认为 vimwiki?
- 使用的文件:blah.vimwiki
# always include this:
Gollum::Page.send :remove_const, :FORMAT_NAMES if defined? Gollum::Page::FORMAT_NAMES
################### custom extension + renderer
# # Custom extension rendering
# ## References
# * file reference: /var/lib/gems/2.1.0/gems/github-markup-1.6.0/lib/github/markup/command_implementation.rb
# * [Adding Pandoc to Gollum - Martin Wolf's weblog [OUTDATED]](https://www.mwolf.net/2014/04/29/adding-pandoc-to-gollum/)
ci = ::GitHub::Markup::CommandImplementation.new(
/vimwiki/,
["Vimwiki"],
"pandoc -f markdown-tex_math_dollars-raw_tex",
:vimwiki)
# bind your own extension regex (the new set of extensions will also include `.asc` and `.adoc`):
# # * file reference: /var/lib/gems/2.1.0/gems/github-markup-1.6.0/lib/github/markups.rb
Gollum::Markup.register(:vimwiki, "Vimwiki")
Gollum::Markup.formats[:vimwiki][:regexp] = /vimwiki/
GitHub::Markup::markup_impl(:vimwiki, ci)
##################
- 尝试替换 Markdown 主要扩展和正则表达式。
- 我不明白为什么这不起作用,除非我误解了匹配和覆盖的操作顺序。
- 页面将显示,扩展名被识别,但页面根本不格式化 - 将所有内容拼凑在一起。
# always include this:
Gollum::Page.send :remove_const, :FORMAT_NAMES if defined? Gollum::Page::FORMAT_NAMES
# Attempt to replace the primary extension for Markdown
# remove the original markdown binding:
Gollum::Markup.formats.delete(:markdown)
# and define your own
Gollum::Markup.formats[:thing] = {
:name => "Markdown",
:regexp => /thing/
}
- 尝试只替换降价扩展正则表达式
- 与尝试 2 相同的结果。
- 页面会显示,但格式不正确
# always include this:
Gollum::Page.send :remove_const, :FORMAT_NAMES if defined? Gollum::Page::FORMAT_NAMES
Gollum::Markup.formats[:markdown][:regexp] = /vimwiki|thing/
我要结束这个问题:
事实证明,没有简单的方法可以使用降价处理器并让编辑页面识别出不同的扩展名。 Markdown 处理器要求扩展名是有效的,它是 markdown.rb.
中找到的扩展名的正则表达式
底线是我需要实现类似于 pandoc 正在做的事情。所以我只是放弃这个主题并坚持使用 pandoc -'Things I've tried #1' from the original question。
我没有在这里拿一大堆 space,而是在 project page 上发布了包含代码示例的文档
感谢所有花时间思考这个问题的人。
描述:
- 我正在尝试集成包含 vimwiki 和 Gollum 的工作流程和工具。我只想添加 vimwiki 作为编辑器的扩展类型,同时由 Gollum 的内部 Markdown 处理器处理(参见 "Things I've tried" #1)。
- 最后,我还希望 Gollum 在创建新文档时也默认为 'vimwiki'。
- 我正在做的项目可以在 Vimwiki-Gollum-Integration 找到
测试细节:
- 咕噜版本:4.1.1
- 正在测试的文件有效github markdown
- 正在使用不同的文件名和扩展名测试相同的内容:
- testx.thing
- blah.vimwiki
- 测试文件在以 .md 扩展名命名时工作正常
- 已安装相关渲染宝石:
- github-markdown
- github-标记
- kramdown
- 红地毯
- 所有代码都在 gollum --config 文件中进行测试
- 我不是很熟ruby
我尝试过的事情
- 正在创建新的扩展和自定义渲染器
- 除了没有理由实施自定义处理器 (pandoc) 外,这有效
- 这将是理想的,这样 Markdown 名称就可以出现在“编辑”页面中。但是,我认为我不应该在这里涉及 pandoc
- 在编辑 vimwiki 扩展时,如何让编辑页面将 markdown 默认为 vimwiki?
- 使用的文件:blah.vimwiki
# always include this:
Gollum::Page.send :remove_const, :FORMAT_NAMES if defined? Gollum::Page::FORMAT_NAMES
################### custom extension + renderer
# # Custom extension rendering
# ## References
# * file reference: /var/lib/gems/2.1.0/gems/github-markup-1.6.0/lib/github/markup/command_implementation.rb
# * [Adding Pandoc to Gollum - Martin Wolf's weblog [OUTDATED]](https://www.mwolf.net/2014/04/29/adding-pandoc-to-gollum/)
ci = ::GitHub::Markup::CommandImplementation.new(
/vimwiki/,
["Vimwiki"],
"pandoc -f markdown-tex_math_dollars-raw_tex",
:vimwiki)
# bind your own extension regex (the new set of extensions will also include `.asc` and `.adoc`):
# # * file reference: /var/lib/gems/2.1.0/gems/github-markup-1.6.0/lib/github/markups.rb
Gollum::Markup.register(:vimwiki, "Vimwiki")
Gollum::Markup.formats[:vimwiki][:regexp] = /vimwiki/
GitHub::Markup::markup_impl(:vimwiki, ci)
##################
- 尝试替换 Markdown 主要扩展和正则表达式。
- 我不明白为什么这不起作用,除非我误解了匹配和覆盖的操作顺序。
- 页面将显示,扩展名被识别,但页面根本不格式化 - 将所有内容拼凑在一起。
# always include this:
Gollum::Page.send :remove_const, :FORMAT_NAMES if defined? Gollum::Page::FORMAT_NAMES
# Attempt to replace the primary extension for Markdown
# remove the original markdown binding:
Gollum::Markup.formats.delete(:markdown)
# and define your own
Gollum::Markup.formats[:thing] = {
:name => "Markdown",
:regexp => /thing/
}
- 尝试只替换降价扩展正则表达式
- 与尝试 2 相同的结果。
- 页面会显示,但格式不正确
# always include this:
Gollum::Page.send :remove_const, :FORMAT_NAMES if defined? Gollum::Page::FORMAT_NAMES
Gollum::Markup.formats[:markdown][:regexp] = /vimwiki|thing/
我要结束这个问题:
事实证明,没有简单的方法可以使用降价处理器并让编辑页面识别出不同的扩展名。 Markdown 处理器要求扩展名是有效的,它是 markdown.rb.
中找到的扩展名的正则表达式底线是我需要实现类似于 pandoc 正在做的事情。所以我只是放弃这个主题并坚持使用 pandoc -'Things I've tried #1' from the original question。
我没有在这里拿一大堆 space,而是在 project page 上发布了包含代码示例的文档
感谢所有花时间思考这个问题的人。