diff options
| author | Fuwn <[email protected]> | 2020-12-14 23:29:56 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2020-12-14 23:29:56 -0800 |
| commit | 002eb44eee98dc838bc854b945ab0cbf4884dd57 (patch) | |
| tree | 428ae460c79baf32fba8ecf16e6fe02a88c3b971 /semantic/tasks/docs | |
| parent | :star: (diff) | |
| download | me-rewrite-angular.tar.xz me-rewrite-angular.zip | |
:star:rewrite-angular
Diffstat (limited to 'semantic/tasks/docs')
| -rw-r--r-- | semantic/tasks/docs/build.js | 111 | ||||
| -rw-r--r-- | semantic/tasks/docs/metadata.js | 138 | ||||
| -rw-r--r-- | semantic/tasks/docs/serve.js | 95 |
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); - -}; |