markdownr 0.3.5 → 0.3.7

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: bc15590907558465b90d7d219e6bede5a9479141b0993843188a22a2723ab72a
4
+ data.tar.gz: 34f073a1b9cf5c3a2550e61da3f1ffe9250bc4843fac344e140c1e0629a5f4a8
5
5
  SHA512:
6
- metadata.gz: c249628b120b2af78fe64e9690362aa2978896cf098fc9aec04f7225f685661203f3d5dd59bde5b8ddf3bb6c959ac92a4c09f5b46483f121a9355bdf7675e68c
7
- data.tar.gz: 80774310a8da3df52c41ef1e7ea811040a85392d5b6d02e149e1b3be0d12bc63d1f4bab5b7972f0a173da2a118f44aaf932df4c6e11487a62ffc7fe5fd47b548
6
+ metadata.gz: 19aad92e46d89d0cbec62ba172167a029a74794f6b1914cdc458d896eea4e25186852cf5f37c493e5459f680b922b19c3c7c44c0de71f6c528d8c18d37479b3f
7
+ data.tar.gz: cb08bd3772391f5a0c742930953ac4982366c8657e89b802bc4b090ea476e3ec89e456fe255543622c0ab8e58b7191823d590cda143f7e37ba9b151bfec4e084
data/bin/markdownr CHANGED
@@ -2,7 +2,7 @@
2
2
  require "optparse"
3
3
  require_relative "../lib/markdown_server"
4
4
 
5
- options = { port: 4567, bind: "0.0.0.0" }
5
+ options = { port: 4567, bind: "127.0.0.1" }
6
6
 
7
7
  OptionParser.new do |opts|
8
8
  opts.banner = "Usage: markdownr [options] [directory]"
@@ -11,7 +11,7 @@ OptionParser.new do |opts|
11
11
  options[:port] = p
12
12
  end
13
13
 
14
- opts.on("-b", "--bind ADDRESS", "Address to bind to (default: 0.0.0.0)") do |b|
14
+ opts.on("-b", "--bind ADDRESS", "Address to bind to (default: 127.0.0.1)") do |b|
15
15
  options[:bind] = b
16
16
  end
17
17
 
@@ -19,6 +19,7 @@ module MarkdownServer
19
19
  set :root_dir, Dir.pwd
20
20
  set :custom_title, nil
21
21
  set :show_exceptions, false
22
+ set :protection, false
22
23
  end
23
24
 
24
25
  helpers do
@@ -189,26 +190,39 @@ module MarkdownServer
189
190
  nil
190
191
  end
191
192
 
193
+ def render_inline_wiki_links(str)
194
+ result = ""
195
+ last_end = 0
196
+ str.scan(/\[\[([^\]]+)\]\]/) do |match|
197
+ raw = match[0]
198
+ m_start = $~.begin(0)
199
+ result += h(str[last_end...m_start])
200
+ target, display = raw.include?("|") ? raw.split("|", 2) : [raw, nil]
201
+ label = display || target
202
+ if target.start_with?("#")
203
+ anchor = target[1..].downcase.gsub(/\s+/, "-").gsub(/[^\w-]/, "")
204
+ result += %(<a class="wiki-link" href="##{h(anchor)}">#{h(label)}</a>)
205
+ else
206
+ resolved = resolve_wiki_link(target)
207
+ if resolved
208
+ result += %(<a class="wiki-link" href="/browse/#{encode_path_component(resolved).gsub('%2F', '/')}">#{h(label)}</a>)
209
+ else
210
+ result += %(<span class="wiki-link broken">#{h(label)}</span>)
211
+ end
212
+ end
213
+ last_end = $~.end(0)
214
+ end
215
+ result += h(str[last_end..])
216
+ result
217
+ end
218
+
192
219
  def render_frontmatter_value(value)
193
220
  case value
194
221
  when Array
195
222
  value.map { |v|
196
223
  str = v.to_s
197
224
  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
225
+ render_inline_wiki_links(str)
212
226
  else
213
227
  %(<span class="tag">#{h(str)}</span>)
214
228
  end
@@ -216,6 +230,8 @@ module MarkdownServer
216
230
  when String
217
231
  if value =~ /\Ahttps?:\/\//
218
232
  %(<a href="#{h(value)}" target="_blank" rel="noopener">#{h(value)}</a>)
233
+ elsif value.include?("[[")
234
+ render_inline_wiki_links(value)
219
235
  elsif value.length > 120
220
236
  render_markdown(value)
221
237
  else
@@ -1,3 +1,3 @@
1
1
  module MarkdownServer
2
- VERSION = "0.3.5"
2
+ VERSION = "0.3.7"
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.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Dunn