mkmatter 3.1.5 → 3.1.7
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 +4 -4
- data/.github/dependabot.yml +9 -0
- data/.gitignore +4 -1
- data/.rspec +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +8 -51
- data/Gemfile +1 -0
- data/README.md +1 -1
- data/Rakefile +9 -5
- data/features/support/env.rb +1 -0
- data/lib/mkmatter/cli/app.rb +11 -12
- data/lib/mkmatter/cli/methods.rb +1 -1
- data/lib/mkmatter/cli/subs/new.rb +4 -4
- data/lib/mkmatter/cli.rb +2 -1
- data/lib/mkmatter/common.rb +1 -68
- data/lib/mkmatter/questions.rb +162 -26
- data/lib/mkmatter/version.rb +15 -1
- data/mkmatter.gemspec +22 -18
- data/sig/mkmatter/questions/page.rbs +8 -0
- data/sig/mkmatter/questions/post.rbs +9 -0
- data/spec/class_option_spec.rb +29 -0
- data/spec/descriptions_spec.rb +18 -0
- data/spec/questions_spec.rb +72 -0
- data/spec/spec_helper.rb +36 -0
- metadata +113 -36
- data/lib/mkmatter/gem_info.rb +0 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: afd83f7e9ad74c7ce8e954a255561017db3c7278d3940c8cac95f4d1097a46c1
|
4
|
+
data.tar.gz: 35293271672e6c7cdaf9687dab37fb879960e716d738fc8f9e72e338219572fb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ea9257b5a7444ebb07badc36252437eb6e611f0311aed2fbbb55b3dbba17390bd25541f68b48f59003a68c3218fd69e8bc7dc5ddc3ab166e722b63fc3509401
|
7
|
+
data.tar.gz: 721eaa00bed3e627eed35961cf55dde2e8d80f9fb0100dde238bdb90a719f0e0752d1e9ed7f3fb0a68923936064833f5be9388c723bb2f371a21e5bc46785e3e
|
data/.gitignore
CHANGED
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
-fd -b
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
3.1.7
|
data/.travis.yml
CHANGED
@@ -1,53 +1,10 @@
|
|
1
1
|
language: ruby
|
2
|
-
script: echo "Running tests against $(ruby -v) ..."
|
3
2
|
bundler_args: --jobs=6 --retry=3 --standalone
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
skip_join: true
|
13
|
-
jobs:
|
14
|
-
include:
|
15
|
-
- stage: test Ruby2.2
|
16
|
-
rvm: 2.2.7
|
17
|
-
script:
|
18
|
-
- echo "Running tests against $(ruby -v) ..."
|
19
|
-
- bundle exec rake -t
|
20
|
-
- stage: test Ruby2.3
|
21
|
-
rvm: 2.3.4
|
22
|
-
script:
|
23
|
-
- echo "Running tests against $(ruby -v) ..."
|
24
|
-
- bundle exec rake -t
|
25
|
-
- stage: test Ruby2.4
|
26
|
-
rvm: 2.4.1
|
27
|
-
script:
|
28
|
-
- echo "Running tests against $(ruby -v) ..."
|
29
|
-
- bundle exec rake -t
|
30
|
-
- stage: test Ruby2.5
|
31
|
-
rvm: 2.5.0
|
32
|
-
script:
|
33
|
-
- echo "Running tests against $(ruby -v) ..."
|
34
|
-
- bundle exec rake -t
|
35
|
-
- stage: test Ruby Head
|
36
|
-
rvm: ruby-head
|
37
|
-
script:
|
38
|
-
- echo "Running tests against $(ruby -v) ..."
|
39
|
-
- bundle exec rake -t
|
40
|
-
- stage: gem release
|
41
|
-
rvm: 2.3.0
|
42
|
-
script: echo "Deploying to rubygems.org ..."
|
43
|
-
deploy:
|
44
|
-
provider: rubygems
|
45
|
-
api_key:
|
46
|
-
secure: BJd+CDvEsqGIB04QiLTr/+xZp9BzhyIZTcAfMWc84SE88jM/PgvklIujWgFTL7ZU1perK38t6PUdWUkiNzSfrIidfzFeRgQRGY9jN2hnxf9isHtkS2Dz75xMCBGaLlC8FmRd/CdftepG8Hd5VzUYCcwbKDOtDnHINhJWQ4RV6m0csf4qkK2vmJXhbuvblsLMwpk5NqNWhf2boQp6URuy7kbIvmGlfqDLULhQpv0ScgRmcogMePeOOGgLB5kWuRwMZUy5jIrhtumd6w1G0E93eqU7P28CL/usQvd+aOygyYJ02lR6cgzhcWd2ldtCCctqjazobQhz8lwqr7m+DHx+Px2JkwBw+XUAkceIuFl+As29/5PSULTmU2+DjjH1QXUXCa566lu8wCN6ZaJIGfgiV1BQzapomCDq8xviNIVKqeWDZ6zL4axAJ22VWfck2m3T4ZPon5qf8+uX1/pGJF6LI7S243Ee52G6GPjPzw1EgsVojliYAjoLIRM6vusLJo0NZzy7BrPUYtNd3KeTdaJE5J7hBhLHrkaZ64RC1Gt2pCT9uLQVv9+oezycS5AdNSeT1C+D//4/XbkhjrppLZBc9f8PC9o5HYHkwvCWdQLv61/3bhZTSCJ4K9H7lfmF58z9E7/891NGeMrJWeTsFsTX60StwooHmRKAy1duUL6SDL4=
|
47
|
-
gem: mkmatter
|
48
|
-
on:
|
49
|
-
tags: true
|
50
|
-
repo: IotaSpencer/mkmatter
|
51
|
-
branch: master
|
52
|
-
allow_failures:
|
53
|
-
- rvm: ruby-head
|
3
|
+
rvm:
|
4
|
+
- 2.3.4
|
5
|
+
- 2.4.1
|
6
|
+
- 2.5.3
|
7
|
+
- 3.0.2
|
8
|
+
script:
|
9
|
+
- echo "Running tests against $(ruby -v) ..."
|
10
|
+
- bundle exec rake -t
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -17,7 +17,7 @@
|
|
17
17
|
## Contact
|
18
18
|
|
19
19
|
[](mailto:me@iotaspencer.me)
|
20
|
-
[](https://twitter.com/
|
20
|
+
[](https://twitter.com/iotaspencer)
|
21
21
|
|
22
22
|
[](https://iotaspencer.me)
|
23
23
|
|
data/Rakefile
CHANGED
@@ -1,10 +1,14 @@
|
|
1
1
|
require 'bundler/gem_tasks'
|
2
2
|
require 'rake/testtask'
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
require 'rspec/core/rake_task'
|
4
|
+
RSpec::Core::RakeTask.new(:test)
|
5
|
+
RSpec::Core::RakeTask.new(:spec)
|
6
|
+
|
7
|
+
# Rake::TestTask.new do |t|
|
8
|
+
# t.test_files = FileList['test/**/*_test.rb']
|
9
|
+
# t.libs = ['../lib/mkmatter.rb']
|
10
|
+
# t.warning = false
|
11
|
+
# end
|
8
12
|
|
9
13
|
desc 'Run tests'
|
10
14
|
task default: :test
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'aruba/cucumber'
|
data/lib/mkmatter/cli/app.rb
CHANGED
@@ -6,9 +6,8 @@ require 'active_support/all'
|
|
6
6
|
require 'terminal-table'
|
7
7
|
require 'os'
|
8
8
|
require 'rbconfig'
|
9
|
-
|
9
|
+
require 'mkmatter/version'
|
10
10
|
require 'mkmatter/cli/subs'
|
11
|
-
require 'mkmatter/gem_info'
|
12
11
|
|
13
12
|
module Mkmatter
|
14
13
|
module App
|
@@ -17,13 +16,13 @@ module Mkmatter
|
|
17
16
|
HILINE = HighLine.new($stdin, $stderr, 80)
|
18
17
|
map %w[--version -v] => :__print_version
|
19
18
|
desc '--version, -v', 'Print the version'
|
20
|
-
|
19
|
+
|
21
20
|
# Prints version string
|
22
21
|
# @return [NilClass] nil
|
23
22
|
def __print_version
|
24
23
|
puts Mkmatter::VERSION
|
25
24
|
end
|
26
|
-
|
25
|
+
|
27
26
|
map %w[--debug -d] => :__debug
|
28
27
|
desc '--debug, -d', 'Prints debug info about the script/gem'
|
29
28
|
# Prints debug info
|
@@ -43,18 +42,18 @@ module Mkmatter
|
|
43
42
|
'under windows' => OS::Underlying.windows?,
|
44
43
|
'under bsd' => OS::Underlying.bsd?,
|
45
44
|
})
|
46
|
-
table = Terminal::Table.new
|
45
|
+
table = ::Terminal::Table.new
|
47
46
|
table.title = 'mkmatter Debug Info'
|
48
47
|
table.rows = rows.to_a
|
49
48
|
table.align_column(0, :left)
|
50
|
-
|
49
|
+
|
51
50
|
puts table
|
52
51
|
end
|
53
|
-
|
52
|
+
|
54
53
|
map %w[--info -i] => :__print_info
|
55
54
|
desc '--info, -i', 'Print script/gem info'
|
56
55
|
method_option :'info-format', :type => :string, desc: 'The format of info', enum: %w(table yaml), default: 'table'
|
57
|
-
# @return
|
56
|
+
# @return [NilClass] Prints Gem info
|
58
57
|
def __print_info
|
59
58
|
format = options[:'info-format']
|
60
59
|
rows = {
|
@@ -66,12 +65,12 @@ module Mkmatter
|
|
66
65
|
}
|
67
66
|
case format
|
68
67
|
when 'table'
|
69
|
-
table = Terminal::Table.new
|
68
|
+
table = ::Terminal::Table.new
|
70
69
|
table.style.alignment = :center
|
71
70
|
table.title = 'mkmatter Info'
|
72
71
|
table.rows = rows.to_a
|
73
72
|
table.align_column(0, :left)
|
74
|
-
|
73
|
+
|
75
74
|
puts table
|
76
75
|
when 'yaml'
|
77
76
|
puts rows.stringify_keys.to_yaml
|
@@ -82,10 +81,10 @@ module Mkmatter
|
|
82
81
|
# enum parameter.
|
83
82
|
end
|
84
83
|
end
|
85
|
-
|
84
|
+
|
86
85
|
if Pathname(Dir.home).join('.local/bin/micro').exist?
|
87
86
|
class_option(:editor, type: :string, default: "#{Dir.home}/.local/bin/micro")
|
88
|
-
|
87
|
+
|
89
88
|
elsif Methods.which('micro')
|
90
89
|
class_option(:editor, type: :string, default: 'micro')
|
91
90
|
else
|
data/lib/mkmatter/cli/methods.rb
CHANGED
@@ -12,7 +12,7 @@ module Mkmatter
|
|
12
12
|
include Thor::Actions
|
13
13
|
HILINE = HighLine.new($stdin, $stderr, 40)
|
14
14
|
option :publish, :type => :boolean
|
15
|
-
option :file, :type => :boolean, :default =>
|
15
|
+
option :file, :type => :boolean, :default => true
|
16
16
|
option :index, :type => :boolean, :default => nil
|
17
17
|
method_options %w( template -t ) => :boolean
|
18
18
|
desc 'page [options]', 'make front matter (and possibly content) for a jekyll page'
|
@@ -33,7 +33,7 @@ module Mkmatter
|
|
33
33
|
if HILINE.agree('Would you like to put this page into a subdirectory?', true)
|
34
34
|
HILINE.say("What path? (directories will be created if they don't exist) ")
|
35
35
|
HILINE.say("Don't use a path starting with a slash, just put a relative path.")
|
36
|
-
HILINE.say('good => path/to/dir ‖ bad => /
|
36
|
+
HILINE.say('good => path/to/dir ‖ bad => /absolute/paths/are/bad/mmkay')
|
37
37
|
folder = HILINE.ask('? ') do |q|
|
38
38
|
q.confirm = true
|
39
39
|
q.default = '.'
|
@@ -69,7 +69,7 @@ module Mkmatter
|
|
69
69
|
|
70
70
|
|
71
71
|
option :publish, :type => :boolean
|
72
|
-
option :file, :type => :boolean, :default =>
|
72
|
+
option :file, :type => :boolean, :default => true
|
73
73
|
option :draft, :type => :boolean, :default => nil
|
74
74
|
desc 'post [options]', 'make front matter (and possibly content) for a jekyll post'
|
75
75
|
long_desc Mkmatter::App::Descriptions::New::POST
|
@@ -86,7 +86,7 @@ module Mkmatter
|
|
86
86
|
if HILINE.agree('Would you like to put this page into a subdirectory?', true)
|
87
87
|
HILINE.say("What path? (directories will be created if they don't exist)")
|
88
88
|
HILINE.say("Don't use a path starting with a slash, just put a relative path.")
|
89
|
-
HILINE.say("<% Paint['Good', 'green', :bold] %>: path/to/dir ‖ <%= color('Bad', 'red', :bold) %>: /
|
89
|
+
HILINE.say("<% Paint['Good', 'green', :bold] %>: path/to/dir ‖ <%= color('Bad', 'red', :bold) %>: /absolute/paths/are/bad/mmkay")
|
90
90
|
folder = HILINE.ask('? ') do |q|
|
91
91
|
q.confirm = true
|
92
92
|
q.default = '.'
|
data/lib/mkmatter/cli.rb
CHANGED
data/lib/mkmatter/common.rb
CHANGED
@@ -1,78 +1,11 @@
|
|
1
1
|
require 'highline'
|
2
2
|
require 'active_support/all'
|
3
|
+
require 'mkmatter/questions'
|
3
4
|
|
4
5
|
module Mkmatter
|
5
6
|
module Common
|
6
|
-
attr_accessor :time_zone
|
7
7
|
# @param [HighLine] hl A highline context
|
8
8
|
# @return [String]
|
9
|
-
def get_001_title(hl)
|
10
|
-
title = hl.ask 'Title: '
|
11
|
-
if hl.agree("Would you like it 'titleized' (Title instead of title)? ", true)
|
12
|
-
title.titleize
|
13
|
-
else
|
14
|
-
title
|
15
|
-
end
|
16
|
-
end
|
17
9
|
|
18
|
-
# @param [HighLine] hl A highline context
|
19
|
-
# @return [String]
|
20
|
-
def get_002_tags(hl)
|
21
|
-
hl.ask 'Tags? (this would be a comma separated list.) ', -> (str) {str.split(',')}
|
22
|
-
end
|
23
|
-
|
24
|
-
# @param [HighLine] hl A highline context
|
25
|
-
# @return [String]
|
26
|
-
def get_003_categories(hl)
|
27
|
-
hl.ask 'Categories? (space separated list) ', -> (str) {str.split(' ')}
|
28
|
-
end
|
29
|
-
|
30
|
-
# @param [HighLine] hl A highline context
|
31
|
-
# @return [String]
|
32
|
-
def get_004_time_zone(hl)
|
33
|
-
custom = nil
|
34
|
-
timezone = hl.choose do |m|
|
35
|
-
m.header = 'Time Zone? (select by number)'
|
36
|
-
m.choice('Eastern Time (US & Canada)') do
|
37
|
-
return 'Eastern Time (US & Canada)'
|
38
|
-
end
|
39
|
-
m.choice('Central Time (US & Canada)') do
|
40
|
-
return 'Central Time (US & Canada)'
|
41
|
-
end
|
42
|
-
m.choice :neither
|
43
|
-
m.prompt = '? '
|
44
|
-
end
|
45
|
-
case
|
46
|
-
when timezone == :neither
|
47
|
-
custom = hl.ask('Other Time Zone: ', String)
|
48
|
-
end
|
49
|
-
if custom
|
50
|
-
hl.say('Checking TimeZone Validity')
|
51
|
-
print '.'
|
52
|
-
sleep(0.05)
|
53
|
-
5.times do
|
54
|
-
print '.'
|
55
|
-
sleep(0.05)
|
56
|
-
puts ''
|
57
|
-
TimeZone.find_tzinfo custom
|
58
|
-
end
|
59
|
-
custom
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
# @param [HighLine] hl A highline context
|
64
|
-
# @return [String]
|
65
|
-
def get_005_file_format(hl)
|
66
|
-
hl.choose do |menu|
|
67
|
-
menu.header = 'Choose whether you want HTML or Markdown'
|
68
|
-
menu.choice 'html' do
|
69
|
-
return 'html'
|
70
|
-
end
|
71
|
-
menu.choice 'md' do
|
72
|
-
return 'md'
|
73
|
-
end
|
74
|
-
menu.prompt = '? '
|
75
|
-
end
|
76
|
-
end
|
77
10
|
end
|
78
11
|
end
|
data/lib/mkmatter/questions.rb
CHANGED
@@ -1,57 +1,193 @@
|
|
1
1
|
require 'highline'
|
2
|
-
require 'mkmatter/common'
|
3
2
|
require 'ostruct'
|
4
3
|
module Mkmatter
|
5
4
|
module Questions
|
5
|
+
def self.ask(cls)
|
6
6
|
|
7
|
-
|
8
|
-
|
7
|
+
known_questions = const_get(cls).methods.sort.delete_if { |m| m.to_s !~ /^get_.*$/ }
|
8
|
+
known_questions.each do |m|
|
9
|
+
@answers[:layout] = cls.to_s.lower
|
10
|
+
@answers[m.to_s.gsub(/^get_[0-9]{3}_/, '')] = method(m).call
|
11
|
+
end
|
12
|
+
@answers
|
13
|
+
end
|
9
14
|
|
15
|
+
class Post
|
10
16
|
attr :answers
|
11
|
-
|
17
|
+
|
18
|
+
@hl = HighLine.new
|
19
|
+
|
20
|
+
def ask
|
21
|
+
known_questions = methods.sort.delete_if { |m| m.to_s !~ /^get_.*$/ }
|
22
|
+
known_questions.each do |m|
|
23
|
+
@answers[:layout] = 'post'
|
24
|
+
@answers[m.to_s.gsub(/^get_[0-9]{3}_/, '')] = method(m).call
|
25
|
+
end
|
26
|
+
@answers
|
27
|
+
end
|
12
28
|
|
13
29
|
# @!visibility private
|
14
|
-
|
15
|
-
def initialize(highline_context)
|
16
|
-
@highline_context = highline_context
|
30
|
+
def initialize
|
17
31
|
@answers = OpenStruct.new
|
32
|
+
@hl = HighLine.new
|
33
|
+
end
|
18
34
|
|
35
|
+
def get_001_title
|
36
|
+
hl = @hl
|
37
|
+
title = hl.ask 'Title: '
|
38
|
+
if hl.agree("Would you like it 'titleized' (Title instead of title)? ")
|
39
|
+
title.titleize
|
40
|
+
else
|
41
|
+
title
|
42
|
+
end
|
43
|
+
end
|
19
44
|
|
45
|
+
# @return [Array]
|
46
|
+
def get_002_tags
|
47
|
+
hl = @hl
|
48
|
+
hl.ask("Tags? (write one on each line, then type '.') ") do |q|
|
49
|
+
q.gather = '.'
|
50
|
+
end
|
20
51
|
end
|
21
52
|
|
22
|
-
# @return [
|
23
|
-
def
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
@answers[m.to_s.gsub(/^get_[0-9]{3}_/, '')] = self.method(m).call(@highline_context)
|
53
|
+
# @return [Array]
|
54
|
+
def get_003_categories
|
55
|
+
hl = @hl
|
56
|
+
hl.ask("Categories? (write one on each line, then type '.') ") do |q|
|
57
|
+
q.gather = '.'
|
28
58
|
end
|
29
|
-
@answers
|
30
59
|
end
|
60
|
+
|
61
|
+
# @return [String]
|
62
|
+
def get_004_time_zone
|
63
|
+
hl = @hl
|
64
|
+
custom = nil
|
65
|
+
timezone = hl.choose do |m|
|
66
|
+
m.header = 'Time Zone? (select by number)'
|
67
|
+
m.choice('Eastern Time (US & Canada)') do
|
68
|
+
return 'Eastern Time (US & Canada)'
|
69
|
+
end
|
70
|
+
m.choice('Central Time (US & Canada)') do
|
71
|
+
return 'Central Time (US & Canada)'
|
72
|
+
end
|
73
|
+
m.choice :neither
|
74
|
+
m.prompt = '? '
|
75
|
+
end
|
76
|
+
custom = hl.ask('Other Time Zone: ', String) if timezone == :neither
|
77
|
+
return unless custom
|
78
|
+
|
79
|
+
hl.say('Checking TimeZone Validity')
|
80
|
+
print '.'
|
81
|
+
sleep(0.05)
|
82
|
+
5.times do
|
83
|
+
print '.'
|
84
|
+
sleep(0.05)
|
85
|
+
puts ''
|
86
|
+
TimeZone.find_tzinfo custom
|
87
|
+
end
|
88
|
+
custom
|
89
|
+
end
|
90
|
+
|
91
|
+
# @return [String]
|
92
|
+
def get_005_file_format
|
93
|
+
hl = @hl
|
94
|
+
hl.choose do |menu|
|
95
|
+
menu.header = 'Choose whether you want HTML or Markdown'
|
96
|
+
menu.choice 'html' do
|
97
|
+
return 'html'
|
98
|
+
end
|
99
|
+
menu.choice 'md' do
|
100
|
+
return 'md'
|
101
|
+
end
|
102
|
+
menu.prompt = '? '
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
# @return [OpenStruct]
|
31
107
|
end
|
32
108
|
|
33
109
|
class Page
|
34
|
-
include Mkmatter::Common
|
35
110
|
attr :answers
|
36
|
-
|
37
|
-
|
111
|
+
@hl = HighLine.new
|
38
112
|
|
39
113
|
# @!visibility private
|
40
|
-
def initialize
|
114
|
+
def initialize
|
41
115
|
@answers = OpenStruct.new
|
42
116
|
|
43
|
-
@highline_context = highline_context
|
44
117
|
end
|
45
118
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
119
|
+
def get_001_title
|
120
|
+
hl = @hl
|
121
|
+
title = hl.ask 'Title: '
|
122
|
+
if hl.agree("Would you like it 'titleized' (Title instead of title)? ")
|
123
|
+
title.titleize
|
124
|
+
else
|
125
|
+
title
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
# @return [Array]
|
130
|
+
def get_002_tags
|
131
|
+
hl = @hl
|
132
|
+
hl.ask("Tags? (write one on each line, then type '.') ") do |q|
|
133
|
+
q.gather = '.'
|
52
134
|
end
|
53
|
-
@answers
|
54
135
|
end
|
136
|
+
|
137
|
+
# @return [Array]
|
138
|
+
def get_003_categories
|
139
|
+
hl = @hl
|
140
|
+
hl.ask("Categories? (write one on each line, then type '.') ") do |q|
|
141
|
+
q.gather = '.'
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
145
|
+
# @return [String]
|
146
|
+
def get_004_time_zone
|
147
|
+
hl = @hl
|
148
|
+
custom = nil
|
149
|
+
timezone = hl.choose do |m|
|
150
|
+
m.header = 'Time Zone? (select by number)'
|
151
|
+
m.choice('Eastern Time (US & Canada)') do
|
152
|
+
return 'Eastern Time (US & Canada)'
|
153
|
+
end
|
154
|
+
m.choice('Central Time (US & Canada)') do
|
155
|
+
return 'Central Time (US & Canada)'
|
156
|
+
end
|
157
|
+
m.choice :neither
|
158
|
+
m.prompt = '? '
|
159
|
+
end
|
160
|
+
custom = hl.ask('Other Time Zone: ', String) if timezone == :neither
|
161
|
+
return unless custom
|
162
|
+
|
163
|
+
hl.say('Checking TimeZone Validity')
|
164
|
+
print '.'
|
165
|
+
sleep(0.05)
|
166
|
+
5.times do
|
167
|
+
print '.'
|
168
|
+
sleep(0.05)
|
169
|
+
puts ''
|
170
|
+
TimeZone.find_tzinfo custom
|
171
|
+
end
|
172
|
+
custom
|
173
|
+
end
|
174
|
+
|
175
|
+
# @return [String]
|
176
|
+
def get_005_file_format
|
177
|
+
hl = @hl
|
178
|
+
hl.choose do |menu|
|
179
|
+
menu.header = 'Choose whether you want HTML or Markdown'
|
180
|
+
menu.choice 'html' do
|
181
|
+
return 'html'
|
182
|
+
end
|
183
|
+
menu.choice 'md' do
|
184
|
+
return 'md'
|
185
|
+
end
|
186
|
+
menu.prompt = '? '
|
187
|
+
end
|
188
|
+
end
|
189
|
+
|
190
|
+
# @return [OpenStruct]
|
55
191
|
end
|
56
192
|
end
|
57
193
|
end
|
data/lib/mkmatter/version.rb
CHANGED
@@ -1,3 +1,17 @@
|
|
1
1
|
module Mkmatter
|
2
|
-
VERSION = '3.1.
|
2
|
+
VERSION = '3.1.7'
|
3
|
+
|
4
|
+
# Return gem information for certain commands and options
|
5
|
+
class GemInfo
|
6
|
+
# @return [Array] list of authors
|
7
|
+
def GemInfo.authors
|
8
|
+
['Ken Spencer']
|
9
|
+
end
|
10
|
+
|
11
|
+
# @return [Array] authors emails
|
12
|
+
def GemInfo.email
|
13
|
+
['me@iotaspencer.me']
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
3
17
|
end
|
data/mkmatter.gemspec
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
lib = File.expand_path('../lib', __FILE__)
|
2
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
3
|
require 'mkmatter/version'
|
4
|
-
require 'mkmatter/gem_info'
|
5
4
|
Gem::Specification.new do |spec|
|
6
|
-
spec.name =
|
5
|
+
spec.name = 'mkmatter'
|
7
6
|
spec.version = Mkmatter::VERSION
|
8
7
|
spec.authors = ['Ken Spencer']
|
9
8
|
spec.email = 'me@iotaspencer.me'
|
10
|
-
spec.summary =
|
11
|
-
spec.description =
|
9
|
+
spec.summary = %q{Script facilitating easy content creation and generation for Jekyll Sites}
|
10
|
+
spec.description = %q{A gem that helps a user maintain a jekyll site source directory.}
|
12
11
|
spec.homepage = 'https://iotaspencer.me/projects/mkmatter'
|
13
12
|
spec.license = 'MIT'
|
14
13
|
|
@@ -18,7 +17,7 @@ Gem::Specification.new do |spec|
|
|
18
17
|
spec.metadata = {
|
19
18
|
'github_repo' => 'https://github.com/IotaSpencer/mkmatter',
|
20
19
|
'bug_tracker_uri' => 'https://github.com/IotaSpencer/mkmatter/issues',
|
21
|
-
'documentation_uri' => 'https://rubydoc.info/gems/mkmatter',
|
20
|
+
#'documentation_uri' => 'https://rubydoc.info/gems/mkmatter', no API
|
22
21
|
'homepage_uri' => 'https://iotaspencer.me/projects/mkmatter',
|
23
22
|
'source_code_uri' => 'https://github.com/IotaSpencer/mkmatter',
|
24
23
|
'wiki_uri' => 'https://github.com/IotaSpencer/mkmatter/wiki'
|
@@ -31,25 +30,30 @@ Gem::Specification.new do |spec|
|
|
31
30
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
32
31
|
f.match(%r{^(test)/})
|
33
32
|
end
|
34
|
-
spec.required_ruby_version = '~>
|
33
|
+
spec.required_ruby_version = '~> 3'
|
35
34
|
spec.bindir = 'bin'
|
36
35
|
spec.executables << 'mkmatter'
|
37
36
|
spec.require_paths = ['lib']
|
38
37
|
|
39
|
-
spec.add_runtime_dependency 'highline', '~> 1
|
40
|
-
spec.add_runtime_dependency 'activesupport', '~>
|
41
|
-
spec.add_runtime_dependency 'git', '~> 1.
|
38
|
+
spec.add_runtime_dependency 'highline', '~> 3.0.1'
|
39
|
+
spec.add_runtime_dependency 'activesupport', '~> 7.1.3.2'
|
40
|
+
spec.add_runtime_dependency 'git', '~> 1.19.1'
|
42
41
|
spec.add_runtime_dependency 'slugity', '~> 1.1'
|
43
|
-
spec.add_runtime_dependency 'thor', '~>
|
44
|
-
spec.add_runtime_dependency 'terminal-table', '~>
|
45
|
-
spec.add_runtime_dependency 'os', '~> 1.
|
46
|
-
spec.add_runtime_dependency 'paint', '~> 2.0'
|
47
|
-
spec.add_runtime_dependency 'front_matter_parser', '~> 0.1'
|
48
|
-
spec.add_runtime_dependency 'rake', '
|
49
|
-
spec.add_runtime_dependency 'micro_install', '~> 0.
|
50
|
-
spec.add_development_dependency 'bundler', '~>
|
42
|
+
spec.add_runtime_dependency 'thor', '~> 1.3.1'
|
43
|
+
spec.add_runtime_dependency 'terminal-table', '~> 3.0.2'
|
44
|
+
spec.add_runtime_dependency 'os', '~> 1.1.4'
|
45
|
+
spec.add_runtime_dependency 'paint', '~> 2.3.0'
|
46
|
+
spec.add_runtime_dependency 'front_matter_parser', '~> 1.0.1'
|
47
|
+
spec.add_runtime_dependency 'rake', '13.1.0'
|
48
|
+
spec.add_runtime_dependency 'micro_install', '~> 0.4.0'
|
49
|
+
spec.add_development_dependency 'bundler', '~> 2.3.5'
|
51
50
|
spec.add_development_dependency 'minitest', '~> 5'
|
52
|
-
spec.add_development_dependency '
|
51
|
+
spec.add_development_dependency 'rspec-core', '~> 3.13'
|
52
|
+
spec.add_development_dependency 'rspec-expectations', '~> 3.13'
|
53
|
+
spec.add_development_dependency 'rspec-mocks', '~> 3.13'
|
54
|
+
spec.add_development_dependency 'minitest-reporters', '~> 1.6.1'
|
55
|
+
spec.add_development_dependency 'aruba', '~> 2.2.0'
|
56
|
+
spec.add_development_dependency 'highline-test', '~> 0.0.1'
|
53
57
|
spec.post_install_message = [
|
54
58
|
"Thanks for installing 'mkmatter', It means a lot to me.",
|
55
59
|
"If you'd like to install 'micro', a text editor bundled with 'mkmatter'.",
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require_relative './spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe "Test basic 'mkmatter' commands" do
|
4
|
+
before(:all) do
|
5
|
+
@app = Mkmatter::App::CLI
|
6
|
+
end
|
7
|
+
it "outputs commands for 'mkmatter help'" do
|
8
|
+
expect { @app.start(%w(help)) }.to output(/Commands:/).to_stdout_from_any_process
|
9
|
+
end
|
10
|
+
it "outputs commands for 'mkmatter help new'" do
|
11
|
+
expect { @app.start(%w(help new)) }.to output(/Commands:/).to_stdout_from_any_process
|
12
|
+
end
|
13
|
+
it "outputs the 'mkmatter' version" do
|
14
|
+
expect { @app.start(%w(--version)) }.to output(/#{Mkmatter::VERSION}/).to_stdout_from_any_process
|
15
|
+
expect { @app.start(%w(-v)) }.to output(/#{Mkmatter::VERSION}/).to_stdout_from_any_process
|
16
|
+
end
|
17
|
+
it "outputs 'mkmatter' debug information" do
|
18
|
+
expect { @app.start(%w(--debug)) }.to output(/mkmatter Debug Info/).to_stdout_from_any_process
|
19
|
+
end
|
20
|
+
it "outputs 'mkmatter' contact info" do
|
21
|
+
expect { @app.start(%w(--info)) }.to output(/mkmatter Info/).to_stdout_from_any_process
|
22
|
+
end
|
23
|
+
it "outputs 'mkmatter' contact info in a certain format" do
|
24
|
+
expect { @app.start(%w(--info --info-format=yaml)) }.to output(/^---/).to_stdout_from_any_process
|
25
|
+
end
|
26
|
+
it "outputs an error when a nonexistent command is chosen" do
|
27
|
+
expect { @app.start(%w(nope this doesnt exist)) }.to output(/Could not find command ".*"\./).to_stderr_from_any_process
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require_relative './spec_helper'
|
2
|
+
require_relative '../lib/mkmatter'
|
3
|
+
RSpec.describe "DescriptionsSpec" do
|
4
|
+
before do
|
5
|
+
@app = Mkmatter::App::CLI
|
6
|
+
@descriptions = Mkmatter::App::Descriptions
|
7
|
+
end
|
8
|
+
|
9
|
+
after do
|
10
|
+
# Teardown something
|
11
|
+
end
|
12
|
+
it "outputs help for new post" do
|
13
|
+
expect { @app.start(%w(new help post)) }.to output(/mkmatter new post/).to_stdout
|
14
|
+
end
|
15
|
+
it 'outputs help for new page' do
|
16
|
+
expect { @app.start(%w(new help page)) }.to output(/mkmatter new page/).to_stdout
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
require_relative 'spec_helper'
|
2
|
+
require_relative '../lib/mkmatter/cli/runner'
|
3
|
+
require 'rspec/expectations'
|
4
|
+
require 'io/console'
|
5
|
+
require 'highline'
|
6
|
+
require 'highline/test'
|
7
|
+
require 'yaml'
|
8
|
+
|
9
|
+
RSpec.configure do |c|
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
RSpec.describe 'PostQuestionsTest' do
|
14
|
+
before(:example) do
|
15
|
+
@questions = Mkmatter::Questions
|
16
|
+
|
17
|
+
# Before running a test, create a HighLine::Test::Client
|
18
|
+
@client = HighLine::Test::Client.new
|
19
|
+
|
20
|
+
# The application itself is started in a block passed to the #run method
|
21
|
+
@client.run do |driver|
|
22
|
+
# This block is run in a child process
|
23
|
+
|
24
|
+
# The HighLine instance used by the application *must* be the one supplied by
|
25
|
+
# the client.
|
26
|
+
expect(Mkmatter::Questions::Post).to receive(:instance_variable_get) do |args|
|
27
|
+
expect(args[0]).to eq(:@hl)
|
28
|
+
end.and_return(driver.high_line)
|
29
|
+
# Do any other setup (e.g. stubbing) here
|
30
|
+
# Start the application under test
|
31
|
+
# If this block ever completes, the child process will be killed by
|
32
|
+
# HighLine::Test
|
33
|
+
end
|
34
|
+
|
35
|
+
@front_matter_regex = <<~HEREDOC
|
36
|
+
---\n
|
37
|
+
layout\:\s(?<layout_>post|page)\n
|
38
|
+
title\:\s(?<title_>[[:print:]]{1,})\n
|
39
|
+
categories\:\n
|
40
|
+
(?<categories>(?:(?>-\s[[:print:]]{1,})\n){1,})
|
41
|
+
tags\:\n
|
42
|
+
(?<tags>(?:(?>-\s[[:print:]]{1,})\n){1,})
|
43
|
+
date\:\s\'(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})\s
|
44
|
+
(?<hour>\d{2})\:(?<minute>\d{2})\:(?<second>\d{2})\s
|
45
|
+
[+-]{1}(?<timezone_offset_hour>\d{2})(?<timezone_offset_minute>\d{2})\'\n
|
46
|
+
---
|
47
|
+
HEREDOC
|
48
|
+
end
|
49
|
+
after :example do
|
50
|
+
@client.cleanup
|
51
|
+
end
|
52
|
+
it 'outputs no file, and is not a draft' do
|
53
|
+
@qs = @questions::Post.new
|
54
|
+
expect { @qs.ask }.to output('Title: ').to_stdout_from_any_process
|
55
|
+
expect { @client.type('some title') }.to output("Would you like it 'titleized' (Title instead of title)? ").to_stdout_from_any_process
|
56
|
+
expect { @client.type 'y' }.to output("Tags? (write one on each line, then type '.') ").to_stdout_from_any_process
|
57
|
+
expect { @client.type "some tags\nwould\ngo\nhere" }.to output("Categories? (write one on each line, then type '. ') ").to_stdout_from_any_process
|
58
|
+
expect { @client.type "Some Category\nHere\nUpdates" }.to output("Time Zone? (select by number):\n1. Eastern Time (US & Canada)\n2. Central Time (US & Canada)\n3. neither\n? ").to_stdout_from_any_process
|
59
|
+
expect { @client.type '1' }.to output("Choose whether you want HTML or\nMarkdown:\n1. html\n2. md\n? ").to_stdout_from_any_process
|
60
|
+
regex = Regexp.new(Regexp.quote(@front_matter_regex), Regexp::EXTENDED)
|
61
|
+
expect { @client.type '2' }.to output(regex).to_stdout_from_any_process
|
62
|
+
|
63
|
+
end
|
64
|
+
# def test_that_page_questions_no_file_and_no_draft_works
|
65
|
+
# #"some title\ny\nmd\nsome,tags,here,multi word too\nsome categories here\n1\nmd\n"
|
66
|
+
# #@input.rewind
|
67
|
+
# #HighLine::Simulate.with "some title\ny\nmd\nsome,tags,here,multi word too\nsome categories here\n1\nmd\n" do
|
68
|
+
# # @questions::Page.new(@terminal).ask
|
69
|
+
# #end
|
70
|
+
# #@input = IO.new
|
71
|
+
# end
|
72
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
#require 'minitest/reporters'
|
2
|
+
require 'rspec/core'
|
3
|
+
require 'rspec/expectations'
|
4
|
+
require 'rspec/mocks'
|
5
|
+
RSpec.configure do |config|
|
6
|
+
config.expect_with :rspec do |expectations|
|
7
|
+
expectations.syntax = [:expect]
|
8
|
+
end
|
9
|
+
end
|
10
|
+
#require_relative '../lib/minitest/xs_and_os_plugin'
|
11
|
+
# module Minitest
|
12
|
+
# # copied from minitest
|
13
|
+
# def self.init_plugins(options)
|
14
|
+
# extensions.each do |name|
|
15
|
+
# msg = "plugin_#{name}_init"
|
16
|
+
# send msg, options if respond_to?(msg)
|
17
|
+
# end
|
18
|
+
# fix_reporters
|
19
|
+
# end
|
20
|
+
#
|
21
|
+
# def self.fix_reporters
|
22
|
+
# dr = reporter.reporters.find { |r| r.is_a? Minitest::Reporters::DelegateReporter }
|
23
|
+
#
|
24
|
+
# # getting rid of default reporters
|
25
|
+
# drr = dr.instance_variable_get(:@reporters)
|
26
|
+
# drr.delete_if { |r| r.is_a?(Minitest::SummaryReporter) || r.is_a?(Minitest::ProgressReporter) }
|
27
|
+
#
|
28
|
+
# # getting rid of rails reporters
|
29
|
+
# if defined?(Rails)
|
30
|
+
# reporter.reporters.delete_if { |r| r.is_a?(Minitest::SuppressedSummaryReporter) || r.is_a?(::Rails::TestUnitReporter) }
|
31
|
+
# end
|
32
|
+
#
|
33
|
+
# end
|
34
|
+
# end
|
35
|
+
# Minitest::Reporters.use!
|
36
|
+
# Minitest::Reporters.use! Minitest::Reporters::TravisReporter.new
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mkmatter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ken Spencer
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-04-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: highline
|
@@ -16,42 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 3.0.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 3.0.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: activesupport
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 7.1.3.2
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 7.1.3.2
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: git
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 1.19.1
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 1.19.1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: slugity
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,112 +72,112 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 1.3.1
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 1.3.1
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: terminal-table
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: 3.0.2
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
96
|
+
version: 3.0.2
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: os
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
103
|
+
version: 1.1.4
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
110
|
+
version: 1.1.4
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: paint
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
117
|
+
version: 2.3.0
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
124
|
+
version: 2.3.0
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: front_matter_parser
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
131
|
+
version: 1.0.1
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
138
|
+
version: 1.0.1
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: rake
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- -
|
143
|
+
- - '='
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
145
|
+
version: 13.1.0
|
146
146
|
type: :runtime
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- -
|
150
|
+
- - '='
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
152
|
+
version: 13.1.0
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: micro_install
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
157
|
- - "~>"
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: 0.
|
159
|
+
version: 0.4.0
|
160
160
|
type: :runtime
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
164
|
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version: 0.
|
166
|
+
version: 0.4.0
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
168
|
name: bundler
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
171
|
- - "~>"
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
173
|
+
version: 2.3.5
|
174
174
|
type: :development
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
178
|
- - "~>"
|
179
179
|
- !ruby/object:Gem::Version
|
180
|
-
version:
|
180
|
+
version: 2.3.5
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
182
|
name: minitest
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -192,30 +192,103 @@ dependencies:
|
|
192
192
|
- - "~>"
|
193
193
|
- !ruby/object:Gem::Version
|
194
194
|
version: '5'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: rspec-core
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - "~>"
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '3.13'
|
202
|
+
type: :development
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - "~>"
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '3.13'
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: rspec-expectations
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - "~>"
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '3.13'
|
216
|
+
type: :development
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - "~>"
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '3.13'
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: rspec-mocks
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - "~>"
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: '3.13'
|
230
|
+
type: :development
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - "~>"
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: '3.13'
|
195
237
|
- !ruby/object:Gem::Dependency
|
196
238
|
name: minitest-reporters
|
197
239
|
requirement: !ruby/object:Gem::Requirement
|
198
240
|
requirements:
|
199
241
|
- - "~>"
|
200
242
|
- !ruby/object:Gem::Version
|
201
|
-
version:
|
243
|
+
version: 1.6.1
|
202
244
|
type: :development
|
203
245
|
prerelease: false
|
204
246
|
version_requirements: !ruby/object:Gem::Requirement
|
205
247
|
requirements:
|
206
248
|
- - "~>"
|
207
249
|
- !ruby/object:Gem::Version
|
208
|
-
version:
|
209
|
-
|
250
|
+
version: 1.6.1
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: aruba
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - "~>"
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: 2.2.0
|
258
|
+
type: :development
|
259
|
+
prerelease: false
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - "~>"
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: 2.2.0
|
265
|
+
- !ruby/object:Gem::Dependency
|
266
|
+
name: highline-test
|
267
|
+
requirement: !ruby/object:Gem::Requirement
|
268
|
+
requirements:
|
269
|
+
- - "~>"
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: 0.0.1
|
272
|
+
type: :development
|
273
|
+
prerelease: false
|
274
|
+
version_requirements: !ruby/object:Gem::Requirement
|
275
|
+
requirements:
|
276
|
+
- - "~>"
|
277
|
+
- !ruby/object:Gem::Version
|
278
|
+
version: 0.0.1
|
279
|
+
description: A gem that helps a user maintain a jekyll site source directory.
|
210
280
|
email: me@iotaspencer.me
|
211
281
|
executables:
|
212
282
|
- mkmatter
|
213
283
|
extensions: []
|
214
284
|
extra_rdoc_files: []
|
215
285
|
files:
|
286
|
+
- ".github/dependabot.yml"
|
216
287
|
- ".github/issue_template.md"
|
217
288
|
- ".gitignore"
|
218
289
|
- ".gitlab-ci.yml"
|
290
|
+
- ".rspec"
|
291
|
+
- ".ruby-version"
|
219
292
|
- ".travis.yml"
|
220
293
|
- Gemfile
|
221
294
|
- LICENSE
|
@@ -225,6 +298,7 @@ files:
|
|
225
298
|
- bin/console
|
226
299
|
- bin/mkmatter
|
227
300
|
- bin/setup
|
301
|
+
- features/support/env.rb
|
228
302
|
- lib/minitest/xs_and_os_plugin.rb
|
229
303
|
- lib/mkmatter.rb
|
230
304
|
- lib/mkmatter/answers.rb
|
@@ -238,17 +312,21 @@ files:
|
|
238
312
|
- lib/mkmatter/cli/subs/tags.rb
|
239
313
|
- lib/mkmatter/cli/tags.rb
|
240
314
|
- lib/mkmatter/common.rb
|
241
|
-
- lib/mkmatter/gem_info.rb
|
242
315
|
- lib/mkmatter/questions.rb
|
243
316
|
- lib/mkmatter/version.rb
|
244
317
|
- mkmatter.gemspec
|
318
|
+
- sig/mkmatter/questions/page.rbs
|
319
|
+
- sig/mkmatter/questions/post.rbs
|
320
|
+
- spec/class_option_spec.rb
|
321
|
+
- spec/descriptions_spec.rb
|
322
|
+
- spec/questions_spec.rb
|
323
|
+
- spec/spec_helper.rb
|
245
324
|
homepage: https://iotaspencer.me/projects/mkmatter
|
246
325
|
licenses:
|
247
326
|
- MIT
|
248
327
|
metadata:
|
249
328
|
github_repo: https://github.com/IotaSpencer/mkmatter
|
250
329
|
bug_tracker_uri: https://github.com/IotaSpencer/mkmatter/issues
|
251
|
-
documentation_uri: https://rubydoc.info/gems/mkmatter
|
252
330
|
homepage_uri: https://iotaspencer.me/projects/mkmatter
|
253
331
|
source_code_uri: https://github.com/IotaSpencer/mkmatter
|
254
332
|
wiki_uri: https://github.com/IotaSpencer/mkmatter/wiki
|
@@ -264,16 +342,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
264
342
|
requirements:
|
265
343
|
- - "~>"
|
266
344
|
- !ruby/object:Gem::Version
|
267
|
-
version: '
|
345
|
+
version: '3'
|
268
346
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
269
347
|
requirements:
|
270
348
|
- - ">="
|
271
349
|
- !ruby/object:Gem::Version
|
272
350
|
version: '0'
|
273
351
|
requirements: []
|
274
|
-
|
275
|
-
|
276
|
-
signing_key:
|
352
|
+
rubygems_version: 3.3.27
|
353
|
+
signing_key:
|
277
354
|
specification_version: 4
|
278
355
|
summary: Script facilitating easy content creation and generation for Jekyll Sites
|
279
356
|
test_files: []
|
data/lib/mkmatter/gem_info.rb
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
require 'mkmatter/version'
|
2
|
-
module Mkmatter
|
3
|
-
# Gem Name
|
4
|
-
GEM_NAME = 'mkmatter'
|
5
|
-
# Gem Name Alias
|
6
|
-
NAME = GEM_NAME
|
7
|
-
|
8
|
-
#
|
9
|
-
# Gem Description
|
10
|
-
DESC = %q{A gem helps a user maintain a jekyll site source directory.}
|
11
|
-
|
12
|
-
#
|
13
|
-
# Gem Summary
|
14
|
-
SUMMARY = %q{Script facilitating easy content creation and generation for Jekyll Sites}
|
15
|
-
# Return gem information for certain commands and options
|
16
|
-
class GemInfo
|
17
|
-
# @return [Array] list of authors
|
18
|
-
def GemInfo.authors
|
19
|
-
['Ken Spencer']
|
20
|
-
end
|
21
|
-
|
22
|
-
# @return [Array] authors emails
|
23
|
-
def GemInfo.email
|
24
|
-
['me@iotaspencer.me']
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|