Class: Rouge::Theme
- Inherits:
-
Object
- Object
- Rouge::Theme
- Defined in:
- lib/rouge/theme.rb
Direct Known Subclasses
Defined Under Namespace
Classes: Style
Class Method Summary collapse
- .find(n) ⇒ Object
- .get_own_style(token) ⇒ Object
- .get_style(token) ⇒ Object
- .name(n = nil) ⇒ Object
- .palette(arg = {}) ⇒ Object
- .registry ⇒ Object
- .render(opts = {}, &b) ⇒ Object
- .style(*tokens) ⇒ Object
- .styles ⇒ Object
Instance Method Summary collapse
Class Method Details
.find(n) ⇒ Object
96 97 98 |
# File 'lib/rouge/theme.rb', line 96 def find(n) registry[n.to_s] end |
.get_own_style(token) ⇒ Object
79 80 81 82 83 |
# File 'lib/rouge/theme.rb', line 79 def get_own_style(token) token.ancestors do |anc| return styles[anc.name] if styles[anc.name] end end |
.get_style(token) ⇒ Object
85 86 87 |
# File 'lib/rouge/theme.rb', line 85 def get_style(token) get_own_style(token) || style['Text'] end |
.name(n = nil) ⇒ Object
89 90 91 92 93 94 |
# File 'lib/rouge/theme.rb', line 89 def name(n=nil) return @name if n.nil? @name = n.to_s Theme.registry[@name] = self end |
.palette(arg = {}) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/rouge/theme.rb', line 43 def self.palette(arg={}) @palette ||= InheritableHash.new(superclass.palette) if arg.is_a? Hash @palette.merge! arg @palette else case arg when /#[0-9a-f]+/i arg else @palette[arg] or raise "not in palette: #{arg.inspect}" end end end |
.registry ⇒ Object
100 101 102 |
# File 'lib/rouge/theme.rb', line 100 def registry @registry ||= {} end |
.render(opts = {}, &b) ⇒ Object
64 65 66 |
# File 'lib/rouge/theme.rb', line 64 def self.render(opts={}, &b) new(opts).render(&b) end |
.style(*tokens) ⇒ Object
69 70 71 72 73 74 75 76 77 |
# File 'lib/rouge/theme.rb', line 69 def style(*tokens) style = tokens.last.is_a?(Hash) ? tokens.pop : {} style = Style.new(self, style) tokens.each do |tok| styles[tok.to_s] = style end end |
.styles ⇒ Object
60 61 62 |
# File 'lib/rouge/theme.rb', line 60 def self.styles @styles ||= InheritableHash.new(superclass.styles) end |
Instance Method Details
#styles ⇒ Object
38 39 40 |
# File 'lib/rouge/theme.rb', line 38 def styles @styles ||= self.class.styles.dup end |