chore(): begin adding ionic components to mono-repo.

This commit is contained in:
Josh Thomas
2017-06-21 09:33:06 -05:00
parent 1181fe98fc
commit bd5b67304d
2159 changed files with 15687 additions and 147 deletions

View File

@ -0,0 +1,96 @@
var config = require('../config.json');
module.exports = function(gulp, flags) {
gulp.task('docs', [], function() {
var Dgeni = require('dgeni');
var semver = require('semver');
var docVersion = flags['doc-version'] || 'nightly';
var initialVersionBuild = flags['initial-build'] || false;
if (docVersion != 'nightly' && !semver.valid(docVersion)) {
console.log('Usage: gulp docs --doc-version=(nightly|versionName)\nversionName must be a valid semver version.');
return process.exit(1);
}
try {
var ionicPackage = require('./dgeni-config')(docVersion, initialVersionBuild);
var dgeni = new Dgeni([ionicPackage]);
return dgeni.generate();
} catch (err) {
console.log(err.stack);
}
});
gulp.task('docs.demos', ['demos', 'src', 'temp.hack'], function(){
return gulp.src([
'dist/**',
'!dist/e2e',
'!dist/e2e/**/*',
'!dist/ionic-site',
'!dist/ionic-site/**/*',
'!dist/src',
'!dist/src/**/*'
])
.pipe(gulp.dest(config.docsDest + '/dist'));
});
gulp.task('docs.sass-variables', function() {
var fs = require('fs');
var gutil = require('gulp-util');
var es = require('event-stream');
var mkdirp = require('mkdirp');
var path = require('path');
var Entities = require('html-entities').AllHtmlEntities;
entities = new Entities();
var variables = [];
var outputFile = 'tmp/sass.json';
// Add the variable to the array, encode the html and remove !default from the value
function addVariable(variableName, defaultValue, file) {
defaultValue = entities.encode(defaultValue);
defaultValue = defaultValue.replace("!default;", "");
variables.push({
"name": variableName,
"defaultValue": defaultValue.trim(),
"file": path.relative('./', file.path)
});
}
return gulp.src('src/**/*.scss')
.pipe(es.map(function(file, callback) {
var contents = file.contents.toString();
var variableLine, variableName, defaultValue, multiline;
fs.createReadStream(file.path, {flags: 'r'})
.pipe(es.split())
.pipe(es.map(function (line, callback) {
if (line.charAt(0) == '$') {
variableLine = line.split(/:(.+)/);
variableName = variableLine[0];
defaultValue = variableLine[1];
// If there is a semicolon then it isn't a multiline value
multiline = line.indexOf(';') > -1 ? false : true;
if (!multiline && line.indexOf('!default') > -1)
addVariable(variableName, defaultValue, file);
} else if (multiline == true) {
defaultValue += '\n' + line;
// If the line has a semicolon then we've found the end of the value
if (line.indexOf(';') > -1 && line.indexOf('!default') > -1) {
addVariable(variableName, defaultValue, file);
multiline = false;
}
}
callback();
}));
callback();
}).on('end', function() {
gutil.log("Writing to file at", gutil.colors.cyan("/ionic-team/ionic/" + outputFile));
gutil.log("Place this file in", gutil.colors.cyan("/ionic-team/ionic-site/" + config.v2DocsDir + "/theming/overriding-ionic-variables/"), "in order to update the docs");
mkdirp.sync('tmp');
fs.writeFileSync(outputFile, JSON.stringify(variables));
}));
});
}