markdown_helper 2.0.0 → 2.1.0
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 +5 -5
- data/Gemfile.lock +1 -1
- data/README.md +74 -208
- data/Rakefile +0 -1
- data/lib/markdown_helper.rb +115 -248
- data/lib/markdown_helper/version.rb +1 -1
- data/markdown/readme/README.template.md +43 -101
- data/markdown/readme/include.md +4 -0
- data/markdown/readme/include_usage.rb +1 -2
- data/markdown/use_cases/Rakefile +28 -31
- data/markdown/use_cases/include_files/diagnose_circular_includes/diagnose_circular_includes.err +1 -1
- data/markdown/use_cases/include_files/diagnose_circular_includes/use_case.md +1 -1
- data/markdown/use_cases/include_files/diagnose_circular_includes/{diagnose_circular_includes.rb → use_case_builder.rb} +1 -2
- data/markdown/use_cases/include_files/diagnose_missing_includee/diagnose_missing_includee.err +1 -1
- data/markdown/use_cases/include_files/diagnose_missing_includee/use_case.md +1 -1
- data/markdown/use_cases/include_files/diagnose_missing_includee/{diagnose_missing_includee.rb → use_case_builder.rb} +1 -2
- data/markdown/use_cases/include_files/include_code_block/{include_code_block.rb → use_case_builder.rb} +1 -2
- data/markdown/use_cases/include_files/include_generated_text/{include_generated_text.rb → use_case_builder.rb} +1 -2
- data/markdown/use_cases/include_files/include_highlighted_code/{include_highlighted_code.rb → use_case_builder.rb} +1 -2
- data/markdown/use_cases/include_files/include_markdown/{include_markdown.rb → use_case_builder.rb} +1 -2
- data/markdown/use_cases/include_files/include_page_toc/included.md +48 -0
- data/markdown/use_cases/include_files/include_page_toc/includer.md +16 -0
- data/markdown/use_cases/include_files/include_page_toc/markdown_0.md +8 -0
- data/markdown/use_cases/include_files/include_page_toc/markdown_1.md +8 -0
- data/markdown/use_cases/include_files/include_page_toc/use_case.md +212 -0
- data/markdown/use_cases/include_files/include_page_toc/use_case_builder.rb +121 -0
- data/markdown/use_cases/include_files/include_page_toc/use_case_template.md +46 -0
- data/markdown/use_cases/include_files/include_text_as_comment/{include_text_as_comment.rb → use_case_builder.rb} +1 -2
- data/markdown/use_cases/include_files/include_text_as_pre/{include_text_as_pre.rb → use_case_builder.rb} +1 -2
- data/markdown/use_cases/include_files/include_use_case.rb +2 -8
- data/markdown/use_cases/include_files/include_with_added_comments/{include_with_added_comments.rb → use_case_builder.rb} +2 -3
- data/markdown/use_cases/include_files/nest_inclusions/{nest_inclusions.rb → use_case_builder.rb} +1 -2
- data/markdown/use_cases/include_files/reuse_text/{reuse_text.rb → use_case_builder.rb} +3 -2
- data/markdown/use_cases/structure.md +10 -0
- data/markdown/use_cases/tables_of_contents/create_and_include_page_toc/included.md +44 -0
- data/markdown/use_cases/tables_of_contents/create_and_include_page_toc/page.md +7 -7
- data/markdown/use_cases/tables_of_contents/create_and_include_page_toc/toc.md +7 -7
- data/markdown/use_cases/tables_of_contents/create_and_include_page_toc/{create_and_include_page_toc.rb → use_case_builder.rb} +1 -2
- data/markdown/use_cases/tables_of_contents/create_page_toc_use_case.rb +1 -1
- data/markdown/use_cases/use_case.rb +14 -15
- data/markdown/use_cases/use_cases.md +2 -4
- data/markdown_helper.gemspec +0 -2
- metadata +24 -29
- data/bin/_resolve +0 -46
- data/bin/resolve +0 -49
- data/bin/usage/resolve.txt +0 -14
- data/images/html.png +0 -0
- data/markdown/readme/resolve_usage.rb +0 -12
- data/markdown/use_cases/include_files/diagnose_missing_includee/included.md +0 -1
- data/markdown/use_cases/resolve/gemify_images/gemify_images.md +0 -11
- data/markdown/use_cases/resolve/gemify_images/gemify_images.rb +0 -68
- data/markdown/use_cases/resolve/gemify_images/relative_image.md +0 -1
- data/markdown/use_cases/resolve/gemify_images/resolved_image.md +0 -1
- data/markdown/use_cases/resolve/gemify_images/template.md +0 -15
- data/markdown/use_cases/resolve/resize_images/template.md +0 -8
@@ -1,37 +1,32 @@
|
|
1
1
|
# Markdown Helper
|
2
2
|
|
3
|
-
](http://rubygems.org/gems/markdown_helper "View this project in Rubygems")
|
9
4
|
|
10
5
|
## What's New?
|
11
6
|
|
12
|
-
|
7
|
+
Page TOC (table of contents) is improved:
|
13
8
|
|
14
|
-
-
|
15
|
-
-
|
9
|
+
- **Old**: You would first run the markdown helper to generate a page TOC, then run the helper a second time to include the page TOC where you want it.
|
10
|
+
- **New**: You specify the site for the page TOC in the page itself, and the page TOC is automatically generated and inserted there. See the [use case](markdown/use_cases/include_files/include_page_toc/use_case.md#include-page-toc)
|
16
11
|
|
17
|
-
|
12
|
+
The old way is now deprecated.
|
13
|
+
|
14
|
+
@[:page_toc](## Contents)
|
18
15
|
|
19
16
|
## What's a Markdown Helper?
|
20
17
|
|
21
18
|
Class <code>MarkdownHelper</code> supports:
|
22
19
|
|
23
20
|
* [File inclusion](#file-inclusion): to include text from other files, as code-block or markdown.
|
24
|
-
* [Page TOC](#page-toc): to create the table of contents for a markdown page.
|
25
|
-
* [Image path resolution](#image-path-resolution): to resolve relative image paths to absolute URL paths (so they work even in gem documentation). [Deprecated]**
|
26
|
-
* [Image attributes](#image-attributes): image attributes are passed through to an HTML <code>img</code> tag. [Deprecated]**
|
21
|
+
* [Page TOC](#page-toc): to create and insert the table of contents for a markdown page.
|
27
22
|
|
28
23
|
## How It Works
|
29
24
|
|
30
25
|
The markdown helper is a preprocessor that reads a markdown document (template) and writes another markdown document.
|
31
26
|
|
32
|
-
The template can contain certain instructions that call for file inclusions
|
27
|
+
The template can contain certain instructions that call for file inclusions.
|
33
28
|
|
34
|
-
### Restriction:
|
29
|
+
### Restriction: ```git``` Only
|
35
30
|
|
36
31
|
The helper works only in a ```git``` project: the working directory or one of ita parents must be a git directory -- one in which command ```git rev-parse --git-dir``` succeeds.
|
37
32
|
|
@@ -41,11 +36,10 @@ By default, the output markdown has added comments that show:
|
|
41
36
|
|
42
37
|
* The path to the template file.
|
43
38
|
* The path to each included file.
|
44
|
-
* The image description (original) for each resolved image file path. [Deprecated]**
|
45
39
|
|
46
40
|
You can suppress those comments using the <code>pristine</code> option.
|
47
41
|
|
48
|
-
## File Inclusion
|
42
|
+
## File Inclusion
|
49
43
|
|
50
44
|
<img src="images/include.png" alt="include_icon" width="50">
|
51
45
|
|
@@ -53,31 +47,41 @@ This markdown helper enables file inclusion in GitHub markdown.
|
|
53
47
|
|
54
48
|
(Actually, this README file itself is built using file inclusion.)
|
55
49
|
|
56
|
-
|
50
|
+
See all [use cases](markdown/use_cases/use_cases.md#use-cases).
|
51
|
+
|
52
|
+
### Re-use Text
|
53
|
+
|
54
|
+
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).
|
55
|
+
|
56
|
+
### Include Generated Text
|
57
|
+
|
58
|
+
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).
|
57
59
|
|
58
|
-
|
60
|
+
### Nest Inclusions
|
61
|
+
|
62
|
+
You can nest inclusions. See the [use case](markdown/use_cases/include_files/nest_inclusions/use_case.md#nest-inclusions).
|
59
63
|
|
60
64
|
### Merged Text Formats
|
61
65
|
|
66
|
+
#### Markdown
|
67
|
+
|
68
|
+
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).
|
69
|
+
|
62
70
|
#### Highlighted Code Block
|
63
71
|
|
64
|
-
|
72
|
+
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).
|
65
73
|
|
66
74
|
#### Plain Code Block
|
67
75
|
|
68
|
-
|
69
|
-
|
70
|
-
[Note: In the gem documentation, RubyDoc.info chooses to highlight this code block regardless. Go figure.]
|
76
|
+
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).
|
71
77
|
|
72
78
|
#### Comment
|
73
79
|
|
74
|
-
|
75
|
-
|
76
|
-
#### Markdown
|
80
|
+
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).
|
77
81
|
|
78
|
-
|
82
|
+
### Pre-Formattted Text
|
79
83
|
|
80
|
-
|
84
|
+
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).
|
81
85
|
|
82
86
|
### Usage
|
83
87
|
|
@@ -101,93 +105,31 @@ where:
|
|
101
105
|
* Highlighting mode such as <code>[ruby]</code>, to include a highlighted code block. This can be any Ace mode mentioned in [GitHub Languages](https://github.com/github/linguist/blob/master/lib/linguist/languages.yml).
|
102
106
|
* <code>[:code_block]</code>, to include a plain code block.
|
103
107
|
* <code>[:markdown]</code>, to include text markdown (to be rendered as markdown).
|
108
|
+
* <code>[:comment]</code>, to insert text as a markdown comment.
|
109
|
+
* <code>[:pre]</code>, to include pre-formatted text.
|
104
110
|
* *relative_file_path* points to the file to be included.
|
105
111
|
|
106
112
|
##### Example Include Descriptions
|
107
113
|
|
108
114
|
@[code_block](include.md)
|
109
115
|
|
110
|
-
|
111
|
-
|
112
|
-
The markdown helper can create the table of contents for a markdown page.
|
113
|
-
- The TOC is a tree of links to the headers on the page, suitable for inclusion with the page itself.
|
114
|
-
- See the [use case](markdown/use_cases/tables_of_contents/create_and_include_page_toc/use_case.md#create-and-include-page-toc).
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
## Image Path Resolution **[Deprecated]**
|
119
|
-
|
120
|
-
<img src="images/image.png" alt="image_icon" width="50">
|
121
|
-
|
122
|
-
This markdown helper enables image path resolution in GitHub markdown.
|
123
|
-
|
124
|
-
(Actually, this README file itself is built using image path resolution.)
|
125
|
-
|
126
|
-
Use the markdown helper to resolve image relative paths in a markdown (</code>.md</code>) file.
|
127
|
-
|
128
|
-
This matters because when markdown becomes part of a Ruby gem, its images will have been relocated in the documentation at RubyDoc.info, breaking the relative paths. The resolved (absolute) urls, however, will still be valid.
|
129
|
-
|
130
|
-
### Usage
|
131
|
-
|
132
|
-
#### CLI
|
133
|
-
|
134
|
-
@[:code_block](../../bin/usage/resolve.txt)
|
135
|
-
|
136
|
-
#### API
|
137
|
-
|
138
|
-
@[ruby](resolve_usage.rb)
|
139
|
-
|
140
|
-
#### Image Descriptions
|
141
|
-
|
142
|
-
Specify each image at the beginning of a line via an *image description*, which has the form:
|
143
|
-
|
144
|
-
<code>![*alt_text*]\(</code>*relative_file_path* <code>|</code> *attributes*<code>)</code>
|
116
|
+
#### Page TOC
|
145
117
|
|
146
|
-
|
147
|
-
|
148
|
-
* *alt_text* is the usual alt text for an HTML image.
|
149
|
-
* *relative_file_path* points to the file to be included.
|
150
|
-
* *attributes* specify image attributes. See [Image Attributes](#image-attributes) below.
|
151
|
-
|
152
|
-
##### Example Image Descriptions
|
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).
|
153
119
|
|
154
|
-
|
120
|
+
#### Diagnostics
|
155
121
|
|
156
|
-
|
122
|
+
##### "Noisy" (Not Pristine)
|
157
123
|
|
158
|
-
|
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).
|
159
125
|
|
160
|
-
|
126
|
+
##### Missing Includee File
|
161
127
|
|
162
|
-
|
163
|
-
|
164
|
-
Use the markdown helper to add image attributes in a markdown (</code>.md</code>) file.
|
165
|
-
|
166
|
-
### Usage
|
167
|
-
|
168
|
-
#### CLI
|
169
|
-
|
170
|
-
@[:code_block](../../bin/usage/resolve.txt)
|
171
|
-
|
172
|
-
#### API
|
173
|
-
|
174
|
-
@[ruby](resolve_usage.rb)
|
175
|
-
|
176
|
-
#### Image Descriptions
|
177
|
-
|
178
|
-
Specify each image at the beginning of a line via an *image description*, which has the form:
|
179
|
-
|
180
|
-
<code>![*alt_text*]\(</code>*relative_file_path* <code>|</code> *attributes*<code>)</code>
|
181
|
-
|
182
|
-
where:
|
183
|
-
|
184
|
-
* *alt_text* is the usual alt text for an HTML image.
|
185
|
-
* *relative_file_path* points to the file to be included.
|
186
|
-
* *attributes* are whitespace-separated name-value pairs in the form *name*<code>=</code>*value*. These are passed through to the generated <code>img</code> HTML element.
|
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).
|
187
129
|
|
188
|
-
#####
|
130
|
+
##### Circular Inclusion
|
189
131
|
|
190
|
-
|
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).
|
191
133
|
|
192
134
|
## What Should Be Next?
|
193
135
|
|
data/markdown/readme/include.md
CHANGED
@@ -2,9 +2,8 @@ require 'markdown_helper'
|
|
2
2
|
|
3
3
|
template_file_path = 'highlight_ruby_template.md'
|
4
4
|
markdown_file_path = 'highlighted_ruby.md'
|
5
|
-
markdown_helper = MarkdownHelper.new
|
6
|
-
markdown_helper.include(template_file_path, markdown_file_path)
|
7
5
|
# Pristine.
|
6
|
+
markdown_helper = MarkdownHelper.new
|
8
7
|
markdown_helper.pristine = true
|
9
8
|
markdown_helper.include(template_file_path, markdown_file_path)
|
10
9
|
# Also pristine.
|
data/markdown/use_cases/Rakefile
CHANGED
@@ -22,24 +22,23 @@ EOT
|
|
22
22
|
use_case_dirs = {
|
23
23
|
:include_files => %w/
|
24
24
|
reuse_text
|
25
|
-
include_with_added_comments
|
26
25
|
nest_inclusions
|
27
26
|
include_markdown
|
28
27
|
include_code_block
|
29
28
|
include_highlighted_code
|
29
|
+
include_page_toc
|
30
30
|
include_text_as_comment
|
31
31
|
include_text_as_pre
|
32
32
|
include_generated_text
|
33
|
+
include_with_added_comments
|
33
34
|
diagnose_missing_includee
|
34
35
|
diagnose_circular_includes
|
35
36
|
/,
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
# :
|
40
|
-
|
41
|
-
# resolve_with_added_comments
|
42
|
-
# gemify_images
|
37
|
+
|
38
|
+
# include_page_toc
|
39
|
+
|
40
|
+
# :tables_of_contents => %w/
|
41
|
+
# create_and_include_page_toc
|
43
42
|
# /,
|
44
43
|
}
|
45
44
|
use_case_dirs.each_pair do |section, dir_names|
|
@@ -52,40 +51,38 @@ EOT
|
|
52
51
|
EOT
|
53
52
|
) unless dir_names.empty?
|
54
53
|
|
54
|
+
# Be careful with use case that has a backtrace.
|
55
55
|
backtrace_cases = %w/
|
56
56
|
diagnose_missing_includee
|
57
57
|
diagnose_circular_includes
|
58
58
|
/
|
59
|
+
|
60
|
+
# Each use case is in a separate directory.
|
59
61
|
dir_names.each do |dir_name|
|
60
62
|
Dir.chdir("#{section}/#{dir_name}") do
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
end
|
74
|
-
else
|
63
|
+
|
64
|
+
# There should be a conventionally-named ruby file to build the use case.
|
65
|
+
fail dir_name unless File.exist?(UseCase::BUILDER_FILE_NAME)
|
66
|
+
|
67
|
+
# There should be a conventionally-named use-case template.
|
68
|
+
fail dir_name unless File.exist?(UseCase::TEMPLATE_FILE_NAME)
|
69
|
+
|
70
|
+
class_name = camelize(dir_name)
|
71
|
+
command = "ruby -I . -r #{UseCase::BUILDER_FILE_NAME} -e #{class_name}.build"
|
72
|
+
if backtrace_cases.include?(dir_name)
|
73
|
+
command += " 2> #{dir_name}.err"
|
74
|
+
begin
|
75
75
|
system(command)
|
76
|
+
rescue
|
77
|
+
#
|
76
78
|
end
|
79
|
+
else
|
80
|
+
system(command)
|
77
81
|
end
|
78
82
|
|
79
|
-
|
80
|
-
use_case_file_path = 'use_case.md'
|
81
|
-
unless File.exist?(use_case_file_path)
|
82
|
-
message = "File #{dir_name}/use_case.md does not exist"
|
83
|
-
warn(message)
|
84
|
-
next
|
85
|
-
end
|
86
|
-
title_line = File.open(use_case_file_path).grep(/^#/).first.chomp
|
83
|
+
title_line = File.open(UseCase::TEMPLATE_FILE_NAME).grep(/^#/).first.chomp
|
87
84
|
title = title_line.split(/\s/, 2).pop
|
88
|
-
use_case_file_name = File.basename(
|
85
|
+
use_case_file_name = File.basename(UseCase::USE_CASE_FILE_NAME)
|
89
86
|
use_case_anchor = dir_name.gsub('_', '-')
|
90
87
|
use_case_relative_url = File.join(
|
91
88
|
section.to_s,
|
data/markdown/use_cases/include_files/diagnose_circular_includes/diagnose_circular_includes.err
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/markdown_helper-2.1.0/bin/_include: Includes are circular: (MarkdownHelper::CircularIncludeError)
|
2
2
|
Backtrace (innermost include first):
|
3
3
|
Level 0:
|
4
4
|
Includer:
|
@@ -69,7 +69,7 @@ Here's the resulting backtrace of inclusions.
|
|
69
69
|
|
70
70
|
```diagnose_circular_includes.err```:
|
71
71
|
```
|
72
|
-
|
72
|
+
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/markdown_helper-2.1.0/bin/_include: Includes are circular: (MarkdownHelper::CircularIncludeError)
|
73
73
|
Backtrace (innermost include first):
|
74
74
|
Level 0:
|
75
75
|
Includer:
|
data/markdown/use_cases/include_files/diagnose_missing_includee/diagnose_missing_includee.err
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/markdown_helper-2.1.0/bin/_include: Could not read include file, (MarkdownHelper::UnreadableInputError)
|
2
2
|
Backtrace (innermost include first):
|
3
3
|
Level 0:
|
4
4
|
Includer:
|
@@ -71,7 +71,7 @@ Here's the resulting backtrace of inclusions.
|
|
71
71
|
|
72
72
|
```diagnose_missing_includee.err```:
|
73
73
|
```
|
74
|
-
|
74
|
+
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/markdown_helper-2.1.0/bin/_include: Could not read include file, (MarkdownHelper::UnreadableInputError)
|
75
75
|
Backtrace (innermost include first):
|
76
76
|
Level 0:
|
77
77
|
Includer:
|
@@ -0,0 +1,48 @@
|
|
1
|
+
<!-- >>>>>> BEGIN GENERATED FILE (include): SOURCE includer.md -->
|
2
|
+
# Page Title
|
3
|
+
|
4
|
+
## Page Contents
|
5
|
+
- [Includer level-two title.](#includer-level-two-title)
|
6
|
+
- [Includer level-three title.](#includer-level-three-title)
|
7
|
+
- [Another includer level-three title.](#another-includer-level-three-title)
|
8
|
+
- [Another includer level-two title.](#another-includer-level-two-title)
|
9
|
+
- [Includee 0 level-two title.](#includee-0-level-two-title)
|
10
|
+
- [Includee 0 level-three title.](#includee-0-level-three-title)
|
11
|
+
- [Another includee 0 level-three title.](#another-includee-0-level-three-title)
|
12
|
+
- [Another includee 0 level-two title.](#another-includee-0-level-two-title)
|
13
|
+
- [Includee 1 level-two title.](#includee-1-level-two-title)
|
14
|
+
- [Includee 1 level-three title.](#includee-1-level-three-title)
|
15
|
+
- [Another includee 1 level-three title.](#another-includee-1-level-three-title)
|
16
|
+
- [Another includee 1 level-two title.](#another-includee-1-level-two-title)
|
17
|
+
|
18
|
+
## Includer level-two title.
|
19
|
+
|
20
|
+
### Includer level-three title.
|
21
|
+
|
22
|
+
### Another includer level-three title.
|
23
|
+
|
24
|
+
## Another includer level-two title.
|
25
|
+
|
26
|
+
<!-- >>>>>> BEGIN INCLUDED FILE (markdown): SOURCE markdown/use_cases/include_files/include_page_toc/markdown_0.md -->
|
27
|
+
|
28
|
+
## Includee 0 level-two title.
|
29
|
+
|
30
|
+
### Includee 0 level-three title.
|
31
|
+
|
32
|
+
### Another includee 0 level-three title.
|
33
|
+
|
34
|
+
## Another includee 0 level-two title.
|
35
|
+
<!-- <<<<<< END INCLUDED FILE (markdown): SOURCE markdown/use_cases/include_files/include_page_toc/markdown_0.md -->
|
36
|
+
|
37
|
+
<!-- >>>>>> BEGIN INCLUDED FILE (markdown): SOURCE markdown/use_cases/include_files/include_page_toc/markdown_1.md -->
|
38
|
+
|
39
|
+
## Includee 1 level-two title.
|
40
|
+
|
41
|
+
### Includee 1 level-three title.
|
42
|
+
|
43
|
+
### Another includee 1 level-three title.
|
44
|
+
|
45
|
+
## Another includee 1 level-two title.
|
46
|
+
<!-- <<<<<< END INCLUDED FILE (markdown): SOURCE markdown/use_cases/include_files/include_page_toc/markdown_1.md -->
|
47
|
+
|
48
|
+
<!-- <<<<<< END GENERATED FILE (include): SOURCE includer.md -->
|