Comment définir des sections sans === En-têtes pour RDoc :: usage ()?
Question
J'aime générer des pages de manuel à l'aide de la sortie '--help' via help2man et txt2man. Le système RDoc de Ruby est très pratique, mais je n'arrive pas à configurer RDoc :: use de la manière que je souhaite. Voici un exemple de script:
#!/usr/bin/env ruby
#
# === Name
#
# foobar - Example command for StackOverflow question
#
# === Synopsis
#
# Usage: foobar [--help]
#
# === Options
#
# --help This help message
require 'rdoc/usage'
RDoc::usage('name', 'synopsis', 'options')
La sortie du script ressemble à ceci:
Name
foobar - Example command for StackOverflow question
Synopsis
Usage: foobar [--help]
Options
--help This help message
Mais je voudrais vraiment supprimer le " Nom " et " Synopsis " en-têtes pour ma sortie d’utilisation, mais les marque quand même comme des sections pour une sortie vers une page de manuel.
L'utilisation du balisage ': section:' fonctionne pour RDoc :: Rdoc, mais pas pour RDoc :: usage. Existe-t-il un moyen évident de marquer les sections pour utilisation.rb sans imprimer les en-têtes?
La solution
Consultez le code source de < code> RDoc :: usage_no_exit ; vous avez deux moyens de vous accrocher à vos tripes pour réaliser ce que vous désirez:
- Définissez
ENV ['RI']
pour appliquer différentes options de formatage (y compris la spécification d'une classe de formateur personnalisée) ou -
Redéfinissez la valeur par défaut de RI :: TextFormatter display_heading (et / ou d’autres méthodes) pour (ne pas) afficher les en-têtes ou autre chose
require 'rdoc/usage' require 'rdoc/ri/ri_formatter' module RI class TextFormatter def display_heading # nop end end end RDoc::usage('name')