Merge pull request #2 from wheals/master
[rust-101.git] / pycco-rs
index e6199d95feea39eb78d1bc39ae930bc70592e418..fab890bc88eb3fcd4713b64fffacb0dec15f2c0f 100755 (executable)
--- a/pycco-rs
+++ b/pycco-rs
@@ -1,11 +1,11 @@
-#!/usr/bin/python
+#!/usr/bin/env python
 # A little wrapper around pycco, to add Rust support.
 # A little wrapper around pycco, to add Rust support.
-import pycco
+import pycco, pycco_resources
 from pygments import lexers, formatters
 import re
 from pygments import lexers, formatters
 import re
-pycco.main.languages[".rs"] = { "name": "rust", "symbol": "//"}
 
 
-# need to re-build this stuff...
+# now, monkey-patch pycco for Rust support
+pycco.main.languages[".rs"] = { "name": "rust", "symbol": "//"}
 for ext, l in pycco.main.languages.items():
     # Does the line begin with a comment?
     l["comment_matcher"] = re.compile(r"^\s*" + l["symbol"] + "\s?")
 for ext, l in pycco.main.languages.items():
     # Does the line begin with a comment?
     l["comment_matcher"] = re.compile(r"^\s*" + l["symbol"] + "\s?")
@@ -17,5 +17,16 @@ for ext, l in pycco.main.languages.items():
     l["divider_html"] = re.compile(r'\n*<span class="c[1]?">' + l["symbol"] + 'DIVIDER</span>\n*')
     # Get the Pygments Lexer for this language.
     l["lexer"] = lexers.get_lexer_by_name(l["name"])
     l["divider_html"] = re.compile(r'\n*<span class="c[1]?">' + l["symbol"] + 'DIVIDER</span>\n*')
     # Get the Pygments Lexer for this language.
     l["lexer"] = lexers.get_lexer_by_name(l["name"])
+# and monkey-patch for a custom CSS file
+html_src = pycco_resources.html
+
+css_marker = '<link rel="stylesheet" href="{{ stylesheet }}">'
+custom_css = '<link rel="stylesheet" href="pycco_custom.css"><meta name="viewport" content="width=device-width">'
+html_src = html_src.replace(css_marker, css_marker+custom_css, 1)
+
+title_marker = '<title>'
+html_src = html_src.replace(title_marker, title_marker + 'Rust-101: ', 1)
+
+pycco.main.pycco_template = pycco.main.template(html_src)
 
 pycco.main.main()
 
 pycco.main.main()