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 +4 -4
- data/.travis.yml +3 -0
- data/CHANGELOG.md +7 -0
- data/lib/octopress-escape-code/version.rb +1 -1
- data/lib/octopress-escape-code.rb +17 -5
- data/octopress-escape-code.gemspec +4 -1
- data/test/_expected/index.html +10 -6
- data/test/index.md +4 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 080cc036a9e132f9d0b5f6c4c7531e59e63d134a
|
4
|
+
data.tar.gz: 447d073260a2e42364acb4b929edd8749c2e67a0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 64a4526d32f633c54b0fc7635b675d588ee5c32ffbb00073b9d1c29d396c975649cc2288e9b1bac5b5854b3ce95c949bb91ce51fbbbb99a416321e9340f91e03
|
7
|
+
data.tar.gz: 131b1115d49a0f29ad0c63be42f41a5930bece31344ce4766f9610e15125bc9f49ecdbb4d42e26c4507e70b495d2be63c514da1c7a52ab17b136052240e7c0dc
|
data/.travis.yml
CHANGED
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
|
|
@@ -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 /^(
|
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 /(`
|
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
|
-
|
61
|
-
|
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
|
data/test/_expected/index.html
CHANGED
@@ -1,11 +1,14 @@
|
|
1
1
|
<p>Some text</p>
|
2
|
-
<div class="highlight"><pre><code class="language-text" data-lang="text">
|
3
|
-
|
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't trigger an escape.</p>
|
9
12
|
|
10
13
|
<p>So here'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'
|
18
|
-
</div></div><div data-line='3' class='code-highlight-row numbered'><div class='code-highlight-line'
|
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'>{% some tag that should break %}
|
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
|
-
|
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.
|
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-
|
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:
|
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:
|
84
|
+
name: pry-byebug
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|