如何在 Laravel 的网页中显示 README.md?

How to show README.md in a web page in Laravel?

我有一个laravel项目,根目录下有一个README.md。推送到GitHub后可以看到渲染结果,但是我想在本地开发浏览器中渲染markdown文档

我正在尝试两种方法:

  1. 从 markdown 文件中读取文件
  2. 使用 Webpack
  3. 之类的工具将 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')) }}