Frage

Im Anschluss an meiner vergangenes Jahr der Frage auf Dokumentation, ich will jetzt bekommen gestartet und ausprobieren Python-basierte Sphinx für eine PHP-CMS ich zusammen, um die Entwickler-Dokumentation setzen gearbeitet haben auf.

Statt Python Einrichtung lokal auf meinem Arbeitsplatz, würde Ich mag es auf einem öffentlich zugänglichen Webserver von Anfang an laufen. Alle Web-Hosting-Pakete Ich habe Zugriff auf dem LAMP-Stack laufen, und ich bin nur ungern Hosting-Python-basierte zu kaufen. Ich bin sehr interessiert in der Google App Engine, die freien Quoten bieten sie wird über hundertmal für mich tun, und selbst wenn nicht, ihre Preisgestaltung sieht sehr vernünftig.

Jetzt habe ich null Wissen über Python - immer Sphinx an der Arbeit würde mein erster Kontakt mit ihm sein - und sehr wenig Zeit. Soweit ich verstehe, bietet die Plattform und Python Bibliotheken der App Engine sind sehr kompatibel zu einem Standard-Python-Bibliothek, aber nicht identisch .

Also meine Frage ist:

  • Can Sphinx läuft auf App Engine überhaupt?

  • Ist die Installation von Sphinx auf der App Engine so einfach, wie wenn ich es auf einer normalen Python-Installation installieren würde? Oder wird die Umgebung des App Engine erfordert des Quellcodes zwicken, dass ich nicht in angemessener Zeit mit meinem derzeitigen Niveau von Python ausführen kann?

  • Should I Sphinx auf einem lokalen Server und einen "normalen" Python-Stack statt zuerst werden zu installieren?

  • Weiß jemand, jede hilfreich wie-zu, Tutorials oder andere Ressourcen für das?

War es hilfreich?

Lösung

Interessantes Projekt! Die wichtigste Frage, Sie gehen in laufen ist, dass der Dateisystemzugriff: Das Dateisystem auf App Engine ist schreibgeschützt, und basierend auf an der Quelle suchen, Sphinx ist ziemlich hart codierte das Dateisystem für die Ausgabe zu verwenden. Er erwartet, dass auch die Konfigurationsdatei und Eingabedateien aus dem lokalen Dateisystem zu lesen, die mit der App heikel für etwas anderes als Projekte gebündelt Bau docs machen würde.

Es ist möglich, dies zu umgehen, aber es würde erfordert ein einfaches virtuelles Dateisystem zu schreiben, die den App Engine-Datenspeicher verwendet, und mit monkeypatching , um es mit dem regulären Python-Datei-Schnittstelle zu arbeiten. Das ist ziemlich fortgeschritten für ein „neues Python“ Projekt!

Eine andere Sache, die Sie vielleicht prüfen, ob Sie erwägen wurden so dass Anwender Projekte hochladen zu dokumentieren: Die Sphinx-Konfigurationsdatei in Python ist, so ausgeführt wird es gefährlich sein könnte - ein Benutzer böse Dinge mit ein, um Ihre Anwendung tun könnte bösartige Konfigurationsdatei!

Andere Tipps

Sie brauchen nicht Sphinx auf GAE überhaupt zu installieren.

Sie verwenden Sphinx ein Verzeichnis von statischen HTML, CSS und JS zu erstellen. Wenn dieser Schritt abgeschlossen ist, laden Sie einfach die Ausgabe von Sphinx -. In seiner Gesamtheit

Die Ausgabe von Sphinx (HTML, CSS und JS) einfach bedient von einem Ort . Sie laden die Dokumentation aus, wo Sie es GAE als statische Dateien erstellt und sie dienen. Fertig.

Es gibt keinen „Installation auf einem Web-Server“ Aspekt Sphinx überhaupt. Sphinx ist nicht eine Web-Anwendung; es nicht auf dem Webserver ausgeführt werden. Sie führen sie in der Entwicklung kurz in der Dokumentation zu HTML, LaTeX oder was auch immer zu veröffentlichen. Sobald Sie die statische HTML-Dateien erstellt haben, müssen Sie nicht mehr einen Teil Sphinx überall.

  

Can Sphinx läuft auf App Engine überhaupt?

Ich kann es annehmen, aber man kann nie müssen.

  

Ist die Installation von Sphinx auf der App Engine   so einfach wie ...

Es spielt keine Rolle, weil Sie nicht installieren es dort. Sie installieren es auf Ihrem Arbeitsplatz und verwenden Sie es auf Ihrer Workstation.

  

Should I Sphinx auf einer Installation werden   lokale Server und ein „normaler“ Python   stapeln, statt zuerst?

Sie es nicht auf einem Server installieren. Installieren Sie es auf Ihrer Workstation.

  

kennt jemand eine hilfreich   Wie-zu, Tutorials oder andere Ressourcen   für das?

Wenn von „this“ Sie bedeuten „auf einem Web-Server installieren“, dann dann ist die Antwort „Nein“. Man muss das Gerät nicht auf einem Webserver. So gibt es keine wie-zu, Tutorials oder Ressourcen für die „auf einem Web-Server installieren“.

Wenn von „this“ Sie bedeuten „Dokumentation zu schaffen mit Sphinx“, dann ist die Antwort lautet: „Was ist los mit http: // sphinx.pocoo.org ? Was fehlt ihnen?


  

würde ich Sphinx „Motor“ wie die   schaltet den Eingang (bestehend aus reST   Dateien) in HTML / CSS / JS zu sein   von überall zugänglich ist mir zu machen   (Und mögliche andere Mitwirkenden)   unabhängig von einem bestimmten   Workstation.

Sphinx ist wie ein Compiler. Jeder hat seine eigene Kopie auf ihrem Arbeitsplatz. Sie laden Sie die Dokumentquelle, Änderungen, verpflichten sich, die Quelle ändert, und laden Sie das resultierende Dokument.

  

dienen der erzeugten Dokumentation von   die gleiche Stelle.

Richtig. Nachdem Sie die Quelle, Änderungen herunterladen, um das Dokument regenerieren und die Änderungen zu übernehmen, können Sie das resultierende Dokument laden, so dass es von einem serviert wird - und nur einen -. Ort

Sphinx ist ein Compiler. Es ist kein „Web-Engine“. Es ist ein einfacher Compiler, dass Sie einfach Ihre Dokumentation in HTML erstellt, so dass es serviert werden kann.

Der Unterschied zwischen Einsatz vor Ort über dev_appserver und remote über appcfg hat - meiner Erfahrung nach - beschränkt auf, welcher der beiden Befehle ausführen ich. Das heißt, ich keine Erfahrung mit Sphinx haben.

Sphinx kompiliert Dokumentation, es auf einem Webserver macht so viel Sinn laufen wie auf einem Webserver gcc ausgeführt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top