diff --git a/node-scripts/minify-svgs.mjs b/node-scripts/minify-svgs.mjs new file mode 100644 index 000000000..bedb18383 --- /dev/null +++ b/node-scripts/minify-svgs.mjs @@ -0,0 +1,63 @@ +import fs from 'node:fs/promises'; +import { optimize } from 'svgo'; +import { glob } from 'glob'; +import path from 'node:path'; + +// Find non-minified SVG imports in codebase with regex search: (\S+(? { + const data = await fs.readFile(file, 'utf-8'); + const result = optimize(data, config); + + if (result.error) { + console.error(result.error); + process.exit(1); + } + + const sizeDelta = result.data.length - data.length; + bytesSaved += sizeDelta; + + console.log(file); + console.log( + sizeDelta <= 0 ? ' 🟢' : ' 🟡', + `${((sizeDelta / data.length) * 100).toFixed(2)}%` + ); + console.log(' ', (sizeDelta / 1024).toFixed(2), 'kB'); + + const { dir, name } = path.parse(file); + const destinationFile = path.join(dir, `${name}.mini.svg`); + + await fs.writeFile(destinationFile, result.data, 'utf-8'); +}); + +await Promise.all(promises); + +console.log( + 'Done!', + (bytesSaved / 1024).toFixed(2), + 'kB size difference total' +); diff --git a/package-lock.json b/package-lock.json index 6982ad8eb..0c8daee13 100644 --- a/package-lock.json +++ b/package-lock.json @@ -50,7 +50,7 @@ "prettier": "^3.0.3", "sharp": "^0.32.6", "slugify": "^1.6.6", - "svgo": "^3.0.2" + "svgo": "^3.3.2" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -22818,15 +22818,17 @@ } }, "node_modules/svgo": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.0.2.tgz", - "integrity": "sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", "dev": true, + "license": "MIT", "dependencies": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", "css-select": "^5.1.0", - "css-tree": "^2.2.1", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", "csso": "^5.0.5", "picocolors": "^1.0.0" }, diff --git a/package.json b/package.json index 4461be349..bca45472a 100644 --- a/package.json +++ b/package.json @@ -62,6 +62,6 @@ "prettier": "^3.0.3", "sharp": "^0.32.6", "slugify": "^1.6.6", - "svgo": "^3.0.2" + "svgo": "^3.3.2" } } diff --git a/src/components/CodeExampleList.js b/src/components/CodeExampleList.js index 7eaf82134..220eca877 100644 --- a/src/components/CodeExampleList.js +++ b/src/components/CodeExampleList.js @@ -5,9 +5,9 @@ import Image from './Image'; import * as css from './CodeExampleList.module.css'; -import NodeIcon from '../images/node-icon.svg'; -import P5Icon from '../images/p5js-icon.svg'; -import ProcessingLogo from '../images/processing-icon.svg'; +import NodeIcon from '../images/node-icon.mini.svg'; +import P5Icon from '../images/p5js-icon.mini.svg'; +import ProcessingLogo from '../images/processing-icon.mini.svg'; const icons = { p5: () => , diff --git a/src/components/Footer.js b/src/components/Footer.js index 32086da39..e5e3e7ab1 100644 --- a/src/components/Footer.js +++ b/src/components/Footer.js @@ -5,7 +5,7 @@ import cn from 'classnames'; import * as css from './Footer.module.css'; -import Logo from '../images/logo.svg'; +import Logo from '../images/logo.mini.svg'; import { FaGithub, @@ -37,7 +37,7 @@ const Footer = () => {
The Coding Train illustration { rel="noopener noreferrer"> Nebula logo diff --git a/src/components/PassengerShowcasePanel.js b/src/components/PassengerShowcasePanel.js index 44f5f00fe..7649c1a13 100644 --- a/src/components/PassengerShowcasePanel.js +++ b/src/components/PassengerShowcasePanel.js @@ -5,7 +5,7 @@ import Image from './Image'; import * as css from './PassengerShowcasePanel.module.css'; -import PlayButton from '../images/playbutton.svg'; +import PlayButton from '../images/playbutton.mini.svg'; import { useIsFirstRender } from '../hooks'; import { shuffleCopy } from '../utils'; diff --git a/src/components/Question.js b/src/components/Question.js index bd0ffafe5..ed1365dc3 100644 --- a/src/components/Question.js +++ b/src/components/Question.js @@ -6,7 +6,7 @@ import YouTubeVideo from './YouTubeVideo'; import * as css from './Question.module.css'; -import Open from '../images/open.svg'; +import Open from '../images/open.mini.svg'; import { useLinkParsedText } from '../hooks'; diff --git a/src/components/TimestampTimeline.js b/src/components/TimestampTimeline.js index 6885ba5a3..4d93bb209 100644 --- a/src/components/TimestampTimeline.js +++ b/src/components/TimestampTimeline.js @@ -1,7 +1,7 @@ import React, { memo } from 'react'; import cn from 'classnames'; -import PlayButton from '../images/playbutton-filled.svg'; +import PlayButton from '../images/playbutton-filled.mini.svg'; import * as css from './TimestampTimeline.module.css'; diff --git a/src/components/TopBar.js b/src/components/TopBar.js index b04254c8c..98dbef205 100644 --- a/src/components/TopBar.js +++ b/src/components/TopBar.js @@ -2,7 +2,7 @@ import React, { useEffect, useState } from 'react'; import { Link } from 'gatsby'; import Menu from './Menu'; -import NewLogo from '../images/new-logo.svg'; +import NewLogo from '../images/new-logo.mini.svg'; import * as css from './TopBar.module.css'; diff --git a/src/components/VideoCard.js b/src/components/VideoCard.js index f9ff3495c..cc1494999 100644 --- a/src/components/VideoCard.js +++ b/src/components/VideoCard.js @@ -3,7 +3,7 @@ import { Link } from 'gatsby'; import cn from 'classnames'; import Image from './Image'; -import Play from '../images/play.svg'; +import Play from '../images/play.mini.svg'; import * as css from './VideoCard.module.css'; diff --git a/src/components/tracks/Card.js b/src/components/tracks/Card.js index 4d5024320..697cf2048 100644 --- a/src/components/tracks/Card.js +++ b/src/components/tracks/Card.js @@ -12,7 +12,7 @@ import { filteredPath } from '../../utils'; import * as css from './Card.module.css'; import { pattern } from '../../styles/styles.module.css'; -import PlayButton from '../../images/playbutton.svg'; +import PlayButton from '../../images/playbutton.mini.svg'; const FilteredVideosSection = ({ videos: allVideos, trackSlug }) => { const [expanded, setExpanded] = useState(false); diff --git a/src/images/characters/AllAboard.mini.svg b/src/images/characters/AllAboard.mini.svg index 4124f403a..17b129693 100644 --- a/src/images/characters/AllAboard.mini.svg +++ b/src/images/characters/AllAboard.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Asterik_1.mini.svg b/src/images/characters/Asterik_1.mini.svg index 3b5264640..ccbdb8abe 100644 --- a/src/images/characters/Asterik_1.mini.svg +++ b/src/images/characters/Asterik_1.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Asterik_2.mini.svg b/src/images/characters/Asterik_2.mini.svg index c580889b6..548a4d632 100644 --- a/src/images/characters/Asterik_2.mini.svg +++ b/src/images/characters/Asterik_2.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Asterik_3.mini.svg b/src/images/characters/Asterik_3.mini.svg index 04c5bfb66..167487342 100644 --- a/src/images/characters/Asterik_3.mini.svg +++ b/src/images/characters/Asterik_3.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Asterik_4.mini.svg b/src/images/characters/Asterik_4.mini.svg index 97dfefc6e..911bb1577 100644 --- a/src/images/characters/Asterik_4.mini.svg +++ b/src/images/characters/Asterik_4.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Asterik_5.mini.svg b/src/images/characters/Asterik_5.mini.svg index 50ade3673..5ffb72570 100644 --- a/src/images/characters/Asterik_5.mini.svg +++ b/src/images/characters/Asterik_5.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/ChooChooBot_1.mini.svg b/src/images/characters/ChooChooBot_1.mini.svg index c163684ad..6487c9217 100644 --- a/src/images/characters/ChooChooBot_1.mini.svg +++ b/src/images/characters/ChooChooBot_1.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/ChooChooBot_2.mini.svg b/src/images/characters/ChooChooBot_2.mini.svg index 1e3a6ff6b..df56ab481 100644 --- a/src/images/characters/ChooChooBot_2.mini.svg +++ b/src/images/characters/ChooChooBot_2.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/CurlyBrackets_1.mini.svg b/src/images/characters/CurlyBrackets_1.mini.svg index 34c0fe5dc..dedb0d54f 100644 --- a/src/images/characters/CurlyBrackets_1.mini.svg +++ b/src/images/characters/CurlyBrackets_1.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/CurlyBrackets_2.mini.svg b/src/images/characters/CurlyBrackets_2.mini.svg index e283ca2fa..36120bd4c 100644 --- a/src/images/characters/CurlyBrackets_2.mini.svg +++ b/src/images/characters/CurlyBrackets_2.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/CurlyBrackets_3.mini.svg b/src/images/characters/CurlyBrackets_3.mini.svg index 3ad1905b3..2c35cdb23 100644 --- a/src/images/characters/CurlyBrackets_3.mini.svg +++ b/src/images/characters/CurlyBrackets_3.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/CurlyBrackets_4.mini.svg b/src/images/characters/CurlyBrackets_4.mini.svg index 66b2d5b30..ceb55e54a 100644 --- a/src/images/characters/CurlyBrackets_4.mini.svg +++ b/src/images/characters/CurlyBrackets_4.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/CurlyBrackets_5.mini.svg b/src/images/characters/CurlyBrackets_5.mini.svg index 96a289455..542b0fee6 100644 --- a/src/images/characters/CurlyBrackets_5.mini.svg +++ b/src/images/characters/CurlyBrackets_5.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Equals_1.mini.svg b/src/images/characters/Equals_1.mini.svg index 816a3da8d..fa0d964b9 100644 --- a/src/images/characters/Equals_1.mini.svg +++ b/src/images/characters/Equals_1.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Equals_2.mini.svg b/src/images/characters/Equals_2.mini.svg index 4fef18d1f..1b7863114 100644 --- a/src/images/characters/Equals_2.mini.svg +++ b/src/images/characters/Equals_2.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Equals_3.mini.svg b/src/images/characters/Equals_3.mini.svg index 027bbdf8e..45ce8115b 100644 --- a/src/images/characters/Equals_3.mini.svg +++ b/src/images/characters/Equals_3.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Equals_4.mini.svg b/src/images/characters/Equals_4.mini.svg index 1a1711327..5e603dbf8 100644 --- a/src/images/characters/Equals_4.mini.svg +++ b/src/images/characters/Equals_4.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Equals_5.mini.svg b/src/images/characters/Equals_5.mini.svg index 680b270c2..eb949e3cc 100644 --- a/src/images/characters/Equals_5.mini.svg +++ b/src/images/characters/Equals_5.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Equals_6.mini.svg b/src/images/characters/Equals_6.mini.svg index cc0bba4a2..a65d4e1ef 100644 --- a/src/images/characters/Equals_6.mini.svg +++ b/src/images/characters/Equals_6.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Equals_7.mini.svg b/src/images/characters/Equals_7.mini.svg index 463d1f010..20eef92c8 100644 --- a/src/images/characters/Equals_7.mini.svg +++ b/src/images/characters/Equals_7.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Gloria Pickle.mini.svg b/src/images/characters/Gloria Pickle.mini.svg index ef60e36f4..7796a1cec 100644 --- a/src/images/characters/Gloria Pickle.mini.svg +++ b/src/images/characters/Gloria Pickle.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/PiGuy_1.mini.svg b/src/images/characters/PiGuy_1.mini.svg index 9810c44be..5ce1c882b 100644 --- a/src/images/characters/PiGuy_1.mini.svg +++ b/src/images/characters/PiGuy_1.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/PiGuy_2.mini.svg b/src/images/characters/PiGuy_2.mini.svg index fdc2a4b7f..072d825a5 100644 --- a/src/images/characters/PiGuy_2.mini.svg +++ b/src/images/characters/PiGuy_2.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/PiRainbow.mini.svg b/src/images/characters/PiRainbow.mini.svg index b62941544..d4cda6c6f 100644 --- a/src/images/characters/PiRainbow.mini.svg +++ b/src/images/characters/PiRainbow.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/RainbowCandy.mini.svg b/src/images/characters/RainbowCandy.mini.svg index c827ede8d..293159383 100644 --- a/src/images/characters/RainbowCandy.mini.svg +++ b/src/images/characters/RainbowCandy.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Rainbow_1.mini.svg b/src/images/characters/Rainbow_1.mini.svg index a177c834e..968ca5b3b 100644 --- a/src/images/characters/Rainbow_1.mini.svg +++ b/src/images/characters/Rainbow_1.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Rainbow_2.mini.svg b/src/images/characters/Rainbow_2.mini.svg index 387e1afca..d3cf74cb0 100644 --- a/src/images/characters/Rainbow_2.mini.svg +++ b/src/images/characters/Rainbow_2.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/SemiColon_1.mini.svg b/src/images/characters/SemiColon_1.mini.svg index 66d532aa8..63aa15440 100644 --- a/src/images/characters/SemiColon_1.mini.svg +++ b/src/images/characters/SemiColon_1.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/SemiColon_2.mini.svg b/src/images/characters/SemiColon_2.mini.svg index f28907ae4..c3623baac 100644 --- a/src/images/characters/SemiColon_2.mini.svg +++ b/src/images/characters/SemiColon_2.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/SemiColon_3.mini.svg b/src/images/characters/SemiColon_3.mini.svg index 1177470d1..f4ec95c0a 100644 --- a/src/images/characters/SemiColon_3.mini.svg +++ b/src/images/characters/SemiColon_3.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/SemiColon_4.mini.svg b/src/images/characters/SemiColon_4.mini.svg index 282fdfbfb..2676daf21 100644 --- a/src/images/characters/SemiColon_4.mini.svg +++ b/src/images/characters/SemiColon_4.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/SemiColon_5.mini.svg b/src/images/characters/SemiColon_5.mini.svg index c5e0e790a..ff28a289c 100644 --- a/src/images/characters/SemiColon_5.mini.svg +++ b/src/images/characters/SemiColon_5.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/SemiColon_hello.mini.svg b/src/images/characters/SemiColon_hello.mini.svg index d88062ea3..a4e7ce44a 100644 --- a/src/images/characters/SemiColon_hello.mini.svg +++ b/src/images/characters/SemiColon_hello.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/SquareBrackets_1.mini.svg b/src/images/characters/SquareBrackets_1.mini.svg index 355bbe342..6dc0f53ef 100644 --- a/src/images/characters/SquareBrackets_1.mini.svg +++ b/src/images/characters/SquareBrackets_1.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/SquareBrackets_2.mini.svg b/src/images/characters/SquareBrackets_2.mini.svg index aeefdbef3..4e364c775 100644 --- a/src/images/characters/SquareBrackets_2.mini.svg +++ b/src/images/characters/SquareBrackets_2.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/SquareBrackets_3.mini.svg b/src/images/characters/SquareBrackets_3.mini.svg index 65baf4d50..a3f973d0c 100644 --- a/src/images/characters/SquareBrackets_3.mini.svg +++ b/src/images/characters/SquareBrackets_3.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/SquareBrackets_4.mini.svg b/src/images/characters/SquareBrackets_4.mini.svg index 1758d4fdc..4fc1ff70c 100644 --- a/src/images/characters/SquareBrackets_4.mini.svg +++ b/src/images/characters/SquareBrackets_4.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Square_1.mini.svg b/src/images/characters/Square_1.mini.svg index 0db343951..610bad697 100644 --- a/src/images/characters/Square_1.mini.svg +++ b/src/images/characters/Square_1.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Square_2.mini.svg b/src/images/characters/Square_2.mini.svg index e0d379feb..33e50a7da 100644 --- a/src/images/characters/Square_2.mini.svg +++ b/src/images/characters/Square_2.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Square_3.mini.svg b/src/images/characters/Square_3.mini.svg index 0c3b7708e..1dfedbe84 100644 --- a/src/images/characters/Square_3.mini.svg +++ b/src/images/characters/Square_3.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Square_4.mini.svg b/src/images/characters/Square_4.mini.svg index ccd61da6c..c129a0839 100644 --- a/src/images/characters/Square_4.mini.svg +++ b/src/images/characters/Square_4.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Square_5.mini.svg b/src/images/characters/Square_5.mini.svg index 646b387e0..f3eb9234b 100644 --- a/src/images/characters/Square_5.mini.svg +++ b/src/images/characters/Square_5.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Square_6.mini.svg b/src/images/characters/Square_6.mini.svg index b43eab4dd..2688aa4ae 100644 --- a/src/images/characters/Square_6.mini.svg +++ b/src/images/characters/Square_6.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/ThisDot_1.mini.svg b/src/images/characters/ThisDot_1.mini.svg index 7ac468112..bfe787dbf 100644 --- a/src/images/characters/ThisDot_1.mini.svg +++ b/src/images/characters/ThisDot_1.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/ThisDot_2.mini.svg b/src/images/characters/ThisDot_2.mini.svg index 9cb642594..962271858 100644 --- a/src/images/characters/ThisDot_2.mini.svg +++ b/src/images/characters/ThisDot_2.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/ThisDot_3.mini.svg b/src/images/characters/ThisDot_3.mini.svg index 11088a171..0a9183bd1 100644 --- a/src/images/characters/ThisDot_3.mini.svg +++ b/src/images/characters/ThisDot_3.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/ThisDot_4.mini.svg b/src/images/characters/ThisDot_4.mini.svg index 4eb3f40ad..20c5046a9 100644 --- a/src/images/characters/ThisDot_4.mini.svg +++ b/src/images/characters/ThisDot_4.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/ThisDot_5.mini.svg b/src/images/characters/ThisDot_5.mini.svg index e72c43c05..6177ad6dc 100644 --- a/src/images/characters/ThisDot_5.mini.svg +++ b/src/images/characters/ThisDot_5.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/ThisDot_6.mini.svg b/src/images/characters/ThisDot_6.mini.svg index 42272b8f9..8dcc43d67 100644 --- a/src/images/characters/ThisDot_6.mini.svg +++ b/src/images/characters/ThisDot_6.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/ThisDot_7.mini.svg b/src/images/characters/ThisDot_7.mini.svg index 8162a1825..8c569bad0 100644 --- a/src/images/characters/ThisDot_7.mini.svg +++ b/src/images/characters/ThisDot_7.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/ThisDot_8.mini.svg b/src/images/characters/ThisDot_8.mini.svg index 9066751a1..c272e16d5 100644 --- a/src/images/characters/ThisDot_8.mini.svg +++ b/src/images/characters/ThisDot_8.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/ThisDot_9.mini.svg b/src/images/characters/ThisDot_9.mini.svg index 9d5937424..de5702355 100644 --- a/src/images/characters/ThisDot_9.mini.svg +++ b/src/images/characters/ThisDot_9.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/TrainRainbow.mini.svg b/src/images/characters/TrainRainbow.mini.svg index 824442946..c00470232 100644 --- a/src/images/characters/TrainRainbow.mini.svg +++ b/src/images/characters/TrainRainbow.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Train_Icon.mini.svg b/src/images/characters/Train_Icon.mini.svg index f40be7ba5..45aa651f4 100644 --- a/src/images/characters/Train_Icon.mini.svg +++ b/src/images/characters/Train_Icon.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Triangle_1.mini.svg b/src/images/characters/Triangle_1.mini.svg index 9a782aaa7..74f459839 100644 --- a/src/images/characters/Triangle_1.mini.svg +++ b/src/images/characters/Triangle_1.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Triangle_2.mini.svg b/src/images/characters/Triangle_2.mini.svg index 304916de9..8de382338 100644 --- a/src/images/characters/Triangle_2.mini.svg +++ b/src/images/characters/Triangle_2.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Triangle_3.mini.svg b/src/images/characters/Triangle_3.mini.svg index e6aec7dcd..72fa1e2a6 100644 --- a/src/images/characters/Triangle_3.mini.svg +++ b/src/images/characters/Triangle_3.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Triangle_4.mini.svg b/src/images/characters/Triangle_4.mini.svg index 2137dd355..3c513806a 100644 --- a/src/images/characters/Triangle_4.mini.svg +++ b/src/images/characters/Triangle_4.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Triangle_5.mini.svg b/src/images/characters/Triangle_5.mini.svg index 0c204daaf..faa8be687 100644 --- a/src/images/characters/Triangle_5.mini.svg +++ b/src/images/characters/Triangle_5.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Triangle_6.mini.svg b/src/images/characters/Triangle_6.mini.svg index 6bd0c6411..1d7250357 100644 --- a/src/images/characters/Triangle_6.mini.svg +++ b/src/images/characters/Triangle_6.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Triangle_7.mini.svg b/src/images/characters/Triangle_7.mini.svg index c8fe37c8e..915228bdc 100644 --- a/src/images/characters/Triangle_7.mini.svg +++ b/src/images/characters/Triangle_7.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Triangle_8.mini.svg b/src/images/characters/Triangle_8.mini.svg index 78eed8d4c..341248840 100644 --- a/src/images/characters/Triangle_8.mini.svg +++ b/src/images/characters/Triangle_8.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Triangle_9.mini.svg b/src/images/characters/Triangle_9.mini.svg index ac4efa162..4d099af68 100644 --- a/src/images/characters/Triangle_9.mini.svg +++ b/src/images/characters/Triangle_9.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/WheelstheMouse_1.mini.svg b/src/images/characters/WheelstheMouse_1.mini.svg index 112c5a0de..66743ef6f 100644 --- a/src/images/characters/WheelstheMouse_1.mini.svg +++ b/src/images/characters/WheelstheMouse_1.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/WheelstheMouse_2.mini.svg b/src/images/characters/WheelstheMouse_2.mini.svg index a5cb20f0f..e1cb9f195 100644 --- a/src/images/characters/WheelstheMouse_2.mini.svg +++ b/src/images/characters/WheelstheMouse_2.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/WheelstheMouse_3.mini.svg b/src/images/characters/WheelstheMouse_3.mini.svg index 2fa47bb8f..cc544abf7 100644 --- a/src/images/characters/WheelstheMouse_3.mini.svg +++ b/src/images/characters/WheelstheMouse_3.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Zero_1.mini.svg b/src/images/characters/Zero_1.mini.svg index 3383385e9..cb9efea17 100644 --- a/src/images/characters/Zero_1.mini.svg +++ b/src/images/characters/Zero_1.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Zero_2.mini.svg b/src/images/characters/Zero_2.mini.svg index 84e53d739..5ca3ba8bc 100644 --- a/src/images/characters/Zero_2.mini.svg +++ b/src/images/characters/Zero_2.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Zero_3.mini.svg b/src/images/characters/Zero_3.mini.svg index 249df6e2c..0788262b3 100644 --- a/src/images/characters/Zero_3.mini.svg +++ b/src/images/characters/Zero_3.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Zero_4.mini.svg b/src/images/characters/Zero_4.mini.svg index 3afe8f22d..e7a86a638 100644 --- a/src/images/characters/Zero_4.mini.svg +++ b/src/images/characters/Zero_4.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Zero_5.mini.svg b/src/images/characters/Zero_5.mini.svg index d5c173346..e7b38d024 100644 --- a/src/images/characters/Zero_5.mini.svg +++ b/src/images/characters/Zero_5.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/Zero_6.mini.svg b/src/images/characters/Zero_6.mini.svg index 05241980d..0a1c7f1b0 100644 --- a/src/images/characters/Zero_6.mini.svg +++ b/src/images/characters/Zero_6.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/homepage-illustration.mini.svg b/src/images/characters/homepage-illustration.mini.svg index f7360c7f6..0b511729c 100644 --- a/src/images/characters/homepage-illustration.mini.svg +++ b/src/images/characters/homepage-illustration.mini.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/images/characters/homepage.mini.svg b/src/images/characters/homepage.mini.svg index c69279885..3bb4dd21f 100644 --- a/src/images/characters/homepage.mini.svg +++ b/src/images/characters/homepage.mini.svg @@ -1 +1 @@ -54931 \ No newline at end of file +54931 \ No newline at end of file diff --git a/src/images/characters/minimize.js b/src/images/characters/minimize.js deleted file mode 100644 index 7b150bc78..000000000 --- a/src/images/characters/minimize.js +++ /dev/null @@ -1,51 +0,0 @@ -const fs = require('fs'); -const { optimize } = require('svgo'); - -const config = { - plugins: [ - { - name: 'preset-default', - params: { - overrides: { - inlineStyles: { - onlyMatchedOnce: false - } - } - } - }, - 'removeStyleElement' - ] -}; - -fs.readdir('.', (err, files) => { - files.forEach((file) => { - if ( - !file.includes('.mini.') && - !file.includes('.js') && - file !== '.DS_Store' - ) { - const data = fs.readFileSync(file, 'utf8'); - const result = optimize(data, config); - if (result.error) { - console.error(result.error); - console.log('File:', file); - } else if (result.data) { - console.log( - 'Length change:', - `${ - Math.round( - ((result.data.length - data.length) / data.length) * 10000 - ) / 100 - }%`, - 'File:', - file - ); - const optimizedSvgString = result.data; - const [name, extension] = file.split('.'); - fs.writeFileSync(`${name}.mini.${extension}`, optimizedSvgString); - } else { - console.log('No result on file. File:', file); - } - } - }); -}); diff --git a/src/images/characters/svgo.config.js b/src/images/characters/svgo.config.js deleted file mode 100644 index 43b89cfdf..000000000 --- a/src/images/characters/svgo.config.js +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - plugins: [ - { - name: 'preset-default', - params: { - overrides: { - inlineStyles: { - onlyMatchedOnce: false - } - } - } - }, - 'removeStyleElement' - ] -}; diff --git a/src/images/clock.mini.svg b/src/images/clock.mini.svg new file mode 100644 index 000000000..2ffbb36dd --- /dev/null +++ b/src/images/clock.mini.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/images/cloud.mini.svg b/src/images/cloud.mini.svg new file mode 100644 index 000000000..422524cb2 --- /dev/null +++ b/src/images/cloud.mini.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/images/logo.mini.svg b/src/images/logo.mini.svg new file mode 100644 index 000000000..c724a42b8 --- /dev/null +++ b/src/images/logo.mini.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/images/new-logo.mini.svg b/src/images/new-logo.mini.svg new file mode 100644 index 000000000..ca46b7f1f --- /dev/null +++ b/src/images/new-logo.mini.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/images/node-icon.mini.svg b/src/images/node-icon.mini.svg new file mode 100644 index 000000000..c4c931b7b --- /dev/null +++ b/src/images/node-icon.mini.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/images/open.mini.svg b/src/images/open.mini.svg new file mode 100644 index 000000000..4abbf30ec --- /dev/null +++ b/src/images/open.mini.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/images/p5js-icon.mini.svg b/src/images/p5js-icon.mini.svg new file mode 100644 index 000000000..17821e19d --- /dev/null +++ b/src/images/p5js-icon.mini.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/images/play.mini.svg b/src/images/play.mini.svg new file mode 100644 index 000000000..3606476c5 --- /dev/null +++ b/src/images/play.mini.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/images/playbutton-filled.mini.svg b/src/images/playbutton-filled.mini.svg new file mode 100644 index 000000000..621f6c485 --- /dev/null +++ b/src/images/playbutton-filled.mini.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/images/playbutton.mini.svg b/src/images/playbutton.mini.svg new file mode 100644 index 000000000..14d4be9ca --- /dev/null +++ b/src/images/playbutton.mini.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/images/processing-icon.mini.svg b/src/images/processing-icon.mini.svg new file mode 100644 index 000000000..6a2386474 --- /dev/null +++ b/src/images/processing-icon.mini.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/images/sun.mini.svg b/src/images/sun.mini.svg new file mode 100644 index 000000000..ffd490aa5 --- /dev/null +++ b/src/images/sun.mini.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/images/tracks.mini.svg b/src/images/tracks.mini.svg new file mode 100644 index 000000000..fa139ffd7 --- /dev/null +++ b/src/images/tracks.mini.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/images/train.mini.svg b/src/images/train.mini.svg new file mode 100644 index 000000000..17b129693 --- /dev/null +++ b/src/images/train.mini.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/images/train_track.mini.svg b/src/images/train_track.mini.svg new file mode 100644 index 000000000..77e530b25 --- /dev/null +++ b/src/images/train_track.mini.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/pages/index.js b/src/pages/index.js index 5d7ffc8f6..6f0d63801 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -16,7 +16,7 @@ import SemiColonCharacter from '../images/characters/SemiColon_1.mini.svg'; import * as css from '../styles/pages/index.module.css'; import Button from '../components/Button'; -import PlayButton from '../images/playbutton.svg'; +import PlayButton from '../images/playbutton.mini.svg'; import { getReadableDate, useIsFirstRender } from '../hooks'; import { shuffleCopy } from '../utils'; diff --git a/src/templates/challenges.js b/src/templates/challenges.js index a1dadfaf1..9c4d27817 100644 --- a/src/templates/challenges.js +++ b/src/templates/challenges.js @@ -10,7 +10,7 @@ import Spacer from '../components/Spacer'; import RainbowCharacter from '../images/characters/Rainbow_1.mini.svg'; import BracketsCharacter2 from '../images/characters/SquareBrackets_2.mini.svg'; import BracketsCharacter from '../images/characters/SquareBrackets_4.mini.svg'; -import PlayButton from '../images/playbutton.svg'; +import PlayButton from '../images/playbutton.mini.svg'; import { getReadableDate } from '../hooks'; diff --git a/static/images/nebula-button.mini.svg b/static/images/nebula-button.mini.svg new file mode 100644 index 000000000..817897a1c --- /dev/null +++ b/static/images/nebula-button.mini.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/train.mini.svg b/static/images/train.mini.svg new file mode 100644 index 000000000..17b129693 --- /dev/null +++ b/static/images/train.mini.svg @@ -0,0 +1 @@ + \ No newline at end of file