Skip to content
Tags give the ability to mark specific points in history as being important
  • v1.24.4
    Downgrade some dependencies to comply with rustc 1.77.2, no code changes
  • v1.24.3
    Enhance the HTML clipboard configuration options
    
    This release extends the `html_to_markup` filter by adding a `default=`
    parameter in case the filter fails, its result is the empty string, or if
    the filter is disabled for a certain markup language with the configuration
    variable `extensions.1`.
    
    The `clipboard` variable is replaced by the variables `txt_clipboard` and
    `html_clipbaord`. They both represent the clipboard's text content. The
    difference is, that the `html_clipboard` carries HTML formatting along the
    text, while `txt_clipboard` holds the plain text only.
  • v1.24.2
    Regression fix: repair broken Windows installer
    
    This updates the tool chain that produces the Windows installer. The `.msi`
    installer was broken in version 1.24.1.
    
    Minor bug fix:
    
    * Windows: do not insert double `\r\r` when input comes from both: stdin and
      the clipboard.
  • v1.24.1
    Regression bug fix: no HTML in X11 clipboard, fallback to text
    
    This release fixes a regression (commit dc9fd8d) introduced with the
    migration to the `clipboard-rs` crate (commit b532b71) under Linux/X11:
    When the clipboard contains no HTML, now the plain text content is
    correctly used (again).
    
    Minor internal improvements:
    
    * Refactor clipboard related templates
  • v1.24.0
    Add clipboard HTML to Markdown converter
    
    This release of adds internal clipboard HTML detection and conversion to
    Markdown.
    
    In earlier versions the conversion of clipboard HTML content into Markdown was
    performed in the Browser by the plugins _Copy Selection as Markdown_ and _Copy
    as Markdown_ only. Now, this conversion can be done by Tp-Note also without
    browser plugin.
    
    For best results browser plugins are still preferred, because in addition to the
    selected content, the plugins insert also a link to the displayed page. Without
    plugin this information must be completed by hand. Nevertheless, the internal
    converter does a good job with quickly copying hyperlinks into Tp-Note files.
  • v1.23.10
    Security release for RUSTSEC-2024-0019, no new features
    
    The vulnerability RUSTSEC-2024-0019 was found in one of Tp-Note's
    dependencies. For those who compile Tp-Note, this is fixed by a simple
    `cargo update`. Nevertheless, some distributions (e.g. NixOS), refer to
    the exact versions in `Cargo.lock`, which motivates this new release.
    
    Internal changes and refactoring:
    
    * Build chain: migrate from Docker to Podman
    * Encapsulation of the clipboard related code.
  • v1.23.9
    Correct the last git release tag. No source code change.
    
    This corrects the last git release tag (without `v`) which caused downstream
    build scripts to fail.
  • 1.23.8
    Add page numbers for PDF rendition with WeasyPrint
    
    Highlights in this release:
    
    * Allow PDF rendition with WeasyPrint
    
          tpnote --export=- mydoc.md | weasyprint - mydoc.pdf
    
    * Refactor `tmpl_html` templates
    * Disable library logging when invoking with `--debug <LEVEL>`
    * Remove some workaround for early versions of the `notify` crate.
    * Bug fix: source also `tmpl_html` section when given in a configuration file
  • v1.23.7
    Fix regression: viewer: render error page again
    
    This regression was introduced with Tp-Note version 1.23.6, commit `37ef6ea`
    and fixed with commit `bf19d70`.
    
    Minor change:
    * Give `--force-lang` precedence over `TPNOTE_LANG_DETECTION
  • v1.23.6
    Maintenance release, no new features:
    
    * Refactor main `tpnote-lib` API
  • v1.23.5
    Minor breaking change: format string syntax
    
    See chapter: 6.2.3. Local links with format strings
    
    <https://blog.getreu.net/projects/tp-note/tpnote--manpage.html#links-to-resources-and-other-documents>
    
    Format strings
  • v1.23.4
    Maintenance release: update documentation
  • v1.23.3
    Fix: shorthand links with `--export`
    
    New feature:
    * dump internal default configuration to stdout with `-C -`
  • 1.23.2
    New option `--config-defaults` / Viewer: serve links with URL fragments
    
    From version v1.23 on, Tp-Note merges configuration files into its internal
    configuration. Consequently, without custom changes no configuration file
    is required at all. Nevertheless, to get a copy from the internal configuration
    (you can base your custom configuration file upon) a `--config-defaults` option
    is added.
    
    Another improvement concerns the viewer's link rewriting code: with this release
    URL fragments (starting with `#`) are rendered correctly. This allows you for
    example to add a hyperlinked table of contents at the beginning of your notes.
    Also footnotes like `[^1]` are rendered correctly.
  • v1.23.1
    Maintenance release
    
    This reverts the commit `72bc7f2` that had been mistakenly merged into master.
    
        72bc7f2 Rename the root path marker file to `tpnote.toml`
    
    It restores the original name of the marker file: `.tpnote.toml`
  • v1.23.0
    Merge config files / Zettelkasten support
    
    Tp-Note is shipped with a default internal configuration that can be customized
    by merging a series of configuration files from various locations into the
    default values. This happens in the following order:
    
    1. Unix and MacOS only: '`/etc/tpnote/tpnote.toml`'
    2. The file where the environment variable '`TPNOTE_CONFIG`' points to.
    3. The user's configuration file:
       - Unix: '`~/.config/tpnote/tpnote.toml`'
       - Windows: '`C:\Users\<LOGIN>\AppData\Roaming\tpnote\config\tpnote.toml>`'
       - MacOS: '`/Users/<LOGIN>/Library/Application Support/tpnote`'
    4. At startup all parent directories of the note file path '`<PATH>`'are
       searched for a marker file named '`tpnote.toml`'. If found, the document root
       moves from '`/`' the found location. If present and its content is not empty,
       Tp-Note interprets the file's content as configuration file.
    5. The file indicated by the command line parameter '`--config <FIlE>`'.
    
    When Tp-Note starts, it first merges all available configuration files into
    the default configuration. Then the resulting syntax is checked.  If not
    correct, the last sourced configuration file is renamed (thus disabled) and
    Tp-Note starts with its internal default configuration. For debugging, you can
    print out the merge result with '`-V -b -d trace`'.
    
    To write a custom configuration file, first start with a complete default
    configuration you can generate by invoking Tp-Note with '`-V -b -c`'
    (no '`-d`').
    
    ```sh
    tpnote -V -b -c ~/.config/tpnote/tpnote.toml
    ```
    
    Some filename and template related variables are grouped into a '`scheme`'.
    The shipped configuration file lists two schemes: '`default`' and '`zettel`'.
    The scheme used when creating a new note, is selected by the commend line
    option '`--scheme`', the environment variable '`TPNOTE_SCHEME`' or the
    configuration variable '`arg_default.scheme`'. The scheme selected when
    synchronizing a Tp-Note header with its filename depends on the
    value of the header variable '`scheme:`' which defaults to '`default`'
    (cf. '`scheme_sync_default`').
  • v1.22.13
    Viewer bugfix: store the path to non-base-documents
    
    This fixes a regression introduced with
    
        d1c0ed4 2023-10-31
        Error when `fm_sort_tag` is sequential and duplicate
    
    in Tp-Note version v1.22.11
  • v1.22.12
    New feat.: localize new note's front matter / theme selection
    
    * Localize new note's front matter
    
    * Theme selection:
      A theme is an interchangeable set of configuration file variables. Tp-Note is shipped
      with two scheme: `default`, `zettel` (for Zettelkasten, experimental).
    
      The user can select a scheme with:
      * the command line option `--scheme SCHEME_NAME`,
      * environment variable `TPNOTE_SCHEME` or
      * the configuration file variable `arg_default.scheme`.
    
    * The command line option:
      `--force-lang='-'` is replaced with `--force-lang=''`
  • v1.22.11
    Internal improvements: better modelling of "sequential/chronological" sort-tags
    
    This release formalizes the concepts of `sequential sort-tags` vs.
    `chronological sort-tags`:
    
    1. A _sort-tag_ is composed of a number of counters, which can be numerical,
       e.g. `123.28` or combined numerical/letter based, e.g. `123ab`.
    
    2. A counter is set of digits (base 10) `123` or a set of lowercase
       letters (base 26) `ab`.
    
    3. A letter based counter can be maximal 2 letters wide. Its maximum is
       `zz` (cf. `filename.sort_tag.letters_in_succession_max`).
    
    4. A _sequential sort-tag_ is a sort-tag that whose counters are at most 3
       digits wide (cf. `sort_tag.sequential.digits_in_succession_max`).
    
    5. The filter `incr_sort_tag` increments only sequential sort-tags.
    
    6. In order not to confuse sequential and chronological sort-tags, it is
       recommended to always write out the year in chronological sort-tags with 4
       digits, e.g. `2013-08-10` or `20130810`.
  • v1.22.10
    Tmpl: relax sort-tag chars; increment sequential sort-tags;
    
    New features:
    
    1. Default change in `filename.sort_tag_chars`: sort-tags may now include
       lowercase letters. The space and tab characters are depreciated.
    2. Tp-Note searches for the latest created document, extracts the sort-tag from
       the finding, increments it and uses the result as sort-tag for the new file.
       Incrementation examples: `02-3` -> `02-4` or `1b01f` -> `1b01g`.
       Chronological sort-tags like `20231024` are never incremented.
    3. The viewer now understands so-called _format strings_ that can be appended
       to local links, e.g. the link `<tpnote:1a3?-->` expands to
       `<a href="1a3-my doc.md">my doc</a>` in case a file `1a3-my doc.md` exists in
       the current directory.
    
    Breaking changes:
    
    1. In previous Tp-Note versions, the default set for allowed characters in
       sort-tags included the space and tab characters. From this version on, these
       characters are not allowed in valid sort-tags anymore. If needed, you can
       re-add them to the configuration file variable `filename.sort_tag_chars`.