md-server 0.0.4 → 0.0.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 +7 -0
- data/lib/nice_html_converter.rb +44 -0
- data/lib/nice_kramdown_template.rb +14 -0
- data/md-server +11 -8
- metadata +53 -22
- data/rack-add-headers.rb +0 -15
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f34de7d3a9d22f4bbb536c5563e1dde35f37ec21
|
4
|
+
data.tar.gz: d7d4c3425dd8c4e7b644c405d54f4c4be3514f0f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 8c598570bfb7f8e78d36a4aa55e67b8d8235c26407949f02407973afbd83ff10865ff8493e91bb1795809d4a551f13b1680c402790c87229942a8ab5b1d7d1ab
|
7
|
+
data.tar.gz: a0aad31ba782856a0e402b182fe51045c7d5016e67e3c04f5303fd7a66376ac3010f2d154c528976a69ad277853ee021c5c52a45638ba450b0449fb78f05df8b
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'kramdown'
|
2
|
+
|
3
|
+
# Converts Markdown to HTML, and adds a bit of CSS and a title element.
|
4
|
+
class NiceHtmlConverter < Kramdown::Converter::Html
|
5
|
+
|
6
|
+
STYLE = <<EOS
|
7
|
+
<style>
|
8
|
+
body {
|
9
|
+
padding-top: 1.5em;
|
10
|
+
padding-left: 15%;
|
11
|
+
padding-right: 15%;
|
12
|
+
}
|
13
|
+
|
14
|
+
p {
|
15
|
+
line-height: 1.3;
|
16
|
+
}
|
17
|
+
|
18
|
+
pre {
|
19
|
+
padding: 1em;
|
20
|
+
background-color: #e7e7e7;
|
21
|
+
overflow: auto;
|
22
|
+
}
|
23
|
+
</style>
|
24
|
+
EOS
|
25
|
+
|
26
|
+
def initialize(*args)
|
27
|
+
@title = nil
|
28
|
+
super
|
29
|
+
end
|
30
|
+
|
31
|
+
def convert_header(el, indent)
|
32
|
+
if !@title
|
33
|
+
@title = el.options[:raw_text]
|
34
|
+
end
|
35
|
+
|
36
|
+
super
|
37
|
+
end
|
38
|
+
|
39
|
+
def convert_root(*args)
|
40
|
+
result = super # super needs to be called first to set @title.
|
41
|
+
title = "<title>#{@title}</title>" if @title
|
42
|
+
"<!DOCTYPE html>\n<meta charset=\"utf-8\">\n#{title}\n#{STYLE}\n#{result}"
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'tilt'
|
2
|
+
require 'nice_html_converter'
|
3
|
+
|
4
|
+
class NiceKramdownTemplate < Tilt::KramdownTemplate
|
5
|
+
|
6
|
+
def evaluate(scope, locals, &block)
|
7
|
+
result, warnings = NiceHtmlConverter.convert(@engine.root, @engine.options)
|
8
|
+
if warnings.length > 0
|
9
|
+
puts warnings
|
10
|
+
end
|
11
|
+
@output ||= result
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
data/md-server
CHANGED
@@ -2,17 +2,20 @@
|
|
2
2
|
|
3
3
|
require 'rack'
|
4
4
|
require 'tilt'
|
5
|
-
require
|
5
|
+
require 'rack/contrib'
|
6
6
|
|
7
|
-
|
8
|
-
Rack::Mime::MIME_TYPES.merge! ".#{ext}" => 'text/plain'
|
9
|
-
end
|
7
|
+
require 'nice_kramdown_template'
|
10
8
|
|
11
|
-
|
9
|
+
Rack::Mime::MIME_TYPES.merge! Hash[Rack::Mime::MIME_TYPES.map{|k,v| [k, 'text/plain'] if v.start_with?('text/x-') }.compact]
|
12
10
|
|
13
|
-
|
11
|
+
Tilt.register(NiceKramdownTemplate, 'md')
|
12
|
+
|
13
|
+
app = Rack::Builder.app do
|
14
14
|
|
15
|
-
use
|
15
|
+
use Rack::ResponseHeaders do |headers|
|
16
|
+
headers['X-Content-Type-Options'] = 'nosniff'
|
17
|
+
headers['Cache-Control'] = 'no-store'
|
18
|
+
end
|
16
19
|
|
17
20
|
run lambda { |env|
|
18
21
|
path = env['PATH_INFO'][1..-1]
|
@@ -25,7 +28,7 @@ app = Rack::Builder.app do
|
|
25
28
|
return [500, {"Content-Type" => "text/plain"}, ["#{le}\nYou need to install the appropriate gem."]]
|
26
29
|
end
|
27
30
|
|
28
|
-
|
31
|
+
Rack::Directory.new('.').call(env)
|
29
32
|
}
|
30
33
|
|
31
34
|
end
|
metadata
CHANGED
@@ -1,39 +1,71 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: md-server
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.6
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Matt Wildig
|
9
8
|
autorequire:
|
10
|
-
bindir: .
|
9
|
+
bindir: "."
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
13
|
-
default_executable:
|
11
|
+
date: 2016-08-07 00:00:00.000000000 Z
|
14
12
|
dependencies:
|
15
13
|
- !ruby/object:Gem::Dependency
|
16
14
|
name: rack
|
17
|
-
requirement:
|
18
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
19
16
|
requirements:
|
20
|
-
- -
|
17
|
+
- - ">="
|
21
18
|
- !ruby/object:Gem::Version
|
22
19
|
version: '0'
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rack-contrib
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
26
41
|
- !ruby/object:Gem::Dependency
|
27
42
|
name: tilt
|
28
|
-
requirement:
|
29
|
-
none: false
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
|
-
- -
|
45
|
+
- - ">="
|
32
46
|
- !ruby/object:Gem::Version
|
33
47
|
version: '0'
|
34
48
|
type: :runtime
|
35
49
|
prerelease: false
|
36
|
-
version_requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: kramdown
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
37
69
|
description:
|
38
70
|
email:
|
39
71
|
executables:
|
@@ -41,33 +73,32 @@ executables:
|
|
41
73
|
extensions: []
|
42
74
|
extra_rdoc_files: []
|
43
75
|
files:
|
76
|
+
- "./md-server"
|
77
|
+
- lib/nice_html_converter.rb
|
78
|
+
- lib/nice_kramdown_template.rb
|
44
79
|
- md-server
|
45
|
-
- rack-add-headers.rb
|
46
|
-
- ./md-server
|
47
|
-
has_rdoc: true
|
48
80
|
homepage:
|
49
81
|
licenses: []
|
82
|
+
metadata: {}
|
50
83
|
post_install_message:
|
51
84
|
rdoc_options: []
|
52
85
|
require_paths:
|
53
86
|
- lib
|
54
87
|
required_ruby_version: !ruby/object:Gem::Requirement
|
55
|
-
none: false
|
56
88
|
requirements:
|
57
|
-
- -
|
89
|
+
- - ">="
|
58
90
|
- !ruby/object:Gem::Version
|
59
91
|
version: '0'
|
60
92
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
61
|
-
none: false
|
62
93
|
requirements:
|
63
|
-
- -
|
94
|
+
- - ">="
|
64
95
|
- !ruby/object:Gem::Version
|
65
96
|
version: '0'
|
66
97
|
requirements: []
|
67
98
|
rubyforge_project:
|
68
|
-
rubygems_version:
|
99
|
+
rubygems_version: 2.5.1
|
69
100
|
signing_key:
|
70
|
-
specification_version:
|
101
|
+
specification_version: 4
|
71
102
|
summary: Simple server to show you what your markdown and other templates looks like
|
72
103
|
when converted to html.
|
73
104
|
test_files: []
|
data/rack-add-headers.rb
DELETED