jekyll-theme-guides-mbland 0.2.1 → 0.2.2

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: 29934a58f4e2a89479b2df4e2d399ad911a8e854
4
- data.tar.gz: 47be69db1434d7b7b57ac129f30d2f8354a4dd7b
3
+ metadata.gz: 0bc59d36f6eff245b1a1a954af0e6982dace91b2
4
+ data.tar.gz: df24ac0ab0619164206a67b8f501e04586df8b8a
5
5
  SHA512:
6
- metadata.gz: c226a22e83ede73c78f45e96e395ad21143e80483e3e52649f9237fa1391448fc7d987e0e9383660be884ca910c999b0900863f56a5d5ff958d6376cc6c2127f
7
- data.tar.gz: 63363244938c0a3d5d5a5cc032dd22230062909cc11a3e898e159b2d86e5c1c2966369c77b1e7b64cd9ea6ee932eb92c35cf4133ae5d261cb716ded568a843f4
6
+ metadata.gz: 99091b62f70e965acf738ade693c82cd0cb1664751f922fad56caef158d949a59a0a4e357841599435884759b0d63edad3314586054a61c3714b83e4afdddb67
7
+ data.tar.gz: 3e5b84ceafcbde3642589cb6a7670b854d118448ae05fd45f30f31bacb27c20e3cd2a36d5d52cd9851b1f2faea2ab0f5d6c93092abb36ea60b1aa3450f65acf3
@@ -5,7 +5,7 @@
5
5
  aria-controls="nav-collapsible-{{ forloop.index }}">+</button>
6
6
  <ul class="nav-children" id="nav-collapsible-{{ forloop.index }}"
7
7
  aria-hidden="{% if expand_nav == 'true' %}false{% else %}true{% endif %}">
8
- {% for child in parent.children %}
8
+ {% if site.flat_namespace %}{% assign parent_url = '/' %}{% endif %}{% for child in parent.children %}
9
9
  {% capture child_url %}{{ parent_url }}{{ child.url }}{% endcapture %}
10
10
  <li class="{% if page.url == child_url %}sidebar-nav-active{% endif %}">
11
11
  <a href="{% if child.internal == true %}{{ site.baseurl }}{{ child_url }}{% else %}{{ child.url }}{% endif %}"
@@ -6,7 +6,7 @@ module JekyllThemeGuidesMbland
6
6
  def self.generate(site, docs)
7
7
  breadcrumbs = create_breadcrumbs(site)
8
8
  docs.each do |page|
9
- page.data['breadcrumbs'] = breadcrumbs[page.permalink || page.url]
9
+ page.data['breadcrumbs'] = breadcrumbs[page.data[:working_url]]
10
10
  end
11
11
  end
12
12
 
@@ -10,8 +10,24 @@ module JekyllThemeGuidesMbland
10
10
  GeneratedPages.generate_pages_from_navigation_data(site)
11
11
  pages = site.collections['pages']
12
12
  docs = (pages.nil? ? [] : pages.docs) + site.pages
13
+ docs.each { |doc| Generator.generate_working_url(doc) }
13
14
  Breadcrumbs.generate(site, docs)
14
15
  NamespaceFlattener.flatten_url_namespace(site, docs)
15
16
  end
17
+
18
+ # Calling the `url` method on a Jekyll::Page or Jekyll::Document will render
19
+ # the returned value immutable from that point. Here we generate a separate
20
+ # URL object that we use to calculate `data['permalink']` prior to the first
21
+ # call to `url`. This enables `NamespaceFlattener.flatten_url_namespace` to
22
+ # update the URL as a final step, after `Breadcrumbs.generate` has finished
23
+ # its processing.
24
+ def self.generate_working_url(doc)
25
+ t = doc.respond_to?(:url_template) ? doc.url_template : doc.template
26
+ doc.data[:working_url] = Jekyll::URL.new(
27
+ template: t,
28
+ placeholders: doc.url_placeholders,
29
+ permalink: doc.permalink
30
+ ).to_s
31
+ end
16
32
  end
17
33
  end
@@ -11,7 +11,8 @@ module JekyllThemeGuidesMbland
11
11
  end
12
12
 
13
13
  def self.flatten_page_urls(page, flat_to_orig)
14
- orig_url = page.permalink || page.url
14
+ return if page.data['title'].nil?
15
+ orig_url = page.data[:working_url]
15
16
  flattened_url = flat_url(orig_url)
16
17
  (flat_to_orig[flattened_url] ||= []) << orig_url
17
18
  page.data['permalink'] = flattened_url
@@ -1,4 +1,4 @@
1
- require 'jekyll/tags/include'
1
+ require 'jekyll'
2
2
  require 'liquid'
3
3
 
4
4
  module JekyllThemeGuidesMbland
@@ -1,3 +1,3 @@
1
1
  module JekyllThemeGuidesMbland
2
- VERSION = '0.2.1'.freeze
2
+ VERSION = '0.2.2'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-guides-mbland
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Bland
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-15 00:00:00.000000000 Z
11
+ date: 2017-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -136,6 +136,20 @@ dependencies:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: nokogiri
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
139
153
  description: Provides consistent style elements for Guides generated using Jekyll.
140
154
  Originally based on DOCter (https://github.com/cfpb/docter/) from CFPB (http://cfpb.github.io/).
141
155
  email: