Welcome to the lab.

The MacUpdater giveaway winners!

The MacUpdater giveaway has ended, and I have winners to announce!

The winners!

Congratulations to:

  • Wil Chow
  • Dag Høidahl
  • Mike Beard
  • Bo Link
  • Jacob Goldberg
  • David Loeffler
  • Daniel Revell
  • Joseph Gibbs
  • Aaron Wasserman
  • Troy Patterson

You should have received an email with details, please let me know if you didn’t hear anything!

But I didn’t win!

If you didn’t win, sorry, but MacUpdater is still worth checking out. There’s no better solution for keeping all of the apps on your Mac up to date. You can still save 20% on a license with the code BRETT20 at checkout. I use this app every day and highly recommend it.

Next up is OmniGraffle. Check back every Monday through September, 2024 for more giveaways. The next giveaways include:

See the full list of upcoming giveaways!

If you want to suggest an app you’d like to see in this series, let me know on Twitter or Mastodon, and join the email list for notifications!

Marked 2 and Obsidian

I’m not going to lie, Obsidian is really cool. It’s a Markdown-based note system that has a ton of cool features, and even more with its healthy plugin community.

I don’t see Obsidian as direct competition for nvUltra1, where the main focus is rapid note-taking and full text search, which nvUltra does a superior job of. I actually open my main nvUltra Notebook in Obsidian as a Vault (both of which are just folders on your drive) and love the ease of using both apps together.

Lee Garrett and Mike Schmitz have done some great Obsidian tutorials over at ScreenCastsOnline. Check out:

  • Obsidian Basics from Lee, giving a full tutorial for getting started with Obsidian
  • Obsidian Plugins Starter Kit from Mike, offering an overview of some great core and community plugins, with tips that will also serve you well for getting used to using plugins in general

(I have an affiliate arrangement with SCO that gives me a little income if you subscribe. They make amazing videos so I’m very happy to partner with them!)

Integrating with Marked 2

The point of this post is not to get you to use Obsidian. It’s about integrating Marked 2 with Obsidian for those who already use it. Obsidian plugins offer some great Markdown preview features, but lack all of the writing and customization tools that Marked offers.

Marked works perfectly with Obsidian. You just have to open the current note in Marked and changes show up with about a two-second delay in Marked as you edit (based on the rate that Obsidian autosaves). You can also open your entire Vault folder in Marked and it will always show you the note you’re currently editing. It’s just a bit of a pain to get these to Marked without revealing in Finder and dragging. So I made a plugin.

Eventually I’d like to have this plugin available in Obsidian’s Community Plugins, but the process of getting it accepted has been slow. If and when it is eventually merged, I’ll update these instructions as the process will become much easier. In the meantime, you have two options to install:

Use the B.R.A.T. Plugin

Install the BRAT plugin. Then add the Marked 2 plugin repo URL:

https://github.com/ttscoff/Marked2-obsidian

(Thanks to Mason Phillips for pointing this option out.)

Install Manually

  1. Open the .obsidian/plugins folder in your Vault. The easiest way to get there is to open Obsidian Preferences, navigate to Community Plugins, then click the folder icon next to Installed Plugins.

  2. Create a folder called Marked-obsidian in the plugins folder.
  3. Go to the latest release of the Marked 2 plugin and download the main.js and manifest.json files to the .obsidian/plugins/Marked-obsidian folder.
  4. Return to Obsidian Preferences -> Community Plugins and you should now see the Marked plugin available. Enable it by clicking the slider.

This gives you a sidebar button for opening the current note in Marked (which can be “Marked blue” or neutral to fit your theme), as well as two commands in the palette: “Open note in Marked” and “Open vault in Marked.”

Handling Obsidian Syntax

If you’re regularly opening Obsidian files in Marked, you might want to add a Custom Preprocessor for handling general Obsidian markup:

  1. There’s this one from voostinidie that does things like stripping YAML, stripping emojis, and converting wiki links to plain text. It has the nice benefit of replacing ![[file include]] syntax with IA block syntax, which Marked will render. I may eventually add the Obsidian formatting as a valid option for file includes in Marked by default, based on interest. I had a PR accepted to this repo that adds some additional config options for replacing [[wiki links]] and other Obsidian syntax with links back to the note/header in Obsidian. See the README for configuration details. My own fork will always have the latest changes.
  2. This much simpler one from radekkozak just handles wiki links, and converts them to obsidian:// links for you, so clicking a link in Marked will open the linked note in Obsidian.

