Skip to content

De-JS-ify build tooling #24

@asaaki

Description

@asaaki

The gulp stuff is old and dusty, the dep tree has also old and vulnerable stuff in it now.
Also I don't like to constantly check if any dep update could have caused some breaking changes, which alas happens way too often for my taste in the JS ecosystem. And I am not a full time JS dev to spend my time on this.

Also just a lame excuse to build my own tooling in a language of my chosing.

What the toolchain needs to cover (not in that specific order):

  • HTML post processing
  • HTML clean up (tidy)
  • IMG tag post processing
    • add alt attribute
    • add lazy loading if unset
    • add dimensions
    • add LQIP/SQIP (background css)
    • convert to PICTURE tag (w/ webp source + png/jpeg img); leave GIFs alone for now
  • minimize HTML
    • note: skip the feeds first!
  • minimize JS
  • minimize CSS
  • image conversions/transformations:
    • optimize/minize source images (mostly PNGs, maybe JPEGs, not sure about GIFs)
    • create WEBPs; note: discard if file size would be bigger than source!
    • create LQIP/SQIP versions (make sure SVG is optimized as well)
    • create thumbnails (mostly for hero images)

These are the basic steps, and most of them come from some JS tools.

If full rewrites are not possible, check alternative tools:

Some new steps maybe:

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions