Welcome to the lab.

Tower giveaway!

I’m excited to offer the next giveaway, 2 1-year licenses ($99 value each) for Tower. Tower is the absolute best Git GUI out there. If you use Git for work or personal projects, its in-depth integration with the entire Git toolset makes life easier, even if you’re already well-versed in the command line. It includes great GitHub integration for pull requests and issues.

From the developer:

All of Git’s Power (And None of the Pain). Pull Requests, Single-line staging, Interactive Rebase, Submodules, Git LFS, Git-Flow, File History, Blame, Cherry-Pick.

Check out the Tower site for more info.

Sign up below to enter. Winners will be randomly drawn on Friday, December 01, at 12pm Central. The drawing is for 2 1-year licenses ($99 value each) for Tower, 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!

Giveaway ends in...

One entry per person, a full name and valid email required to win. Giveaway ends on 12/01/23 at 12:00 PM. I will never sell or misuse your email address.

Stay tuned for more giveaways every week through August, 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!

mdless updates for Thanksgiving weekend

I made a few major updates to mdless 2.0 (first announced a couple days ago) over the holiday weekend. Note that you can make all of the new options permanent in the config file (see Easily Update Config). Options specified on the command line will always override anything in the config file, so you can disable options permanently but enable them on a per-run basis using command line flags.

Inline Styling

The first problem I ran into was that if a link, emphasis, or other inline element came in the middle of a line, everything after that element would fail to be styled. So I added in a routine that I created for Doing that can take the text preceding an element and determine what the escape sequence would be at the end of that text, right before the new element. Then I can restore that sequence after the new element.

Nested Lists

Second, and this was a real pain, nested lists weren’t working. Like at all. I didn’t notice it at first because my test files had very basic lists in them, but lists were being flattened, ordered list sequencing was completely out of whack, and nested paragraphs and code blocks within lists were getting totally borked. Fixing this was a pain. Redcarpet only provides “text” and “type” to the list rendering functions, so you have no idea if it’s nested, at what level, etc. You can start a class variable counter and increment it with each ordered item, but as soon as it nests or starts a new list, you’re in trouble, and lists aren’t rendered in sequence anyway, so an array structure to keep track of them is impossible. They’re rendered inside out, so any kind of basic counter will be off as soon as you have a nested ordered list. Fixing this took me three days, and I went through a dozen solutions before one worked. I think the current solution is pretty solid, seems to handle all of the aforementioned issues and maintain accurate numbering with multiple nested, ordered lists. Also indents paragraphs and code blocks within lists.

The Default Folder X giveaway winners!

The Default Folder X giveaway has ended, and I have winners to announce!

The winners!

Congratulations to:

  • Alexander Allori
  • Michael X

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 Default Folder X is still worth checking out. Trust me, you need this. You might not realize how limited your standard open and save dialogs are until you’ve experienced Default Folder X. You can still save 20% by using the coupon BRETT-DFX-2023 at checkout.

By the way, Default Folder X is also available on Setapp, along with hundreds of other amazing apps. You should probably get a subscription.

Next up is Tower. Check back every Monday through August, 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!

mdless 2.0

I’ve updated mdless to 2.0. Well, 2.0.5 at this point. It’s a complete overhaul of the command line Markdown parser/viewer.

It’s been a pretty popular project, and is being used on all kinds of OSs, but it got frustrating as the whole thing was based on regular expressions for parsing and users expected it to handle some more complex markup than it could. So for the reboot, I switched to using RedCarpet for parsing, then added my own terminal handling to that via a custom renderer and pre/post processing.

Table cleanup is better than ever. Footnotes can still be displayed directly after the paragraph that references them, or at the end of the display. Code highlighting (with Pygments) is more accurate than ever. Ordered lists are properly numbered, regardless of the numbering in the Markdown. There are a few differences in the way things like code blocks nested in lists are displayed (they’re no longer indented), but overall it’s a big step up.

If you’re into Markdown and spend time in the Terminal, let mdless display those README files for you, rather than opening up a dedicated viewer or editor with a preview. See the project page for more details and installation instructions.

Update: Just pushed a new version that allows for links to be output in reference format (--links ref) or as per-paragraph references (--links para). Inline links is the default (--links inline). This setting can be made permanent by editing ~/.config/mdless/config.yml.

Default Folder X giveaway!

I’m excited to offer the next giveaway, 2 licenses ($39.95 value each) for Default Folder X. Default Folder X is an amazing extension for your open and save dialogs on macOS. It makes navigating folders easier, tagging better, and implements flexible favorites and allows specific default folders for every app. You can set up favorite folders, accessible with keyboard shortcuts, have every app track it’s most recent save-to folder, and much more.

From the developer:

Make your Open and Save dialogs work as quickly as you do. Track recently used files and folders in every app, reopen recently closed Finder windows, Copy and Move files in file dialogs.

Check out the Default Folder X site for more info.

Sign up below to enter. Winners will be randomly drawn on Friday, November 24, at 12pm Central. The drawing is for 2 licenses ($39.95 value each) for Default Folder X, 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 August, 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 Noteplan giveaway winners!

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

The winners!

Congratulations to:

  • Erik Wessel-Berg
  • David Blue
  • Brandon Ballentine
  • Carley Knight
  • Paolo Sturbini

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 Noteplan is still worth checking out. If you like portable solutions for managing notes, todos, and projects, you can’t beat Noteplan.

By the way, Noteplan is also available on Setapp, along with hundreds of other amazing apps. You should probably get a subscription.

Next up is Default Folder X. Check back every Monday through August, 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!

Noteplan giveaway!

I’m excited to offer the next giveaway, 5 1-year subscriptions ($99 value each) for Noteplan. If you love plain text (and Markdown), you’re going to love Noteplan for organizing all your notes and todos. Using plain text, you can create daily logs, digital bullet journals, track todos, and keep cross-linked notes for all your stuff. Also check out the web version coming soon!

From the developer:

Use the flexibility of Markdown to quickly create tasks. Add options for repeating to dos, easily move tasks into the future, and add tags and mentions. Speed up your workflow with natural language input and autocompletion of tags, mentions, and links.

Check out the Noteplan site for more info.

Sign up below to enter. Winners will be randomly drawn on Friday, November 17, at 12pm Central. The drawing is for 5 1-year subscriptions ($99 value each) for Noteplan, one per winner. Note that if you’re reading this via RSS, you’ll need to visit this post on brettterpstra.com to enter!

Sorry, this giveaway has ended.

Stay tuned for more giveaways every week through August, 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 Hazel giveaway winners!

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

The winners!

Congratulations to:

  • Bruno Martinelli
  • Mike
  • Tom Tensfeldt
  • Federico
  • Will

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 Hazel is still worth checking out (and I know you’re interested because there was a record number of entries for this one). It will revolutionize your file management and has all kinds of possibilities for automation. You can still use the coupon TERPSTRA2023 to get 20% off (click here to apply).

Next up is Noteplan. Check back every Monday through August, 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!