brightly 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. data/.document +5 -0
  2. data/.gitignore +21 -0
  3. data/LICENSE +20 -0
  4. data/README.rdoc +89 -0
  5. data/Rakefile +73 -0
  6. data/VERSION +1 -0
  7. data/bin/brightly +7 -0
  8. data/brightly.gemspec +106 -0
  9. data/lib/brightly/consumer.rb +26 -0
  10. data/lib/brightly/provider/base.rb +61 -0
  11. data/lib/brightly/provider/config.rb +0 -0
  12. data/lib/brightly/provider/exec.rb +25 -0
  13. data/lib/brightly/provider/public/stylesheets/active4d.css +114 -0
  14. data/lib/brightly/provider/public/stylesheets/all_hallows_eve.css +72 -0
  15. data/lib/brightly/provider/public/stylesheets/amy.css +147 -0
  16. data/lib/brightly/provider/public/stylesheets/blackboard.css +88 -0
  17. data/lib/brightly/provider/public/stylesheets/brilliance_black.css +605 -0
  18. data/lib/brightly/provider/public/stylesheets/brilliance_dull.css +599 -0
  19. data/lib/brightly/provider/public/stylesheets/cobalt.css +149 -0
  20. data/lib/brightly/provider/public/stylesheets/dawn.css +121 -0
  21. data/lib/brightly/provider/public/stylesheets/eiffel.css +121 -0
  22. data/lib/brightly/provider/public/stylesheets/espresso_libre.css +109 -0
  23. data/lib/brightly/provider/public/stylesheets/idle.css +62 -0
  24. data/lib/brightly/provider/public/stylesheets/iplastic.css +80 -0
  25. data/lib/brightly/provider/public/stylesheets/lazy.css +73 -0
  26. data/lib/brightly/provider/public/stylesheets/mac_classic.css +123 -0
  27. data/lib/brightly/provider/public/stylesheets/magicwb_amiga.css +104 -0
  28. data/lib/brightly/provider/public/stylesheets/pastels_on_dark.css +188 -0
  29. data/lib/brightly/provider/public/stylesheets/slush_poppies.css +85 -0
  30. data/lib/brightly/provider/public/stylesheets/spacecadet.css +51 -0
  31. data/lib/brightly/provider/public/stylesheets/sunburst.css +180 -0
  32. data/lib/brightly/provider/public/stylesheets/twilight.css +137 -0
  33. data/lib/brightly/provider/public/stylesheets/zenburnesque.css +91 -0
  34. data/lib/brightly.rb +10 -0
  35. data/spec/brightly_spec.rb +28 -0
  36. data/spec/data/code.html +6 -0
  37. data/spec/data/code.markdown +7 -0
  38. data/spec/data/double_nest.html +16 -0
  39. data/spec/data/double_nest.markdown +15 -0
  40. data/spec/data/javascript.html +9 -0
  41. data/spec/data/javascript.markdown +6 -0
  42. data/spec/data/nested.html +8 -0
  43. data/spec/data/nested.markdown +9 -0
  44. data/spec/data/simple.html +3 -0
  45. data/spec/data/simple.markdown +3 -0
  46. data/spec/rcov.opts +2 -0
  47. data/spec/spec.opts +4 -0
  48. data/spec/spec_helper.rb +14 -0
  49. metadata +153 -0