If you want to be able to render Obsidian notes differently from your usual documents in Marked, Conductor is the perfect solution. You can see my own rules for handling Obsidian notes in the sample config I provide.

This is my first Obsidian plugin, and I’m not a regular Obsidian user (yet), so I don’t know if I’m going to really dig into creating more in the future. But this one serves its purpose well and I think a lot of people will find it handy.

By the way, one handy feature of Obsidian is Obsidian Sync, which is a paid add-on. But never fear, there’s a giveaway coming up later this year that will get you a free year. Sign up for the newsletter to stay in the loop on all of the sweet giveaways I have lined up.

  1. Yes, nvUltra is still in beta, and development has been slow recently. However, the beta is working quite well and you can join just by contacting me through the email link on the nvUltra site

MacUpdater giveaway!

I’m excited to offer the next giveaway, 10 licenses ($14.99 value each) for MacUpdater. I run MacUpdater every day to keep all of my software up to date. It keeps track of every update released for hundreds of Mac Apps, including Mac App Store apps. You can ignore individual updates or entire apps, so it only acts on the apps you want updated. It makes installing all available updates a one-click affair in most cases. Keeping your apps updated makes sure you always have the latest security and newest features, and you can check the release notes for any update before you install it (or even while it’s installing).

From the developer:

Updating apps could not be simpler - just click the “Update” button next to any outdated app and MacUpdater will update the app to the current version automatically. MacUpdater can silently run in the back-ground, check your apps for updates every day and let you know about new updates with notifications.

Check out the MacUpdater site for more info.

Sign up below to enter. Winners will be randomly drawn on Friday, May 17, at 12pm Central. The drawing is for 10 licenses ($14.99 value each) for MacUpdater, one per winner. Note that if you’re reading this via RSS, you’ll need to visit this post on brettterpstra.com to enter!

New rule: All signups must have a first and last name in order to be eligible. Entries with only a first name will be skipped by the giveaway robot. A lot of the vendors in this series require first and last names for generating license codes, and your cooperation is appreciated!

Sorry, this giveaway has ended.

Stay tuned for more giveaways every week through September, 2024 (and maybe beyond).

If you have an app you’d love to see featured in this series of giveaways, let me know. Also be sure to sign up for the mailing list or follow me on Mastodon so you can be (among) the first to know about these!

The BBEdit giveaway winners!

The BBEdit giveaway has ended, and I have winners to announce!

The winners!

Congratulations to:

  • Jacob Silver
  • Knut Focke
  • Joe Vantaggi

You should have received an email with details, please let me know if you didn’t hear anything!

But I didn’t win!

If you didn’t win, sorry, but BBEdit is still worth checking out. Version 15 is fantastic.

Next up is MacUpdater. Check back every Monday through September, 2024 for more giveaways. The next giveaways include:

See the full list of upcoming giveaways!

If you want to suggest an app you’d like to see in this series, let me know on Twitter or Mastodon, and join the email list for notifications!

BBEdit giveaway!

I’m excited to offer the next giveaway, 3 licenses ($59.99 value each) for BBEdit. BBEdit is the longest-running text editor on the Mac, and it’s only gotten better through the years. With amazing extensibility using AppleScript, a notebook manager, Anaconda Virtual Environments, regex pattern playgrounds, and much, much more, it’s the best solution out there for native text editing on the Mac. Version 15 adds a minimap, expandable “cheat sheets,” ChatGPT Worksheets, a new interface for Text Factories, and more. If you’re writing Markdown or HTML, developing software, or manipulating text in any way, you should definitely check it out.

From the developer:

BBEdit is the leading professional HTML and text editor for macOS. This award-winning product has been crafted to serve the needs of writers, Web authors and software developers, and provides an abundance of features for editing, searching, and manipulation of prose, source code, and textual data.

Check out the BBEdit site for more info.

Sign up below to enter. Winners will be randomly drawn on Friday, May 10, at 12pm Central. The drawing is for 3 licenses ($59.99 value each) for BBEdit, one per winner. Note that if you’re reading this via RSS, you’ll need to visit this post on brettterpstra.com to enter!

