当前位置: 首页 > 知识库问答 >
问题:

Ruby:如何从像GitHub或BitBucket这样的降价生成HTML?

齐运诚
2023-03-14

在GitHub或BitBucket中每个存储库的主页上都显示了自述文件。md的格式非常漂亮。

有没有办法用红宝石做同样的东西?我已经找到了一些像红毯这样的宝石,但它看起来从来都不漂亮。我按照红毯的说明进行了操作。

我确信这不仅仅是缺少css,因为在3个反引号之后 (```) 我编写了jsonbash之类的语法,并在第一个图像中编写了它。

编辑2:

这里的这段代码:

  renderer = Redcarpet::Render::HTML.new(prettify: true)
  markdown = Redcarpet::Markdown.new(renderer, fenced_code_blocks: true)
  html = markdown.render(source_text)
  '<script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js"></script>'+html

共有3个答案

龚弘业
2023-03-14

正如@yoones所说,Github分享了他们的方法,但更准确地说,他们使用gem“通用标记”进行标记。尽管据我所知,这东西没有提供完整格式化的超文本标记语言文件,而是只提供您插入的一部分

require "commonmarker"

puts <<~HEREDOC
  <!DOCTYPE html>
  <html>
    <head>
      <style>#{File.read "markdown.css"}</style>
    </head>
    <body class="markdown-body Box-body">
      #{CommonMarker.render_html ARGF.read, %i{ DEFAULT UNSAFE }, %i{ table }}
    </body>
  </html>
HEREDOC

我在哪里降价的。css?我刚刚从一个任意的Github页面上窃取了CSS文件,并呈现了自述文件,并对其应用了UNCS——生成了一个26kb的文件,您可以在我刚才链接的同一个repo中找到它
为什么表和不安全?我需要这个来呈现索引。html for Github页面,因为它们的降价呈现器不能在表单元格中换行,所以不要要求它呈现我的自述。md我制作索引。html我自己。

孔磊
2023-03-14

您需要启用一些非标准功能。

受保护的代码块是非标准的,在大多数标记解析器上默认情况下不启用(一些旧的解析器根本不支持它们)。根据Red地毯的文档,您希望启用fenced\u code\u块扩展:

  • :fenced\u code\u块:解析fenced代码块,PHP标记样式。用3个或更多的~或反勾分隔的块将被视为代码,无需缩进。可以在代码块的开口栏的末端添加可选语言名称

大多数降价解析器不会对代码块进行语法高亮显示。而那些这样做的人总是把它作为一种选择。即使如此,您仍然需要提供自己的CSS样式,以便正确设置代码块的样式。事实证明,《红地毯》确实支持HTML渲染器的美化选项:

  • :修饰:

您将需要从google-code-lie tify项目中获取Javascript和CSS以包含在您的页面中。

最后你会需要这样的东西:

renderer = Redcarpet::Render::HTML.new(prettify: true)
markdown = Redcarpet::Markdown.new(renderer, fenced_code_blocks: true)
html = markdown.render(source_text)

汪翰墨
2023-03-14

Github提供了自己的ruby gem:https://github.com/github/markup.您只需要安装正确的依赖项就可以了。

 类似资料:
  • 问题内容: 我在htpasswd中使用“密码的强制MD5加密”来生成实例“ 123”的哈希,我得到: 使用htpasswd:123 => $ apr1 $ kaTbKaLO $ ewJXRZAKpjaxK4thy2jOp / 使用MD5摘要:123 => 202cb962ac59075b964b07152d234b70 请告诉我如何使用Java生成像apache htpasswd这样的哈希。 问题

  • > 我可以从存储库下载图像,但希望看到生成它们的方法。 我喜欢保存快照的想法,但是一旦我完成了,最好有一个结构化的格式来检查所做的事情。

  • 我将我在matlab中制作的图像导入rStudio中的Markdown,使用: 然而,我在网上查找,只能找到切换到html<代码> 只需将标题{width=250px}添加到我的图像末尾。 有没有其他方法可以更改图像的大小?

  • 问题内容: 我正在制作一个网站,每月发布有关问题的文章。这很简单,我认为使用Markdown编辑器(例如Stack Overflow中的WMD编辑器)将是完美的。 但是, 他们确实需要能够使图像在给定段落中右对齐 。 我看不到使用当前系统执行此操作的方法-可以吗? 问题答案: 您可以在Markdown中嵌入HTML,因此您可以执行以下操作:

  • 现在我们即将从昂首阔步转向SpringRest文档。 问:有没有一种方法可以像Swagger那样从Spring rest文档生成java rest客户机? 如果是-怎么做? 如果没有-是否有其他方法来获取/生成REST API客户端。

  • 我们的一位员工创建了一个docker映像。目前我需要更新他创建的相同图像。但不幸的是,我找不到图像的。 是否可以从图像生成dockerfile?