asciisourcerer 0.4.0 → 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 +87 -7
- 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 +10 -3
- data/lib/sourcerer/builder.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 +181 -28
- data/lib/sourcerer/rendering.rb +9 -3
- 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 +26 -4
- data/specs/docs/frontmatter-reader_prd.adoc +0 -47
metadata
CHANGED
|
@@ -1,13 +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
|
+
autorequire:
|
|
8
9
|
bindir: bin
|
|
9
10
|
cert_chain: []
|
|
10
|
-
date:
|
|
11
|
+
date: 2026-09-09 00:00:00.000000000 Z
|
|
11
12
|
dependencies:
|
|
12
13
|
- !ruby/object:Gem::Dependency
|
|
13
14
|
name: asciidoctor
|
|
@@ -107,6 +108,20 @@ dependencies:
|
|
|
107
108
|
- - "~>"
|
|
108
109
|
- !ruby/object:Gem::Version
|
|
109
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'
|
|
110
125
|
description: AsciiSourcerer provides APIs for specialized use of AsciiDoc (attribute
|
|
111
126
|
extraction, special conversions), YAML (tag handling), and Liquid (Jekyll-based
|
|
112
127
|
rendering, custom tags, etc).
|
|
@@ -116,11 +131,14 @@ executables: []
|
|
|
116
131
|
extensions: []
|
|
117
132
|
extra_rdoc_files: []
|
|
118
133
|
files:
|
|
134
|
+
- BILL_OF_MATERIALS.adoc
|
|
119
135
|
- LICENSE
|
|
120
136
|
- README.adoc
|
|
121
137
|
- lib/asciidoctor/extensions/source-skim-tree-processor/extension.rb
|
|
122
138
|
- lib/asciisourcerer.rb
|
|
123
139
|
- lib/sourcerer.rb
|
|
140
|
+
- lib/sourcerer/_docs/partials/liquid-filters-by-kind.adoc
|
|
141
|
+
- lib/sourcerer/_docs/partials/liquid-filters-by-source.adoc
|
|
124
142
|
- lib/sourcerer/asciidoc.rb
|
|
125
143
|
- lib/sourcerer/builder.rb
|
|
126
144
|
- lib/sourcerer/jekyll.rb
|
|
@@ -135,23 +153,26 @@ files:
|
|
|
135
153
|
- lib/sourcerer/source_skim.rb
|
|
136
154
|
- lib/sourcerer/source_skim/config.rb
|
|
137
155
|
- lib/sourcerer/source_skim/markdown_skimmer.rb
|
|
156
|
+
- lib/sourcerer/source_skim/ruby_skimmer.rb
|
|
138
157
|
- lib/sourcerer/source_skim/skimmer.rb
|
|
139
158
|
- lib/sourcerer/sync.rb
|
|
140
159
|
- lib/sourcerer/sync/block_parser.rb
|
|
141
160
|
- lib/sourcerer/sync/cast.rb
|
|
142
161
|
- lib/sourcerer/templating.rb
|
|
162
|
+
- lib/sourcerer/util/gem_uri.rb
|
|
143
163
|
- lib/sourcerer/util/list_amend.rb
|
|
144
164
|
- lib/sourcerer/util/pathifier.rb
|
|
145
165
|
- lib/sourcerer/version.rb
|
|
146
166
|
- lib/sourcerer/yaml.rb
|
|
147
167
|
- lib/sourcerer/yaml_frontmatter.rb
|
|
148
|
-
- specs/
|
|
168
|
+
- specs/data/liquid-filters.yml
|
|
149
169
|
homepage: https://github.com/DocOps/asciisourcerer
|
|
150
170
|
licenses:
|
|
151
171
|
- MIT
|
|
152
172
|
metadata:
|
|
153
173
|
allowed_push_host: https://rubygems.org
|
|
154
174
|
rubygems_mfa_required: 'true'
|
|
175
|
+
post_install_message:
|
|
155
176
|
rdoc_options: []
|
|
156
177
|
require_paths:
|
|
157
178
|
- lib
|
|
@@ -166,7 +187,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
166
187
|
- !ruby/object:Gem::Version
|
|
167
188
|
version: '0'
|
|
168
189
|
requirements: []
|
|
169
|
-
rubygems_version: 3.
|
|
190
|
+
rubygems_version: 3.4.19
|
|
191
|
+
signing_key:
|
|
170
192
|
specification_version: 4
|
|
171
193
|
summary: APIs for specialized handling of AsciiDoc, YAML, and Liquid documents.
|
|
172
194
|
test_files: []
|
|
@@ -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
|
-
----
|