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.
I’ll give you the stuff that’s genuinely new first,
then a roundup of the steady stream of fixes that got it
here.
Regarding Updates
Setapp 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.
Open PDFs in Marked
You 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.
This 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.
Fountain, Highland, and screenplay export
Fountain 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.
Screenplay margins for Fountain PDF are fixed at 72pt, and
layout is driven by Fountain.css instead of generic export
styles.
It’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).
RTF, RTFD, and Scrivener
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.
For 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.
Preview styles, syntax highlighting, and “None”
Custom 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.
Syntax 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.
You can also pick None as a preview style when you want
Conductor-only styling or a bare preview without bundled
theme CSS.
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.
External editors and the Dingus
Settings > 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.
Oh, 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.
Per-document print/PDF margins are available via
metadata:
Two values set vertical and horizontal; four values set top,
right, bottom, left (in points).
Conductor, placeholders, and Word export
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.
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.
Custom 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.
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.
Mind maps, Bike, and Mermaid
Bike 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.
I also improved the look of Mermaid mind maps, rounding
corners and using a more pleasant color scheme (that also
works in dark mode).
Speed Read, focus, and window behavior
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.
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.
Window 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.
Speaking 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.
Licensing and subscriptions
I’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.
Paddle 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.
MAS builds got review prompts, trial pill fixes, and faster
UI updates after sandbox purchases.
About Subscriptions
By 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.
So 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.
Other changes and fixes
That’s the headline stuff. Everything else is the kind of
polish that adds up when you use Marked every day:
- 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).
- 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.
- 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.
- 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.
- 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.
- Proofreading: Edit markers anchor to visible edits
instead of HTML comment metadata;
{ /} and [ /]
navigation through highlight types; keyword panel keeps
preview focus.
- Bike and task lists: Manuscript and Grump checkbox
styling; non-interactive preview checkboxes; mind map
label escaping and stale diagram refresh.
- Subscriptions and trials: Trial countdown from
trial_ends_at ; MAS cached StoreKit fallback; Report an
Issue plist attachment fixed; support URLs updated to
HTTPS.
If 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.
If you haven’t tried Marked 3 at all yet, check out the
website to see everything you’re
missing!