The code in this commit is not intended for production environments;
it requires further testing.
Added:
- Multiple "Source Sans 3" fonts to test many `FontFace` entries.
Changed:
- Removed quotes from font family name to avoid them being included in `FontFace.family` value.
Notes:
- Replaces hidden `<span>` elements with `FaceFace.load()` and `FaceFace.loaded` to eagerly load fonts.
- Fonts are eagerly using custom `loadFonts()` (see 'app.js').
- Acting upon loaded fonts is done using `whenReady()` (see 'Example.js').
Replaced custom callback stacks for executing handlers on page visibility change with native event listener interface and custom event types.
Added:
- Class `PageVisibility` with methods to disable/enable custom event types and check if feature is enabled.
- Custom event types "visibilityhidden" and "visibilityvisible".
- Rename _page.scss to _document.scss
- Rename $fontfaces to $font-faces for consistency
- Document _fonts.scss mixins and functions
- Create mixins @font-face for one face
Decouple static "main" keys in mconfig.json and refactor tasks to support many output files.
Added:
- scripts.js: Array of output files (such as 'app.js') to iterate over to bundle JS files.
- styles.js: Array of input files (such as 'main.css' and 'critical.css') to iterate over to compile Sass files.
- svgs.js: Array of output files (such as 'sprite.svg') to iterate over to compile SVG spritesheets.
Changed:
- mconfig.json: Decouple entry points to individual tasks to allow for more flexibility in projects.
- concat.js: Refactor function to use promises to build list of JS files to concatenate.
- message.js: Replace if statements with switch for improved readability.
- message.js: If timerID provided with "waiting" type, log time.
- watch.js: Change CSS and JS reload watch paths to include all files.
- Sorted imports by path.