Mercurial > wikked
changeset 347:ece930a816b1
Add ability to look at whole change diffs from the site history page.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sat, 19 Sep 2015 10:14:51 -0700 |
parents | 59bbf4358a76 |
children | 5ff3b1639154 |
files | wikked/templates/diff-rev.html wikked/templates/special-changes.html wikked/views/history.py wikked/webimpl/history.py |
diffstat | 4 files changed, 40 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wikked/templates/diff-rev.html Sat Sep 19 10:14:51 2015 -0700 @@ -0,0 +1,15 @@ +{% extends 'index.html' %} +{% block content %} +<article> + <header> + <h1>Change Overview</h1> + <div class="decorator"> + Diff change <span class="rev_id">{{disp_rev}}</span> + </div> + </header> + <section> + <pre><code>{{diff|safe}}</code></pre> + </section> +</article> +{% endblock %} +
--- a/wikked/templates/special-changes.html Sat Sep 19 10:12:18 2015 -0700 +++ b/wikked/templates/special-changes.html Sat Sep 19 10:14:51 2015 -0700 @@ -17,7 +17,10 @@ <tbody> {%for e in history%} <tr class='wiki-history-entry'> - <td><code>{{e.rev_name}}</code></td> + <td> + <p><code>{{e.rev_name}}</code></p> + <p><a href="/diff_rev/{{e.rev_id}}">Show Diff.</a></p> + </td> <td> <dl class="pure-dl-horizontal"> <dt>Date</dt>
--- a/wikked/views/history.py Sat Sep 19 10:12:18 2015 -0700 +++ b/wikked/views/history.py Sat Sep 19 10:14:51 2015 -0700 @@ -6,7 +6,7 @@ from wikked.webimpl import url_from_viewarg from wikked.webimpl.history import ( get_site_history, get_page_history, - read_page_rev, diff_page_revs) + read_page_rev, diff_revs, diff_page_revs) @app.route('/special/history') @@ -87,3 +87,14 @@ urllib.parse.urlencode(raw_url_args))) return render_template('diff-page.html', **data) + +@app.route('/diff_rev/<rev>') +def diff_revision(rev): + wiki = get_wiki() + user = current_user.get_id() + data = diff_revs(wiki, user, rev) + add_auth_data(data) + add_navigation_data( + '', data) + return render_template('diff-rev.html', **data) +
--- a/wikked/webimpl/history.py Sat Sep 19 10:12:18 2015 -0700 +++ b/wikked/webimpl/history.py Sat Sep 19 10:14:51 2015 -0700 @@ -91,6 +91,15 @@ return result +def diff_revs(wiki, user, rev, raw=False): + diff = wiki.scm.diff(path=None, rev1=rev, rev2=None) + if not raw: + lexer = get_lexer_by_name('diff') + formatter = get_formatter_by_name('html') + diff = highlight(diff, lexer, formatter) + return {'diff': diff, 'disp_rev': rev} + + def revert_page(wiki, user, url, rev, message=None): message = message or 'Reverted %s to revision %s' % (url, rev) page_fields = {