Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

De-JS-ify build tooling #24

Open
asaaki opened this issue Sep 9, 2020 · 0 comments
Open

De-JS-ify build tooling #24

asaaki opened this issue Sep 9, 2020 · 0 comments
Assignees

Comments

@asaaki
Copy link
Contributor

asaaki commented Sep 9, 2020

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:

@asaaki asaaki self-assigned this Sep 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant