On 30 April 2018 at 08:29, Henk P. Penning <penn...@uu.nl> wrote: > On Sun, 29 Apr 2018, Jan Iversen wrote: > >> Date: Sun, 29 Apr 2018 19:53:45 +0200 >> From: Jan Iversen <j...@apache.org> >> To: general@attic.apache.org >> Subject: discussion/vote new site (again, but last time from me) >> >> Hi. >> >> Based on a suggestion from Henk, I hereby once again try to start a >> discussion/vote on the new site. > > > Ok ; great ; thanks. > >> We need to select either lua-site or jekyll-site. I strongly believe >> there are no reasons to polish the sites more before selecting, it is >> apparent how both sites will work. > > > Let me say first that Sebb did a great job perfecting the config > (json/yaml file) ; since it handles all the past retirements, > we can be confident that either solution can handle (almost) > any future case.
Let's not forget that Jani created the initial JSON file contents. That was quite a bit of work. > The problem at hand is simple : > > -- there is only one 'base' ; all generated pages look the same. > -- there is only one 'template' : base + project-list (on the right) > -- there are only 4 (kinds of) pages : > -- index.html : template + index.txt > -- process.html : template + process.txt > -- resolution.html : template + resolution.txt > -- $project.html : template + <proj-data> > where <proj-data> is generated from the config. Note that proj-data includes layout in the above list. > -- only 3 substitutions are needed [project-list, title, $proj-data]. Additional substitutions of need to be made to create the proj-data as that is a mix of variable data with fixed layout. > [main point] I think using a template system is, at best, unnecessary. > Note that the jekyll templates aren't 'easy' (full of if/then/else's), I contend that the Perl version is harder to follow. > and can't be understood unless you look at the code too. In the lua case, the conditional and looping code is buried inside the Perl script. > [I know, because I had to follow Sebb, as he added more and more ;-] > With the lua stuff, the 'logic' is in one place. I agree that the logic is in one place, but the presentation is mixed in with it. In the Jekyll case, there is some logic to massage the data in Ruby, but all the presentation logic is in templates. I think that is easier to follow. For example, compare how the project page data is generated: http://svn.apache.org/viewvc/attic/site-jekyll/src/_layouts/project.html?view=markup#l35 To me it's clear that there is a table with data fields in it. And it's obvious how to omit parts of the output if required. The same structure in the Perl script is mainly generated here AFAICT: http://svn.apache.org/viewvc/attic/site-lua/mk-stuff?view=markup#l211 Except that is only part of it. At present the code generates a Board entry in the table regardless of whether it is a sub-project or not. How would you fix that so it agrees with the existing Attic site? > -- the jekyll stuff uses ruby, ant and jekyll ; requiring installs. I chose Jekyll because it is already used by other projects. AFAIK at least Ruby and Ant are available on all the CI nodes. > the lua stuff uses only perl and make ; always available, > and more widely used/known. The Perl script itself is home-grown and not used anywhere else. > -- the lua tree looks simpler than the jekyll tree ... If you are referring to the directory structure that is partly because the lua data/ dir contains both data and layout. > As the problem is simple, a simple solution is sufficient. I disagree that the Perl script is simple. It's a well-written script, but it is hard to follow - mainly because it mixes content with presentation. >> jan I > > > Regards, > > Henk Penning > > ------------------------------------------------------------ _ > Henk P. Penning, ICT-beta R Uithof MG-403 _/ \_ > Faculty of Science, Utrecht University T +31 30 253 4106 / \_/ \ > Leuvenlaan 4, 3584CE Utrecht, NL F +31 30 253 4553 \_/ \_/ > http://www.staff.science.uu.nl/~penni101/ M penn...@uu.nl \_/