ulivz / vuepress-plugin-yuque

Input: Yuque Repo, Output: VuePress Site!
https://vuepress-plugin-yuque.ulivz.com
MIT License
304 stars 37 forks source link

如何使用 inline code (`)? #4

Open Fiv3Chosel opened 5 years ago

Fiv3Chosel commented 5 years ago

当原md文件中包括了Map<String, String>时,导入至语雀后,再变成VuePress时报错tag has no matching end tag,修改成Map<>后才可以正常使用,想请问一下该如何按照文档中所说的添加inline code (`)来使其可以正常显示,万分感谢!

ulivz commented 5 years ago

结合 parse 过程解答一下:

md 的 HTML 会依次被 markdown-loader、vue-loader 解析,如果你开启了 html 选项,那么 markdown-loader 将不会 escape 该 HTML,所以 vue-loader 会去解析你的 html,如果你写了一个类 HTML 语法(尽管你想表达的并不是 html),那么可能就会报这种错。

所以有这样几种解决办法:

  1. 关闭 html 选项;
  2. 用 ` 来包裹,这样的话该 HTML 不会被解析:
`Map<String, String>`
  1. 使用 v-pre 容器
::: v-pre
Map<String, String>
:::
Fiv3Chosel commented 5 years ago

想问一下,您所说的第二第三个方法都是需要修改缓存下来的md文件来实现的是吗?

Fiv3Chosel commented 5 years ago

有没有方法可以直接通过语雀上的编辑来让Map<String, String>这样的字段可以正常显示? 目前我测试下来是可以通过修改String这类关键字的格式来实现,比如加粗之后变为Map<<strong>string</strong>> 的形式就可以正常显示。 因为我现在遇见的需求是想通过语雀让一些非开发人员也可以写文档,如果需要在中间修改md文件去实现就有点舍本逐末了。 是否能够加入类似这样的功能来解决这个需求:

  1. 添加一个html解析时跳过某些关键词的配置选项
  2. 当此类解析错误出现时,能进行自动的跳过让其正常显示
koybe commented 4 years ago

@Fiv3Chosel 直接在你的文档内使用 inline-code的格式,比如 Map<String, String>空格 -- 后面的这个空格是必须的

这样应该就没问题了