Remaining Todos
So far I have listed (publicly and privately) the following remaining todos:
- Support for markdown-it-katex
- Support for js-sequence-diagrams
- Mobile friendliness
- Routes for individual posts
- Metadata for each individual post using markdown-it-meta or similar
- Centering images
- Pagination
- High-resolution favicons
- Code splitting
- Linting
- Serverless authentication
- Markdown editor in React
- Disqus Comments
- Google Analytics
- Deployment pipeline
- Responsive navbar
Of these, the following are done:
- Mobile friendliness
- Deployment pipeline
The following are put on hold indefinitely:
- Anything regarding routes:
- Routes for individual posts
- Pagination
- Code splitting
- Anything that's a nice to have:
- Markdown-it-katex, no console errors
- js-sequence-diagrams
- Metadata for each individual post
- High-res favicons
- Linting
- Centering images
- Disqus Comments
- Responsive navbar
- Anything that would need a server
- Google Analytics
- Editor in React
Uh, yeah... Most of these will probably not be finished...
Kinda sad, but I think I should admit it to myself and to the world. There will be other projects ahead where I can learn to tackle these problems.
So some more experience gained:
- Having a server is really nice. Serverless authentication is technically possible, if you use something like AWS Lambda. Which is basically a pay-per-execution server. Which given any meaningful scale, is going to require you to pay through the nose. Might as well have a backend. Not having a backend is the whole point of this blog.
- I don't know anything security as of right now, including XSS vulnerabilities,
which are created if you use
dangerouslySetInnerHTMLin React, which may have helped resolve some of the mathML console errors that I was seeing. I'm not going to expose myself to those practices if I don't need to, and certainly not because I have console errors. - Code splitting through
react-routeris done through the routes. However, if you have one main route, I don't think you can split along route params. A server would help in this case too. - I can't create new files in React alone. So no live editor unfortunately.
- I tried integrating high-res favicons, but it would just increase the bundle size and doesn't look all that much nicer.
- I'm probably going to be the only person who is posting here for the foreseeable future, and linting isn't all that necessary.
Where does that leave me now?
- Just continue to write posts, and if it gets too heavy (unbearable load times, unlikely because it should be load once and cached in the user's computer, and I can always add in a loading spinner), get a server.
