mkmatter 3.0.44 → 3.0.45
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/README.md +33 -13
- data/lib/minitest/xs_and_os_plugin.rb +21 -21
- data/lib/mkmatter/answers.rb +1 -3
- data/lib/mkmatter/cli/app.rb +4 -1
- data/lib/mkmatter/cli/methods.rb +14 -2
- data/lib/mkmatter/cli/subs/new.rb +4 -0
- data/lib/mkmatter/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2887153201c4031bf7657eaf3034510b57a124fb
|
4
|
+
data.tar.gz: ee281dfd39a59fbc5a7549cdb8fffe6bec2ebc51
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 70b2fb1a3ba7e594eb8f6fdaee2f36e3dc32388c05c0f265fc5aaa588cca0c2f19d01b698414962c469dc2053a5e08858f73d06b02229d21d97e6824b12d4cd3
|
7
|
+
data.tar.gz: 0e6424d949d23738c79ff423b5a5513525c3f98db1c6b065459e37b68428a4fc70589774f159904e04ec7bfd340351fb37e8d3a14627eed64c8048c5bfd557c4
|
data/README.md
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
# mkmatter
|
2
2
|
|
3
|
-
|
4
3
|
[](https://travis-ci.org/IotaSpencer/mkmatter)
|
5
4
|
[](https://travis-ci.org/IotaSpencer/mkmatter)
|
6
5
|
|
7
|
-
[]()
|
8
|
-
[]()
|
9
|
-
|
10
6
|
[](https://rubygems.org/gems/mkmatter)
|
11
7
|
[](https://github.com/IotaSpencer/mkmatter/tree/v3.0.27)
|
12
8
|
|
@@ -27,7 +23,6 @@
|
|
27
23
|
|
28
24
|
[](https://iotaspencer.me/projects/mkmatter)
|
29
25
|
|
30
|
-
|
31
26
|
## About mkmatter
|
32
27
|
|
33
28
|
'mkmatter' is a gem designed to make it easy to generate front matter for files and also subsequently edit them.
|
@@ -38,6 +33,24 @@ This is needed for any part that `reads from/writes to` the filesystem.
|
|
38
33
|
|
39
34
|
## Installation
|
40
35
|
|
36
|
+
**Note**: Thanks to [@zyedidia](https://github.com/zyedidia), His project [micro](https://github.com/zyedidia/micro) has been bundled alongside mkmatter. Just by using one command you can install it for your own use.
|
37
|
+
|
38
|
+
However, to use micro the way its installed using the gem, you need to have the directory in your `$PATH`.
|
39
|
+
|
40
|
+
### Micro Installation
|
41
|
+
|
42
|
+
Add
|
43
|
+
```shell
|
44
|
+
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
|
45
|
+
```
|
46
|
+
|
47
|
+
If you do install micro, it will use micro by default unless you override it with `--editor=EDITOR`
|
48
|
+
|
49
|
+
|
50
|
+
### Mkmatter Installation
|
51
|
+
|
52
|
+
#### Bundler
|
53
|
+
|
41
54
|
Add this line to your application's Gemfile:
|
42
55
|
|
43
56
|
```ruby
|
@@ -45,25 +58,32 @@ gem 'mkmatter'
|
|
45
58
|
```
|
46
59
|
|
47
60
|
And then execute:
|
61
|
+
```
|
62
|
+
$ bundle install
|
63
|
+
```
|
48
64
|
|
49
|
-
|
50
|
-
|
51
|
-
### Standalone
|
65
|
+
#### Standalone
|
52
66
|
|
53
67
|
To install to the system/user instead of a project, use the following
|
54
68
|
|
55
|
-
|
69
|
+
##### System-wide
|
56
70
|
As root or by using sudo, run:
|
57
71
|
|
58
|
-
|
72
|
+
```
|
73
|
+
$ gem install mkmatter
|
74
|
+
```
|
59
75
|
|
60
76
|
or
|
61
77
|
|
62
|
-
|
78
|
+
```
|
79
|
+
$ sudo gem install mkmatter
|
80
|
+
```
|
63
81
|
|
64
|
-
|
82
|
+
##### User
|
65
83
|
|
66
|
-
|
84
|
+
```
|
85
|
+
$ gem install --user-install mkmatter
|
86
|
+
```
|
67
87
|
|
68
88
|
## Usage
|
69
89
|
|
@@ -9,29 +9,29 @@ module Minitest
|
|
9
9
|
end
|
10
10
|
|
11
11
|
class TravisReporter < Minitest::Reporters::BaseReporter
|
12
|
-
|
12
|
+
@@color_for_result_code = {
|
13
|
+
'.' => :green,
|
14
|
+
'E' => :red,
|
15
|
+
'F' => :red,
|
16
|
+
'$' => :yellow
|
17
|
+
}
|
18
|
+
@@result_code_to_unicode = {
|
19
|
+
'.' => "\u{2714}",
|
20
|
+
'F' => "\u{2718}",
|
21
|
+
'E' => "\u{203C}",
|
22
|
+
'$' => "\u{26A1}"
|
23
|
+
}
|
24
|
+
@@color = {
|
25
|
+
red: 31,
|
26
|
+
green: 32,
|
27
|
+
yellow: 33,
|
28
|
+
blue: 34
|
29
|
+
}
|
13
30
|
|
14
31
|
def initialize(*)
|
15
32
|
super
|
16
33
|
@color_enabled = io.respond_to?(:tty?) && io.tty?
|
17
|
-
|
18
|
-
'.' => :green,
|
19
|
-
'E' => :red,
|
20
|
-
'F' => :red,
|
21
|
-
'$' => :yellow
|
22
|
-
}
|
23
|
-
@result_code_to_unicode = {
|
24
|
-
'.' => "\u{2714}",
|
25
|
-
'F' => "\u{2718}",
|
26
|
-
'E' => "\u{203C}",
|
27
|
-
'$' => "\u{26A1}"
|
28
|
-
}
|
29
|
-
@color = {
|
30
|
-
red: 31,
|
31
|
-
green: 32,
|
32
|
-
yellow: 33,
|
33
|
-
blue: 34
|
34
|
-
}
|
34
|
+
|
35
35
|
end
|
36
36
|
|
37
37
|
def record(result)
|
@@ -167,7 +167,7 @@ module Minitest
|
|
167
167
|
end
|
168
168
|
|
169
169
|
def print_result_code(result_code)
|
170
|
-
result =
|
170
|
+
result = @@result_code_to_unicode[result_code]
|
171
171
|
colors = {
|
172
172
|
"\u{2714}" => :green,
|
173
173
|
"\u{2718}" => :red,
|
@@ -179,7 +179,7 @@ module Minitest
|
|
179
179
|
|
180
180
|
def color(string, color = :default)
|
181
181
|
if color_enabled?
|
182
|
-
color =
|
182
|
+
color = @@color.fetch(color, 0)
|
183
183
|
"\e[#{color}m#{string}\e[0m"
|
184
184
|
else
|
185
185
|
string
|
data/lib/mkmatter/answers.rb
CHANGED
@@ -4,14 +4,12 @@ require 'highline'
|
|
4
4
|
module Mkmatter
|
5
5
|
class Answers
|
6
6
|
attr_accessor :title, :tags, :categories
|
7
|
-
attr_accessor :date, :
|
7
|
+
attr_accessor :date, :draft
|
8
8
|
attr_accessor :slug_date, :answer_hash
|
9
9
|
attr_accessor :published, :file_format
|
10
10
|
attr_reader :matter
|
11
11
|
|
12
12
|
def initialize(question_hash, publish)
|
13
|
-
|
14
|
-
@layout = question_hash[:layout]
|
15
13
|
@title = question_hash[:title]
|
16
14
|
@tags = question_hash[:tags]
|
17
15
|
@categories = question_hash[:categories]
|
data/lib/mkmatter/cli/app.rb
CHANGED
@@ -84,7 +84,10 @@ module Mkmatter
|
|
84
84
|
end
|
85
85
|
|
86
86
|
if Pathname(Dir.home).join('.local/bin/micro').exist?
|
87
|
-
class_option(:editor, type: :string, default: "#{Dir.home}/.local/bin")
|
87
|
+
class_option(:editor, type: :string, default: "#{Dir.home}/.local/bin/micro")
|
88
|
+
|
89
|
+
elsif Methods.which('micro')
|
90
|
+
class_option(:editor, type: :string, default: 'micro')
|
88
91
|
else
|
89
92
|
class_option(:editor, type: :string, default: 'nano')
|
90
93
|
end
|
data/lib/mkmatter/cli/methods.rb
CHANGED
@@ -29,13 +29,25 @@ module Mkmatter
|
|
29
29
|
end
|
30
30
|
end
|
31
31
|
end
|
32
|
-
|
32
|
+
|
33
|
+
def Methods.which(cmd)
|
34
|
+
exts = ENV['PATHEXT'] ? ENV['PATHEXT'].split(';') : ['']
|
35
|
+
ENV['PATH'].split(File::PATH_SEPARATOR).each do |path|
|
36
|
+
exts.each { |ext|
|
37
|
+
exe = File.join(path, "#{cmd}#{ext}")
|
38
|
+
return exe if File.executable?(exe) && !File.directory?(exe)
|
39
|
+
}
|
40
|
+
end
|
41
|
+
return nil
|
42
|
+
end
|
43
|
+
# @param [String] editor An editor to use
|
44
|
+
# @param [String] file_path Path to file to open
|
33
45
|
# @return [NilClass] nil
|
34
46
|
def Methods.launch_editor(editor, file_path)
|
35
47
|
hl = HighLine.new($stdin, $stderr, 80)
|
36
48
|
if file_path
|
37
49
|
if hl.agree("Would you like to open an editor? ('editor' command) ", true)
|
38
|
-
pid = spawn("#{} #{file_path}")
|
50
|
+
pid = spawn("#{editor} #{file_path}")
|
39
51
|
Process.wait pid
|
40
52
|
end
|
41
53
|
end
|
@@ -43,6 +43,7 @@ module Mkmatter
|
|
43
43
|
path = Pathname(folder).realdirpath.join(filename)
|
44
44
|
end
|
45
45
|
File.open(path.to_path, 'a') do |fd|
|
46
|
+
answers.to_h = {'layout' => 'page'}
|
46
47
|
fd.puts answers.to_h.stringify_keys.to_yaml(indentation: 2)
|
47
48
|
fd.puts '---'
|
48
49
|
end
|
@@ -52,6 +53,7 @@ module Mkmatter
|
|
52
53
|
exit 1
|
53
54
|
end
|
54
55
|
else
|
56
|
+
@questions = Mkmatter::Questions::Page.new(HILINE).ask
|
55
57
|
answers = Mkmatter::Answers.new(@questions, options.fetch(:publish, nil))
|
56
58
|
puts ''
|
57
59
|
puts answers.to_h.stringify_keys.to_yaml(indentation: 2)
|
@@ -96,6 +98,7 @@ module Mkmatter
|
|
96
98
|
path = Pathname(folder).realdirpath.join(filename)
|
97
99
|
end
|
98
100
|
File.open(path.to_path, 'a') do |fd|
|
101
|
+
answers.to_h = {'layout' => 'post'}
|
99
102
|
fd.puts answers.to_h.stringify_keys.to_yaml(indentation: 2)
|
100
103
|
fd.puts '---'
|
101
104
|
end
|
@@ -133,6 +136,7 @@ module Mkmatter
|
|
133
136
|
path = Pathname(folder).realdirpath.join(filename)
|
134
137
|
end
|
135
138
|
File.open(path.to_path, 'a') do |fd|
|
139
|
+
answers.to_h = {'layout' => 'post'}
|
136
140
|
fd.puts answers.to_h.stringify_keys.to_yaml(indentation: 2)
|
137
141
|
fd.puts '---'
|
138
142
|
end
|
data/lib/mkmatter/version.rb
CHANGED
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.0.
|
4
|
+
version: 3.0.45
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ken Spencer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03-
|
11
|
+
date: 2018-03-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: highline
|