Nerd Alert! 🤓

Hot on the heels of my post about FFF version 6, I’ve dived right into some Python programming. No, it has nothing to do with snakes. 🐍 It’s the scripting language. With the Raspberry Pi that I got for Christmas, I’ve been mulling different ideas of how to use it. It got me digging around with text editors and scripting. I had a vague idea of using it as a pseudo-typewriter for writing and editing my novels.

But what jumped up and smacked me in the face was an idea about note-taking at work. I take a lot of notes at work, and for years I have been using Microsoft OneNote. It works pretty well, with cloud syncing and a folder system that I have developed based on industry and client. But there are a couple of annoyances:

  1. Trying to share something is not easy. The Office 365 sharing wants to share an entire notebook, not a note, and exporting to PDF is always ugly.
  2. Trying to find something is not easy. I have organized my notes, but I have archived some older ones to save space and the find function is not elegant.

So I figure there’s no harm in trying to make something better, right? I give you: my notes dashboard!

The heart of the system is Markdown text formatting. Actually, MultiMarkdown, because I wanted:

  1. Tables
  2. Metadata (the text above the title for Client, Date and Tags)

I wanted to move away from the rich-text of OneNote and back to plain text. This way, there’s no future where I can’t go back and refer to my notes. Right now, I can’t bulk-export my OneNote notes. Hundreds of programs can read Markdown, including BBEdit, my editor of choice since the 1990s.

The idea is that I will have a folder into which I place the Markdown files. Each file will have metadata that I will be able to search. I will be able to create, read and update the files using BBEdit. That in itself is a big win, because BBEdit is an amazing editor that I can be very productive in. BBEdit also has a preview window that updates as you type.

Sample MultiMarkdown on the left, preview window on the right.

This would be fine all by itself. BBEdit has a comprehensive set of multi-file search tools that I could use to manage the Markdown files, but here’s where things really get geeky. I’ve got a couple of Python scripts for creating new notes with a single command and a dashboard for searching, listing, opening (in BBEdit) and deleting files. That’s the dashboard. It’s written using the npyscreen library and is lightning fast. I can search for basically anything in any note using text strings or even regular expressions, because the searching is all based on grep and the Python re module.

Exporting is still a work in progress. I can print to PDF from the BBEdit preview window, or I can copy and paste. But I also am working out how to write the notes to PDF with pandoc.

There are drawbacks:

  • This is Mac-first. But I can edit Markdown on my iPad, with one of the many, many Markdown editors for iPad.
  • It has a learning curve, but not much of one. In four days I’ve pretty much mastered it.
  • Embedding images is not as fast. But with Continuity Camera in MacOS/iOS, I can take pics of whiteboards and add them to my notes with reasonable speed. I might need to automate that somehow.

The bigger picture here is that I am using note-taking as a way to have geeky fun much in the same way that I use keeping track of our expenses. I don’t need to code the FFF. I don’t need to code this, either. But it makes me happy. And Python is a skill I can use for the GIS parts of my work. And so far, note-taking in my BBEdit-Markdown system is better than OneNote. I’m four days in and I’m ready to declare it a win.

Updated March 3rd

I am happy to report that my Python Notes app is working well. I’m continuing to improve it:

  • Improved the search capability
  • Added a screen to view tags
  • And just today I changed it to auto-populate new documents with the template Markdown and added a notes preview inside the Python environment

I also have added a few shortcuts and snippets inside BBEdit to do some common Markdown tasks, like adding images, bolding text, and inserting tables.

I’ve got 48 notes so far. Only a few but give it time. It’s fun to identify things that would make it better and then be able to add them myself.

One Comment

  1. Great, but I don’t think I can use any of them…Glad yo see your always learning something hew,,

Comments are closed.