Wenyan: a macOS app that turns Markdown into platform-ready Chinese publishing copy
文颜- Markdown文章排版美化工具,支持微信公众号、今日头条、知乎等平台。
At a glance
- What is it?
- Wenyan is a SwiftUI application that renders Markdown with a Typora inspired theme and copies the result as rich text you can paste into WeChat official accounts, Zhihu, Toutiao, Juejin, CSDN and Medium, handling local image uploads and MathJax along the way. This repository is the macOS build, and the CLI, MCP and core capabilities live in separate repositories.
- Who is it for?
- Adopt Wenyan if you publish long-form Chinese articles to WeChat official accounts, Zhihu, Toutiao or similar platforms and want Markdown to arrive formatted rather than as raw text pasted into a rich text editor. Do not expect it to be a general Markdown renderer, since the target formats are platform specific and the copy step still requires you to paste into the platform editor yourself.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 15 days ago.
- What is it written in?
- Mainly Swift, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What Wenyan actually produces, and what it leaves to you
Wenyan is a multi platform Markdown typesetting and publishing tool. The README states the core function plainly: it converts an edited Markdown article into a format adapted to each publishing platform, and through one click copy the result can be pasted straight into the platform's text editor with no further adjustment.
That last clause defines the product boundary, and it is an unusual one. Wenyan is not a headless publisher that logs into a platform and posts for you. It is a formatter that hands you clipboard content designed for a specific editor. The platform's own editor remains in the loop, and so does the platform's own paste handling, which is why the output has to match what that editor expects.
The stated goal is that writers should focus on content rather than typesetting and platform adaptation. Whether that is achieved depends on how demanding your formatting is, but the feature list is aimed squarely at the problems that appear once you paste Markdown into a Chinese content platform: images that live on your disk, formulas, code blocks, and links that look wrong in a rich text field.
The application is a SwiftUI app for macOS, published on the App Store, with a homepage at wenyan.yuzhi.tech and Apache-2.0 licensing.
The features that exist because platforms break plain Markdown
The feature list is short and each item maps to a specific platform limitation.
Formatting uses built in themes, and the themes are adapted Typora themes, with the README thanking the original authors of Orange Heart, Rainbow, Lapis, Pie, Maize, Purple and the 物理猫-薄荷 theme. That origin explains the visual result, since Typora themes are designed for a document view rather than for a web page, which is the closer match to an editor pane.
Local images are handled automatically and uploaded, which is the single biggest practical win. A Markdown file referencing ./diagram.png is useless in a WeChat article, and having the app upload the image and rewrite the reference is the step a writer would otherwise do by hand for every figure.
MathJax support covers mathematical formulas, code highlighting covers fenced blocks, and links can be turned into footnotes. Front matter syntax is recognised, so metadata at the top of a file does not end up rendered as a stray paragraph.
Custom themes are supported three ways: writing your own styles, importing an existing theme, and sharing themes with other users, with a tutorial and two discussion threads linked from the README. A long image export is also listed.
Publishing targets named in the README are WeChat official accounts, Zhihu, Toutiao, Juejin, CSDN and Medium, with a note that other platforms are being added.
Six repositories, one product split across them
This repository is the macOS App Store application, and the README is clear that it is one of several Wenyan projects with different shapes for different use cases.
The list starts with the macOS App Store version, which is this repository, and then a cross platform desktop version for Windows and Linux in a separate repository, a CLI version for command line and CI automation publishing, an MCP version for AI driven automatic posting, a UI library that wraps the shared interface layer used by the desktop app and the web app, and a core library holding the rendering and typesetting capabilities.
That split is the interesting architectural decision. The rendering, theme and platform adaptation logic lives in wenyan-core, the interface layer in wenyan-ui, and each front end is a thin shell over those. The top level entries in this repository bear that out, since the tree contains a wenyan-ui entry alongside a pnpm-workspace.yaml and a pnpm-lock.yaml, a svelte.config.js, a tailwind.config.js and a vite.config.ts. So the SwiftUI app shares a web based interface layer with the other front ends, and the wenyan-ui directory is pulled in as a submodule, given the git submodule update command in the ui:sync script.
For a reader choosing a version, the practical guidance is short. If you want a macOS application, this repository. If you want to publish from a script or a CI job, the CLI. If you want an assistant to post for you, the MCP version.
Installing, the Gatekeeper warning and local packaging
There are two download routes. A macOS DMG installer is available from the GitHub releases, or you can get the app from the App Store.
The README includes a first run note about macOS refusing to verify the developer of software downloaded from the internet. It is upfront that the warning is expected, and it gives three routes around it, in order of preference.
The recommended one is to drag 文颜.app into the Applications folder, then hold Control and click the icon, or right click it, and choose Open, then click Open again in the warning dialog. If that is still blocked, the second route is to go to System Settings, then Privacy and Security, scroll to the bottom and click Open Anyway.
The third route is a command line workaround.
xattr -cr "/Applications/文颜.app"That clears the quarantine attribute so Gatekeeper stops objecting. It is the blunt option and the one to reach for only if the graphical routes are blocked, but it is the only one that works on a machine where you cannot click through a dialog, such as a scripted install.
For people who want to build the app themselves, the README documents a local packaging path. Running pnpm package:dmg builds a universal macOS application for Apple Silicon and Intel without an Apple Developer certificate, and produces dist/WenYan-<版本号>-macOS.dmg. The version placeholder in the file name is the version number, and this repository's package.json gives that as 4.0.2, matching the v4.0.2 release.
Release cadence, project layout and licence
The recent releases are v4.0.2 on 2026-10-08, v4.0.0 on 2026-03-27 and v3.2.3 on 2025-11-01, and the last push was on 2026-10-08, the same day as the v4.0.2 tag. The 4.0.0 release in March 2026 came after five months, which suggests a long gap between major versions and faster patch work in between.
The repository is not archived, and the primary language is Swift, with the interface layer written in a web stack. Alongside the Swift sources in the WenYan directory and the WenYan.xcodeproj project there are scripts, ci_scripts, static assets, a Data directory holding the icon and screenshots, and a pnpm workspace, so building the app involves both Xcode and the Node tooling.
The tooling story is worth noting for anyone contributing. The scripts include ui:sync, which runs git submodule update --remote --merge before ui:init, so the wenyan-ui interface library is expected to move independently of this repository, and the .swift-format file plus .editorconfig show the Swift and web sides are both linted to a house style. AGENTS.md sits at the top level alongside CONTRIBUTING instructions in the README.
The licence is Apache License 2.0, with a LICENSE file at the root. That permits commercial use and modification with the notice preserved, which matters here because the built in themes are adapted from other authors' Typora themes, and the README credits each of them explicitly.
Editorial conclusion
Adopt Wenyan if you publish long-form Chinese articles to WeChat official accounts, Zhihu, Toutiao or similar platforms and want Markdown to arrive formatted rather than as raw text pasted into a rich text editor. Do not expect it to be a general Markdown renderer, since the target formats are platform specific and the copy step still requires you to paste into the platform editor yourself. Verify first which Wenyan flavour fits you, because this repository is the macOS App Store app while the CLI, the MCP server and the core rendering library are separate projects, and check the xattr workaround before installing a locally packaged build on a machine where Gatekeeper blocks it.
Frequently asked questions
What platforms can Wenyan publish to?
The README lists WeChat official accounts, Zhihu, Toutiao, Juejin, CSDN and Medium, and says other content platforms are being added. Wenyan formats the Markdown for the target platform and copies the result for you to paste into that platform's editor.
Which Wenyan version should I use for CI or command line publishing?
The CLI version is a separate repository, wenyan-cli, described as being for command line and CI automation publishing. The MCP version, wenyan-mcp, is for AI driven automatic posting, and the rendering core lives in wenyan-core.
How do I get past the macOS developer verification warning for Wenyan?
The README says the warning is expected for the unsigned download. Drag the app into Applications and open it with Control-click, use Open Anyway under System Settings then Privacy and Security, or run xattr -cr "/Applications/文颜.app" in a terminal.
Can I build a local DMG of Wenyan without a developer certificate?
Yes. Running pnpm package:dmg builds a universal macOS app for Apple Silicon and Intel without an Apple Developer certificate and produces dist/WenYan-<version>-macOS.dmg.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/caol64-wenyan)Was this useful?