DEV Community

wxfwxf911
wxfwxf911

Posted on

Writing Takes 40 Minutes, Publishing Takes 30 — How I Automated Multi-Platform Content Distribution

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
Enter fullscreen mode Exit fullscreen mode

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.

GitHub: https://github.com/wxfwxf911/polypost

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)