Hi, Sooner or later we will get there! :-) To make the process easier, I've split the patches into 2 series. For now, the JavaScript Progressive Enhancement patches. >>>>> "Ludovic" == Ludovic Courtès writes: alex sassmannshausen > The second patch re-introduces changes to the SXML and JavaScript > to fulfill the criteria of Progressive Enhancement: - All content > is shown when JavaScript is not enabled on GUI browsers. In > addition the patch implements JS that carries out the changes to > the HTML document successively rather than all at the end, which, > with the current size of the page, would cause a 'flicker'. Ludovic> Nice. (What’s Progressive Enhancement?) Progressive Enhancement is a web design/development approach where you make sure that all functionality is available using a very low baseline — i.e. no JS, smallest files possible, attempt to take old browsers into account — and then add functionality as 'icing on the cake'. In this way, users are (almost) never left behind. alex sassmannshausen skribis: > The second patch re-introduces changes to the SXML and JavaScript to [...] > + (td (span (strong ,(package-synopsis package))) Ludovic> Shouldn’t we use CSS instead of ? You are right. I've now changed this (patch 1 no longer uses strong, patch 3 implements CSS font-weight heaviness. > +(define show_hide-grouper Ludovic> I should have mentioned it: the name of a procedure should Ludovic> describe its result or computation (when it’s a pure function, Ludovic> like ‘expt’), or its effect (like ‘display’). Otherwise it’s Ludovic> harder to tell what it does etc. In an attempt to do this I have now renamed the JS function prep_pkg_descs (for prepare_package_descriptions), and the Scheme function you are discussing here is now called insert-prep_pkg_descs. Hope that does the trick. > + (let ((lid '()) > + (group-counter 15)) > + (lambda (id) [...] > + (if id > + (begin > + ;; If ID is not false, then we add ID to LID. Ludovic> But this function still has a single call with #f as its Ludovic> argument. Can you remove the parameter and the dead code? Or Ludovic> am I missing something? Actually that function (now called insert-prep_pkg_descs is called in 2 places in the Scheme code, once with #f as argument (in packages->sxml), and once (at the end) of package->sxml, with each package-id as argument. The code is not dead, as it is what accumulates up to 15 package-ids, which are then used when prep_pkg_descriptions is inserted into the HTML table (do a search for insert-prep_pkg_descs, and you should get three hits, one being the definition. [...] > +/* Take n element IDs, prepare them for javascript enhanced > +display and hide the IDs by default. */ > +function bulk_show_hide() Ludovic> Align ‘display’ with ‘Take’. Done. > From 3c3bfb6dea1b20447ba8bb48ec95a8cc4b556129 Mon Sep 17 00:00:00 2001 > From: Alex Sassmannshausen [...] This part deals with the splitting of the CSS and JS into separate source files; I'll address that with a second patch series later (or tomorrow). [...] > diff --git a/build-aux/package-list.css b/build-aux/package-list.css > new file mode 100644 > index 0000000..67d423a > --- /dev/null > +++ b/build-aux/package-list.css Ludovic> Can you indent this file in C-mode in Emacs or something Ludovic> similar? This has been done in patch no. 2, if I understood you correctly. Ludovic> Thanks for following up! No problem, thanks for the thorough feedback — let me know if these patches cause any problems. Best wishes, Alex