x_ray 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 844335f9e7b73b18059cc96cef30d035decb4f82
4
- data.tar.gz: 36f313bcf0d9685a5f576ac51bc92bdadf3aae10
3
+ metadata.gz: 1bfbbb0efb83ed74530d2ce5e4d57ffc1d2d239b
4
+ data.tar.gz: 197b09fbb571beec222a2d449998b5c7523f5cad
5
5
  SHA512:
6
- metadata.gz: e425f28833d2e4186b3a1b5254166bb9c1284b66c2c27a6a9564383452cb09f5ac039b32167c97709d003804178250df5b19ca747b22f31f0e0b1def27761ef4
7
- data.tar.gz: 51b39338246784f438ce670187c145f3ab6beed493f82472ef9668f81e8f77a0795f7c5fbd0620f815e4d87291aa302d777d26cf0f69dc73e8a7fb4192845461
6
+ metadata.gz: ad831d894011b81e0924dbd23d08cac4668a8f7d05656df81d65d3f3cbfd85f6840b31d0ee918f92388bac8751b5e6120c77e2114bceb5f4389cc1e438558638
7
+ data.tar.gz: f34a40cf5155eddbe82aa4e4fc3abdf1255b476f51e989850cb732f1503ba071f22ff2ce3ed1ba29f4755a960fa596434a2066c96ff7872620914d8bea7eb2b9
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # x_ray
2
2
 
3
- x_ray is a gem that helps easily display code examples. Uses https://github.com/simplabs/highlight for syntax highlighting which is supported by http://pygments.org
3
+ x_ray is a gem that helps easily display code examples, supports plain HTML and ERB.
4
4
 
5
5
  ## Installation
6
6
 
@@ -24,29 +24,34 @@ include XRay::Helper
24
24
 
25
25
  ## Usage
26
26
 
27
- Works with plain html and embedded helper methods
28
-
29
27
  ```erb
28
+ <!-- Render HTML from HTML -->
30
29
  <%= x_ray do %>
31
- <div>
32
- <ol>
33
- <li>First thing</li>
34
- <li>Second thing</li>
35
- <li>Third thing</li>
36
- </ol>
37
- </div>
30
+ <ol>
31
+ <li>First thing</li>
32
+ <li>Second thing</li>
33
+ </ol>
38
34
  <% end %>
39
35
 
36
+ <!-- Render HTML from ERB -->
40
37
  <%= x_ray do %>
41
- <%= submit_tag 'Set Time Zone', class: 'button' %>
38
+ <%= submit_tag 'Set Time Zone', class: 'button button-primary' %>
42
39
  <% end %>
43
40
 
44
- <%= x_ray do %>
45
- &lt;%= submit_tag 'Set Time Zone', class: 'button' %&gt;
41
+ <!-- Render ERB from ERB -->
42
+ <%= x_ray_erb do %>
43
+ &lt;%= submit_tag 'Set Time Zone', class: 'button button-primary' %&gt;
44
+ <% end %>
45
+
46
+ <!-- Render ERB from ERB for `render` (inserting ERB with block requires one-off logic) -->
47
+ <%= x_ray_erb_render(layout: 'components/collapsable', locals: { heading: 'My virtual training plan'}) do %>
48
+ <div class="box-small">
49
+ <p class="outer-box-none">look at all this fun stuff in here!</p>
50
+ </div>
46
51
  <% end %>
47
52
  ```
48
53
 
49
- <img src="http://i.imgur.com/2wtvxkT.png">
54
+ <img src="http://i.imgur.com/X1QeI6M.png">
50
55
 
51
56
  ### Customization
52
57
 
@@ -1,5 +1,3 @@
1
- @import 'x_ray/highlight.css';
2
-
3
1
  $x-ray-bg-color: #eceff1;
4
2
  $x-ray-border-color: darken($x-ray-bg-color, 30);
5
3
  $x-ray-border-radius: 3px;
@@ -4,12 +4,30 @@ module XRay
4
4
  render(layout: 'layouts/x_ray/scan', &block)
