Как я могу сделать уценку в шаблоне 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)