| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- var cacheBust = require('gulp-cache-bust');
- var foundationDocs = require('foundation-docs');
- var gulp = require('gulp');
- var newer = require('gulp-newer');
- var panini = require('panini');
- var supercollider = require('supercollider');
- var PANINI_CONFIG = {
- root: 'docs/pages/',
- layouts: 'docs/layout/',
- partials: ['docs/partials/', 'node_modules/foundation-docs/templates/partials/'],
- helpers: foundationDocs.handlebarsHelpers,
- }
- var SEARCH_SORT_ORDER = ['page', 'component', 'sass variable', 'sass mixin', 'sass function', 'js class', 'js function', 'js plugin option', 'js event'];
- var SEARCH_PAGE_TYPES = {
- 'library': function(item) {
- return !!(item.library);
- }
- }
- supercollider
- .config({
- template: foundationDocs.componentTemplate,
- marked: foundationDocs.marked,
- handlebars: foundationDocs.handlebars,
- keepFm: true,
- quiet: false,
- pageRoot: 'docs/pages',
- data: {
- repoName: 'foundation-sites',
- editBranch: 'develop'
- }
- })
- .searchConfig({
- extra: 'docs/search.yml',
- sort: SEARCH_SORT_ORDER,
- pageTypes: SEARCH_PAGE_TYPES
- })
- .adapter('sass')
- .adapter('js');
- // Build the search entries
- gulp.task('docs:search', function (done) {
- supercollider.buildSearch('_build/data/search.json', done);
- });
- // Assembles the modified layout, pages, and partials in the docs folder
- gulp.task('docs:pages', function() {
- return gulp.src('docs/pages/**/*')
- .pipe(newer({
- dest: '_build',
- ext: '.html'
- }))
- .pipe(supercollider.init())
- .pipe(panini(PANINI_CONFIG))
- .pipe(cacheBust({
- basePath: '_build/'
- }))
- .pipe(gulp.dest('_build'));
- });
- // Assembles layout, pages, and partials in the docs folder, even if not modified
- gulp.task('docs:pages:all', function() {
- panini.refresh();
- return gulp.src('docs/pages/**/*')
- .pipe(supercollider.init())
- .pipe(panini(PANINI_CONFIG))
- .pipe(cacheBust({
- basePath: '_build/'
- }))
- .pipe(gulp.dest('_build'));
- });
- gulp.task('docs:debug', gulp.series('docs:all', function(done) {
- var output = JSON.stringify(supercollider.tree, null, ' ');
- require('fs').writeFile('./_debug.json', output, done);
- }));
- gulp.task('docs', gulp.series('docs:pages', 'docs:search'));
- gulp.task('docs:all', gulp.series('docs:pages:all', 'docs:search'));
|