shithub: choc

Download patch

ref: 0054a2e16cc0376cd55c13314ce72a7c06fc8123
parent: 75e34879866ad4381b040daf096c8c3eb2283fde
author: Simon Howard <[email protected]>
date: Thu Dec 13 18:04:58 EST 2007

Add a list of wiki pages to link to and automatically insert links.

Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 987

--- a/man/docgen
+++ b/man/docgen
@@ -100,6 +100,8 @@
     "compat":  Category("Compatibility"),
 }
 
+wikipages = []
+
 # Show options that are in Vanilla Doom? Or only new options?
 
 show_vanilla_options = True
@@ -175,7 +177,7 @@
 
         result += ": "
 
-        result += self.text
+        result += add_wiki_links(self.text)
 
         if self.platform:
             result += "'''(%s only)'''" % self.platform
@@ -221,6 +223,32 @@
 
         return result
 
+# Read list of wiki pages
+
+def read_wikipages():
+    f = open("wikipages")
+
+    try:
+        for line in f:
+            line = line.rstrip()
+
+            line = re.sub('\#.*$', '', line)
+
+            if not re.match('^\s*$', line):
+                wikipages.append(line)
+    finally:
+        f.close()
+
+# Add wiki page links
+
+def add_wiki_links(text):
+    for pagename in wikipages:
+        page_re = re.compile('(%s)' % pagename, re.IGNORECASE)
+    #   text = page_re.sub("SHOES", text)
+        text = page_re.sub('[[\\1]]', text)
+
+    return text
+
 def process_file(file):
     f = open(file)
 
@@ -301,6 +329,7 @@
     print_file_contents("footer")
 
 def wiki_output(dir):
+    read_wikipages()
     process_files(dir)
 
     print categories[None].wiki_output()
--- /dev/null
+++ b/man/wikipages
@@ -1,0 +1,8 @@
+# This is a list of wiki pages to automatically link to when generating
+# wikitext output.
+Dehacked
+Doom 1.91
+Configuration
+Merging
+Multiplayer
+Three screen mode