Mi piace usare Textile o Markdown per scrivere file readme per i miei progetti, ma quando genero l'RDoc il file readme viene interpretato come RDoc e sembra davvero orribile. C'è un modo per far funzionare RDoc tramite RedCloth o BlueCloth invece del proprio formattatore? Può essere configurato per rilevare automaticamente la formattazione dal suffisso del file? (Ad esempio README.textile viene eseguito tramite RedCloth, ma README.mdown viene eseguito tramite BlueCloth)Posso ottenere il mio README.textile nel mio RDoc con una formattazione corretta?
5
A
risposta
7
L'utilizzo di YARD anziché RDoc consente di includere direttamente i file Textile o Markdown a condizione che i suffissi dei file siano ragionevoli. Io uso spesso qualcosa come il seguente compito Rake:
desc "Generate RDoc"
task :doc => ['doc:generate']
namespace :doc do
project_root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
doc_destination = File.join(project_root, 'doc', 'rdoc')
begin
require 'yard'
require 'yard/rake/yardoc_task'
YARD::Rake::YardocTask.new(:generate) do |yt|
yt.files = Dir.glob(File.join(project_root, 'lib', '**', '*.rb')) +
[ File.join(project_root, 'README.md') ]
yt.options = ['--output-dir', doc_destination, '--readme', 'README.md']
end
rescue LoadError
desc "Generate YARD Documentation"
task :generate do
abort "Please install the YARD gem to generate rdoc."
end
end
desc "Remove generated documenation"
task :clean do
rm_r doc_dir if File.exists?(doc_destination)
end
end
2
Se ospitate il vostro progetto su GitHub è anche possibile utilizzare http://rdoc.info per creare e pubblicare i tuoi rdocs con YARD automaticamente.
0
Mi rendo conto che il codice in 26819 è stato preceduto da "qualcosa di simile", ma ci sono problemi in cui mi sono imbattuto. Le mie modifiche alla risposta sono state respinte, quindi ecco una versione fissa (le modifiche sono commentate):
desc "Generate RDoc"
task :doc => ['doc:generate']
namespace :doc do
# edit: typically (for gems, at least), Rakefile is in the root, so ".", not ".."
project_root = File.expand_path(File.join(File.dirname(__FILE__), '.'))
doc_destination = File.join(project_root, 'doc', 'rdoc')
begin
require 'yard'
require 'yard/rake/yardoc_task'
YARD::Rake::YardocTask.new(:generate) do |yt|
# edit: README.md is not a ruby source file - see
# https://stackoverflow.com/questions/7907698/yard-0-7-3-fails-to-build-my-readme-in-both-markdown-and-textile
# remove README.md from yt.files
yt.files = Dir.glob(File.join(project_root, 'lib', '**', '*.rb'))
yt.options = ['--output-dir', doc_destination, '--readme', 'README.md']
end
rescue LoadError
desc "Generate YARD Documentation"
task :generate do
abort "Please install the YARD gem to generate rdoc."
end
end
desc "Remove generated documenation"
task :clean do
#edit: doc_dir was undefined; replaced by doc_destination
rm_r doc_destination if File.exists?(doc_destination)
end
end
Problemi correlati
- 1. Come posso ottenere il mio percorso precedente?
- 2. Come posso ottenere Emacs per indentare il mio // commenti con il mio codice?
- 3. Html nel mio database!
- 4. Agente SQL Server - ottenere il mio job_id
- 5. Come posso ottenere un valore da una coppia chiave/valore xml con xpath nel mio xslt?
- 6. Ottenere il mio indirizzo IP
- 7. Come ospitare il mio servizio WCF nel mio sito web?
- 8. Come posso ottenere una data dal mio calendario?
- 9. Perché il mio contesto nel mio frammento è nullo?
- 10. Posso includere dylib-s nel mio eseguibile?
- 11. Come configurare il mio server SMTP nel mio sistema?
- 12. Come ottenere il nome dell'attuale rake nel mio modello Rails?
- 13. Posso includere "vcredist_x86.exe" nel mio setup
- 14. Come posso salvare il mio oggetto nel mio database in LINQ a SQL?
- 15. Come posso correggere il testo sfocato nel mio canvas HTML5?
- 16. Come posso ottenere il mio dispositivo ID di registrazione
- 17. Come posso aggiungere il mio modulo personalizzato al blocco personalizzato nel mio modulo personalizzato
- 18. Come posso far funzionare il mio XBAP nel mio browser invece di scaricarlo su Windows 7?
- 19. Perché non posso inizializzare il mio membro di dati statici nel mio costruttore
- 20. Come collego il mio HTML con il mio jQuery?
- 21. Dove posso trovare il file application.exe.config nel mio progetto C#?
- 22. RStudio, knitr, pandoc, Word: come posso ottenere una "nuova pagina" nel mio documento?
- 23. Come posso ottenere il mio ngResource per accettare intestazioni personalizzate?
- 24. Come posso ottenere il mio server DNS corrente in C#?
- 25. come ottenere il mio UIWindow usando UIApplication?
- 26. Come posso creare il mio microcontrollore?
- 27. Come posso ottenere il nome della proprietà nel mio modello di editor personalizzato MVC3
- 28. Ottenere il mio IP pubblico tramite API
- 29. Come posso ottenere l'altezza di una riga specifica nel mio UITableView
- 30. Come posso ottenere una variabile di "debug" nel contesto del mio modello Django?
YARD sembra una soluzione più sana di RDoc, grazie! – Theo