2011-06-17 20 views
1

HtmlizeアドオンのMarkdownバリアントを探しています。Emacsバッファのマークダウン

アイデアは簡単です:たとえば、GitHubのGIST、またはMarkdownをサポートする場所にコードを公開したいとします。 Emacsでコードを入力した場合、M-x markdownize-bufferを実行すると、完全なMarkdownマークアップを含む新しいバッファが得られます。

このようなアドオンが存在するかどうかは誰にでも分かりますか?

+0

Gistにコードを公開する場合は、Markdownを使用しません。コードをGistにコピーするだけです。要点のマークダウンは、コードではなく、ドキュメンテーション用です。 – cjm

答えて

2

マークダウンはスパンクラスを生成するほど強力ではありません。これを行うには、純粋なHTMLにドロップダウンする必要があります。

Htmlizeは、現在のEmacsテーマの設定に基づいて、コードの構文強調表示バージョンを生成します。生成されたマークアップを見てみましょう:それはあなたの現在の構文の強調表示を複製するDOM要素とスタイルの両方を生成することによって、これを行います。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> 
<!-- Created by htmlize-1.36 in css mode. --> 
<html> 
    <head> 
    <title>sha1test.rb</title> 
    <style type="text/css"> 
    <!-- 
     body { 
     color: #eeeeec; 
     background-color: #2e3434; 
     } 
     .comment { 
     /* font-lock-comment-face */ 
     color: #888a85; 
     } 
     .comment-delimiter { 
     /* font-lock-comment-delimiter-face */ 
     color: #888a85; 
     } 
    /* [...] */ 
    --> 
    </style> 
    </head> 
    <body> 
    <pre> 
require <span class="string">'digest/sha1'</span> 

<span class="type">SLICE_SIZE</span> = 20 

<span class="keyword">def</span> <span class="function-name">myhash</span>(input) 
    <span class="type">Digest</span>::<span class="type">SHA1</span>.hexdigest(input).slice(0,<span class="type">SLICE_SIZE</span>) 
<span class="keyword">end</span> 

hashmap = {} 
inputs = 0 
unique_inputs = 0 
<span class="type">ARGF</span>.each <span class="keyword">do</span> |line, idx| 
[...] 
    </body> 
</html> 

htmlized buffer: browser screenshot

値下げは、ここでは情報の種類を複製することはできません。セマンティックプレーンテキストをセマンティックマークアップに変換すると便利です(ヘッダーはH1またはH2になり、**text**<strong>text</strong>などを生成する必要があります)。 Emacsバッファのどの行がヘッダーですか?これは<em>タグに変換する必要がありますか?

+0

私はHtmlizeの利点を知っています。それを何年も幸せに使ってきました。つまり、私はMarkdownがそれを行うことができなかったことを知りませんでした.Htmlizeに近いものでもありませんでした。ありがとう。 – dimitarvp

関連する問題