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.
@@ -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: []