juicelang-theme 0.5.0 → 0.5.1

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
  SHA256:
3
- metadata.gz: d091d794594724f2fd4ddd2a8cc25650237a83517536a4bfd13ced599aac2a9c
4
- data.tar.gz: 7645974aa4ce62c401c117905c266df4a23986b7dc1b31928baa03082900086e
3
+ metadata.gz: 0f852df9e1751836546ec0ea84f1db906a60950456da13f4b9544a672a4fe784
4
+ data.tar.gz: c8885eb5faa5508b89a0b04dd6044a3f4d1f1af4739f3a1fe7956a0aa688f40c
5
5
  SHA512:
6
- metadata.gz: bf17f82e1968ada92376d0fadf83f4cab66fa9cf97fbf9ade047f6f779dacc6ce31c76a0045d2ac8b3eeeef921318fc9c4461457a457b0fdbe06de47d5059b84
7
- data.tar.gz: 7bf696530ca7be79464512b87b728f2379867a96e3667e308012b9d86f281c633c2c6d5a0ef0ad8e0ac22d614f4e74bf324d1c20d1ab55c76e9522cb8d8dfde1
6
+ metadata.gz: 27994731614627460d4908dfc7accfa2e36e736b3050dc1128a92ade56104a6c7ffd3bc47c9adc228c82cc04bb2c9399e0844a410f7a21690e7e944f2d8fc6d1
7
+ data.tar.gz: d326873e94ae956149ca4b627fe7f17a37a5b7303fdeeb01cd213b7c3cd9cfe620d5adbc5103ec86e826e9860c06fe6e1903308a0a38c357048dbe053cbd2b81
data/_includes/nav.html CHANGED
@@ -1,6 +1,6 @@
1
1
  <div id="{{ include.id }}" uk-offcanvas="mode: push{% if include.flip %}; flip: true{% endif %}">
2
2
  <div class="uk-offcanvas-bar">
3
- <ul class="uk-nav-default" uk-nav='{"toggle": "> a.nav-parent-toggle"}''>
3
+ <ul class="uk-nav-default" uk-nav='{"toggle": "> a.nav-parent-toggle"}'>
4
4
  {% assign navigation = site.data.navigation[include.navigation] %}
5
5
  {% assign indexPage = site.pages | find: "path", navigation.index_path %}
6
6
  <li class="uk-nav-header"><a href="{{ indexPage | url_without_ext }}">{{ navigation.title }}</a></li>
data/lib/custom_tags.rb CHANGED
@@ -4,8 +4,6 @@ require 'jekyll'
4
4
  require 'kramdown'
5
5
  require 'liquid'
6
6
 
7
- require_relative 'markdown_toc'
8
-
9
7
 
10
8
  class ToCTag < Liquid::Tag
11
9
  def initialize(tag_name, input, tokens)
@@ -15,22 +13,28 @@ class ToCTag < Liquid::Tag
15
13
  def render(context)
16
14
  toc = Kramdown::Document.new(context.registers[:page]['content'], {
17
15
  input: "GFM"
18
- }).to_ToC
19
- build_list(toc.select { |item| item[0] == 2 }, toc.first)
16
+ }).to_Toc
17
+ build_list(toc, context)
20
18
  end
21
19
 
22
20
  private
23
21
 
24
- def build_list(toc, top)
25
- result = '<li class="uk-active"><a href="#' + top[1] + '">' + top[2][0].value + '</a></li>' + "\n"
22
+ def build_list(toc, context)
23
+ top = toc.children.first.value
24
+ result = '<li class="uk-active"><a href="#' + top.attr['id'] + '">' + elementToHTML(top, context) + '</a></li>' + "\n"
26
25
 
27
- for i in 0...toc.count
28
- item = toc[i]
29
- result += '<li><a href="#' + item[1] + '">' + item[2][0].value + "</a></li>\n"
26
+ for item in toc.children.first.children.map { |e| e.value }
27
+ result += '<li><a href="#' + item.attr['id'] + '">' + elementToHTML(item, context) + "</a></li>\n"
30
28
  end
31
29
 
32
30
  result
33
31
  end
32
+
33
+ def elementToHTML(el, context)
34
+ root = Kramdown::Element.new(:root, nil, nil, encoding: context.registers[:page]['content'].encoding)
35
+ root.children = el.children
36
+ Kramdown::Converter::CustomHtml.convert(root).first
37
+ end
34
38
  end
35
39
 
36
40
  Liquid::Template.register_tag('toc', ToCTag)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: juicelang-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josef Zoller
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-09 00:00:00.000000000 Z
11
+ date: 2022-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -275,7 +275,6 @@ files:
275
275
  - lib/juice_lexer.rb
276
276
  - lib/juicelang-theme.rb
277
277
  - lib/markdown.rb
278
- - lib/markdown_toc.rb
279
278
  homepage: https://github.com/juice-lang/juicelang-theme
280
279
  licenses:
281
280
  - MIT
data/lib/markdown_toc.rb DELETED
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'jekyll'
4
- require 'kramdown'
5
-
6
- class Kramdown::Converter::ToC < Kramdown::Converter::Html
7
- def convert(el, indent = -@indent)
8
- result = super
9
- return result unless el.type == :root
10
-
11
- @toc
12
- end
13
- end