But, I don't want to start with frameworks. I want to learn vanilla HTML, CS, JS. Frameworks hide many things. I know the DOM is a structured form of data. I want full control through vanilla JS to manipulate and bend that structure at my will.
Where to learn that from? Also I believe learning in this way will give me more understanding about JS frameworks when I study their source code.
HEX: a No-Framework Approach to Building Modern Web Apps (2017)
https://medium.com/@metapgmr/hex-a-no-framework-approach-to-...
Manning has Build a Web Framework (From Scratch) in its Manning Early Access Program (MEAP):
https://www.manning.com/books/build-a-frontend-web-framework...
Web Components are a neat way to have
Even just `document.querySelector` and `.querySelectorAll` gives some idea of vanilla JS. There's also (tongue-in-cheek)
This book for writing Javascript may still be relevant:
Reliable Javascript: How to Code Safely in the World's Most Dangerous Language (2015)
Hmm, code samples are no longer easily available. I would love to share it if Wrox Press (formerly) were cool with it.
And then there's places like Mozilla Developer Network (MDN):
https://developer.mozilla.org/en-US/
You mentioned backend. With just Node.js, you're technically running vanilla JS there too.
Sign up to a Udemy web-development bootcamp. Take it class by class by class. It won't necessarily be quick. Some things won't work, because things will have changed since the bootcamp was recorded - that's practice onto itself in how to fix things - and the Q&As on Udemy courses are very good for that. Afterwards, sign up to an intermediate course that actually builds a project in a given framework. It doesn't matter which, because once you know one, it's a lot easier to contextualize a different one. Anyhow, the framework doesn't matter, at least not for the first year or two; being able to create and ship something does.