obsidian-structured-notes
TypeScript icon, indicating that this package has built-in type declarations

1.6.1 • Public • Published

Obsidian Structured Notes Plugin

TODO - links

Why use this plugin?

Quick show of hands from the notes-as-data crowd out there - who wishes we had type checking for note properties? An easier way to programmatically query for certain types of notes? What about a way to categorize and manipulate notes? Better yet, who wishes we had an easier way of creating notes with default properties, in a certain folder, and with customizable initialization hooks that can do anything we want?

Gee, that sounds nice. Someone should make a plugin for that.

Structured Notes is a plugin that - as the title would suggest - provides better structure for developers to add scripting functionality to their notes. Some of its features include

  • Type checking for note properties when writing plugins.
  • Easy-to-extend note initialization scripting, including default file placement, property values, and more.
  • An API allowing you to query notes with a certain property structure, notes of a certain type, etc.

This plugin, on its own, doesn't really do all that much. However, it provides an extendable engine for nerds with too much free time to automate away some of the pain points of note creation and querying.

But NateHawk85, I already use Templater for my note templates.

So do I, and I highly recommend doing so if you don't already! After the 50th time of writing await tp.file.move(`Meetings/Boring/${meetingNoteTitle}`) in a template file, I asked myself, "What if I could write something that does exactly the same functionality, but... different? In a way that separates scripting from the actual templating experience?"

TODO - add more later, maybe with a tidbit less sass

Checklist prior to v1.0.0 release

Technical

  • [x] Create base structured note initializer
    • [ ] Allow base structured note initializer to evaluate external JS code
    • [ ] Create customizable "core" fields, with initialization scripts and/or default values for each field
  • [ ] Create strict type analysis on each note
    • [ ] Command that runs comparisons against all notes in the current vault, reporting on fields that are missing/invalid field types
    • [ ] Create script to create all missing fields on missing notes with a default value and/or evaluation script
  • [ ] Create JSON import/export format
    • [ ] Import/export structured note types
      • Include field initialization scripts
    • [ ] Export Typescript types from current structured note

UI

  • [ ] Create commands for technical items
  • [ ] Expand settings to allow for users to create their own structured note types
    • [ ] Add importer menu
    • [ ] Add exporter menu

Readme

Keywords

Package Sidebar

Install

npm i obsidian-structured-notes

Weekly Downloads

84

Version

1.6.1

License

MIT

Unpacked Size

3.34 MB

Total Files

6

Last publish

Collaborators

  • natehawk85