【发布时间】:2014-04-15 01:37:55
【问题描述】:
情况如下:我使用 Node.js 作为我的后端,并使用 markdown 来编辑和发布我的博客文章。当客户端请求特定的 URL 时,例如http://www.example.com/blog/article_1,我从 Node.js 返回了博客内容,并带有一些类似 ejs 的模板,如下所示:
app.get("/blog/article1", function(req, res) {
var article = something // this is a valid HTML converted from a markdown file
res.render("article1", {
title: "my blog article 1",
article: article
});
});
在上面的代码中,我使用title 和article 变量渲染article.ejs。 article 变量是要注入 ejs 模板的有效 HTML。到目前为止,一切都很好。
但是,如果我想使用 Bootstrap 3 的响应式表格功能(即<div class="table-responsive"><table class="table">...actual table...</table></div>)显示在原始降价文件中编写的 HTML 表格,我该怎么做?现在我的markdown文件中的表只是一个markdown文件,我认为只修改我插入或用<div class="table-responsive">...</div>行包装的所有markdown文件不是最好的主意;这些文件也可能在 Bootstrap 以外的情况下使用。
换句话说,一旦 Node.js 返回模板,动态或以编程方式将响应功能注入到表中是否可行?选择性地注入响应式表功能是否也可行? (也就是说任意选择一些我要添加响应式功能的表格?)
【问题讨论】:
-
你用什么把markdown转成html?在转换过程中应该有一个点,您可以为表格等标准元素注入类。
-
蒂莫西,我用poet。
-
Poet 使用 Marked 进行 Markdown 解析和编译。 Marked 支持自定义渲染器以修改 html 输出。不幸的是,Poet 似乎没有为您提供任何自定义标记选项的方法。它隐藏了 templates.js 中 createTemplates 函数背后的所有细节。您可能必须修改 Poet 以公开您可以自定义的 Marked 对象。所有这些可能仍然比仅在客户端修改 HTML 以添加引导类更好。
-
啊,好的。我确信我不够精通,无法分叉模块并修改内部结构——毕竟,这是我第一次尝试在 Web 应用程序上构建。现在可能最好写一些命令行工具来解析和转换,然后将转换后的文件部署到应用程序中,稍后了解诗人的细节(包括标记)来定制它以供我自己使用.非常感谢您富有洞察力的评论。
标签: javascript html css node.js twitter-bootstrap