You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by dj...@apache.org on 2020/03/13 01:14:23 UTC
[camel] 15/18: separate languages nav file
This is an automated email from the ASF dual-hosted git repository.
djencks pushed a commit to branch issue-14698-rearrange-adocs
in repository https://gitbox.apache.org/repos/asf/camel.git
commit c0ed7cf93e8ee570df756708927c7c41e17ac602
Author: David Jencks <dj...@apache.org>
AuthorDate: Thu Mar 12 18:10:35 2020 -0700
separate languages nav file
---
...plate => component-languages-nav.adoc.template} | 1 +
docs/component-nav.adoc.template | 1 +
docs/gulpfile.js | 75 ++++++++++++++++++----
docs/package.json | 1 +
docs/user-manual-nav.adoc.template | 4 +-
5 files changed, 68 insertions(+), 14 deletions(-)
diff --git a/docs/component-nav.adoc.template b/docs/component-languages-nav.adoc.template
similarity index 87%
copy from docs/component-nav.adoc.template
copy to docs/component-languages-nav.adoc.template
index 169357f..227dc6c 100644
--- a/docs/component-nav.adoc.template
+++ b/docs/component-languages-nav.adoc.template
@@ -1,4 +1,5 @@
<!-- generated:txt -->
<!-- endinject -->
+* Languages
<!-- inject:adoc -->
<!-- endinject -->
diff --git a/docs/component-nav.adoc.template b/docs/component-nav.adoc.template
index 169357f..133caf3 100644
--- a/docs/component-nav.adoc.template
+++ b/docs/component-nav.adoc.template
@@ -1,4 +1,5 @@
<!-- generated:txt -->
<!-- endinject -->
+* Components and Data Formats
<!-- inject:adoc -->
<!-- endinject -->
diff --git a/docs/gulpfile.js b/docs/gulpfile.js
index a6f529d..e931d40 100644
--- a/docs/gulpfile.js
+++ b/docs/gulpfile.js
@@ -16,6 +16,7 @@
*/
const { dest, series, parallel, src, symlink } = require('gulp');
const del = require('del');
+const filter = require('gulp-filter');
const inject = require('gulp-inject');
const map = require('map-stream')
const path = require('path');
@@ -35,7 +36,9 @@ function deleteComponentImageSymlinks() {
}
function createComponentSymlinks() {
- return src(['../core/camel-base/src/main/docs/*.adoc', '../core/camel-core-languages/src/main/docs/*.adoc', '../core/camel-xml-jaxp/src/main/docs/*.adoc', '../components/{*,*/*}/src/main/docs/*.adoc'])
+ const f = filter(['**','!**/*-language.adoc'])
+ return src(['../core/camel-base/src/main/docs/*.adoc','../components/{*,*/*}/src/main/docs/*.adoc'])
+ .pipe(f)
.pipe(map((file, done) => {
// this flattens the output to just .../pages/....adoc
// instead of .../pages/camel-.../src/main/docs/....adoc
@@ -55,6 +58,28 @@ function createComponentSymlinks() {
.pipe(dest('components/modules/ROOT/pages/'));
}
+function createComponentLanguageSymlinks() {
+ return src(['../components/{*,*/*}/src/main/docs/*-language.adoc'])
+ .pipe(map((file, done) => {
+ // this flattens the output to just .../pages/....adoc
+ // instead of .../pages/camel-.../src/main/docs/....adoc
+ file.base = path.dirname(file.path);
+ console.log(`copying ${file.path}`)
+ done(null, file);
+ }))
+ // Antora disabled symlinks, there is an issue open
+ // https://gitlab.com/antora/antora/issues/188
+ // to reinstate symlink support, until that's resolved
+ // we'll simply copy over instead of creating symlinks
+ // .pipe(symlink('components/modules/ROOT/pages/', {
+ // relativeSymlinks: true
+ // }));
+ // uncomment above .pipe() and remove the .pipe() below
+ // when antora#188 is resolved
+ .pipe(insertSourceAttribute())
+ .pipe(dest('components/modules/languages/pages/'));
+}
+
function createComponentImageSymlinks() {
return src('../components/{*,*/*}/src/main/docs/*.png')
.pipe(map((file, done) => {
@@ -124,30 +149,45 @@ function insertSourceAttribute() {
function createComponentNav() {
return src('component-nav.adoc.template')
.pipe(insertGeneratedNotice())
- .pipe(inject(src(['../core/camel-base/src/main/docs/*-component.adoc', '../components/{*,*/*}/src/main/docs/*.adoc']).pipe(sort()), {
+ .pipe(inject(src(['components/modules/ROOT/pages/**/*.adoc']).pipe(sort()), {
removeTags: true,
transform: (filename, file) => {
const filepath = path.basename(filename);
const title = titleFrom(file);
- return `* xref:${filepath}[${title}]`;
+ return `** xref:${filepath}[${title}]`;
}
}))
.pipe(rename('nav.adoc'))
.pipe(dest('components/modules/ROOT/'))
}
-function createUserManualNav() {
- return src('user-manual-nav.adoc.template')
+function createComponentLanguagesNav() {
+ return src('component-languages-nav.adoc.template')
.pipe(insertGeneratedNotice())
- .pipe(inject(src('../core/camel-core-languages/src/main/docs/modules/languages/pages/*.adoc').pipe(sort()), {
+ .pipe(inject(src(['components/modules/languages/pages/**/*.adoc', '../core/camel-core-languages/src/main/docs/modules/languages/pages/*.adoc']).pipe(sort()), {
removeTags: true,
- name: 'languages',
transform: (filename, file) => {
const filepath = path.basename(filename);
const title = titleFrom(file);
- return ` ** xref:languages:${filepath}[${title}]`;
+ return `** xref:${filepath}[${title}]`;
}
}))
+ .pipe(rename('nav.adoc'))
+ .pipe(dest('components/modules/languages/'))
+}
+
+function createUserManualNav() {
+ return src('user-manual-nav.adoc.template')
+ .pipe(insertGeneratedNotice())
+ // .pipe(inject(src('../core/camel-core-languages/src/main/docs/modules/languages/pages/*.adoc').pipe(sort()), {
+ // removeTags: true,
+ // name: 'languages',
+ // transform: (filename, file) => {
+ // const filepath = path.basename(filename);
+ // const title = titleFrom(file);
+ // return ` ** xref:languages:${filepath}[${title}]`;
+ // }
+ // }))
.pipe(inject(src('../core/camel-core-engine/src/main/docs/modules/eips/pages/*.adoc').pipe(sort()), {
removeTags: true,
name: 'eips',
@@ -168,6 +208,7 @@ const extractExamples = function(file, enc, next) {
let exampleFiles = new Set()
while (example = includes.exec(asciidoc)) {
let examplePath = path.resolve(path.join('..', example[1]));
+ // console.log(`examplePath: ${examplePath}`)
exampleFiles.add(examplePath);
}
@@ -190,6 +231,18 @@ function createUserManualExamples() {
.pipe(dest('user-manual/modules/ROOT/examples/'));
}
+function createUserManualEIPExamples() {
+ return src('../core/camel-core-engine/src/main/docs/user-manual/modules/eips/**/*.adoc')
+ .pipe(through2.obj(extractExamples))
+ .pipe(dest('user-manual/modules/ROOT/examples/'));
+}
+
+function createUserManualLanguageExamples() {
+ return src('../core/camel-core-languages/src/main/docs/user-manual/modules/languages/**/*.adoc')
+ .pipe(through2.obj(extractExamples))
+ .pipe(dest('user-manual/modules/ROOT/examples/'));
+}
+
function createComponentExamples() {
return src('../components/{*,*/*}/src/main/docs/*.adoc')
.pipe(through2.obj(extractExamples))
@@ -197,12 +250,12 @@ function createComponentExamples() {
}
const symlinks = parallel(
- series(deleteComponentSymlinks, createComponentSymlinks),
+ series(deleteComponentSymlinks, createComponentSymlinks, createComponentLanguageSymlinks),
series(deleteComponentImageSymlinks, createComponentImageSymlinks)
// series(deleteUserManualSymlinks, createUserManualSymlinks)
);
-const nav = parallel(createComponentNav, createUserManualNav);
-const examples = series(deleteExamples, createUserManualExamples, createComponentExamples);
+const nav = parallel(createComponentNav, createComponentLanguagesNav, createUserManualNav);
+const examples = series(deleteExamples, createUserManualExamples, createUserManualEIPExamples, createUserManualLanguageExamples, createComponentExamples);
exports.symlinks = symlinks;
exports.nav = nav;
diff --git a/docs/package.json b/docs/package.json
index b28be99..f338d23 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -7,6 +7,7 @@
"del": "^3.0.0",
"gulp": "^4.0.0",
"gulp-cli": "^2.0.1",
+ "gulp-filter": "^6.0.0",
"gulp-inject": "^5.0.2",
"gulp-rename": "^1.4.0",
"gulp-replace": "^1.0.0",
diff --git a/docs/user-manual-nav.adoc.template b/docs/user-manual-nav.adoc.template
index 7a697b0..8fd21cd 100644
--- a/docs/user-manual-nav.adoc.template
+++ b/docs/user-manual-nav.adoc.template
@@ -50,9 +50,7 @@
** xref:java-dsl.adoc[Java DSL]
** xref:spring.adoc[Spring support]
* xref:using-osgi-blueprint-with-camel.adoc[Using OSGi blueprint with Camel]
-* Supported expression languages
-<!-- languages:adoc -->
-<!-- endinject -->
+* Supported expression languages -- see Components documentation
* xref:enterprise-integration-patterns.adoc[Enterprise Integration Patterns]
<!-- eips:adoc -->
<!-- endinject -->