Skip to content

Dokumentation für Teilnehmer der Software-Challenge Germany

Notifications You must be signed in to change notification settings

GhaithDmirieh/docs

 
 

Repository files navigation

Software-Challenge Endbenutzer-Dokumentation

In diesem Repository befindet sich die Endbenutzer-Dokumentation für die Software-Challenge. Zielgruppe sind Schüler und Lehrer, die an der Software-Challenge teilnehmen.

Beitragen

Wir freuen uns über sämtliche Verbesserungsvorschläge.
Die Dokumentation kann direkt hier auf GitHub editiert werden, einzige Voraussetzung ist eine kostenlose Registrierung bei GitHub. Ist man angemeldet, kann man ein Dokument auswählen und dann auf den Stift oben rechts klicken. Ein guter Startpunkt ist die Datei index.adoc, die Verweise auf alle Sektionen der Dokumentation enthält. Damit wird von GitHub automatisch ein Fork und ein dazugehöriges Pull Request erstellt.
Alternativ auch gern eine E-Mail an svk@informatik.uni-kiel.de oder eine Nachricht im Discord.

Konventionen

  • Die Hauptdatei ist index.adoc im Wurzelverzeichnis. Alle anderen Dateien werden per include-Anweisung in die Hauptdatei eingebunden.

  • Dateinamen und Verzeichnisnahmen sollten nur die Zeichen a bis z sowie Bindestriche (-) enthalten.

  • Sprache für Dateinamen, Verzeichnisnamen sowie Inhalt ist Deutsch. Sprache für Attribute und sonstige Interna ist Englisch.

  • Als Endung für Asciidoc wird .adoc benutzt.

  • Es wird des ATX-Format für Überschriften verwendet (also =, ==, === etc.)

  • Zeilenumbrüche jeweils am Ende von Sätzen bzw. semantischen Grenzen, orientiert an Semantic Line Breaks.

  • Commitnachrichten wird der Dateipfad der geänderten Datei oder des Ordners vorangestellt, ggf. gekürzt um überflüssige Elemente (z.B. 'blokus/' statt 'spiele/blokus/').

Konvertierung

Um schnell starten zu können, existiert ein setup-skript. Es installiert die benötigten Ruby-Gems anhand des Gemfile:

./docs setup

Um alles in HTML zu Übersetzen, sollte folgender Befehl verwendet werden:

./docs generate

Wenn zusätzlich die Option pdf angehängt wird, wird auch asciidoctor-pdf aufgerufen. Aus Geschwindigkeitsgründen wird darauf standardmäßig verzichtet.

Intern wird asciidoctor verwendet:

asciidoctor -D out index.adoc

Die fertige HTML-Version befindet sich dann unter out/index.html.

Bei Bedarf kann die Dokumentation auch in ein anderes Format konvertiert werden, Details hierzu finden sich in der AsciiDoctor Dokumentation.

Live-Preview

Noch nicht vollständig getestet. Im Moment sehr langsam, da alles neu übersetzt wird.

Einen Live-Preview-Mode gibt es leider nicht direkt, aber es gibt verschiedene Wege um ein Live-Preview zu bekommen. Einer ist die Nutzung von guard. Dies kann durch folgenden Aufruf installiert werden:

./docs setup live

Dies installiert dann die folgenden Gems: guard guard-shell guard-livereload yajl-ruby

Ein passendes Guardfile liegt schon im Repository, man kann guard also einfach mittels guard start starten, und die Ausgabe im Verzeichnis out wird aktualisiert, sobald man etwas an den Quellen ändert.

Um die Browseransicht automatisch zu aktualisieren, installiere zusätzlich die LiveReload extension.

Quickstart

Es werden häufig Links zu anderen Teilen des Dokumentes genutzt (die Dokumentation ist ein einzelnes großes Dokument). Diese haben folgenden Syntax:

<<Sektionslabel,anzuzeigender Linktext>>

Sektionslabel stehen über allen Überschriften und werden mit doppelten eckigen Klammern definiert:

[[labelname]]

Deployment

Die öffentliche Seite wird automatisch bei jedem push in den main-Branch von GitHub aktualisiert. Dies geschieht durch einen GitHub Actions Workflow, siehe .github/workflows/auto-publish.yml. Der Workflow speichert die generierten Seiten im live branch des Repositories, welcher nach Benachrichtigung durch einen Webhook im gepullt wird.

About

Dokumentation für Teilnehmer der Software-Challenge Germany

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 73.1%
  • Ruby 16.5%
  • Dockerfile 10.4%