modules.perl6.org is recently vigorously developed .
Tadzik and me were thinking a lot about modules.perl6.org. Initially we wrote the generating script in Perl 6 (using Template::Mojo as template engine insead of HTML::Template), then added a feature that checks if modules pass tests. Now this script generates a site which shows if a single module was updated for last 3 moths, has README file, has tests and even if passes tests.
We have full backward compatibility with the current modules.perl6.org but everything is written in Perl 6.
Our build-script creates also a proto.json file as a list of all modules (with all useful information).
I’m happy with our current result, we made everything in Perl 6, it produces ready to use website and … it’s not as slow as we predicted.
Generating the whole site (without testing modules with emmentaler) takes only (almost) 2 minutes:
$ time( perl6 mkjson.p6; perl6 build.p6 ) real 1m54.360s user 1m6.484s sys 0m4.112s
Unfortunately using SSL in Perl 6 is not available yet, so we had to execute commands to download every single module, thus this script downloads new module or updates (git pull) existing one for 2 minutes – it’s a good result I think.
What about the future?
Here is a little roadmap:
- add generating page for a single module (probably we’ll be able to read README file and some information about a module – by visiting /Module::Name)
- maybe a rating system or a medal for those modules which passes all tests, has README file, are fresh and so on
- tadzik and me want to create an engine for generating static webpages (maybe called BreakBailador) to create pages like modules.perl6.org – what do you think about this?
Feel free to contribute! You can find the repository here.
There is current modules list generated using our script.