jekyll-optional-front-matter 0.0.1 → 0.1.0

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: 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