3

是否有可能拥有:
- 静态 html 模板
- 带有一些数据的 JSON
并创建静态 html 文件?

例如,我必须制作一个投资组合并编写 html 模板:

...
<h1> {title} </h1>
<p> {description} </p>
...

然后我有一个这样的JSON:

"first work" : {
    "title" : "alpha",
    "description" : "lorem ipsum"
},
"second work" : {
    "title" : "beta",
    "description" : "lorem ipsum"
}

我想“部署”我的网站并拥有 2 个静态 html 文件
first_work.html

<h1> alpha </h1>
<p> lorem ipsum </p>

second_work.html

<h1> beta </h1>
<p> lorem ipsum </p>

我知道 Jekyll 使用 markdown 来生成静态 html,但在这种情况下我更喜欢 JSON。

4

3 回答 3

2

我刚刚在 node.js 中编写了一个完整的程序:

var fs  = require("fs");
var f = fs.readFileSync('./site.json').toString();
var pages = JSON.parse(f);
for (var key in pages) {
    var page = pages[key];
    fs.writeFile(
        key.replace(/ /g, '_')+'.html',
        '<h1>'+page.title+'</h1>'
        + '<p>'+page.description+'</p>'
    );
}

如果您的 JSON 在名为的文件中site.json(请注意 JSON 中缺少逗号),它会写入两个 HTML 文件。

于 2013-05-05T17:08:00.567 回答
0

是的,这是可能的。我建议使用 php Cause of the same origin policy.. 只需从文件或直接加载 json,然后创建一个包含所需内容的新文档。使用 phps file_put_contents() 可以轻松完成。

问候

于 2013-05-05T17:01:50.397 回答
-1

太好了,一件小事。看起来fs.writeFileSync()而不是fs.writeFile()

于 2020-07-04T21:19:07.903 回答