Warning This project is not for production use. I built this project just for learning purposes and consider it a hobby project. I may or may not update it, so please don't use it on production, and neither do I. Issues, ideas, and PRs are WELCOME!
Note This is the project that I built when I was deepening my knowledge of back-end development. Feel free to open issues, bring ideas, and send PRs.
What I cannot create, I do not understand — Richard Feynman.
It sure is. The above quote is my favorite. It's through building that we learn how things work or should work. Using the code that others have written is convenient, but if we want to be have a deeper understanding we should start building. Visit the golden GitHub repository Build Your Own X to find some notions.
This project is my attempt to learn how template engines work. You can read the code and pick some ideas to build your own template engine. I also went further and implemented tests and added TypeScript so everyone — including future myself — can understand the code better. I provided some examples in examples folder as well.
In order to being more user freindly, I called this project Ash — One of the operators in Tom Clancy's Rainbow 6 Siege Video Game. That's it.