问题标签 [redcarpet]

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

jekyll - Jekyll + redcarpet 行号

我建立了一个 Jekyll 博客,并且我有以下用于语法高亮的配置。

这使我可以像这样添加语法突出显示:

有没有办法保持这种格式但添加行号?

0 投票
2 回答
2521 浏览

ruby-on-rails - 如何使用 Markdown 和 Redcarpet Gem 在我的 Rails 应用程序中渲染图像?

我在 Rails 中创建博客,我决定使用 Redcarpet 在 Markdown 中生成博客内容。问题是我无法渲染图像。

我尝试了以下降价语法: ![test](/image.png)

我也尝试过使用 html 图片标签: <img src="/image.png">

我什至尝试过嵌入 Ruby 图像标签: <%= image_tag "image.png"%>

我的图像正确位于 app/assets/images 文件夹中。它与 Redcarpet 中的选项或我的路径名有关吗?使用我在网上找到的示例,我使用了以下辅助方法

我的 show.html.erb 文件如下所示:

0 投票
1 回答
309 浏览

css - 如何在语法突出显示的降价代码中标记搜索短语?

在我的 rails 博客应用程序中,我可能会编写 post body markdown(我使用 redcarpet 进行 markdown 解析,使用 CodeRay 进行语法高亮显示)。

我有一个搜索页面,它返回包含搜索查询字符串的帖子。

我使用rails 助手来突出显示查询:

@post.body = highlight(@post.body, @query_phrase, highlighter: '<span class=\'highlighted\'>\1</span>'))

我使用 css 将突出显示的类的背景设置为黄色。

