问题标签 [gatsby-plugin-mdx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
746 浏览

gatsby - gatsby-plugin-mdx 无法同时解析来自 frontmatter 和 body 的图像

我遇到问题的仓库是https://github.com/agenciaglobal/web 这是我的 gatsby-config.js。至少是有关的部分。

整件事都在这里 https://github.com/agenciaglobal/web/blob/master/gatsby-config.js 我的网站正在运行!但我无法使图像正常工作

这是我的收藏

然后实际新闻看起来像这样

这是一个工作配置。但是 cms 永远不会写出这样的路径。这里的问题是,当使用 CMS 插入数据时,它将始终使用public_folder.

因此,如果我使用assets,它将在图像字段上工作,但在降价正文上失败。如果我使用../assets它,它将在降价正文上工作,但在图像 frontmatter 字段上失败

如果我尝试,图像字段将始终失败../assets/whatever.png。所以我认为我唯一的出路是让降价的主体识别assets/image.png,而不仅仅是../assets/image.png. 我怎样才能做到这一点?

0 投票
1 回答
136 浏览

markdown - 由于代码解析,mdx 中的代码块抛出错误

我最近将我的 gatsby 帖子转换为使用gatsby-plugin-mdx,并且在大多数情况下,转换是无缝的,但是对于我的一些帖子,我遇到了一个问题 - 即代码块中的代码正在被解析并且未能建立这些职位。

这发生在一篇文章中,我正在写一篇关于类和功能性反应组件的文章,在我的一个示例中,我故意创建了一些错误的标记来说明一个观点。`gatsby-plugin-mdx` *似乎*正在解析这个然后失败,因为它是错误的......

我怎样才能解决这个问题?有没有办法逃脱这些块或者我需要使用不同的插件?

配置:

带有故意错误的降价(它包含在反引号中,但不确定如何在降价中逃脱它们!):

0 投票
1 回答
45 浏览

gatsby - Gatsby MDX slugs 无法导航,名称中包含目录

创建的 Slugs 包含根目录,因此传递 slug 到<Link to={slug}>被破坏。页面已创建,但链接到它们的 slug 不必要地包含包含文件夹,无论是帖子还是页面。

可导航的页面是:

文件位置是:

** 问题 - 创建 slug **

** 期望的结果 **

使用插件:

0 投票
0 回答
35 浏览

markdown - 有没有办法定义新的 Markdown (MDX) 语法并将其与现有标签相关联?

有没有办法为 Markdown 定义新语法(#, **, -)并将其与Gatsby 中的现有标签( strong, )一起使用?emphasis

我想_用双下划线 ( ) 替换现有的强调语法 ( __)

我正在处理在自定义工具中实现的类似 Markdown 的语法,它__用于斜体。我可以在处理之前手动替换 MDX 文件中的语法,但我觉得这是一个 hacky 解决方案。

我指的是自定义组件的MDXProvider 文档。我查看了remarkrehype插件,但找不到任何可以用来更改语法的东西。

在 MDX、Gatsby 或 React 中可能有更好的方法来实现这一点。任何指针/帮助表示赞赏。

0 投票
1 回答
616 浏览

gatsby - MDX renderer - Gatsby Site -
  • ,
     and  tags not rendering
  • 0 投票
    2 回答
    297 浏览

    gatsby - Gatsby 中的阴影/自定义父主题插件

    我正在为我自己的博客使用 Gatsby 主题@lekoarts/gatsby-theme-minimal- blog。该主题还有一个父核心主题@lekoarts/gatsby-theme-minimal-blog-core,它使用了gatsby-plugin-mdx插件。

    在我自己的博客中,我想更改插件gatsby-plugin-mdx的选项,例如设置

    我尝试gatsby-plugin-mdx在我自己的博客中导入,gatsby-config.js但它不起作用我在解析现有.mdx文件时遇到错误。

    还试图通过使用相同的内容创建但没有效果来隐藏gatsby-config.js核心主题的文件。src/@lekoarts/gatsby-theme-minimal-blog-core/gatsby-config.jslinkImagesToOriginal: true

    如何更改父主题的插件选项?

    核心主题的gatsby-config.js文件如下:

    gatsby-config.js我的博客

    0 投票
    1 回答
    206 浏览

    graphql - Gatsby 的 markdown 文件之间的映射

    我正在创建一个多作者网站(使用gatsby-plugin-mdx)并具有以下文件结构:

    post页面的最前面,我有很多作者,比如

    我在作者的降价文件的frontmatter中有作者的名字。

    我想设置架构,以便在查询帖子时,我还可以获得作者的详细信息(姓名、电子邮件等)。

    通过阅读此页面,我似乎需要创建一个自定义解析器......但我看到的所有示例都将所有作者都放在一个json文件中(所以你有两个集合,MarkdownRemark并且AuthorJson......虽然我认为我的所有帖子都是成员正在MarkdownRemark收集中。

    非常感谢!

    0 投票
    1 回答
    342 浏览

    javascript - DigitalGarden 笔记页面创建期间的 GraphQL 查询投诉

    我正在尝试通过了解 Maggie Appleton 网站 (maggieappleton.com) 的运作方式来学习如何在 GatsbyJS 中构建数字花园,这是一个了不起的网站 imo。

    mdx 笔记根据其性质(书籍、论文、插图或数字花园笔记)分类在不同的文件夹中。它们位于content文件夹中。

    一般文件夹结构如下:

    据我了解:在 中gatsby-node.jscreatePages首先查询frontmatter 和note 的内容,并根据特定模板(在模板文件夹中找到)生成页面。

    这适用于所有页面,除了数字花园的注释。在这种情况下,必须在音符之间创建双向链接,这就是 Aengus McMillin 的 gatsby-them-brain 插件发挥作用的地方。

    节点首先由onCreateNode插件创建并由插件使用以创建双向链接结构。我不确定如何生成注释页面(我相信通过 中的 MDXprovider 组件BrainNote.js)。

    在运行 gatsby develop 时,我面临以下问题:

    gatsby develop 工作正常,但从未生成注释页面。

    notesQueryin似乎工作,gatsby-node.js因为笔记瓷砖正确显示在首页和数字花园页面上。但是,注释本身无法按照插件的逻辑和noteTemplate.js.

    一定有我遗漏的东西,任何帮助将不胜感激!

    重现步骤:

    1. https://github.com/MaggieAppleton/maggieappleton.com分叉
    2. 纱线安装
    3. 盖茨比发展

    以下是gatsby-node.js内容:

    BrainNote.js

    Brain.js

    noteTemplate.js

    0 投票
    1 回答
    195 浏览

    node.js - 出了点问题,查询留在了编译的代码中

    按照 YouTube教程开始学习 Gatsby 。我已按照教程中所示的每个步骤进行操作。所以我正处于创建帖子列表页面的阶段。

    帖子列表页面将有 3 个帖子,另一个将通过分页获得。并且会按降序排列。

    我收到如下错误:

    gatsby-node.js 文件:

    allPosts.js 文件:

    0 投票
    1 回答
    288 浏览

    reactjs - 带有 rehype-autolink-headers 的 gatsby-plugin-mdx 仅适用于 wrap 选项

    我正在尝试使用 Gatsby + MDX 设置我的站点。我正在查看此处的文档并希望使用autolink-header-option. 我已经尝试为此使用 rehype 和 remark 插件,但我只能让 Rehype 插件工作并且只能使用该wrap选项。我更喜欢标题之前的链接的 GitHub(默认)样式。

    我正在使用以下配置并在更新文件后gatsby-config.js清除.cachepublic确保没有缓存任何内容。此外,我没有收到任何错误,一切都成功构建并运行,只是没有任何指向标题的链接。

    更新

    在尝试了多种配置之后,我能够让它按预期工作的方式是使用不同的插件配置。

    两者gatsbyRemarkPluginsplugins都是必需的:https ://github.com/gatsbyjs/gatsby/issues/15486