2015-02-18 4 views
0

Мы можем обработать файл code.md, содержащегоКак создать полный HTML-документ с использованием уценки?

Here is our first program. 

```python 
s = "Hello, World!" 
print s 
``` 

с использованием

markdown2-2.7 -x fenced-code-blocks code.md > code.html 

производить HTML-

<p>Here is our first program.</p> 

<div class="codehilite"><pre><code><span class="n">s</span> <span class="o">=</span> <span class="s">&quot;Hello, World!&quot;</span> 
<span class="k">print</span> <span class="n">s</span> 
</code></pre></div> 

Но тогда необходимо добавить html, head и body тегов как postprocess, в дополнение к ссылке на css stylesheet для syn налоговая подсветка.

Является ли markdown2 действительно предназначенным для такого рода рабочих процессов, или может ли постпроцесс быть включен более плавно (без, например, с помощью дополнительного скрипта)?

Я использую markdown2 и pygments установлена ​​на OS X через:

sudo port install py27-markdown2 
sudo port install py27-pygments 

ответ

1

Большинство implementations из Markdown (в том числе в оригинальной реализации Perl), только выход фрагмента HTML, который вы затем, как ожидается, пройдет в шаблон или иначе обернуть в HTML <body>. Если вы проводите поиск, есть несколько реализаций, которые могут включать в себя возможность необязательного вывода всего документа, но они редки. Pandoc, пожалуй, самый известный, но это также намного больше, чем парсер Markdown.

Если вы хотите продолжать использовать реализацию уже есть из командной строки, то должно работать (где head.html и foot.html содержат все до и после фрагмента Markdown соответственно):

cat head.html > code.html 
markdown2-2.7 -x fenced-code-blocks code.md >> code.html 
cat foot.html >> code.html 

Обратите внимание, что Оператор >> присоединяется к концу файла, а не перезаписывает его.

Конечно, это не даст вам <title> в вашем <head>, и я ожидаю, что Markdown официально не предлагает это как функцию. Именно поэтому система шаблонов обычно предпочтительнее.

Итак, чтобы ответить на ваш вопрос, да, за несколько редких исключений, вы должны написать сценарий, чтобы обернуть Markdown, чтобы получить полные HTML-документы.

Смежные вопросы