markdown - 工兵/ slim : How do I add markdown files?

标签 markdown svelte sapper

我正在使用默认 sapper-template-rollup 使用 Sapper 创建博客.

在博客文件夹中,确实提到了从 Markdown 文件生成数据。但是我找不到怎么做?

最佳答案

我发布了 https://github.com/mikenikles/sapper-template-with-markdown它显示了如何使用默认的 Sapper 模板,但博客文章内容使用 *.md 文件。

主要变化在 src/routes/blog/_posts.js 中,我将其中的内容替换为:

const fs = require('fs');
const frontMatter = require('front-matter');
const marked = require('marked');

const posts = fs.readdirSync('./src/posts').map(postFilename => {
  const postContent = fs.readFileSync(`./src/posts/${postFilename}`, {
    encoding: 'utf8'
  });
  const postFrontMatter = frontMatter(postContent);
  return {
    title: postFrontMatter.attributes.title,
    slug: postFrontMatter.attributes.slug,
    html: marked(postFrontMatter.body)
  }
});

posts.forEach(post => {
    post.html = post.html.replace(/^\t{3}/gm, '');
});

export default posts;

然后,每篇博客文章都以如下格式存储在src/posts中:

---
title: 'What is Sapper?'
slug: 'what-is-sapper'
---

Your markdown content.

关于markdown - 工兵/ slim : How do I add markdown files?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58417881/

相关文章:

html - 编辑的 css 不会更改 rmarkdown xaringan 演示文稿

markdown - 如何将 Nunjucks 的部分/宏/包含与 metalsmith-in-place 一起使用?

javascript - 尝试将 Shopify 的 Draggable 模块与 svelte 一起使用,但没有成功

javascript - 当我的 props 发生变化时,如何在 Svelte 中强制重新渲染?

svelte - 上下文 ="module"如何在 Svelte 和 Sapper 中工作?

javascript - 我应该如何在 Svelte 和 Sapper 中使用 cookie?

webpack - 如何在 ES6 中导入 SimpleMDE

css - 用自定义字形替换 <hr> 行

Svelte - 更改点击处理程序中的绑定(bind)值似乎不会更新它

svelte - 如何将 Google Adsense 添加到 Svelte/Sapper 网络应用程序?