本来这个问题应该在 ruby-china 上提的,但是那里的人对新手很不友好,只有请 v2 的朋友们帮忙啦。
我的问题是这样的,我想用 homeland 这个框架建一个论坛: https://github.com/rails-engine/homeland
这个框架有个问题就是它的 markdown 解析是自己实现的,而我想在论坛里使用 mathjax 数学公式,这样一来会和 markdown 语法有冲突,于是我决定调用外部软件,使用与 latex 兼容的比较好的 pandoc 来将 md 转换为 html 格式。
它的文档里说,如果你要实现自己的解释器的话,需要这样做:
在 Homeland::Markup 命名空间下面实现一个新的自定义类,并继承 Homeland::Markup::Base,实现 render 函数,例如:
新建文件 lib/homeland/markup/ruby_china.rb
module Homeland
module Markup
class RubyChina < Base
class << self
def render(raw)
# 在这里编写你的详细转换实现
YouCustomRender.render(raw)
end
end
end
end
end
我的问题是这样的,我理解的是这个 YouCustomRender 指的就是 RubyChina 这个类,raw 应该是个 md 格式的字符串,但是这个函数没有返回值,它是怎么把转换后的字符串传出去的呢?
第二个问题是,我不懂 ruby,我应该怎样调用 pandoc 命令来渲染 raw 这个输入呢?