Skip to content

Commit 8d5de66

Browse files
added insertExample
1 parent 95d7385 commit 8d5de66

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

Gruntfile.cjs

+27-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ function make(grunt) {
6363

6464
//------ Add Doc Tasks
6565
grunt.registerTask('noTask', []);
66-
grunt.registerTask('doc', ['clean:docs', 'copy:example', 'typedoc', 'sourceCode', 'copy:docs', `${(type === 'app')? 'copy:docs2NPM' : 'noTask'}`]);
66+
grunt.registerTask('doc', ['clean:docs', 'copy:example', 'typedoc', 'insertExamples', 'sourceCode', 'copy:docs', `${(type === 'app')? 'copy:docs2NPM' : 'noTask'}`]);
6767

6868
//------ Add Staging Tasks
6969
grunt.registerTask('stage', [`${(type === 'app')? 'copy:app2NPM': 'copy:lib2NPM'}`]);
@@ -103,6 +103,7 @@ function make(grunt) {
103103

104104
grunt.registerMultiTask('sourceCode', translateSourcesToHTML);
105105
grunt.registerMultiTask('cleanupCoverage', removeTimestampFromCoverage);
106+
grunt.registerMultiTask('insertExamples', insertExamples);
106107

107108
//------ Add general help
108109
grunt.registerTask('h', 'help on grunt options', () => {
@@ -298,6 +299,13 @@ function make(grunt) {
298299
rename: (dest, src) => dest + src.replace('.ts','.html')
299300
}
300301
},
302+
insertExamples: {
303+
main: { // insert example code into comments
304+
cwd: 'src/',
305+
src: ['**/*.js', '**/*.css'],
306+
dest: `docs/data/${lib}.json`
307+
}
308+
},
301309
cleanupCoverage: {
302310
main: { // translate all *.ts files in src *.html files in doc
303311
expand: true,
@@ -439,4 +447,22 @@ function make(grunt) {
439447
function writeIndexJson() {
440448
grunt.file.write('docs/data/index.json', `{"docs": ["${lib}.json"], "title": "HS Libraries"}`);
441449
}
450+
451+
function insertExamples() {
452+
this.files.map(f => {
453+
let changed = false;
454+
const content = grunt.file.read(f.dest);
455+
const result = content.replace(/ximport='(.*?)'/g, (match, p1) => {
456+
const i = f.src.indexOf(p1);
457+
if (i>=0) {
458+
changed = true;
459+
grunt.log.writeln(`substituting ${match} = ${p1} for ${f.cwd+f.src[i]}`);
460+
const replacement = grunt.file.read(f.cwd+f.src[i]).replace(/\n/g, "\\n").replace(/\"/g, "\\\"");
461+
return '/*ximport*/' + replacement;
462+
}
463+
return '';
464+
});
465+
if (changed) { grunt.file.write(f.dest, result); }
466+
})
467+
}
442468
};

0 commit comments

Comments
 (0)