Testen ====== Durch das Testen eurer Inhalte könnt ihr sicherstellen, dass sie sich in einem konsistenten Zustand befinden. Die Erfahrung beim Lesen wird besser und problemloser. Continuous Integration ---------------------- Wir überprüfen systematisch, ob die Dokumentation des cusy Design-System erstellt werden kann und zeigen euch dies auch mit folgendem Abzeichen (:abbr:`engl. (englisch)`: Badge) an: |Docs|. .. |Docs| image:: https://readthedocs.org/projects/cusy-design-system/badge/?version=latest :target: https://cusy-design-system.readthedocs.io/de/latest/ Dieses Abzeichen wird vom Dokumentationsserver `Read the Docs `_, auf dem unsere Dokumentation des cusy Design-System veröffentlicht wird, bereitgestellt. Weitere automatisch generierte Abzeichen findet ihr auf unserer Seite :doc:`../index` mit Hinweisen zur Anzahl der Mitwirkenden, zur Aktualisierungshäufigkeit, zur Lizenz und zu Mastodon. Solche Abzeichen lassen sich jedoch nicht nur verwenden um den Status eures Projekts zu dokumentieren, sondern auch um einen stets aktuellen Überblick über viele verschiedene Projekte zu erhalten. Ein Beispiel hierfür findet ihr in unserem `PyViz-Tutorial `_. Sphinx-Checks ------------- .. seealso:: * :ref:`python-basics:build-errors` * :ref:`python-basics:link-checks` .. note:: Falls ihr ein anderes Werkzeug zum technischen Schreiben verwendet, könnt ihr :abbr:`z.B. (zum Beispiel)` `HTMLProofer `_ verwenden um Links, Bilder, Titel und Tags zu überprüfen. Code überprüfen --------------- Ihr könnt automatisch euren Quellcode überprüfen und :abbr:`ggf. (gegebenenfalls)` auch neu formatieren lassen. Einen Überblick über solche Werkzeuge erhaltet ihr in unserem Jupyter-Tutorial unter `Checker `_ und `Formatter `_. Syntax überprüfen ----------------- Es gibt auch Werkzeuge, die eure Inhalte anhand von Regeln überprüfen. .. seealso:: * `Regulating English with retext-mapbox-standard `_ * `Writing automated tests for your documentation `_ .. _vale: Sprachstil überprüfen ~~~~~~~~~~~~~~~~~~~~~ Prosa-Linters wie :abbr:`z.B. (zum Beispiel)` `Vale `__ gehen weit über Rechtschreib- und Grammatikprüfungen hinaus und betrachten auch den Sprachgebrauch: Wiederholt sich das Gesagte? Ist die Sprache zu informell? Ist die Ansprache inkonsistent? Werden unerwünschte Klischees bedient? Oder ist die Sprache sexistisch? Vale wird von vielen Open-Source-Projekten genutzt, :abbr:`u.a. (unter anderem)` von * GitLab (`.vale.ini `_, `Regeln `__) * Homebrew (`.vale.ini `__, `Regeln `__) Mit Vale selbst kommen die folgenden Stile mit: `Microsoft `_ Eine Implementierung des `Microsoft Writing Style Guide `__. `Google `_ Eine Implementierung des Styleguides für den `Google developer documentation style guide `__. `write-good `_ Eine Umsetzung der vom `write-good `__-Linter erzwungenen Richtlinien. `proselint `_ Eine Umsetzung der vom `proselint `__-Linter erzwungenen Richtlinien. `Joblint `_ Eine Umsetzung der vom `Joblint `__-Linter erzwungenen Richtlinien. Ihr könnt Vale installieren mit .. code-block:: console $ brew install vale Wenn ihr als Dokumentationswerkzeug Sphinx nutzt, solltet ihr noch den ``rst2html``-Parser installieren mit .. code-block:: console $ brew install docutils Nun könnt ihr Vale konfigurieren in :file:`.vale.ini`: .. code-block:: ini StylesPath = ./styles MinAlertLevel = suggestion [*.{md,rst}] BasedOnStyles = mystyles vale.Redundancy = YES vale.Repetition = YES vale.GenderBias = YES Anschließend werden die Stile definiert, :abbr:`u.a. (unter anderem)` in :file:`styles/{MY_STYLE}/Polite.yml`, :abbr:`z.B. (zum Beispiel)` mit: .. code-block:: yaml extends: existence message: 'Do not use “%s” in technical documentation.' level: error ignorecase: true tokens: - please - thank you Und schließlich könnt ihr eure Dokumentation überprüfen mit: .. code-block:: console $ vale docs/ ✔ 0 errors, 0 warnings and 0 suggestions in 201 files. Vale liefert nur ein Wörterbuch für `amerikanisches-Englisch `_ mit. Ihr könnt jedoch auch andere Wörterbücher hinzufügen, :abbr:`z.B. (zum Beispiel)` aus `github.com/freedesktop/libreoffice-dictionaries `_. Diese könnt ihr einbinden indem ihr sie lokal zur Verfügung stellt, :abbr:`z.B. (zum Beispiel)` unter :file:`~/Library/Spelling/{de_DE}.{dic,aff}` und sie anschließend in eurem Projekt in der Datei :file:`styles/{MY_STYLE}/Spelling.yml` referenziert: .. code-block:: yaml extends: spelling message: "Rechtschreibprüfung: '%s'" dicpath: ~/Library/Spelling dictionaries: - de_DE_frami level: warning ignore: styles/cusy/ignore.txt .. note:: Wenn ihr den Inhalt eures GitHub-Repository mit Vale überprüfen wollt, könnt ihr eine GitHub-Action hierfür einrichten: `vale-action `_. Üblicherweise werden *literal blocks*, *inline literals* und *code-blocks* ignoriert. Ihr könnt jedoch auch Bereiche aus der Überprüfung herausnehmen mit: .. code-block:: .. vale off Text, der nicht überprüft werden soll. .. vale on .. seealso:: * `Docs `_ * `GitHub `_ * `check package `_