On 30 April 2018 at 14:18, Jan Iversen <j...@apache.org> wrote: > > > Sent from my iPad > >> On 30 Apr 2018, at 14:34, sebb <seb...@gmail.com> wrote: >> >>> 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. > Thanks, but I honestly am sad that I did not choose another solution, because > see what it brought us all, I personally have lately used around the same > time it took me to retire 10 projects, which is far more than I signed up to > do. >> >>> 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. > I have problems understanding the jekyll templates. To me it seems the > jekyll-site contains many more files (source) than the lua-site, I suppose > that adds complexity.
Quantity is not complexity unless there are lots of files. In any case, the Jekyll solution actually now only has a few more files. At least 2 of which are documentation. >> >>> 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. > I guess it is more a question of what you are used to use. I am familiar with Perl; I have written/maintained lots of Perl scripts. The script is well-written and concise. The problem is that the script includes a mix of lots of different things. >> >> 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? > That was why the board entry was sometimes empty in my json file. Yes. My point was: how to change the Perl script so it omits the entry. I think it's pretty obvious how it is done in Jekyll: http://svn.apache.org/viewvc/attic/site-jekyll/src/_layouts/project.html?view=markup#l78 Can you work out how to change the Perl script accordingly? Or even where the code should go? > rgds > jan i >> >>> -- 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 \_/