假设我在github存储库中有一个README.md
文件。我正在建立一个关于我将使用gh-pages
主持的存储库的网站。
我想要的是让我的index.html
文件的一部分从我的README.md
文件中获取其内容。这样,只需要更新一个文件。
我想首先需要将markdown文件转换为html,然后将该html放入另一个html文件中。
我查看了HTML5 Imports,但目前只支持Chrome。使用单独的.js
文件和document.write()
可能很有用,但是有一种简单,干净的方式吗?
答案 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包管理器的一个例子。