Reputation: 62538
First, let me say - I love markdown. Truly love it. It's simple, it's elegant, it's sexy, it's everything I wish for in a markup language. If I could, I'd propose to it :)
So far I've been using it in a very nice and simple way, Vim + python-markdown = fast preview in my browser of choice.
But, it has one drawback ... the css sheet is hardcoded somewhere inside the plugin, and I can't change it. Note: I know zero python, or something very close to it.
Is there a markdown to -various formats- plugin that lets you specify a css page to use, so that I could have several and create several versions of the same document using the one I wish at that time?
It would go something like
markdown my-document-in.markdown css-sheet.css cool-looking-document.html
Upvotes: 14
Views: 10589
Reputation: 1348
Using https://github.com/trentm/python-markdown2/ (specifically https://raw.github.com/trentm/python-markdown2/master/lib/markdown2.py), I wrote a small script which when called as generator.py input.markdown styles.css pretty.html
(assuming you saved it as generator.py) uses the python-markdown2 library to convert the markdown to HTML, embeds the css file in the top and writes it to 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()`
Copy the linked file from github and the code above into a folder together and it should run fine. I've tested it locally and it works. Hope it can help you too.
Upvotes: 7