@@ -50,6 +50,65 @@ gulp.task("overwrite-package-json", (done) => {
5050 done ( ) ;
5151} ) ;
5252
53+ const createPrependerdLobStructure = ( cb ) => {
54+ const folders = [
55+ './dist/app-lob/angular-demos-lob' ,
56+ './dist/app-lob/angular-demos-lob/grid' ,
57+ './dist/app-lob/angular-demos-lob/tree-grid' ,
58+ './dist/app-lob/angular-demos-lob/grid-finjs-dock-manager' ,
59+ './dist/app-lob/angular-demos-lob/hierarchical-grid'
60+ ] ;
61+ folders . forEach ( dir => {
62+ if ( ! fs . existsSync ( dir ) ) {
63+ fs . mkdirSync ( dir ) ;
64+ }
65+ } ) ;
66+ cb ( ) ;
67+ }
68+
69+ const addPrerenderedLobPages = ( cb ) => {
70+ const { metadata } = require ( './projects/app-lob/src/app/metadata' ) ;
71+ const indexFilePath = path . resolve ( __dirname , './' , 'dist/app-lob' , 'index.html' ) ;
72+
73+ // read in the index.html file
74+ fs . readFile ( indexFilePath , 'utf8' , function ( err , data ) {
75+ if ( err ) {
76+ return console . error ( err ) ;
77+ }
78+
79+ metadata . forEach ( ( { url, title, description, og_url, folder } ) => {
80+ let result = data ;
81+ result = result . replace ( / \$ O G _ T I T L E / g, title ) ;
82+ result = result . replace ( / \$ O G _ D E S C R I P T I O N / g, description ) ;
83+ result = result . replace ( / \$ O G _ U R L / g, og_url ) ;
84+
85+ let filename = url . substring ( 1 ) . replace ( / \/ / g, '-' ) ;
86+ if ( filename . length ) {
87+ filename = filename + '.html' ;
88+ } else {
89+ filename = 'index.html' ;
90+ }
91+
92+ if ( folder ) {
93+ fs . writeFile ( path . resolve ( __dirname , './' , './dist/app-lob/angular-demos-lob/' + folder , filename ) , result , ( err ) => {
94+ if ( err ) {
95+ console . log ( err ) ;
96+ }
97+ } ) ;
98+ } else {
99+ fs . writeFile ( path . resolve ( __dirname , './' , 'dist/app-lob/angular-demos-lob' , filename ) , result , ( err ) => {
100+ if ( err ) {
101+ console . log ( err ) ;
102+ }
103+ } ) ;
104+ }
105+ } )
106+ } )
107+ cb ( ) ;
108+ }
109+
110+ exports . prerenderPages = gulp . series ( createPrependerdLobStructure , addPrerenderedLobPages ) ;
111+
53112gulp . task ( "watch-live-editing" , gulp . series ( "generate-live-editing" , ( ) => {
54113 gulp . watch ( [ "./src/**/*.*" , "!./src/assets/**" , "./live-editing/**/*.*" , "package.json" ] , function ( ) {
55114 Object . keys ( require . cache ) . forEach ( function ( key ) {
0 commit comments