Adventures in Perl 6, part IV
Splitting off code that used to be part of a big repository and at the same time didn’t feature a unique name can naturally lead to confusion if you do not closely follow such a process, so why not take a moment to create a short overview.
As of writing this, the official perl6 documentation lives in a single repository perl6/doc. This repository consists of multiple parts, which can be roughly categorized into the following:
- The documentation itself in the form of POD files
- Helper files and scripts such as Dockerfiles
- The docs.perl6.org website
- Multiple modules, among them
Perl6::Documentable - And, of course, the
p6docscript, intended to search and read documentation
The official identity and name for this whole perl6/doc repository is also p6doc:
{
"name": "p6doc",
"description": "Perl 6 documentation (tools and docs)",
"version": "1.003",
"perl": "6.*",
"authors": [
"perl6"
],
"auth": "perl6",
"depends": [
"URI",
"File::Temp",
"JSON::Fast",
"Pod::To::BigPage:ver<0.5.1+>",
"Pod::To::HTML:ver<0.6.1+>",
"OO::Monitors",
"File::Find",
"Test::META",
"Perl6::TypeGraph"
],
"build-depends": [
"File::Find"
],
"provides": {
"Perl6::Documentable": "lib/Perl6/Documentable.pm6",
"Perl6::Documentable::Registry": "lib/Perl6/Documentable/Registry.pm6",
"Perl6::TypeGraph::Viz": "lib/Perl6/TypeGraph/Viz.pm6",
"Pod::Cache": "lib/Pod/Cache.pm6",
"Pod::Convenience": "lib/Pod/Convenience.pm6",
"Pod::Htmlify": "lib/Pod/Htmlify.pm6",
"Pod::To::SectionFilter": "lib/Pod/To/SectionFilter.pm6",
"Test-Files": "lib/Test-Files.pm6"
},
My project is about what’s currently the p6doc script. During my work I turned it into it’s own module and rewrote it to make use of Perl6::Documentable, which is receiving a similar treatment at the same time.