← Back to the journal

How to add color, highlights, and underlines in WeChat Markdown

A practical guide to adding color, highlights, and underlines to WeChat articles in Markdown, while keeping other platforms clean through automatic fallback to plain text.

If you want a WeChat article to emphasize one or two key sentences, the safest approach is not to maintain a separate rich-text draft. Instead, keep Markdown as the source and embed a very small amount of HTML only where emphasis matters. OmniGoAI's OmniPost can preserve effects such as <u>underline</u>, <mark>highlight</mark>, and simple styled span elements for WeChat articles, while automatically degrading them to plain text on other platforms.

That matters because a cross-posting workflow breaks down quickly when one platform needs manual styling and the others do not. With a controlled subset of inline HTML, you can keep one source article, let WeChat render the emphasis, and still publish readable versions to Zhihu, CSDN, Juejin, or CNBlogs without exposing raw tags.

Which rich-text effects are actually useful in WeChat Markdown

In practice, three effects cover most needs:

  1. <u>underline</u> for an action or term readers must not miss.
  2. <mark>highlight</mark> for a conclusion sentence inside a longer paragraph.
  3. <span style="color:#0f766e">text color</span> for light emphasis.

You can also use a few more presentational helpers when needed:

  • <span style="background-color:#fff176">background color</span>
  • <span style="font-size:20px">font size</span>
  • <p style="text-align:center">centered paragraph</p>

The important part is not visual decoration. The point is that WeChat can render these effects, while the distribution layer can strip them down safely for platforms that do not want raw HTML in the final body.

Why other platforms do not end up with broken HTML

The trick is to keep styling semantically small. In a cross-posting flow, OmniPost can preserve supported effects for WeChat but degrade them to plain text elsewhere. That avoids two common failures:

  1. WeChat looks good, but technical platforms show the HTML literally.
  2. You simplify the article for every other platform and lose the emphasis entirely in WeChat too.

A limited inline subset solves both. The WeChat version gets its emphasis, while the cross-posted version remains readable even when the styling disappears.

The safest authoring pattern: Markdown first, HTML only for emphasis

A stable source article should still look like normal Markdown. The inline HTML should be rare and local.

For example:

If you need one takeaway to stand out, write: <mark>WeChat keeps the effect, while other platforms fall back to plain text.</mark>

If a warning matters, write: Please verify <u>the login mode and publish target</u> first.

If you only need a light visual cue, write: <span style="color:#e91e63">Do not color the whole article.</span>

This pattern works well for teams because it keeps the article versionable, reviewable, and publishable from one source file. It also means the sentence still makes sense even when the styling is removed during distribution.

For another example of WeChat-specific formatting behavior, see: https://omnigoai.com/en/blog/wechat-editor-empty-list-items/

When these effects are worth using

1. Operational constraints readers often miss

Examples include limits like “this only works for a service account” or “scan-login can create drafts but cannot auto-publish.” Highlighting a single sentence helps readers catch the constraint without turning the entire section into a warning box.

2. Summary statements that deserve one extra beat

A sentence such as “WeChat supports rich emphasis, but cross-posting should assume plain-text fallback elsewhere” is a good candidate for highlighting. It improves scannability and also makes the article easier for answer-style search systems to quote.

3. Risk notes in docs and tutorials

Troubleshooting and publishing guides often contain one or two lines that are genuinely more important than the rest. Underline or highlight can make those lines visible without forcing you into a fully manual editor.

What not to do

A few anti-patterns make Markdown harder to maintain:

  1. Coloring entire paragraphs or sections.
  2. Combining underline, highlight, and color on the same sentence.
  3. Treating inline HTML as a full layout system.
  4. Relying on styling to carry meaning that disappears on other platforms.

A useful rule of thumb is to keep the number of visually distinct emphasis points below three per article. If you need more than that, the structure probably needs better headings instead of more styling.

How this fits a cross-posting workflow

If your workflow is already “website Markdown source -> publish through OmniPost,” styling should live in that same source rather than being recreated manually in the WeChat editor. Otherwise you lose version history, drift away from the source article, and make later revisions harder.

A safer process looks like this:

  1. Keep Markdown as the canonical source.
  2. Add only a few emphasis tags where they help comprehension.
  3. Preview the result before publishing.
  4. Let the publish pipeline handle platform-specific rendering.

If you are also dealing with WeChat draft or publishing constraints, this related guide is a good next step: https://omnigoai.com/en/blog/wechat-mp-api-draft-guide/

FAQ

Can I write raw HTML inside a WeChat article written in Markdown?

Yes, but keep it to a small, predictable subset such as <u>, <mark>, and simple styled span elements. Do not replace large parts of the article with custom HTML layout.

Will Zhihu, CSDN, or Juejin show those tags literally?

They should not if the distribution layer is handling fallback correctly. Still, you should assume that styling is optional and the sentence must remain understandable as plain text.

Should I color an entire WeChat article for visual impact?

No. Use emphasis for conclusions, restrictions, and risk notes. If everything is styled, nothing stands out.

Is this team-friendly?

Yes. A Markdown-first source with limited inline emphasis is much easier to review, diff, reuse, and publish than a manually restyled editor-only version.

Conclusion

If you want WeChat articles to keep a few rich emphasis effects without maintaining separate versions for every platform, the most stable approach is to keep Markdown as the source and use only a tiny subset of inline HTML for emphasis. WeChat gets the styling, and other platforms still get clean, readable text.

If you want to plug that workflow into a local-first publishing pipeline, OmniGoAI's OmniPost is built for exactly that: https://omnigoai.com/en/download/omnipost/

#WeChat#Markdown#OmniPost

More from the journal

11 min

How scheduled tasks should report results back

Learn how GoWork scheduled tasks should report results after a run: when a one-line reminder is enough, when to send a conclusion with key observations, when to use a structured run report, and when silence is the better default.

Read