asciisourcerer 0.3.1 → 0.5.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 +4 -4
- data/BILL_OF_MATERIALS.adoc +17 -0
- data/README.adoc +107 -26
- data/lib/sourcerer/_docs/partials/liquid-filters-by-kind.adoc +3227 -0
- data/lib/sourcerer/_docs/partials/liquid-filters-by-source.adoc +3155 -0
- data/lib/sourcerer/asciidoc.rb +52 -10
- data/lib/sourcerer/builder.rb +1 -1
- data/lib/sourcerer/jekyll/bootstrapper.rb +1 -1
- data/lib/sourcerer/jekyll/liquid/filters.rb +295 -0
- data/lib/sourcerer/jekyll.rb +7 -2
- data/lib/sourcerer/mark_down_grade.rb +321 -33
- data/lib/sourcerer/rendering.rb +10 -4
- data/lib/sourcerer/source_skim/config.rb +8 -2
- data/lib/sourcerer/source_skim/ruby_skimmer.rb +83 -0
- data/lib/sourcerer/source_skim/skimmer.rb +94 -1
- data/lib/sourcerer/source_skim.rb +11 -2
- data/lib/sourcerer/util/gem_uri.rb +34 -0
- data/lib/sourcerer/version.rb +1 -1
- data/lib/sourcerer.rb +0 -1
- data/specs/data/liquid-filters.yml +1314 -0
- metadata +22 -3
- data/specs/docs/frontmatter-reader_prd.adoc +0 -47
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: asciisourcerer
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- DocOps Lab
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-09-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: asciidoctor
|
|
@@ -108,6 +108,20 @@ dependencies:
|
|
|
108
108
|
- - "~>"
|
|
109
109
|
- !ruby/object:Gem::Version
|
|
110
110
|
version: '2.1'
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: yard
|
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - "~>"
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: '0.9'
|
|
118
|
+
type: :runtime
|
|
119
|
+
prerelease: false
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - "~>"
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: '0.9'
|
|
111
125
|
description: AsciiSourcerer provides APIs for specialized use of AsciiDoc (attribute
|
|
112
126
|
extraction, special conversions), YAML (tag handling), and Liquid (Jekyll-based
|
|
113
127
|
rendering, custom tags, etc).
|
|
@@ -117,11 +131,14 @@ executables: []
|
|
|
117
131
|
extensions: []
|
|
118
132
|
extra_rdoc_files: []
|
|
119
133
|
files:
|
|
134
|
+
- BILL_OF_MATERIALS.adoc
|
|
120
135
|
- LICENSE
|
|
121
136
|
- README.adoc
|
|
122
137
|
- lib/asciidoctor/extensions/source-skim-tree-processor/extension.rb
|
|
123
138
|
- lib/asciisourcerer.rb
|
|
124
139
|
- lib/sourcerer.rb
|
|
140
|
+
- lib/sourcerer/_docs/partials/liquid-filters-by-kind.adoc
|
|
141
|
+
- lib/sourcerer/_docs/partials/liquid-filters-by-source.adoc
|
|
125
142
|
- lib/sourcerer/asciidoc.rb
|
|
126
143
|
- lib/sourcerer/builder.rb
|
|
127
144
|
- lib/sourcerer/jekyll.rb
|
|
@@ -136,17 +153,19 @@ files:
|
|
|
136
153
|
- lib/sourcerer/source_skim.rb
|
|
137
154
|
- lib/sourcerer/source_skim/config.rb
|
|
138
155
|
- lib/sourcerer/source_skim/markdown_skimmer.rb
|
|
156
|
+
- lib/sourcerer/source_skim/ruby_skimmer.rb
|
|
139
157
|
- lib/sourcerer/source_skim/skimmer.rb
|
|
140
158
|
- lib/sourcerer/sync.rb
|
|
141
159
|
- lib/sourcerer/sync/block_parser.rb
|
|
142
160
|
- lib/sourcerer/sync/cast.rb
|
|
143
161
|
- lib/sourcerer/templating.rb
|
|
162
|
+
- lib/sourcerer/util/gem_uri.rb
|
|
144
163
|
- lib/sourcerer/util/list_amend.rb
|
|
145
164
|
- lib/sourcerer/util/pathifier.rb
|
|
146
165
|
- lib/sourcerer/version.rb
|
|
147
166
|
- lib/sourcerer/yaml.rb
|
|
148
167
|
- lib/sourcerer/yaml_frontmatter.rb
|
|
149
|
-
- specs/
|
|
168
|
+
- specs/data/liquid-filters.yml
|
|
150
169
|
homepage: https://github.com/DocOps/asciisourcerer
|
|
151
170
|
licenses:
|
|
152
171
|
- MIT
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
= FrontmatterReader: PRD
|
|
2
|
-
:status: implemented
|
|
3
|
-
:version: 0.3.0
|
|
4
|
-
|
|
5
|
-
== Overview
|
|
6
|
-
|
|
7
|
-
`Sourcerer::SourceSkim` needs to incorporate a simpler Skim object that derives data/content from frontmatter YAML and section headings.
|
|
8
|
-
|
|
9
|
-
`SourceSkim` currently generates structured, semantic metadata and content outline about AsciiDoc source files.
|
|
10
|
-
But many use cases (Jekyll site pipelines, documentation indexers, cross-repo search tools) need to work with Markdown files, as well:
|
|
11
|
-
|
|
12
|
-
* Frontmatter data (layout, title, navigation hints, etc.)
|
|
13
|
-
* Section headings and their levels:
|
|
14
|
-
** a flat list of section headings and their line numbers, and/or
|
|
15
|
-
** a nested hierarchy of sections and subsections.
|
|
16
|
-
|
|
17
|
-
== Output Shape
|
|
18
|
-
|
|
19
|
-
The core operation yields a skim in one of the following configurations:
|
|
20
|
-
|
|
21
|
-
[source,ruby]
|
|
22
|
-
----
|
|
23
|
-
{
|
|
24
|
-
title: 'Introduction', # String — from first # heading
|
|
25
|
-
frontmatter: { 'layout' => 'docs', 'title' => 'Guide', ... }, # Hash
|
|
26
|
-
sections_flat: [ # Array
|
|
27
|
-
{ text: 'Getting Started', level: 1, starts_at: 13 },
|
|
28
|
-
{ text: 'Prerequisites', level: 2, starts_at: 17 },
|
|
29
|
-
...
|
|
30
|
-
]
|
|
31
|
-
}
|
|
32
|
-
----
|
|
33
|
-
|
|
34
|
-
[source,ruby]
|
|
35
|
-
----
|
|
36
|
-
{
|
|
37
|
-
title: 'Introduction', # String
|
|
38
|
-
frontmatter: { 'layout' => 'docs', 'title' => 'Guide', ... }, # Hash
|
|
39
|
-
sections_tree: [ # Array (same shape as AsciiDoc)
|
|
40
|
-
{ text: 'Getting Started', level: 1, starts_at: 13, sections: [
|
|
41
|
-
{ text: 'Prerequisites', level: 2, starts_at: 17, sections: [] }
|
|
42
|
-
] },
|
|
43
|
-
{ text: 'Advanced Usage', level: 1, starts_at: 22, sections: [] },
|
|
44
|
-
...
|
|
45
|
-
]
|
|
46
|
-
}
|
|
47
|
-
----
|