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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a6f6186e83f09bb4239d8ca1fd5cca349fbbe17ccea6565a5579c11920e7ce2e
4
- data.tar.gz: 1eb3bc2813a2748ad37b63271e3e6844b4f927dc638f0c0bd1d0a7d65f940e28
3
+ metadata.gz: 01f55ab4612df6c57dc37c6632765cdced4f4a18d19965eca28db4c653c262d6
4
+ data.tar.gz: 3b3cd87a76bd220fc998557978c240aab570705df3b890beba2459b8634feac5
5
5
  SHA512:
6
- metadata.gz: c249628b120b2af78fe64e9690362aa2978896cf098fc9aec04f7225f685661203f3d5dd59bde5b8ddf3bb6c959ac92a4c09f5b46483f121a9355bdf7675e68c
7
- data.tar.gz: 80774310a8da3df52c41ef1e7ea811040a85392d5b6d02e149e1b3be0d12bc63d1f4bab5b7972f0a173da2a118f44aaf932df4c6e11487a62ffc7fe5fd47b548
6
+ metadata.gz: 914d2a3a8bb19aff817d29c2f2bb651ad6175a084faca1c261554eee64daad795e7a7e65a5e3ac1631ea0d1eaad5bca43b5a9751b56f3412734d268c58ee4763
7
+ data.tar.gz: e1afd582d417c7170accd7fbb95b00c896f920a910a4d6ab0c04727834819e5f5fcdb8a58946cae7ef156a8fe552c215ba87b0b17fe8042e798e81c8215f8a23
@@ -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
- raw = $1
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
@@ -1,3 +1,3 @@
1
1
  module MarkdownServer
2
- VERSION = "0.3.5"
2
+ VERSION = "0.3.6"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: markdownr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Dunn