[PATCH 1 of 1 stable] hgweb: add separate bookmarks listing to monoblue theme (based on 38c9837b1f75)

Yuya Nishihara yuya at tcha.org
Thu Mar 31 12:38:51 CDT 2011


# HG changeset patch
# User Yuya Nishihara <yuya at tcha.org>
# Date 1301592008 -32400
# Branch stable
# Node ID 7c0da2c42cfcea1a63e4e8b573745fc2247fcf99
# Parent  5c18a0bca26f097255228829c9a6fc70700a9ca7
hgweb: add separate bookmarks listing to monoblue theme (based on 38c9837b1f75)

diff --git a/mercurial/hgweb/webcommands.py b/mercurial/hgweb/webcommands.py
--- a/mercurial/hgweb/webcommands.py
+++ b/mercurial/hgweb/webcommands.py
@@ -464,6 +464,18 @@ def summary(web, req, tmpl):
                        node=hex(n),
                        date=web.repo[n].date())
 
+    def bookmarks(**map):
+        parity = paritygen(web.stripecount)
+        i = reversed(web.repo._bookmarks.items())
+        for c, (k, n) in enumerate(i):
+            if c >= 10: # limit to 10 bookmarks
+                break
+
+            yield {'parity': parity.next(),
+                   'bookmark': k,
+                   'date': web.repo[n].date(),
+                   'node': hex(n)}
+
     def branches(**map):
         parity = paritygen(web.stripecount)
 
@@ -508,6 +520,7 @@ def summary(web, req, tmpl):
                 owner=get_contact(web.config) or "unknown",
                 lastchange=tip.date(),
                 tags=tagentries,
+                bookmarks=bookmarks,
                 branches=branches,
                 shortlog=changelist,
                 node=tip.hex(),
diff --git a/mercurial/templates/monoblue/bookmarks.tmpl b/mercurial/templates/monoblue/bookmarks.tmpl
new file mode 100644
--- /dev/null
+++ b/mercurial/templates/monoblue/bookmarks.tmpl
@@ -0,0 +1,38 @@
+{header}
+    <title>{repo|escape}: Bookmarks</title>
+    <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/>
+    <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/>
+</head>
+
+<body>
+<div id="container">
+    <div class="page-header">
+        <h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / Bookmarks</h1>
+
+        <form action="{url}log">
+            {sessionvars%hiddenformentry}
+            <dl class="search">
+                <dt><label>Search: </label></dt>
+                <dd><input type="text" name="rev" /></dd>
+            </dl>
+        </form>
+
+        <ul class="page-nav">
+            <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li>
+            <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li>
+            <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
+            <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
+            <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
+            <li class="current">bookmarks</li>
+            <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
+            <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
+	    <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
+        </ul>
+    </div>
+
+    <h2 class="no-link no-border">bookmarks</h2>
+    <table cellspacing="0">
+{entries%bookmarkentry}
+    </table>
+
+{footer}
diff --git a/mercurial/templates/monoblue/branches.tmpl b/mercurial/templates/monoblue/branches.tmpl
--- a/mercurial/templates/monoblue/branches.tmpl
+++ b/mercurial/templates/monoblue/branches.tmpl
@@ -23,6 +23,7 @@
             <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
             <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
             <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
+            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
             <li class="current">branches</li>
             <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
 	    <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
diff --git a/mercurial/templates/monoblue/changelog.tmpl b/mercurial/templates/monoblue/changelog.tmpl
--- a/mercurial/templates/monoblue/changelog.tmpl
+++ b/mercurial/templates/monoblue/changelog.tmpl
@@ -23,6 +23,7 @@
             <li class="current">changelog</li>
             <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
             <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
+            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
             <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
             <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>{archives%archiveentry}</li>
 	    <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
diff --git a/mercurial/templates/monoblue/changeset.tmpl b/mercurial/templates/monoblue/changeset.tmpl
--- a/mercurial/templates/monoblue/changeset.tmpl
+++ b/mercurial/templates/monoblue/changeset.tmpl
@@ -23,6 +23,7 @@
             <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
             <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
             <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
+            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
             <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
             <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
             <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
diff --git a/mercurial/templates/monoblue/error.tmpl b/mercurial/templates/monoblue/error.tmpl
--- a/mercurial/templates/monoblue/error.tmpl
+++ b/mercurial/templates/monoblue/error.tmpl
@@ -23,6 +23,7 @@
             <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
             <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
             <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
+            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
             <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
             <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
             <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
diff --git a/mercurial/templates/monoblue/fileannotate.tmpl b/mercurial/templates/monoblue/fileannotate.tmpl
--- a/mercurial/templates/monoblue/fileannotate.tmpl
+++ b/mercurial/templates/monoblue/fileannotate.tmpl
@@ -23,6 +23,7 @@
             <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
             <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
             <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
+            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
             <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
             <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a></li>
             <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
diff --git a/mercurial/templates/monoblue/filediff.tmpl b/mercurial/templates/monoblue/filediff.tmpl
--- a/mercurial/templates/monoblue/filediff.tmpl
+++ b/mercurial/templates/monoblue/filediff.tmpl
@@ -23,6 +23,7 @@
             <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
             <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
             <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
+            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
             <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
             <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a></li>
             <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
diff --git a/mercurial/templates/monoblue/filelog.tmpl b/mercurial/templates/monoblue/filelog.tmpl
--- a/mercurial/templates/monoblue/filelog.tmpl
+++ b/mercurial/templates/monoblue/filelog.tmpl
@@ -23,6 +23,7 @@
             <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
             <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
             <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