帖子正文存储为在文本区域中输入的内容(作为降价,未转换),并且在呈现只读视图(如 posts#show 和搜索结果)时处理降价。

问题是当我搜索“ruby”这个词时,输入的降价使用带有语言名称的防护代码块来突出显示语法,搜索结果会变得混乱。

这是正文降价:

这是搜索结果截图:

搜索结果截图

这是可以理解的,因为围栏代码块之后的匹配 'ruby' 被 span 和 class 包裹以进行突出显示,但是 markdown 现在看到

并按原样输出跨度。

类似的问题也发生在代码中,代码中的匹配项也会被包装并与搜索结果中的 span 一起输出。

如何避免这种情况,并让搜索突出显示输出降价中的实际短语,最好不必保留降价的 html 输出?

0 投票
1 回答
770 浏览

markdown - 不要在 Markdown 代码块中转义标签

我有以下 Markdown 代码,这些代码被解析并以 HTML 显示(正在使用 RedCarpet 将 Markdown 转换为 HTML):

我希望<span class='api_key'></span>稍后用 Javascript 的实际 API 密钥替换。

问题是代码被转义(即按原样显示),而不是被评估。

上一个代码块的输出是:

..而不是预期的:

我该如何解决这个问题?

0 投票
1 回答
1200 浏览

ruby-on-rails - 降价和外部链接

我有一个 Rails 4 应用程序(使用 RedCarpet)和一个辅助方法,如下所示:

我的问题是,如果有人输入 example [Example here](www.example.com),然后被解析,并且有人点击链接,它会转到www.mywebsite.com/www.example.com,而不是www.example.com

我该如何解决?

0 投票
0 回答
122 浏览

ruby-on-rails - Redcarpet + Pygments - 多行错误

我按照这个 Railscast 尝试在我的 Rails 应用程序中加入语法高亮和降价:

http://railscasts.com/episodes/207-syntax-highlighting-revised?view=asciicast

但由于某种原因,它仅将格式应用于单行代码段。例如,这有效:

` `` test ``` (引号分开以避免这里的 github 标记格式)

但这不起作用

```

测试

```

如何启用多行代码片段?

这是我在 application.rb 中的内容:

我的观点很简单:

注意:我正在尝试在 CKEditor 中完成这一切

0 投票
2 回答
1426 浏览

markdown - 防止 Jekyll 进一步处理 Markdown 文件中包含的 HTML?

我正在使用 Jekyll,并希望{% include... %}在 markdown 文件中包含一段 HTML,而不需要进一步处理该 HTML,即,然后由 markdown 处理器处理,就好像它只是内联 HMTL。

注意:我使用的是redcarpet markdown(而不是 kramdown)。

这可以用 Jekyll 插件处理吗?

我创建了一个 GitHub存储库md-include-html,其中包含以下文件来演示我的问题。

1._layouts/default.html包含:

2.md-page.md包含:

3.html-snippet.html包含:

请注意,我首先尝试关闭将要介绍的 div,_layouts/default.html然后在最后打开一个新 div。

这导致_site/md-page.html

看看我的评论是如何被处理的,我的内容是如何包装的<p>...</p>

似乎包含发生在降价处理之前,并且没有办法告诉降价处理器以不同的方式处理包含的文本。

所以我可以在 HTML 文件中包含类似这样的降价(参见html-page.html我的仓库):

但我不能在降价文件中包含 HTML。

如果没有降价功能(Liquid 中所做的任何事情基本上都发生得太早)暂时禁用降价处理,我无法解决这个问题。

例如

是的,我知道标签看起来不太像降价,但你明白我的意思。

有没有办法用 Jekyll 插件来做到这一点?我查看了 Jekyll 文档的插件页面中提到的那些,但没有立即发现任何东西。

0 投票
0 回答
205 浏览

ruby-on-rails - Rails:Redcarpet Markdown 和 auto_html 冲突

我正在开发一个允许用户输入 youtube 视频、图像、推文等的应用程序。为此,我使用了 auto_html(https://github.com/dejan/auto_html)并且代码运行良好。我现在正在尝试实现 redcarpet markdown,但是每当我使用函数“markdown”(我自己定义的)时,auto_html 就会停止工作。

这是 redcarpet 的代码(在帮助文件中):

这是 auto_html 的代码(在 Msg 模型中):

这是视图:

其中 msg.content 是用户以文本形式输入的内容,msg.content_html 应用 auto_html 过滤器并将输入 URL 转换为其格式(图像、视频等)。我让 auto_html 和 markdown 分开工作。如果我将代码留在上面的视图中,我的 auto_html 加载正常,但 markdown 不起作用。如果我从 msg.content 中抑制“_html”,则降价有效。

任何想法如何解决这个问题?我错过了什么吗?

0 投票
2 回答
282 浏览

ruby-on-rails-4 - CodeRay 风格搞砸了 - 如何修复

我正在尝试在我的项目中使用 CodeRay,它似乎可以正常工作,但是样式和格式似乎很混乱:

Coderay 乱码

请注意,我将 CodeRay 与 Markdown (Redcarpet) 结合使用。我在我的 gemfile 中添加了两个 gem,并在其中app/helpers/application_helper.rb添加了以下内容:

正如您在随附的屏幕截图中看到的那样,它确实有效。问题是格式。有任何想法吗?

0 投票
2 回答
1041 浏览

ruby-on-rails - 实现 Markdown 文本的预览

我正在开发 Ruby on Rails 项目,我已经使用redcarpet gem 为我的项目中的一些文本描述实现了 markdown 语法。

它就像魅力一样,允许将降价文本转换为 HTML,就像

<%= markdown some_text_variable %>

但现在我想实现预览功能渲染只是全文的一小部分。

以下幼稚构造

<%= markdown some_text_variable[0..preview_length] %>

不起作用,因为它很容易分解 MD 语法,从而导致结构混乱(想象一下,例如,在图像链接的一半上分割原始字符串)。

我想出了

<%= markdown some_text_variable[0..preview_length].split(/\r?\n/)[0..-2].join("\r\n")) %>

但它不涉及例如代码块。

有什么方法可以为 MD 文本实现这种预览?