我有一个javascript应用程序,正在使用pug作为模板,diskdb用于存储数据。
我有一些使用pug语法格式化的内容,这些内容的格式可能类似于:
p some content here
p some more content here
p: #[span this is the start of the para] #[a(href="http://example.com") a link] #[span and this is the rest of the paragraph]
我该如何将这些内容存储在数据库中?到目前为止,我只需要存储纯文本,但是例如,可能需要存储一些带有链接或粗体字的文本。
答案 0 :(得分:1)
您似乎有四个数据点。这是存储数据的一种方法:
{
"opening": "this is the start of the para",
"url": "http://example.com",
"link": "a link"
"closing": "and this is the rest of the paragraph"
}
这将被发送到这样的模板:
res.render('templateName', { "paragraph": <results from db> });
然后您可以像这样在pug中输出:
p
span= paragraph.opening
|
span
a(href= paragraph.url)= paragraph.link
|
span= paragraph.closing
({|
之后输出原始文本,
强制使用空格字符)
也许更好的存储方式是在段落文本中插入标记:
{
"text": "this is the start of the para @link and this is the rest of the paragraph",
"url": "http://example.com",
"link": "a link"
}
然后您可以在哈巴狗中将其输出如下:
p= paragraph.text.replace(/@link/, '<a href="' + paragraph.url + '">' + paragraph.link + '</a>')