5
5
  end
6
6
 
7
- def x_ray_scan
7
+ def x_ray_erb(&block)
8
+ render(layout: 'layouts/x_ray/erb_scan', &block)
9
+ end
10
+
11
+ def x_ray_erb_render(context, options={}, &block)
12
+ render(partial: 'layouts/x_ray/erb_render_scan', locals: { context: context, options: options, block: block})
13
+ end
14
+
15
+ def x_ray_erb_render_code(context, options, raw_block)
16
+ code = if raw_block
17
+ "<%= render #{context}, #{options} do %>\n#{x_ray_scan(raw_block)}\n<% end %>"
18
+ else
19
+ "<%= render #{context}, #{options} %>"
20
+ end
21
+
22
+ x_ray_scan(code)
23
+ end
24
+
25
+ def x_ray_scan(code)
8
26
  text = <<-HTML.strip_heredoc
9
- #{Simplabs::Highlight.highlight(:erb, yield.gsub('&lt;', '<').gsub('&gt;', '>'))}
27
+ #{code}
10
28
  HTML
11
29
 
12
- sanitize(text.strip).html_safe
30
+ text.strip
13
31
  end
14
32
  end
15
33
  end
@@ -0,0 +1,12 @@
1
+ <div class="x-ray-block">
2
+ <div class="example">
3
+ <%= render(context, options, &block) %>
4
+ </div>
5
+
6
+ <div class="code-scan">
7
+ <pre>
8
+ <div hidden><% raw_block = block.try(:call) %></div>
9
+ <%= x_ray_erb_render_code(context, options, raw_block) %>
10
+ </pre>
11
+ </div>
12
+ </div>
@@ -0,0 +1,11 @@
1
+ <div class="x-ray-block">
2
+ <div class="example">
3
+ <%= ERB.new(yield.gsub('&lt;', '<').gsub('&gt;', '>')).result(binding).html_safe %>
4
+ </div>
5
+
6
+ <div class="code-scan">
7
+ <pre>
8
+ <%= x_ray_scan(yield.gsub('&lt;', '<').gsub('&gt;', '>')) %>
9
+ </pre>
10
+ </div>
11
+ </div>
@@ -1,13 +1,11 @@
1
1
  <div class="x-ray-block">
2
2
  <div class="example">
3
- <%= ERB.new(yield.gsub('&lt;', '<').gsub('&gt;', '>')).result(binding).html_safe %>
3
+ <%= yield %>
4
4
  </div>
5
5
 
6
6
  <div class="code-scan">
7
7
  <pre>
8
- <% cache(yield) do %>
9
- <%= x_ray_scan { yield } %>
10
- <% end %>
8
+ <%= x_ray_scan(yield) %>
11
9
  </pre>
12
10
  </div>
13
11
  </div>
data/lib/x_ray/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module XRay
2
- VERSION = '0.0.8'.freeze
2
+ VERSION = '0.0.9'.freeze
3
3
  end
data/lib/x_ray.rb CHANGED
@@ -1,5 +1,3 @@
1
- require 'simplabs/highlight'
2
-
3
1
  module XRay
4
2
  class << self
5
3
  attr_accessor :configuration
data/x_ray.gemspec CHANGED
@@ -18,6 +18,5 @@ Gem::Specification.new do |s|
18
18
  s.files = `git ls-files`.split("\n")
19
19
 
20
20
  s.add_dependency 'rails', '~> 4.0'
21
- s.add_dependency 'highlight'
22
21
  s.add_development_dependency 'sqlite3'
23
22
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: x_ray
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tiffany Huang
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.0'
27
- - !ruby/object:Gem::Dependency
28
- name: highlight
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - '>='
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - '>='
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: sqlite3
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -63,9 +49,10 @@ files:
63
49
  - MIT-LICENSE
64
50
  - README.md
65
51
  - app/assets/javascripts/x_ray/application.js
