jekyll-optional-front-matter 0.0.1 → 0.1.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: 87c57f05b8d4ee99eafa0aa57f03c2d9ab434587
4
- data.tar.gz: 85095f5dd70bcfaa0af3ad15bff56bd267a33a1e
3
+ metadata.gz: 7fe8954cd00f73507e5758cfab84cbb43c5c841e
4
+ data.tar.gz: d8c156ef4f997e5204d68f2b8ae096e52d3a4a2a
5
5
  SHA512:
6
- metadata.gz: d1f7ff3e067a5c704173af9ef7a7451a154310573a493067df37dd1fdb97e003043b0f9c17739e64a28eb54e4f71ba59ebd6a1fe2cfab0b42e191c278458e331
7
- data.tar.gz: eb0b768b1b7a150df5c46653fc10a832baae1c9da2ab0c9fc7fd553217ce314c49fd5e58e0a382f0a6200ef008272ee24919b502c37ed215d198d15cece0816a
6
+ metadata.gz: 4b66ccd1cd180988edbbe76eaab3526c32f52c7486034c63f82e3d39cb9bb713e75053419ba21a79aa74fef771527363907c3fd5d882a087e1526fe5f22984f6
7
+ data.tar.gz: 2e8d918fcc4910d45f661edfb2d4c0cec37e02a377d439eb8a60fd2252d32ec92a6b6845d1a998022ef8564c6091de378ec3ba2b8919a2dde2232cdd9af4341e
@@ -1,5 +1,19 @@
1
1
  require "jekyll"
2
2
 
3
3
  module JekyllOptionalFrontMatter
4
+ # Case-insensitive array of filenames to exclude. All files must first
5
+ # match the config-defined list of markdown extensions. If you'd like one
6
+ # of these files included in your site, simply add YAML front matter to it.
7
+ FILENAME_BLACKLIST = %w(
8
+ README
9
+ LICENSE
10
+ LICENCE
11
+ COPYING
12
+ CODE_OF_CONDUCT
13
+ CONTRIBUTING
14
+ ISSUE_TEMPLATE
15
+ PULL_REQUEST_TEMPLATE
16
+ ).freeze
17
+
4
18
  autoload :Generator, "jekyll-optional-front-matter/generator"
5
19
  end
@@ -2,7 +2,7 @@ module JekyllOptionalFrontMatter
2
2
  class Generator < Jekyll::Generator
3
3
  attr_accessor :site
4
4
 
5
- safe :true
5
+ safe true
6
6
  priority :low
7
7
 
8
8
  def initialize(site)
@@ -12,15 +12,27 @@ module JekyllOptionalFrontMatter
12
12
  def generate(site)
13
13
  @site = site
14
14
  return if site.config["require_front_matter"]
15
- site.pages.concat(pages)
15
+ site.pages.concat(pages_to_add)
16
16
  end
17
17
 
18
18
  private
19
19
 
20
+ # An array of Jekyll::Pages to add, *excluding* blacklisted files
21
+ def pages_to_add
22
+ pages.reject { |page| blacklisted?(page) }
23
+ end
24
+
25
+ # An array of potential Jekyll::Pages to add, *including* blacklisted files
20
26
  def pages
21
27
  markdown_files.map { |static_file| page_from_static_file(static_file) }
22
28
  end
23
29
 
30
+ # An array of Jekyll::StaticFile's with a site-defined markdown extension
31
+ def markdown_files
32
+ site.static_files.select { |file| markdown_converter.matches(file.extname) }
33
+ end
34
+
35
+ # Given a Jekyll::StaticFile, returns the file as a Jekyll::Page
24
36
  def page_from_static_file(static_file)
25
37
  base = static_file.instance_variable_get("@base")
26
38
  dir = static_file.instance_variable_get("@dir")
@@ -28,12 +40,13 @@ module JekyllOptionalFrontMatter
28
40
  Jekyll::Page.new(site, base, dir, name)
29
41
  end
30
42
 
31
- def markdown_files
32
- site.static_files.select { |f| markdown_converter.matches(f.extname) }
43
+ # Does the given Jekyll::Page match our filename blacklist?
44
+ def blacklisted?(page)
45
+ FILENAME_BLACKLIST.include?(page.basename.upcase)
33
46
  end
34
47
 
35
48
  def markdown_converter
36
- site.find_converter_instance(Jekyll::Converters::Markdown)
49
+ @markdown_converter ||= site.find_converter_instance(Jekyll::Converters::Markdown)
37
50
  end
38
51
  end
39
52
  end
@@ -1,3 +1,3 @@
1
1
  module JekyllOptionalFrontMatter
2
- VERSION = "0.0.1".freeze
2
+ VERSION = "0.1.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.0.1
4
+ version: 0.1.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: 2016-09-11 00:00:00.000000000 Z
11
+ date: 2016-09-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll