added an API endpoint to write a new article
dashboard page, notification page, article page - refactor code to suit the new ssr preact spa paradigm
Wrote "Trivial Details That Make Me Happy" https://writelier.com/trivial-details-that-make-me-happy-c3da4349-1adf-424f-a960-ac4f70ac83fc
re-implement csrf protection mechanism to work with the new single page app paradigm
re-implement recaptcha to work with the new single page app paradigm
login/registration pages - migrate code to ssr preact spa
Wrote "My First Writing Project" https://writelier.com/my-first-writing-project-6b47064c-6288-4291-a660-0311e39408ef
FAQ, Privacy terms, Terms of Services pages - migrate code to ssr preact spa
fellowship page - migrate back and front logic to ssr preact spa
Wrote "Will to Write" https://writelier.com/will-to-write-00edc95e-f1fe-41b6-9972-bb421a965046
homepage - migrate page to preact and ssr spa architecture
webpack - implement asset versioning support
fix configuration problem with server-side preact/compat
Wrote "Code-Splitting with SSR Preact" https://writelier.com/code-splitting-with-ssr-preact-f6054eee-e493-4eba-8dde-33c9fffe098c
integrated preact and lazy-loaded ssr routes
finally managed to implement ssr route-based code-splitting with Preact :D
integrated slatejs with preact ssr, works better than draftjs :O
Wrote "Bug Down" https://writelier.com/bug-down-cbd7e697-72f9-4b06-a45f-b6abee040bf2
adapt preact-netlify-cms template to my blog folder structure
Integrate static CMS
migrate personal website to preact-cli
Wrote "From Dynamic to Pre-Rendered SPA" https://writelier.com/from-dynamic-to-pre-rendered-spa-f55bf9be-98aa-4161-aad5-5991b07d93a3
experiment with ssr loadable-component
implementing an offline-first architecture
Wrote "Big Fish, Small Fish" https://writelier.com/big-fish-small-fish-665e39a7-a39a-4050-b666-9c7409c62530
added a report button
We have some spam problem, so I gave the ability to experienced users to report spammers. A reported user /article ceases to be displayed until I review or ban him/her.