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

问题描述

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

我正在尝试两种方法:

  1. 从markdown文件读取文件
  2. 使用Webpack等将markdown文件转换为html

谁可以为此演示?

解决方法

这是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在Project的根目录中,请在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>
,

由于邮件刀片模板解析 markdown,您可以使用与 layout.blade.php 类似的方法,它使用 Illuminate\Mail\Markdown::parse。

在您的模板中,例如welcome.blade.php,添加:

{{ Illuminate\Mail\Markdown::parse(file_get_contents(base_path() . '/README.md')) }}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...