madness 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +45 -0
- data/app/public/css/main.css +12 -6
- data/app/public/css/main.css.map +1 -1
- data/app/public/favicon.ico +0 -0
- data/app/styles/_code.scss +4 -4
- data/app/styles/_coderay.scss +6 -3
- data/app/styles/main.scss +12 -5
- data/app/views/document.slim +0 -2
- data/app/views/layout.slim +1 -2
- data/lib/madness.rb +1 -1
- data/lib/madness/command_line.rb +7 -6
- data/lib/madness/docopt.txt +3 -3
- data/lib/madness/document.rb +14 -9
- data/lib/madness/navigation.rb +1 -1
- data/lib/madness/server.rb +6 -4
- data/lib/madness/server_helper.rb +8 -0
- data/lib/madness/settings.rb +33 -0
- data/lib/madness/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 667ab17b01bf2fdd81d2b41f224f944f93ebbcd4
|
4
|
+
data.tar.gz: beb06296be69db6263f654008018f9ae48a6feea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0eb617a3a992cd770850cd60ca9a11d88e03f1a05316dbd98e40d0b0e8afc844175f58557ed6501081efa93e1f694fd3788d2e7c6a4bd253fe348a42685edac8
|
7
|
+
data.tar.gz: 1d823674f3222079ce70a8f0454e7b4a1e83d2d11fe6ac6aac4189dfed180d9ca2cbda005949129d4db44310be325cb065d4b5836e3468ce63b206af6f5243f5
|
data/README.md
CHANGED
@@ -8,6 +8,12 @@ Madness - Instant Markdown Server
|
|
8
8
|
|
9
9
|
---
|
10
10
|
|
11
|
+
Screenshot
|
12
|
+
--------------------------------------------------
|
13
|
+
|
14
|
+
![Screenshot]
|
15
|
+
|
16
|
+
|
11
17
|
Install
|
12
18
|
--------------------------------------------------
|
13
19
|
|
@@ -40,3 +46,42 @@ main file describing this directory.
|
|
40
46
|
The navigation sidebar will show all the sub directories and files in
|
41
47
|
the same directory as the viewed file.
|
42
48
|
|
49
|
+
Example structure:
|
50
|
+
|
51
|
+
```
|
52
|
+
./
|
53
|
+
├── README.md
|
54
|
+
├── Code.md
|
55
|
+
├── Double Escape.md
|
56
|
+
├── File-with-Dashes.md
|
57
|
+
├── Folder
|
58
|
+
│ └── File.md
|
59
|
+
└── Another Folder
|
60
|
+
├── README.md
|
61
|
+
├── Headings.md
|
62
|
+
├── Images.md
|
63
|
+
└── Lists.md
|
64
|
+
```
|
65
|
+
|
66
|
+
Configuration File
|
67
|
+
--------------------------------------------------
|
68
|
+
|
69
|
+
All the command line arguments can also be configured through a
|
70
|
+
configuration file. Create a file named `.madness.yml` in your
|
71
|
+
documentation directory, and modify any of the settings below.
|
72
|
+
|
73
|
+
```yaml
|
74
|
+
# .madness.yml
|
75
|
+
---
|
76
|
+
path: '.'
|
77
|
+
port: '3000'
|
78
|
+
bind: '0.0.0.0'
|
79
|
+
autoh1: true
|
80
|
+
highlighter: true
|
81
|
+
line_numbers: true
|
82
|
+
```
|
83
|
+
|
84
|
+
|
85
|
+
---
|
86
|
+
|
87
|
+
[Screenshot]: https://raw.githubusercontent.com/DannyBen/madness/master/screenshot.png
|
data/app/public/css/main.css
CHANGED
@@ -139,15 +139,13 @@ code {
|
|
139
139
|
padding-top: 0.2em;
|
140
140
|
padding-bottom: 0.2em;
|
141
141
|
margin: 0;
|
142
|
-
background-color:
|
142
|
+
background-color: #eee;
|
143
143
|
border-radius: 3px; }
|
144
144
|
code:before, code:after {
|
145
145
|
letter-spacing: -0.2em;
|
146
146
|
content: "\00a0"; }
|
147
147
|
|
148
148
|
pre {
|
149
|
-
margin-top: 0;
|
150
|
-
margin-bottom: 0;
|
151
149
|
overflow: auto;
|
152
150
|
line-height: 1.45;
|
153
151
|
word-wrap: normal; }
|
@@ -160,10 +158,10 @@ pre {
|
|
160
158
|
background: transparent;
|
161
159
|
border: 0; }
|
162
160
|
pre code {
|
161
|
+
margin: 0;
|
163
162
|
display: inline;
|
164
163
|
max-width: initial;
|
165
164
|
padding: 0;
|
166
|
-
margin: 0;
|
167
165
|
overflow: initial;
|
168
166
|
line-height: inherit;
|
169
167
|
word-wrap: normal;
|
@@ -176,6 +174,11 @@ pre {
|
|
176
174
|
td.line-numbers {
|
177
175
|
background: #eee; }
|
178
176
|
|
177
|
+
table.CodeRay {
|
178
|
+
margin-bottom: 0; }
|
179
|
+
table.CodeRay pre {
|
180
|
+
margin-bottom: 0; }
|
181
|
+
|
179
182
|
img {
|
180
183
|
border-style: none;
|
181
184
|
max-width: 100%;
|
@@ -223,11 +226,14 @@ main {
|
|
223
226
|
padding: 0 20px 100px 20px;
|
224
227
|
margin-left: 250px;
|
225
228
|
border: 1px solid #ccc;
|
226
|
-
border-width:
|
229
|
+
border-width: 0 1px;
|
227
230
|
min-height: 100vh; }
|
231
|
+
main:before, main:after {
|
232
|
+
display: table;
|
233
|
+
content: ""; }
|
228
234
|
|
229
235
|
.breadcrumbs {
|
230
|
-
margin-top:
|
236
|
+
margin-top: 6px;
|
231
237
|
border-bottom: 1px solid #ccc; }
|
232
238
|
.breadcrumbs a {
|
233
239
|
display: inline-block;
|
data/app/public/css/main.css.map
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
|
-
"mappings": "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
|
3
|
+
"mappings": "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",
|
4
4
|
"sources": ["../../styles/_general.scss","../../styles/_typography.scss","../../styles/_table.scss","../../styles/_anchor.scss","../../styles/_list.scss","../../styles/_code.scss","../../styles/_coderay.scss","../../styles/_image.scss","../../styles/_line.scss","../../styles/_keyboard.scss","../../styles/main.scss"],
|
5
5
|
"names": [],
|
6
6
|
"file": "main.css"
|
Binary file
|
data/app/styles/_code.scss
CHANGED
@@ -4,7 +4,7 @@ code {
|
|
4
4
|
padding-bottom: 0.2em;
|
5
5
|
margin: 0;
|
6
6
|
// font-size: 85%;
|
7
|
-
background-color:
|
7
|
+
background-color: #eee;
|
8
8
|
border-radius: 3px;
|
9
9
|
|
10
10
|
&:before, &:after {
|
@@ -14,8 +14,8 @@ code {
|
|
14
14
|
}
|
15
15
|
|
16
16
|
pre {
|
17
|
-
margin-top: 0;
|
18
|
-
margin-bottom: 0;
|
17
|
+
// margin-top: 0;
|
18
|
+
// margin-bottom: 0;
|
19
19
|
|
20
20
|
// padding: 16px;
|
21
21
|
overflow: auto;
|
@@ -36,10 +36,10 @@ pre {
|
|
36
36
|
}
|
37
37
|
|
38
38
|
code {
|
39
|
+
margin: 0;
|
39
40
|
display: inline;
|
40
41
|
max-width: initial;
|
41
42
|
padding: 0;
|
42
|
-
margin: 0;
|
43
43
|
overflow: initial;
|
44
44
|
line-height: inherit;
|
45
45
|
word-wrap: normal;
|
data/app/styles/_coderay.scss
CHANGED
data/app/styles/main.scss
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
@import "manifest";
|
2
2
|
|
3
|
-
$top-margin: 10px;
|
4
|
-
|
5
3
|
body {
|
6
4
|
max-width: 1300px;
|
7
5
|
margin: 0 auto;
|
@@ -11,12 +9,21 @@ main {
|
|
11
9
|
padding: 0 20px 100px 20px;
|
12
10
|
margin-left: 250px;
|
13
11
|
border:1px solid #ccc;
|
14
|
-
border-width:
|
12
|
+
border-width: 0 1px;
|
15
13
|
min-height: 100vh;
|
14
|
+
|
15
|
+
&:before, &:after {
|
16
|
+
display: table;
|
17
|
+
content: "";
|
18
|
+
}
|
19
|
+
|
20
|
+
&:after {
|
21
|
+
// clear: both;
|
22
|
+
}
|
16
23
|
}
|
17
24
|
|
18
25
|
.breadcrumbs {
|
19
|
-
margin-top:
|
26
|
+
margin-top: 6px;
|
20
27
|
border-bottom: 1px solid #ccc;
|
21
28
|
a {
|
22
29
|
display: inline-block;
|
@@ -30,7 +37,7 @@ nav {
|
|
30
37
|
width: 250px;
|
31
38
|
overflow-y: auto;
|
32
39
|
position: fixed;
|
33
|
-
padding:
|
40
|
+
padding: 10px 0 100px 0;
|
34
41
|
border-right: 1px solid #eee;
|
35
42
|
a, span {
|
36
43
|
&:hover {
|
data/app/views/document.slim
CHANGED
data/app/views/layout.slim
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
doctype html
|
2
2
|
|
3
3
|
head
|
4
|
-
title
|
5
|
-
/ link href='https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css' rel='stylesheet' type='text/css'
|
4
|
+
title = locals[:title]
|
6
5
|
link href='/css/main.css' rel='stylesheet' type='text/css'
|
7
6
|
|
8
7
|
body
|
data/lib/madness.rb
CHANGED
data/lib/madness/command_line.rb
CHANGED
@@ -38,18 +38,19 @@ module Madness
|
|
38
38
|
end
|
39
39
|
|
40
40
|
def set_config(args)
|
41
|
-
config.path = args['PATH']
|
42
|
-
config.port = args['--port']
|
43
|
-
config.bind = args['--bind']
|
44
|
-
config.autoh1
|
45
|
-
config.highlighter
|
46
|
-
config.line_numbers = false
|
41
|
+
config.path = args['PATH'] if args['PATH']
|
42
|
+
config.port = args['--port'] if args['--port']
|
43
|
+
config.bind = args['--bind'] if args['--bind']
|
44
|
+
config.autoh1 = false if args['--no-auto-h1']
|
45
|
+
config.highlighter = false if args['--no-syntax']
|
46
|
+
config.line_numbers = false if args['--no-line-numbers']
|
47
47
|
end
|
48
48
|
|
49
49
|
def show_status
|
50
50
|
say_status :start, 'the madness'
|
51
51
|
say_status :listen, "#{config.bind}:#{config.port}", :txtblu
|
52
52
|
say_status :path, config.path, :txtblu
|
53
|
+
say_status :use, config.filename if config.file_exist?
|
53
54
|
say "-" * 40
|
54
55
|
end
|
55
56
|
|
data/lib/madness/docopt.txt
CHANGED
@@ -6,14 +6,14 @@ Usage:
|
|
6
6
|
|
7
7
|
Parameters:
|
8
8
|
PATH:
|
9
|
-
|
9
|
+
Optional path to the markdown directory.
|
10
10
|
|
11
11
|
Options:
|
12
12
|
-p, --port <number>
|
13
|
-
Set server port number.
|
13
|
+
Set server port number.
|
14
14
|
|
15
15
|
-b, --bind <address>
|
16
|
-
Set server listen address.
|
16
|
+
Set server listen address.
|
17
17
|
|
18
18
|
--no-auto-h1
|
19
19
|
By default, if a markdown document does not start with an H1 caption,
|
data/lib/madness/document.rb
CHANGED
@@ -37,22 +37,27 @@ module Madness
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
+
def title
|
41
|
+
if file =~ /README.md/
|
42
|
+
result = File.basename File.dirname(file)
|
43
|
+
else
|
44
|
+
result = File.basename(file,'.md')
|
45
|
+
end
|
46
|
+
result.tr '-', ' '
|
47
|
+
end
|
48
|
+
|
49
|
+
private
|
50
|
+
|
40
51
|
def markdown_to_html(html)
|
41
52
|
html = RDiscount.new(File.read file).to_html
|
42
53
|
html = syntax_highlight(html) if config.highlighter
|
43
|
-
html = prepend_h1(html
|
54
|
+
html = prepend_h1(html) if config.autoh1
|
44
55
|
html
|
45
56
|
end
|
46
57
|
|
47
|
-
def prepend_h1(html
|
58
|
+
def prepend_h1(html)
|
48
59
|
unless html[0..3] == "<h1>"
|
49
|
-
|
50
|
-
h1 = File.basename File.dirname(filename)
|
51
|
-
else
|
52
|
-
h1 = File.basename(filename,'.md')
|
53
|
-
end
|
54
|
-
|
55
|
-
html = "<h1>#{h1}</h1>\n#{html}"
|
60
|
+
html = "<h1>#{title}</h1>\n#{html}"
|
56
61
|
end
|
57
62
|
html
|
58
63
|
end
|
data/lib/madness/navigation.rb
CHANGED
data/lib/madness/server.rb
CHANGED
@@ -3,7 +3,6 @@ module Madness
|
|
3
3
|
class Server < ServerBase
|
4
4
|
get '/*' do
|
5
5
|
path = params[:splat].first
|
6
|
-
debug = nil
|
7
6
|
|
8
7
|
doc = Document.new path
|
9
8
|
dir = doc.dir
|
@@ -12,14 +11,17 @@ module Madness
|
|
12
11
|
nav = Navigation.new(dir)
|
13
12
|
breadcrumbs = Breadcrumbs.new(path).links
|
14
13
|
|
14
|
+
if nav.links.count == 1 and doc.type == :empty
|
15
|
+
redirect to(nav.links.first.href)
|
16
|
+
end
|
17
|
+
|
15
18
|
slim :document, locals: {
|
16
19
|
content: content,
|
17
20
|
type: doc.type,
|
21
|
+
title: doc.title,
|
18
22
|
nav: nav,
|
19
|
-
breadcrumbs: breadcrumbs
|
20
|
-
debug: debug
|
23
|
+
breadcrumbs: breadcrumbs
|
21
24
|
}
|
22
25
|
end
|
23
|
-
|
24
26
|
end
|
25
27
|
end
|
data/lib/madness/settings.rb
CHANGED
@@ -10,6 +10,22 @@ module Madness
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def reset
|
13
|
+
@config_file = nil
|
14
|
+
set_defaults
|
15
|
+
load_from_file if config_file
|
16
|
+
end
|
17
|
+
|
18
|
+
def file_exist?
|
19
|
+
File.exist? filename
|
20
|
+
end
|
21
|
+
|
22
|
+
def filename
|
23
|
+
'.madness.yml'
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def set_defaults
|
13
29
|
self.port = '3000'
|
14
30
|
self.bind = '0.0.0.0'
|
15
31
|
self.path = '.'
|
@@ -18,5 +34,22 @@ module Madness
|
|
18
34
|
self.line_numbers = true
|
19
35
|
end
|
20
36
|
|
37
|
+
def load_from_file
|
38
|
+
config_file.each do |key, value|
|
39
|
+
instance_variable_set("@#{key}", value)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def config_file
|
44
|
+
@config_file ||= config_file!
|
45
|
+
end
|
46
|
+
|
47
|
+
def config_file!
|
48
|
+
if file_exist?
|
49
|
+
YAML.load_file filename
|
50
|
+
else
|
51
|
+
{}
|
52
|
+
end
|
53
|
+
end
|
21
54
|
end
|
22
55
|
end
|
data/lib/madness/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: madness
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Danny Ben Shitrit
|
@@ -244,6 +244,7 @@ files:
|
|
244
244
|
- README.md
|
245
245
|
- app/public/css/main.css
|
246
246
|
- app/public/css/main.css.map
|
247
|
+
- app/public/favicon.ico
|
247
248
|
- app/styles/_anchor.scss
|
248
249
|
- app/styles/_code.scss
|
249
250
|
- app/styles/_coderay.scss
|