Abstract: Tp-Note helps you to quickly get started writing notes with its powerful template system. As Tp-Note takes care that the note’s filename is always synchronized with its document title, you will find back your notes easily.

Tp-Note - Downloads

I am a great fan of markup-languages. I started in my youth with LaTex, later I discovered Asciidoc and ReStructuredText. Some years ago Markdown improved so much, that it became my favorite markup-language. I have currently settled on Pandoc for producing renditions for all kind of purposes. The best is, that I can write everything in a text editor with vi-key-bindings! Especially for fast note-taking, markup-languages are particularly well suited. In my early computer days, I still took notes in regular text files, but soon raised the need for better order into this: over the years my experience established some best practise conventions about how filenames, and front matter of notes should look like. It suggested itself to use some template system in order to create notes quickly. About 20 years ago, I developed a first Bash-script to create note-templates. Templates are most useful, when they can be filled out automatically.

Over the years 3 templates proved to be beneficial:

  1. A template that is filled with information about the location of the note in the file-system. For example: when you place a note in a folder named "German past tense", then there is a big chance that the words "German past tense" will appear in a prominent place in your note. Most likely even in the title or subtitle.

  2. A template referencing the name of another file: e.g. you want to place a note next to a file called "Who Moved my Cheese.pdf". The note should have a similar filename to the .pdf-file, in order to find it back later more easily. Here again, it is most likely, that your note content will contain the string "Who Moved my Cheese".

  3. A template that is filled with clipboard data. For example, you have copied an Internet link, and want to create a note with a filename similar to its linkname, while the complete URl should appear in content of the note.

What makes it difficult the meet the above requirements, is that on the one hand the user needs flexibility to adjust the templates to his needs, and on the other hand the system must convert data reliably between the data sources: clipboard, file-system and the note's front matter, structure and encoding. The solution should be available for all common operating systems, to allow data exchange. And last but not least, it should be text-editor and markup-language agnostic: everybody has some preference about which text-editor is the best and the same is true about markup languages!

The first version of my template engine, pandoc-note, written in Bash, was already a step in this direction: it was quite flexible, but hard to use on Windows and the data conversion mechanisms were not very reliable. Although I have been working with it for many years, it was time to make another attempt, when I discovered that a Tera-template library is available for Rust; all credit to Vincent Prouillet for his work!

Today, I am happy to announce the release of Tp-Note, a fast note taking tool with templates and filename synchronization. The source code is available on GitHub - getreu/tp-note and some binaries and packages for Linux, Windows and Mac can be found here.

The figure below illustrates the layout of a note created with tp-note.

Tp-Note is free and open-source. Binaries and packages are available for download. To fully profit of Tp-note, I recommend reading Tp-Note's user manual. When you like Tp-Note, you probably soon want to customize it. How to do so, is explained in Tp-Note's manual page.