Passing raw Markdown text to Jade

后端 未结 4 1278
栀梦
栀梦 2021-02-02 09:57

I\'m playing around with my first Node.js Express application, and as every programmer knows, the first thing you should build when testing out a new framework is a blog! Anyway

相关标签:
4条回答
  • 2021-02-02 10:33

    I don't think jade can do this out of the box. One way to accomplish it that might feel slightly cleaner than pre-rendering the markdown is to create a helper function called markdown that takes a markdown string and returns HTML. Then you could do something like

    section
        != markdown(md)
    

    The markdown function should be included in the locals data when you render the jade template and can directly use a markdown library to convert the markdown syntax to HTML.

    0 讨论(0)
  • 2021-02-02 10:44

    You can do this with a function passed in to jade from node:

    var md = require("node-markdown").Markdown;
    

    Then pass it into the view as a local:

    res.render('view', { md:md, markdownContent:data });
    

    Then render it in the jade view by calling the function:

    != md(markdownContent)
    
    0 讨论(0)
  • 2021-02-02 10:54

    If you are using Scalate's Jade support you can enter:

    section
        :&markdown
            #{md}
    

    You can also import external files with:

    section
        :&markdown
            #{include("MyFile.md")}
    
    0 讨论(0)
  • 2021-02-02 10:58

    The node module node-markdown is deprecated. The marked is advanced new version. You can try like this

    var md = require('marked');
    

    Inside your router

    res.render('template', { md: md });
    

    Inside your jade template

    div!= md(note.string)
    
    0 讨论(0)
提交回复
热议问题