Уценка до HTML с использованием указанного CSS - PullRequest
11 голосов
/ 17 февраля 2012

Во-первых, позвольте мне сказать - я люблю уценку. Истинно люблю это. Это просто, это элегантно, это сексуально, это все, чего я хочу на языке разметки. Если бы я мог, я бы предложил это:)

До сих пор я использовал его очень простым и понятным способом, Vim + python-markdown = быстрый предварительный просмотр в моем браузере по выбору.

Но у него есть один недостаток ... лист css жестко запрограммирован где-то внутри плагина, и я не могу его изменить. Примечание: я знаю нулевой питон или что-то очень близкое к нему.

Есть ли уценка к -various format- плагину, который позволяет вам указать страницу css для использования, чтобы я мог иметь несколько и создать несколько версий одного и того же документа, используя тот, который я хотел в то время?

Было бы что-то вроде

markdown  my-document-in.markdown  css-sheet.css  cool-looking-document.html

1 Ответ

7 голосов
/ 27 февраля 2012

Использование https://github.com/trentm/python-markdown2/ (в частности, https://raw.github.com/trentm/python-markdown2/master/lib/markdown2.py),. Я написал небольшой скрипт, который при вызове generator.py input.markdown styles.css pretty.html (при условии, что вы сохранили его как generator.py) использует библиотеку python-markdown2 для преобразования уценки в HTML, встраивает файл CSS вверху и записывает его в pretty.html.

import markdown2
import os, sys


output = """<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <style type="text/css">
"""

cssin = open(sys.argv[2])
output += cssin.read()

output += """
    </style>
</head>

<body>
"""
mkin = open(sys.argv[1])
output += markdown2.markdown(mkin.read())

output += """</body>

</html>
"""

outfile = open(sys.argv[3])
outfile.write(output)
outfile.close()`

Скопируйте связанный файл из github и приведенный выше код в папку вместе, и он должен работать нормально. Я проверил это локально, и это работает. Надеюсь, вам это тоже поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...