Tools to help with music practice and improving musicality as well as remote lessons.
The format is a blog / journal which contains interactive elements for making life easier. These include:
Uses this stack of awesome opensource technology.
All pages live in the pages folder and are authored using nunjucks templated markdown which are rendered by the awesome 11ty static site generator. Widgets are added with shortcodes.
This use a typical nodejs development platform so:
npm installnpm run devallhttp://localhost:8080/).Get your own version of https://musicpracticetools.net/ on the web with Netlify using this button. It will clone this repo to your own GitHub account and link it to a new site for you on Netlfy.
The non pages source code is in the src. The usual dev tool config files are in the project root.
This is basically a static site using nunjucks templates with a little client-side javascript added for behaviours to provide interactive widgets. This project is based on the 11ty blog example which supports tags.
Template shortcodes are used for the custom interactive widgets. These provide a clean authoring experience but does mean some widget code is server side and some client side. In general the source code under src is:
pages_11ty*_includes and _layouts_11tyadd-shortcodes.jsjs*css*The client code assumes an up to date browser using ES6 features to improve DX.
When running npm run dev 11ty generates the website from src into _site which is then served. Changes to client-side files cause a rebuild of the site and browsersync forces an browser refresh.
However, when serverside files in _11ty change the site must be regenrated. npm run devall forces a rebuild in this case but then the browser does not refresh.
Pressing F5 to refesh the browser is required in this case.
I develop on Windows using VS Code. In theory Linux and Mac dev platforms should just work.