|
| 1 | +# Offizielle Dokumentation von Perl_6 |
| 2 | + |
| 3 | +[](https://travis-ci.org/perl6/doc) [](https://opensource.org/licenses/Artistic-2.0) |
| 4 | + |
| 5 | +[](https://app.shippable.com/github/perl6/doc) |
| 6 | + |
| 7 | +Eine HTML Version dieser Dokumentation findet sich unter [https://docs.perl6.org/](https://docs.perl6.org/). |
| 8 | +Dies ist die momentan empfohlene Methode diese Dokumentation zu nutzen. |
| 9 | + |
| 10 | +Ausserdem gibt es ein Kommandozeilen-Tool namens "p6doc". |
| 11 | + |
| 12 | +(Falls du dieses Repository via GitHub nutzt, werden die meisten |
| 13 | +Dateien nicht korrekt angezeigt, weil sie in Perl 6 Pod geschrieben |
| 14 | +sind, GitHub aber Perl 5 Pod an nimmt). |
| 15 | + |
| 16 | +## README in anderen Sprachen |
| 17 | + |
| 18 | +* [README in Chinesisch](README.zh.md) |
| 19 | +* [README in Englisch](README.md) |
| 20 | +* [README in Italienisch](README.it.md) |
| 21 | +* [README in Spanisch](README.es.md) |
| 22 | + |
| 23 | +## Installation von p6doc |
| 24 | + |
| 25 | +Dieses Module ist im Perl 6 Module Ecosystem verfügbar. Verwende |
| 26 | + |
| 27 | + $ zef install p6doc |
| 28 | + |
| 29 | +um die ausführbaren Dateien zu installieren und diese in deinem |
| 30 | +Suchpfad verfügbar zu machen. |
| 31 | + |
| 32 | +## Benutzung von p6doc |
| 33 | + |
| 34 | +Falls sich Rakudo `perl6` als ausführbare Datei in deinem `PATH` |
| 35 | +befindet, verwende |
| 36 | + |
| 37 | + $ ./bin/p6doc Str |
| 38 | + |
| 39 | +um die Dokumentation der Klasse `Str` oder |
| 40 | + |
| 41 | + $ ./bin/p6doc Str.split |
| 42 | + |
| 43 | +um die Dokumentation für die Methode `split` in der Klasse `Str` |
| 44 | +anzuzeigen. Falls du `pod6doc` mit `zef` installiert hast, kannst du |
| 45 | +`./bin` weg lassen. Ausserdem kannst du |
| 46 | + |
| 47 | + $ p6doc -f slurp |
| 48 | + |
| 49 | +verwenden, um die Dokumentation von Standard-Funktionen |
| 50 | +anzuzeigen. Abhängig von der Zugriffsgeschwindigkeit deiner Harddisk und der Rakudo Version kann dies eine Weile dauern. |
| 51 | + |
| 52 | +------- |
| 53 | + |
| 54 | +## Erzeugen der HTML Dokumentation |
| 55 | + |
| 56 | +Installiere die Abhängigkeiten durch ausführen von |
| 57 | + |
| 58 | + $ zef --deps-only install . |
| 59 | + |
| 60 | +in deinem Checkout-Verzeichnis. |
| 61 | + |
| 62 | +Falls du [`rakudobrew`](https://github.com/tadzik/rakudobrew) |
| 63 | +verwendest, führe den folgenden Befehl aus, um die |
| 64 | +Kompatibilitäts-Anpassungen an den installierten ausführbaren Dateien |
| 65 | +zu aktualisieren: |
| 66 | + |
| 67 | + $ rakudobrew rehash |
| 68 | + |
| 69 | +Zusätzlich zu den Perl 6 Abhängigkeiten musst du `graphviz` |
| 70 | +installiert haben. Unter Debian kannst du dies tun mit |
| 71 | + |
| 72 | + $ sudo apt-get install graphviz |
| 73 | + |
| 74 | +Um die Web-Seiten der Dokumentation zu erstellen, verwende einfach |
| 75 | + |
| 76 | + $ make html |
| 77 | + |
| 78 | +Bitte beachte, dass du ausserdem [nodejs](https://nodejs.org) |
| 79 | +installiert haben musst, um die HTML Inhalte mit dem obigen Befehl zu |
| 80 | +erzeugen, insbesonders muss sich ein ausführbares `node` in deinem |
| 81 | +`PATH` befinden. |
| 82 | + |
| 83 | +Nachdem die Web-Seiten erzeugt wurden, kannst du sie auf deinem lokalen Computer anzeigen, indem du das enthaltene Programm `app.pl` mit |
| 84 | + |
| 85 | + $ make run |
| 86 | + |
| 87 | +startest. Dann kannst du die Beispiel-Dokumentation anschauen, indem |
| 88 | +du in deinem web browser die URL |
| 89 | +[http://localhost:3000](http://localhost:3000) aufrufst. |
| 90 | + |
| 91 | +Du benötigst zumindest eine Installation von |
| 92 | +[Mojolicious](https://metacpan.org/pod/Mojolicious) auf deinem |
| 93 | +Computer und du benötigst ausserdem [nodejs](https://nodejs.org) für |
| 94 | +Syntax-Hervorhebung. Moglicherweise benötigst du noch weitere |
| 95 | +Module. Du kannst diese mit |
| 96 | + |
| 97 | + $ cpanm --installdeps . |
| 98 | + |
| 99 | +installieren. |
| 100 | + |
| 101 | +--------- |
| 102 | + |
| 103 | +## Wir brauchen deine Hilfe! |
| 104 | + |
| 105 | +Perl 6 ist eine umfangreiche Sprache und die Erstellung der Dokumentation erfordert einen hohen Aufwand. Wir sind dankbar für jede Hilfe. |
| 106 | + |
| 107 | +Hier einige Möglichkeiten, uns dabei zu unterstützen: |
| 108 | + |
| 109 | + * Erstellen von fehlender Dokumentation für Klassen, Rollen, Methoden |
| 110 | + oder Operatoren. |
| 111 | + * Hinzufügen von Beispielen zur Verwendung zu bereits existierender |
| 112 | + Dokumentation. |
| 113 | + * Korrekturlesen und korrigieren der Dokumentation. |
| 114 | + * Eröffnen einer Problemmeldung (issue) auf GitHub zu fehlender Dokumentation. |
| 115 | + * Verwende `git grep TODO` in diesem Repository und ersetze TODO |
| 116 | + Abschnitte durch die eigentliche Dokumentation. |
| 117 | + |
| 118 | +[Issues page](https://github.com/perl6/doc/issues) hat eine Liste der |
| 119 | +derzeitigen Problemmeldungen und bekannte fehlende Teile der |
| 120 | +Dokumentation. Das Dokument [CONTRIBUTING](CONTRIBUTING.md) erklärt |
| 121 | +kurz wie du beginnen kannst, zur Dokumentation beizutrage. |
| 122 | + |
| 123 | +-------- |
| 124 | + |
| 125 | +## Einige Anmerkungen: |
| 126 | + |
| 127 | +**F:** Warum wird die Dokumentation nicht in die CORE Quellen integriert?<br> |
| 128 | +**A:** Einige Gründe sind: |
| 129 | + |
| 130 | + 1. Diese Dokumentation sill allgemeingültig sein in Bezug zu einer |
| 131 | + bestimmten Version der Spezifikation und soll nicht an eine |
| 132 | + spezifische Perl_6 Implementierung gebunden sein. |
| 133 | + |
| 134 | + 2. Die Handhabung von eingebettetem Pod unterscheidet sich leicht |
| 135 | + zwischen verschiedenen Implementationen. Wir verhindern so |
| 136 | + potentielle Einflüsse der Laufzeit-Umgebung. |
| 137 | + |
| 138 | + 3. Ein separates Repository im perl6 Github Konto lädt potentiell |
| 139 | + mehr Beitragende und Editoren ein. |
| 140 | + |
| 141 | +**F:** Sollte ich Methoden von Super-Klassen und Rollen integrieren?<br> |
| 142 | + |
| 143 | +**A:** Nein. Die HTML Version schliesst bereits Methoden von |
| 144 | + Super-Klassen und Rollen ein und das `p6doc` Skript wird diese |
| 145 | + zukünftig ebenfalls handhaben können. |
| 146 | + |
| 147 | +-------- |
| 148 | + |
| 149 | +## Vision |
| 150 | + |
| 151 | +> Ich möchte, dass p6doc and docs.perl6.org die Nr. 1 Quelle wird, die |
| 152 | +> du nutzen kannst, wenn du etwas wissen willst über eine Perl 6 |
| 153 | +> ElementEigenschaft , sei es betreffend die Sprache, eingebaute Typen |
| 154 | +> oder Routinen. Ich möchte dass sie nützlich ist für jeden Perl 6 |
| 155 | +> Programmierer. |
| 156 | +> |
| 157 | +> -- moritz |
| 158 | +
|
| 159 | +-------- |
| 160 | + |
| 161 | +# ENV VARS |
| 162 | + |
| 163 | +- Setze `P6_DOC_TEST_VERBOSE` auf einen `true` Wert, um ausführliche Meldungen während eines Runs der Test-Suite anzuzeigen. |
| 164 | +Dies ist nützlich, um fehlgeschlagene Tests zu korrigieren. |
| 165 | +- `P6_DOC_TEST_FUDGE` wandelt `skip-test` Code Beispiele in TODO um im `xt/examples-compilation.t` Test. |
| 166 | + |
| 167 | +# LIZENZ |
| 168 | + |
| 169 | +Der Programm-Code in diesem Repository ist verfügbar unter der |
| 170 | +Artistic License 2.0, wie sie von der Perl Foundation veröffenticht |
| 171 | +wurde. Der komplette Text ist in der Datei [LICENSE](LICENSE) zu |
| 172 | +finden. |
| 173 | + |
| 174 | +Dieses Repository enthält ausserdem Code, der von Dritten erstellt und |
| 175 | +möglicherweise unter einer anderen Lizenz lizenziert wurde. Solche |
| 176 | +Dateien enthalten Angaben zu Copyright und Lizenz am Anfang der |
| 177 | +Datei. Derzeit fallen unter anderem die folgenden Dateien unter diese |
| 178 | +Kategorie: |
| 179 | + |
| 180 | +* jQuery und jQuery UI libraries: Copyright 2015 jQuery Foundation und andere Beitragende; [MIT License](http://creativecommons.org/licenses/MIT) |
| 181 | +* [jQuery Cookie plugin](https://github.com/js-cookie/js-cookie): |
| 182 | + Copyright 2006, 2015 Klaus Hartl & Fagner Brack; |
| 183 | + [MIT License](http://creativecommons.org/licenses/MIT) |
| 184 | +* Beispiele von Stack Overflow [MIT License](http://creativecommons.org/licenses/MIT); ([ref #1](http://stackoverflow.com/a/43669837/215487) for [1f7cc4e](https://github.com/perl6/doc/commit/1f7cc4efa0da38b5a9bf544c9b13cc335f87f7f6)) |
| 185 | +* Tabellen-Sortier-Plugin von https://github.com/christianbach/tablesorter ; |
| 186 | + [MIT License](http://creativecommons.org/licenses/MIT) |
0 commit comments