New rule: All signups must have a first and last name in order to be eligible. Entries with only a first name will be skipped by the giveaway robot. A lot of the vendors in this series require first and last names for generating license codes, and your cooperation is appreciated!

Sorry, this giveaway has ended.

Stay tuned for more giveaways every week through September, 2024 (and maybe beyond).

If you have an app you’d love to see featured in this series of giveaways, let me know. Also be sure to sign up for the mailing list or follow me on Mastodon so you can be (among) the first to know about these!

The Acorn giveaway winners!

The Acorn giveaway has ended, and I have winners to announce!

The winners!

Congratulations to:

  • Theo Thevenot
  • Steve Gutierrez

You should have received an email with details, please let me know if you didn’t hear anything!

But I didn’t win!

If you didn’t win, sorry, but Acorn is still worth checking out. Right now Acorn is discounted and you can pick up a copy for just $29.99, and you can save an additional $5 by clicking here. All the image editing power you need in a fast, elegant package!

Next up is BBEdit. Check back every Monday through September, 2024 for more giveaways. The next giveaways include:

See the full list of upcoming giveaways!

If you want to suggest an app you’d like to see in this series, let me know on Twitter or Mastodon, and join the email list for notifications!

WriteMapper - writing with mind maps

One of the major things I use mind maps for is developing longer-form writing. I do best spitting out all of my ideas for topics and chapters into a mind map, then editing the nodes into chapters and paragraphs. I’ve always done this with iThoughts, which has great keyboard shortcuts for navigating and switching between node and notes panels. Then I would view the piece as it came together using Marked’s iThoughts integration, and when it was in a mostly gelled state, I would export Markdown and continue editing in MultiMarkdown Composer.

I’m going to continue using iThoughts for as long as it survives (in case you missed it, it was announced recently that support and development has been discontinued). As I mentioned in a previous post, I’m going to trust MindNode to fill in the gap left behind when the time comes. But for writing, I’ve been playing with a new app called WriteMapper (which I mentioned previously in a Web Excursions post).

Conductor fixes and improvements

I’ve made some important fixes and handy improvements to the Marked Conductor since it was first published.

I’ve made my own config available as an example. Not all of the scripts are polished, but it’s complete enough to show how I’m using it. I still need to finish breaking my Jekyll preprocessor script into more manageable chunks, which is complicated because every little method has conditionals, but that’s coming. In the meantime, you can find my work in progress here.

Here’s the rundown.

Titles and STDERR Output

Conductor now outputs more helpful information to STDERR, which you can view in Marked using Help->Show Custom Processor Log. It will display a list of conditions met for the current document, along with any errors. You can also now add a title key to any track, and it will be used in the STDERR output instead of the full condition, which is handy for long conditions with lots of booleans. So instead of:

Condition met: tree contains .obsidian AND (extension is md OR extension is markdown)

You can just get:

Condition  met: Obsidian Document

Multiple scripts

Conductor can now run multiple scripts in sequence. There are two ways to do this.

  1. Instead of a script or command, you can use sequence. Then in an array list, you can define a series of - script: xxx and - command: xxx type lines and they’ll be run in order, with the output of one being passed to the next, getting the final output from the last script/command in the list.
  2. You can add continue: true to any track or block. Normally, Conductor stops processing when a condition is met. With continue: true, it will continue matching conditions after processing the one with the key, again passing the output of each one to the next. This allows you to, for example, run a preprocessor on a narrow selection of documents, and then run those through a more generalized processor that catches more documents than the narrow selection does.

Changelog

Here’s the full changelog since release.

NEW

  • Test for pandoc metadata (%%) with is pandoc or is not pandoc
  • Add sequence: key to allow running a series of scripts/commands, each piping to the next
  • Add continue: true for tracks to allow processing to continue after a script/command is successful
  • filename key for comparing to just filename (instead of full path)
  • Add is a tests for array, number, integer, and float
  • Tracks in YAML config can have a title key that will be shown in STDERR ‘Conditions met:’ output
  • Add does not contain handling for string and metadata comparisons
  • Added test for MMD metadata, either for presence of meta or for specific keys or key values
  • Allow has yaml or has meta (MultiMarkdown) as conditions

