# File lib/asciidoctor/stylesheets.rb, line 24 def primary_stylesheet_data @primary_stylesheet_data ||= ::IO.read(::File.join(STYLESHEETS_DATA_PATH, 'asciidoctor-default.css')).chomp end
class Asciidoctor::Stylesheets
A utility class for working with the built-in stylesheets.
Constants
- DEFAULT_PYGMENTS_STYLE
- DEFAULT_STYLESHEET_NAME
- STYLESHEETS_DATA_PATH
Public Class Methods
instance()
click to toggle source
# File lib/asciidoctor/stylesheets.rb, line 13 def self.instance @__instance__ end
Public Instance Methods
coderay_stylesheet_data()
click to toggle source
Public: Read the contents of the default CodeRay stylesheet
returns the [String] CodeRay stylesheet data
# File lib/asciidoctor/stylesheets.rb, line 45 def coderay_stylesheet_data # NOTE use the following lines to load a built-in theme instead # unless load_coderay.nil? # ::CodeRay::Encoders[:html]::CSS.new(:default).stylesheet # end @coderay_stylesheet_data ||= ::IO.read(::File.join(STYLESHEETS_DATA_PATH, 'coderay-asciidoctor.css')).chomp end
coderay_stylesheet_name()
click to toggle source
# File lib/asciidoctor/stylesheets.rb, line 38 def coderay_stylesheet_name 'coderay-asciidoctor.css' end
embed_coderay_stylesheet()
click to toggle source
# File lib/asciidoctor/stylesheets.rb, line 53 def embed_coderay_stylesheet %Q(<style> #{coderay_stylesheet_data} </style>) end
embed_primary_stylesheet()
click to toggle source
# File lib/asciidoctor/stylesheets.rb, line 28 def embed_primary_stylesheet %Q(<style> #{primary_stylesheet_data} </style>) end
embed_pygments_stylesheet(style = nil)
click to toggle source
# File lib/asciidoctor/stylesheets.rb, line 80 def embed_pygments_stylesheet style = nil %Q(<style> #{pygments_stylesheet_data style} </style>) end
load_pygments()
click to toggle source
def load_coderay
(defined? ::CodeRay) ? true : !(Helpers.require_library 'coderay', true, :ignore).nil?
end
# File lib/asciidoctor/stylesheets.rb, line 94 def load_pygments (defined? ::Pygments) ? true : !(Helpers.require_library 'pygments', 'pygments.rb', :ignore).nil? end
primary_stylesheet_data()
click to toggle source
Public: Read the contents of the default Asciidoctor stylesheet
returns the [String] Asciidoctor stylesheet data
primary_stylesheet_name()
click to toggle source
# File lib/asciidoctor/stylesheets.rb, line 17 def primary_stylesheet_name DEFAULT_STYLESHEET_NAME end
pygments_stylesheet_data(style = nil)
click to toggle source
Public: Generate the Pygments stylesheet with the specified style.
returns the [String] Pygments stylesheet data
# File lib/asciidoctor/stylesheets.rb, line 70 def pygments_stylesheet_data style = nil if load_pygments (@pygments_stylesheet_data ||= {})[style || DEFAULT_PYGMENTS_STYLE] ||= (::Pygments.css '.listingblock .pygments', :classprefix => 'tok-', :style => (style || DEFAULT_PYGMENTS_STYLE)). sub('.listingblock .pygments {', '.listingblock .pygments, .listingblock .pygments code {') else '/* Pygments styles disabled. Pygments is not available. */' end end
pygments_stylesheet_name(style = nil)
click to toggle source
# File lib/asciidoctor/stylesheets.rb, line 63 def pygments_stylesheet_name style = nil %Q(pygments-#{style || DEFAULT_PYGMENTS_STYLE}.css) end
write_coderay_stylesheet(target_dir)
click to toggle source
# File lib/asciidoctor/stylesheets.rb, line 59 def write_coderay_stylesheet target_dir ::File.open(::File.join(target_dir, coderay_stylesheet_name), 'w') {|f| f.write coderay_stylesheet_data } end
write_primary_stylesheet(target_dir)
click to toggle source
# File lib/asciidoctor/stylesheets.rb, line 34 def write_primary_stylesheet target_dir ::File.open(::File.join(target_dir, primary_stylesheet_name), 'w') {|f| f.write primary_stylesheet_data } end
write_pygments_stylesheet(target_dir, style = nil)
click to toggle source
# File lib/asciidoctor/stylesheets.rb, line 86 def write_pygments_stylesheet target_dir, style = nil ::File.open(::File.join(target_dir, pygments_stylesheet_name(style)), 'w') {|f| f.write pygments_stylesheet_data(style) } end