4

GitHub または BitBucket のすべてのリポジトリのメイン ページには、Readme.md が非常にきれいな形式で表示されます。

ルビーで同じものを作る方法はありますか?私はすでにRedcarpetのような宝石をいくつか見つけましたが、見た目は決してきれいではありません。Redcarpetのこの手順に従いました。

編集: Github のマークアップ ruby​​ gemを試した後、同じことが起こっています。示されているのはこれです: ここに画像の説明を入力 そして、私が欲しいのはこれです: ここに画像の説明を入力

そして、それは css が抜けているだけではないと確信しています。なぜなら、3 つの逆引用符 (```) の後にjsonorのような構文を書きbash、最初の画像にそれが書かれているからです。

編集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

これを生成しました: ここに画像の説明を入力

4

2 に答える 2

0

いくつかの非標準機能を有効にする必要があります。

フェンシングされたコード ブロック

フェンシングされたコード ブロックは非標準であり、ほとんどの Markdown パーサーではデフォルトで有効になっていません (一部の古いパーサーではまったくサポートされていません)。Redcarpet のdocsfenced_code_blocksによると、拡張機能を有効にする必要があります。

  • :fenced_code_blocks:フェンスで囲まれたコード ブロックを解析する、PHP-Markdown スタイル。3 つ以上~またはバッククォートで区切られたブロックは、インデントする必要なく、コードと見なされます。オプションの言語名は、コード ブロックの開始フェンスの最後に追加できます。

構文の強調表示

ほとんどの Markdown パーサーは、コード ブロックの構文の強調表示を行いません。そして、常にオプションとしてそれを行う人。それでも、コード ブロックのスタイルを適切に設定するには、独自の CSS スタイルを提供する必要があります。結局のところ、Redcarpetにはレンダラーのprettifyオプションのサポートが含まれています。HTML

  • :prettify:<code>google-code-prettify のタグにprettyprint クラスを追加します。

ページに含めるには、 google-code-prettifyプロジェクトから Javascript と CSS を取得する必要があります。

解決

最終的には、次のようなものが必要になります。

renderer = Redcarpet::Render::HTML.new(prettify: true)
markdown = Redcarpet::Markdown.new(renderer, fenced_code_blocks: true)
html = markdown.render(source_text)
于 2018-02-20T20:31:05.413 に答える