I previously shared my thoughts on writing with WordPress here. I explained why WordPress is no longer the ideal platform for blogging: it’s simply too bloated. There is too much information, too many unnecessary features, and, most importantly, too much "crapware."
In my search for the best writing and blogging platform, I revisited Google Blogger and tried Ghost and ClassicPress.
They are all solid options and feel sufficient for basic needs. However, when it comes to customization, they still feel unnecessarily difficult and complex.
You might ask: What exactly am I looking for?
I want a seamless writing experience—specifically, a setup where I have full control and can watch my work being rendered in real-time.
Why not just use a WYSIWYG editor?
I’ve tried various WYSIWYG editors, but I never found one that perfectly suited my needs. From TinyMCE to the Trix Editor, they are all competent, but the rendering often feels slightly "off." In the end, I always find myself needing to review the raw text anyway.
Meet Marked
Then I discovered a simple Markdown previewer from Marked.
This was exactly what I needed: a simple two-panel interface where one side is an editor for Markdown and the other provides a live render.
Based on this simple idea, I built activeadmin_mitosis_editor. In the era of AI, it’s easier than ever to bring a conceptual idea to life.
ActiveAdmin is excellent, and its DSL feels natural. I just needed to integrate this concept into ActiveAdmin as a custom input. Now, the gem is ready to use.
form do |f|
f.inputs do
f.input :title
f.input :slug
f.input :body, as: :mitosis_editor
f.input :published
f.input :published_at, as: :datetime_picker
end
f.actions
end
But...
The editor is just for writing. To render the content in a view, I use another gem: gitlab-glfm-markdown.
div class: "post-content" do
GLFMMarkdown.to_html(post.body, options: { unsafe: true }).html_safe
end
The experience
This setup fulfills my requirements: a simple Markdown editor that plugs directly into ActiveAdmin.
I also added some helpful keyboard shortcuts:
CTRL + bboldCTRL + iitalicCTRL + kinsert URLCTRL + minsert image
Since this lives on Rails, I can take it even further—perhaps by integrating an LLM to correct my typos or suggest improvements.