Code-Dokumentationssystem (wie javadoc/pydoc usw.), das für weniger gebräuchliche Sprachen (z. B. SAS) austauschbar ist

Bei der Arbeit haben wir neben den "typischeren" Sprachen wie Java und Python (für die wir bereits ziemlich gute Dokumentationstools haben) auch ziemlich viel SAS-Code. Die dortige Arbeit zur Erstellung gemeinsamer, wiederverwendbarer SAS-Makros lief gut, aber das bedeutet, dass wir jetzt mehr haben, als unsere bestehenden manuellen Dokumentations- und Schulungsprozesse bewältigen können. Wir müssen daher automatisch eine durchsuchbare Dokumentation für diesen Code im HTML-Format generieren, damit jeder ihn sehen kann, und idealerweise auch durchsuchbar machen.

Für SAS-Code scheinen die Optionen zur Dokumentationsgenerierung ziemlich begrenzt zu sein, wobei DocItOut (früher SASDoc) ungefähr die einzige Option ist, und die seit einigen Jahren nicht mehr aktualisiert wurde. Anhand der Screenshots ist die Generierung etwas klobig, die Ausgabe etwas veraltet und keine Suche. Darüber hinaus haben wir eine ganze Reihe von benutzerdefinierten Metadaten in den Dateiheadern, die wir ebenfalls offenlegen möchten.

Ich denke daher, dass die einfachste Option darin besteht, ein gutes, modernes, in Sprachen austauschbares Code-Dokumentationssystem zu finden und dann einen benutzerdefinierten Parser für SAS-Code einzubauen, einschließlich Unterstützung für unsere benutzerdefinierten Header-Metadaten. Das Schreiben eines Parsers sollte ziemlich einfach für mich sein, basierend auf der Arbeit, die ich bereits an anderer Stelle zum Parsen von SAS-Code geleistet habe, also brauche ich nur ein Framework, in das sich neue Sprachen einfach integrieren lassen.

Was ist ein gutes Codedokumentations-Generierungssystem mit austauschbarer Unterstützung für neue / benutzerdefinierte Sprachen? Bonuszeichen, wenn es auch die Suche enthält

Antworten (2)

Ich würde vorschlagen, den Sphinx Document Generator auszuprobieren:

  • Kostenlos/kostenlos/Open Source
  • Geschrieben in Python
  • Sie können die Sprachunterstützung erweitern, indem Sie eine neue Domäne hinzufügen: derzeit Ada-, CoffeeScript-, Erlang-, HTTP-, Lasso-, MATLAB-, PHP- und Ruby-Domänen. Ebenfalls verfügbar sind Domains für Common Lisp, dqn, Go, Jinja, Operation und Scala.
  • Modern, gut aussehend, benutzerdefinierte(r) Stil(e).
  • Ausgabe mehrerer Dokumentationstypen – HTML (einschließlich Windows HTML Help), LaTeX (für druckbare PDF-Versionen), ePub, Texinfo, Handbuchseiten, einfacher Text
  • Automatische Verzeichnisse: Allgemeines Verzeichnis sowie ein sprachspezifisches Modulverzeichnis.
  • Automatisches Hervorheben mit dem Pygments-Highlighter , der selbst normalerweise durch Hinzufügen eines Regex -Lexers erweiterbar ist .
  • In der HTML-Ausgabe verfügbare Suche mit einer JavaScript-basierten Offline-Suche .

Doxygen ist ein beliebter, mehrsprachiger Dokumentationsgenerator. Es ist hauptsächlich für C++ (wahrscheinlich eine der komplexesten Sprachen) gedacht, enthält aber auch Unterstützung für einige andere.

http://www.doxygen.nl/

Es ist möglicherweise das beliebteste derartige Tool außerhalb von JavaDoc/Python Docstrings.

Wenn Sie nur Syntaxhervorhebung wünschen, versuchen Sie es mit pygments.