Een HTML-versie van deze documentatie is te vinden onder https://docs.perl6.org/; dit is momenteel de aanbevolen manier om de documentatie te raadplegen. Daarnaast bestaat er voor het raadplegen van de documentatie ook een command line tool genaamd "p6doc".
NOOT: Als je door deze repository bladert met behulp van GitHub, dan zullen de meeste bestanden niet correct worden weergegeven omdat ze zijn opgemaakt in Raku Pod, terwijl GitHub ze interpreteert als Perl Pod.
- README in het Chinees
- README in het Duits
- README in het Italiaans
- README in het Spaans
- README in het Frans
Deze module is beschikbaar via het Raku module-ecosysteem. Geef het commando:
$ zef install p6doc
om het p6doc programma te installeren, en het beschikbaar te maken via het zoekpad.
Geef, met een uitvoerbaar Rakudo perl6
bestand in het zoekpad PATH
, het commando:
$ ./bin/p6doc Str
om de documentatie voor klasse Str
te bekijken, of het commando:
$ ./bin/p6doc Str.split
om de documentatie voor methode split
in klasse Str
in te zien. Je kunt
het ./bin/
-deel achterwege laten als je Rakudo met behulp van zef
hebt geïnstalleerd.
Je kunt ook het commando:
$ p6doc -f slurp
gebruiken om door de documentatie van de standaardfuncties te bladeren. De snelheid hierbij is afhankelijk van je schijfsnelheid en Rakudoversie.
Installeer de benodigde dependencies door het volgende commando uit te voeren in de checkout directory:
$ zef --deps-only install .
Als je gebruik maakt van rakubrew
in shim
-modus heb je ook
het volgende commando nodig om de shims voor de geïnstalleerde programma's te updaten:
$ rakubrew rehash
Naast de Raku dependencies dien je ook 'graphviz' geïnstalleerd te hebben; op Debian kun je dit bewerkstelligen met het commando:
$ sudo apt-get install graphviz
Om de documentatiewebpagina's te genereren geef je simpelweg het volgende commando:
$ make html
Merk op dat je nodejs geïnstalleerd dient te hebben om HTML pagina's
te kunnen genereren met het bovenstaande commando. In het bijzonder dient het uitvoerbare
node
bestand via het zoekpad PATH
vindbaar te zijn. Daarnaast moet ook g++
zijn
geïnstalleerd om enkele dependencies die samen met nodejs zijn geïnstalleerd te compileren.
nodejs is overigens alleen nodig voor het highlighten van opgenomen codefragmenten. Als
dit niet vereist of gewenst is, dan volstaat het commando:
$ make html-nohighlight
Na het genereren van de pagina's kun je ze lokaal op je computer bekijken door het starten van
het meegeleverde app.pl
-programma:
$ make run
Je kunt de documentatie dan bekijken door je webbrowser te verwijzen naar http://localhost:3000.
Je dient ten minste Mojolicious te hebben geïnstalleerd, en voor syntax highlighting is ook nodejs nodig. Eventuele andere modules die je nodig zou kunnen hebben kun je allemaal installeren middels het commando:
$ cpanm --installdeps .
Raku is geen kleine taal en het documenteren ervan is dan ook een hele onderneming. Alle hulp daarbij is van harte welkom, en wordt zeer gewaardeerd.
Dit zijn enkele manieren waarop je ons zou kunnen helpen:
- Voeg ontbrekende documentatie toe voor klassen, rollen, methoden of operatoren.
- Voeg gebruiksvoorbeelden toe aan bestaande documentatie.
- Controleer en verbeter bestaande documentatie.
- Wijs ons op ontbrekende documentatie door het openen van een issue op GitHub.
- Doe een
git grep TODO
in deze repository, en vervang de TODO items door daadwerkelijke documentatie.
De issues pagina bevat een lijst van openstaande issues evenals een overzicht van documentatieonderdelen waarvan bekend is dat ze ontbreken. Het CONTRIBUTING dokument legt beknopt uit hoe je desgewenst kunt beginnen bij te dragen aan de documentatie.
Q: Waarom wordt de documentatie niet geëmbed in de CORE broncode?
A: Hiervoor bestaat een aantal redenen:
- Deze documentatie beoogt universeel te zijn ten aanzien van een gegeven versie van de specificatie, en is dus niet noodzakelijkerwijs verbonden aan een specifieke Raku implementatie.
- De verwerking van geëmbedde Pod door implementaties is vooralsnog niet volkomen vlekkeloos; afzonderlijke documentatie voorkomt dus potentiële runtime-complicaties.
- Een aparte repository onder de perl6 GitHub-account werkt drempelverlagend, en nodigt meer mensen uit bij te dragen en teksten te bewerken.
Q: Kan ik ook bijdragen door methoden van superklassen of rollen op te nemen?
A: Nee. De HTML-versie omvat op dit moment al methoden van superklassen en
rollen, en het p6doc
-script zal hieraan worden aangepast.
Ik wens dat p6doc en docs.perl6.org het nummer 1-naslagwerk worden dat geraadpleegd kan worden wanneer je iets wilt weten over een Raku feature, of dit nu behoort tot de taal zelf, of tot de ingebouwde typen en functies. Ik wil dat het van praktisch nut is voor iedere Raku-programmeur.
-- moritz
- Geef
RAKU_DOC_TEST_VERBOSE
eentrue
-waarde om gedurende het doorlopen van de test suite uitvoerige meldingen weer te geven. Dit is behulpzaam tijdens het debuggen van de test suite. RAKU_DOC_TEST_FUDGE
zetskip-test
codevoorbeelden om in TODO inxt/examples-compilation.t
test.
De code in deze repository is beschikbaar onder de Artistic License 2.0 zoals gepubliceerd door The Perl Foundation. Zie het LICENSE bestand voor de volledige tekst.
Deze repository bevat ook code die is geschreven door derde partijen en die onder een afwijkende licentie beschikbaar is gemaakt. De betreffende bestanden vermelden het auteursrecht en de licentievoorwaarden aan het begin. Momenteel omvat deze categorie bestanden:
- Examples from Stack Overflow MIT License; (ref #1 for 1f7cc4e)
- Table sorter plugin from https://github.com/christianbach/tablesorter ; MIT License