@@ -168,6 +168,11 @@ class RDoc::Options
168168
169169 attr_writer :exclude
170170
171+ ##
172+ # Pages matching this pattern will be hidden from listings but still generated
173+
174+ attr_writer :hide
175+
171176 ##
172177 # The list of files to be processed
173178
@@ -409,6 +414,7 @@ def init_ivars # :nodoc:
409414 @embed_mixins = false
410415 @exclude = [ ]
411416 @files = nil
417+ @hide = [ ]
412418 @force_output = false
413419 @force_update = true
414420 @generator_name = "darkfish"
@@ -461,6 +467,7 @@ def init_with(map) # :nodoc:
461467 @charset = map [ 'charset' ]
462468 @embed_mixins = map [ 'embed_mixins' ]
463469 @exclude = map [ 'exclude' ]
470+ @hide = map [ 'hide' ]
464471 @generator_name = map [ 'generator_name' ]
465472 @hyperlink_all = map [ 'hyperlink_all' ]
466473 @line_numbers = map [ 'line_numbers' ]
@@ -497,6 +504,7 @@ def override(map) # :nodoc:
497504 @charset = map [ 'charset' ] if map . has_key? ( 'charset' )
498505 @embed_mixins = map [ 'embed_mixins' ] if map . has_key? ( 'embed_mixins' )
499506 @exclude = map [ 'exclude' ] if map . has_key? ( 'exclude' )
507+ @hide = map [ 'hide' ] if map . has_key? ( 'hide' )
500508 @generator_name = map [ 'generator_name' ] if map . has_key? ( 'generator_name' )
501509 @hyperlink_all = map [ 'hyperlink_all' ] if map . has_key? ( 'hyperlink_all' )
502510 @line_numbers = map [ 'line_numbers' ] if map . has_key? ( 'line_numbers' )
@@ -628,6 +636,19 @@ def exclude
628636 end
629637 end
630638
639+ ##
640+ # Create a regexp for #hide
641+
642+ def hide
643+ if @hide . nil? || @hide . is_a? ( Regexp )
644+ @hide
645+ elsif @hide . empty?
646+ nil
647+ else
648+ Regexp . new ( @hide . join ( "|" ) )
649+ end
650+ end
651+
631652 ##
632653 # Completes any unfinished option setup business such as filtering for
633654 # existent files, creating a regexp for #exclude and setting a default
@@ -647,6 +668,7 @@ def finish
647668 end
648669
649670 @exclude = self . exclude
671+ @hide = self . hide
650672
651673 finish_page_dir
652674
@@ -865,6 +887,15 @@ def parse(argv)
865887
866888 opt . separator nil
867889
890+ opt . on ( "--hide=PATTERN" , "-H" , Regexp ,
891+ "Hide pages matching PATTERN from the" ,
892+ "sidebar listing. Pages are still" ,
893+ "generated and linkable." ) do |value |
894+ @hide << value
895+ end
896+
897+ opt . separator nil
898+
868899 opt . on ( "--no-skipping-tests" , nil ,
869900 "Don't skip generating documentation for test and spec files" ) do |value |
870901 @skip_tests = false
0 commit comments