64 lines
3.2 KiB
Markdown
64 lines
3.2 KiB
Markdown
It would rock if I could view diffs from the web without going via feeds. I envision toggle-style buttons on the recentchanges page, or just links to the CGI, which then displays the diff... --[[madduck]]
|
|
|
|
> The diffs are actually there, enabled by the [[plugins/recentchangesdiff]]
|
|
> plugin, but they are hidden in the XHTML version by the stylesheet.
|
|
> You might try a user stylesheet with `div.diff { display: block }`.
|
|
> --[[JasonBlevins]]
|
|
|
|
> > couldn't the diff be displayed as a popup? right now it's too bad because the diff is actually in the page, generated and downloaded, but the user can't see it. I have tried to address the issue by adding stuff to the change.tmpl template, but I may be missing something - and it doesn't quite look right:
|
|
> >
|
|
> > --- /usr/share/ikiwiki/templates/change.tmpl 2011-09-05 15:14:19.000000000 -0400
|
|
> > +++ templates/change.tmpl 2011-10-11 13:04:37.704346964 -0400
|
|
> > @@ -39,6 +39,7 @@
|
|
> > </TMPL_LOOP>
|
|
> > </div>
|
|
> > <TMPL_IF DIFF>
|
|
> > +<a href="#" onClick="document.getElementByClass('diff').style = 'block'">[[show diff|wikiicons/diff.png]]</a>
|
|
> > <div class="diff">
|
|
> > <pre>
|
|
> > <TMPL_VAR DIFF>
|
|
> >
|
|
> > There are a few things wrong with this:
|
|
> >
|
|
> > 1. I don't like the hardcoded javascript in there, we should use [[plugins/toggle]] or something, but i am not sure how to make the this plugin depend on toggle, or if it is desirable.
|
|
> > 2. it doesn't work at all: first it doesn't actually "toggle" and second the javascript somehow gets filtered out of the resulting HTML so we don't even see it
|
|
> > 3. if the diffurl parameter is set in the template, we'd actually see two sets of glasses, which is silly. i tried moving the diff button upwards into the PAGES loop, but there the diffurls are file-specific, which also seem quite silly
|
|
> >
|
|
> > I am looking for guidance on how to improve and fix this now. --[[anarcat]] 2011-10-11
|
|
|
|
> > Here is a better implementation:
|
|
> > [[!format txt """
|
|
diff -u change.tmpl.orig change.tmpl
|
|
--- change.tmpl.orig 2012-03-02 23:00:36.706271573 -0500
|
|
+++ change.tmpl 2012-03-02 23:15:56.083573086 -0500
|
|
@@ -28,6 +28,9 @@
|
|
<span class="changedate"><TMPL_VAR COMMITDATE></span>
|
|
<span class="desc"><br /></span>
|
|
<TMPL_IF REVERTURL><span class="revert">
|
|
+<TMPL_IF DIFF>
|
|
+<a href="#diff-<TMPL_VAR REV>" class="toggle" title="revert" rel="nofollow">[[diff|wikiicons/diff.png]]</a>
|
|
+</TMPL_IF>
|
|
<a href="<TMPL_VAR REVERTURL>" title="revert" rel="nofollow">[[revert|wikiicons/revert.png]]</a>
|
|
</span></TMPL_IF>
|
|
</div>
|
|
@@ -39,7 +42,7 @@
|
|
</TMPL_LOOP>
|
|
</div>
|
|
<TMPL_IF DIFF>
|
|
-<div class="diff">
|
|
+<div class="toggleable" id="diff-<TMPL_VAR REV>">
|
|
<pre>
|
|
<TMPL_VAR DIFF>
|
|
</pre>
|
|
"""]]
|
|
> >
|
|
> > Unfortunately it has some issues:
|
|
> >
|
|
> > 1. it assumes the toggle.js code is loaded somehow
|
|
> > 2. if the toggle code isn't loaded the diffs are displayed (which is arguably better than showing nothing since we ship the diff to the UA anyways...)
|
|
> > 3. it will show only if there's a revert URL, which is backwards, but otherwise the display is weird, with each button on its own line
|
|
> > 4. if the diffurl parameter is set in the template, we'd actually see two sets of glasses, which is silly.
|
|
> >
|
|
> > -- [[anarcat]] 2012-03-11
|
|
[[!tag wishlist]]
|