Module | YARD::Templates::Helpers::MarkupHelper
In: | lib/yard/templates/helpers/markup_helper.rb

Helper methods for loading and managing markup types.

### Methods

clear_markup_cache load_markup_provider markup_class markup_file_contents markup_for_file markup_provider

### Constants

MARKUP_PROVIDERS

=

{ :markdown => [ {:lib => :redcarpet, :const => 'RedcarpetCompat'}, {:lib => :rdiscount, :const => 'RDiscount'}, {:lib => :kramdown, :const => 'Kramdown::Document'}, {:lib => :bluecloth, :const => 'BlueCloth'}, {:lib => :maruku, :const => 'Maruku'}, {:lib => :'rpeg-markdown', :const => 'PEGMarkdown'}, ], :textile => [ {:lib => :redcloth, :const => 'RedCloth'}, ], :textile_strict => [ {:lib => :redcloth, :const => 'RedCloth'}, ], :rdoc => [ {:lib => nil, :const => 'YARD::Templates::Helpers::Markup::RDocMarkup'}, ], :ruby => [], :text => [], :pre => [], :html => [], :none => [], }

The default list of markup providers for each markup type

MARKUP_EXTENSIONS | = | { :html => ['htm', 'html', 'shtml'], :text => ['txt'], :textile => ['textile', 'txtile'], :markdown => ['markdown', 'md', 'mdown', 'mkd'], :rdoc => ['rdoc'], :ruby => ['rb', 'ru'] |  | Returns a list of extensions for various markup types. To register extensions for a type, add them to the array of extensions for the type. @since 0.6.0
MARKUP_FILE_SHEBANG | = | /\A#!(\S+)\s*$/ |  | Contains the Regexp object that matches the shebang line of extra files to detect the markup type.

### Attributes

markup_cache | [RW] | @return [Hash{Symbol=>{(:provider,:class)=>Object}}] the cached markup providers @private @since 0.6.4

### Public Class methods

clear_markup_cache()

Clears the markup provider cache information. Mainly used for testing. @return [void]

### Public Instance methods

load_markup_provider(type = options[:markup])

Attempts to load the first valid markup provider in {MARKUP_PROVIDERS}. If a provider is specified, immediately try to load it.

On success this sets `@markup_provider` and `@markup_class` to the provider name and library constant class/module respectively for the loaded provider.

On failure this method will inform the user that no provider could be found and exit the program.

@return [Boolean] whether the markup provider was successfully loaded.

markup_class(type = options[:markup])

Gets the markup provider class/module constant for a markup type Call {load_markup_provider} before using this method.

@param [Symbol] the markup type (:rdoc, :markdown, etc.) @return [Class] the markup class

markup_file_contents(contents)

Strips any shebang lines on the file contents that pertain to markup or preprocessing data.

@deprecated Use {CodeObjects::ExtraFileObject#contents} instead @return [String] the file contents minus any preprocessing tags @since 0.6.0

markup_for_file(contents, filename)

Checks for a shebang or looks at the file extension to determine the markup type for the file contents. File extensions are registered for a markup type in {MARKUP_EXTENSIONS}.

A shebang should be on the first line of a file and be in the form:

      #!markup_type

Standard markup types are text, html, rdoc, markdown, textile

@param [String] contents Unused. Was necessary prior to 0.7.0.

      Newer versions of YARD use {CodeObjects::ExtraFileObject#contents}

@return [Symbol] the markup type recognized for the file @see MARKUP_EXTENSIONS @since 0.6.0

markup_provider(type = options[:markup])

Gets the markup provider name for a markup type Call {load_markup_provider} before using this method.

@param [Symbol] the markup type (:rdoc, :markdown, etc.) @return [Symbol] the markup provider name (usually the gem name of the library)

[Validate]