Уценка буфера Emacs - PullRequest
       8

Уценка буфера Emacs

1 голос
/ 17 июня 2011

Я ищу вариант Markdown для Htmlize дополнения.

Идея проста: скажем, вы хотите опубликовать код в GIST на GitHub или в любом месте, которое поддерживает Markdown. Вы набираете свой код в Emacs, делаете M-x markdownize-buffer и получаете новый буфер, содержащий полную разметку Markdown.

Кто-нибудь знает, существует ли такое дополнение?

1 Ответ

2 голосов
/ 17 июня 2011

Markdown не достаточно мощный, чтобы генерировать классы span.Чтобы сделать это, вам нужно перейти в чистый 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> теги?

...