Add MOTD display to hgweb and hgwebdir.
authorColin McMillen <mcmillen@cs.cmu.edu>
Thu, 27 Apr 2006 22:11:13 -0700
changeset 2148 c72e618c1204
parent 2147 b7225adb2e0b
child 2149 43ce1c17e644
Add MOTD display to hgweb and hgwebdir. The hgweb "footer" template now has space for an optional message of the day (MOTD). This is used in two contexts: 1) On the hgwebdir index page 2) On various pages of each individual repo For both cases, the MOTD is read out of an entry named "motd" in the [web] section of a config file -- the only difference is which file is used. For #1, you need to add the section to hgweb.config; for #2, you need to add to the repo's .hgrc file. I suggest something like this: [web] motd = <p>To download these repositories, <a href="http://www.selenic.com/mercurial">get Mercurial</a> and then type something like:</p><p><pre>hg clone http://gs3080.sp.cs.cmu.edu/hg.cgi/cpmpy</pre></p>You can also click the Download links to get an archive of the latest revision. An online sample is available here: http://gs3080.sp.cs.cmu.edu/hg.cgi
mercurial/hgweb.py
templates/footer.tmpl
--- a/mercurial/hgweb.py	Thu Apr 27 22:10:45 2006 -0700
+++ b/mercurial/hgweb.py	Thu Apr 27 22:11:13 2006 -0700
@@ -727,7 +727,9 @@
             yield self.t("header", **map)
 
         def footer(**map):
-            yield self.t("footer", **map)
+            yield self.t("footer",
+                         motd=self.repo.ui.config("web", "motd", ""),
+                         **map)
 
         def expand_form(form):
             shortcuts = {
@@ -1006,6 +1008,7 @@
         def cleannames(items):
             return [(name.strip(os.sep), path) for name, path in items]
 
+        self.motd = ""
         if isinstance(config, (list, tuple)):
             self.repos = cleannames(config)
         elif isinstance(config, dict):
@@ -1015,6 +1018,8 @@
             cp = ConfigParser.SafeConfigParser()
             cp.read(config)
             self.repos = []
+            if cp.has_section('web') and cp.has_option('web', 'motd'):
+                self.motd = cp.get('web', 'motd')
             if cp.has_section('paths'):
                 self.repos.extend(cleannames(cp.items('paths')))
             if cp.has_section('collections'):
@@ -1032,7 +1037,7 @@
             yield tmpl("header", **map)
 
         def footer(**map):
-            yield tmpl("footer", **map)
+            yield tmpl("footer", motd=self.motd, **map)
 
         m = os.path.join(templater.templatepath(), "map")
         tmpl = templater.templater(m, templater.common_filters,
--- a/templates/footer.tmpl	Thu Apr 27 22:10:45 2006 -0700
+++ b/templates/footer.tmpl	Thu Apr 27 22:11:13 2006 -0700
@@ -1,3 +1,4 @@
+#motd#
 <div class="logo">
 powered by<br/>
 <a href="http://www.selenic.com/mercurial/">mercurial</a>