Come gestire la documentazione di un progetto open source? [chiuso]


12

Sono il creatore di un progetto open source in crescita. Attualmente, sto diventando frustrato cercando di capire il modo migliore per gestire la documentazione. Ecco le opzioni che ho considerato:

  • Sito Web HTML
  • A Github Wiki
  • File Markdown ospitati su Github
  • Inserimento di tutti i documenti in Github README.md

La documentazione è già scritta in Markdown, non riesco proprio a capire come voglio renderla disponibile. Sono davvero attratto da Git poiché posso diramare e taggare la documentazione proprio come posso ramificare e taggare la fonte.

Potrei usare una libreria Markdown per tradurre Markdown in HTML e visualizzarlo su un sito Web in stile. Avrei bisogno di caricare le modifiche sul sito Web ogni volta che si verificava una modifica e sarebbe difficile gestire tutti i diversi "tag" della documentazione.

I wiki di Github (per quanto ne so) non cambiano in base al ramo in cui ti trovi. Quindi, potrei avere solo la versione "master" della documentazione nel modulo Wiki di Github in qualsiasi momento.

Mettere tutto nel README di Github è un po 'pulito. Ricevo ramificazioni e tag, ma è un po 'stancante da usare e non si presta bene alla navigazione facile.

Mi sto perdendo qualche soluzione fantastica? Quali altre opzioni ho?


1
Anche se non ho davvero una risposta, mi sono imbattuto in questo post sul blog sulla gestione della documentazione con il wiki di Github. cach.me/blog/2010/12/… Potrebbe essere utile.
Jacob Schoen,

Risposte:


6

Una cosa che direi è che la documentazione DEVE essere nei file del codice sorgente (usando qualsiasi markup desiderato) e quindi i documenti generati automaticamente da questi.
Almeno sul tuo sito, puoi generare download formattati dei documenti come parte del pacchetto sorgente in modo che l'utente non abbia bisogno di uno strumento per documenti specifico

Le possibilità che qualcun altro corregga / aggiunga una funzione e quindi modifichi / aggiunga un po 'di documentazione di markup immediatamente adiacente nello stesso file può essere bassa MA la possibilità che trovino un file completamente diverso in un repository di documenti diverso per fare lo stesso è leggermente meno di zero.

Puoi sempre avere un tutorial.h che contiene grandi blocchi di testo, se lo desideri, ma trattalo come parte della fonte


7
A mio avviso, la documentazione generata dai file di origine è necessariamente ma raramente sufficiente. Una documentazione adeguata deve sempre includere copiosi esempi non banali, nonché un tutorial passo-passo. Inoltre, la documentazione generata dal codice sorgente è valida solo come la documentazione incorporata nel codice sorgente.
Adam Crossland,

Non intendevo generare automaticamente dal codice. Voglio dire che se stai spiegando cosa fa una funzione, deve essere accanto alla funzione o non viene aggiornata. Puoi comunque inserire una documentazione introduttiva in un'intro.h separata. Ciò è particolarmente importante per una libreria in cui sono necessari documenti precisi per funzione
Martin Beckett,

4

Se il tuo progetto è una libreria, niente è meglio della documentazione in stile javadoc per documentare la sintassi dell'API dai commenti all'interno del codice stesso.

Per quanto riguarda la documentazione su tutorial, esempi di utilizzo, ecc. Consiglio vivamente di usare un formato wiki. Altri progetti che ho visto hanno pagine separate per diversi rami. Quando si avvia una nuova filiale, è sufficiente copiare le cose che non sono cambiate in una nuova pagina e aggiornare da lì.

La mia ragione per raccomandare una wiki è aneddotica, ma per esperienza personale. Ho apportato aggiornamenti di documentazione a progetti open source in diverse occasioni, ma sono stati tutti su wiki. Se sto cercando di capire qualcosa e la documentazione è fuorviante o inutile, dopo averlo capito aggiornerò il wiki mentre sono nei documenti ed è fresco nella mia mente. Se non per un senso di restituzione, almeno perché so che probabilmente dovrò cercarlo di nuovo da solo tra un anno o due.

Se non esiste un wiki, la barriera all'ingresso è troppo alta per disturbare, tra capire come viene generata la documentazione, dove viene archiviata, ottenere le ultime dal controllo del codice sorgente, come apportare modifiche, apportare le modifiche effettive e navigare nelle mailing list per ottenere una patch accettata.

Se desideri uno stretto controllo sulla tua documentazione, usa sicuramente tutto ciò che è più comodo per te, perché sarai principalmente l'unico ad aggiornarla. Se vuoi incoraggiare la partecipazione della comunità, usa un wiki.


1

I file di markdown ospitati con il sorgente funzionano molto bene.

Gli strumenti di docutils basati su RST , ad esempio, possono creare HTML o LaTex (e PDF) da un set di documenti.

Questo - in effetti - combina l'opzione 1 e l'opzione 3.


0

Se non ti dispiace convertire i documenti da Markdown a reStructuredText, considera Sphinx . È facile come il markdown, ma è molto più potente.


1
ti dispiacerebbe spiegare di più su ciò che fa e perché lo consigli come rispondere alla domanda posta? Le "risposte solo link" non sono del tutto benvenute allo Stack Exchange
moscerino
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.