madness 1.2.0 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -8,40 +8,17 @@ code {
8
8
  }
9
9
 
10
10
  pre {
11
- overflow-x: auto;
12
11
  position: relative;
13
- border-radius: 3px;
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; }
@@ -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
- // font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
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: Consolas, "Liberation Mono", Menlo, Courier, monospace;
61
+ font-family: var(--font-family-monospace);
63
62
  }
63
+
@@ -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
- --clipboard-button-bg-color: white;
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
+ }
@@ -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
@@ -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
- ['README.md', 'index.md'].include? File.basename(f)
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 }
@@ -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: 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: :markdown, to: :html }], *options).convert
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
- @redcarpet_options ||= {
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
@@ -15,7 +15,7 @@ module Madness
15
15
  reset
16
16
  end
17
17
 
18
- def method_missing(name, *args, &_block)
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
 
@@ -1,3 +1,3 @@
1
1
  module Madness
2
- VERSION = '1.2.0'
2
+ VERSION = '1.2.2'
3
3
  end
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.0
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: 2024-04-18 00:00:00.000000000 Z
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.0'
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.5.7
332
- signing_key:
330
+ rubygems_version: 3.6.2
333
331
  specification_version: 4
334
332
  summary: Instant Markdown Server
335
333
  test_files: []