jekyll-page-boilerplate 4.0.0 → 4.1.1

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
  SHA256:
3
- metadata.gz: d0bdff35c4fc0b98be3987b90be503a93864c8dcb0dec6358a1cdd07f19fdc88
4
- data.tar.gz: 8a11dca9014aaa518f9f56d4782077e3791b4342af84a8f917afe8d5b7eecf62
3
+ metadata.gz: 774edface63c05ab9dba0898408bbc7ba43936fd0d67a56fb201989bb605ae15
4
+ data.tar.gz: b1076c48762f122437d06ee5424afe489ff58b3e0ac1e2b61d134da964492b40
5
5
  SHA512:
6
- metadata.gz: b9a614357a7bcb5c380ab20587b34779d18d12d06380f0511a15f8187ea22b28547b640aeba05029422de27cc3e0974ac724c0b13746220a6e3455f83abf67be
7
- data.tar.gz: 7533fd3e0811a14c04f505c444d1e61225bc624c54d9cd2aecace495884172c8628b04810d54e23639137334ea5ccdff4e65ab8dddeb8ed39c33e099e226def0
6
+ metadata.gz: b89128cd44e91ba760b7d7655b5c14d1d26919bca83c016364ff7dae30d91f1d63b208cb0a73a07c59abeed4c463d1dc7a2f852319992308bddc27f7073b20f2
7
+ data.tar.gz: 1dcc5e8279d8e0ad5e5cb84c5efc5209d86cccf8391d3b669f51fbc34407a508f808271992912ee158852d91b2f1a4bcf3accb2fb12270ddc999f9e25cef5a42
@@ -0,0 +1,29 @@
1
+ A boilerplate is a markdown file you place under the `_boilerplates` folder to generate new pages for jekyll.
2
+
3
+ `_boilerplates/post.md`
4
+
5
+ ---
6
+ _boilerplate: # boilerplate settings
7
+ path: _posts # the path to create the new page under.
8
+ timestamp: true # when true new post/pages will include the date in the filename.
9
+ title: {{ boilerplate.title }} # tags like this will be replaced
10
+ layout: post # everthing else will be copied to the new post.
11
+ author: John Doe
12
+
13
+
14
+ `$ boilerplate post -T "Another one about pottery"` would create a new file `_posts/yyyy-mm-dd-another-one-about-pottery.markdown`
15
+
16
+ ---
17
+ title: Another one about pottery
18
+ created: 'yyyy-mm-dd hh:mm:ss -0000'
19
+ layout: post
20
+ author: John Doe
21
+
22
+
23
+ Available Tags `{{ boilerplate.xxx }}`:
24
+ - `.title`, `.name`
25
+ - `.path`, `.file`, `.suffix`
26
+ - `.time`, `.date`, `.timestamp`
27
+ - `.random_url`
28
+ - Custom tags you provide in the command `bplate post custom=1`
29
+ - And anything you put under the `_boilerplate:` header
@@ -1,8 +1,18 @@
1
1
 
2
2
  module JekyllPageBoilerplate::Msg
3
3
 
4
+ SUMMARY = "A jekyll plugin that allows you to create new pages or posts from a boilerplate through the terminal."
5
+
4
6
  def self.file name
5
- puts File.read(File.join(__dir__, 'msg', name))
7
+ puts self.read_file name
8
+ end
9
+
10
+ def self.description
11
+ self.read_file('description.md')
12
+ end
13
+
14
+ def self.read_file name
15
+ File.read(File.join(__dir__, 'msg', name))
6
16
  end
7
17
 
8
18
  def self.error(**msgs)
@@ -21,7 +21,7 @@ class JekyllPageBoilerplate::Page
21
21
 
22
22
  def initialize boilerplate, options
23
23
  options.compact!
24
- options.transform_keys! {|k| k.to_s}
24
+ options.transform_keys!(&:to_s)
25
25
  plate_path = get_boilerplate_path(boilerplate).to_s
26
26
 
27
27
  abort_unless_file_exists( plate_path )
@@ -82,8 +82,8 @@ class JekyllPageBoilerplate::Page
82
82
 
83
83
  class Tag
84
84
  class << self
85
- def missing_method
86
- nil
85
+ def method_missing *args
86
+ ''
87
87
  end
88
88
 
89
89
  def random_url length = nil
@@ -93,11 +93,6 @@ class JekyllPageBoilerplate::Page
93
93
  end
94
94
  end
95
95
 
