markdownr 0.3.5 → 0.3.6
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/markdown_server/app.rb +29 -14
- data/lib/markdown_server/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 01f55ab4612df6c57dc37c6632765cdced4f4a18d19965eca28db4c653c262d6
|
|
4
|
+
data.tar.gz: 3b3cd87a76bd220fc998557978c240aab570705df3b890beba2459b8634feac5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 914d2a3a8bb19aff817d29c2f2bb651ad6175a084faca1c261554eee64daad795e7a7e65a5e3ac1631ea0d1eaad5bca43b5a9751b56f3412734d268c58ee4763
|
|
7
|
+
data.tar.gz: e1afd582d417c7170accd7fbb95b00c896f920a910a4d6ab0c04727834819e5f5fcdb8a58946cae7ef156a8fe552c215ba87b0b17fe8042e798e81c8215f8a23
|
data/lib/markdown_server/app.rb
CHANGED
|
@@ -189,26 +189,39 @@ module MarkdownServer
|
|
|
189
189
|
nil
|
|
190
190
|
end
|
|
191
191
|
|
|
192
|
+
def render_inline_wiki_links(str)
|
|
193
|
+
result = ""
|
|
194
|
+
last_end = 0
|
|
195
|
+
str.scan(/\[\[([^\]]+)\]\]/) do |match|
|
|
196
|
+
raw = match[0]
|
|
197
|
+
m_start = $~.begin(0)
|
|
198
|
+
result += h(str[last_end...m_start])
|
|
199
|
+
target, display = raw.include?("|") ? raw.split("|", 2) : [raw, nil]
|
|
200
|
+
label = display || target
|
|
201
|
+
if target.start_with?("#")
|
|
202
|
+
anchor = target[1..].downcase.gsub(/\s+/, "-").gsub(/[^\w-]/, "")
|
|
203
|
+
result += %(<a class="wiki-link" href="##{h(anchor)}">#{h(label)}</a>)
|
|
204
|
+
else
|
|
205
|
+
resolved = resolve_wiki_link(target)
|
|
206
|
+
if resolved
|
|
207
|
+
result += %(<a class="wiki-link" href="/browse/#{encode_path_component(resolved).gsub('%2F', '/')}">#{h(label)}</a>)
|
|
208
|
+
else
|
|
209
|
+
result += %(<span class="wiki-link broken">#{h(label)}</span>)
|
|
210
|
+
end
|
|
211
|
+
end
|
|
212
|
+
last_end = $~.end(0)
|
|
213
|
+
end
|
|
214
|
+
result += h(str[last_end..])
|
|
215
|
+
result
|
|
216
|
+
end
|
|
217
|
+
|
|
192
218
|
def render_frontmatter_value(value)
|
|
193
219
|
case value
|
|
194
220
|
when Array
|
|
195
221
|
value.map { |v|
|
|
196
222
|
str = v.to_s
|
|
197
223
|
if str =~ /\A\[\[([^\]]+)\]\]\z/
|
|
198
|
-
|
|
199
|
-
target, display = raw.include?("|") ? raw.split("|", 2) : [raw, nil]
|
|
200
|
-
label = display || target
|
|
201
|
-
if target.start_with?("#")
|
|
202
|
-
anchor = target[1..].downcase.gsub(/\s+/, "-").gsub(/[^\w-]/, "")
|
|
203
|
-
%(<a class="wiki-link" href="##{h(anchor)}">#{h(label)}</a>)
|
|
204
|
-
else
|
|
205
|
-
resolved = resolve_wiki_link(target)
|
|
206
|
-
if resolved
|
|
207
|
-
%(<a class="wiki-link" href="/browse/#{encode_path_component(resolved).gsub('%2F', '/')}">#{h(label)}</a>)
|
|
208
|
-
else
|
|
209
|
-
%(<span class="wiki-link broken">#{h(label)}</span>)
|
|
210
|
-
end
|
|
211
|
-
end
|
|
224
|
+
render_inline_wiki_links(str)
|
|
212
225
|
else
|
|
213
226
|
%(<span class="tag">#{h(str)}</span>)
|
|
214
227
|
end
|
|
@@ -216,6 +229,8 @@ module MarkdownServer
|
|
|
216
229
|
when String
|
|
217
230
|
if value =~ /\Ahttps?:\/\//
|
|
218
231
|
%(<a href="#{h(value)}" target="_blank" rel="noopener">#{h(value)}</a>)
|
|
232
|
+
elsif value.include?("[[")
|
|
233
|
+
render_inline_wiki_links(value)
|
|
219
234
|
elsif value.length > 120
|
|
220
235
|
render_markdown(value)
|
|
221
236
|
else
|