octopress-escape-code 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1d3a34c64bec8c3ee3e982e62ac51011b3d7d2c9
4
- data.tar.gz: db44ed823e5e5b1bfbc172a4a5a47a1b999404ef
3
+ metadata.gz: 080cc036a9e132f9d0b5f6c4c7531e59e63d134a
4
+ data.tar.gz: 447d073260a2e42364acb4b929edd8749c2e67a0
5
5
  SHA512:
6
- metadata.gz: 92c02b47adfeaba704485bed1035084696e31c5f3abdfa66dc31f7e7391e014c43fbee9b9b96f58d395c1e4a4e1d30a1e03493e3ff42165398784d935920bb22
7
- data.tar.gz: 371f160ffdf3205ba16fdbe870b0477dbd8087ff939ef7e2d83ef37ac37a2929bc84548adfbb9c63e364bec64447e51f3820353242cee206a2aa62a82d118bde
6
+ metadata.gz: 64a4526d32f633c54b0fc7635b675d588ee5c32ffbb00073b9d1c29d396c975649cc2288e9b1bac5b5854b3ce95c949bb91ce51fbbbb99a416321e9340f91e03
7
+ data.tar.gz: 131b1115d49a0f29ad0c63be42f41a5930bece31344ce4766f9610e15125bc9f49ecdbb4d42e26c4507e70b495d2be63c514da1c7a52ab17b136052240e7c0dc
data/.travis.yml CHANGED
@@ -3,3 +3,6 @@ rvm:
3
3
  - 2.0.0
4
4
  - 1.9.3
5
5
  script: bundle exec clash test
6
+ notifications:
7
+ slack:
8
+ secure: Y3PHypO1A9pd1RneZdRhGIJVb/uchEzjCjHa3myz3UjAY9opjHJRnL4EKoNO6WHAOi0ON9Za2GwAeiT+Sl8YxSsAy8mna33P7gORT4i0it9VFfbOSAe5OBwSbO6H54CZUofWAF5aYGpIfhrPbBek9i0tlT3SH+V259vV/FVDkpw=
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ### 1.0.3 - 2014-12-10
4
+
5
+ Fixes:
6
+ - Random tabs don't trigger escapes.
7
+ - Raw tags inside of code fences are properly stripped.
8
+ - Double in-line code backticks are properly escaped.
9
+
3
10
  ### 1.0.2 - 2014-9-13
4
11
  - Fix: Removing extra raw tags in markdown code blocks.
5
12
 
@@ -1,5 +1,5 @@
1
1
  module Octopress
2
2
  module EscapeCode
3
- VERSION = "1.0.2"
3
+ VERSION = "1.0.3"
4
4
  end
5
5
  end
@@ -39,17 +39,22 @@ module Octopress
39
39
  if md_ext.include?(ext)
40
40
 
41
41
  # Escape four space indented code blocks
42
- content = content.gsub /^(\s{4}.+?)\n($|\S)/m do
42
+ content = content.gsub /^( {4}[^\n].+?)\n($|\S)/m do
43
43
  "{% raw %}\n#{$1}\n{% endraw %}\n#{$2}"
44
44
  end
45
45
 
46
46
  # Escape tab indented code blocks
47
- content = content.gsub /^(\t.+?)\n($|\S)/m do
47
+ content = content.gsub /^(\t[^\n].+?)\n($|\S)/m do
48
48
  "{% raw %}\n#{$1}\n{% endraw %}\n#{$2}"
49
49
  end
50
50
 
51
51
  # Escape in-line code backticks
52
- content = content.gsub /(`{1,2}[^`\n]+?`{1,2})/ do
52
+ content = content.gsub /(`[^`\n]+?`)/ do
53
+ "{% raw %}#{$1}{% endraw %}"
54
+ end
55
+
56
+ # Escape in-line code double backticks
57
+ content = content.gsub /(``[^\n]+?``)/ do
53
58
  "{% raw %}#{$1}{% endraw %}"
54
59
  end
55
60
 
@@ -57,8 +62,15 @@ module Octopress
57
62
 
58
63
  # Escape codefenced codeblocks
59
64
  content = content.gsub /^(`{3}.+?`{3})/m do
