#diary #markdown #keeping #content #section #entries #documenting

bin+lib diary-cli

A powerful cli for documenting and keeping a diary

2 stable releases

1.3.5 Aug 11, 2024
1.3.4 Apr 27, 2024

#331 in Text processing

GPL-3.0 license

95KB
2K SLoC

diary-cli


A powerful cli for documenting and keeping a diary.

How to install


  1. run
        cargo install --locked diary-cli
    
  2. Try it out
        diary-cli --help`
    

Anatomy of a Diary Entry


Entry Metadata


useful meta-data about that diary entry

uid = "<a unique identifier that is used for `MOC`s and also defines the file name the entry exports as"
date = 1000-01-01 # date that it occured

title = "<the title of the diary entry>"
description = "<description>"
tags = [
    "a",
    "bunch",
    "of",
    "tags",
    "to",
    "attach",
    "(used for both `Obsidian.md` and also for `MOC`s)"
]
notes = [
    "a bunch of summaries of the entry",
    "in case you're lazy",
]

Sections


a section is a paragraph or topic within a diary entry

[[section]]
title = "title of / the topic of this section"
contents = """
the string contents of this diary entry
yeah
"""

Anatomy of a MOC


a MOC or a 'Map of Contents' is a markdown file that contains links to other mocs or entries

sort of like a directory or folder

MOC Metadata


is-moc = true # tells `diary-cli` that this is a `MOC` file

[moc]
title = "MOCs of 2023"
uid = "2023-mocs"
description = "description about this MOC"
notes = ["notes about this MOC"]
tags = [
    "Tags for this MOC that allow it to be searchable or indexed by other MOCs",
]

Collections


like an entry section, but with markdown links instead

[[collection]]
title = "title / topic of the collection"
notes = ["notes about this collection section"]
include = [ # tags of entries or `MOC`s to include in the collection
    "interesting",
    "moc",
]

Dependencies

~4–13MB
~178K SLoC