octopress-escape-code 1.0.2 → 1.0.3

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: 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
  - - ">="