jekyll-wikirefs 0.0.14 → 0.0.16
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/lib/jekyll-wikirefs/config.rb +13 -0
- data/lib/jekyll-wikirefs/util/parser.rb +32 -3
- data/lib/jekyll-wikirefs/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: be7c77cfcb3bf9b8e1436bfc05438429c1fbac900097f136fab84ea10bf19bfe
|
4
|
+
data.tar.gz: d3f687257ee5840faa40a946680a2c1c40810d3f4737e9824a2400a947fc25a8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bcb1edfc6653c50e091b0c4c4dca6481b97d4b2104952af5423881cf1fabc3b06129b08596e63495b5cc3f2042aaf73fdbcac07ef6b7d08a95dddd60072919d6
|
7
|
+
data.tar.gz: 728c0c4d5ec75ae7a874d432a73baf4f22fc575344972eeadf3a19950f3a69a1a8e91a89b99e544eae2f9fc32d44986998c09c65fc8f0b25b9773a03aac6fb2e
|
@@ -13,6 +13,8 @@ module Jekyll
|
|
13
13
|
# css-related
|
14
14
|
CSS_KEY = "css"
|
15
15
|
NAME_KEY = "name"
|
16
|
+
# text styling
|
17
|
+
CASE_KEY = "case"
|
16
18
|
# names
|
17
19
|
## valid
|
18
20
|
TYPED_KEY = "typed"
|
@@ -63,6 +65,17 @@ module Jekyll
|
|
63
65
|
option_attributes(ENABLED_KEY) == false
|
64
66
|
end
|
65
67
|
|
68
|
+
def text_case_style
|
69
|
+
style = option(CASE_KEY)
|
70
|
+
valid_styles = [
|
71
|
+
"UPPER CASE", "Train-Case", "Macro_Case",
|
72
|
+
"lower case", "kebab-case", "snake_case",
|
73
|
+
"camelCase", "PascalCase", "none",
|
74
|
+
]
|
75
|
+
return style if valid_styles.include?(style)
|
76
|
+
return "lowercase" # default
|
77
|
+
end
|
78
|
+
|
66
79
|
def exclude?(type)
|
67
80
|
return false unless option(EXCLUDE_KEY)
|
68
81
|
return option(EXCLUDE_KEY).include?(type.to_s)
|
@@ -131,15 +131,18 @@ module Jekyll
|
|
131
131
|
if wikilink.labelled?
|
132
132
|
inner_txt = wikilink.label_txt
|
133
133
|
elsif linked_doc.data.keys.include?('title')
|
134
|
-
|
134
|
+
title_text = linked_doc.data['title']
|
135
|
+
inner_txt = apply_case_style(title_text)
|
135
136
|
# in case there is no 'title' frontmatter attribute
|
136
137
|
# (i'm seeing deprecation warnings, but there might
|
137
138
|
# be bugs caused by not using this...)
|
138
139
|
elsif linked_doc.respond_to?(:title)
|
139
|
-
|
140
|
+
title_text = linked_doc.title
|
141
|
+
inner_txt = apply_case_style(title_text)
|
140
142
|
# pages don't have automatically generated titles
|
141
143
|
else
|
142
|
-
|
144
|
+
title_text = Jekyll::Utils.slugify(linked_doc.basename)
|
145
|
+
inner_txt = apply_case_style(title_text)
|
143
146
|
end
|
144
147
|
# level-specific
|
145
148
|
if (wikilink.level == "file_path" || wikilink.level == "filename")
|
@@ -163,6 +166,32 @@ module Jekyll
|
|
163
166
|
|
164
167
|
# helpers
|
165
168
|
|
169
|
+
def apply_case_style(text)
|
170
|
+
case $wiki_conf.text_case_style
|
171
|
+
when "UPPER CASE"
|
172
|
+
return text.upcase
|
173
|
+
when "Train-Case"
|
174
|
+
return text.split(/[\s_-]/).map(&:upcase).join('-')
|
175
|
+
when "Macro_Case"
|
176
|
+
return text.split(/[\s_-]/).map(&:upcase).join('_')
|
177
|
+
when "lower case"
|
178
|
+
return text.downcase
|
179
|
+
when "kebab-case"
|
180
|
+
return text.downcase.gsub(/\s+/, '-')
|
181
|
+
when "snake_case"
|
182
|
+
return text.downcase.gsub(/\s+/, '_')
|
183
|
+
when "camelCase"
|
184
|
+
words = text.split(/[\s_-]/)
|
185
|
+
return words[0].downcase + words[1..-1].map(&:capitalize).join('')
|
186
|
+
when "PascalCase"
|
187
|
+
return text.split(/[\s_-]/).map(&:capitalize).join('')
|
188
|
+
when "none"
|
189
|
+
return text
|
190
|
+
else
|
191
|
+
return text.downcase # fallback to current behavior
|
192
|
+
end
|
193
|
+
end
|
194
|
+
|
166
195
|
def sort_for_replacement
|
167
196
|
# sorting inline wikilinks is necessary so when wikilinks are replaced,
|
168
197
|
# !embeds and longer strings are replaced first so as not to accidentally overwrite
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-wikirefs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- manunamz
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-04-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '0'
|
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: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: nokogiri
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|