66
- - app/assets/stylesheets/x_ray/highlight.css
67
52
  - app/assets/stylesheets/x_ray/prettifier.scss
68
53
  - app/helpers/x_ray/helper.rb
54
+ - app/views/layouts/x_ray/_erb_render_scan.html.erb
55
+ - app/views/layouts/x_ray/_erb_scan.html.erb
69
56
  - app/views/layouts/x_ray/_scan.html.erb
70
57
  - lib/x_ray.rb
71
58
  - lib/x_ray/engine.rb
@@ -1,59 +0,0 @@
1
- .c { color: #408080; font-style: italic } /* Comment */
2
- .err { border: 1px solid #FF0000 } /* Error */
3
- .k { color: #008000; font-weight: bold } /* Keyword */
4
- .o { color: #666666 } /* Operator */
5
- .cm { color: #408080; font-style: italic } /* Comment.Multiline */
6
- .cp { color: #BC7A00 } /* Comment.Preproc */
7
- .c1 { color: #408080; font-style: italic } /* Comment.Single */
8
- .cs { color: #408080; font-style: italic } /* Comment.Special */
9
- .gd { color: #A00000 } /* Generic.Deleted */
10
- .ge { font-style: italic } /* Generic.Emph */
11
- .gr { color: #FF0000 } /* Generic.Error */
12
- .gh { color: #000080; font-weight: bold } /* Generic.Heading */
13
- .gi { color: #00A000 } /* Generic.Inserted */
14
- .go { color: #808080 } /* Generic.Output */
15
- .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
16
- .gs { font-weight: bold } /* Generic.Strong */
17
- .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
18
- .gt { color: #0040D0 } /* Generic.Traceback */
19
- .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
20
- .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
21
- .kp { color: #008000 } /* Keyword.Pseudo */
22
- .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
23
- .kt { color: #B00040 } /* Keyword.Type */
24
- .m { color: #666666 } /* Literal.Number */
25
- .s { color: #BA2121 } /* Literal.String */
26
- .na { color: #7D9029 } /* Name.Attribute */
27
- .nb { color: #008000 } /* Name.Builtin */
28
- .nc { color: #0000FF; font-weight: bold } /* Name.Class */
29
- .no { color: #880000 } /* Name.Constant */
30
- .nd { color: #AA22FF } /* Name.Decorator */
31
- .ni { color: #999999; font-weight: bold } /* Name.Entity */
32
- .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
33
- .nf { color: #0000FF } /* Name.Function */
34
- .nl { color: #A0A000 } /* Name.Label */
35
- .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
36
- .nt { color: #008000; font-weight: bold } /* Name.Tag */
37
- .nv { color: #19177C } /* Name.Variable */
38
- .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
39
- .w { color: #bbbbbb } /* Text.Whitespace */
40
- .mf { color: #666666 } /* Literal.Number.Float */
41
- .mh { color: #666666 } /* Literal.Number.Hex */
42
- .mi { color: #666666 } /* Literal.Number.Integer */
43
- .mo { color: #666666 } /* Literal.Number.Oct */
44
- .sb { color: #BA2121 } /* Literal.String.Backtick */
45
- .sc { color: #BA2121 } /* Literal.String.Char */
46
- .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
47
- .s2 { color: #BA2121 } /* Literal.String.Double */
48
- .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
49
- .sh { color: #BA2121 } /* Literal.String.Heredoc */
50
- .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
51
- .sx { color: #008000 } /* Literal.String.Other */
52
- .sr { color: #BB6688 } /* Literal.String.Regex */
53
- .s1 { color: #BA2121 } /* Literal.String.Single */
54
- .ss { color: #19177C } /* Literal.String.Symbol */
55
- .bp { color: #008000 } /* Name.Builtin.Pseudo */
56
- .vc { color: #19177C } /* Name.Variable.Class */
57
- .vg { color: #19177C } /* Name.Variable.Global */
58
- .vi { color: #19177C } /* Name.Variable.Instance */
59
- .il { color: #666666 } /* Literal.Number.Integer.Long */