From 91db6ee322d9cab2b18d8f3c7f8af6b32e724e32 Mon Sep 17 00:00:00 2001 From: "Matt (IPv4) Cowley" Date: Mon, 21 Dec 2020 15:15:35 +0000 Subject: [PATCH] Add build script for bundled DO Prism styles (#200) * Only ignore root build/dist/dev directories * Add build script for bundled DO Prism styles --- .gitignore | 15 ++++++------ package.json | 6 +++-- src/nginxconfig/build/prism.js | 42 +++++++++++++++++++++++++++++++++ src/nginxconfig/scss/style.scss | 4 ++-- 4 files changed, 56 insertions(+), 11 deletions(-) create mode 100644 src/nginxconfig/build/prism.js diff --git a/.gitignore b/.gitignore index 07812a4..01e7234 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,9 @@ -node_modules/ -.cache/ -dist/ -dev/ -.idea/ -.vscode/ -build/ +node_modules +.cache +.idea +.vscode .DS_Store + +/build/ +/dist/ +/dev/ diff --git a/package.json b/package.json index 1993906..e37bc5d 100644 --- a/package.json +++ b/package.json @@ -9,12 +9,13 @@ }, "main": "src/nginxconfig/mount.js", "scripts": { - "build": "npm run build:clean && npm run build:template && npm run build:static && npm run build:tool", + "build": "npm run build:clean && npm run build:template && npm run build:prism && npm run build:static && npm run build:tool", "build:clean": "do-vue clean", "build:template": "do-vue template && node src/nginxconfig/build/template.js", + "build:prism": "node src/nginxconfig/build/prism.js", "build:static": "copyfiles --up 2 src/static/{*,**/*} dist", "build:tool": "vue-cli-service build src/nginxconfig/mount.js --no-clean", - "dev": "npm run build:template && npm run dev:tool", + "dev": "npm run build:template && npm run build:prism && npm run dev:tool", "dev:tool": "vue-cli-service serve src/nginxconfig/mount.js", "analyze": "npm run build:tool -- --analyze", "deploy:spaces:comment": "do-vue comment nginxconfig", @@ -61,6 +62,7 @@ "duplicate-package-checker-webpack-plugin": "^3.0.0", "eslint": "^7.15.0", "eslint-plugin-vue": "^7.3.0", + "node-fetch": "^2.6.1", "sass": "^1.30.0", "sass-lint": "^1.13.1", "sass-lint-auto-fix": "^0.21.2", diff --git a/src/nginxconfig/build/prism.js b/src/nginxconfig/build/prism.js new file mode 100644 index 0000000..a0937d5 --- /dev/null +++ b/src/nginxconfig/build/prism.js @@ -0,0 +1,42 @@ +/* +Copyright 2020 DigitalOcean + +This code is licensed under the MIT License. +You may obtain a copy of the License at +https://github.com/digitalocean/nginxconfig.io/blob/master/LICENSE or https://mit-license.org/ + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and / or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions : + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +const fs = require('fs').promises; +const path = require('path'); +const fetch = require('node-fetch'); + +const main = async () => { + const resp = await fetch('https://assets.digitalocean.com/prism/prism.css'); + const text = await resp.text(); + + // Fix $676767 -> #676767 + const fixed = text.replace(/:\s*\$((?:[0-9a-fA-F]{3}){1,2});/g, ':#$1;'); + + const buildDir = path.join(__dirname, '..', '..', '..', 'build'); + await fs.writeFile(path.join(buildDir, 'prism.css'), fixed); +}; + +main().then(() => {}); diff --git a/src/nginxconfig/scss/style.scss b/src/nginxconfig/scss/style.scss index 8ab4c8d..e6964db 100644 --- a/src/nginxconfig/scss/style.scss +++ b/src/nginxconfig/scss/style.scss @@ -24,13 +24,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -@import url("https://assets.digitalocean.com/prism/prism.css"); - $header: #0071fe; $highlight: #f2c94c; @import "~do-bulma/src/style"; .do-bulma { + @import "../../../build/prism"; + $pretty--color-dark: $primary; $pretty--color-default: $primary; @import "~pretty-checkbox/src/pretty-checkbox";