Skip to content

Commit aab317d

Browse files
mojavelinuxosfameron
authored andcommitted
integrate Asciidoctor Tabs
1 parent 5298363 commit aab317d

File tree

8 files changed

+33
-211
lines changed

8 files changed

+33
-211
lines changed

gulp.d/tasks/build-preview-pages.js

+15-2
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,21 @@ module.exports =
5959
merge(compileLayouts(src), registerPartials(src), registerHelpers(src), copyImages(previewSrc, previewDest))
6060
),
6161
])
62-
.then(([baseUiModel, { layouts }]) => [{ ...baseUiModel, env: process.env }, layouts])
62+
.then(([baseUiModel, { layouts }]) => {
63+
const extensions = ((baseUiModel.asciidoc || {}).extensions || []).map((request) => {
64+
ASCIIDOC_ATTRIBUTES[request.replace(/^@|\.js$/, '').replace(/[/]/g, '-') + '-loaded'] = ''
65+
const extension = require(request)
66+
extension.register.call(Asciidoctor.Extensions)
67+
return extension
68+
})
69+
const asciidoc = { extensions }
70+
for (const component of Object.values(baseUiModel.site.components)) {
71+
for (const version of component.versions || []) version.asciidoc = asciidoc
72+
}
73+
baseUiModel = { ...baseUiModel, env: process.env }
74+
delete baseUiModel.asciidoc
75+
return [baseUiModel, layouts]
76+
})
6377
.then(([baseUiModel, layouts, iconDefs = new Map()]) =>
6478
vfs
6579
.src('**/*.adoc', { base: previewSrc, cwd: previewSrc })
@@ -171,7 +185,6 @@ module.exports =
171185
function loadSampleUiModel (src) {
172186
return fs.readFile(ospath.join(src, 'ui-model.yml'), 'utf8').then((contents) => {
173187
const uiModel = yaml.safeLoad(contents)
174-
uiModel.env = process.env
175188
if (process.env.DEPLOY_PRIME_URL) uiModel.site.url = process.env.DEPLOY_PRIME_URL
176189
Object.entries(uiModel.site.components).forEach(([name, component]) => {
177190
component.name = name

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"@fortawesome/free-solid-svg-icons": "~5.13",
2222
"@octokit/rest": "~18.0",
2323
"@asciidoctor/core": "~2.2",
24+
"@asciidoctor/tabs": "1.0.0-beta.3",
2425
"autoprefixer": "~9.8",
2526
"browser-pack-flat": "~3.4",
2627
"browserify": "~16.5",

preview-src/index.adoc

+11-76
Original file line numberDiff line numberDiff line change
@@ -117,82 +117,17 @@ This section provides information on the server resources across the cluster.
117117

118118
Installation will vary based on your operation system.
119119

120-
// NOTE this HTML is generated by the tabs-block extension; never type this in a document directly!
121-
++++
122-
<div class="tabset is-loading">
123-
<div class="ulist tabs">
124-
<ul>
125-
<li>
126-
<p><a id="tabset1_ubuntu"></a>Ubuntu</p>
127-
</li>
128-
<li>
129-
<p><a id="tabset1_red-hat"></a>Red Hat</p>
130-
</li>
131-
<li>
132-
<p><a id="tabset1_debian"></a>Debian</p>
133-
</li>
134-
<li>
135-
<p><a id="tabset1_test1"></a>Test1</p>
136-
</li>
137-
<li>
138-
<p><a id="tabset1_test2"></a>Test2</p>
139-
</li>
140-
<li>
141-
<p><a id="tabset1_test3"></a>Test3</p>
142-
</li>
143-
<li>
144-
<p><a id="tabset1_test4"></a>Test4</p>
145-
</li>
146-
<li>
147-
<p><a id="tabset1_test5"></a>Test5</p>
148-
</li>
149-
</ul>
150-
</div>
151-
<div class="content">
152-
<div class="tab-pane is-active" aria-labelledby="tabset1_ubuntu">
153-
<div class="paragraph">
154-
<p>Content for Ubuntu tab.</p>
155-
</div>
156-
</div>
157-
<div class="tab-pane" aria-labelledby="tabset1_red-hat">
158-
<div class="paragraph">
159-
<p>Content for Red Hat tab.</p>
160-
</div>
161-
</div>
162-
<div class="tab-pane" aria-labelledby="tabset1_debian">
163-
<div class="paragraph">
164-
<p>Content for Debian tab.</p>
165-
</div>
166-
</div>
167-
<div class="tab-pane" aria-labelledby="tabset1_test1">
168-
<div class="paragraph">
169-
<p>Content for test 1 tab.</p>
170-
</div>
171-
</div>
172-
<div class="tab-pane" aria-labelledby="tabset1_test2">
173-
<div class="paragraph">
174-
<p>Content for test 2 tab.</p>
175-
</div>
176-
</div>
177-
<div class="tab-pane" aria-labelledby="tabset1_test3">
178-
<div class="paragraph">
179-
<p>Content for test 3 tab.</p>
180-
</div>
181-
</div>
182-
<div class="tab-pane" aria-labelledby="tabset1_test4">
183-
<div class="paragraph">
184-
<p>Content for test 4 tab.</p>
185-
</div>
186-
</div>
187-
<div class="tab-pane" aria-labelledby="tabset1_test5">
188-
<div class="paragraph">
189-
<p>Content for test 5 tab.</p>
190-
</div>
191-
</div>
192-
</div>
193-
</div>
194-
++++
195-
120+
[tabs]
121+
====
122+
Ubuntu:: Content for Ubuntu tab.
123+
Red Hat:: Content for Red Hat tab.
124+
Debian:: Content for Debian tab.
125+
Test1:: Content for test 1 tab.
126+
Test2:: Content for test 2 tab.
127+
Test3:: Content for test 3 tab.
128+
Test4:: Content for test 4 tab.
129+
Test5:: Content for test 5 tab.
130+
====
196131

197132
== Admonition Blocks
198133

preview-src/ui-model.yml

+3
Original file line numberDiff line numberDiff line change
@@ -173,3 +173,6 @@ page:
173173
content: Liber Recusabo
174174
url: '#'
175175
urlType: 'internal'
176+
asciidoc:
177+
extensions:
178+
- '@asciidoctor/tabs'

src/css/site.css

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
@import "toolbar.css";
1515
@import "labels.css";
1616
@import "doc.css";
17+
@import "@asciidoctor/tabs";
1718
@import "pagination.css";
1819
@import "swagger-ui.css";
1920
@import "home.css";

src/js/05-tabset.js

-133
This file was deleted.

src/js/vendor/tabs.bundle.js

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
require("@asciidoctor/tabs")

src/partials/footer-scripts.hbs

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
{{> terminal}}
1212
</template>
1313
<script id="site-script" src="{{{uiRootPath}}}/js/site.js"></script>
14+
<script async src="{{{uiRootPath}}}/js/vendor/tabs.js"></script>
1415
{{#with page.attributes.content-scripts}}
1516
{{{this}}}
1617
{{/with}}

0 commit comments

Comments
 (0)