[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 13:05:50 CDT 2011
Matt Mackall wrote:
> On Fri, 2011-04-01 at 02:38 +0900, Yuya Nishihara wrote:
> > # 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)
>
> Curious why this needs a code change? That suggests it probably
> shouldn't be on stable.
Because monoblue (and gitweb) theme have summary page, but paper isn't.
And the commit message isn't accurate. Actually this patch inclues:
- add separate 'bookmarks' page
- add bookmarks listing to 'summary' page
Maybe I should make them separated.
I'll work on it after 1.8.2 release.
> > 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>
Regards,
Yuya
More information about the Mercurial-devel
mailing list