问题标签 [markdown-it]

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 回答
1465 浏览

javascript - 如何在 nuxt.js 中使用 markdown-it 插件选项

@nuxtjs/markdownit用来解析markdown文件,我想在'markdown-it-anchor'插件中启用创建永久链接功能,我使用了以下代码nuxt.config.js但不起作用:

0 投票
2 回答
58 浏览

javascript - HTML/JS - 从 Markdown 转换时无法呈现 HTML

在此示例中,我试图将所有内容都转换#fileDisplayArea为降价。div但是,未应用中的原始 HTML 。

运行此代码会正确转换降价元素,但不会读取原始 HTML,而是显示在输出中。innerHTML更改to的最后一个实例innerText提供以下输出:

这表明小于/大于符号正在被转义。我该如何防止这种情况?

0 投票
1 回答
56 浏览

javascript - 如何在上标语法“^(text)”中支持 Markdown 链接语法“[text](link)”?

所以我使用Markdown-it作为我的 Markdown 渲染器,并使用markdownitRegexp添加了一些自定义标签。

我的上标语法有问题^(text),它以“)”结尾,所以你不能使用链接[text](link),因为它们也以它结尾。

我想让它能够毫无问题地处理多个链接:

这就是我现在使用的:

0 投票
1 回答
983 浏览

angular - 如何将 Markdown-it 添加到 Angular 8

我想知道是否有人知道如何将Markdown-it添加到现有的 Angular 8 应用程序中。我已经安装了这个包,npm install但不知道如何将它导入到我的组件中。有谁知道如何做到这一点?提前致谢!

0 投票
1 回答
573 浏览

visual-studio-code - 有没有办法使用 tmLanguage 语法来扩展 vscode 集成的 markdown 扩展语法高亮?

我正在为 vscode 开发语言扩展。我定义了一个 tmLanguage 文件,一切正常。在悬停功能中,使用vscode.MarkdownString.appendCodeblock()markdown 被正确解释,并且我的自定义语言的语法突出显示开箱即用,通过执行以下操作:

其中examples包含我的自定义语言的一些示例代码,并且"lmps"是我的语言标识符。(示例图像悬停

我想知道是否有办法在 webview 中实现相同的目标。我成功地content在 webview 中显示,将 markdownString 编译成 html:

到目前为止一切都很好,但是通过这种方式,markdown 不知道我的自定义语言并且不做任何语法高亮。(示例图片 Webview)现在,我了解到可以通过在激活函数中返回一个对象来贡献一个 markdown-it 插件,从而为 Markdown 扩展添加语言支持。

但是,如果我没看错的话,这实际上需要开发一个专用的 markdown-it 插件。我想知道是否有更简单的方法可以将我的语言集成到 markdown api 中。因为 vscode 显然已经可以在悬停和完成建议中原生地做到这一点。我可以在 webview 中以某种方式使用此功能吗?或者,有没有一种方法可以从 tmLanguage 文件生成 markdown-it 插件,而无需深入学习 markdown-it 插件开发?也许有人有指向完成类似事情的项目的指针?

0 投票
1 回答
227 浏览

reactjs - 在 ReactWebChat 中使用 renderMarkdown 和实际写入 DOM 之间会发生什么?

我们最近从 WebChatV3 切换到 V4。作为一项持续的努力,我们正在将所有自定义功能移植到新客户端。其中一项功能是检查特定域的 URL 并将 a 标签上的目标设置为“_parent”。

为了实现这一点,我们添加了对 markdown-it 的依赖项,因为 ReactWebChat 元素可以将其作为参数,如下所述:BotFramework-Webchat Middleware for renderMarkdown 我们没有添加表情符号渲染器,而是在其中构建了一个规则,并且根据上面答案中给出的示例将其传递给 ReactWebChat。该代码如下所示:

然后将其用于传递到 ReactWebChat 元素中(为简洁起见,省略了很多):

我们的机器人返回给用户的第一条消息发送了一个应该以“_parent”为目标的 URL。但是,它始终显示为“_blank”,而“rel”属性绝对是通过我们的自定义方法设置的。对我来说,这证实了我们的自定义规则正在起作用,但发生了一些奇怪的事情。我已经调试了会发生什么,并且呈现的 HTML,包括“目标”属性会在一段时间内保持正确的值,但最终会切换到“_blank”。后来的消息都正确呈现了它们的目标,我已将打开活动中的 URL 替换为其中一个以查看会发生什么,结果是相同的:“_blank”。

Javascript 并不是我真正的专长,我很难理解当我在 chrome 调试工具中单步执行代码时会发生什么。但我确实设法一直观察到正确的 HTML,直到 card-elements.ts。当我到达那里时,在 isBleedingAtBottom 函数的末尾,我发现的 HTML 突然在“目标”属性中有“_blank”。我完全不知道为什么会这样。

这是一个错误还是我遗漏了什么?

版本:

这是消息的(稍作修改)JSON:

0 投票
2 回答
1219 浏览

nuxt.js - Strapi 渲染中的丰富内容,段落之间没有空格

我正在使用 markdown-itnuxt将我的文章内容 ( rich text) 呈现为htmlfrom strapi。文本呈现,但不包括段落之间的间距。我可以<br>在富文本编辑器上使用标签strapi来创建换行符,但不应该strapi自动这样做吗?

0 投票
1 回答
144 浏览

nuxt.js - 如何使用 markdown-it 将类设置为 markdown **bold** 样式?

我正在使用@nuxtjs/markdownitNuxt 模块,如何将类添加到粗体样式?例如,对inprimary中的单词使用 Boostrap 的类,使其变为蓝色。Hello**Hello** World!

我正在使用这个配置nuxt.config.js

0 投票
1 回答
386 浏览

javascript - 在 Markdown-it 中渲染令牌?

我想有条件地忽略一些标记,所以我写道:

我得到错误:

renderer.js:108

是否可以分两步渲染markdown?

在此示例中,我将拥有以下标记:

在检测到h2我要删除的内容后,我得到了这个:

0 投票
1 回答
65 浏览

typescript - 如何为所有 3 个可能的参数定义创建类型并调用期望其中任何一个的函数

(来自@type/markdown-it 的类型) https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/markdown-it/lib/index.d.ts#L93

我想为方法的可能参数创建参数类型,该markdown-it use方法的类型如下:

我有一个反应钩子,我想提交这样的 markdown-it 插件:

首先,我不知道如何将模板参数添加到第二个插件定义中。

这不起作用:

但大多数情况下,我希望 TS 编译器认识到使用md.use(...plugin)是安全的。它抱怨说,论点需要支持

Expected at least 1 argument, but git 0 or more An argument for 'plugin' was not provided. Type 插入 must have a '[Symbol.iterator]()' method that returns an interator

更改我的线路以手动处理数组案例:

删除迭代器错误消息,但也保留另一个以供使用...plugin