+            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
             <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
             <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a></li>
             <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
diff --git a/mercurial/templates/monoblue/filerevision.tmpl b/mercurial/templates/monoblue/filerevision.tmpl
--- a/mercurial/templates/monoblue/filerevision.tmpl
+++ b/mercurial/templates/monoblue/filerevision.tmpl
@@ -23,6 +23,7 @@
             <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
             <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
             <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
+            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
             <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
             <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">files</a></li>
             <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
diff --git a/mercurial/templates/monoblue/graph.tmpl b/mercurial/templates/monoblue/graph.tmpl
--- a/mercurial/templates/monoblue/graph.tmpl
+++ b/mercurial/templates/monoblue/graph.tmpl
@@ -24,6 +24,7 @@
             <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
             <li class="current">graph</li>
             <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
+            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
             <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
             <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
 	    <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
diff --git a/mercurial/templates/monoblue/help.tmpl b/mercurial/templates/monoblue/help.tmpl
--- a/mercurial/templates/monoblue/help.tmpl
+++ b/mercurial/templates/monoblue/help.tmpl
@@ -23,6 +23,7 @@
             <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
             <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
             <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
+            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
             <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
             <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
 	    <li class="current">help</li>
diff --git a/mercurial/templates/monoblue/helptopics.tmpl b/mercurial/templates/monoblue/helptopics.tmpl
--- a/mercurial/templates/monoblue/helptopics.tmpl
+++ b/mercurial/templates/monoblue/helptopics.tmpl
@@ -23,6 +23,7 @@
             <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
             <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
             <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
+            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
             <li><a href="{url}help{sessionvars%urlparameter}">branches</a></li>
             <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
 	    <li class="current">help</li>
diff --git a/mercurial/templates/monoblue/manifest.tmpl b/mercurial/templates/monoblue/manifest.tmpl
--- a/mercurial/templates/monoblue/manifest.tmpl
+++ b/mercurial/templates/monoblue/manifest.tmpl
@@ -23,6 +23,7 @@
             <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
             <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
             <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
+            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
             <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
             <li class="current">files</li>
 	    <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
diff --git a/mercurial/templates/monoblue/map b/mercurial/templates/monoblue/map
--- a/mercurial/templates/monoblue/map
+++ b/mercurial/templates/monoblue/map
@@ -147,6 +147,17 @@ tagentry = '
       <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>
     </td>
   </tr>'
+bookmarks = bookmarks.tmpl
+bookmarkentry = '
+  <tr class="parity{parity}">
+    <td class="nowrap">{date|age}</td>
+    <td><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{bookmark|escape}</a></td>
+    <td class="nowrap">
+      <a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a> |
+      <a href="{url}log/{node|short}{sessionvars%urlparameter}">changelog</a> |
+      <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>
+    </td>
+  </tr>'
 branches = branches.tmpl
 branchentry = '
   <tr class="parity{parity}">
diff --git a/mercurial/templates/monoblue/notfound.tmpl b/mercurial/templates/monoblue/notfound.tmpl
--- a/mercurial/templates/monoblue/notfound.tmpl
+++ b/mercurial/templates/monoblue/notfound.tmpl
@@ -23,6 +23,7 @@
             <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
             <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
             <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
+            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
             <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
             <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>{archives%archiveentry}</li>
             <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
diff --git a/mercurial/templates/monoblue/search.tmpl b/mercurial/templates/monoblue/search.tmpl
--- a/mercurial/templates/monoblue/search.tmpl
+++ b/mercurial/templates/monoblue/search.tmpl
@@ -23,6 +23,7 @@
             <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
             <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
             <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
+            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
             <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
             <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>{archives%archiveentry}
             <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
diff --git a/mercurial/templates/monoblue/shortlog.tmpl b/mercurial/templates/monoblue/shortlog.tmpl
--- a/mercurial/templates/monoblue/shortlog.tmpl
+++ b/mercurial/templates/monoblue/shortlog.tmpl
@@ -23,6 +23,7 @@
             <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
             <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
             <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
+            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
             <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
             <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
 	    {archives%archiveentry}
diff --git a/mercurial/templates/monoblue/summary.tmpl b/mercurial/templates/monoblue/summary.tmpl
--- a/mercurial/templates/monoblue/summary.tmpl
+++ b/mercurial/templates/monoblue/summary.tmpl
@@ -23,6 +23,7 @@
             <li><a href="{url}log{sessionvars%urlparameter}">changelog</a></li>
             <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
             <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
+            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
             <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
             <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
 	    <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
@@ -57,6 +58,14 @@
         </tr>
     </table>
 
+    <h2><a href="{url}bookmarks{sessionvars%urlparameter}">Bookmarks</a></h2>
+    <table>
+    {bookmarks%bookmarkentry}
+        <tr class="light">
+            <td colspan="3"><a class="list" href="{url}bookmarks{sessionvars%urlparameter}">...</a></td>
+        </tr>
+    </table>
+
     <h2 class="no-link">Branches</h2>
     <table>
     {branches%branchentry}
diff --git a/mercurial/templates/monoblue/tags.tmpl b/mercurial/templates/monoblue/tags.tmpl
--- a/mercurial/templates/monoblue/tags.tmpl
+++ b/mercurial/templates/monoblue/tags.tmpl
@@ -23,6 +23,7 @@
             <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li>
             <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
             <li class="current">tags</li>
+            <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
             <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
             <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li>
 	    <li><a href="{url}help{sessionvars%urlparameter}">help</a></li>


More information about the Mercurial-devel mailing list