31 lines
576 B
Vue
31 lines
576 B
Vue
<template>
|
|
<div v-html="data">
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
|
|
import fs from 'fs';
|
|
import path from 'path';
|
|
import MarkdownIt from 'markdown-it';
|
|
import MarkdownItAttrs from 'markdown-it-attrs';
|
|
|
|
export default {
|
|
name: 'Post',
|
|
|
|
async asyncData({params, redirect}) {
|
|
let slug = params.slug;
|
|
let data = fs.readFileSync(path.join('.', 'data', 'posts', slug + '.md'), 'utf-8');
|
|
const md = new MarkdownIt();
|
|
md.use(MarkdownItAttrs, {});
|
|
|
|
console.log(`Slug: ${slug}`);
|
|
|
|
console.log('Data', data);
|
|
|
|
return {data: md.render(data)};
|
|
|
|
}
|
|
}
|
|
</script>
|