IMPROVED

  • Return NOCUSTOM if changes are not made by scripts/commands, even though condition was matched
  • Use YAML.load instead of .safe_load to allow more flexibility
  • Trap errors reading YAML and fail gracefully

FIXED

  • Use STDIN instead of reading file for conditionals
  • String tests read STDIN input, not reading the file itself, allowing for piping between multiple scripts
  • Always wait for STDIN or Marked will crash. Still possible to use $file in script/command values
  • More string encoding fixes
  • “path contains” was returning $PATH instead of the file path
  • First-run config creating directory instead of file
  • Frozen string/encoding issue on string comparisons
  • Encoding errors on string methods

Check out the Conductor project for more details!

Acorn giveaway!

I’m excited to offer the next giveaway, 2 licenses ($39.99 value each) for Acorn. If you don’t need the bulk of Photoshop but want all of the image editing power, check out Acorn. It loads up in seconds and offers all the image editing tools and flexible image processing you need. I absolutely love Acorn. In addition to standard image editing tools, it has capabilities for text on a path, photo effects, non-destructive filters, and the vector tools you need for design work.

From the developer:

Use non-destructive curves, levels, and filters. The GPU power of Metal 2. Add layer masks and selections to touch up your images or make something entirely new. Remove backgrounds, combine images, perform color correction, resize, transform, crop, and much much more.

Check out the Acorn site for more info.

Sign up below to enter. Winners will be randomly drawn on Friday, May 03, at 12pm Central. The drawing is for 2 licenses ($39.99 value each) for Acorn, one per winner. Note that if you’re reading this via RSS, you’ll need to visit this post on brettterpstra.com to enter!

New rule: All signups must have a first and last name in order to be eligible. Entries with only a first name will be skipped by the giveaway robot. A lot of the vendors in this series require first and last names for generating license codes, and your cooperation is appreciated!

Sorry, this giveaway has ended.

Stay tuned for more giveaways every week through September, 2024 (and maybe beyond).

If you have an app you’d love to see featured in this series of giveaways, let me know. Also be sure to sign up for the mailing list or follow me on Mastodon so you can be (among) the first to know about these!

Life after iThoughts

So a lot of us are wondering what to do now that Toketaware has announced the sunsetting of the iThoughts mind mapping app for Mac and iOS. It’s very sad to see it go, but I expect the current version to continue working for a few years to come. That said, I tend to favor software that has at least somewhat of a future. So I’ve been testing the waters with some other contenders. The short story is I’m moving over to MindNode.

Why MindNode?

I’ve always appreciated MindNode (and even added support for it to Marked), but there were some things that made me prefer iThoughts over MindNode. After testing the latest version of MindNode, I can no longer remember what those things were. It’s not as feature rich as iThoughts, but for 90% of my mind map purposes, it looks like MindNode will do just fine. I think the last time I made the comparison, MindNode was lacking some of the features it has these days. I’ll miss Presentation mode, boundaries and grouping, and things like task completion and priority, but MindNode will work.

I’m not going into nearly the depth that Allison Sheridan did over on Podfeet with her mind map comparison, but I’ll list some of the pros of MindNode for my purposes:

  • Looks great
  • Actively developed
  • Mac and iOS versions
  • Opens iThoughts (.itmz) files, so I don’t have to fret about losing old mind maps
  • Imports Markdown files
  • Can create tasks from nodes (can’t do much with them other than check them off, but it’s handy for packing lists)
  • Exports Markdown and OPML, among other formats
  • Outline mode
  • Works with Marked (File->Advanced->Preview in Marked)
  • Good keyboard navigation with some customization options
  • Quick entry from tool bar
  • It’s on Setapp

Other options

If you’re an Obsidian user, there are some mind mapping plugins available. The “Enhancing Mind Maps” plugin is a decent option if you’re in Obsidian all the time anyway:

Pros:

  • Built into obsidian
  • Basic keyboard navigation
  • Transparent layer over plain Markdown files, easily portable and future-proof
  • Works great with Marked using the obsidian-md-filter processor (via Conductor!), and you can easily connect the two with my plugin (which is still waiting for acceptance into the Community Plugins…)

Cons:

  • Lacks a ton of features compared to MindNode

I would also point out that the mind mapping built into Curio is pretty good, and has the benefit of fitting into the crazy cool integrations that Curio provides, linking to other notes and objects, and fitting into an overall project management system.