@@ -0,0 +1,137 @@
1
+ pre.twilight .DiffInserted {
2
+ background-color: #253B22;
3
+ color: #F8F8F8;
4
+ }
5
+ pre.twilight .DiffHeader {
6
+ background-color: #0E2231;
7
+ color: #F8F8F8;
8
+ font-style: italic;
9
+ }
10
+ pre.twilight .CssPropertyValue {
11
+ color: #F9EE98;
12
+ }
13
+ pre.twilight .CCCPreprocessorDirective {
14
+ color: #AFC4DB;
15
+ }
16
+ pre.twilight .Constant {
17
+ color: #CF6A4C;
18
+ }
19
+ pre.twilight .DiffChanged {
20
+ background-color: #4A410D;
21
+ color: #F8F8F8;
22
+ }
23
+ pre.twilight .EmbeddedSource {
24
+ background-color: #A3A6AD;
25
+ }
26
+ pre.twilight .Support {
27
+ color: #9B859D;
28
+ }
29
+ pre.twilight .MarkupList {
30
+ color: #F9EE98;
31
+ }
32
+ pre.twilight .CssConstructorArgument {
33
+ color: #8F9D6A;
34
+ }
35
+ pre.twilight .Storage {
36
+ color: #F9EE98;
37
+ }
38
+ pre.twilight .line-numbers {
39
+ background-color: #DDF0FF;
40
+ color: #000000;
41
+ }
42
+ pre.twilight .CssClass {
43
+ color: #9B703F;
44
+ }
45
+ pre.twilight .StringConstant {
46
+ color: #DDF2A4;
47
+ }
48
+ pre.twilight .CssAtRule {
49
+ color: #8693A5;
50
+ }
51
+ pre.twilight .MetaTagInline {
52
+ color: #E0C589;
53
+ }
54
+ pre.twilight .MarkupHeading {
55
+ color: #CF6A4C;
56
+ }
57
+ pre.twilight .CssTagName {
58
+ color: #CDA869;
59
+ }
60
+ pre.twilight .SupportConstant {
61
+ color: #CF6A4C;
62
+ }
63
+ pre.twilight .DiffDeleted {
64
+ background-color: #420E09;
65
+ color: #F8F8F8;
66
+ }
67
+ pre.twilight .CCCPreprocessorLine {
68
+ color: #8996A8;
69
+ }
70
+ pre.twilight .StringRegexpSpecial {
71
+ color: #CF7D34;
72
+ }
73
+ pre.twilight .EmbeddedSourceBright {
74
+ background-color: #9C9EA4;
75
+ }
76
+ pre.twilight .InvalidIllegal {
77
+ background-color: #241A24;
78
+ color: #F8F8F8;
79
+ }
80
+ pre.twilight .SupportFunction {
81
+ color: #DAD085;
82
+ }
83
+ pre.twilight .CssAdditionalConstants {
84
+ color: #CA7840;
85
+ }
86
+ pre.twilight .MetaTagAll {
87
+ color: #AC885B;
88
+ }
89
+ pre.twilight .StringRegexp {
90
+ color: #E9C062;
91
+ }
92
+ pre.twilight .StringEmbeddedSource {
93
+ color: #DAEFA3;
94
+ }
95
+ pre.twilight .EntityInheritedClass {
96
+ color: #9B5C2E;
97
+ font-style: italic;
98
+ }
99
+ pre.twilight .CssId {
100
+ color: #8B98AB;
101
+ }
102
+ pre.twilight .CssPseudoClass {
103
+ color: #8F9D6A;
104
+ }
105
+ pre.twilight .StringVariable {
106
+ color: #8A9A95;
107
+ }
108
+ pre.twilight .String {
109
+ color: #8F9D6A;
110
+ }
111
+ pre.twilight .Keyword {
112
+ color: #CDA869;
113
+ }
114
+ pre.twilight {
115
+ background-color: #141414;
116
+ color: #F8F8F8;
117
+ }
118
+ pre.twilight .CssPropertyName {
119
+ color: #C5AF75;
120
+ }
121
+ pre.twilight .DoctypeXmlProcessing {
122
+ color: #494949;
123
+ }
124
+ pre.twilight .InvalidDeprecated {
125
+ color: #D2A8A1;
126
+ font-style: italic;
127
+ }
128
+ pre.twilight .Variable {
129
+ color: #7587A6;
130
+ }
131
+ pre.twilight .Entity {
132
+ color: #9B703F;
133
+ }
134
+ pre.twilight .Comment {
135
+ color: #5F5A60;
136
+ font-style: italic;
137
+ }
@@ -0,0 +1,91 @@
1
+ pre.zenburnesque .InheritedClass {
2
+ }
3
+ pre.zenburnesque .TypeName {
4
+ color: #F09040;
5
+ }
6
+ pre.zenburnesque .FloatingPointPrefixOperators {
7
+ text-decoration: underline;
8
+ }
9
+ pre.zenburnesque .Number {
10
+ color: #22C0FF;
11
+ }
12
+ pre.zenburnesque .Directive {
13
+ font-weight: bold;
14
+ }
15
+ pre.zenburnesque .LibraryVariable {
16
+ }
17
+ pre.zenburnesque .Storage {
18
+ }
19
+ pre.zenburnesque .line-numbers {
20
+ background-color: #A0A0C0;
21
+ color: #000000;
22
+ }
23
+ pre.zenburnesque .LineNumberDirectives {
24
+ text-decoration: underline;
25
+ }
26
+ pre.zenburnesque .TagName {
27
+ }
28
+ pre.zenburnesque .StorageTypes {
29
+ color: #6080FF;
30
+ }
31
+ pre.zenburnesque .Operators {
32
+ color: #FFFFA0;
33
+ }
34
+ pre.zenburnesque {
35
+ background-color: #404040;
36
+ color: #DEDEDE;
37
+ }
38
+ pre.zenburnesque .LibraryConstant {
39
+ }
40
+ pre.zenburnesque .VariantTypes {
41
+ color: #4080A0;
42
+ }
43
+ pre.zenburnesque .Characters {
44
+ color: #FF8080;
45
+ }
46
+ pre.zenburnesque .FunctionArgument {
47
+ }
48
+ pre.zenburnesque .LanguageKeyword {
49
+ color: #FFFFA0;
50
+ }
51
+ pre.zenburnesque .BuiltInConstant {
52
+ }
53
+ pre.zenburnesque .FloatingPointNumbers {
54
+ text-decoration: underline;
55
+ }
56
+ pre.zenburnesque .ClassTypeName {
57
+ color: #F4A020;
58
+ }
59
+ pre.zenburnesque .TypeName1 {
60
+ color: #FFE000;
61
+ }
62
+ pre.zenburnesque .ModuleKeyword {
63
+ font-weight: bold;
64
+ color: #FF8000;
65
+ }
66
+ pre.zenburnesque .Invalid {
67
+ }
68
+ pre.zenburnesque .LibraryClassType {
69
+ }
70
+ pre.zenburnesque .LibraryFunction {
71
+ }
72
+ pre.zenburnesque .TagAttribute {
73
+ }
74
+ pre.zenburnesque .FloatingPointInfixOperators {
75
+ text-decoration: underline;
76
+ }
77
+ pre.zenburnesque .UserDefinedConstant {
78
+ }
79
+ pre.zenburnesque .String {
80
+ color: #FF2020;
81
+ }
82
+ pre.zenburnesque .FunctionName {
83
+ font-weight: bold;
84
+ color: #FFCC66;
85
+ }
86
+ pre.zenburnesque .Variable {
87
+ }
88
+ pre.zenburnesque .Comment {
89
+ color: #709070;
90
+ font-style: italic;
91
+ }
data/lib/brightly.rb ADDED
@@ -0,0 +1,10 @@
1
+ module Brightly
2
+ module Provider
3
+ autoload :Base, "brightly/provider/base"
4
+
5
+ autoload :Config, "brightly/provider/config"
6
+ autoload :Exec, "brightly/provider/exec"
7
+ end
8
+
9
+ autoload :Consumer, "brightly/consumer"
10
+ end
@@ -0,0 +1,28 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe Brightly::Provider do
4
+ it "returns html processed by markdown" do
5
+ post '/brighten', {:markdown => File.read(File.dirname(__FILE__) + '/data/simple.markdown'), :theme => 'blackboard'}
6
+ last_response.body.should == File.read(File.dirname(__FILE__) + '/data/simple.html')
7
+ end
8
+
9
+ it "returns html processed by markdown with ruby highlighted" do
10
+ post '/brighten', {:markdown => File.read(File.dirname(__FILE__) + '/data/code.markdown'), :theme => 'blackboard'}
11
+ last_response.body.should == File.read(File.dirname(__FILE__) + '/data/code.html')
12
+ end
13
+
14
+ it "returns html processed by markdown with html highlighted when there are nested <code> tags" do
15
+ post '/brighten', {:markdown => File.read(File.dirname(__FILE__) + '/data/nested.markdown'), :theme => 'blackboard'}
16
+ last_response.body.should == File.read(File.dirname(__FILE__) + '/data/nested.html')
17
+ end
18
+
19
+ it "returns html processed by markdown with embed javascript" do
20
+ post '/brighten', {:markdown => File.read(File.dirname(__FILE__) + '/data/javascript.markdown'), :theme => 'blackboard'}
21
+ last_response.body.should == File.read(File.dirname(__FILE__) + '/data/javascript.html')
22
+ end
23
+
24
+ it "returns html processed by markdown without double nesting parts of the highlighted code" do
25
+ post '/brighten', {:markdown => File.read(File.dirname(__FILE__) + '/data/double_nest.markdown'), :theme => 'blackboard'}
26
+ last_response.body.should == File.read(File.dirname(__FILE__) + '/data/double_nest.html')
27
+ end
28
+ end
@@ -0,0 +1,6 @@
1
+ <h1>Some Highlighted Ruby Code</h1>
2
+ <pre class="blackboard">
3
+ <span class="Keyword">def</span> <span class="Entity">foo</span>
4
+ puts <span class="String"><span class="String">&quot;</span>bar<span class="String">&quot;</span></span>
5
+ <span class="Keyword">end</span>
6
+ </pre>
@@ -0,0 +1,7 @@
1
+ # Some Highlighted Ruby Code
2
+
3
+ <code language="ruby">
4
+ def foo
5
+ puts "bar"
6
+ end
7
+ </code>
@@ -0,0 +1,16 @@
1
+
2
+ <pre class="blackboard">
3
+ <span class="Keyword">require</span> <span class="String"><span class="String">'</span>highline<span class="String">'</span></span>
4
+
5
+ namespace <span class="Constant"><span class="Constant">:</span>generate</span> <span class="Keyword">do</span>
6
+ desc <span class="String"><span class="String">&quot;</span>Do something with CLI<span class="String">&quot;</span></span>
7
+ task <span class="String"><span class="String">&quot;</span>Enter username &amp; password<span class="String">&quot;</span></span> <span class="Keyword">do</span>
8
+ username <span class="Keyword">=</span> <span class="Support">HighLine</span>.<span class="Entity">new</span>.<span class="Entity">ask</span>(<span class="String"><span class="String">&quot;</span>Please enter the 'username': <span class="String">&quot;</span></span>) <span class="Keyword">do </span>|<span class="Variable">q</span>|
9
+ q.<span class="Entity">validate</span> <span class="Keyword">=</span> <span class="String"><span class="String">/</span></span><span class="String"><span class="String"><span class="String">[</span>a-zA-z<span class="String">]</span></span><span class="String"><span class="String">[</span>a-zA-Z0-9<span class="String">]</span></span><span class="String"><span class="String">{</span>2,8<span class="String">}</span></span>$</span><span class="String"><span class="String">/</span></span>
10
+ <span class="Keyword">end</span>
11
+ password <span class="Keyword">=</span> <span class="Support">HighLine</span>.<span class="Entity">new</span>.<span class="Entity">ask</span>(<span class="String"><span class="String">&quot;</span>Please enter the 'admin' password: <span class="String">&quot;</span></span>) <span class="Keyword">do </span>|<span class="Variable">q</span>|
12
+ q.<span class="Entity">echo</span> <span class="Keyword">=</span> <span class="Constant">false</span>
13
+ <span class="Keyword">end</span>
14
+ <span class="Keyword">end</span>
15
+ <span class="Keyword">end</span>
16
+ </pre>
@@ -0,0 +1,15 @@
1
+ <code language="ruby">
2
+ require 'highline'
3
+
4
+ namespace :generate do
5
+ desc "Do something with CLI"
6
+ task "Enter username & password" do
7
+ username = HighLine.new.ask("Please enter the 'username': ") do |q|
8
+ q.validate = /[a-zA-z][a-zA-Z0-9]{2,8}$/
9
+ end
10
+ password = HighLine.new.ask("Please enter the 'admin' password: ") do |q|
11
+ q.echo = false
12
+ end
13
+ end
14
+ end
15
+ </code>
@@ -0,0 +1,9 @@
1
+ <script type="text/javascript">
2
+ console.log("Pie");
3
+ </script>
4
+ <h1>And A Bit of Javascript</h1>
5
+
6
+ <p>Write "Pie" to the console:</p>
7
+ <pre class="blackboard">
8
+ <span class="Entity">console</span><span class="Support">.log</span>(<span class="String"><span class="String">&quot;</span>Pie<span class="String">&quot;</span></span>);
9
+ </pre>
@@ -0,0 +1,6 @@
1
+ # And A Bit of Javascript
2
+
3
+ Write "Pie" to the console:
4
+ <code language="javascript" embed="embed">
5
+ console.log("Pie");
6
+ </code>
@@ -0,0 +1,8 @@
1
+ <h1>Some Highlighted HTML Code</h1>
2
+ <pre class="blackboard">
3
+ <span class="MetaTag"><span class="MetaTag">&lt;</span><span class="MetaTag">code</span> <span class="MetaTag">language</span>=<span class="String"><span class="String">&quot;</span>ruby<span class="String">&quot;</span></span><span class="MetaTag">&gt;</span></span>
4
+ def foo
5
+ puts &quot;bar&quot;
6
+ end
7
+ <span class="MetaTag"><span class="MetaTag">&lt;/</span><span class="MetaTag">code</span><span class="MetaTag">&gt;</span></span>
8
+ </pre>
@@ -0,0 +1,9 @@
1
+ # Some Highlighted HTML Code
2
+
3
+ <code language="html">
4
+ <code language="ruby">
5
+ def foo
6
+ puts "bar"
7
+ end
8
+ </code>
9
+ </code>
@@ -0,0 +1,3 @@
1
+ <h1>A Title</h1>
2
+
3
+ <p>And some body text that should process nicely</p>
@@ -0,0 +1,3 @@
1
+ # A Title
2
+
3
+ And some body text that should process nicely
data/spec/rcov.opts ADDED
@@ -0,0 +1,2 @@
1
+ --exclude "spec/*,/Library/*"
2
+ -T
data/spec/spec.opts ADDED
@@ -0,0 +1,4 @@
1
+ --color
2
+ --loadby mtime
3
+ --reverse
4
+ -fs
@@ -0,0 +1,14 @@
1
+ require 'rubygems'
2
+ require 'brightly'
3
+ require 'spec'
4
+ require 'spec/autorun'
5
+ require 'rack/test'
6
+
7
+ Spec::Runner.configure do |config|
8
+ config.include Rack::Test::Methods
9
+
10
+ # Add an app method for RSpec
11
+ def app
12
+ Rack::Lint.new(Brightly::Provider::Base.new)
13
+ end
14
+ end
metadata ADDED
@@ -0,0 +1,153 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: brightly
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Adam Elliot
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-11-19 00:00:00 -07:00
13
+ default_executable: brightly
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: sinatra
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.9.4
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: ultraviolet
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.10.2
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: rdiscount
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 1.3.5
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: rspec
47
+ type: :development
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.2.9
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: rack-test
57
+ type: :development
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: 0.5.0
64
+ version:
65
+ description: Adds syntax highlighting and some other code stuff to Markdown
66
+ email: adam@warptube.com
67
+ executables:
68
+ - brightly
69
+ extensions: []
70
+
71
+ extra_rdoc_files:
72
+ - LICENSE
73
+ - README.rdoc
74
+ files:
75
+ - .document
76
+ - .gitignore
77
+ - LICENSE
78
+ - README.rdoc
79
+ - Rakefile
80
+ - VERSION
81
+ - bin/brightly
82
+ - brightly.gemspec
83
+ - lib/brightly.rb
84
+ - lib/brightly/consumer.rb
85
+ - lib/brightly/provider/base.rb
86
+ - lib/brightly/provider/config.rb
87
+ - lib/brightly/provider/exec.rb
88
+ - lib/brightly/provider/public/stylesheets/active4d.css
89
+ - lib/brightly/provider/public/stylesheets/all_hallows_eve.css
90
+ - lib/brightly/provider/public/stylesheets/amy.css
91
+ - lib/brightly/provider/public/stylesheets/blackboard.css
92
+ - lib/brightly/provider/public/stylesheets/brilliance_black.css
93
+ - lib/brightly/provider/public/stylesheets/brilliance_dull.css
94
+ - lib/brightly/provider/public/stylesheets/cobalt.css
95
+ - lib/brightly/provider/public/stylesheets/dawn.css
96
+ - lib/brightly/provider/public/stylesheets/eiffel.css
97
+ - lib/brightly/provider/public/stylesheets/espresso_libre.css
98
+ - lib/brightly/provider/public/stylesheets/idle.css
99
+ - lib/brightly/provider/public/stylesheets/iplastic.css
100
+ - lib/brightly/provider/public/stylesheets/lazy.css
101
+ - lib/brightly/provider/public/stylesheets/mac_classic.css
102
+ - lib/brightly/provider/public/stylesheets/magicwb_amiga.css
103
+ - lib/brightly/provider/public/stylesheets/pastels_on_dark.css
104
+ - lib/brightly/provider/public/stylesheets/slush_poppies.css
105
+ - lib/brightly/provider/public/stylesheets/spacecadet.css
106
+ - lib/brightly/provider/public/stylesheets/sunburst.css
107
+ - lib/brightly/provider/public/stylesheets/twilight.css
108
+ - lib/brightly/provider/public/stylesheets/zenburnesque.css
109
+ - spec/brightly_spec.rb
110
+ - spec/data/code.html
111
+ - spec/data/code.markdown
112
+ - spec/data/double_nest.html
113
+ - spec/data/double_nest.markdown
114
+ - spec/data/javascript.html
115
+ - spec/data/javascript.markdown
116
+ - spec/data/nested.html
117
+ - spec/data/nested.markdown
118
+ - spec/data/simple.html
119
+ - spec/data/simple.markdown
120
+ - spec/rcov.opts
121
+ - spec/spec.opts
122
+ - spec/spec_helper.rb
123
+ has_rdoc: true
124
+ homepage: http://github.com/adamelliot/brightly
125
+ licenses: []
126
+
127
+ post_install_message:
128
+ rdoc_options:
129
+ - --charset=UTF-8
130
+ require_paths:
131
+ - lib
132
+ required_ruby_version: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: "0"
137
+ version:
138
+ required_rubygems_version: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: "0"
143
+ version:
144
+ requirements: []
145
+
146
+ rubyforge_project:
147
+ rubygems_version: 1.3.5
148
+ signing_key:
149
+ specification_version: 3
150
+ summary: Simple standalone web app that adds syntax highlighting to Markdown
151
+ test_files:
152
+ - spec/brightly_spec.rb
153
+ - spec/spec_helper.rb