diff options
author | murphy <murphy@rubychan.de> | 2005-11-05 02:26:24 +0000 |
---|---|---|
committer | murphy <murphy@rubychan.de> | 2005-11-05 02:26:24 +0000 |
commit | 5ffcc03ee3df300cef8c717f3c3b7d54643d82ce (patch) | |
tree | d37f72537b691a44c773a60e97545a4f296827d9 /lib/coderay/encoders/helpers/html_css.rb | |
parent | 945ff36092f8160fc3ec1247e9df8816313e6fa0 (diff) | |
download | coderay-5ffcc03ee3df300cef8c717f3c3b7d54643d82ce.tar.gz |
New helper module scheme, step 2
Diffstat (limited to 'lib/coderay/encoders/helpers/html_css.rb')
-rw-r--r-- | lib/coderay/encoders/helpers/html_css.rb | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/lib/coderay/encoders/helpers/html_css.rb b/lib/coderay/encoders/helpers/html_css.rb deleted file mode 100644 index 80ccab4..0000000 --- a/lib/coderay/encoders/helpers/html_css.rb +++ /dev/null @@ -1,155 +0,0 @@ -module CodeRay module Encoders
-
- class HTML
- class CSS
-
- def initialize stylesheet = TOKENS
- @classes = Hash.new
- parse stylesheet
- end
-
- def [] *styles
- cl = @classes[styles.first]
- return '' unless cl
- style = false
- 1.upto(styles.size) do |offset|
- break if style = cl[styles[offset .. -1]]
- end
- return style
- end
-
- private
-
- CSS_CLASS_PATTERN = /
- ( (?: # $1 = classes
- \s* \. [-\w]+
- )+ )
- \s* \{
- ( [^\}]* ) # $2 = style
- \} \s*
- |
- ( . ) # $3 = error
- /mx
- def parse stylesheet
- stylesheet.scan CSS_CLASS_PATTERN do |classes, style, error|
- raise "CSS parse error: '#{error.inspect}' not recognized" if error
- styles = classes.scan(/[-\w]+/)
- cl = styles.pop
- @classes[cl] ||= Hash.new
- @classes[cl][styles] = style.strip
- end
- end
-
- MAIN = <<-'MAIN'
-.CodeRay {
- background-color: #f8f8f8;
- border: 1px solid silver;
- font-family: 'Courier New', 'Terminal', monospace;
- color: black;
-}
-.CodeRay pre { margin: 0px; }
-
-div.CodeRay { }
-
-span.CodeRay { white-space: pre; border: 0px; padding: 2px; }
-
-table.CodeRay { border-collapse: collapse; width: 100%; padding: 2px; }
-table.CodeRay td { padding: 2px 4px; vertical-align: top; }
-
-.CodeRay .line_numbers, .CodeRay .no {
- background-color: #def;
- color: gray;
- text-align: right;
-}
-.CodeRay .line_numbers tt { font-weight: bold; }
-.CodeRay .no { padding: 0px 4px; }
-.CodeRay .code { width: 100%; }
-
-ol.CodeRay { font-size: 10pt; }
-ol.CodeRay li { white-space: pre; }
-
-.CodeRay .code pre { overflow: auto; }
- MAIN
-
- TOKENS = <<-'TOKENS'
-.af { color:#00C; }
-.an { color:#007; }
-.av { color:#700; }
-.aw { color:#C00; }
-.bi { color:#509; font-weight:bold; }
-.c { color:#888; }
-
-.ch { color:#04D; }
-.ch .k { color:#04D; }
-.ch .dl { color:#039; }
-
-.cl { color:#B06; font-weight:bold; }
-.co { color:#036; font-weight:bold; }
-.cr { color:#0A0; }
-.cv { color:#369; }
-.df { color:#099; font-weight:bold; }
-.di { color:#088; font-weight:bold; }
-.dl { color:black; }
-.do { color:#970; }
-.ds { color:#D42; font-weight:bold; }
-.e { color:#666; font-weight:bold; }
-.er { color:#F00; background-color:#FAA; }
-.ex { color:#F00; font-weight:bold; }
-.fl { color:#60E; font-weight:bold; }
-.fu { color:#06B; font-weight:bold; }
-.gv { color:#d70; font-weight:bold; }
-.hx { color:#058; font-weight:bold; }
-.i { color:#00D; font-weight:bold; }
-.ic { color:#B44; font-weight:bold; }
-.il { }
-.in { color:#B2B; font-weight:bold; }
-.iv { color:#33B; }
-.la { color:#970; font-weight:bold; }
-.lv { color:#963; }
-.oc { color:#40E; font-weight:bold; }
-.on { color:#000; font-weight:bold; }
-.pc { color:#038; font-weight:bold; }
-.pd { color:#369; font-weight:bold; }
-.pp { color:#579; }
-.pt { color:#339; font-weight:bold; }
-.r { color:#080; font-weight:bold; }
-
-.rx { background-color:#fff0ff; }
-.rx .k { color:#808; }
-.rx .dl { color:#404; }
-.rx .mod { color:#C2C; }
-.rx .fu { color:#404; font-weight: bold; }
-
-.s { background-color:#fff0f0; }
-.s .s { background-color:#ffe0e0; }
-.s .s .s { background-color:#ffd0d0; }
-.s .k { color:#D20; }
-.s .dl { color:#710; }
-
-.sh { background-color:#f0fff0; }
-.sh .k { color:#2B2; }
-.sh .dl { color:#161; }
-
-.sy { color:#A60; }
-.sy .k { color:#A60; }
-.sy .dl { color:#630; }
-
-.ta { color:#070; }
-.tf { color:#070; font-weight:bold; }
-.ts { color:#D70; font-weight:bold; }
-.ty { color:#339; font-weight:bold; }
-.v { color:#036; }
-.xt { color:#444; }
- TOKENS
-
- DEFAULT_STYLESHEET = MAIN + TOKENS.gsub(/^(?!$)/, '.CodeRay ')
-
- end
- end
-
-end end
-
-if $0 == __FILE__
- require 'pp'
- pp CodeRay::Encoders::HTML::CSS.new
-end
|