octopress-escape-code 2.0.6 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/lib/octopress-escape-code.rb +15 -30
- data/lib/octopress-escape-code/version.rb +1 -1
- metadata +21 -33
- data/.clash.yml +0 -3
- data/.gitignore +0 -24
- data/.travis.yml +0 -8
- data/Gemfile +0 -4
- data/Rakefile +0 -2
- data/octopress-escape-code.gemspec +0 -31
- data/test/Gemfile +0 -3
- data/test/_config.yml +0 -16
- data/test/_expected/indented-codefence.html +0 -28
- data/test/_expected/index.html +0 -33
- data/test/_expected/markdown-table.html +0 -4
- data/test/_expected/nested-codeblocks.html +0 -10
- data/test/indented-codefence.md +0 -32
- data/test/index.md +0 -45
- data/test/markdown-table.md +0 -7
- data/test/nested-codeblocks.md +0 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bced10961ade19c5d184e8e59ce59ea0eff0b16f
|
4
|
+
data.tar.gz: 18b62ed0ab2e0d0b1cc09f6bf211dcdd7572312b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 118415429a8e3dc4a1dce5ae5b03ec62e57936d04c542df348cad8a346be76ce8b79091690351332e0a3296d90f73f326661be7085799a6a0eeb6af29b920495
|
7
|
+
data.tar.gz: a7a7eda5485be10d2e7f156fd4e89673fcfee7228ee425ef809993181caa6a3772feca23b8271abfc2a821b1a83d30ff6995f76564134b81f0ff51365775c45e
|
data/CHANGELOG.md
CHANGED
@@ -1,42 +1,27 @@
|
|
1
|
-
require
|
2
|
-
require '
|
1
|
+
require 'octopress-escape-code/version'
|
2
|
+
require 'jekyll'
|
3
3
|
|
4
4
|
module Octopress
|
5
5
|
module EscapeCode
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
if Octopress::EscapeCode.escape_enabled?(page)
|
12
|
-
page.content = Octopress::EscapeCode.escape(page)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
def post_render(page)
|
17
|
-
Octopress::EscapeCode.unescape_brackets(page.output)
|
7
|
+
Jekyll::Hooks.register [:documents, :pages, :posts], :pre_render do |item|
|
8
|
+
if Octopress::EscapeCode.escape_enabled?(item)
|
9
|
+
puts 'yep'
|
10
|
+
item.content = Octopress::EscapeCode.escape(item)
|
18
11
|
end
|
19
12
|
end
|
20
13
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
def pre_render(page)
|
25
|
-
if Octopress::EscapeCode.escape_enabled?(page)
|
26
|
-
page.content = Octopress::EscapeCode.escape(page)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
def post_render(page)
|
31
|
-
Octopress::EscapeCode.unescape_brackets(page.output)
|
32
|
-
end
|
14
|
+
Jekyll::Hooks.register [:documents, :pages, :posts], :post_render do |item|
|
15
|
+
Octopress::EscapeCode.unescape_brackets(item.output)
|
33
16
|
end
|
34
17
|
|
35
|
-
|
18
|
+
extend self
|
19
|
+
|
20
|
+
def escape_enabled?(page)
|
36
21
|
get_config(page, 'escape_code', false)
|
37
22
|
end
|
38
23
|
|
39
|
-
def
|
24
|
+
def get_config(page, config, default)
|
40
25
|
site_config = page.site.config[config]
|
41
26
|
site_config = default if site_config.nil?
|
42
27
|
|
@@ -46,17 +31,17 @@ module Octopress
|
|
46
31
|
page_config
|
47
32
|
end
|
48
33
|
|
49
|
-
def
|
34
|
+
def escape_brackets(content)
|
50
35
|
content.gsub(/{/,'{').gsub(/}/, '}')
|
51
36
|
end
|
52
37
|
|
53
|
-
def
|
38
|
+
def unescape_brackets(content)
|
54
39
|
content.gsub!(/&(amp;)?#x7b;/, '{')
|
55
40
|
content.gsub!(/&(amp;)?#x7d;/, '}')
|
56
41
|
content
|
57
42
|
end
|
58
43
|
|
59
|
-
def
|
44
|
+
def escape(page)
|
60
45
|
ext = page.ext.downcase
|
61
46
|
content = page.content.encode!("UTF-8")
|
62
47
|
md_ext = %w{.markdown .mdown .mkdn .md .mkd .mdwn .mdtxt .mdtext}
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: octopress-escape-code
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brandon Mathis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: jekyll
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '3.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '3.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.6'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: redcarpet
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: rake
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -101,27 +115,11 @@ executables: []
|
|
101
115
|
extensions: []
|
102
116
|
extra_rdoc_files: []
|
103
117
|
files:
|
104
|
-
- ".clash.yml"
|
105
|
-
- ".gitignore"
|
106
|
-
- ".travis.yml"
|
107
118
|
- CHANGELOG.md
|
108
|
-
- Gemfile
|
109
119
|
- LICENSE.txt
|
110
120
|
- README.md
|
111
|
-
- Rakefile
|
112
121
|
- lib/octopress-escape-code.rb
|
113
122
|
- lib/octopress-escape-code/version.rb
|
114
|
-
- octopress-escape-code.gemspec
|
115
|
-
- test/Gemfile
|
116
|
-
- test/_config.yml
|
117
|
-
- test/_expected/indented-codefence.html
|
118
|
-
- test/_expected/index.html
|
119
|
-
- test/_expected/markdown-table.html
|
120
|
-
- test/_expected/nested-codeblocks.html
|
121
|
-
- test/indented-codefence.md
|
122
|
-
- test/index.md
|
123
|
-
- test/markdown-table.md
|
124
|
-
- test/nested-codeblocks.md
|
125
123
|
homepage: https://github.com/octopress/escape-code
|
126
124
|
licenses:
|
127
125
|
- MIT
|
@@ -142,18 +140,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
142
140
|
version: '0'
|
143
141
|
requirements: []
|
144
142
|
rubyforge_project:
|
145
|
-
rubygems_version: 2.
|
143
|
+
rubygems_version: 2.4.5
|
146
144
|
signing_key:
|
147
145
|
specification_version: 4
|
148
146
|
summary: Return tag renders a variable with some nice features
|
149
|
-
test_files:
|
150
|
-
- test/Gemfile
|
151
|
-
- test/_config.yml
|
152
|
-
- test/_expected/indented-codefence.html
|
153
|
-
- test/_expected/index.html
|
154
|
-
- test/_expected/markdown-table.html
|
155
|
-
- test/_expected/nested-codeblocks.html
|
156
|
-
- test/indented-codefence.md
|
157
|
-
- test/index.md
|
158
|
-
- test/markdown-table.md
|
159
|
-
- test/nested-codeblocks.md
|
147
|
+
test_files: []
|
data/.clash.yml
DELETED
data/.gitignore
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
*.gem
|
2
|
-
*.rbc
|
3
|
-
.bundle
|
4
|
-
.config
|
5
|
-
.yardoc
|
6
|
-
Gemfile.lock
|
7
|
-
InstalledFiles
|
8
|
-
_yardoc
|
9
|
-
coverage
|
10
|
-
doc/
|
11
|
-
lib/bundler/man
|
12
|
-
pkg
|
13
|
-
rdoc
|
14
|
-
spec/reports
|
15
|
-
test/tmp
|
16
|
-
test/version_tmp
|
17
|
-
tmp
|
18
|
-
*.bundle
|
19
|
-
*.so
|
20
|
-
*.o
|
21
|
-
*.a
|
22
|
-
mkmf.log
|
23
|
-
_site
|
24
|
-
.code-highlighter-cache
|
data/.travis.yml
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
rvm:
|
3
|
-
- 2.0.0
|
4
|
-
- 1.9.3
|
5
|
-
script: bundle exec clash test
|
6
|
-
notifications:
|
7
|
-
slack:
|
8
|
-
secure: Y3PHypO1A9pd1RneZdRhGIJVb/uchEzjCjHa3myz3UjAY9opjHJRnL4EKoNO6WHAOi0ON9Za2GwAeiT+Sl8YxSsAy8mna33P7gORT4i0it9VFfbOSAe5OBwSbO6H54CZUofWAF5aYGpIfhrPbBek9i0tlT3SH+V259vV/FVDkpw=
|
data/Gemfile
DELETED
data/Rakefile
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
lib = File.expand_path('../lib', __FILE__)
|
3
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'octopress-escape-code/version'
|
5
|
-
|
6
|
-
Gem::Specification.new do |spec|
|
7
|
-
spec.name = "octopress-escape-code"
|
8
|
-
spec.version = Octopress::EscapeCode::VERSION
|
9
|
-
spec.authors = ["Brandon Mathis"]
|
10
|
-
spec.email = ["brandon@imathis.com"]
|
11
|
-
spec.summary = %q{Return tag renders a variable with some nice features}
|
12
|
-
spec.description = %q{Return tag renders a variable with some nice features}
|
13
|
-
spec.homepage = "https://github.com/octopress/escape-code"
|
14
|
-
spec.license = "MIT"
|
15
|
-
|
16
|
-
spec.files = `git ls-files -z`.split("\x0")
|
17
|
-
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
-
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
-
spec.require_paths = ["lib"]
|
20
|
-
|
21
|
-
spec.add_runtime_dependency 'octopress-hooks', '~> 2.0'
|
22
|
-
|
23
|
-
spec.add_development_dependency "bundler", "~> 1.6"
|
24
|
-
spec.add_development_dependency "rake"
|
25
|
-
spec.add_development_dependency "clash"
|
26
|
-
spec.add_development_dependency "octopress-codeblock"
|
27
|
-
|
28
|
-
if RUBY_VERSION >= "2"
|
29
|
-
spec.add_development_dependency "pry-byebug"
|
30
|
-
end
|
31
|
-
end
|
data/test/Gemfile
DELETED
data/test/_config.yml
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
# Site settings
|
2
|
-
title: Your awesome title
|
3
|
-
email: your-email@domain.com
|
4
|
-
baseurl: ""
|
5
|
-
url: "http://yourdomain.com"
|
6
|
-
timezone: UTC
|
7
|
-
escape_code: true
|
8
|
-
|
9
|
-
exclude:
|
10
|
-
- Gemfile*
|
11
|
-
|
12
|
-
# Build settings
|
13
|
-
markdown: redcarpet
|
14
|
-
gems:
|
15
|
-
- octopress-escape-code
|
16
|
-
- octopress-codeblock
|
@@ -1,28 +0,0 @@
|
|
1
|
-
<p>Here's some code:</p>
|
2
|
-
<div class="highlight"><pre><code class="language-text" data-lang="text">```ruby mark:2-4 title:"Testing codefence" url:"https://github.com/octopress/codefence" link_text:"plugin link"
|
3
|
-
class Float
|
4
|
-
def number_decimal_places
|
5
|
-
self.to_s.length-2
|
6
|
-
end
|
7
|
-
|
8
|
-
def to_fraction
|
9
|
-
higher = 10**self.number_decimal_places
|
10
|
-
lower = self*higher
|
11
|
-
|
12
|
-
gcden = greatest_common_divisor(higher, lower)
|
13
|
-
|
14
|
-
return (lower/gcden).round, (higher/gcden).round
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
def greatest_common_divisor(a, b)
|
20
|
-
while a%b != 0
|
21
|
-
a,b = b.round,(a%b).round
|
22
|
-
end
|
23
|
-
return b
|
24
|
-
end
|
25
|
-
end
|
26
|
-
```
|
27
|
-
</code></pre></div>
|
28
|
-
<p>How'd we do?</p>
|
data/test/_expected/index.html
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
<p>Some text</p>
|
2
|
-
<div class="highlight"><pre><code class="language-text" data-lang="text"> `stuff`
|
3
|
-
Some kind of example:
|
4
|
-
{% some tag that should break %}
|
5
|
-
Stuff!
|
6
|
-
</code></pre></div>
|
7
|
-
<p>guys!</p>
|
8
|
-
|
9
|
-
<p>Testing the <code>double {% _guys_ seriously? %} ` type</code> of code thing.</p>
|
10
|
-
|
11
|
-
<p>The random tab character below shouldn't trigger an escape.</p>
|
12
|
-
|
13
|
-
<p>So here's a <code>{% nonexistant tag %}</code> that should be escaped.</p>
|
14
|
-
|
15
|
-
<div class="highlight"><pre><code class="language-html" data-lang="html">Some kind of example:
|
16
|
-
{% some tag that should break %}
|
17
|
-
Stuff!</code></pre></div>
|
18
|
-
|
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:
|
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>
|
23
|
-
<div class="highlight"><pre><code class="language-text" data-lang="text">stuff
|
24
|
-
{% foo %}
|
25
|
-
</code></pre></div>
|
26
|
-
<p>some text</p>
|
27
|
-
<div class="highlight"><pre><code class="language-text" data-lang="text">{% highlight html %}{% raw %}
|
28
|
-
<article>{{ post.content }}</article>
|
29
|
-
{% endraw %}{% endhighlight %}
|
30
|
-
</code></pre></div>
|
31
|
-
<p>Test inner space block raw replacement:</p>
|
32
|
-
<div class="highlight"><pre><code class="language-text" data-lang="text">This inline {% raw %}`<code>`{% endraw %} tag is escaped.
|
33
|
-
</code></pre></div>
|
@@ -1,4 +0,0 @@
|
|
1
|
-
<p>| Asset directory | Description |
|
2
|
-
|:----------------|:------------------------------------------------|
|
3
|
-
| layouts | Users can add layouts by setting <code>layout: plugin_slug:some_layout</code> in a page's YAML front-matter. |
|
4
|
-
| includes | Includes are available to users by <code>{% include plugin_slug:some_file.html %}</code>. |</p>
|
@@ -1,10 +0,0 @@
|
|
1
|
-
<p>hey</p>
|
2
|
-
<div class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="p">{</span><span class="o">%</span> <span class="n">codeblock</span> <span class="ss">lang</span><span class="p">:</span><span class="n">ruby</span> <span class="ss">title</span><span class="p">:</span><span class="s2">"Check if a number is prime"</span> <span class="ss">mark</span><span class="p">:</span><span class="mi">3</span> <span class="sx">%}</span>
|
3
|
-
<span class="sx">class Fixnum</span>
|
4
|
-
<span class="sx"> def prime?</span>
|
5
|
-
<span class="sx"> ('1' * self) !~ /^1?$|^(11+?)\1+$/</span>
|
6
|
-
<span class="sx"> end</span>
|
7
|
-
<span class="sx">end</span>
|
8
|
-
<span class="sx">{% endcodeblock %}</span>
|
9
|
-
</code></pre></div>
|
10
|
-
<p>guys?</p>
|
data/test/indented-codefence.md
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
---
|
2
|
-
---
|
3
|
-
|
4
|
-
Here's some code:
|
5
|
-
|
6
|
-
```ruby mark:2-4 title:"Testing codefence" url:"https://github.com/octopress/codefence" link_text:"plugin link"
|
7
|
-
class Float
|
8
|
-
def number_decimal_places
|
9
|
-
self.to_s.length-2
|
10
|
-
end
|
11
|
-
|
12
|
-
def to_fraction
|
13
|
-
higher = 10**self.number_decimal_places
|
14
|
-
lower = self*higher
|
15
|
-
|
16
|
-
gcden = greatest_common_divisor(higher, lower)
|
17
|
-
|
18
|
-
return (lower/gcden).round, (higher/gcden).round
|
19
|
-
end
|
20
|
-
|
21
|
-
private
|
22
|
-
|
23
|
-
def greatest_common_divisor(a, b)
|
24
|
-
while a%b != 0
|
25
|
-
a,b = b.round,(a%b).round
|
26
|
-
end
|
27
|
-
return b
|
28
|
-
end
|
29
|
-
end
|
30
|
-
```
|
31
|
-
|
32
|
-
How'd we do?
|
data/test/index.md
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
---
|
2
|
-
escape_code: true
|
3
|
-
escape_raw: true
|
4
|
-
---
|
5
|
-
|
6
|
-
Some text
|
7
|
-
|
8
|
-
```
|
9
|
-
`stuff`
|
10
|
-
Some kind of example:
|
11
|
-
{% some tag that should break %}
|
12
|
-
Stuff!
|
13
|
-
```
|
14
|
-
guys!
|
15
|
-
|
16
|
-
Testing the ``double {% _guys_ seriously? %} ` type`` of code thing.
|
17
|
-
|
18
|
-
The random tab character below shouldn't trigger an escape.
|
19
|
-
|
20
|
-
So here's a `{% nonexistant tag %}` that should be escaped.
|
21
|
-
|
22
|
-
{% highlight html %}
|
23
|
-
Some kind of example:
|
24
|
-
{% some tag that should break %}
|
25
|
-
Stuff!
|
26
|
-
{% endhighlight %}
|
27
|
-
|
28
|
-
|
29
|
-
{% codeblock html %}
|
30
|
-
Some kind of example:
|
31
|
-
stuff
|
32
|
-
{% some tag that should break %}
|
33
|
-
Stuff!
|
34
|
-
{% endcodeblock %}
|
35
|
-
stuff
|
36
|
-
{% foo %}
|
37
|
-
some text
|
38
|
-
|
39
|
-
{% highlight html %}{% raw %}
|
40
|
-
<article>{{ post.content }}</article>
|
41
|
-
{% endraw %}{% endhighlight %}
|
42
|
-
|
43
|
-
Test inner space block raw replacement:
|
44
|
-
|
45
|
-
This inline {% raw %}`<code>`{% endraw %} tag is escaped.
|
data/test/markdown-table.md
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
---
|
3
|
-
| Asset directory | Description |
|
4
|
-
|:----------------|:------------------------------------------------|
|
5
|
-
| layouts | Users can add layouts by setting `layout: plugin_slug:some_layout` in a page's YAML front-matter. |
|
6
|
-
| includes | Includes are available to users by `{% include plugin_slug:some_file.html %}`. |
|
7
|
-
|
data/test/nested-codeblocks.md
DELETED