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 +4 -4
- data/bin/markdownr +2 -2
- data/lib/markdown_server/app.rb +30 -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: bc15590907558465b90d7d219e6bede5a9479141b0993843188a22a2723ab72a
|
|
4
|
+
data.tar.gz: 34f073a1b9cf5c3a2550e61da3f1ffe9250bc4843fac344e140c1e0629a5f4a8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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: "
|
|
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:
|
|
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
|
|
data/lib/markdown_server/app.rb
CHANGED
|
@@ -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
|
-
|
|
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
|