octopress-escape-code 2.0.6 → 2.1.0
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/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