{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreiaym6hlmn7mm3gbuqdaaunvpajoyft3jvfwvicr5vj4mbmcb2pspu",
"uri": "at://did:plc:t4aigbwuwix7x3q42qzjc6mn/app.bsky.feed.post/3mneg6k2yzr72"
},
"coverImage": {
"$type": "blob",
"ref": {
"$link": "bafkreigvrpu3asgdepe2p5gjpilno7vqe3iqnbydd476l34jelk3gdyxqm"
},
"mimeType": "image/jpeg",
"size": 44067
},
"path": "/link/535/17352340/marked-3-updates",
"publishedAt": "2026-06-01T17:00:00.000Z",
"site": "https://brett.trpstra.net",
"tags": [
"Marked 3",
"Highland",
"CleanShot X",
"website",
"Twitter",
"Click here if you'd like to help out.",
"Mastodon",
"Bluesky",
"GitHub",
"everywhere else",
"@2x"
],
"textContent": "Marked 3 has been moving fast since 3.0.6, and is now at **3.0.25** (for Paddle customers). If you haven’t updated in a while, here’s a tour of the highlights.\n\nI’ll give you the stuff that’s genuinely new first, then a roundup of the steady stream of fixes that got it here.\n\n### Regarding Updates\n\nSetapp reviews are only taking about a day on average, but Mac App Store app reviews are taking seven days plus, and at least four days even with “expedited review” requests, so the MAS version is still at 3.0.16 and probably won’t catch up for a few days. If you’re on the MAS version and are looking for these updates, stay tuned.\n\n### Open PDFs in Marked\n\nYou can now open a PDF the same way you’d open Markdown or RTF. Marked converts it to Markdown in the background (with a “Converting” notice while you wait), caches the result and any extracted assets, and keeps watching the source PDF for changes. Export works like other import types, and `⌘`+`E` opens the original in Preview.\n\nThis really only works with relatively simple, text-based PDFs, but it does do some OCR on scanned PDFs. Accuracy varies on that, as does image extraction and table capabilities.\n\n### Fountain, Highland, and screenplay export\n\nFountain documents got a lot of love. Paginated **Fountain PDF export** uses dedicated print CSS and proper page breaks. **Highland** (`.highland`) and **TextPack** bundles containing `.fountain` files open and preview as Fountain. Notes and synopses (`[[note]]`) show up as sidebar comment markers in the preview.\n\nScreenplay margins for Fountain PDF are fixed at 72pt, and layout is driven by Fountain.css instead of generic export styles.\n\nIt’s still not perfect and shouldn’t be relied upon for final PDF output. I hope to get it up to Highland standards, but for now, Highland is the way to go for actually printing your screenplay (and for editing — it’s an excellent app).\n\n### RTF, RTFD, and Scrivener\n\n**RTF and RTFD** files open directly in Marked with live preview on save – similar to the Scrivener workflow. Images from the document bundle land in the Watchers asset cache for preview and export.\n\nFor **Scrivener** , there’s a new **Filter Scrivener Documents** panel (Proofing menu, or `F` ) that lets you choose which binder sections appear in the preview. Selections persist per project, and can include “floating” documents and sections outside of the Draft binder. Scrivener can also prepend compile metadata (title, author, language) when it’s missing from the draft.\n\n### Preview styles, syntax highlighting, and “None”\n\nCustom preview styles are much more reliable now – they shouldn’t randomly revert to Swiss when you reload, reopen, or switch documents. Per-document styles save on quit, and reopen restores both window size and the style you had selected.\n\nSyntax highlighting jumped to **highlight.js 11.11.1** with **239 themes** , including the full Base16 collection, Nord, Rose Pine, Tokyo Night, and friends. Legacy theme names migrate automatically on launch.\n\nYou can also pick **None** as a preview style when you want Conductor-only styling or a bare preview without bundled theme CSS.\n\n**Image variants** (Settings) resolve `~dark` and `@2x` siblings into responsive `<picture>` markup. This is really cool, and makes Marked an even better companion for HTML export. If you use a pair of `image.png` and `image~dark.png`, it will output the light version of the image, but then switching to dark mode will show the dark version instead. This can be combined with `@2x` versions and all of the necessary markup will be generated for responsive images.\n\n### External editors and the Dingus\n\nSettings > Apps got an **external app picker** for text, image, and markup editors – standard Choose Application panel, no more hunting for paths by hand. You can set the **Markdown Dingus** as your external text editor. Clear buttons reset editor preferences without restoring stale defaults.\n\nOh, and you can now define a “markup” image editor in addition to the main image editor. For me, this lets me set up CleanShot X as my markup editor, and I can right click any image to open it in CleanShots’s annotation window. Add a couple of arrows and hit `⌘`+`S` and my image in my document updates immediately.\n\nPer-document **print/PDF margins** are available via metadata:\n\n\n Margins: 36 36 36 36\n\nTwo values set vertical and horizontal; four values set top, right, bottom, left (in points).\n\n### Conductor, placeholders, and Word export\n\n**Insert Text** and **Search/Replace** actions now resolve `[%key]` placeholders from document metadata, environment variables, and Marked context – `[%title]` , `[%MARKED_PATH]` , and so on — without requiring MultiMarkdown.\n\n**DOCX export** supports richer headers and footers: `%logo` , `%image` , `%h1` –`%h6` STYLEREF fields, and `%md_*` metadata placeholders. **Custom Word Styles** live in Application Support (created at launch alongside Custom CSS) and apply on export.\n\nCustom processor integration improved throughout: snippet mode for preview, per-document `Processor:` metadata, better CriticMarkup handling with MultiMarkdown 6, and a long list of fixes for processors that return full HTML pages.\n\n> As a side note, you might not have noticed that you can drag files onto various windows and do different things. If you drag a CSS file onto Settings -> Style or onto the Style Manager window, it will add a new style for you (works) with multiple files). If you drag a text file into the action section of the Custom Rules editor, it will generate an Insert Text action. CSS files will generate an “Insert CSS” action. If you drag any file onto the left side of the Custom Rules, it will add it as a file to test the rules against so you can see which rules will activate for that file based on their criteria predicates.\n\n### Mind maps, Bike, and Mermaid\n\nBike outlines can embed as **Mermaid mind maps** (Apps preference). OPML, OmniOutliner, FreeMind, and iThoughts imports got similar treatment. Mermaid diagrams in general use a shared helper with theme-change rerender and pan/zoom-friendly updates.\n\nI also improved the look of Mermaid mind maps, rounding corners and using a more pleasant color scheme (that also works in dark mode).\n\n### Speed Read, focus, and window behavior\n\n**Speed Read** landed in the Preview menu (`Control-Option-S`) with the same shortcut as the gear menu. It works without requiring Mini Map or scroll sync. If you haven’t tried the RSVP speed reader in Marked yet, you really should.\n\n**Return focus to previous app** (optional, off by default) sends keyboard focus back to your editor after Marked raises itself on file update. **Bring updated document to front** was toned down so Marked only reorders tabs within itself when it’s already active – it won’t pop over your coding app unless you want it to.\n\nWindow tabbing got a proper popup in Settings (windows / automatic / tabs) instead of a simple checkbox. It’s more reliable now if you want to open documents in new windows instead of tabs. Personally, I’ve come to really love Marked’s tabbed document functionality, and it raises tabs when their associated files change, keeping my windows tidy without giving up convenience.\n\nSpeaking of multiple documents, have you checked out the Quick Open panel yet? Just hit `⇧`+`⌘`+`O` and you can jump between any open or recent document with a Spotlight-style popup.\n\n### Licensing and subscriptions\n\nI’ve submitted **Marked Pro** to the App Store, and it’s currently waiting for review. It’s exactly the same as Marked 3, but without subscriptions, just the full unlock price. It will allow MAS users of Marked 2 to “Complete your bundle” and get an upgrade price. It will also allow MDM installation. It’s yet another app that will be subject to Apple’s exceedingly slow review process, so it will probably never be fully up to date, but if you don’t need to live on the bleeding edge, it will be an option.\n\nPaddle checkout got confetti, better restore behavior, and clearer subscription window layout. Permanent unlock handling is more robust on Paddle builds, including when the server omits `permanent_license` from a response.\n\nMAS builds got review prompts, trial pill fixes, and faster UI updates after sandbox purchases.\n\n#### About Subscriptions\n\nBy the way, it’s turned out that 90% of people would rather pay a hefty permanent unlock price than a subscription fee. This is kind of disappointing, but not a huge surprise. The point of going subscription was supposed to be that I could just develop continuously, constantly releasing new features, and get paid for it over time. With all of the permanent unlocks I’ve sold, I’m going to have to release a Marked 4 in a year just to stay afloat.\n\nSo if you’re wondering what the best purchase path for _me_ is, it’s the very reasonable $4.99/month (currently $2.99/month) that I’d like to charge to keep things going. But my monthly subscription revenue right now is not enough to maintain development and I may just switch to a regular single purchase and a yearly update schedule. The Mac App Store requires that I release a new app with every major version, so that becomes a mess, and offering upgrade pricing across all versions is such a headache. I wish people could see the value in subscriptions for supporting ongoing development.\n\n### Other changes and fixes\n\nThat’s the headline stuff. Everything else is the kind of polish that adds up when you use Marked every day:\n\n * **PDF export** saw major pagination work in 3.0.23 – especially for deeply nested lists in Swiss and other styles. Lines that straddled page boundaries got clipped or split wrong; nested items sometimes picked up phantom full-page gaps; sibling list items under an intro line (think Pass / Offer / Put in game rules) could bisect mid-line. The list pagination post-pass now handles straddle detection, spacer-based pushes, splits at visual line boundaries, and cleanup of spurious page-break padding. Headings at page bottoms move with their content instead of orphaning (still not perfect, but getting there).\n * Earlier PDF fixes addressed duplicated pages, relative image URLs, graphic blocks bleeding across page breaks, paragraph continuations that preserve links and emphasis, and base font size consistency between paginated and continuous export.\n * **Preview and styles:** Custom CSS validation skips missing files; Fountain detection no longer confuses custom CSS paths; quit no longer hangs with open WebKit previews; HTML comments survive SmartyPants so large commented blocks don’t swallow everything after them.\n * **Scrivener and RTF:** Image paths resolve from the bundle; compile reload coalescing; edit markers compare compile snapshots; Pages RTFD conversion fixes; bibliography and pandoc sandbox access.\n * **Conductor:** Run Command deadlocks on large stdout fixed; sandbox permission dialogs for Homebrew binaries; CSS hoisted to head; Insert CSS File inlines content for portable HTML export.\n * **Proofreading:** Edit markers anchor to visible edits instead of HTML comment metadata; `{` /`}` and `[` /`]` navigation through highlight types; keyword panel keeps preview focus.\n * **Bike and task lists:** Manuscript and Grump checkbox styling; non-interactive preview checkboxes; mind map label escaping and stale diagram refresh.\n * **Subscriptions and trials:** Trial countdown from `trial_ends_at` ; MAS cached StoreKit fallback; Report an Issue plist attachment fixed; support URLs updated to HTTPS.\n\n\n\nIf you’re on an earlier release, updating to **3.0.23** is worth it. PDF export with nested lists alone was worth the slog on my end – and I suspect a few of you with elaborate outline documents will notice.\n\nIf you haven’t tried Marked 3 at all yet, check out the website to see everything you’re missing!\n\nLike or share this post Twitter.\n\n* * *\n\nBrettTerpstra.com is supported by readers like you. Click here if you'd like to help out.\n\nFind Brett on Mastodon, Bluesky, GitHub, and everywhere else.",
"title": "Marked 3 updates",
"updatedAt": "2026-06-01T17:00:00.000Z"
}