Drafts for Mac

For many years, Drafts has been the place on iOS where text starts. But for all of those years, there has been a missing component: a macOS counterpart.

That ends today.

Drafts for Mac has finally been released to the public. Last time there was a major release, I wrote the Macstories Review. But when it comes to a Mac and how best to integrate Drafts into the macOS ecosystem, I'm simply not the right person to do the review justice. But thankfully, one of my favorite internet people reached out to me privately about writing the review for it, and I was thrilled to even be asked. To be clear: they didn't owe me that, but it is honestly a nice feeling to feel respected within this community. They also reached out to Federico about writing for MacStories, and he agreed.

So, it's my pleasure to point you not here for a review, but over to MacStories where Rosemary Orchard has written a review of Drafts for Mac. It's most of what I wanted to see when I wrote up my Drafts 5.0 wishlist months ago: a way to edit the notes on the Mac so that users didn't have to roll a different solution or pass notes back and forth in odd ways. What the new macOS app provides is exactly that, along with workspaces, themes, tagging, etc.

What don't you get: the actions that Drafts is famous for on iOS.

Remember: this is a v1.0 application, not the v5.7 application that we have on iOS. It's going to take time to get there. The platforms are different: this isn't a "Marzipan" app, this is a full-fledged macOS app written from the ground up. Things will take time to get there. The macOS app does have the advantage of already having a rich ecosystem of automation apps to pull from, like Automator and Keyboard Maestro, so there are already was to implement some automation.

I'm really happy with the macOS version. For me, it is exactly what I need: a way to view and edit my drafts on the Mac for the single purpose podcasting. Perhaps my needs will change in the future, just like Drafts' place in the Apple ecosystem now that Drafts for Mac is finally here.

Drafts 5.6

Last week, Drafts released version 5.6. While it is not as big as some of the other releases before it, it does bring some important enhancements to the app.

Adding Shortcuts

It is now easier than ever to add a specific shortcut to run in Drafts. A new interface is presented when adding a shortcut, as you can see by installing this example shortcut and selecting a shortcut to add. It prompts you for a few different items for running the shortcut, and is a better way of implementing them via the URL scheme. I feel that this method is a bit more user-friendly now that a shortcut has been written to quickly add them, and requires no formal coding knowledge.

Workspace Changes

Workspaces have been available since version 5.0 dropped back in April 2018. It is the single biggest improvement to Drafts, providing users with an infinite number of filtered views of the draft list. Extending it further, you can apply action groups and extended keyboards to a workspace and have what I coined as a module. In Drafts 5.2, the script and capability of automatically making this possible was implemented. In this new version, it is now more accessible to the non-scripting user.

Within the Workspaces menu, you can choose to load in action group or extended keyboard for each of the different workspaces you create. This does sync across devices, so for most users, this is a better way to load module with a single tap without having to know JavaScript. You can also now load a workspace to a specific tab, saving a few taps if needed. However, I personally won’t be using this as my setup involves loading workspaces differently based on the device type (as I laid out in my earlier Drafts piece).

Post and File Management Improvements

Drafts uses CloudKit to sync data to the cloud. There are more aspects of the drafts which are stored there, like location, tags, etc. which don’t tie in nicely to syncing to an iCloud Drive folder. You can, however, use different actions to save specific drafts to other services like iCloud Drive, Dropbox, Box, or OneDrive. Previously in Drafts, the idea of keeping things in the app was not always something you would want to do: you might want to save it to Apple Notes via a share action, or send it to one of a handful of other services as a plain text file or Markdown file.

For the most part, I keep all of my writing in Drafts. Over the past year, I have more in that module than I would like to admit. And I feel some stress of keeping all of these posts in the draft list. With the new features, I have several different ways of handling this. First, I could simply mark the drafts which I’m actively working on and load the writing module to the flagged tab; this is easy enough to do in the workspace settings, and would quickly satisfy the need. But the file management capabilities are something else that I wanted to explore.

What I ended up arriving at was this: I can keep one or two active drafts in the list, and save the rest to a specific folder in iCloud Drive. Once I’m ready to work on another one, I can run an action and be presented with a list of titles to choose from; the action would then load the contents of the draft into my draft list with a specific tag, and I can start writing on it again. When I’m ready to publish, I take that final draft and move it in to my posted folder to file it away. This is all possible thanks to the FileManager script object methods.

I first borrowed from some of my previous scripts to ensure that I was saving things with the correct title. To save the file with that name, I used a file action step, set the folder location to /Draft Posts/ and set the content as [[draft]]. Once this action is run, the draft is then deleted from my draft list to keep it uncluttered.

