* Add support for a firmware download proxy. This should help in situations where the player's firmware can't handle https correctly. Two possibilities: * full path to image: http://yourlms:9000/plugins/SqueezeESP32/firmware/ESP32-A1S.32.634.master-cmake/squeezelite-esp32-master-cmake-ESP32-A1S-32-V0.634.bin * use Github's asset ID: http://yourlms:9000/plugins/SqueezeESP32/firmware/34298863 The former is more prone to issues related to the path. A change in the schema could break the matching regex. The latter is simpler to use if you know the ID. But the ID is not easily available to the user. And it requires one more lookup in the plugin to get from the ID to the download path. * Add support for proxying firmware downloads through LMS * add magic asset ID -99 to allow the front-end to check whether the plugin does support download proxying * web manager is expecting `lms_port` and `lms_ip` in `status.json`. If that's available, check whether plugin does support firmware downloading. If that's the case, download firmwares through LMS * plugin would cache firmware images. In case of multiple images the file would be served directly from LMS. Co-authored-by: Michael Herger <michael@herger.net>
Boilerplate - Bootstrap v4 - SASS - JQuery - WebPack
SASS · Babel · Bootstrap · JQuery · PopperJS · Font Awesome
This Webpack4-Sass Boilerplate contains the following features:
- Webpack4 & Dev-Server
- TypeScript 3.7.5
- Babel ES6 Compiler
- Bootstrap v4 - with Theme Support
- Font Awesome v5.7
- Animate.css Library v3.7.2
- JQuery v3.3.1
- PopperJS v2
- _lodash
- concentrate and minify JavaScript.
- Compile, minify, Autoprefix SASS.
- Optimize and Cache Images
- Preconfigured BootsWatch Template (YETI & Slate)
- Linting for your TS, JS and SASS
Features
Webpack Loaders & Plugins
This project contains the following loaders & plugins:
node-sassfor compiling sass (SCSS)babel-loaderfor compiling ES6 codebabel-eslint && eslint-loaderfor Linting your .jstslintfor Linting your .tslodash-webpack-plugincreate smaller Lodash builds by replacing feature sets of modules with noop, identity, or simpler alternatives.webpack-dev-serverfor serving & Hot-Reloadingcss-loaderfor compressing csssass-loaderfor compressing and loading scss & sassurl- & file-loaderfor loading and optimizing imagesxml and csv loaderfor loading data fileshtml-loaderfor loading & optimizing html filesclean-webpack-pluginfor keeping your dist folder cleanfavicons-webpack-plugingenerate favicons form your "logo.png"
Getting Started
Dependencies
Make sure these are installed first.
Quick Start
-
Clone the repo :
git clone https://github.com/AndyKorek/webpack-boilerplate-sass-ts-bootstrap4-fontawesome.git -
In bash/terminal/command line,
cdinto project directory. -
Run
npm ito install required dependencies. -
Run the Dev Server with (with Hot Reloading)
npm run dev
Build the Production Folder
npm run build
This will:
- Bundle and Minify SASS(scss) to css & Hash and Cash it
- generate GZip and Brodli Compressed Assets
- Bundle and Minify JS
- Optimize Images
- Optimize HTML
- generate Favicons
Documentation
Workflow structure
src - > source directory
dist -> build directory
├── src
│ ├── assets
│ │ └── images
│ ├── fonts
│ ├── sass
│ │ ├── layout
| | | └── _features.scss
│ │ ├── setup
| | | └── _normalize.scss
│ │ ├── themes
| | | ├── _slate.scss
| | | └── _yeti.scss
│ │ ├── utils
| | | ├── _mixins.scss
| | | └── _variables.scss
│ │ ├── _globals.scss
│ │ ├── _headings.scss
│ │ ├── _typography.scss
│ │ ├── _vendor.scss
│ │ └── main.scss
│ ├── ts
│ │ ├── custom.ts
│ │ ├── line-awesome.ts
│ │ ├── vendor.ts
│ |── .htaccess
│ |── 404.html
│ |── index.html
│ └── index.ts
├── dist
│ ├── assets
│ │ ├── images
│ │ └──
│ ├── css
│ │ ├── vendors.[contenthash].css
│ │ └── main.contenthash].css
│ ├── js
│ │ ├── main.[contenthash].js
│ │ ├── runtime.[contenthash].js
│ │ └── vendors.[contenthash].js
│ │
│ └── index.html
Loading the Features you need
in src/js/vendor/_boostrap.js uncomment all Features you need
put your custom js to src/js/_custom.js
Instructions
-
Add
sass(.scss) files tosrc/_scssfolder.- Make sure you import the scss file in
main.scss@import "filename";
- Make sure you import the scss file in
-
Add your assets to
src/assets/ -
Add
imagestosrc/assets/images
TODO list
- Bootstrap 4
- Webpack 4
- Jquery
- PopperJS v2
- Include ES-Lint
- Font-Awesome
- Assets Loader
- Separated location for Bundled Files
- Adding EsLint
- Code Optimising
- Uglify and Minify JS with Terser
Licence
Code released under the MIT License.
</> with ❤️ from Germany



