bib2html.py: Add umlaut replacement
[shutils.git] / bib2html.py
index 5db0d075d32d4ba6b75cbe1ddc7ba66a51cc822c..5d5b4db16f6e75bbd796858d792714130052a614 100755 (executable)
@@ -37,7 +37,25 @@ import os, sys, getopt, re
 def format_latex(text):
     # Get rid of matching dollar signs
     text = re.sub(r'\$([^\$]*)\$', r'\1', text)
-    return text.replace('\mathcal', '').replace('{', '').replace('}', '').replace('\\', '')
+
+    # Replace text
+    subst = {
+        '\\"a': 'ä',
+        '\\"o': 'ö',
+        '\\"u': 'u',
+        '\mathcal': '',
+        '{': '',
+        '}': '',
+        '\\': '',
+        '~': ' ',
+        '---': '–',
+        '--': '–',
+    }
+
+    for a, b in subst.items():
+        text = text.replace(a, b)
+
+    return text
 
 def format_field_span(type, value):
     return "<span class=bibentry_" + type + ">" + format_latex(value) + "</span>"
@@ -109,10 +127,11 @@ def format_links(entry):
     doi = format_field(entry, 'doi', pre='<a href="http://dx.doi.org/', post='">[DOI]</a>')
     webpdf = format_field(entry, 'webpdf', pre='<a href="', post='">[PDF]</a>')
     weblink = format_field(entry, 'weblink', pre='<a href="', post='">[link]</a>')
+    url = format_field(entry, 'url', pre='<a href="', post='">[url]</a>')
     webslides = format_field(entry, 'webslides', pre='<a href="', post='">[slides]</a>')
     weberrata = format_field(entry, 'weberrata', pre='<a href="',
             post='">[errata]</a>')
-    return " ".join([doi, webpdf, weblink, webslides, weberrata])
+    return " ".join([doi, webpdf, weblink, url, webslides, weberrata])
 
 def format_entry(entry):
     lines = []