Writing Takes 40 Minutes, Publishing Takes 30 — How I Solved It
Last Wednesday, 22:00. I just finished writing a tutorial on Python async programming — 2200 words, clean Markdown, syntax-highlighted code blocks.
22:03, open Juejin. Paste title. Paste content. Code highlighting gone. Fix manually. Pick tags. Publish.
22:08, open Zhihu. Paste title. Paste content. The Draft.js editor merged async def into asyncdef. Fix line by line. Publish.
22:15, open CSDN. Paste title. Content looks fine. But the category dropdown has 50 options and "Python" is buried. Publish.
22:20, open Cnblogs. Must add [Markdown] tag to categories or the whole article renders as garbled HTML. Publish.
22:25, open SegmentFault. Search tags for "Python async" — zero results. Type manually. Publish.
22:30, open Dev.to. Translate title. Translate content. Publish.
Forty minutes to write. Thirty minutes to publish.
22:35, all done. But the next morning, I wanted to check stats — another round of logging into each platform's dashboard one by one.
I'm Not Alone
Searching forums and social platforms, I found many developers share this pain:
"Every time I publish an article, I open 7-8 tabs, copy-paste 7-8 times, fix formatting 7-8 times. The joy of writing gets killed by the drudgery of publishing."
"I usually only publish on one platform now. It's just too much work to do more. But then search engine exposure suffers."
Why "Just Copy-Paste" Doesn't Work
Each platform has a different editor:
| Platform | Editor | Markdown Handling |
|---|---|---|
| Juejin | Custom Markdown | Good, but code highlighting sometimes breaks |
| Zhihu | Draft.js rich text | No Markdown support, eats line breaks |
| CSDN | Dual-mode | Mode switching corrupts formatting |
| Cnblogs | TinyMCE | Must add [Markdown] tag or disaster |
| SegmentFault | Markdown | Okay, but tag system is painful |
| Dev.to | Markdown | Best experience, but English-only audience |
The same Markdown renders differently everywhere. Copy-paste doesn't solve it.
What I Built
I spent two weeks of evenings building PolyPost — an open-source tool that adapts your content for each platform and publishes everywhere with one click.
Write once (Markdown)
|
v
PolyPost adaptation layer
|- Juejin -> Markdown -> API
|- Zhihu -> Plain text -> Draft.js API
|- CSDN -> HTML -> API with X-Ca signing
|- Cnblogs -> Markdown -> MetaWeblog XML-RPC
|- SegmentFault -> Plain text -> API
|
v
All published in ~30 seconds
Beyond Publishing
- Stats dashboard: One page to see views/likes/comments across all platforms
- Cookie manager: Chrome extension for one-click session extraction
- Scheduled publishing: Queue posts for optimal timing
- Publish history: Track what went where
Open Source
Built with Python + FastAPI + Playwright. MIT licensed.
If you maintain accounts on 5+ platforms, this saves you 30 minutes per article. If you only use 1-2 platforms, you probably don't need it.
But if you're tired of the copy-paste-format-fix loop — give it a try.
Tags: #python #automation #productivity #opensource #writing
Top comments (0)