The next action was much more difficult to create. Within the updated objects, I can pull out the path locations to files located in a specified folder. With a little script magic, I can turn those file paths into readable display names to choose from in a prompt; this will work with all of the files in the directory. Once I have the selected name, I can load that file into Drafts, tag it with my writing tag which automatically places the file into my Writing module, and I can start writing; I also used an “Include Action” step to load my Writing module to bring up my entire writing environment with one tap.

The last action is for publishing my post. I modified my existing standard and linked publishing actions – which I first introduced on MacStories for Drafts 5.4 – to save the file in a new way. First, I use the scripting to save the file one last time to the /Draft Posts/ folder location where I keep the draft posts, then move it to the /Posts/ folder where I keep my final posts as .md files. This happens at the end of the action after everything is posted. Why do this? It allows me to take the one true copy that I finally saved in my draft posts and then move it into the final location. I don’t have to keep the files in multiple places and wonder which one is correct; instead, I just moved out the finished product.

I have also updated the HTML Preview step in my Post to WordPress actions above to include the new rendering options. With this update, Drafts allows the user to specify the rendering of text. Previously, only Markdown was supported in this fashion. But now, you can specify MultiMarkdown or Github–flavored Markdown, saving a bunch of script steps in the process. I updated WordPress actions with %%multimarkdown|text%% for the HTML preview, as well as improved the scripting to commit the Critic Markup changes to pass MultiMarkdown to WordPress, which you can find at the links above. And speaking of Critic Markup, a new highlight syntax color has been added. It provides a bit more visual difference when looking at all of your credit markup notations.

I’m really enjoying this update, as it’s helping me reduce my mental stress by allowing me to manage my files in a better way. Rather than keep all of these possible post ideas within my draft list and cause me more stress. And if you’re reading this and follow some of my other work, you know already how much I hate clutter…

Drafts 5.5 – The Markdown Update

The latest Drafts update brings some improvements with Markdown syntax. In addition to the standard Markdown (which has been simplified to represent the original Markdown specification), there are two additional syntax options: MultiMarkdown and GitHub Markdown. MultiMarkdown is a flavor which allows for footnotes, tables, citations, etc. GitHub Markdown is a different flavor of Markdown which supports extensions created by GitHub for rendering on their website, and includes the extensions for strike-through text and tables. I personally use MultiMarkdown, the format with which I’ve been most comfortable writing.

One thing that is included with MultiMarkdown as an option is Critic Markup. Looking through the guide, there are several helpful elements that can be used for editing my writing utilizing Critic Markup. I can highlight some substitutions, additions, and deletions. I can highlight text to show something I might want to work on later. I can also add a basic comment somewhere that won’t be shown in a preview. And with this action, I can easily add any of them with a tap and a text entry, which inserts it in the proper format. This is helpful for creating and previewing the documents in Drafts, and gives users the flexibility to mark up files and save them back to a cloud service. I can see myself using this a lot for longer posts or large reviews. I’ve even modified my own site preview action to render the MultiMarkdown via scripting, as well as updating both my standard and linked post WordPress publishing actions to do the same.

Critic Markup in Drafts vs my site post

There are additional Workspace options for sorting. You can now include flagged drafts in the archive tab – the same way it is done today with the inbox – as well as optionally sort the flagged drafts at the top. And of course, support for using these is also added to the script object. This allows you to give a bit of priority to Drafts in your inbox, depending on how you have your workspace configured. I liken it to something like Gmail: there’s a giant inbox of drafts, and you have a starred list that can be used to filter priority; you can also option to have the starred emails on top to bring them into focus, or have them in their separate list. This smart addition enables more focus on key drafts in your list.

There are some other small improvements and fixes; you can read the full list here. It may seem like a small update to some, but for the advanced users of Markdown, this is a fantastic update. What this should give users a glimpse of for the future of Drafts: custom syntax highlighting. Currently, the following syntaxes are supported: Markdown, MultiMarkdown, GitHub Markdown, JavaScript, and TaskPaper. Whereas I love the new Critic Markup portion of MultiMarkdown, I would love to be able to customize my own syntax. When I used Ulysses for writing, I really liked some of the comment, highlight, delete, and other markup styles. Part of what makes Drafts so versatile to each user is the myriad of ways which it can be customized. Controlling the editor in this fashion would, to me, make the editor the most powerful on iOS. No other editor would allow for syntax highlighting for writing and coding in the same way. I know this will at some point be on the horizon, but that cannot come soon enough. I’ll patiently wait for it after the Drafts for Mac release.

Drafts 5.4: Siri Shortcuts, WordPress, and More

Me, writing for MacStories:

Drafts 5 was recently updated to version 5.4, which brings a host of new features. While there is support for iOS 12's Siri shortcuts and all that they have to offer, there are also other important features that have improved the app's capabilities significantly.

It’s a really great release. And I was thrilled to write it for MacStories. If you haven’t checked it out, head on over and read it there.