kriptopter/konstrui.js

26 lines
815 B
JavaScript

// node konstrui provo.html spa
// node konstrui app.html kriptopter.html
const { writeFileSync, readFileSync } = require('fs')
, { resolve } = require('path')
, io = process.argv.slice(2)
, src = /src="(.*?)"/
, href = /href="(.*?)"/
, type = /type="(.*?)"/
writeFileSync(
resolve(__dirname, io[1])
, readFileSync( resolve(__dirname, io[0]), 'utf8')
.replace(/<script (.*?)><\/script>/g
, (s,$1)=> $1.match(src)
? `<script ${$1.replace(src,'')}>/*${$1.match(src)[1]}*/${readFileSync('./'+$1.match(src)[1], 'utf8')}</script>`
: s
)
.replace(/<link rel="stylesheet" (.*?)>/g
, (s,$1)=> $1.match(href) && !/^https?:\/\//.test( $1.match(href)[1] )
? `<style ${$1.replace(href,'')}>/*${$1.match(href)[1]}*/${readFileSync('./'+$1.match(href)[1], 'utf8')}</style>`
: s
)
, 'utf8'
)