60
- c = $1.gsub /{% (end)?raw %}\n/, ''
61
- "{% raw %}\n#{c}\n{% endraw %}"
65
+
66
+ # Replace any raw/endraw tags inside of codefence block
67
+ # as some of the regex above may have escaped contents
68
+ # of the codefence block
69
+ #
70
+ code = $1.gsub(/{% raw %}(\n)?/, '').gsub(/(\n)?{% endraw %}/, '')
71
+
72
+ # Wrap codefence content in raw tags
73
+ "{% raw %}\n#{code}\n{% endraw %}"
62
74
  end
63
75
 
64
76
  # Escape codeblock tag contents
@@ -23,6 +23,9 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency "bundler", "~> 1.6"
24
24
  spec.add_development_dependency "rake"
25
25
  spec.add_development_dependency "clash"
26
- spec.add_development_dependency "pry-byebug"
27
26
  spec.add_development_dependency "octopress-codeblock"
27
+
28
+ if RUBY_VERSION >= "2"
29
+ spec.add_development_dependency "pry-byebug"
30
+ end
28
31
  end
@@ -1,11 +1,14 @@
1
1
  <p>Some text</p>
2
- <div class="highlight"><pre><code class="language-text" data-lang="text">Some kind of example:
3
- {% some tag that should break %}
2
+ <div class="highlight"><pre><code class="language-text" data-lang="text"> `stuff`
3
+ Some kind of example:
4
+ {% some tag that should break %}
4
5
  Stuff!
5
6
  </code></pre></div>
6
7
  <p>guys!</p>
7
8
 
8
- <p>Testing the <code>dobule ` type</code> of code thing.</p>
9
+ <p>Testing the <code>dobule {% _guys_ seriously? %} ` type</code> of code thing.</p>
10
+
11
+ <p>The random tab character below shouldn&#39;t trigger an escape.</p>
9
12
 
10
13
  <p>So here&#39;s a <code>{% nonexistant tag %}</code> that should be escaped.</p>
11
14
 
@@ -14,9 +17,10 @@ Stuff!
14
17
  Stuff!</code></pre></div>
15
18
 
16
19
  <figure class='code-highlight-figure'><figcaption class='code-highlight-caption'><span class='code-highlight-caption-title'>html</span></figcaption><div class='code-highlight'><pre class='code-highlight-pre'><div data-line='1' class='code-highlight-row numbered'><div class='code-highlight-line'>Some kind of example:
17
- </div></div><div data-line='2' class='code-highlight-row numbered'><div class='code-highlight-line'>&#x7b;% some tag that should break %&#x7d;
18
- </div></div><div data-line='3' class='code-highlight-row numbered'><div class='code-highlight-line'>Stuff!</div></div></pre></div></figure>
20
+ </div></div><div data-line='2' class='code-highlight-row numbered'><div class='code-highlight-line'> stuff
21
+ </div></div><div data-line='3' class='code-highlight-row numbered'><div class='code-highlight-line'>&#x7b;% some tag that should break %&#x7d;
22
+ </div></div><div data-line='4' class='code-highlight-row numbered'><div class='code-highlight-line'>Stuff!</div></div></pre></div></figure>
19
23
  <div class="highlight"><pre><code class="language-text" data-lang="text">stuff
20
- asdfadsf
24
+ {% foo %}
21
25
  </code></pre></div>
22
26
  <p>some text</p>
data/test/index.md CHANGED
@@ -5,14 +5,17 @@ escape_code: true
5
5
  Some text
6
6
 
7
7
  ```
8
+ `stuff`
8
9
  Some kind of example:
9
10
  {% some tag that should break %}
10
11
  Stuff!
11
12
  ```
12
13
  guys!
13
14
 
14
- Testing the ``dobule ` type`` of code thing.
15
+ Testing the ``dobule {% _guys_ seriously? %} ` type`` of code thing.
15
16
 
17
+ The random tab character below shouldn't trigger an escape.
18
+
16
19
  So here's a `{% nonexistant tag %}` that should be escaped.
17
20
 
18
21
  {% highlight html %}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: octopress-escape-code
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brandon Mathis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-14 00:00:00.000000000 Z
11
+ date: 2014-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: octopress-hooks
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: pry-byebug
70
+ name: octopress-codeblock
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: octopress-codeblock
84
+ name: pry-byebug
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="