96
- def fill_template key, val
97
- @head.gsub! /\{{2}\s{0,}boilerplate\.#{key}\s{0,}\}{2}/, @config[key].to_s
98
- @body.gsub! /\{{2}\s{0,}boilerplate\.#{key}\s{0,}\}{2}/, @config[key].to_s
99
- end
100
-
101
96
  def get_body markdown
102
97
  return markdown
103
98
  end
@@ -1,5 +1,3 @@
1
1
  module JekyllPageBoilerplate
2
- VERSION = "4.0.0"
3
-
4
- DESCRIPTION = "A jekyll plugin that allows you to create new pages or posts from a boilerplate through the terminal."
2
+ VERSION = "4.1.1"
5
3
  end
@@ -21,7 +21,7 @@ module JekyllPageBoilerplate
21
21
  end
22
22
 
23
23
  def self.readme
24
- Msg.file 'readme.md'
24
+ Msg.file 'description.md'
25
25
  end
26
26
 
27
27
  def self.page boilerplate_name, options
@@ -3,8 +3,8 @@ require 'jekyll_page_boilerplate'
3
3
 
4
4
  class JekyllPageBoilerplate::Application < Bales::Application
5
5
  version JekyllPageBoilerplate::VERSION
6
- description JekyllPageBoilerplate::DESCRIPTION
7
-
6
+ description JekyllPageBoilerplate::Msg.description
7
+ summary JekyllPageBoilerplate::Msg::SUMMARY
8
8
  # `boilerplate <page>`
9
9
  option :title, type: String, long_form: '--title', short_form: '-T',
10
10
  description: "`path/<title>.md`"
@@ -15,16 +15,12 @@ class JekyllPageBoilerplate::Application < Bales::Application
15
15
  option :suffix, type: String, long_form: '--suffix', short_form: '-x',
16
16
  description: "`path/title.<md, markdown, txt>`"
17
17
 
18
- action do |plate, title: nil, path: nil, timestamp: nil, suffix: nil|
19
- JekyllPageBoilerplate.page plate, {title: title, path: path, suffix: suffix, timestamp: timestamp}
20
- end
21
-
22
- # `boilerplate readme`
23
- command 'readme' do
24
- description "Helpful info"
25
- action do
26
- JekyllPageBoilerplate.readme
27
- end
18
+ action do |plate, *custom, title: nil, path: nil, timestamp: nil, suffix: nil|
19
+ custom = Hash[custom.map {|v| v.split('=')}]
20
+ JekyllPageBoilerplate.page plate, custom.merge({
21
+ title: title, path: path,
22
+ suffix: suffix, timestamp: timestamp
23
+ })
28
24
  end
29
25
 
30
26
  # `boilerplate help`
@@ -32,7 +28,7 @@ class JekyllPageBoilerplate::Application < Bales::Application
32
28
 
33
29
  # `boilerplate init`
34
30
  command 'init' do
35
- description "Creates an example boilerplate."
31
+ summary "Creates an example boilerplate."
36
32
  action do
37
33
  JekyllPageBoilerplate.init
38
34
  end
@@ -40,7 +36,7 @@ class JekyllPageBoilerplate::Application < Bales::Application
40
36
 
41
37
  # `boilerplate list`
42
38
  command 'list' do
43
- description "List all the boilerplates"
39
+ summary "List all the boilerplates"
44
40
  action do
45
41
  JekyllPageBoilerplate.list
46
42
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-page-boilerplate
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Ferney
@@ -44,8 +44,22 @@ dependencies:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: 2.8.5
47
- description: A jekyll plugin that allows you to create new pages or posts from a boilerplate
48
- through the terminal.
47
+ description: |+
48
+ A boilerplate is a markdown file you place under the `_boilerplates/<boilerplate>.md` folder to generate new pages for jekyll.
49
+
50
+
51
+ It can automatically timestamp and title new pages.
52
+
53
+
54
+ It will also replacing any `{{ boilerplate.xxx }}` tags with content. Available tags include `.time, .title, .date, .random_url`.
55
+
56
+
57
+ You can also provide custom tags with `boilerplate post nav_order=1` > `{{ boilerplate.nav_order }}`.
58
+
59
+
60
+ In the boilerplate header you can specify options like the path to generate pages under and if filenames should be timestamped. `_boilerplate: > path: '_posts/'`
61
+
62
+
49
63
  email:
50
64
  - sean@codekarma.dev
51
65
  executables:
@@ -61,7 +75,7 @@ files:
61
75
  - lib/jekyll_page_boilerplate/init.rb
62
76
  - lib/jekyll_page_boilerplate/list.rb
63
77
  - lib/jekyll_page_boilerplate/msg.rb
64
- - lib/jekyll_page_boilerplate/msg/readme.md
78
+ - lib/jekyll_page_boilerplate/msg/description.md
65
79
  - lib/jekyll_page_boilerplate/page.rb
66
80
  - lib/jekyll_page_boilerplate/version.rb
67
81
  - lib/jekyll_page_boilerplate_cli.rb
@@ -89,5 +103,6 @@ requirements: []
89
103
  rubygems_version: 3.2.3
90
104
  signing_key:
91
105
  specification_version: 4
92
- summary: A jekyll plugin that creates new pages from boilerplates
106
+ summary: A jekyll plugin that allows you to create new pages or posts from a boilerplate
107
+ through the terminal.
93
108
  test_files: []
@@ -1,27 +0,0 @@
1
- A boilerplate is a markdown file in the `_boilerplates` folder.
2
-
3
- ie. `_boilerplates/post.yml`
4
- ---
5
- _boilerplate: # boilerplate settings
6
- path: _posts # the path to create the new page under.
7
- timestap: true # when true new post/pages will include the date in the filename.
8
-
9
- title: {{ boilerplate.title }}
10
- layout: post # everthing else will be copied to the new post.
11
- author: John Doe
12
-
13
- `$ boilerplate page post "Another one about pottery"` would create a new file `_posts/yyyy-mm-dd-another-one-about-pottery.markdown`
14
- ---
15
- title: Another one about pottery
16
- created: 'yyyy-mm-dd hh:mm:ss -0000'
17
- layout: post
18
- author: John Doe
19
- ---
20
-
21
- Usage: `$ boilerplate [page|init|help]`
22
-
23
- `$ boilerplate init`: creates a example boilerplate at `_boilerplates/example.md`
24
-
25
- `$ boilerplate page <boilerplate-name> <post-title>`: Creates a new page from a boilerplate
26
-
27
- `$ boilerplate help`: shows this dialog.