Compress website css.

This commit is contained in:
kovacsv 2021-08-06 13:49:50 +02:00
parent 2a71f7d6b5
commit bfc07dd136
2 changed files with 27 additions and 8 deletions

View File

@ -5,6 +5,7 @@
"repository": "github:kovacsv/Online3DViewer", "repository": "github:kovacsv/Online3DViewer",
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"clean-css-cli": "^5.3.3",
"eslint": "^7.30.0", "eslint": "^7.30.0",
"google-closure-compiler": "^20210302.0.0", "google-closure-compiler": "^20210302.0.0",
"http-server": "^0.12.3", "http-server": "^0.12.3",
@ -51,7 +52,10 @@
"no-multiple-empty-lines": "error", "no-multiple-empty-lines": "error",
"comma-spacing": "error", "comma-spacing": "error",
"prefer-arrow-callback": "error", "prefer-arrow-callback": "error",
"quotes": ["error", "single"], "quotes": [
"error",
"single"
],
"block-scoped-var": "error", "block-scoped-var": "error",
"no-loop-func": "error", "no-loop-func": "error",
"no-undef": "error", "no-undef": "error",
@ -59,5 +63,5 @@
"eqeqeq": "error", "eqeqeq": "error",
"no-unused-vars": "off" "no-unused-vars": "off"
} }
} }
} }

View File

@ -24,7 +24,18 @@ def ESLintFolder (folder):
return False return False
return True return True
def CompressFiles (inputFiles, outputFile): def CompressCssFiles (inputFiles, outputFile):
parameters = ['-o', outputFile]
for inputFile in inputFiles:
extension = os.path.splitext (inputFile)[1]
if extension == '.css':
parameters.append (inputFile)
result = Tools.RunCommand ('cleancss', parameters)
if result != 0:
return False
return True
def CompressJavascriptFiles (inputFiles, outputFile):
parameters = [] parameters = []
for inputFile in inputFiles: for inputFile in inputFiles:
extension = os.path.splitext (inputFile)[1] extension = os.path.splitext (inputFile)[1]
@ -47,7 +58,6 @@ def CreateDestinationDir (config, rootDir, websiteDir, version, testBuild):
shutil.copy2 (os.path.join (rootDir, 'website', 'index.html'), websiteDir) shutil.copy2 (os.path.join (rootDir, 'website', 'index.html'), websiteDir)
shutil.copy2 (os.path.join (rootDir, 'website', 'embed.html'), websiteDir) shutil.copy2 (os.path.join (rootDir, 'website', 'embed.html'), websiteDir)
shutil.copy2 (os.path.join (rootDir, 'website', 'robots.txt'), websiteDir) shutil.copy2 (os.path.join (rootDir, 'website', 'robots.txt'), websiteDir)
shutil.copy2 (os.path.join (rootDir, 'website', 'o3dv', 'website.css'), os.path.join (webSourcesDir, 'o3dv.website.css'))
shutil.copytree (os.path.join (rootDir, 'libs'), os.path.join (websiteDir, 'libs')) shutil.copytree (os.path.join (rootDir, 'libs'), os.path.join (websiteDir, 'libs'))
shutil.copytree (os.path.join (rootDir, 'website', 'assets'), os.path.join (websiteDir, 'assets')) shutil.copytree (os.path.join (rootDir, 'website', 'assets'), os.path.join (websiteDir, 'assets'))
shutil.copytree (os.path.join (rootDir, 'website', 'info'), os.path.join (websiteDir, 'info')) shutil.copytree (os.path.join (rootDir, 'website', 'info'), os.path.join (websiteDir, 'info'))
@ -55,7 +65,7 @@ def CreateDestinationDir (config, rootDir, websiteDir, version, testBuild):
libFiles = config['lib_files'] libFiles = config['lib_files']
importerFiles = ['o3dv/o3dv.min.js'] importerFiles = ['o3dv/o3dv.min.js']
websiteFiles = [ websiteFiles = [
'o3dv/o3dv.website.css', 'o3dv/o3dv.website.min.css',
'o3dv/o3dv.website.min.js' 'o3dv/o3dv.website.min.js'
] ]
@ -97,7 +107,6 @@ def CreatePackage (rootDir, websiteDir, packageDir, version):
libs = [ libs = [
'three.min-129.js', 'three.min-129.js',
'three.license.md' 'three.license.md'
] ]
externalLibs = [ externalLibs = [
'draco_decoder.js', 'draco_decoder.js',
@ -156,17 +165,23 @@ def Main (argv):
CreateDestinationDir (config, rootDir, websiteDir, version, testBuild) CreateDestinationDir (config, rootDir, websiteDir, version, testBuild)
PrintInfo ('Compress importer sources.') PrintInfo ('Compress importer sources.')
compressResult = CompressFiles (config['engine_files'], os.path.join (websiteDir, 'o3dv', 'o3dv.min.js')) compressResult = CompressJavascriptFiles (config['engine_files'], os.path.join (websiteDir, 'o3dv', 'o3dv.min.js'))
if not compressResult: if not compressResult:
PrintError ('Compress importer sources failed.') PrintError ('Compress importer sources failed.')
return 1 return 1
PrintInfo ('Compress website sources.') PrintInfo ('Compress website sources.')
compressResult = CompressFiles (config['website_files_js'], os.path.join (websiteDir, 'o3dv', 'o3dv.website.min.js')) compressResult = CompressJavascriptFiles (config['website_files_js'], os.path.join (websiteDir, 'o3dv', 'o3dv.website.min.js'))
if not compressResult: if not compressResult:
PrintError ('Compress website sources failed.') PrintError ('Compress website sources failed.')
return 1 return 1
PrintInfo ('Compress website css sources.')
compressResult = CompressCssFiles (config['website_files_css'], os.path.join (websiteDir, 'o3dv', 'o3dv.website.min.css'))
if not compressResult:
PrintError ('Compress website css sources failed.')
return 1
PrintInfo ('Create package.') PrintInfo ('Create package.')
packageResult = CreatePackage (rootDir, websiteDir, packageDir, version) packageResult = CreatePackage (rootDir, websiteDir, packageDir, version)
if not packageResult: if not packageResult: