Files
squeezelite-esp32/components/wifi-manager/webapp
Michael Herger bc0d104290 Add support for a firmware download proxy (#85)
* 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>
2021-04-03 21:01:40 -04:00
..
2020-12-21 11:01:22 -05:00
2020-12-21 11:01:22 -05:00
2020-12-21 11:01:22 -05:00
2020-12-21 11:01:22 -05:00
2020-12-21 11:01:22 -05:00
2020-12-21 11:01:22 -05:00
2020-12-21 11:01:22 -05:00
2020-12-21 11:01:22 -05:00
2020-12-21 11:01:22 -05:00
2020-12-21 11:01:22 -05:00
2020-12-21 11:01:22 -05:00
2020-12-21 11:01:22 -05:00
2020-12-21 11:01:22 -05:00
2020-12-21 11:01:22 -05:00
2020-12-21 11:01:22 -05:00
2020-12-21 11:01:22 -05:00

Boilerplate - Bootstrap v4 - SASS - JQuery - WebPack

Webpack Webpack node-sass jquery jquery popper.js eslint Font Awesome Line Awesome

webpack logo bootstrap logo babel logo sass logo

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-sass for compiling sass (SCSS)
  • babel-loader for compiling ES6 code
  • babel-eslint && eslint-loader for Linting your .js
  • tslint for Linting your .ts
  • lodash-webpack-plugin create smaller Lodash builds by replacing feature sets of modules with noop, identity, or simpler alternatives.
  • webpack-dev-server for serving & Hot-Reloading
  • css-loader for compressing css
  • sass-loader for compressing and loading scss & sass
  • url- & file-loader for loading and optimizing images
  • xml and csv loader for loading data files
  • html-loader for loading & optimizing html files
  • clean-webpack-plugin for keeping your dist folder clean
  • favicons-webpack-plugin generate favicons form your "logo.png"

Getting Started

Dependencies

Make sure these are installed first.


Quick Start

  1. Clone the repo : git clone https://github.com/AndyKorek/webpack-boilerplate-sass-ts-bootstrap4-fontawesome.git

  2. In bash/terminal/command line, cd into project directory.

  3. Run npm i to install required dependencies.

  4. 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 to src/_scss folder.

    • Make sure you import the scss file in main.scss
      @import "filename";
      
  • Add your assets to src/assets/

  • Add images to src/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