Как я могу сделать уценку в шаблоне jde.js jde?

Я использую фреймворк js. У меня есть потерянная строка из базы данных и вы хотите отобразить ее как HTML в моем шаблоне нефрита. Я установил node -markdown и хочу сделать его таким образом:

app.js

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

template.jade

- each note in todo.notes
  div= md(note.string)

Однако он ничего не распечатывает... какие-либо советы на этом?

Спасибо!

EDIT: решил сам, просто забыл получить переменную md в моем представлении...

Ответ 1

Я нашел решение самостоятельно:

Проблема заключалась в том, что я забыл передать переменную md в мое представление. так что вам нужно сделать, чтобы запустить модуль node -markdown:

заголовок app.js

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

маршрут app.js (передача переменной md)

...
res.render('template', { vars: { foo: foo_.bar }, md: md, layout: false });
...

template.jade

...
div!= md(note.string)
...

Ответ 2

Существует понятие "фильтры", которые выставляют посетителя "компилятор" или "фильтровать" часть шаблона нефрита.

Отъезд: https://github.com/visionmedia/jade

фильтры

: sass должен быть установлен sass.js

: меньше должно быть установлено less.js

: markdown должен иметь markdown-js или node -discount

: CDATA

: у coffeescript должен быть установлен кофе script

Вы используете его с помощью этого синтаксиса в шаблоне: http://jade-lang.com/reference/filters/

Ответ 3

Модуль node node-markdown устарел. marked - новая версия. Вы можете попробовать как это

var md = require('marked');

Внутри вашего маршрутизатора

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

Внутри вашего нефритового шаблона

div!= md(note.string)

Ответ 4

Если вы используете Marked, в своем файле Jade вы можете сделать что-то простое:

extends layout

block content
    include:md ../../public/docs/getting-started.md

Ответ 5

Вы можете использовать marked, тогда вы можете выполнить следующие инструкции:

app.js

app.locals.md = require('marked').setOptions({ breaks: true })

Теперь вы можете вызывать функцию каждый раз, когда хотите ее на шаблоне jade, например, в вашем случае:

template.jade

- each note in todo.notes
    div!= md(note.string)