如何将哈巴狗格式的内容存储在数据库中?

时间:2018-10-04 11:42:13

标签: javascript node.js pug

我有一个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]

我该如何将这些内容存储在数据库中?到目前为止,我只需要存储纯文本,但是例如,可能需要存储一些带有链接或粗体字的文本。

1 个答案:

答案 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
  | &nbsp;
  span
    a(href= paragraph.url)= paragraph.link
  | &nbsp;
  span= paragraph.closing

({|之后输出原始文本,&nbsp;强制使用空格字符)

也许更好的存储方式是在段落文本中插入标记:

{
  "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>')