]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/todo/provide_inline_diffs_in_recentchanges.mdwn
(no commit message)
[ikiwiki.git] / doc / todo / provide_inline_diffs_in_recentchanges.mdwn
index fe7eb101497c7adb2ce1e5beded804232aeaa07d..7e95791c6467127c8095d4da89f50ad6fbd3e03d 100644 (file)
@@ -1,3 +1,5 @@
+[[!template  id=gitbranch branch=anarcat/inline_diffs author="[[anarcat]]"]]
+
 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]]
@@ -5,25 +7,17 @@ It would rock if I could view diffs from the web without going via feeds. I envi
 > 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:
+> > I have implemented this in a branch in my repository (see the side box).
 > > 
-> >  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
+> > Unfortunately it has some issues:
 > > 
-> > I am looking for guidance on how to improve and fix this now. --[[anarcat]] 2011-10-11
+> > 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. <del>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</del> fixed!
+> > 4. if the diffurl parameter is set in the template, we'd actually see two sets of glasses, which is silly. 
+> >
+> > I feel this should nevertheless be implemented because if we're going to compile all this crap in the page anyways and send it to the client, why not allow the user to show it? I also feel that showing it by default is a lesser evil for non-javascript users.
+> >
+> > -- [[anarcat]] 2012-03-03
 
-[[!tag wishlist]]
+[[!tag wishlist patch]]