Slim模板不会将markdown存储在变量中

时间:2015-05-03 19:52:16

标签: markdown slim-lang

我在使用降价格式的数据库中有数据。

我知道slim template可以像这样呈现降价:

markdown:
  This is a paragraph!

  - This is list item #1
  - This is list item #2

现在我尝试这样做:

markdown:
  #{string_in_markdown_format}

但是这只是将字符串的全部内容放入一个<p>标记中,并没有真正转换字符串本身的降价内容:

以下是string_in_markdown_format的内容:

Für alle graphisch vermittelten Informationen müssen gleichwertige Text-Alternativen zur Verfügung gestellt werden. Dekorative Grafiken müssen vom Screenreader ignoriert werden können.

Die Grundregeln sind dabei:

- Informative Grafiken erfordern immer einen Alternativ-Text (alt-Attribut)
- Dekorative Grafiken erfordern ein leeres Alt-Attribut (alt=““), damit der Screenreader sie ignorieren kann
- Bei verlinkten Grafiken ist nicht der Bildinhalt zu beschreiben, sondern das Linkziel anzugeben. Diese Funktion kann aber vom Linktext übernommen werden, wenn die Grafik z.B. im gleichen `&lt;a&gt;`-Element eingebunden ist.

结果如下:

<p>Für alle graphisch vermittelten Informationen müssen gleichwertige Text-Alternativen zur Verfügung gestellt werden. Dekorative Grafiken müssen vom Screenreader ignoriert werden können.

Die Grundregeln sind dabei:

- Informative Grafiken erfordern immer einen Alternativ-Text (alt-Attribut)
- Dekorative Grafiken erfordern ein leeres Alt-Attribut (alt=““), damit der Screenreader sie ignorieren kann
- Bei verlinkten Grafiken ist nicht der Bildinhalt zu beschreiben, sondern das Linkziel anzugeben. Diese Funktion kann aber vom Linktext übernommen werden, wenn die Grafik z.B. im gleichen `&lt;a&gt;`-Element eingebunden ist.</p>

截图:

更新

目前我正在使用以下丑陋的解决方法:

- markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML)
= markdown.render(string_in_markdown_format).html_safe

1 个答案:

答案 0 :(得分:4)

  

现在我尝试这样做:   

Sub SaveAttachment()
  Dim myInspector As Outlook.Inspector
  Dim myItem As Outlook.MailItem
  Dim myAttachments As Outlook.Attachments

  Set myInspector = Application.ActiveInspector
  If Not TypeName(myInspector) = "Nothing" Then
    If TypeName(myInspector.CurrentItem) = "MailItem" Then
        Set myItem = myInspector.CurrentItem
        Set myAttachments = myItem.Attachments
        'Prompt the user for confirmation
        Dim strPrompt As String
        strPrompt = "Are you sure you want to save the first attachment in the current item to the Documents folder? If a file with the same name already exists in the destination folder, it will be overwritten with this copy of the file."
        If MsgBox(strPrompt, vbYesNo + vbQuestion) = vbYes Then
            myAttachments.Item(1).SaveAsFile Environ("HOMEPATH") & "\My Documents\" & _
            myAttachments.Item(1).DisplayName
        End If
    Else
        MsgBox "The item is of the wrong type."
    End If
  End If
End Sub

这实际上按预期工作:markdown: #{string_in_markdown_format} 过滤器的内容在没有任何进一步处理传递给Markdown解析器的情况下传递。 Markdown本身不指定任何字符串插值。

现在,你的“丑陋的解决方法”几乎就是我的建议:

markdown:

然后,在您的视图中,只需调用该帮助程序:

# first define a helper (assumig Rails here):
module MarkdownHelper
  def markdown(text)
    rc = Redcarpet::Markdown.new(Redcarpet::Render::HTML)
    rc.render(text).html_safe
  end
end