如何在 Laravel 的网页中显示 README.md?
How to show README.md in a web page in Laravel?
我有一个laravel项目,根目录下有一个README.md。推送到GitHub后可以看到渲染结果,但是我想在本地开发浏览器中渲染markdown文档
我正在尝试两种方法:
- 从 markdown 文件中读取文件
- 使用 Webpack
之类的工具将 markdown 文件转换为 html
谁能给个demo?
这是一个Laravel Mix / Webpack的解决方案,将markdown文件转换为html,并在Vue.js中需要,然后用v-html
显示它。
先加markdown-loader
yarn add markdown-loader html-loader
在webpack.mix.js
中添加配置,Laravel Mix可以添加Webpack的自定义配置。
mix.webpackConfig({
module: {
rules: [{
test: /\.md$/,
use: ["html-loader", "markdown-loader"],
}]
}
});
考虑到 README.md
在项目的根目录中,在 webpack.mix.js
中添加一个别名
mix.alias({
'@': '/resources/js',
'@root': '/',
});
现在我们可以用一个vue组件来显示根目录下的README.md
<script>
const readme = require('@root/README.md')
export default {
data() {
return {
readme: ""
}
},
created() {
this.readme = readme
}
}
</script>
<template>
<div class="container" ref="container" v-html="readme" />
</template>
由于邮件 blade 模板解析降价,您可以使用与 layout.blade.php 类似的方法,该方法使用 Illuminate\Mail\Markdown::parse.
在您的模板中,例如 welcome.blade.php,添加:
{{ Illuminate\Mail\Markdown::parse(file_get_contents(base_path() . '/README.md')) }}
我有一个laravel项目,根目录下有一个README.md。推送到GitHub后可以看到渲染结果,但是我想在本地开发浏览器中渲染markdown文档
我正在尝试两种方法:
- 从 markdown 文件中读取文件
- 使用 Webpack 之类的工具将 markdown 文件转换为 html
谁能给个demo?
这是一个Laravel Mix / Webpack的解决方案,将markdown文件转换为html,并在Vue.js中需要,然后用v-html
显示它。
先加markdown-loader
yarn add markdown-loader html-loader
在webpack.mix.js
中添加配置,Laravel Mix可以添加Webpack的自定义配置。
mix.webpackConfig({
module: {
rules: [{
test: /\.md$/,
use: ["html-loader", "markdown-loader"],
}]
}
});
考虑到 README.md
在项目的根目录中,在 webpack.mix.js
mix.alias({
'@': '/resources/js',
'@root': '/',
});
现在我们可以用一个vue组件来显示根目录下的README.md
<script>
const readme = require('@root/README.md')
export default {
data() {
return {
readme: ""
}
},
created() {
this.readme = readme
}
}
</script>
<template>
<div class="container" ref="container" v-html="readme" />
</template>
由于邮件 blade 模板解析降价,您可以使用与 layout.blade.php 类似的方法,该方法使用 Illuminate\Mail\Markdown::parse.
在您的模板中,例如 welcome.blade.php,添加:
{{ Illuminate\Mail\Markdown::parse(file_get_contents(base_path() . '/README.md')) }}