jekyll-optional-front-matter 0.2.0 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 699f529d1c74aab068a8409d8f627972850284fa
4
- data.tar.gz: 3eeeb01349fa637d6f4adbd008f628527f8af533
3
+ metadata.gz: eeb9bc52d01fe3ddf00623f3e8c7f2b9affcf7af
4
+ data.tar.gz: d806a601091253ec1c4dcb241fdc89ec03607882
5
5
  SHA512:
6
- metadata.gz: 7da45704d66838382189ed0ab1c194fb032082e35a9896eae4d647bc36a7161f739d93621458cd2d42be61dcebc98dd20035988ef0f69c5c22b8fca01a113f5e
7
- data.tar.gz: eb428b2029c7b3f0692a714847aa3a7a9384ef3680a4059bc664d25c39f04e07ea50bd9ee204cca3bdef7947d7adedc482ea8e78dcf810d67c5df1420bf81b8e
6
+ metadata.gz: 7ad53b232c4fa3fc252c4e8eb6af311bbc05e4b3beb7d0b1b09249f4496f91ef16c7de9cadbbbb41d58bc3658ec07048dd66cd8852e49d3c8bc06b5b517ac518
7
+ data.tar.gz: 4dad5d5f286cd47df84a81b875997b07a4e1d234b278db478dce3ba703d76302b4242539f73d705b47096a8dd2d2929a8191132aafa93caf75c966553caf48d2
@@ -5,14 +5,19 @@ module JekyllOptionalFrontMatter
5
5
  safe true
6
6
  priority :normal
7
7
 
8
+ CONFIG_KEY = "optional_front_matter".freeze
9
+ ENABLED_KEY = "enabled".freeze
10
+ CLEANUP_KEY = "remove_originals".freeze
11
+
8
12
  def initialize(site)
9
13
  @site = site
10
14
  end
11
15
 
12
16
  def generate(site)
13
17
  @site = site
14
- return if site.config["require_front_matter"]
18
+ return if disabled?
15
19
  site.pages.concat(pages_to_add)
20
+ site.static_files -= static_files_to_remove if cleanup?
16
21
  end
17
22
 
18
23
  private
@@ -22,6 +27,11 @@ module JekyllOptionalFrontMatter
22
27
  pages.reject { |page| blacklisted?(page) }
23
28
  end
24
29
 
30
+ # An array of Jekyll::StaticFile's, *excluding* blacklisted files
31
+ def static_files_to_remove
32
+ markdown_files.reject { |page| blacklisted?(page) }
33
+ end
34
+
25
35
  # An array of potential Jekyll::Pages to add, *including* blacklisted files
26
36
  def pages
27
37
  markdown_files.map { |static_file| page_from_static_file(static_file) }
@@ -48,7 +58,7 @@ module JekyllOptionalFrontMatter
48
58
 
49
59
  def whitelisted?(page)
50
60
  return false unless site.config["include"].is_a? Array
51
- entry_filter.included?(page.path)
61
+ entry_filter.included?(page.relative_path)
52
62
  end
53
63
 
54
64
  def markdown_converter
@@ -58,5 +68,17 @@ module JekyllOptionalFrontMatter
58
68
  def entry_filter
59
69
  @entry_filter ||= Jekyll::EntryFilter.new(site)
60
70
  end
71
+
72
+ def option(key)
73
+ site.config[CONFIG_KEY] && site.config[CONFIG_KEY][key]
74
+ end
75
+
76
+ def disabled?
77
+ option(ENABLED_KEY) == false || site.config["require_front_matter"]
78
+ end
79
+
80
+ def cleanup?
81
+ option(CLEANUP_KEY) == true || site.config["require_front_matter"]
82
+ end
61
83
  end
62
84
  end
@@ -1,3 +1,3 @@
1
1
  module JekyllOptionalFrontMatter
2
- VERSION = "0.2.0".freeze
2
+ VERSION = "0.3.0".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-optional-front-matter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Balter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-17 00:00:00.000000000 Z
11
+ date: 2017-09-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll