msgtrail 0.9.4 → 0.9.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/msgtrail/renderers.rb +3 -3
- data/lib/msgtrail/titlecase.rb +11 -21
- data/lib/msgtrail/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2b20e814763f7c87e18d49d963781d18d7520016fe813264071cbf001957443c
|
4
|
+
data.tar.gz: b960e7bda415b67366027a78ca183e195f30d0a75879720e7963aaabcd86c198
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b6228df3a2905ad14e343aa7f521b8943c5b2f2a3600467099abed217a75c764167f8cbe3b5367a44a9e48741529a3b7683a83e9e519ea1398895876108ec5ef
|
7
|
+
data.tar.gz: 72a56bc8be30fc848cc0c5c285b744fdd19541aa240260df1c2fbf912b35ba7ff9743ba697e6b17b43b87c854deceadd3916037b51540523875a139be95503b4
|
data/CHANGELOG.md
CHANGED
data/lib/msgtrail/renderers.rb
CHANGED
@@ -16,7 +16,7 @@ module RenderHelper
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def xml_safe(str)
|
19
|
-
|
19
|
+
ERB::Util.h(str)
|
20
20
|
end
|
21
21
|
|
22
22
|
end
|
@@ -32,7 +32,7 @@ module Msgtrail
|
|
32
32
|
def initialize(layout_filepath, template_filepath, config)
|
33
33
|
self.article = {}
|
34
34
|
self.config = config
|
35
|
-
self.markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML, autolink: true, fenced_code_blocks: true)
|
35
|
+
self.markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML, autolink: true, fenced_code_blocks: true, strikethrough: true)
|
36
36
|
self.plaintext = Redcarpet::Markdown.new(Redcarpet::Render::StripDown)
|
37
37
|
self.theme_directory = File.join(config.working_directory, config.settings.file_matter.theme_directory)
|
38
38
|
begin
|
@@ -99,7 +99,7 @@ module Msgtrail
|
|
99
99
|
exit(2)
|
100
100
|
end
|
101
101
|
self.config = config
|
102
|
-
self.markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML, autolink: true, fenced_code_blocks: true)
|
102
|
+
self.markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML, autolink: true, fenced_code_blocks: true, strikethrough: true)
|
103
103
|
self.plaintext = Redcarpet::Markdown.new(Redcarpet::Render::StripDown)
|
104
104
|
self.variables = variables
|
105
105
|
end
|
data/lib/msgtrail/titlecase.rb
CHANGED
@@ -1,21 +1,10 @@
|
|
1
1
|
module Msgtrail
|
2
2
|
class Titlecase
|
3
3
|
|
4
|
-
SMALL_WORDS =
|
5
|
-
/\Aa(nd|n|s|t)?\z/,
|
6
|
-
/\Ab(ut|y)\z/,
|
7
|
-
/\Aen\z/,
|
8
|
-
/\Afor\z/,
|
9
|
-
/\Ai(f|n)\z/,
|
10
|
-
/\Ao(f|n|r)\z/,
|
11
|
-
/\At(he|o)\z/,
|
12
|
-
/\Avs?\.?\z/
|
13
|
-
].freeze
|
14
|
-
|
15
|
-
RE = Regexp.new('\b(a(nd|n|s|t)?|b(ut|y)|en|for|i(f|n)|o(f|n|r)|t(he|o)|vs?\.?)\b').freeze
|
4
|
+
SMALL_WORDS = Regexp.new('\b(a(nd|n|s|t)?|b(ut|y)|en|for|i(f|n)|o(f|n|r)|t(he|o)|vs?\.?)\b').freeze
|
16
5
|
|
17
6
|
def self.is_small_word?(word)
|
18
|
-
|
7
|
+
SMALL_WORDS.match(word)
|
19
8
|
end
|
20
9
|
|
21
10
|
# "__foo" => "__Foo"
|
@@ -30,22 +19,23 @@ module Msgtrail
|
|
30
19
|
|
31
20
|
# before/after => Before/After
|
32
21
|
def self.upcase_word_with_slashes(word)
|
33
|
-
word.split('/').map
|
22
|
+
word.split('/').map(&:capitalize).join('/')
|
34
23
|
end
|
35
24
|
|
36
25
|
def self.titlecase(str)
|
37
|
-
|
26
|
+
# Replace tabs by single space
|
27
|
+
# Replace weird spaces by regular space
|
28
|
+
str = (str || '').gsub(/\t/, ' ').gsub("\u{2011}", ' ').strip
|
29
|
+
return if str.empty?
|
38
30
|
|
39
31
|
# Downcase an all-upcase sentence
|
40
32
|
str.downcase! if str.scan(/[A-Z]|\s|\W/).length == str.length
|
41
33
|
|
42
|
-
# Replace tabs by single space
|
43
|
-
# Replace weird spaces by regular space
|
44
34
|
# Split sentence at space boundaries
|
45
|
-
word_arr = str.
|
35
|
+
word_arr = str.split(' ')
|
46
36
|
|
47
37
|
# Initialize operand array
|
48
|
-
operand_arr = Array.new(word_arr.size, :
|
38
|
+
operand_arr = Array.new(word_arr.size, :capitalize)
|
49
39
|
|
50
40
|
word_arr.each_with_index do |word, idx|
|
51
41
|
# Don't capitalize small words...
|
@@ -72,10 +62,10 @@ module Msgtrail
|
|
72
62
|
word_arr[idx] = upcase_first_real_letter(word) if operand_arr[idx] == :upcase_later
|
73
63
|
word_arr[idx] = upcase_word_with_dashes(word) if operand_arr[idx] == :upcase_dashed
|
74
64
|
word_arr[idx] = upcase_word_with_slashes(word) if operand_arr[idx] == :upcase_slashed
|
75
|
-
word_arr[idx] = word.capitalize if operand_arr[idx] == :
|
65
|
+
word_arr[idx] = word.capitalize if operand_arr[idx] == :capitalize
|
76
66
|
end
|
77
67
|
|
78
|
-
|
68
|
+
word_arr.join(' ')
|
79
69
|
end
|
80
70
|
|
81
71
|
end
|
data/lib/msgtrail/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: msgtrail
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Erik van Eykelen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-05-
|
11
|
+
date: 2019-05-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -174,7 +174,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
174
|
- !ruby/object:Gem::Version
|
175
175
|
version: '0'
|
176
176
|
requirements: []
|
177
|
-
rubygems_version: 3.0.
|
177
|
+
rubygems_version: 3.0.3
|
178
178
|
signing_key:
|
179
179
|
specification_version: 4
|
180
180
|
summary: A simple blog publication tool
|