(Arne Babenhauserheide)
2014-02-09: Add markdown-parsing of the readme. Add markdown-parsing of the readme.
diff --git a/staticsite.py b/staticsite.py --- a/staticsite.py +++ b/staticsite.py @@ -524,8 +524,8 @@ div.screenshots img{ #shortlog a:hover, #branches a:hover, #tags a:hover, #bookmarks a:hover, #incoming a:hover, #outgoing a:hover, #log a{ text-decoration:underline; } -#intro>pre{ - color:#353535;font:normal 23px/25px Palatino,"Palatino Linotype",serif;text-rendering:optimizeLegibility;font-style:italic;padding-left:25px;padding-right:25px;padding-bottom:25px;padding-top:20px;/*background:#eeeeee;border:solid thin lightgray;border-radius:25px;*/ +#intro{ + color:#353535;font:normal 23px/25px Palatino,"Palatino Linotype",serif;text-rendering:optimizeLegibility;font-style:italic;padding-left:50px;padding-right:50px;padding-bottom:20px;padding-top:15px;/*background:#eeeeee;border:solid thin lightgray;border-radius:25px;*/ } #readme>pre{ background:#fdfdfd;color:#353535;font:normal 18px/25px Palatino,"Palatino Linotype",serif;text-rendering:optimizeLegibility; @@ -704,9 +704,17 @@ def parsereadme(filepath, truncated=Fals readme = r.read() # TODO: Markdown parsing belongs here. if truncated: - return "<pre markdown=\"1\" style=\"white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;\">" + "\n".join(readme.splitlines()[:6]) + "</pre>" - else: - return "<pre markdown=\"1\" style=\"white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;\">" + readme + "</pre>" + text = "\n".join(readme.splitlines()[:6]) + else: + text = readme + try: # to use markdown if we can + import markdown + html = markdown.markdown( + unicode(text, encoding="utf-8"), + extensions=["markdown.extensions.extra"]).encode("utf-8") + return html + except ImportError: + return "<pre markdown=\"1\" style=\"white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;\">" + text + "</pre>" def overviewlogstring(ui, repo, revs, template=templates["commitlog"]): """Get the string for a log of the given revisions for the overview page.""" @@ -763,13 +771,7 @@ def writeoverview(ui, repo, target, name readme = parsereadme(os.path.join(repo.root, f)) readme_intro = parsereadme(os.path.join(repo.root, f), truncated=True) overview += "<div id='intro'>" - try: # to use markdown if we can - import markdown - overview += markdown.markdown( - unicode(readme_intro, encoding="utf-8"), - extensions=["markdown.extensions.extra"]).encode("utf-8") - except ImportError: - overview += readme_intro + overview += readme_intro overview += "</div>" break @@ -838,13 +840,7 @@ def writeoverview(ui, repo, target, name # add the full readme ui.debug("[staticsite] writeoverview: readme\n") overview += "<div id='readme'><h2>"+_("Readme")+"</h2>\n" - try: # to use markdown if we can - import markdown - overview += markdown.markdown( - unicode(readme, encoding="utf-8"), - extensions=["markdown.extensions.extra"]).encode("utf-8") - except ImportError: - overview += readme + overview += readme overview += "</div>" # finish the overview