madness 1.2.0 → 1.2.2
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/README.md +20 -1
- data/app/public/css/main.css +12 -29
- data/app/public/css/main.css.map +5 -5
- data/app/public/js/clipboard.js +1 -5
- data/app/public/js/vendor/mermaid.min.js +2029 -0
- data/app/styles/_code.scss +6 -29
- data/app/styles/_pandoc_code.scss +2 -2
- data/app/styles/_typography.scss +3 -3
- data/app/styles/_variables.scss +4 -5
- data/app/views/layout.slim +5 -0
- data/lib/madness/directory.rb +1 -1
- data/lib/madness/document.rb +3 -2
- data/lib/madness/rendering/handler.rb +2 -2
- data/lib/madness/rendering/pandoc.rb +3 -3
- data/lib/madness/rendering/redcarpet.rb +2 -3
- data/lib/madness/settings.rb +2 -1
- data/lib/madness/templates/madness.yml +4 -0
- data/lib/madness/version.rb +1 -1
- metadata +19 -21
data/app/styles/_code.scss
CHANGED
|
@@ -8,40 +8,17 @@ code {
|
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
pre {
|
|
11
|
-
overflow-x: auto;
|
|
12
11
|
position: relative;
|
|
13
|
-
|
|
12
|
+
|
|
13
|
+
border: 1px solid var(--code-border-color);
|
|
14
|
+
border-radius: 5px;
|
|
15
|
+
overflow-x: auto;
|
|
16
|
+
padding: 10px;
|
|
14
17
|
|
|
15
18
|
code {
|
|
16
19
|
background-color: transparent;
|
|
17
20
|
display: block;
|
|
18
|
-
font-size: inherit;
|
|
19
|
-
|
|
20
|
-
// padding: 0 20px;
|
|
21
21
|
line-height: 1.2;
|
|
22
|
-
|
|
23
|
-
.clipboard-button {
|
|
24
|
-
background: var(--clipboard-button-bg-color);
|
|
25
|
-
border: 1px solid var(--clipboard-button-border-color);
|
|
26
|
-
position: absolute;
|
|
27
|
-
left: 7px;
|
|
28
|
-
bottom: 7px;
|
|
29
|
-
font-size: 1.25em;
|
|
30
|
-
border-radius: 5px;
|
|
31
|
-
opacity: 0;
|
|
32
|
-
transition: opacity 0.3s;
|
|
33
|
-
display: inline-block;
|
|
34
|
-
padding: 7px;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
&:hover .clipboard-button {
|
|
38
|
-
opacity: 0.7;
|
|
39
|
-
transition: opacity 0.3s;
|
|
40
|
-
|
|
41
|
-
&:hover {
|
|
42
|
-
opacity: 1.0;
|
|
43
|
-
transition: opacity 0.3s;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
22
|
+
position: relative;
|
|
46
23
|
}
|
|
47
24
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
pre > code.sourceCode { white-space: pre; position: relative; }
|
|
2
2
|
pre > code.sourceCode > span { line-height: 1.25; }
|
|
3
3
|
pre > code.sourceCode > span:empty { height: 1.2em; }
|
|
4
|
-
.sourceCode { overflow: visible; }
|
|
4
|
+
// .sourceCode { overflow: visible; }
|
|
5
5
|
code.sourceCode > span { color: inherit; text-decoration: inherit; }
|
|
6
6
|
div.sourceCode { margin: 1em 0; }
|
|
7
7
|
pre.sourceCode { margin: 0; }
|
|
@@ -10,7 +10,7 @@ div.sourceCode { overflow: auto; }
|
|
|
10
10
|
}
|
|
11
11
|
@media print {
|
|
12
12
|
pre > code.sourceCode { white-space: pre-wrap; }
|
|
13
|
-
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
|
|
13
|
+
pre > code.sourceCode > span { display: inline-block; text-indent: -5em; padding-left: 5em; }
|
|
14
14
|
}
|
|
15
15
|
pre.numberSource code
|
|
16
16
|
{ counter-reset: source-line 0; }
|
data/app/styles/_typography.scss
CHANGED
|
@@ -2,8 +2,7 @@ body {
|
|
|
2
2
|
-ms-text-size-adjust: 100%;
|
|
3
3
|
-webkit-text-size-adjust: 100%;
|
|
4
4
|
color: var(--font-color);
|
|
5
|
-
|
|
6
|
-
font-family: "Segoe UI", "Helvetica Neue", Helvetica,Arial, freesans, sans-serif;
|
|
5
|
+
font-family: var(--font-family);
|
|
7
6
|
font-size: 16px;
|
|
8
7
|
line-height: 1.6;
|
|
9
8
|
word-wrap: break-word;
|
|
@@ -59,5 +58,6 @@ h6 {
|
|
|
59
58
|
}
|
|
60
59
|
|
|
61
60
|
code, pre, kbd {
|
|
62
|
-
font-family:
|
|
61
|
+
font-family: var(--font-family-monospace);
|
|
63
62
|
}
|
|
63
|
+
|
data/app/styles/_variables.scss
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
:root {
|
|
2
|
-
|
|
3
2
|
--background-color: #fff;
|
|
4
3
|
--blockquote-border-color: #ddd;
|
|
5
4
|
--blockquote-color: #777;
|
|
6
5
|
--breadcrumbs-border-color: #ccc;
|
|
7
|
-
--
|
|
8
|
-
--clipboard-button-border-color: #ccc;
|
|
6
|
+
--code-border-color: #ddd;
|
|
9
7
|
--font-color: #333;
|
|
8
|
+
--font-family: "Segoe UI", "Helvetica Neue", Helvetica,Arial, freesans, sans-serif;
|
|
9
|
+
--font-family-monospace: Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
|
10
10
|
--footnotes-color: #666;
|
|
11
11
|
--h1-border-color: #eee;
|
|
12
12
|
--h1-color: #333;
|
|
@@ -36,5 +36,4 @@
|
|
|
36
36
|
--table-border-color: #ddd;
|
|
37
37
|
--table-header-bg-color: transparent;
|
|
38
38
|
--table-row-bg-color: transparent;
|
|
39
|
-
|
|
40
|
-
}
|
|
39
|
+
}
|
data/app/views/layout.slim
CHANGED
|
@@ -17,5 +17,10 @@ html
|
|
|
17
17
|
script src="#{config.base_uri}/js/vendor/clipboard.min.js"
|
|
18
18
|
script src="#{config.base_uri}/js/clipboard.js"
|
|
19
19
|
|
|
20
|
+
- if config.mermaid
|
|
21
|
+
script src="#{config.base_uri}/js/vendor/mermaid.min.js"
|
|
22
|
+
javascript:
|
|
23
|
+
mermaid.initialize({startOnLoad:true});
|
|
24
|
+
|
|
20
25
|
body
|
|
21
26
|
== yield
|
data/lib/madness/directory.rb
CHANGED
|
@@ -21,7 +21,7 @@ module Madness
|
|
|
21
21
|
@files ||= begin
|
|
22
22
|
result = Dir["#{dir}/#{config.dir_glob}"]
|
|
23
23
|
result.reject! do |f|
|
|
24
|
-
[
|
|
24
|
+
%w[readme.md README.md index.md].include? File.basename(f)
|
|
25
25
|
end
|
|
26
26
|
result.reject! { |f| is_cover_page? f }
|
|
27
27
|
result.nat_sort.map { |path| Item.new path, :file }
|
data/lib/madness/document.rb
CHANGED
|
@@ -29,8 +29,8 @@ module Madness
|
|
|
29
29
|
private
|
|
30
30
|
|
|
31
31
|
# Identify file, dir and type.
|
|
32
|
-
# :readme - in case the path is a directory, and it contains index.md
|
|
33
|
-
# or README.md
|
|
32
|
+
# :readme - in case the path is a directory, and it contains index.md,
|
|
33
|
+
# readme.md, or README.md
|
|
34
34
|
# :file - in case the path is a *.md file
|
|
35
35
|
# :empty - in case it is a folder without README.md or index.md
|
|
36
36
|
# :missing - in any other case, we don't know (will trigger 404)
|
|
@@ -95,6 +95,7 @@ module Madness
|
|
|
95
95
|
File.expand_path("../#{File.basename(base)}.md", base),
|
|
96
96
|
File.expand_path('index.md', base),
|
|
97
97
|
File.expand_path('README.md', base),
|
|
98
|
+
File.expand_path('readme.md', base),
|
|
98
99
|
]
|
|
99
100
|
end
|
|
100
101
|
end
|
|
@@ -6,7 +6,7 @@ module Madness
|
|
|
6
6
|
class Handler
|
|
7
7
|
HANDLERS = {
|
|
8
8
|
redcarpet: Redcarpet,
|
|
9
|
-
pandoc:
|
|
9
|
+
pandoc: Pandoc,
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
attr_reader :selector
|
|
@@ -20,4 +20,4 @@ module Madness
|
|
|
20
20
|
def handler_class = @handler_class ||= HANDLERS[selector] || HANDLERS.values.first
|
|
21
21
|
end
|
|
22
22
|
end
|
|
23
|
-
end
|
|
23
|
+
end
|
|
@@ -6,7 +6,7 @@ module Madness
|
|
|
6
6
|
include ServerHelper
|
|
7
7
|
|
|
8
8
|
def render(text)
|
|
9
|
-
PandocRuby.new(text, [{ from: :
|
|
9
|
+
PandocRuby.new(text, [{ from: :gfm, to: :html }], *options).convert
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
private
|
|
@@ -14,6 +14,6 @@ module Madness
|
|
|
14
14
|
def options
|
|
15
15
|
@options ||= config.highlighter ? [] : :no_highlight
|
|
16
16
|
end
|
|
17
|
-
end
|
|
17
|
+
end
|
|
18
18
|
end
|
|
19
|
-
end
|
|
19
|
+
end
|
|
@@ -16,7 +16,7 @@ module Madness
|
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
def options
|
|
19
|
-
@
|
|
19
|
+
@options ||= {
|
|
20
20
|
no_intra_emphasis: true,
|
|
21
21
|
autolink: true,
|
|
22
22
|
tables: true,
|
|
@@ -38,7 +38,6 @@ module Madness
|
|
|
38
38
|
def handler_class
|
|
39
39
|
config.highlighter ? HighlightRenderer : ::Redcarpet::Render::HTML
|
|
40
40
|
end
|
|
41
|
-
|
|
42
41
|
end
|
|
43
42
|
end
|
|
44
|
-
end
|
|
43
|
+
end
|
data/lib/madness/settings.rb
CHANGED
|
@@ -15,7 +15,7 @@ module Madness
|
|
|
15
15
|
reset
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
-
def method_missing(name, *args, &
|
|
18
|
+
def method_missing(name, *args, &)
|
|
19
19
|
name_string = name.to_s
|
|
20
20
|
|
|
21
21
|
if name_string.end_with? '='
|
|
@@ -64,6 +64,7 @@ module Madness
|
|
|
64
64
|
auto_nav: true,
|
|
65
65
|
auto_toc: true,
|
|
66
66
|
highlighter: true,
|
|
67
|
+
mermaid: false,
|
|
67
68
|
copy_code: true,
|
|
68
69
|
shortlinks: false,
|
|
69
70
|
source_link: nil,
|
|
@@ -42,6 +42,10 @@ auto_toc: true
|
|
|
42
42
|
# enable syntax highlighter for code snippets
|
|
43
43
|
highlighter: true
|
|
44
44
|
|
|
45
|
+
# enable mermaid diagramming and charting
|
|
46
|
+
# put your diagram code inside <div class='mermaid'>...</div>
|
|
47
|
+
mermaid: false
|
|
48
|
+
|
|
45
49
|
# enable the copy to clipboard icon for code snippets
|
|
46
50
|
copy_code: true
|
|
47
51
|
|
data/lib/madness/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: madness
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.2.
|
|
4
|
+
version: 1.2.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Danny Ben Shitrit
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 2025-01-16 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: addressable
|
|
@@ -94,6 +93,20 @@ dependencies:
|
|
|
94
93
|
- - "~>"
|
|
95
94
|
- !ruby/object:Gem::Version
|
|
96
95
|
version: '1.0'
|
|
96
|
+
- !ruby/object:Gem::Dependency
|
|
97
|
+
name: pandoc-ruby
|
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
|
99
|
+
requirements:
|
|
100
|
+
- - "~>"
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: '2.1'
|
|
103
|
+
type: :runtime
|
|
104
|
+
prerelease: false
|
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - "~>"
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '2.1'
|
|
97
110
|
- !ruby/object:Gem::Dependency
|
|
98
111
|
name: puma
|
|
99
112
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -142,20 +155,6 @@ dependencies:
|
|
|
142
155
|
- - "~>"
|
|
143
156
|
- !ruby/object:Gem::Version
|
|
144
157
|
version: '3.5'
|
|
145
|
-
- !ruby/object:Gem::Dependency
|
|
146
|
-
name: pandoc-ruby
|
|
147
|
-
requirement: !ruby/object:Gem::Requirement
|
|
148
|
-
requirements:
|
|
149
|
-
- - "~>"
|
|
150
|
-
- !ruby/object:Gem::Version
|
|
151
|
-
version: '2.1'
|
|
152
|
-
type: :runtime
|
|
153
|
-
prerelease: false
|
|
154
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
155
|
-
requirements:
|
|
156
|
-
- - "~>"
|
|
157
|
-
- !ruby/object:Gem::Version
|
|
158
|
-
version: '2.1'
|
|
159
158
|
- !ruby/object:Gem::Dependency
|
|
160
159
|
name: requires
|
|
161
160
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -243,6 +242,7 @@ files:
|
|
|
243
242
|
- app/public/js/clipboard.js
|
|
244
243
|
- app/public/js/vendor/clipboard.min.js
|
|
245
244
|
- app/public/js/vendor/jquery.min.js
|
|
245
|
+
- app/public/js/vendor/mermaid.min.js
|
|
246
246
|
- app/styles/_anchor.scss
|
|
247
247
|
- app/styles/_breadcrumbs.scss
|
|
248
248
|
- app/styles/_code.scss
|
|
@@ -313,7 +313,6 @@ metadata:
|
|
|
313
313
|
homepage_uri: https://madness.dannyb.co/
|
|
314
314
|
source_code_uri: https://github.com/DannyBen/madness
|
|
315
315
|
rubygems_mfa_required: 'true'
|
|
316
|
-
post_install_message:
|
|
317
316
|
rdoc_options: []
|
|
318
317
|
require_paths:
|
|
319
318
|
- lib
|
|
@@ -321,15 +320,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
321
320
|
requirements:
|
|
322
321
|
- - ">="
|
|
323
322
|
- !ruby/object:Gem::Version
|
|
324
|
-
version: '3.
|
|
323
|
+
version: '3.1'
|
|
325
324
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
326
325
|
requirements:
|
|
327
326
|
- - ">="
|
|
328
327
|
- !ruby/object:Gem::Version
|
|
329
328
|
version: '0'
|
|
330
329
|
requirements: []
|
|
331
|
-
rubygems_version: 3.
|
|
332
|
-
signing_key:
|
|
330
|
+
rubygems_version: 3.6.2
|
|
333
331
|
specification_version: 4
|
|
334
332
|
summary: Instant Markdown Server
|
|
335
333
|
test_files: []
|