modules.perl6.org development.

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.

It uses tadzik‘s emmentaler to test modules which produces results.json file with report in JSON.

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.

Tags: , ,

2 Comments

  • afiskon says:

    “add generating page for a single module”

    The ability to view POD online would be handy. Moreover developers would be more motivated to write the documentation.

    “tadzik and me want to create an engine for generating static webpages”

    It would be great!

Leave a Reply


Refresh