markdown_helper 2.3.0 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +24 -17
  4. data/bin/_run_irb +46 -0
  5. data/lib/markdown_helper.rb +3 -384
  6. data/lib/markdown_helper/markdown_helper.rb +79 -0
  7. data/lib/markdown_helper/markdown_includer.rb +315 -0
  8. data/lib/markdown_helper/markdown_irb_runner.rb +65 -0
  9. data/lib/markdown_helper/version.rb +1 -1
  10. data/markdown/readme/README.template.md +21 -16
  11. data/markdown/use_cases/Rakefile +9 -2
  12. data/markdown/use_cases/include/diagnose_circular_includes/diagnose_circular_includes.err +26 -0
  13. data/markdown/use_cases/{include_files → include}/diagnose_circular_includes/includer.md +0 -0
  14. data/markdown/use_cases/{include_files → include}/diagnose_circular_includes/includer_0.md +0 -0
  15. data/markdown/use_cases/{include_files → include}/diagnose_circular_includes/includer_1.md +0 -0
  16. data/markdown/use_cases/{include_files → include}/diagnose_circular_includes/includer_2.md +0 -0
  17. data/markdown/use_cases/{include_files → include}/diagnose_circular_includes/use_case.md +8 -8
  18. data/markdown/use_cases/{include_files → include}/diagnose_circular_includes/use_case_template.md +0 -0
  19. data/markdown/use_cases/include/diagnose_missing_includee/diagnose_missing_includee.err +26 -0
  20. data/markdown/use_cases/{include_files → include}/diagnose_missing_includee/includer.md +0 -0
  21. data/markdown/use_cases/{include_files → include}/diagnose_missing_includee/includer_0.md +0 -0
  22. data/markdown/use_cases/{include_files → include}/diagnose_missing_includee/includer_1.md +0 -0
  23. data/markdown/use_cases/{include_files → include}/diagnose_missing_includee/includer_2.md +0 -0
  24. data/markdown/use_cases/{include_files → include}/diagnose_missing_includee/use_case.md +8 -8
  25. data/markdown/use_cases/{include_files → include}/diagnose_missing_includee/use_case_template.md +0 -0
  26. data/markdown/use_cases/{include_files → include}/include.rb +0 -0
  27. data/markdown/use_cases/{include_files → include}/include_code_block/hello.rb +0 -0
  28. data/markdown/use_cases/{include_files → include}/include_code_block/included.md +0 -0
  29. data/markdown/use_cases/{include_files → include}/include_code_block/includer.md +0 -0
  30. data/markdown/use_cases/{include_files → include}/include_code_block/use_case.md +0 -0
  31. data/markdown/use_cases/{include_files → include}/include_code_block/use_case_template.md +0 -0
  32. data/markdown/use_cases/{include_files → include}/include_generated_text/use_case.md +0 -0
  33. data/markdown/use_cases/{include_files → include}/include_generated_text/use_case_template.md +0 -0
  34. data/markdown/use_cases/{include_files → include}/include_highlighted_code/hello.rb +0 -0
  35. data/markdown/use_cases/{include_files → include}/include_highlighted_code/included.md +0 -0
  36. data/markdown/use_cases/{include_files → include}/include_highlighted_code/includer.md +0 -0
  37. data/markdown/use_cases/{include_files → include}/include_highlighted_code/use_case.md +0 -0
  38. data/markdown/use_cases/{include_files → include}/include_highlighted_code/use_case_template.md +0 -0
  39. data/markdown/use_cases/{include_files → include}/include_markdown/included.md +0 -0
  40. data/markdown/use_cases/{include_files → include}/include_markdown/includer.md +0 -0
  41. data/markdown/use_cases/{include_files → include}/include_markdown/markdown.md +0 -0
  42. data/markdown/use_cases/{include_files → include}/include_markdown/use_case.md +0 -0
  43. data/markdown/use_cases/{include_files → include}/include_markdown/use_case_template.md +0 -0
  44. data/markdown/use_cases/{include_files → include}/include_page_toc/included.md +0 -0
  45. data/markdown/use_cases/{include_files → include}/include_page_toc/includer.md +0 -0
  46. data/markdown/use_cases/{include_files → include}/include_page_toc/markdown_0.md +0 -0
  47. data/markdown/use_cases/{include_files → include}/include_page_toc/markdown_1.md +0 -0
  48. data/markdown/use_cases/{include_files → include}/include_page_toc/use_case.md +0 -0
  49. data/markdown/use_cases/{include_files → include}/include_page_toc/use_case_template.md +0 -0
  50. data/markdown/use_cases/{include_files → include}/include_text_as_comment/hello.rb +0 -0
  51. data/markdown/use_cases/{include_files → include}/include_text_as_comment/included.md +0 -0
  52. data/markdown/use_cases/{include_files → include}/include_text_as_comment/includer.md +0 -0
  53. data/markdown/use_cases/{include_files → include}/include_text_as_comment/use_case.md +0 -0
  54. data/markdown/use_cases/{include_files → include}/include_text_as_comment/use_case_template.md +0 -0
  55. data/markdown/use_cases/{include_files → include}/include_text_as_details/details.md +0 -0
  56. data/markdown/use_cases/{include_files → include}/include_text_as_details/included.md +0 -0
  57. data/markdown/use_cases/{include_files → include}/include_text_as_details/includer.md +0 -0
  58. data/markdown/use_cases/{include_files → include}/include_text_as_details/use_case.md +0 -0
  59. data/markdown/use_cases/{include_files → include}/include_text_as_details/use_case_template.md +0 -0
  60. data/markdown/use_cases/{include_files → include}/include_text_as_pre/included.md +0 -0
  61. data/markdown/use_cases/{include_files → include}/include_text_as_pre/includer.md +0 -0
  62. data/markdown/use_cases/{include_files → include}/include_text_as_pre/triple_backtick.md +0 -0
  63. data/markdown/use_cases/{include_files → include}/include_text_as_pre/use_case.md +0 -0
  64. data/markdown/use_cases/{include_files → include}/include_text_as_pre/use_case_template.md +0 -0
  65. data/markdown/use_cases/{include_files → include}/include_with_added_comments/included.md +0 -0
  66. data/markdown/use_cases/{include_files → include}/include_with_added_comments/includee.md +0 -0
  67. data/markdown/use_cases/{include_files → include}/include_with_added_comments/includer.md +0 -0
  68. data/markdown/use_cases/{include_files → include}/include_with_added_comments/use_case.md +0 -0
  69. data/markdown/use_cases/{include_files → include}/include_with_added_comments/use_case_template.md +0 -0
  70. data/markdown/use_cases/{include_files → include}/interface.md +0 -0
  71. data/markdown/use_cases/{include_files → include}/nest_inclusions/included.md +0 -0
  72. data/markdown/use_cases/{include_files → include}/nest_inclusions/includee.md +0 -0
  73. data/markdown/use_cases/{include_files → include}/nest_inclusions/includer.md +0 -0
  74. data/markdown/use_cases/{include_files → include}/nest_inclusions/nested_includee.md +0 -0
  75. data/markdown/use_cases/{include_files → include}/nest_inclusions/use_case.md +0 -0
  76. data/markdown/use_cases/{include_files → include}/nest_inclusions/use_case_template.md +0 -0
  77. data/markdown/use_cases/{include_files → include}/reuse_text/included.md +0 -0
  78. data/markdown/use_cases/{include_files → include}/reuse_text/includee.md +0 -0
  79. data/markdown/use_cases/{include_files → include}/reuse_text/includer.md +0 -0
  80. data/markdown/use_cases/{include_files → include}/reuse_text/use_case.md +0 -0
  81. data/markdown/use_cases/{include_files → include}/reuse_text/use_case_template.md +0 -0
  82. data/markdown/use_cases/run_irb/interface.md +16 -0
  83. data/markdown/use_cases/run_irb/run_irb.rb +5 -0
  84. data/markdown/use_cases/run_irb/run_irb/markdown.md +43 -0
  85. data/markdown/use_cases/run_irb/run_irb/template.md +37 -0
  86. data/markdown/use_cases/run_irb/run_irb/use_case.md +178 -0
  87. data/markdown/use_cases/run_irb/run_irb/use_case_template.md +33 -0
  88. data/markdown/use_cases/use_cases.md +17 -14
  89. metadata +82 -72
  90. data/markdown/use_cases/include_files/diagnose_circular_includes/diagnose_circular_includes.err +0 -26
  91. data/markdown/use_cases/include_files/diagnose_missing_includee/diagnose_missing_includee.err +0 -26
