aboutsummaryrefslogtreecommitdiff
path: root/semantic/tasks/docs
diff options
context:
space:
mode:
authorFuwn <[email protected]>2020-12-14 23:29:56 -0800
committerFuwn <[email protected]>2020-12-14 23:29:56 -0800
commit002eb44eee98dc838bc854b945ab0cbf4884dd57 (patch)
tree428ae460c79baf32fba8ecf16e6fe02a88c3b971 /semantic/tasks/docs
parent:star: (diff)
downloadme-rewrite-angular.tar.xz
me-rewrite-angular.zip
Diffstat (limited to 'semantic/tasks/docs')
-rw-r--r--semantic/tasks/docs/build.js111
-rw-r--r--semantic/tasks/docs/metadata.js138
-rw-r--r--semantic/tasks/docs/serve.js95
3 files changed, 0 insertions, 344 deletions
diff --git a/semantic/tasks/docs/build.js b/semantic/tasks/docs/build.js
deleted file mode 100644
index 9172c5e..0000000
--- a/semantic/tasks/docs/build.js
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************
- Build Docs
- *******************************/
-
-var
- gulp = require('gulp'),
-
- // node dependencies
- console = require('better-console'),
- fs = require('fs'),
- map = require('map-stream'),
-
- // gulp dependencies
- print = require('gulp-print').default,
-
- // user config
- config = require('../config/docs'),
-
- // install config
- tasks = require('../config/tasks'),
- configSetup = require('../config/project/config'),
- install = require('../config/project/install'),
-
- // metadata parsing
- metadata = require('./metadata'),
-
- // build methods
- buildJS = require('../build/javascript').buildJS,
- buildCSS = require('../build/css').buildCSS,
- buildAssets = require('../build/assets').buildAssets,
-
- // shorthand
- log = tasks.log
-;
-
-
-module.exports = function (callback) {
-
- // use a different config
- config = configSetup.addDerivedValues(config);
-
- // shorthand
- const globs = config.globs;
- const output = config.paths.output;
-
- /*--------------
- Parse metadata
- ---------------*/
-
- function buildMetaData() {
- // parse all *.html.eco in docs repo, data will end up in
- // metadata.result object. Note this assumes that the docs
- // repository is present and in proper directory location as
- // specified by docs.json.
- console.info('Building Metadata');
- return gulp.src(config.paths.template.eco + globs.eco)
- .pipe(map(metadata.parser))
- .on('end', function () {
- fs.mkdirSync(output.metadata, {recursive: true});
- fs.writeFileSync(output.metadata + '/metadata.json', JSON.stringify(metadata.result, null, 2));
- });
- }
-
- /*--------------
- Copy Examples
- ---------------*/
-
- function copyExample() {
- // copy src/ to server
- console.info('Copying examples');
- return gulp.src('examples/**/*.*')
- .pipe(gulp.dest(output.examples))
- .pipe(print(log.created));
- }
-
-
- /*--------------
- Copy Source
- ---------------*/
-
- function copyLess() {
- // copy src/ to server
- console.info('Copying LESS source');
- return gulp.src('src/**/*.*')
- .pipe(gulp.dest(output.less))
- .pipe(print(log.created));
- }
-
-
- /*--------------
- Build
- ---------------*/
-
- console.info('Building Semantic for docs');
-
- if (!install.isSetup()) {
- console.error('Cannot build files. Run "gulp install" to set-up Semantic');
- callback();
- return;
- }
-
- gulp.series(
- buildMetaData,
- copyExample,
- copyLess,
- (callback) => buildJS('docs', config, callback),
- (callback) => buildCSS('docs', config, {}, callback),
- (callback) => buildAssets(config, callback)
- )(callback);
-
-};
diff --git a/semantic/tasks/docs/metadata.js b/semantic/tasks/docs/metadata.js
deleted file mode 100644
index bfc8630..0000000
--- a/semantic/tasks/docs/metadata.js
+++ /dev/null
@@ -1,138 +0,0 @@
-
-/*******************************
- Summarize Docs
-*******************************/
-
-var
- // node dependencies
- console = require('better-console'),
- fs = require('fs'),
- YAML = require('yamljs')
-;
-
-var data = {};
-
-/**
- * Test for prefix in string.
- * @param {string} str
- * @param {string} prefix
- * @return {boolean}
- */
-function startsWith(str, prefix) {
- return str.indexOf(prefix) === 0;
-};
-
-function inArray(needle, haystack) {
- var length = haystack.length;
- for(var i = 0; i < length; i++) {
- if(haystack[i] == needle) return true;
- }
- return false;
-}
-
-/**
- * Parses a file for metadata and stores result in data object.
- * @param {File} file - object provided by map-stream.
- * @param {function(?,File)} - callback provided by map-stream to
- * reply when done.
- */
-function parser(file, callback) {
- // file exit conditions
- if(file.isNull()) {
- return callback(null, file); // pass along
- }
-
- if(file.isStream()) {
- return callback(new Error('Streaming not supported'));
- }
-
- try {
-
- var
- /** @type {string} */
- text = String(file.contents.toString('utf8')),
- lines = text.split('\n'),
- filename = file.path.substring(0, file.path.length - 4),
- key = 'server/documents',
- position = filename.indexOf(key)
- ;
-
- // exit conditions
- if(!lines) {
- return;
- }
- if(position < 0) {
- return callback(null, file);
- }
-
- filename = filename.substring(position + key.length + 1, filename.length);
-
- var
- lineCount = lines.length,
- active = false,
- yaml = [],
- categories = [
- 'UI Element',
- 'UI Global',
- 'UI Collection',
- 'UI View',
- 'UI Module',
- 'UI Behavior'
- ],
- index,
- meta,
- line
- ;
-
- for(index = 0; index < lineCount; index++) {
-
- line = lines[index];
-
- // Wait for metadata block to begin
- if(!active) {
- if(startsWith(line, '---')) {
- active = true;
- }
- continue;
- }
- // End of metadata block, stop parsing.
- if(startsWith(line, '---')) {
- break;
- }
- yaml.push(line);
- }
-
-
- // Parse yaml.
- meta = YAML.parse(yaml.join('\n'));
- if(meta && meta.type && meta.title && inArray(meta.type, categories) ) {
- meta.category = meta.type;
- meta.filename = filename;
- meta.url = '/' + filename;
- meta.title = meta.title;
- // Primary key will by filepath
- data[meta.element] = meta;
- }
- else {
- // skip
- // console.log(meta);
- }
-
-
- }
-
- catch(error) {
- console.log(error, filename);
- }
-
- callback(null, file);
-
-}
-
-/**
- * Export function expected by map-stream.
- */
-module.exports = {
- result : data,
- parser : parser
-};
diff --git a/semantic/tasks/docs/serve.js b/semantic/tasks/docs/serve.js
deleted file mode 100644
index 51af308..0000000
--- a/semantic/tasks/docs/serve.js
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************
- Serve Docs
- *******************************/
-var
- gulp = require('gulp'),
-
- // node dependencies
- console = require('better-console'),
-
- // gulp dependencies
- print = require('gulp-print').default,
-
- // user config
- config = require('../config/docs'),
-
- // task config
- tasks = require('../config/tasks'),
- configSetup = require('../config/project/config'),
-
- // shorthand
- log = tasks.log,
-
- css = require('../build/css'),
- js = require('../build/javascript'),
- assets = require('../build/assets')
-;
-
-
-module.exports = function () {
-
- // use a different config
- config = configSetup.addDerivedValues(config);
-
- console.clear();
- console.log('Watching source files for changes');
-
- /*--------------
- Copy Source
- ---------------*/
-
- gulp
- .watch(['src/**/*.*'])
- .on('all', function (event, path) {
- // We don't handle deleted files yet
- if (event === 'unlink' || event === 'unlinkDir') {
- return;
- }
- return gulp.src(path, {
- base: 'src/'
- })
- .pipe(gulp.dest(config.paths.output.less))
- .pipe(print(log.created))
- ;
- })
- ;
-
- /*--------------
- Copy Examples
- ---------------*/
-
- gulp
- .watch(['examples/**/*.*'])
- .on('all', function (event, path) {
- // We don't handle deleted files yet
- if (event === 'unlink' || event === 'unlinkDir') {
- return;
- }
- return gulp.src(path, {
- base: 'examples/'
- })
- .pipe(gulp.dest(config.paths.output.examples))
- .pipe(print(log.created))
- ;
- })
- ;
-
- /*--------------
- Watch CSS
- ---------------*/
-
- css.watch('docs', config);
-
- /*--------------
- Watch JS
- ---------------*/
-
- js.watch('docs', config);
-
- /*--------------
- Watch Assets
- ---------------*/
-
- assets.watch('docs', config);
-
-};