extended-markdown-filter 0.5.1 → 0.6.0

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: 2c80fe003cb7909cd1b2f7368e74ae1d0b4fb915
4
- data.tar.gz: 815b57e98452cbcc6ca0d84b6035fce004c19cc9
3
+ metadata.gz: a24153805c60c83a7451eff6e4cdf31828efdb34
4
+ data.tar.gz: 045f098ea5039f10096dc383436fff6cf97d58fc
5
5
  SHA512:
6
- metadata.gz: 9d98e090c3df568b9bf39e7f6edc8d2c1fa9821b57773c99b01650fd13dc4d9f6f912e82f35c4081825cbfc049ed526e44bae512a37ccc429dd216813507a979
7
- data.tar.gz: dcf8c6384922e4172e0f4cf467b73716426dfbaa1c11016a15ce5270962d8ce5cde982253fe54d168a11cf2a3274eb7fcb771aa1bcc35a3e32b1cc3c3871809a
6
+ metadata.gz: fa174512d31cb75081ed55226d4962de1dc6c79938c5d7aba000f73287e9297166b951bdd0a2b640ef660149d205af23a96c4990bdc62f683207043441d1e0ad
7
+ data.tar.gz: 77aa4727d976490209aae4edaf5b731754f4803ba67d3f86577529f9abb550dc6096e045e7c1ddd0040764fe7bca809f539534b76497e495144103fdb7a7f8dc
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "extended-markdown-filter"
3
- spec.version = "0.5.1"
3
+ spec.version = "0.6.0"
4
4
  spec.authors = ["Garen Torikian"]
5
5
  spec.email = ["gjtorikian@gmail.com"]
6
6
  spec.summary = %q{Add extended markup syntax to the HTML::Pipeline}
@@ -21,7 +21,6 @@ class ExtendedMarkdownFilter < HTML::Pipeline::MarkdownFilter
21
21
  end
22
22
 
23
23
  # do preprocessing, then call HTML::Pipeline::Markdown
24
- text = format_command_line text
25
24
  text = format_helper text
26
25
 
27
26
  super text, context, result
@@ -51,6 +50,7 @@ class ExtendedMarkdownFilter < HTML::Pipeline::MarkdownFilter
51
50
  format_os_blocks! html
52
51
  format_admonitions! html
53
52
  format_octicons! html
53
+ format_command_line! html
54
54
 
55
55
  html
56
56
  end
