如何在html文件

时间:2016-06-12 04:02:10

标签: javascript html markdown

假设我在github存储库中有一个README.md文件。我正在建立一个关于我将使用gh-pages主持的存储库的网站。

我想要的是让我的index.html文件的一部分从我的README.md文件中获取其内容。这样,只需要更新一个文件。

我想首先需要将markdown文件转换为html,然后将该html放入另一个html文件中。

我查看了HTML5 Imports,但目前只支持Chrome。使用单独的.js文件和document.write()可能很有用,但是有一种简单,干净的方式吗?

4 个答案:

答案 0 :(得分:10)

我使用Node.js的完整答案

1.首先安装marked降价转换器:

$ npm install --save-dev marked


2。然后在名为generateReadMe.js的新文件中,将markdown编译为HTML并将其写入新的README.html文件:

var marked = require('marked');
var fs = require('fs');

var readMe = fs.readFileSync('README.md', 'utf-8');
var markdownReadMe = marked(readMe);

fs.writeFileSync('./site/README.html', markdownReadMe);


3。然后在需要index.html内容的README.md内,添加<object>代码:

<object data="README.html" type="text/html"></object>


4。然后在命令行上运行它以实现它:

$ node path/to/generateReadMe.js


整个过程非常简单,无痛。我将整个内容添加到我的npm start脚本中。现在,每当我对README.md文件进行更改时,更改都会在我的gh-pages网站上注册。

答案 1 :(得分:9)

我正在使用<zero-md>网络组件。

<!-- Lightweight client-side loader that feature-detects and load polyfills only when necessary -->
<script src="https://cdn.jsdelivr.net/npm/@webcomponents/webcomponentsjs@2/webcomponents-loader.min.js"></script>

<!-- Load the element definition -->
<script type="module" src="https://cdn.jsdelivr.net/gh/zerodevx/zero-md@1/src/zero-md.min.js"></script>

<!-- Simply set the `src` attribute to your MD file and win -->
<zero-md src="README.md"></zero-md>

答案 2 :(得分:3)

您可以使用降价解析器(例如https://github.com/markdown-it/markdown-it)将降价转换为html。

您可以转换服务器上的markdown并将其合并到提供给客户端的HTML中,或者使用它在浏览器中加载markdown并将其转换为。

答案 3 :(得分:2)

要将markdown转换为html,您可以使用转换库或命令工具。有关使用Ruby语言的示例,请访问:https://github.com/github/markup

请访问:https://www.npmjs.com/search?q=markup,尝试为您的实施搜索适当的转换库或命令工具。上面接受的答案是使用Node.js的NPM包管理器的一个例子。