madness 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/public/css/main.css +10 -6
- data/app/public/css/main.css.map +1 -1
- data/app/styles/main.scss +8 -6
- data/app/views/_breadcrumbs.slim +8 -0
- data/app/views/_content.slim +10 -0
- data/app/views/_nav.slim +9 -0
- data/app/views/document.slim +3 -20
- data/lib/madness.rb +3 -0
- data/lib/madness/breadcrumbs.rb +33 -0
- data/lib/madness/command_line.rb +1 -0
- data/lib/madness/docopt.txt +6 -0
- data/lib/madness/document.rb +47 -0
- data/lib/madness/navigation.rb +36 -0
- data/lib/madness/server.rb +5 -53
- data/lib/madness/server_helper.rb +0 -1
- data/lib/madness/settings.rb +5 -4
- data/lib/madness/version.rb +1 -1
- metadata +7 -3
- data/app/styles/_reset.scss +0 -48
- data/app/styles/_responsive.scss +0 -56
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 70be668576c04ad931a8774cd9722dab749076bb
|
4
|
+
data.tar.gz: 580f4be0df35cf5a0a0e6887a829d5184810e16e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7d7bbab2c7869421685806122e1c8cad6b7ece8c63c87088bcb8764fccede5c97eece89407355f465c792b490ca560463af33c990bbf65448fe738acd6617cf1
|
7
|
+
data.tar.gz: a4d605e1dec31dde3ad983dd515bf98dcc53482a071d97c04037dbfd4f306b674512848e74a8b9adb2ce469831f9121f53f87a6349356c2f7cd944f55c837225
|
data/app/public/css/main.css
CHANGED
@@ -573,14 +573,18 @@ body {
|
|
573
573
|
|
574
574
|
main {
|
575
575
|
padding: 0 20px 100px 20px;
|
576
|
-
margin-left: 250px;
|
576
|
+
margin-left: 250px;
|
577
|
+
border: 1px solid #ccc;
|
578
|
+
border-width: 0px 1px;
|
579
|
+
min-height: 100vh; }
|
577
580
|
|
578
581
|
.strong {
|
579
582
|
font-weight: bold; }
|
580
583
|
|
581
584
|
.breadcrumbs {
|
582
585
|
padding-top: 7px;
|
583
|
-
margin-top: 10px;
|
586
|
+
margin-top: 10px;
|
587
|
+
border-bottom: 1px solid #ccc; }
|
584
588
|
|
585
589
|
nav {
|
586
590
|
background: #eee;
|
@@ -588,13 +592,13 @@ nav {
|
|
588
592
|
width: 250px;
|
589
593
|
overflow-y: auto;
|
590
594
|
position: fixed;
|
591
|
-
padding: 10px 0;
|
595
|
+
padding: 10px 0 100px 0;
|
592
596
|
border-right: 1px solid #eee; }
|
593
|
-
nav a {
|
597
|
+
nav a, nav span {
|
594
598
|
display: block;
|
595
|
-
padding:
|
599
|
+
padding: 3px 20px 3px 30px;
|
596
600
|
margin-bottom: 4px; }
|
597
|
-
nav a:hover {
|
601
|
+
nav a:hover, nav span:hover {
|
598
602
|
background: #e4e4e4; }
|
599
603
|
|
600
604
|
::-webkit-scrollbar {
|
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/_github-markdown.scss","../../styles/main.scss"],
|
5
5
|
"names": [],
|
6
6
|
"file": "main.css"
|
data/app/styles/main.scss
CHANGED
@@ -1,6 +1,3 @@
|
|
1
|
-
// @import "reset";
|
2
|
-
// @import "responsive";
|
3
|
-
|
4
1
|
@import "github-markdown";
|
5
2
|
|
6
3
|
$top-margin: 10px;
|
@@ -13,6 +10,9 @@ body {
|
|
13
10
|
main {
|
14
11
|
padding: 0 20px 100px 20px;
|
15
12
|
margin-left: 250px;
|
13
|
+
border:1px solid #ccc;
|
14
|
+
border-width: 0px 1px;
|
15
|
+
min-height: 100vh;
|
16
16
|
}
|
17
17
|
|
18
18
|
.strong {
|
@@ -22,6 +22,7 @@ main {
|
|
22
22
|
.breadcrumbs {
|
23
23
|
padding-top: 7px;
|
24
24
|
margin-top: $top-margin;
|
25
|
+
border-bottom: 1px solid #ccc;
|
25
26
|
}
|
26
27
|
|
27
28
|
nav {
|
@@ -30,18 +31,19 @@ nav {
|
|
30
31
|
width: 250px;
|
31
32
|
overflow-y: auto;
|
32
33
|
position: fixed;
|
33
|
-
padding: $top-margin 0;
|
34
|
+
padding: $top-margin 0 100px 0;
|
34
35
|
border-right: 1px solid #eee;
|
35
|
-
a {
|
36
|
+
a, span {
|
36
37
|
&:hover {
|
37
38
|
background: #e4e4e4;
|
38
39
|
}
|
39
40
|
display: block;
|
40
|
-
padding:
|
41
|
+
padding: 3px 20px 3px 30px;
|
41
42
|
margin-bottom: 4px;
|
42
43
|
}
|
43
44
|
}
|
44
45
|
|
46
|
+
// Nicer sidebar scrollbars
|
45
47
|
::-webkit-scrollbar {
|
46
48
|
width: 6px;
|
47
49
|
}
|
data/app/views/_nav.slim
ADDED
data/app/views/document.slim
CHANGED
@@ -1,25 +1,8 @@
|
|
1
1
|
== debug
|
2
2
|
|
3
3
|
.markdown-body
|
4
|
-
nav
|
5
|
-
a.strong href="/" Home
|
6
|
-
- nav.each do |item|
|
7
|
-
a href="#{item.href}" class=('strong' if item.type == 'd')
|
8
|
-
= item.label
|
4
|
+
== slim :_nav, locals: { nav: nav }
|
9
5
|
|
10
6
|
main
|
11
|
-
|
12
|
-
|
13
|
-
a href="#{item.path}" = item.label
|
14
|
-
= " / " unless item.last
|
15
|
-
|
16
|
-
- if content.empty?
|
17
|
-
h1 Index
|
18
|
-
ul
|
19
|
-
- nav.each do |item|
|
20
|
-
li
|
21
|
-
a href="#{item.href}" class=('strong' if item.type == 'd')
|
22
|
-
= item.label
|
23
|
-
|
24
|
-
- else
|
25
|
-
== content
|
7
|
+
== slim :_breadcrumbs, locals: { breadcrumbs: breadcrumbs }
|
8
|
+
== slim :_content, locals: { nav: nav, content: content }
|
data/lib/madness.rb
CHANGED
@@ -0,0 +1,33 @@
|
|
1
|
+
module Madness
|
2
|
+
class Breadcrumbs
|
3
|
+
attr_reader :path
|
4
|
+
|
5
|
+
def initialize(path)
|
6
|
+
@path = path
|
7
|
+
end
|
8
|
+
|
9
|
+
def links
|
10
|
+
path == "" ? [] : get_breadcrumbs
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def get_breadcrumbs
|
16
|
+
home = OpenStruct.new({ label: "Home", href: '/' })
|
17
|
+
result = breadcrumbs_maker(path).reverse.unshift home
|
18
|
+
result.last.last = true
|
19
|
+
result
|
20
|
+
end
|
21
|
+
|
22
|
+
def breadcrumbs_maker(partial_path)
|
23
|
+
parent, basename = File.split partial_path
|
24
|
+
item = OpenStruct.new({
|
25
|
+
label: basename.tr('-', ' '),
|
26
|
+
href: "/#{partial_path}" }
|
27
|
+
)
|
28
|
+
result = [item]
|
29
|
+
result += breadcrumbs_maker parent unless parent == '.'
|
30
|
+
result
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/lib/madness/command_line.rb
CHANGED
data/lib/madness/docopt.txt
CHANGED
@@ -18,6 +18,12 @@ Options:
|
|
18
18
|
-b, --bind <address>
|
19
19
|
Set server listen address [default: 0.0.0.0]
|
20
20
|
|
21
|
+
--noh1
|
22
|
+
By default, if a markdown document does not start with an H1 caption,
|
23
|
+
it will be added automatically based on the file name. To disable this
|
24
|
+
behavior, use --noh1.
|
25
|
+
|
21
26
|
Examples:
|
22
27
|
madness
|
23
28
|
madness docs
|
29
|
+
madness docs --noh1 -p 4567
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module Madness
|
2
|
+
class Document
|
3
|
+
include ServerHelper
|
4
|
+
|
5
|
+
attr_reader :file, :dir, :path
|
6
|
+
|
7
|
+
def initialize(path)
|
8
|
+
@path = path
|
9
|
+
|
10
|
+
base = path.empty? ? docroot : "#{docroot}/#{path}"
|
11
|
+
|
12
|
+
if File.directory? base
|
13
|
+
@file = "#{base}/README.md"
|
14
|
+
@dir = base
|
15
|
+
elsif File.exist? "#{base}.md"
|
16
|
+
@file = "#{base}.md"
|
17
|
+
@dir = File.dirname file
|
18
|
+
else
|
19
|
+
@file = ''
|
20
|
+
@dir = docroot
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def content
|
25
|
+
@content ||= content!
|
26
|
+
end
|
27
|
+
|
28
|
+
def content!
|
29
|
+
if File.exist?(file)
|
30
|
+
html = RDiscount.new(File.read file).to_html
|
31
|
+
html = prepend_h1(html, file) if config.autoh1
|
32
|
+
html
|
33
|
+
else
|
34
|
+
""
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def prepend_h1(html, filename)
|
39
|
+
unless html[0..3] == "<h1>"
|
40
|
+
html = "<h1>#{File.basename(filename,'.md')}</h1>\n#{html}"
|
41
|
+
end
|
42
|
+
html
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Madness
|
2
|
+
class Navigation
|
3
|
+
include ServerHelper
|
4
|
+
|
5
|
+
attr_reader :links, :caption
|
6
|
+
|
7
|
+
def initialize(dir)
|
8
|
+
files = Dir["#{dir}/*.md"].map { |f| f.sub(/\.md$/, '') }
|
9
|
+
files.reject! { |f| File.basename(f) == 'README' }
|
10
|
+
|
11
|
+
dirs = Dir["#{dir}/*"].select { |f| File.directory? f }
|
12
|
+
|
13
|
+
@caption = File.basename(dir) unless dir == docroot
|
14
|
+
|
15
|
+
@links = []
|
16
|
+
|
17
|
+
dirs.sort.each do |item|
|
18
|
+
@links.push link(item, :dir)
|
19
|
+
end
|
20
|
+
|
21
|
+
files.sort.each do |item|
|
22
|
+
@links.push link(item, :file)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def link(item, type)
|
29
|
+
OpenStruct.new({
|
30
|
+
label: File.basename(item).tr('-', ' '),
|
31
|
+
href: item.sub(/^#{docroot}/, ''),
|
32
|
+
type: type
|
33
|
+
})
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
data/lib/madness/server.rb
CHANGED
@@ -1,48 +1,16 @@
|
|
1
|
-
|
2
1
|
module Madness
|
3
2
|
|
4
3
|
class Server < ServerBase
|
5
4
|
get '/*' do
|
6
5
|
path = params[:splat].first
|
7
|
-
base = path.empty? ? docroot : "#{docroot}/#{path}"
|
8
6
|
debug = nil
|
9
7
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
elsif File.exist? "#{base}.md"
|
14
|
-
file = "#{base}.md"
|
15
|
-
dir = File.dirname file
|
16
|
-
else
|
17
|
-
file = ''
|
18
|
-
dir = docroot
|
19
|
-
end
|
20
|
-
|
21
|
-
files = Dir["#{dir}/*.md"].map { |f| f.sub(/\.md$/, '') }
|
22
|
-
files.reject! { |f| File.basename(f) == 'README' }
|
23
|
-
|
24
|
-
dirs = Dir["#{dir}/*"].select { |f| File.directory? f }
|
25
|
-
|
26
|
-
nav = []
|
27
|
-
dirs.sort.each do |item|
|
28
|
-
nav.push OpenStruct.new({ label: File.basename(item).tr('-', ' '), href: item.sub(/^#{docroot}/, ''), type: 'd' })
|
29
|
-
end
|
30
|
-
|
31
|
-
files.sort.each do |item|
|
32
|
-
nav.push OpenStruct.new({ label: File.basename(item).tr('-', ' '), href: item.sub(/^#{docroot}/, ''), type: 'f' })
|
33
|
-
end
|
8
|
+
doc = Document.new path
|
9
|
+
dir = doc.dir
|
10
|
+
content = doc.content
|
34
11
|
|
35
|
-
|
36
|
-
|
37
|
-
else
|
38
|
-
content = ""
|
39
|
-
end
|
40
|
-
|
41
|
-
if path == ""
|
42
|
-
breadcrumbs = []
|
43
|
-
else
|
44
|
-
breadcrumbs = get_breadcrumbs path
|
45
|
-
end
|
12
|
+
nav = Navigation.new(dir)
|
13
|
+
breadcrumbs = Breadcrumbs.new(path).links
|
46
14
|
|
47
15
|
slim :document, locals: {
|
48
16
|
content: content,
|
@@ -52,21 +20,5 @@ module Madness
|
|
52
20
|
}
|
53
21
|
end
|
54
22
|
|
55
|
-
def get_breadcrumbs(path)
|
56
|
-
home = OpenStruct.new({ label: "Home", path: '/' })
|
57
|
-
# breadcrumbs_maker(path).drop(1).reverse.unshift home
|
58
|
-
result = breadcrumbs_maker(path).reverse.unshift home
|
59
|
-
result.last.last = true
|
60
|
-
result
|
61
|
-
end
|
62
|
-
|
63
|
-
def breadcrumbs_maker(path)
|
64
|
-
parent, basename = File.split path
|
65
|
-
item = OpenStruct.new({ label: basename, path: "/#{path}" })
|
66
|
-
result = [item]
|
67
|
-
result += breadcrumbs_maker parent unless parent == '.'
|
68
|
-
result
|
69
|
-
end
|
70
|
-
|
71
23
|
end
|
72
24
|
end
|
data/lib/madness/settings.rb
CHANGED
@@ -2,16 +2,17 @@ module Madness
|
|
2
2
|
class Settings
|
3
3
|
include Singleton
|
4
4
|
|
5
|
-
attr_accessor :port, :bind, :path
|
5
|
+
attr_accessor :port, :bind, :path, :autoh1
|
6
6
|
|
7
7
|
def initialize
|
8
8
|
reset
|
9
9
|
end
|
10
10
|
|
11
11
|
def reset
|
12
|
-
self.port
|
13
|
-
self.bind
|
14
|
-
self.path
|
12
|
+
self.port = '3000'
|
13
|
+
self.bind = '0.0.0.0'
|
14
|
+
self.path = '.'
|
15
|
+
self.autoh1 = true
|
15
16
|
end
|
16
17
|
|
17
18
|
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.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Danny Ben Shitrit
|
@@ -231,15 +231,19 @@ files:
|
|
231
231
|
- app/public/css/main.css
|
232
232
|
- app/public/css/main.css.map
|
233
233
|
- app/styles/_github-markdown.scss
|
234
|
-
- app/styles/_reset.scss
|
235
|
-
- app/styles/_responsive.scss
|
236
234
|
- app/styles/main.scss
|
235
|
+
- app/views/_breadcrumbs.slim
|
236
|
+
- app/views/_content.slim
|
237
|
+
- app/views/_nav.slim
|
237
238
|
- app/views/document.slim
|
238
239
|
- app/views/layout.slim
|
239
240
|
- bin/madness
|
240
241
|
- lib/madness.rb
|
242
|
+
- lib/madness/breadcrumbs.rb
|
241
243
|
- lib/madness/command_line.rb
|
242
244
|
- lib/madness/docopt.txt
|
245
|
+
- lib/madness/document.rb
|
246
|
+
- lib/madness/navigation.rb
|
243
247
|
- lib/madness/server.rb
|
244
248
|
- lib/madness/server_base.rb
|
245
249
|
- lib/madness/server_helper.rb
|
data/app/styles/_reset.scss
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
html, body, div, span, applet, object, iframe,
|
2
|
-
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
3
|
-
a, abbr, acronym, address, big, cite, code,
|
4
|
-
del, dfn, em, img, ins, kbd, q, s, samp,
|
5
|
-
small, strike, strong, sub, sup, tt, var,
|
6
|
-
b, u, i, center,
|
7
|
-
dl, dt, dd, ol, ul, li,
|
8
|
-
fieldset, form, label, legend,
|
9
|
-
table, caption, tbody, tfoot, thead, tr, th, td,
|
10
|
-
article, aside, canvas, details, embed,
|
11
|
-
figure, figcaption, footer, header, hgroup,
|
12
|
-
menu, nav, output, ruby, section, summary,
|
13
|
-
time, mark, audio, video, textarea {
|
14
|
-
margin: 0;
|
15
|
-
padding: 0;
|
16
|
-
border: 0;
|
17
|
-
font-size: 100%;
|
18
|
-
font: inherit;
|
19
|
-
vertical-align: baseline;
|
20
|
-
}
|
21
|
-
/* HTML5 display-role reset for older browsers */
|
22
|
-
article, aside, details, figcaption, figure,
|
23
|
-
footer, header, hgroup, menu, nav, section {
|
24
|
-
display: block;
|
25
|
-
}
|
26
|
-
body {
|
27
|
-
line-height: 1;
|
28
|
-
}
|
29
|
-
ol, ul {
|
30
|
-
list-style: none;
|
31
|
-
}
|
32
|
-
blockquote, q {
|
33
|
-
quotes: none;
|
34
|
-
}
|
35
|
-
blockquote:before, blockquote:after,
|
36
|
-
q:before, q:after {
|
37
|
-
content: '';
|
38
|
-
content: none;
|
39
|
-
}
|
40
|
-
table {
|
41
|
-
border-collapse: collapse;
|
42
|
-
border-spacing: 0;
|
43
|
-
}
|
44
|
-
|
45
|
-
// Added by DannyB. iOS form reset
|
46
|
-
input[type=button], input[type=submit] {
|
47
|
-
-webkit-appearance: none;
|
48
|
-
}
|
data/app/styles/_responsive.scss
DELETED
@@ -1,56 +0,0 @@
|
|
1
|
-
// Responsive N Column Grid System
|
2
|
-
// Based on http://responsive.gs by Denis Leblanc (v2.0)
|
3
|
-
// License: GPL & MIT
|
4
|
-
|
5
|
-
// Config
|
6
|
-
// $breakpoint 768px; // defined elsewhere
|
7
|
-
$rgs-cols: 12;
|
8
|
-
$rgs-gutter: 1.1%; // Good: 2, 1.1, 0.8, 0.5
|
9
|
-
$rgs-row-bottom-margin: 0.25em;
|
10
|
-
$breakpoint: 768px;
|
11
|
-
|
12
|
-
// Set all elements to box sizing
|
13
|
-
* { -webkit-box-sizing: border-box;
|
14
|
-
-moz-box-sizing: border-box;
|
15
|
-
box-sizing: border-box; }
|
16
|
-
|
17
|
-
// Center container
|
18
|
-
.container { margin: 0 auto; }
|
19
|
-
|
20
|
-
// Clearfix
|
21
|
-
.row:after, .col:after, .clr:after, .group:after {
|
22
|
-
content: "";
|
23
|
-
display: block;
|
24
|
-
height: 0;
|
25
|
-
clear: both;
|
26
|
-
visibility: hidden;
|
27
|
-
}
|
28
|
-
|
29
|
-
|
30
|
-
// Row
|
31
|
-
.row { margin-bottom: $rgs-row-bottom-margin; }
|
32
|
-
.row.tight { margin-bottom: 0em; }
|
33
|
-
|
34
|
-
// Column
|
35
|
-
.col {
|
36
|
-
display: block;
|
37
|
-
width: 100%;
|
38
|
-
float:left;
|
39
|
-
}
|
40
|
-
|
41
|
-
@media (min-width: $breakpoint) {
|
42
|
-
margin-left: $rgs-gutter;
|
43
|
-
}
|
44
|
-
|
45
|
-
// No margin for first column (implicit or explicit)
|
46
|
-
.col:first-child, .col.first { margin-left: 0; }
|
47
|
-
|
48
|
-
// Column width on large screens
|
49
|
-
@media (min-width: $breakpoint) {
|
50
|
-
@for $i from 1 through $rgs-cols {
|
51
|
-
.span_#{$i}, .span-#{$i} {
|
52
|
-
width: ($i/$rgs-cols*100) - ((1 - ($i/$rgs-cols)) * $rgs-gutter )
|
53
|
-
}
|
54
|
-
}
|
55
|
-
}
|
56
|
-
|