@@ -0,0 +1,20 @@
1
+ module Filters
2
+ module PostFilter
3
+ def format_command_line!(html)
4
+ html.gsub!(/<pre><code>``` command-line\n/, "<pre class=\"command-line\">\n")
5
+ html.gsub!(/<pre lang="command-line">/, "<pre class=\"command-line\">\n")
6
+
7
+ html.gsub! /^\n?\s*<pre class="command-line">(.+?)<\/pre>/m do |block|
8
+ block.gsub!(/<\/*code>/, "")
9
+ block.gsub!(/```/, "")
10
+ block.gsub!(/^\s*\$ (.+)$/) { %(<span class="command">#{$1.rstrip}</span>) }
11
+ block.gsub!(/^\s*(\# .+)$/) { %(<span class="comment">#{$1.rstrip}</span>) }
12
+ block.gsub!(/^\s*&gt; (.+)$/) { %(<span class="output">#{$1.rstrip}</span>) }
13
+ block.gsub!(/&lt;/, "<")
14
+ block.gsub!(/&gt;/, ">")
15
+
16
+ block
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,9 @@
1
+ 2. Create a bare clone of the repository.
2
+ ``` command-line
3
+ $ git clone --bare https://{{ site.data.variables.command_line.codeblock }}/<em>exampleuser</em>/<em>old-repository</em>.git
4
+ ```
5
+ 3. Mirror-push to the new repository.
6
+ ``` command-line
7
+ $ cd <em>old-repository</em>.git
8
+ $ git push --mirror https://{{ site.data.variables.command_line.codeblock }}/<em>exampleuser</em>/<em>new-repository</em>.git
9
+ ```
@@ -9,13 +9,15 @@ class HTML::Pipeline::ExtendedMarkdownFilterTest < Minitest::Test
9
9
  doc = ExtendedMarkdownFilter.to_document(fixture("command_line.md"), {})
10
10
  assert doc.kind_of?(HTML::Pipeline::DocumentFragment)
11
11
 
12
- assert_equal 1, doc.css('pre').size
12
+ assert_equal 1, doc.css('pre.command-line').size
13
13
  assert_equal 2, doc.css('span.command').size
14
14
  assert_equal 1, doc.css('span.comment').size
15
15
  assert_equal 2, doc.css('em').size
16
16
  assert_equal 1, doc.css('span.output').size
17
+ assert_equal 0, doc.css('code').size
17
18
 
18
19
  assert_equal 0, doc.css('.command-line a').size
20
+ assert_equal 8, doc.to_html.lines.count
19
21
  refute_equal 0, doc.css('pre').inner_text.length
20
22
  end
21
23
 
@@ -23,7 +25,7 @@ class HTML::Pipeline::ExtendedMarkdownFilterTest < Minitest::Test
23
25
  doc = ExtendedMarkdownFilter.to_document(fixture("command_line_indented.md"), {})
24
26
  assert doc.kind_of?(HTML::Pipeline::DocumentFragment)
25
27
 
26
- assert_equal 1, doc.css('pre').size
28
+ assert_equal 1, doc.css('pre.command-line').size
27
29
  assert_equal 2, doc.css('span.command').size
28
30
  assert_equal 1, doc.css('span.comment').size
29
31
  assert_equal 2, doc.css('em').size
@@ -33,6 +35,26 @@ class HTML::Pipeline::ExtendedMarkdownFilterTest < Minitest::Test
33
35
  refute_equal 0, doc.css('pre').inner_text.length
34
36
  end
35
37
 
38
+ def test_nested_command_line
39
+ doc = ExtendedMarkdownFilter.to_document(fixture("command_line_nested.md"), {})
40
+ assert doc.kind_of?(HTML::Pipeline::DocumentFragment)
41
+
42
+ assert_equal 1, doc.css('ol').size
43
+ assert_equal 2, doc.css('li').size
44
+ assert_equal 2, doc.css('pre').size
45
+
46
+ list = doc.css('ol')[0]
47
+ first_list_item = doc.css('li')[0]
48
+ first_command_line_block = doc.css('pre')[0]
49
+ second_list_item = doc.css('li')[1]
50
+ second_command_line_block = doc.css('pre')[1]
51
+
52
+ assert list.children.include?(first_list_item)
53
+ assert list.children.include?(second_list_item)
54
+ assert_equal first_command_line_block.parent, first_list_item
55
+ assert_equal second_command_line_block.parent, second_list_item
56
+ end
57
+
36
58
  def test_helper
37
59
  doc = ExtendedMarkdownFilter.to_document(fixture("helper.md"), {})
38
60
  assert doc.kind_of?(HTML::Pipeline::DocumentFragment)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: extended-markdown-filter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Garen Torikian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-19 00:00:00.000000000 Z
11
+ date: 2018-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: html-pipeline
@@ -97,10 +97,10 @@ files:
97
97
  - lib/extended-markdown-filter.rb
98
98
  - lib/filters/filters.rb
99
99
  - lib/filters/post/admonition.rb
100
+ - lib/filters/post/command-line.rb
100
101
  - lib/filters/post/intro.rb
101
102
  - lib/filters/post/octicon.rb
102
103
  - lib/filters/post/os-blocks.rb
103
- - lib/filters/pre/command-line.rb
104
104
  - lib/filters/pre/helper.rb
105
105
  - lib/jekyll-override.rb
106
106
  - test/fixtures/admonition.md
@@ -110,6 +110,7 @@ files:
110
110
  - test/fixtures/block_os_blocks.md
111
111
  - test/fixtures/command_line.md
112
112
  - test/fixtures/command_line_indented.md
113
+ - test/fixtures/command_line_nested.md
113
114
  - test/fixtures/helper.md
114
115
  - test/fixtures/intro.md
115
116
  - test/fixtures/octicon.md
@@ -148,6 +149,7 @@ test_files:
148
149
  - test/fixtures/block_os_blocks.md
149
150
  - test/fixtures/command_line.md
150
151
  - test/fixtures/command_line_indented.md
152
+ - test/fixtures/command_line_nested.md
151
153
  - test/fixtures/helper.md
152
154
  - test/fixtures/intro.md
153
155
  - test/fixtures/octicon.md
@@ -1,15 +0,0 @@
1
- module Filters
2
- module PreFilter
3
- def format_command_line(text)
4
- text.gsub /^\n?\s*``` command-line(.+?)```/m do |block|
5
- block.gsub! /^\s*``` command-line/, '<pre class="command-line">'
6
- block.gsub! /^\s*```$/, "</pre>\n"
7
- block.gsub!(/^\s*\$ (.+)$/) { %(<span class="command">#{$1.rstrip}</span>) }
8
- block.gsub!(/^\s*(\# .+)$/) { %(<span class="comment">#{$1.rstrip}</span>) }
9
- block.gsub!(/^\s*> (.+)$/) { %(<span class="output">#{$1.rstrip}</span>) }
10
-
11
- block
12
- end
13
- end
14
- end
15
- end