I would like to introduce my new project OrangeCMS, it’s an application that help you to create/edit content post for your static site without git and markdown knowledge. For developers like me and you, it’s easy to create a file, write some markdown, and git push to remote repo. But for non-tech guys, like my wife or your marketing team, it’s too complicated.
I searched on the web for an existing solution but they are not fit with my need. So I decide to build a new one. It’s inspired by Spinal cms.
I was quite busy last couple weeks so there is not much new update. I use this cms to manage my blog content so I added some improvement for the editor.
1. Implement image upload config for each content type
For example: upload image to folder /public/assets and serve at /assets, this depends on how your static site generator handle assets.
2. Add image upload field in fronmatter form
This took a while to handle preview, all uploaded image in frontmatter using relative path, but preview required a full url, so I use raw content url for preview.
3. Add slash command for quick insert new block
4. Insert image to post content
Yeah, I have customized editor to handle preview relative image url
I have not updated OrangeCMS for a while.
I had to make a decision to migrate from Ash framework to Phoenix and Ecto.
Ash framework is really cool and I have learned a lot from it, and discovering it is really fun. But developers have to spend time learning Ash to be able to contribute to OrangeCMS. To remove this barrier, I decided to migrate to Phoenix context and Ecto.
Yeah, lots of work to do, I have to implement policy, role based access myself. (Ash have mostly everything I need, just plug and update configuration, and it works.)
In this update
Migrate code base to Phoenix context + Ecto Rebuild UI with Liveview components ported from Accordion - shadcn/ui Role-based access has not been implemented in this update yet.