2

静的なWebページとブログの目的でMiddlemanを使い始めています。ZURBFondationベースのテンプレートであるMiddleman-Foundationで使用しています。それはHamlを採用しており、私は確かにHamlを使用する傾向があり、Markdownファイルを使用することもあります。

マークダウンにredcarpetを使用しており、ソースの強調表示にGithubスタイルのフェンスで囲まれたコードブロックも使用しています。しかし、HamlでMarkdown用にセットアップする方法がわかりませんでした。

で機能するが機能しないmiddleman-syntaxを確認しました。Glorifyからそれを理解しようとしましたが、失敗しました。私もこれこれをチェックしました。.html.md.html.haml

強調表示されたソースコードを生成するためにHamlMarkdownでフェンスで囲まれたコードブロックを機能させるための基本的な手順は何ですか。

Middleman-Foundationのクローン作成/採用から、これを開始するまでの一連の手順があるgem install middlemanと便利ですが、短い実際の回答を歓迎します。

編集

私は次の方法でHamlでピグメント化されたコードブロックを実現することができました(これにはフェンスで囲まれたコードブロックでマークダウンを使用できないようです...):

  %li#simple3Tab This is simple tab 3's content. It's, you know...okay.
  %li#simple4Tab
    -code("ruby") do
      :plain
        def my_cool_method(message)
          puts message
        end
%h3 Buttons

しかし、永続的な問題があります、これは私が得ているものです:

見出し改行を配置できません

ご覧のとおり、最初の行が正しくインデントされていません。これは、前のコードスニペットが見出しの改行を生成していないために発生しています。

  <li id='simple3Tab'>This is simple tab 3's content. It's, you know...okay.</li>
  <li id='simple4Tab'>
    <div class="highlight"><pre><span class="k">def</span> <span class="nf">my_cool_method</span><span class="p">(</span><span class="n">message</span><span class="p">)</span>
      <span class="nb">puts</span> <span class="n">message</span>
    <span class="k">end</span>
    </pre></div>
  </li>
</ul>
<h3>Buttons</h3>

コードが他の行と同じように正しくインデントされるように、最初の行の前、開始後の行を分割<span>する方法がわかりません。<pre>

望ましい:

  <li id='simple3Tab'>This is simple tab 3's content. It's, you know...okay.</li>
  <li id='simple4Tab'>
    <div class="highlight"><pre>
    <span class="k">def</span> <span class="nf">my_cool_method</span><span class="p">(</span><span class="n">message</span><span class="p">)</span>
      <span class="nb">puts</span> <span class="n">message</span>
    <span class="k">end</span>
    </pre></div>
  </li>
</ul>
<h3>Buttons</h3>
4

2 に答える 2

1

@ bhollis、Hamlリファレンス、およびGlorifyの作者が指摘したこのSOの質問によって提供された情報を使用して、試行錯誤によってそれを理解することができました。

これは魔法の組み合わせです:

  %li#simple3Tab This is simple tab 3's content. It's, you know...okay.
  %li#simple4Tab
    =preserve do
      -code("ruby") do
        :plain
          def my_cool_method(message)
            puts "Hello" + message
          end
%h3 Buttons

結果(これについては、emacsスタイルシートを有効にしました):

私は力を得た

これにより、見出しの改行が「欠落している」という質問が解決されただけでなく、参照されたSOの質問で説明されている余分なインデントも削除されました。

私はまだより短く、より良いアプローチを受け入れています。コードを入力するための3行のプリアンブルは少し不便です。

于 2013-02-10T04:46:28.487 に答える
0

Middleman-syntaxのドキュメントを確認してください:https ://github.com/middleman/middleman-syntax

コードの強調表示は(Redcarpetを介して)Markdownコードブロックに自動的に含まれますが、Hamlでは「コード」ヘルパーを使用することをお勧めします。

- code("ruby") do
  My ruby code here
于 2013-02-09T23:28:04.203 に答える