jekyll-toc 0.12.0.rc1 → 0.12.0.rc2

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
  SHA256:
3
- metadata.gz: be220b1646e71d971f92efb0d26f1dc8774a503d8607d8762b54f9402e1606fa
4
- data.tar.gz: 79701301568dc4bedf7a7658ccc7dd618b16018e7befecea758f7298044187ed
3
+ metadata.gz: 6912be740161a70021da9fdcfffcc86c1102b47ca0331fb83dd82ac6c3d9ff3a
4
+ data.tar.gz: b643b75ca33642f66054b52de2d3bc94ef6280277ac1afe91afbc5d0b9096f09
5
5
  SHA512:
6
- metadata.gz: 5248660f0d76d3afbee5d9e4316f63896a44766326c73ad7feeff23ca977bd147722a457ee21b2022048cc6cc1b93837048f48de5518bce71bfc71cf6e647308
7
- data.tar.gz: a6e2f104e4334909dbe70fdbca80123b644965f3c2599c55a09575461f5f9e769a5274ae3627b78cde91203daa9f65c98168d868322f2335386f5d0aacafc77c
6
+ metadata.gz: 26e96485ad84ea72849fde58ff33ced713b3ea962f56dc9ed09caf4ee85c2abff1566994126e0c9cb3f4d56f1d2e7b4638b26ae6e90c0cf9c56405f1b765ef2f
7
+ data.tar.gz: 714d5b7e4973f32d08e2a8689240ee3f372ca6bb7e983122ffca009db47bf175d8df8e3e21cd6c4a74b225ede5e480c2fe48fbec1cb030a2a3dcee10d04c423a
data/README.md CHANGED
@@ -65,19 +65,34 @@ This filter places the TOC directly above the content.
65
65
 
66
66
  If you'd like separated TOC and content, you can use `toc_only` and `inject_anchors` filters.
67
67
 
68
- #### `toc_only` filter
68
+ #### ~~`toc_only` filter~~
69
+
70
+ ⚠️ Please use `{% toc %}` instead of `{{ contents | toc_only }}`.
69
71
 
70
72
  Generates the TOC itself as described [below](#generated-html).
71
73
  Mostly useful in cases where the TOC should _not_ be placed immediately
72
74
  above the content but at some other place of the page, i.e. an aside.
73
75
 
76
+ #### toc tag
77
+
78
+ ```html
79
+ <div>
80
+ <div id="table-of-contents">
81
+ {% toc %}
82
+ </div>
83
+ <div id="markdown-content">
84
+ {{ content }}
85
+ </div>
86
+ </div>
87
+ ```
88
+
74
89
  #### `inject_anchors` filter
75
90
 
76
91
  Injects HTML anchors into the content without actually outputting the TOC itself.
77
92
  They are of the form:
78
93
 
79
94
  ```html
80
- <a id="heading11" class="anchor" href="#heading1-1" aria-hidden="true">
95
+ <a class="anchor" href="#heading1-1" aria-hidden="true">
81
96
  <span class="octicon octicon-link"></span>
82
97
  </a>
83
98
  ```
@@ -5,18 +5,21 @@ require 'table_of_contents/configuration'
5
5
  require 'table_of_contents/parser'
6
6
 
7
7
  module Jekyll
8
- # class TocTag < Liquid::Tag
9
- # def render(context)
10
- # return unless context.registers[:page]['toc']
11
- #
12
- # content_html = context.registers[:page].content
13
- # ::Jekyll::TableOfContents::Parser.new(content_html).build_toc
14
- # end
15
- # end
8
+ # toc tag for Jekyll
9
+ class TocTag < Liquid::Tag
10
+ def render(context)
11
+ return '' unless context.registers[:page]['toc']
12
+
13
+ content_html = context.registers[:page].content
14
+ ::Jekyll::TableOfContents::Parser.new(content_html).build_toc
15
+ end
16
+ end
16
17
 
17
18
  # Jekyll Table of Contents filter plugin
18
19
  module TableOfContentsFilter
19
20
  def toc_only(html)
21
+ Jekyll.logger.warn 'Deprecation: toc_only filter is deprecated and will be remove in jekyll-toc v1.0.',
22
+ 'Use `{% toc %}` instead of `{{ contents | toc_only }}`.'
20
23
  return '' unless toc_enabled?
21
24
 
22
25
  ::Jekyll::TableOfContents::Parser.new(html, toc_config).build_toc
@@ -47,4 +50,4 @@ module Jekyll
47
50
  end
48
51
 
49
52
  Liquid::Template.register_filter(Jekyll::TableOfContentsFilter)
50
- # Liquid::Template.register_tag('toc', Jekyll::TocTag) # will be enabled at v1.0
53
+ Liquid::Template.register_tag('toc', Jekyll::TocTag) # will be enabled at v1.0
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module JekyllToc
4
- VERSION = '0.12.0.rc1'
4
+ VERSION = '0.12.0.rc2'
5
5
  end
@@ -8,9 +8,7 @@ class TestTableOfContentsFilter < Minitest::Test
8
8
  DUMMY_HTML = '<div>Dummy HTML Content</div>'
9
9
 
10
10
  def setup
11
- stubbed_context = Struct.new(:registers)
12
- @context = stubbed_context.new(page: 'xxx')
13
- @context
11
+ @context = Struct.new(:registers).new(page: { "toc" => false })
14
12
  end
15
13
 
16
14
  def test_toc_only
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
4
+
5
+ class TestTableOfContentsTag < Minitest::Test
6
+ include Liquid
7
+
8
+ def setup
9
+ @stubbed_context = Struct.new(:registers)
10
+ @stubbed_context2 = Struct.new(:toc, :content)
11
+ end
12
+
13
+ def test_toc_tag
14
+ context = @stubbed_context.new(page: @stubbed_context2.new({ 'toc' => false }, '<h1>test</h1>'))
15
+ tag = Jekyll::TocTag.parse('toc_tag', '', Tokenizer.new(''), ParseContext.new)
16
+ assert_equal tag.render(context), "<ul class=\"section-nav\">\n<li class=\"toc-entry toc-h1\"><a href=\"#test\">test</a></li>\n</ul>"
17
+ end
18
+
19
+ def test_toc_tag_returns_empty_string
20
+ context = @stubbed_context.new(page: { 'toc' => false })
21
+ tag = Jekyll::TocTag.parse('toc_tag', '', Tokenizer.new(''), ParseContext.new)
22
+ assert_empty tag.render(context)
23
+ end
24
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-toc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0.rc1
4
+ version: 0.12.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - toshimaru
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-03-29 00:00:00.000000000 Z
12
+ date: 2019-03-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -169,6 +169,7 @@ files:
169
169
  - test/test_helper.rb
170
170
  - test/test_jekyll-toc.rb
171
171
  - test/test_kramdown_list.rb
172
+ - test/test_toc_tag.rb
172
173
  homepage: https://github.com/toshimaru/jekyll-toc
173
174
  licenses:
174
175
  - MIT
@@ -202,3 +203,4 @@ test_files:
202
203
  - test/test_helper.rb
203
204
  - test/test_jekyll-toc.rb
204
205
  - test/test_kramdown_list.rb
206
+ - test/test_toc_tag.rb