@@ -1,3 +1,3 @@
1
1
  class MarkdownHelper
2
- VERSION = '2.3.0'
2
+ VERSION = '2.4.0'
3
3
  end
@@ -2,11 +2,11 @@
2
2
 
3
3
  [![Gem](https://img.shields.io/gem/v/markdown_helper.svg?style=flat)](http://rubygems.org/gems/markdown_helper "View this project in Rubygems")
4
4
 
5
- ## What's New?
5
+ @[:page_toc](## Contents)
6
6
 
7
- Inclusion of text as details is added. See the [use case](markdown/use_cases/include_files/include_text_as_details/use_case.md#include-text-as-details).
7
+ ## Installation
8
8
 
9
- @[:page_toc](## Contents)
9
+ ```gem install markdown_helper```
10
10
 
11
11
  ## What's a Markdown Helper?
12
12
 
@@ -14,6 +14,7 @@ Class <code>MarkdownHelper</code> supports:
14
14
 
15
15
  * [File inclusion](#file-inclusion): to include text from other files, as code-block or markdown.
16
16
  * [Page TOC](#page-toc): to create and insert the table of contents for a markdown page.
17
+ * [Run irb](#run-irb): to execute Ruby snippets in the Ruby interactive shell (```irb```) and include the output in markdown.
17
18
 
18
19
  ## How It Works
19
20
 
@@ -46,41 +47,41 @@ See all [use cases](markdown/use_cases/use_cases.md#use-cases).
46
47
 
47
48
  ### Re-use Text
48
49
 
49
- Keep your markdown DRY (Don't Repeat Yourself) by re-using text. See the [use case](markdown/use_cases/include_files/reuse_text/use_case.md#reuse-text).
50
+ Keep your markdown DRY (Don't Repeat Yourself) by re-using text. See the [use case](markdown/use_cases/include/reuse_text/use_case.md#reuse-text).
50
51
 
51
52
  ### Include Generated Text
52
53
 
53
- In particular, you can include text that's built during your "readme build." See the [use case](markdown/use_cases/include_files/include_generated_text/use_case.md#include-generated-text).
54
+ In particular, you can include text that's built during your "readme build." See the [use case](markdown/use_cases/include/include_generated_text/use_case.md#include-generated-text).
54
55
 
55
56
  ### Nest Inclusions
56
57
 
57
- You can nest inclusions. See the [use case](markdown/use_cases/include_files/nest_inclusions/use_case.md#nest-inclusions).
58
+ You can nest inclusions. See the [use case](markdown/use_cases/include/nest_inclusions/use_case.md#nest-inclusions).
58
59
 
59
60
  ### Merged Text Formats
60
61
 
61
62
  #### Markdown
62
63
 
63
- You can include text that is to be treated simply as markdown. See the [use case](markdown/use_cases/include_files/include_markdown/use_case.md#include-markdown).
64
+ You can include text that is to be treated simply as markdown. See the [use case](markdown/use_cases/include/include_markdown/use_case.md#include-markdown).
64
65
 
65
66
  #### Highlighted Code Block
66
67
 
67
- You can include a code block that's to be highlighted. See the [use case](markdown/use_cases/include_files/include_highlighted_code/use_case.md#include-highlighted-code).
68
+ You can include a code block that's to be highlighted. See the [use case](markdown/use_cases/include/include_highlighted_code/use_case.md#include-highlighted-code).
68
69
 
69
70
  #### Plain Code Block
70
71
 
71
- You can also include a code block without highlighting. See the [use case](markdown/use_cases/include_files/include_code_block/use_case.md#include-code-block).
72
+ You can also include a code block without highlighting. See the [use case](markdown/use_cases/include/include_code_block/use_case.md#include-code-block).
72
73
 
73
74
  #### Comment
74
75
 
75
- You can include text that's to become a comment in the markdown. See the [use case](markdown/use_cases/include_files/include_text_as_comment/use_case.md#include-text-as-comment).
76
+ You can include text that's to become a comment in the markdown. See the [use case](markdown/use_cases/include/include_text_as_comment/use_case.md#include-text-as-comment).
76
77
 
77
78
  #### Details
78
79
 
79
- You can include text that's to become details in the markdown. See the [use case](markdown/use_cases/include_files/include_text_as_details/use_case.md#include-text-as-details).
80
+ You can include text that's to become details in the markdown. See the [use case](markdown/use_cases/include/include_text_as_details/use_case.md#include-text-as-details).
80
81
 
81
82
  ### Pre-Formatted Text
82
83
 
83
- You can include text that's pre-formatted. See the [use case](markdown/use_cases/include_files/include_text_as_pre/use_case.md#include-text-as-pre).
84
+ You can include text that's pre-formatted. See the [use case](markdown/use_cases/include/include_text_as_pre/use_case.md#include-text-as-pre).
84
85
 
85
86
  ### Usage
86
87
 
@@ -115,21 +116,25 @@ where:
115
116
 
116
117
  #### Page TOC
117
118
 
118
- You can specify the location for an automatically-generated page TOC (table of cotents). See the [use case](markdown/use_cases/include_files/include_page_toc/use_case.md#include-page-toc).
119
+ You can specify the location for an automatically-generated page TOC (table of cotents). See the [use case](markdown/use_cases/include/include_page_toc/use_case.md#include-page-toc).
119
120
 
120
121
  #### Diagnostics
121
122
 
122
123
  ##### "Noisy" (Not Pristine)
123
124
 
124
- By default, the markdown helper inserts comments indicating inclusions. See the [use case](markdown/use_cases/include_files/include_with_added_comments/use_case.md#include-with-added-comments).
125
+ By default, the markdown helper inserts comments indicating inclusions. See the [use case](markdown/use_cases/include/include_with_added_comments/use_case.md#include-with-added-comments).
125
126
 
126
127
  ##### Missing Includee File
127
128
 
128
- A missing includee file causes an exception that shows an inclusion backtrace. See the [use case](markdown/use_cases/include_files/diagnose_missing_includee/use_case.md#diagnose-missing-includee).
129
+ A missing includee file causes an exception that shows an inclusion backtrace. See the [use case](markdown/use_cases/include/diagnose_missing_includee/use_case.md#diagnose-missing-includee).
129
130
 
130
131
  ##### Circular Inclusion
131
132
 
132
- A circular inclusion causes an exception that shows an inclusion backtrace. See the [use case](markdown/use_cases/include_files/diagnose_circular_includes/use_case.md#diagnose-circular-includes).
133
+ A circular inclusion causes an exception that shows an inclusion backtrace. See the [use case](markdown/use_cases/include/diagnose_circular_includes/use_case.md#diagnose-circular-includes).
134
+
135
+ ## Run ```irb```
136
+
137
+ * Execute Ruby snippets in the Ruby interactive shell (```irb```) and include the output in markdown. See the [use case](markdown/use_cases/run_irb/run_irb/use_case.md#run-irb).
133
138
 
134
139
  ## What Should Be Next?
135
140
 
@@ -18,7 +18,7 @@ EOT
18
18
  dir_path = File.dirname(__FILE__)
19
19
  Dir.chdir(dir_path) do
20
20
  use_case_dirs = {
21
- :include_files => %w/
21
+ :include => %w/
22
22
  reuse_text
23
23
  nest_inclusions
24
24
  include_markdown
@@ -33,6 +33,9 @@ EOT
33
33
  diagnose_missing_includee
34
34
  diagnose_circular_includes
35
35
  /,
36
+ :run_irb => %w/
37
+ run_irb
38
+ /
36
39
  }
37
40
  use_case_dirs.each_pair do |section, dir_names|
38
41
 
@@ -54,7 +57,7 @@ EOT
54
57
  dir_names.each do |dir_name|
55
58
  Dir.chdir("#{section}/#{dir_name}") do
56
59
  if File.exist?('includer.md')
57
- command = 'markdown_helper include --pristine includer.md included.md'
60
+ command = "markdown_helper #{section} --pristine includer.md included.md"
58
61
  if backtrace_cases.include?(dir_name)
59
62
  # Capture the exception.
60
63
  command += " 2> #{dir_name}.err"
@@ -68,6 +71,10 @@ EOT
68
71
  system(command)
69
72
  end
70
73
  end
74
+ if File.exist?('template.md')
75
+ command = "markdown_helper #{section} --pristine template.md markdown.md"
76
+ system(command)
77
+ end
71
78
  command = 'markdown_helper include --pristine use_case_template.md use_case.md'
72
79
  system(command)
73
80
 
@@ -0,0 +1,26 @@
1
+ C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/markdown_helper-2.3.0/bin/_include: Includes are circular: (MarkdownHelper::CircularIncludeError)
2
+ Backtrace (innermost include first):
3
+ Level 0:
4
+ Includer:
5
+ Location: markdown/use_cases/include/diagnose_circular_includes/includer_2.md:0
6
+ Include pragma: @[:markdown](includer_0.md)
7
+ Includee:
8
+ File path: markdown/use_cases/include/diagnose_circular_includes/includer_0.md
9
+ Level 1:
10
+ Includer:
11
+ Location: markdown/use_cases/include/diagnose_circular_includes/includer_1.md:0
12
+ Include pragma: @[:markdown](includer_2.md)
13
+ Includee:
14
+ File path: markdown/use_cases/include/diagnose_circular_includes/includer_2.md
15
+ Level 2:
16
+ Includer:
17
+ Location: markdown/use_cases/include/diagnose_circular_includes/includer_0.md:0
18
+ Include pragma: @[:markdown](includer_1.md)
19
+ Includee:
20
+ File path: markdown/use_cases/include/diagnose_circular_includes/includer_1.md
21
+ Level 3:
22
+ Includer:
23
+ Location: markdown/use_cases/include/diagnose_circular_includes/includer.md:0
24
+ Include pragma: @[:markdown](includer_0.md)
25
+ Includee:
26
+ File path: markdown/use_cases/include/diagnose_circular_includes/includer_0.md
@@ -64,26 +64,26 @@ C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/markdown_helper-2.3.0/bin/_include: Inclu
64
64
  Backtrace (innermost include first):
65
65
  Level 0:
66
66
  Includer:
67
- Location: markdown/use_cases/include_files/diagnose_circular_includes/includer_2.md:0
67
+ Location: markdown/use_cases/include/diagnose_circular_includes/includer_2.md:0
68
68
  Include pragma: @[:markdown](includer_0.md)
69
69
  Includee:
70
- File path: markdown/use_cases/include_files/diagnose_circular_includes/includer_0.md
70
+ File path: markdown/use_cases/include/diagnose_circular_includes/includer_0.md
71
71
  Level 1:
72
72
  Includer:
73
- Location: markdown/use_cases/include_files/diagnose_circular_includes/includer_1.md:0
73
+ Location: markdown/use_cases/include/diagnose_circular_includes/includer_1.md:0
74
74
  Include pragma: @[:markdown](includer_2.md)
75
75
  Includee:
76
- File path: markdown/use_cases/include_files/diagnose_circular_includes/includer_2.md
76
+ File path: markdown/use_cases/include/diagnose_circular_includes/includer_2.md
77
77
  Level 2:
78
78
  Includer:
79
- Location: markdown/use_cases/include_files/diagnose_circular_includes/includer_0.md:0
79
+ Location: markdown/use_cases/include/diagnose_circular_includes/includer_0.md:0
80
80
  Include pragma: @[:markdown](includer_1.md)
81
81
  Includee:
82
- File path: markdown/use_cases/include_files/diagnose_circular_includes/includer_1.md
82
+ File path: markdown/use_cases/include/diagnose_circular_includes/includer_1.md
83
83
  Level 3:
84
84
  Includer:
85
- Location: markdown/use_cases/include_files/diagnose_circular_includes/includer.md:0
85
+ Location: markdown/use_cases/include/diagnose_circular_includes/includer.md:0
86
86
  Include pragma: @[:markdown](includer_0.md)
87
87
  Includee:
88
- File path: markdown/use_cases/include_files/diagnose_circular_includes/includer_0.md
88
+ File path: markdown/use_cases/include/diagnose_circular_includes/includer_0.md
89
89
  ```
@@ -0,0 +1,26 @@
1
+ C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/markdown_helper-2.3.0/bin/_include: Could not read includee file: (MarkdownHelper::UnreadableIncludeeError)
2
+ Backtrace (innermost include first):
3
+ Level 0:
4
+ Includer:
5
+ Location: markdown/use_cases/include/diagnose_missing_includee/includer_2.md:0
6
+ Include pragma: @[:markdown](includer_3.md)
7
+ Includee:
8
+ File path: markdown/use_cases/include/diagnose_missing_includee/includer_3.md
9
+ Level 1:
10
+ Includer:
11
+ Location: markdown/use_cases/include/diagnose_missing_includee/includer_1.md:0
12
+ Include pragma: @[:markdown](includer_2.md)
13
+ Includee:
14
+ File path: markdown/use_cases/include/diagnose_missing_includee/includer_2.md
15
+ Level 2:
16
+ Includer:
17
+ Location: markdown/use_cases/include/diagnose_missing_includee/includer_0.md:0
18
+ Include pragma: @[:markdown](includer_1.md)
19
+ Includee:
20
+ File path: markdown/use_cases/include/diagnose_missing_includee/includer_1.md
21
+ Level 3:
22
+ Includer:
23
+ Location: markdown/use_cases/include/diagnose_missing_includee/includer.md:0
24
+ Include pragma: @[:markdown](includer_0.md)
25
+ Includee:
26
+ File path: markdown/use_cases/include/diagnose_missing_includee/includer_0.md
@@ -66,26 +66,26 @@ C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/markdown_helper-2.3.0/bin/_include: Could
66
66
  Backtrace (innermost include first):
67
67
  Level 0:
68
68
  Includer:
69
- Location: markdown/use_cases/include_files/diagnose_missing_includee/includer_2.md:0
69
+ Location: markdown/use_cases/include/diagnose_missing_includee/includer_2.md:0
70
70
  Include pragma: @[:markdown](includer_3.md)
71
71
  Includee:
72
- File path: markdown/use_cases/include_files/diagnose_missing_includee/includer_3.md
72
+ File path: markdown/use_cases/include/diagnose_missing_includee/includer_3.md
73
73
  Level 1:
74
74
  Includer:
75
- Location: markdown/use_cases/include_files/diagnose_missing_includee/includer_1.md:0
75
+ Location: markdown/use_cases/include/diagnose_missing_includee/includer_1.md:0
76
76
  Include pragma: @[:markdown](includer_2.md)
77
77
  Includee:
78
- File path: markdown/use_cases/include_files/diagnose_missing_includee/includer_2.md
78
+ File path: markdown/use_cases/include/diagnose_missing_includee/includer_2.md
79
79
  Level 2:
80
80
  Includer:
81
- Location: markdown/use_cases/include_files/diagnose_missing_includee/includer_0.md:0
81
+ Location: markdown/use_cases/include/diagnose_missing_includee/includer_0.md:0
82
82
  Include pragma: @[:markdown](includer_1.md)
83
83
  Includee:
84
- File path: markdown/use_cases/include_files/diagnose_missing_includee/includer_1.md
84
+ File path: markdown/use_cases/include/diagnose_missing_includee/includer_1.md
85
85
  Level 3:
86
86
  Includer:
87
- Location: markdown/use_cases/include_files/diagnose_missing_includee/includer.md:0
87
+ Location: markdown/use_cases/include/diagnose_missing_includee/includer.md:0
88
88
  Include pragma: @[:markdown](includer_0.md)
89
89
  Includee:
90
- File path: markdown/use_cases/include_files/diagnose_missing_includee/includer_0.md
90
+ File path: markdown/use_cases/include/diagnose_missing_includee/includer_0.md
91
91
  ```
@@ -0,0 +1,16 @@
1
+ #### Run Irb Via <code>markdown_helper</code>
2
+ <details>
3
+ <summary>CLI</summary>
4
+
5
+ ```sh
6
+ markdown_helper run_irb --pristine template.md markdown.md
7
+ ```
8
+
9
+ @[:markdown](../pristine.md)
10
+ </details>
11
+ <details>
12
+ <summary>API</summary>
13
+
14
+ @[ruby](../run_irb.rb)
15
+
16
+ </details>