From 8dc120e0b34a59411fe45c4879f2180fac48fd68 Mon Sep 17 00:00:00 2001 From: Edwin Eefting Date: Tue, 29 Mar 2022 14:36:57 +0200 Subject: [PATCH] reimplement with framework7.io and svelte --- .editorconfig | 10 - .gitattributes | 194 -- .gitignore | 50 +- .htaccess | 1225 --------- .idea/codeStyles/codeStyleConfig.xml | 5 - .idea/compiler.xml | 6 + .idea/inspectionProfiles/Project_Default.xml | 6 - .idea/jsLibraryMappings.xml | 9 - .idea/{ledder.iml => ledder2.iml} | 3 - .idea/modules.xml | 2 +- .idea/prettier.xml | 7 - .idea/runConfigurations/build.xml | 14 - .idea/runConfigurations/index_html.xml | 5 - .idea/runConfigurations/run.xml | 7 - .idea/vcs.xml | 6 - .yarnrc | 1 - 404.html | 62 - LICENSE.txt | 19 - README.md | 76 +- assets-src/apple-touch-icon.png | Bin 0 -> 2521 bytes assets-src/web-icon.png | Bin 0 -> 15665 bytes autoupload.sh | 11 - browserconfig.xml | 12 - css/main.css | 43 - css/normalize.css | 349 --- favicon.ico | Bin 766 -> 0 bytes framework7.json | 19 + humans.txt | 15 - icon.png | Bin 4029 -> 0 bytes img/.gitignore | 0 index.html | 146 - js/.gitignore | 2 - js/ControlColor.ts | 99 - js/HistoryState.ts | 83 - js/HtmlCategories.ts | 43 - js/HtmlPresets.ts | 67 - js/PresetStore.ts | 226 -- js/RpcServer.ts | 70 - js/RunnerBrowser.ts | 164 -- js/browser.ts | 132 - js/vendor/modernizr-3.11.2.min.js | 3 - package-lock.json | 2385 +++++++++++++++++ package.json | 71 +- postcss.config.js.weg | 5 + presets/BertrikFire/Campfire.json | 2 +- presets/BertrikFire/Candle.json | 2 +- presets/BertrikFire/Realistic.json | 2 +- presets/BertrikFire/Stove.json | 2 +- presets/BertrikFire/Wild.json | 2 +- presets/BrainsmokeFire/Campfire.json | 2 +- presets/BrainsmokeFire/Inferno.json | 2 +- presets/BrainsmokeFire/More steady.json | 2 +- presets/BrainsmokeFire/More wild.json | 2 +- presets/BrainsmokeFire/Original.json | 2 +- presets/BrainsmokeFire/Wild.json | 2 +- presets/Doom/Nice 8px.json | 2 +- presets/Doom/Original 8px.json | 2 +- presets/Doom/Original smoothed 8px.json | 2 +- presets/Font/green.json | 2 +- presets/Font/slow.json | 2 +- presets/Font/test.json | 2 +- presets/Marquee/slow.json | 2 +- presets/Moving stars/default.json | 2 +- presets/Moving stars/geel.json | 2 +- presets/Moving stars/groen.json | 2 +- presets/Moving stars/roze.json | 2 +- presets/Moving stars/wit.json | 2 +- presets/Nyancat/Original.json | 2 +- presets/Nyancat/Slow.json | 2 +- presets/Nyancat/lblasd.json | 42 + presets/Nyancat/nurdspace.json | 2 +- presets/Nyancat/turbocat.json | 2 +- .../The Matrix/Original (screen speed).json | 2 +- presets/The Matrix/Original.json | 2 +- presets/The Matrix/nurdspace.json | 2 +- public/icons/128x128.png | Bin 0 -> 7174 bytes public/icons/144x144.png | Bin 0 -> 8339 bytes public/icons/152x152.png | Bin 0 -> 8855 bytes public/icons/192x192.png | Bin 0 -> 11743 bytes public/icons/256x256.png | Bin 0 -> 15871 bytes public/icons/512x512.png | Bin 0 -> 15665 bytes public/icons/apple-touch-icon.png | Bin 0 -> 2521 bytes public/icons/favicon.png | Bin 0 -> 7174 bytes robots.txt | 5 - site.webmanifest | 12 - src/components/app.svelte | 150 ++ src/css/app.css | 51 + src/css/icons.css | 56 + src/fonts/_mixins.scss | 55 + src/fonts/_variables.scss | 3 + src/fonts/filled.css | 24 + src/fonts/filled.scss | 4 + src/fonts/material-icons-outlined.woff | Bin 0 -> 177480 bytes src/fonts/material-icons-outlined.woff2 | Bin 0 -> 151244 bytes src/fonts/material-icons-round.woff | Bin 0 -> 201780 bytes src/fonts/material-icons-round.woff2 | Bin 0 -> 170852 bytes src/fonts/material-icons-sharp.woff | Bin 0 -> 152644 bytes src/fonts/material-icons-sharp.woff2 | Bin 0 -> 132532 bytes src/fonts/material-icons-two-tone.woff | Bin 0 -> 330108 bytes src/fonts/material-icons-two-tone.woff2 | Bin 0 -> 207624 bytes src/fonts/material-icons.css | 124 + src/fonts/material-icons.scss | 5 + src/fonts/material-icons.woff | Bin 0 -> 159604 bytes src/fonts/material-icons.woff2 | Bin 0 -> 124372 bytes src/fonts/outlined.css | 24 + src/fonts/outlined.scss | 4 + src/fonts/round.css | 24 + src/fonts/round.scss | 4 + src/fonts/sharp.css | 24 + src/fonts/sharp.scss | 4 + src/fonts/two-tone.css | 24 + src/fonts/two-tone.scss | 4 + src/index.html | 34 + src/js/PresetStore.js | 181 ++ src/js/PresetStore.js.map | 1 + src/js/PresetStore.ts | 226 ++ src/js/Rpc.js | 3 + src/js/Rpc.js.map | 1 + {js => src/js}/Rpc.ts | 0 src/js/RpcClient.js | 87 + src/js/RpcClient.js.map | 1 + {js => src/js}/RpcClient.ts | 23 +- src/js/RpcServer.js | 54 + src/js/RpcServer.js.map | 1 + src/js/RpcServer.ts | 75 + src/js/RunnerBrowser.js | 124 + src/js/RunnerBrowser.js.map | 1 + src/js/RunnerBrowser.ts | 162 ++ src/js/RunnerServer.js | 30 + src/js/RunnerServer.js.map | 1 + {js => src/js}/RunnerServer.ts | 6 +- src/js/app.js | 37 + src/js/browser.js | 110 + src/js/browser.js.map | 1 + src/js/browser.ts | 132 + src/js/led/Animation.js | 31 + src/js/led/Animation.js.map | 1 + {js => src/js/led}/Animation.ts | 0 src/js/led/AnimationAsciiArt.js | 63 + src/js/led/AnimationAsciiArt.js.map | 1 + {js => src/js/led}/AnimationAsciiArt.ts | 0 src/js/led/AnimationBlink.js | 34 + src/js/led/AnimationBlink.js.map | 1 + {js => src/js/led}/AnimationBlink.ts | 0 src/js/led/AnimationFade.js | 46 + src/js/led/AnimationFade.js.map | 1 + {js => src/js/led}/AnimationFade.ts | 0 src/js/led/AnimationFadeOut.js | 37 + src/js/led/AnimationFadeOut.js.map | 1 + {js => src/js/led}/AnimationFadeOut.ts | 0 src/js/led/AnimationMarquee.js | 36 + src/js/led/AnimationMarquee.js.map | 1 + src/js/led/AnimationMove.js | 34 + src/js/led/AnimationMove.js.map | 1 + {js => src/js/led}/AnimationMove.ts | 0 src/js/led/AnimationTest.js | 63 + src/js/led/AnimationTest.js.map | 1 + {js => src/js/led}/AnimationTest.ts | 0 src/js/led/AnimationTwinkle.js | 25 + src/js/led/AnimationTwinkle.js.map | 1 + {js => src/js/led}/AnimationTwinkle.ts | 0 src/js/led/AnimationWobbleX.js | 14 + src/js/led/AnimationWobbleX.js.map | 1 + {js => src/js/led}/AnimationWobbleX.ts | 0 src/js/led/AnimationWobbleY.js | 14 + src/js/led/AnimationWobbleY.js.map | 1 + {js => src/js/led}/AnimationWobbleY.ts | 0 src/js/led/Color.js | 9 + src/js/led/Color.js.map | 1 + {js => src/js/led}/Color.ts | 0 src/js/led/ColorInterface.js | 2 + src/js/led/ColorInterface.js.map | 1 + {js => src/js/led}/ColorInterface.ts | 0 src/js/led/Control.js | 28 + src/js/led/Control.js.map | 1 + {js => src/js/led}/Control.ts | 0 src/js/led/ControlColor.js | 83 + src/js/led/ControlColor.js.map | 1 + src/js/led/ControlColor.ts | 99 + src/js/led/ControlValue.js | 67 + src/js/led/ControlValue.js.map | 1 + {js => src/js/led}/ControlValue.ts | 66 +- src/js/led/DrawContainer.js | 13 + src/js/led/DrawContainer.js.map | 1 + {js => src/js/led}/DrawContainer.ts | 0 src/js/led/DrawPixel.js | 1 + src/js/led/DrawPixel.js.map | 1 + {js => src/js/led}/DrawPixel.ts | 0 src/js/led/Interval.js | 3 + src/js/led/Interval.js.map | 1 + {js => src/js/led}/Interval.ts | 0 src/js/led/IntervalControlled.js | 23 + src/js/led/IntervalControlled.js.map | 1 + {js => src/js/led}/IntervalControlled.ts | 0 src/js/led/IntervalStatic.js | 26 + src/js/led/IntervalStatic.js.map | 1 + {js => src/js/led}/IntervalStatic.ts | 0 src/js/led/Matrix.js | 46 + src/js/led/Matrix.js.map | 1 + {js => src/js/led}/Matrix.ts | 0 src/js/led/MatrixApng.js | 69 + src/js/led/MatrixApng.js.map | 1 + {js => src/js/led}/MatrixApng.ts | 0 src/js/led/MatrixCanvas.js | 48 + src/js/led/MatrixCanvas.js.map | 1 + {js => src/js/led}/MatrixCanvas.ts | 14 +- src/js/led/MatrixPixelflut.js | 75 + src/js/led/MatrixPixelflut.js.map | 1 + {js => src/js/led}/MatrixPixelflut.ts | 0 src/js/led/MatrixRPIzigzag.js | 38 + src/js/led/MatrixRPIzigzag.js.map | 1 + {js => src/js/led}/MatrixRPIzigzag.ts | 0 src/js/led/MatrixWLED.js | 93 + src/js/led/MatrixWLED.js.map | 1 + {js => src/js/led}/MatrixWLED.ts | 2 +- src/js/led/Pixel.js | 29 + src/js/led/Pixel.js.map | 1 + {js => src/js/led}/Pixel.ts | 0 src/js/led/PixelContainer.js | 64 + src/js/led/PixelContainer.js.map | 1 + {js => src/js/led}/PixelContainer.ts | 0 src/js/led/PixelInterface.js | 2 + src/js/led/PixelInterface.js.map | 1 + {js => src/js/led}/PixelInterface.ts | 0 src/js/led/PixelsFonts.js | 1 + src/js/led/PixelsFonts.js.map | 1 + {js => src/js/led}/PixelsFonts.ts | 0 src/js/led/PresetControl.js | 104 + src/js/led/PresetControl.js.map | 1 + {js => src/js/led}/PresetControl.ts | 8 +- src/js/led/PresetValues.js | 11 + src/js/led/PresetValues.js.map | 1 + {js => src/js/led}/PresetValues.ts | 2 +- src/js/led/PreviewStore.js | 23 + src/js/led/PreviewStore.js.map | 1 + {js => src/js/led}/PreviewStore.ts | 2 +- src/js/led/Scheduler.js | 64 + src/js/led/Scheduler.js.map | 1 + {js => src/js/led}/Scheduler.ts | 0 src/js/led/ValueInterface.js | 2 + src/js/led/ValueInterface.js.map | 1 + {js => src/js/led}/ValueInterface.ts | 0 src/js/led/animations/AnimationMarquee.js | 45 + src/js/led/animations/AnimationMarquee.js.map | 1 + .../js/led}/animations/AnimationMarquee.ts | 0 src/js/led/animations/AnimationMatrixtest.js | 48 + .../led/animations/AnimationMatrixtest.js.map | 1 + .../js/led}/animations/AnimationMatrixtest.ts | 10 +- .../led/animations/AnimationMovingStarsL.js | 34 + .../animations/AnimationMovingStarsL.js.map | 1 + .../led}/animations/AnimationMovingStarsL.ts | 0 src/js/led/animations/AnimationNyan.js | 71 + src/js/led/animations/AnimationNyan.js.map | 1 + .../js/led}/animations/AnimationNyan.ts | 0 .../led/animations/AnimationNyanNurdspace.js | 88 + .../animations/AnimationNyanNurdspace.js.map | 1 + .../led}/animations/AnimationNyanNurdspace.ts | 0 src/js/led/animations/AnimationStriptest.js | 30 + .../led/animations/AnimationStriptest.js.map | 1 + .../js/led}/animations/AnimationStriptest.ts | 0 src/js/led/animations/BertrikFire.js | 104 + src/js/led/animations/BertrikFire.js.map | 1 + {js => src/js/led}/animations/BertrikFire.ts | 0 src/js/led/animations/BrainsmokeFire.js | 108 + src/js/led/animations/BrainsmokeFire.js.map | 1 + .../js/led}/animations/BrainsmokeFire.ts | 0 src/js/led/animations/DoomFire.js | 81 + src/js/led/animations/DoomFire.js.map | 1 + {js => src/js/led}/animations/DoomFire.ts | 0 src/js/led/animations/Font.js | 32 + src/js/led/animations/Font.js.map | 1 + src/js/led/animations/PixelStar.js | 34 + src/js/led/animations/PixelStar.js.map | 1 + {js => src/js/led}/animations/PixelStar.ts | 0 src/js/led/animations/Rain.js | 35 + src/js/led/animations/Rain.js.map | 1 + {js => src/js/led}/animations/Rain.ts | 0 src/js/led/animations/TheMatrix.js | 68 + src/js/led/animations/TheMatrix.js.map | 1 + {js => src/js/led}/animations/TheMatrix.ts | 0 src/js/led/animations/all.js | 12 + src/js/led/animations/all.js.map | 1 + {js => src/js/led}/animations/all.ts | 0 src/js/led/fonts/FontInterface.js | 3 + src/js/led/fonts/FontInterface.js.map | 1 + {js => src/js/led}/fonts/FontInterface.ts | 0 src/js/led/fonts/FontSimple8x8.js | 157 ++ src/js/led/fonts/FontSimple8x8.js.map | 1 + {js => src/js/led}/fonts/FontSimple8x8.ts | 0 src/js/led/util.js | 108 + src/js/led/util.js.map | 1 + {js => src/js/led}/util.ts | 38 +- src/js/routes.js | 96 + src/js/server.js | 66 + src/js/server.js.map | 1 + {js => src/js}/server.ts | 17 +- src/js/store.js | 35 + src/pages/404.svelte | 10 + src/pages/about.svelte | 16 + src/pages/categories.svelte | 83 + src/pages/dynamic-route.svelte | 34 + src/pages/form.svelte | 196 ++ src/pages/home.svelte | 84 + src/pages/matrix.svelte | 20 + src/pages/product.svelte | 21 + src/pages/request-and-load.svelte | 21 + src/pages/settings.svelte | 175 ++ tsconfig.json | 2 + vite.config.js | 37 + 309 files changed, 8012 insertions(+), 3221 deletions(-) delete mode 100644 .editorconfig delete mode 100644 .gitattributes delete mode 100644 .htaccess delete mode 100644 .idea/codeStyles/codeStyleConfig.xml create mode 100644 .idea/compiler.xml delete mode 100644 .idea/inspectionProfiles/Project_Default.xml delete mode 100644 .idea/jsLibraryMappings.xml rename .idea/{ledder.iml => ledder2.iml} (72%) delete mode 100644 .idea/prettier.xml delete mode 100644 .idea/runConfigurations/build.xml delete mode 100644 .idea/runConfigurations/index_html.xml delete mode 100644 .idea/runConfigurations/run.xml delete mode 100644 .idea/vcs.xml delete mode 100644 .yarnrc delete mode 100644 404.html delete mode 100644 LICENSE.txt create mode 100644 assets-src/apple-touch-icon.png create mode 100644 assets-src/web-icon.png delete mode 100755 autoupload.sh delete mode 100644 browserconfig.xml delete mode 100644 css/main.css delete mode 100644 css/normalize.css delete mode 100644 favicon.ico create mode 100644 framework7.json delete mode 100644 humans.txt delete mode 100644 icon.png delete mode 100644 img/.gitignore delete mode 100644 index.html delete mode 100644 js/.gitignore delete mode 100644 js/ControlColor.ts delete mode 100644 js/HistoryState.ts delete mode 100644 js/HtmlCategories.ts delete mode 100644 js/HtmlPresets.ts delete mode 100644 js/PresetStore.ts delete mode 100644 js/RpcServer.ts delete mode 100644 js/RunnerBrowser.ts delete mode 100644 js/browser.ts delete mode 100644 js/vendor/modernizr-3.11.2.min.js create mode 100644 package-lock.json create mode 100644 postcss.config.js.weg create mode 100644 presets/Nyancat/lblasd.json create mode 100644 public/icons/128x128.png create mode 100644 public/icons/144x144.png create mode 100644 public/icons/152x152.png create mode 100644 public/icons/192x192.png create mode 100644 public/icons/256x256.png create mode 100644 public/icons/512x512.png create mode 100644 public/icons/apple-touch-icon.png create mode 100644 public/icons/favicon.png delete mode 100644 robots.txt delete mode 100644 site.webmanifest create mode 100644 src/components/app.svelte create mode 100644 src/css/app.css create mode 100644 src/css/icons.css create mode 100644 src/fonts/_mixins.scss create mode 100644 src/fonts/_variables.scss create mode 100644 src/fonts/filled.css create mode 100644 src/fonts/filled.scss create mode 100644 src/fonts/material-icons-outlined.woff create mode 100644 src/fonts/material-icons-outlined.woff2 create mode 100644 src/fonts/material-icons-round.woff create mode 100644 src/fonts/material-icons-round.woff2 create mode 100644 src/fonts/material-icons-sharp.woff create mode 100644 src/fonts/material-icons-sharp.woff2 create mode 100644 src/fonts/material-icons-two-tone.woff create mode 100644 src/fonts/material-icons-two-tone.woff2 create mode 100644 src/fonts/material-icons.css create mode 100644 src/fonts/material-icons.scss create mode 100644 src/fonts/material-icons.woff create mode 100644 src/fonts/material-icons.woff2 create mode 100644 src/fonts/outlined.css create mode 100644 src/fonts/outlined.scss create mode 100644 src/fonts/round.css create mode 100644 src/fonts/round.scss create mode 100644 src/fonts/sharp.css create mode 100644 src/fonts/sharp.scss create mode 100644 src/fonts/two-tone.css create mode 100644 src/fonts/two-tone.scss create mode 100644 src/index.html create mode 100644 src/js/PresetStore.js create mode 100644 src/js/PresetStore.js.map create mode 100644 src/js/PresetStore.ts create mode 100644 src/js/Rpc.js create mode 100644 src/js/Rpc.js.map rename {js => src/js}/Rpc.ts (100%) create mode 100644 src/js/RpcClient.js create mode 100644 src/js/RpcClient.js.map rename {js => src/js}/RpcClient.ts (84%) create mode 100644 src/js/RpcServer.js create mode 100644 src/js/RpcServer.js.map create mode 100644 src/js/RpcServer.ts create mode 100644 src/js/RunnerBrowser.js create mode 100644 src/js/RunnerBrowser.js.map create mode 100644 src/js/RunnerBrowser.ts create mode 100644 src/js/RunnerServer.js create mode 100644 src/js/RunnerServer.js.map rename {js => src/js}/RunnerServer.ts (84%) create mode 100644 src/js/app.js create mode 100644 src/js/browser.js create mode 100644 src/js/browser.js.map create mode 100644 src/js/browser.ts create mode 100644 src/js/led/Animation.js create mode 100644 src/js/led/Animation.js.map rename {js => src/js/led}/Animation.ts (100%) create mode 100644 src/js/led/AnimationAsciiArt.js create mode 100644 src/js/led/AnimationAsciiArt.js.map rename {js => src/js/led}/AnimationAsciiArt.ts (100%) create mode 100644 src/js/led/AnimationBlink.js create mode 100644 src/js/led/AnimationBlink.js.map rename {js => src/js/led}/AnimationBlink.ts (100%) create mode 100644 src/js/led/AnimationFade.js create mode 100644 src/js/led/AnimationFade.js.map rename {js => src/js/led}/AnimationFade.ts (100%) create mode 100644 src/js/led/AnimationFadeOut.js create mode 100644 src/js/led/AnimationFadeOut.js.map rename {js => src/js/led}/AnimationFadeOut.ts (100%) create mode 100644 src/js/led/AnimationMarquee.js create mode 100644 src/js/led/AnimationMarquee.js.map create mode 100644 src/js/led/AnimationMove.js create mode 100644 src/js/led/AnimationMove.js.map rename {js => src/js/led}/AnimationMove.ts (100%) create mode 100644 src/js/led/AnimationTest.js create mode 100644 src/js/led/AnimationTest.js.map rename {js => src/js/led}/AnimationTest.ts (100%) create mode 100644 src/js/led/AnimationTwinkle.js create mode 100644 src/js/led/AnimationTwinkle.js.map rename {js => src/js/led}/AnimationTwinkle.ts (100%) create mode 100644 src/js/led/AnimationWobbleX.js create mode 100644 src/js/led/AnimationWobbleX.js.map rename {js => src/js/led}/AnimationWobbleX.ts (100%) create mode 100644 src/js/led/AnimationWobbleY.js create mode 100644 src/js/led/AnimationWobbleY.js.map rename {js => src/js/led}/AnimationWobbleY.ts (100%) create mode 100644 src/js/led/Color.js create mode 100644 src/js/led/Color.js.map rename {js => src/js/led}/Color.ts (100%) create mode 100644 src/js/led/ColorInterface.js create mode 100644 src/js/led/ColorInterface.js.map rename {js => src/js/led}/ColorInterface.ts (100%) create mode 100644 src/js/led/Control.js create mode 100644 src/js/led/Control.js.map rename {js => src/js/led}/Control.ts (100%) create mode 100644 src/js/led/ControlColor.js create mode 100644 src/js/led/ControlColor.js.map create mode 100644 src/js/led/ControlColor.ts create mode 100644 src/js/led/ControlValue.js create mode 100644 src/js/led/ControlValue.js.map rename {js => src/js/led}/ControlValue.ts (50%) create mode 100644 src/js/led/DrawContainer.js create mode 100644 src/js/led/DrawContainer.js.map rename {js => src/js/led}/DrawContainer.ts (100%) create mode 100644 src/js/led/DrawPixel.js create mode 100644 src/js/led/DrawPixel.js.map rename {js => src/js/led}/DrawPixel.ts (100%) create mode 100644 src/js/led/Interval.js create mode 100644 src/js/led/Interval.js.map rename {js => src/js/led}/Interval.ts (100%) create mode 100644 src/js/led/IntervalControlled.js create mode 100644 src/js/led/IntervalControlled.js.map rename {js => src/js/led}/IntervalControlled.ts (100%) create mode 100644 src/js/led/IntervalStatic.js create mode 100644 src/js/led/IntervalStatic.js.map rename {js => src/js/led}/IntervalStatic.ts (100%) create mode 100644 src/js/led/Matrix.js create mode 100644 src/js/led/Matrix.js.map rename {js => src/js/led}/Matrix.ts (100%) create mode 100644 src/js/led/MatrixApng.js create mode 100644 src/js/led/MatrixApng.js.map rename {js => src/js/led}/MatrixApng.ts (100%) create mode 100644 src/js/led/MatrixCanvas.js create mode 100644 src/js/led/MatrixCanvas.js.map rename {js => src/js/led}/MatrixCanvas.ts (89%) create mode 100644 src/js/led/MatrixPixelflut.js create mode 100644 src/js/led/MatrixPixelflut.js.map rename {js => src/js/led}/MatrixPixelflut.ts (100%) create mode 100644 src/js/led/MatrixRPIzigzag.js create mode 100644 src/js/led/MatrixRPIzigzag.js.map rename {js => src/js/led}/MatrixRPIzigzag.ts (100%) create mode 100644 src/js/led/MatrixWLED.js create mode 100644 src/js/led/MatrixWLED.js.map rename {js => src/js/led}/MatrixWLED.ts (99%) create mode 100644 src/js/led/Pixel.js create mode 100644 src/js/led/Pixel.js.map rename {js => src/js/led}/Pixel.ts (100%) create mode 100644 src/js/led/PixelContainer.js create mode 100644 src/js/led/PixelContainer.js.map rename {js => src/js/led}/PixelContainer.ts (100%) create mode 100644 src/js/led/PixelInterface.js create mode 100644 src/js/led/PixelInterface.js.map rename {js => src/js/led}/PixelInterface.ts (100%) create mode 100644 src/js/led/PixelsFonts.js create mode 100644 src/js/led/PixelsFonts.js.map rename {js => src/js/led}/PixelsFonts.ts (100%) create mode 100644 src/js/led/PresetControl.js create mode 100644 src/js/led/PresetControl.js.map rename {js => src/js/led}/PresetControl.ts (92%) create mode 100644 src/js/led/PresetValues.js create mode 100644 src/js/led/PresetValues.js.map rename {js => src/js/led}/PresetValues.ts (89%) create mode 100644 src/js/led/PreviewStore.js create mode 100644 src/js/led/PreviewStore.js.map rename {js => src/js/led}/PreviewStore.ts (94%) create mode 100644 src/js/led/Scheduler.js create mode 100644 src/js/led/Scheduler.js.map rename {js => src/js/led}/Scheduler.ts (100%) create mode 100644 src/js/led/ValueInterface.js create mode 100644 src/js/led/ValueInterface.js.map rename {js => src/js/led}/ValueInterface.ts (100%) create mode 100644 src/js/led/animations/AnimationMarquee.js create mode 100644 src/js/led/animations/AnimationMarquee.js.map rename {js => src/js/led}/animations/AnimationMarquee.ts (100%) create mode 100644 src/js/led/animations/AnimationMatrixtest.js create mode 100644 src/js/led/animations/AnimationMatrixtest.js.map rename {js => src/js/led}/animations/AnimationMatrixtest.ts (89%) create mode 100644 src/js/led/animations/AnimationMovingStarsL.js create mode 100644 src/js/led/animations/AnimationMovingStarsL.js.map rename {js => src/js/led}/animations/AnimationMovingStarsL.ts (100%) create mode 100644 src/js/led/animations/AnimationNyan.js create mode 100644 src/js/led/animations/AnimationNyan.js.map rename {js => src/js/led}/animations/AnimationNyan.ts (100%) create mode 100644 src/js/led/animations/AnimationNyanNurdspace.js create mode 100644 src/js/led/animations/AnimationNyanNurdspace.js.map rename {js => src/js/led}/animations/AnimationNyanNurdspace.ts (100%) create mode 100644 src/js/led/animations/AnimationStriptest.js create mode 100644 src/js/led/animations/AnimationStriptest.js.map rename {js => src/js/led}/animations/AnimationStriptest.ts (100%) create mode 100644 src/js/led/animations/BertrikFire.js create mode 100644 src/js/led/animations/BertrikFire.js.map rename {js => src/js/led}/animations/BertrikFire.ts (100%) create mode 100644 src/js/led/animations/BrainsmokeFire.js create mode 100644 src/js/led/animations/BrainsmokeFire.js.map rename {js => src/js/led}/animations/BrainsmokeFire.ts (100%) create mode 100644 src/js/led/animations/DoomFire.js create mode 100644 src/js/led/animations/DoomFire.js.map rename {js => src/js/led}/animations/DoomFire.ts (100%) create mode 100644 src/js/led/animations/Font.js create mode 100644 src/js/led/animations/Font.js.map create mode 100644 src/js/led/animations/PixelStar.js create mode 100644 src/js/led/animations/PixelStar.js.map rename {js => src/js/led}/animations/PixelStar.ts (100%) create mode 100644 src/js/led/animations/Rain.js create mode 100644 src/js/led/animations/Rain.js.map rename {js => src/js/led}/animations/Rain.ts (100%) create mode 100644 src/js/led/animations/TheMatrix.js create mode 100644 src/js/led/animations/TheMatrix.js.map rename {js => src/js/led}/animations/TheMatrix.ts (100%) create mode 100644 src/js/led/animations/all.js create mode 100644 src/js/led/animations/all.js.map rename {js => src/js/led}/animations/all.ts (100%) create mode 100644 src/js/led/fonts/FontInterface.js create mode 100644 src/js/led/fonts/FontInterface.js.map rename {js => src/js/led}/fonts/FontInterface.ts (100%) create mode 100644 src/js/led/fonts/FontSimple8x8.js create mode 100644 src/js/led/fonts/FontSimple8x8.js.map rename {js => src/js/led}/fonts/FontSimple8x8.ts (100%) create mode 100644 src/js/led/util.js create mode 100644 src/js/led/util.js.map rename {js => src/js/led}/util.ts (85%) create mode 100644 src/js/routes.js create mode 100644 src/js/server.js create mode 100644 src/js/server.js.map rename {js => src/js}/server.ts (86%) create mode 100644 src/js/store.js create mode 100644 src/pages/404.svelte create mode 100644 src/pages/about.svelte create mode 100644 src/pages/categories.svelte create mode 100644 src/pages/dynamic-route.svelte create mode 100644 src/pages/form.svelte create mode 100644 src/pages/home.svelte create mode 100644 src/pages/matrix.svelte create mode 100644 src/pages/product.svelte create mode 100644 src/pages/request-and-load.svelte create mode 100644 src/pages/settings.svelte create mode 100644 vite.config.js diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 6cee5395..00000000 --- a/.editorconfig +++ /dev/null @@ -1,10 +0,0 @@ -# editorconfig.org - -root = true - -[*] -charset = utf-8 -indent_size = 2 -indent_style = space -insert_final_newline = true -trim_trailing_whitespace = true diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index c664a906..00000000 --- a/.gitattributes +++ /dev/null @@ -1,194 +0,0 @@ -## GITATTRIBUTES FOR WEB PROJECTS -# -# These settings are for any web project. -# -# Details per file setting: -# text These files should be normalized (i.e. convert CRLF to LF). -# binary These files are binary and should be left untouched. -# -# Note that binary is a macro for -text -diff. -###################################################################### - -## AUTO-DETECT -## Handle line endings automatically for files detected as -## text and leave all files detected as binary untouched. -## This will handle all files NOT defined below. -* text=auto - -## SOURCE CODE -*.bat text eol=crlf -*.coffee text -*.css text -*.htm text -*.html text -*.inc text -*.ini text -*.js text -*.json text -*.jsx text -*.less text -*.od text -*.onlydata text -*.php text -*.pl text -*.py text -*.rb text -*.sass text -*.scm text -*.scss text -*.sh text eol=lf -*.sql text -*.styl text -*.tag text -*.ts text -*.tsx text -*.xml text -*.xhtml text - -## DOCKER -*.dockerignore text -Dockerfile text - -## DOCUMENTATION -*.markdown text -*.md text -*.mdwn text -*.mdown text -*.mkd text -*.mkdn text -*.mdtxt text -*.mdtext text -*.txt text -AUTHORS text -CHANGELOG text -CHANGES text -CONTRIBUTING text -COPYING text -copyright text -*COPYRIGHT* text -INSTALL text -license text -LICENSE text -NEWS text -readme text -*README* text -TODO text - -## TEMPLATES -*.dot text -*.ejs text -*.haml text -*.handlebars text -*.hbs text -*.hbt text -*.jade text -*.latte text -*.mustache text -*.njk text -*.phtml text -*.tmpl text -*.tpl text -*.twig text - -## LINTERS -.babelrc text -.csslintrc text -.eslintrc text -.htmlhintrc text -.jscsrc text -.jshintrc text -.jshintignore text -.prettierrc text -.stylelintrc text - -## CONFIGS -*.bowerrc text -*.cnf text -*.conf text -*.config text -.browserslistrc text -.editorconfig text -.gitattributes text -.gitconfig text -.gitignore text -.htaccess text -*.npmignore text -*.yaml text -*.yml text -browserslist text -Makefile text -makefile text - -## HEROKU -Procfile text -.slugignore text - -## GRAPHICS -*.ai binary -*.bmp binary -*.eps binary -*.gif binary -*.ico binary -*.jng binary -*.jp2 binary -*.jpg binary -*.jpeg binary -*.jpx binary -*.jxr binary -*.pdf binary -*.png binary -*.psb binary -*.psd binary -*.svg text -*.svgz binary -*.tif binary -*.tiff binary -*.wbmp binary -*.webp binary - -## AUDIO -*.kar binary -*.m4a binary -*.mid binary -*.midi binary -*.mp3 binary -*.ogg binary -*.ra binary - -## VIDEO -*.3gpp binary -*.3gp binary -*.as binary -*.asf binary -*.asx binary -*.fla binary -*.flv binary -*.m4v binary -*.mng binary -*.mov binary -*.mp4 binary -*.mpeg binary -*.mpg binary -*.ogv binary -*.swc binary -*.swf binary -*.webm binary - -## ARCHIVES -*.7z binary -*.gz binary -*.jar binary -*.rar binary -*.tar binary -*.zip binary - -## FONTS -*.ttf binary -*.eot binary -*.otf binary -*.woff binary -*.woff2 binary - -## EXECUTABLES -*.exe binary -*.pyc binary diff --git a/.gitignore b/.gitignore index 8148e149..7bf522f0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,42 @@ -# Include your project-specific ignores in this file -# Read about how to use .gitignore: https://help.github.com/articles/ignoring-files -# Useful .gitignore templates: https://github.com/github/gitignore -node_modules -dist -.cache -/yarn.lock -/yarn-error.log -.parcel-cache +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Dependency directories +node_modules/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# Misc +.DS_Store +Thumbs.db + + + + + +# Production build +www/ diff --git a/.htaccess b/.htaccess deleted file mode 100644 index 12a2e0ac..00000000 --- a/.htaccess +++ /dev/null @@ -1,1225 +0,0 @@ -# Apache Server Configs v4.0.0 | MIT License -# https://github.com/h5bp/server-configs-apache - -# (!) Using `.htaccess` files slows down Apache, therefore, if you have -# access to the main server configuration file (which is usually called -# `httpd.conf`), you should add this logic there. -# -# https://httpd.apache.org/docs/current/howto/htaccess.html - -# ###################################################################### -# # CROSS-ORIGIN # -# ###################################################################### - -# ---------------------------------------------------------------------- -# | Cross-origin requests | -# ---------------------------------------------------------------------- - -# Allow cross-origin requests. -# -# https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS -# https://enable-cors.org/ -# https://www.w3.org/TR/cors/ - -# (!) Do not use this without understanding the consequences. -# This will permit access from any other website. -# Instead of using this file, consider using a specific rule such as -# allowing access based on (sub)domain: -# -# Header set Access-Control-Allow-Origin "subdomain.example.com" - -# -# Header set Access-Control-Allow-Origin "*" -# - -# ---------------------------------------------------------------------- -# | Cross-origin images | -# ---------------------------------------------------------------------- - -# Send the CORS header for images when browsers request it. -# -# https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image -# https://blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html - - - - - SetEnvIf Origin ":" IS_CORS - Header set Access-Control-Allow-Origin "*" env=IS_CORS - - - - -# ---------------------------------------------------------------------- -# | Cross-origin web fonts | -# ---------------------------------------------------------------------- - -# Allow cross-origin access to web fonts. -# -# https://developers.google.com/fonts/docs/troubleshooting - - - - Header set Access-Control-Allow-Origin "*" - - - -# ---------------------------------------------------------------------- -# | Cross-origin resource timing | -# ---------------------------------------------------------------------- - -# Allow cross-origin access to the timing information for all resources. -# -# If a resource isn't served with a `Timing-Allow-Origin` header that would -# allow its timing information to be shared with the document, some of the -# attributes of the `PerformanceResourceTiming` object will be set to zero. -# -# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Timing-Allow-Origin -# https://www.w3.org/TR/resource-timing/ -# https://www.stevesouders.com/blog/2014/08/21/resource-timing-practical-tips/ - -# -# Header set Timing-Allow-Origin: "*" -# - -# ###################################################################### -# # ERRORS # -# ###################################################################### - -# ---------------------------------------------------------------------- -# | Custom error messages/pages | -# ---------------------------------------------------------------------- - -# Customize what Apache returns to the client in case of an error. -# -# https://httpd.apache.org/docs/current/mod/core.html#errordocument - -ErrorDocument 404 /404.html - -# ---------------------------------------------------------------------- -# | Error prevention | -# ---------------------------------------------------------------------- - -# Disable the pattern matching based on filenames. -# -# This setting prevents Apache from returning a 404 error as the result of a -# rewrite when the directory with the same name does not exist. -# -# https://httpd.apache.org/docs/current/content-negotiation.html#multiviews - -Options -MultiViews - -# ###################################################################### -# # INTERNET EXPLORER # -# ###################################################################### - -# ---------------------------------------------------------------------- -# | Document modes | -# ---------------------------------------------------------------------- - -# Force Internet Explorer 8/9/10 to render pages in the highest mode -# available in various cases when it may not. -# -# https://hsivonen.fi/doctype/#ie8 -# -# (!) Starting with Internet Explorer 11, document modes are deprecated. -# If your business still relies on older web apps and services that were -# designed for older versions of Internet Explorer, you might want to -# consider enabling `Enterprise Mode` throughout your company. -# -# https://msdn.microsoft.com/en-us/library/ie/bg182625.aspx#docmode -# https://blogs.msdn.microsoft.com/ie/2014/04/02/stay-up-to-date-with-enterprise-mode-for-internet-explorer-11/ -# https://msdn.microsoft.com/en-us/library/ff955275.aspx - - - Header always set X-UA-Compatible "IE=edge" "expr=%{CONTENT_TYPE} =~ m#text/html#i" - - -# ###################################################################### -# # MEDIA TYPES AND CHARACTER ENCODINGS # -# ###################################################################### - -# ---------------------------------------------------------------------- -# | Media types | -# ---------------------------------------------------------------------- - -# Serve resources with the proper media types (f.k.a. MIME types). -# -# https://www.iana.org/assignments/media-types/media-types.xhtml -# https://httpd.apache.org/docs/current/mod/mod_mime.html#addtype - - - - # Data interchange - - AddType application/atom+xml atom - AddType application/json json map topojson - AddType application/ld+json jsonld - AddType application/rss+xml rss - AddType application/geo+json geojson - AddType application/rdf+xml rdf - AddType application/xml xml - - - # JavaScript - - # Servers should use text/javascript for JavaScript resources. - # https://html.spec.whatwg.org/multipage/scripting.html#scriptingLanguages - - AddType text/javascript js mjs - - - # Manifest files - - AddType application/manifest+json webmanifest - AddType application/x-web-app-manifest+json webapp - AddType text/cache-manifest appcache - - - # Media files - - AddType audio/mp4 f4a f4b m4a - AddType audio/ogg oga ogg opus - AddType image/bmp bmp - AddType image/svg+xml svg svgz - AddType image/webp webp - AddType video/mp4 f4v f4p m4v mp4 - AddType video/ogg ogv - AddType video/webm webm - AddType video/x-flv flv - - # Serving `.ico` image files with a different media type prevents - # Internet Explorer from displaying them as images: - # https://github.com/h5bp/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee - - AddType image/x-icon cur ico - - - # WebAssembly - - AddType application/wasm wasm - - - # Web fonts - - AddType font/woff woff - AddType font/woff2 woff2 - AddType application/vnd.ms-fontobject eot - AddType font/ttf ttf - AddType font/collection ttc - AddType font/otf otf - - - # Other - - AddType application/octet-stream safariextz - AddType application/x-bb-appworld bbaw - AddType application/x-chrome-extension crx - AddType application/x-opera-extension oex - AddType application/x-xpinstall xpi - AddType text/calendar ics - AddType text/markdown markdown md - AddType text/vcard vcard vcf - AddType text/vnd.rim.location.xloc xloc - AddType text/vtt vtt - AddType text/x-component htc - - - -# ---------------------------------------------------------------------- -# | Character encodings | -# ---------------------------------------------------------------------- - -# Serve all resources labeled as `text/html` or `text/plain` with the media type -# `charset` parameter set to `UTF-8`. -# -# https://httpd.apache.org/docs/current/mod/core.html#adddefaultcharset - -AddDefaultCharset utf-8 - -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# Serve the following file types with the media type `charset` parameter set to -# `UTF-8`. -# -# https://httpd.apache.org/docs/current/mod/mod_mime.html#addcharset - - - AddCharset utf-8 .appcache \ - .bbaw \ - .css \ - .htc \ - .ics \ - .js \ - .json \ - .manifest \ - .map \ - .markdown \ - .md \ - .mjs \ - .topojson \ - .vtt \ - .vcard \ - .vcf \ - .webmanifest \ - .xloc - - -# ###################################################################### -# # REWRITES # -# ###################################################################### - -# ---------------------------------------------------------------------- -# | Rewrite engine | -# ---------------------------------------------------------------------- - -# (1) Turn on the rewrite engine (this is necessary in order for the -# `RewriteRule` directives to work). -# -# https://httpd.apache.org/docs/current/mod/mod_rewrite.html#RewriteEngine -# -# (2) Enable the `FollowSymLinks` option if it isn't already. -# -# https://httpd.apache.org/docs/current/mod/core.html#options -# -# (3) If your web host doesn't allow the `FollowSymlinks` option, you need to -# comment it out or remove it, and then uncomment the -# `Options +SymLinksIfOwnerMatch` line (4), but be aware of the performance -# impact. -# -# https://httpd.apache.org/docs/current/misc/perf-tuning.html#symlinks -# -# (4) Some cloud hosting services will require you set `RewriteBase`. -# -# https://www.rackspace.com/knowledge_center/frequently-asked-question/why-is-modrewrite-not-working-on-my-site -# https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase -# -# (5) Depending on how your server is set up, you may also need to use the -# `RewriteOptions` directive to enable some options for the rewrite engine. -# -# https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteoptions - - - - # (1) - RewriteEngine On - - # (2) - Options +FollowSymlinks - - # (3) - # Options +SymLinksIfOwnerMatch - - # (4) - # RewriteBase / - - # (5) - # RewriteOptions - - - -# ---------------------------------------------------------------------- -# | Forcing `https://` | -# ---------------------------------------------------------------------- - -# Redirect from the `http://` to the `https://` version of the URL. -# -# https://wiki.apache.org/httpd/RewriteHTTPToHTTPS - -# (1) If you're using cPanel AutoSSL or the Let's Encrypt webroot method it -# will fail to validate the certificate if validation requests are -# redirected to HTTPS. Turn on the condition(s) you need. -# -# https://www.iana.org/assignments/well-known-uris/well-known-uris.xhtml -# https://tools.ietf.org/html/draft-ietf-acme-acme-12 - -# -# RewriteEngine On -# RewriteCond %{HTTPS} !=on -# # (1) -# # RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/ -# # RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[\w-]+$ -# # RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$ -# RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] -# - -# ---------------------------------------------------------------------- -# | Suppressing the `www.` at the beginning of URLs | -# ---------------------------------------------------------------------- - -# Rewrite www.example.com → example.com - -# The same content should never be available under two different URLs, -# especially not with and without `www.` at the beginning. -# This can cause SEO problems (duplicate content), and therefore, you should -# choose one of the alternatives and redirect the other one. -# -# (!) NEVER USE BOTH WWW-RELATED RULES AT THE SAME TIME! - -# (1) Set %{ENV:PROTO} variable, to allow rewrites to redirect with the -# appropriate schema automatically (http or https). -# -# (2) The rule assumes by default that both HTTP and HTTPS environments are -# available for redirection. -# If your SSL certificate could not handle one of the domains used during -# redirection, you should turn the condition on. -# -# https://github.com/h5bp/server-configs-apache/issues/52 - - - - RewriteEngine On - - # (1) - RewriteCond %{HTTPS} =on - RewriteRule ^ - [E=PROTO:https] - RewriteCond %{HTTPS} !=on - RewriteRule ^ - [E=PROTO:http] - - # (2) - # RewriteCond %{HTTPS} !=on - - RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] - RewriteRule ^ %{ENV:PROTO}://%1%{REQUEST_URI} [R=301,L] - - - -# ---------------------------------------------------------------------- -# | Forcing the `www.` at the beginning of URLs | -# ---------------------------------------------------------------------- - -# Rewrite example.com → www.example.com - -# The same content should never be available under two different URLs, -# especially not with and without `www.` at the beginning. -# This can cause SEO problems (duplicate content), and therefore, you should -# choose one of the alternatives and redirect the other one. -# -# (!) NEVER USE BOTH WWW-RELATED RULES AT THE SAME TIME! - -# (1) Set %{ENV:PROTO} variable, to allow rewrites to redirect with the -# appropriate schema automatically (http or https). -# -# (2) The rule assumes by default that both HTTP and HTTPS environments are -# available for redirection. -# If your SSL certificate could not handle one of the domains used during -# redirection, you should turn the condition on. -# -# https://github.com/h5bp/server-configs-apache/issues/52 - -# Be aware that the following might not be a good idea if you use "real" -# subdomains for certain parts of your website. - -# - -# RewriteEngine On - -# # (1) -# RewriteCond %{HTTPS} =on -# RewriteRule ^ - [E=PROTO:https] -# RewriteCond %{HTTPS} !=on -# RewriteRule ^ - [E=PROTO:http] - -# # (2) -# # RewriteCond %{HTTPS} !=on - -# RewriteCond %{HTTP_HOST} !^www\. [NC] -# RewriteCond %{SERVER_ADDR} !=127.0.0.1 -# RewriteCond %{SERVER_ADDR} !=::1 -# RewriteRule ^ %{ENV:PROTO}://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] - -# - -# ###################################################################### -# # SECURITY # -# ###################################################################### - -# ---------------------------------------------------------------------- -# | Frame Options | -# ---------------------------------------------------------------------- - -# Protect website against clickjacking. -# -# The example below sends the `X-Frame-Options` response header with the value -# `DENY`, informing browsers not to display the content of the web page in any -# frame. -# -# This might not be the best setting for everyone. You should read about the -# other two possible values the `X-Frame-Options` header field can have: -# `SAMEORIGIN` and `ALLOW-FROM`. -# https://tools.ietf.org/html/rfc7034#section-2.1. -# -# Keep in mind that while you could send the `X-Frame-Options` header for all -# of your website's pages, this has the potential downside that it forbids even -# non-malicious framing of your content (e.g.: when users visit your website -# using a Google Image Search results page). -# -# Nonetheless, you should ensure that you send the `X-Frame-Options` header for -# all pages that allow a user to make a state-changing operation (e.g: pages -# that contain one-click purchase links, checkout or bank-transfer confirmation -# pages, pages that make permanent configuration changes, etc.). -# -# Sending the `X-Frame-Options` header can also protect your website against -# more than just clickjacking attacks. -# https://cure53.de/xfo-clickjacking.pdf. -# -# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options -# https://tools.ietf.org/html/rfc7034 -# https://blogs.msdn.microsoft.com/ieinternals/2010/03/30/combating-clickjacking-with-x-frame-options/ -# https://www.owasp.org/index.php/Clickjacking - -# -# Header always set X-Frame-Options "DENY" "expr=%{CONTENT_TYPE} =~ m#text/html#i" -# - -# ---------------------------------------------------------------------- -# | Content Security Policy (CSP) | -# ---------------------------------------------------------------------- - -# Mitigate the risk of cross-site scripting and other content-injection -# attacks. -# -# This can be done by setting a `Content Security Policy` which whitelists -# trusted sources of content for your website. -# -# There is no policy that fits all websites, you will have to modify the -# `Content-Security-Policy` directives in the example depending on your needs. -# -# The example policy below aims to: -# -# (1) Restrict all fetches by default to the origin of the current website by -# setting the `default-src` directive to `'self'` - which acts as a -# fallback to all "Fetch directives" (https://developer.mozilla.org/en-US/docs/Glossary/Fetch_directive). -# -# This is convenient as you do not have to specify all Fetch directives -# that apply to your site, for example: -# `connect-src 'self'; font-src 'self'; script-src 'self'; style-src 'self'`, etc. -# -# This restriction also means that you must explicitly define from which -# site(s) your website is allowed to load resources from. -# -# (2) The `` element is not allowed on the website. This is to prevent -# attackers from changing the locations of resources loaded from relative -# URLs. -# -# If you want to use the `` element, then `base-uri 'self'` can be -# used instead. -# -# (3) Form submissions are only allowed from the current website by setting: -# `form-action 'self'`. -# -# (4) Prevents all websites (including your own) from embedding your webpages -# within e.g. the `