@@ -9,6 +9,7 @@ const highlight = require('gulp-highlight-files');
99const rename = require ( 'gulp-rename' ) ;
1010const flatten = require ( 'gulp-flatten' ) ;
1111const hljs = require ( 'highlight.js' ) ;
12+ const dom = require ( 'gulp-dom' ) ;
1213
1314// Our docs contain comments of the form `<!-- example(...) -->` which serve as placeholders where
1415// example code should be inserted. We replace these comments with divs that have a
@@ -21,6 +22,24 @@ const EXAMPLE_PATTERN = /<!--\W*example\(([^)]+)\)\W*-->/g;
2122// documentation page. Using a RegExp to rewrite links in HTML files to work in the docs.
2223const LINK_PATTERN = / ( < a [ ^ > ] * ) h r e f = " ( [ ^ " ] * ) " / g;
2324
25+ // HTML tags in the markdown generated files that should receive a .docs-markdown-${tagName} class
26+ // for styling purposes.
27+ const MARKDOWN_TAGS_TO_CLASS_ALIAS = [
28+ 'a' ,
29+ 'h1' ,
30+ 'h2' ,
31+ 'h3' ,
32+ 'h4' ,
33+ 'h5' ,
34+ 'li' ,
35+ 'ol' ,
36+ 'p' ,
37+ 'table' ,
38+ 'tbody' ,
39+ 'td' ,
40+ 'th'
41+ ] ;
42+
2443task ( 'docs' , [ 'markdown-docs' , 'highlight-docs' , 'api-docs' ] ) ;
2544
2645task ( 'markdown-docs' , ( ) => {
@@ -38,6 +57,15 @@ task('markdown-docs', () => {
3857 }
3958 } ) )
4059 . pipe ( transform ( transformMarkdownFiles ) )
60+ . pipe ( dom ( function ( ) {
61+ MARKDOWN_TAGS_TO_CLASS_ALIAS . forEach ( ( tag ) => {
62+ Array . prototype . slice . call ( this . querySelectorAll ( tag ) ) . forEach ( ( el : any ) => {
63+ el . classList . add ( `docs-markdown-${ tag } ` ) ;
64+ } ) ;
65+ } ) ;
66+
67+ return this ;
68+ } ) )
4169 . pipe ( dest ( 'dist/docs/markdown' ) ) ;
4270} ) ;
4371
@@ -49,10 +77,10 @@ task('highlight-docs', () => {
4977 } ;
5078
5179 return src ( 'src/examples/**/*.+(html|css|ts)' )
52- . pipe ( flatten ( ) )
53- . pipe ( rename ( renameFile ) )
54- . pipe ( highlight ( ) )
55- . pipe ( dest ( 'dist/docs/examples' ) ) ;
80+ . pipe ( flatten ( ) )
81+ . pipe ( rename ( renameFile ) )
82+ . pipe ( highlight ( ) )
83+ . pipe ( dest ( 'dist/docs/examples' ) ) ;
5684} ) ;
5785
5886task ( 'api-docs' , ( ) => {
0 commit comments