Was ist der Mathworks Weg zur Generierung von Matlab in der HTML-Dokumentation?
Bin ich arbeiten auf gemeinsam genutzten Matlab-code, und wir möchten, zu teilen einer generierten Dokumentation als durchsuchbare HTML-Dokumente in unserem lokalen Netzwerk.
Ich kenne die folgenden Methoden zum generieren einer Dokumentation:
- Schreiben Sie ein Programm, um C++-Dateien wie. Dies geschieht in Mithilfe von Doxygen mit Matlab (Zuletzt aktualisiert 2011) und mtoc++ (Letzte Aktualisierung 2013). Die C++-ähnliche Dateien werden dann von Doxygen analysiert.
- Die Verwendung von Python ist sphinxcontrib-matlabdomain zum erzeugen einer HTML-Dokumentation.
- Verwenden m2html das ist auch ein third-party-Lösung.
- Weitere Optionen aufgelistet, die in diesem Q&As: Ein, Zwei und Drei.
Alle Möglichkeiten werden nicht unterstützt von Mathworks. Alle Möglichkeiten müssen mich zu erwähnen, d.h. die Parameter einer Funktion selbst. Sie nicht analysieren Sie den code in dem Sinne, Doxygen macht es für z.B. Java:
//! an object representation of the advertisement package sent by the beacon
private AdvertisementPackage advertisementPackage;
Hörte ich von Matlab ist publish() Funktion, aber ich habe nie sehen Sie es in dem genannten Sinn.
Frage: Was ist der Mathworks Weg zur Generierung von Matlab in der HTML-Dokumentation. Der code selbst analysiert werden? Kann ich die Nutzung der bereitgestellten Informationen die Matlab-Eingabe-Parser bereits? Bitte erwähnen Sie Ihre persönlichen Vorlieben in die Kommentare.
Beispiel:
%% Input parser
p = inputParser;
addRequired(p, 'x', @isnumeric);
validationFcn = @(x) (isnumeric(x) && isscalar(x));
addRequired(p, 'fftSize', validationFcn);
addRequired(p, 'fftShift', validationFcn);
validationFcn = @(x) (isa(x, 'function_handle'));
addRequired(p, 'analysisWindowHandle', validationFcn);
parse(p, x, fftSize, fftShift, analysisWindowHandle);
- Um zu klären, matlabdomain Sphinx-Erweiterung, verfasst von mir, nicht analysieren Ihren code und generieren Sie automatisch Dokumente ähnlich Epydoc. Versuchen Sie es mit der
autosummary extension
, um eine Liste Ihrer gewünschten Quelle, dannsphinx-autogen
automatisch generiertautodoc
stub-Dateien, dann bauen Sie Ihre docs. - Wir nun beschlossen, die Sphinx Straße bekamen wir schnelle und gute feedback, wenn Probleme auftreten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, du hast erforscht dieses Thema auch (wie zu generieren der HTML-Dokumentation von MATLAB-Funktionen), jetzt ist es an Ihnen zu entscheiden, welche Methode für Sie am besten funktioniert.
Den
veröffentlichen
- Funktion könnte verwendet werden, um Autor-Dokumentation. Sie schreiben regelmäßige M-Dateien mit speziell gestaltete Kommentare (in der Tat kann die Datei werden alle Kommentare ohne code), dann veröffentlichen Sie die Datei zu erhalten gerenderten HTML (es unterstützt auch andere Ziele wie PDF, DOC, LaTeX, etc...). Denke, dass es einfacher MATLAB-spezifische version von Markdown, die hier verwendet auf Stack Exchange Seiten formatieren Beiträge.Einen Aspekt, die Sie nicht erwähnen ist die Integration der Dokumentation in die eingebaute Hilfe-viewer. Dies geschieht durch erstellen
info.xml
unddemos.xml
Dateien, und organisieren die Dokumentation in einer bestimmten Weise. Sie könnte auch machen Sie Ihren custom docs suchbar durch den Bau Lucene index-Dateien mitbuilddocsearchdb
- Funktion (die intern Befugnisse der suchen-Funktion in MATLAB benutzerdefinierte docs). Beachten Sie, dass es egal ist, wie Sie erzeugt die HTML-Dokumentation (die Sie benutzt haben könntepublish
oder auch manuell geschriebenen HTML-Dateien).In der Tat die
publish
-basierten workflow ist erweiterbar und Sie können es verwenden, auf interessante Weise durch das erstellen von benutzerdefinierten XSL template-Dateien zu transformieren und zu Rendern, das die analysierten Kommentare. Zum Beispiel habe ich gesehen, dass es verwendet, um Rendern von Formeln mit MathJax, anstatt sich auf die integrierte Lösung. Ein weiteres Beispiel ist publishing MediaWiki-markup (format Wikipedia). Andere Leute es verwenden, um blog-Beiträge schreiben (siehe offizielle blogs auf der MATLAB Central, die schaffen auf diese Weise), oder auch erzeugen von text-Dateien später verarbeitet von der statischen Website-Generatoren (wie Jekyll und Octopress frameworks).Soweit ich weiß, gibt es keine öffentlich verfügbaren tools untersuchen MATLAB-code auf einer tieferen Ebene und analysiert die Funktion Parameter. Beste, ich könnte kommen, ist mit über Reflexion zu erhalten, einige Metadaten über Funktionen und Klassen, obwohl diese Lösung ist nicht perfekt...
MathWorks zu sein scheint, mit Ihren eigenen internen system Autor der HTML-Dokumentation. Schade, Sie müssen nicht teilen Sie es mit uns user 🙂
Ich denke, dies ist die offiziell santioned Mathworks Art und Weise der Dokumentation:
http://www.mathworks.co.uk/help/matlab/matlab_prog/display-custom-documentation.html
Grundsätzlich schreiben, die HTML, und fügen Sie eine Reihe von Dateien, um es durchsuchbar und Kš Onnen Sie in der MATLAB-Dokumentation.
publish
Funktion mit der MathWorks-markup-Tags für den code.publish
funktioniert nur für Skripte, und führt das script zum generieren des HTML-Codes. Wenn Sie möchten, zu gehen, dass die route, die Sie benötigen um ein Skript zu schreiben (es kann sein, meist gekennzeichnet-Kommentare), die im wesentlichen Ihrer Dokumentation, mit ein wenig code, dass Anrufe auf Ihre Funktion zu generieren, die ein Beispiel zum Aufruf der Funktion in der doc.gibt es eine einfache Art und Weise zu verwenden, zu veröffentlichen mit einer Funktion & Ihre entsprechenden Eingänge. Blick auf
publish('test',struct('codeToEvaluate','test(inputs);','showCode',false,
.))