Nested Properties

by Michael Naumov
5
4
3
2
1
Score: 54/100

Description

Obsidian plugin that allows to view/edit nested frontmatter properties.

Reviews

No reviews yet.

Stats

38
stars
7,817
downloads
8
forks
78
days
4
days
4
days
4
total PRs
0
open PRs
1
closed PRs
3
merged PRs
7
total issues
0
open issues
7
closed issues
302
commits

Latest Version

4 days ago

Changelog

  • test(screenshots): merge the Node-side dark theme for the desktop capture
  • test(screenshots): merge the drop of the local caret hiding
  • fix(screenshots): merge the caret-free desktop captures
  • chore(deps): merge the obsidian-integration-testing 17 float
  • fix(floating-scrollbar): merge the cross-window pending-frame fix
  • chore(deps): merge the obsidian-test-mocks ^7.0.0 raise
  • perf(floating-scrollbar): stop the cursor handler running on every pointer move
  • perf(floating-scrollbar): stop blocking every wheel event in the app
  • fix(test): merge the headless demo-vault toolkit install
  • fix(deps): restore the lockfile's missing resolved and integrity fields
  • test(floating-scrollbar): cover the native-scrollbar wheel path in a real Obsidian
  • style(comments): stop rewriting symbol names that open a comment
  • chore(screenshots): delete the orphan frame the capture suite never wrote
  • build(markdownlint): forbid hard-wrapped markdown paragraphs
  • test: size the search closure's wait ceiling to its six call sites
  • refactor: route the vault-wide property writes through processFrontmatter
  • fix(deps): float devalue to 5.9.4, clearing GHSA-9rgm-9g3h-6x36
  • test: record the capture suite's open-note budget as deliberately under the cap
  • chore(deps): drop the dead markdown-it override
  • chore(deps): drop the dead js-yaml override
  • style(comments): stop capitalizing the middle of a wrapped comment
  • docs: replace the private rule-id citations with what they assert
  • docs: name the library and the sibling plugins so a reader can resolve them
  • docs: replace the private tracker references with what they pointed at
  • chore(deps): move to obsidian-dev-utils 103
  • test: bring the in-closure wait ceilings under the transport's per-eval cap
  • chore: adopt the npm run gate branch gate
  • test: bring the in-closure wait ceiling under the transport's per-eval cap
  • refactor(android): drive the Android suites with trusted input
  • docs: name the unversioned demo-vault asset and the folder it unzips into
  • chore: make the LICENSE copyright line checkable by the linter and guard it against the year roll-over
  • test(test-mocks): drop the hand-rolled app.plugins stub, and sweep the dependencies

Full Changelog: https://github.com/mnaoumov/obsidian-nested-properties/compare/1.6.0...1.6.1

README file from

Github

Nested Properties

Buy Me a Coffee GitHub release GitHub downloads Coverage: 100%

YAML frontmatter nests, but Obsidian's Properties editor does not. Give a note a nested structure and the panel shows you nothing useful — the values are there in the file, and the only way to read or change them is to edit the raw YAML by hand and hope you get the indentation right.

This plugin renders nested objects and arrays as a collapsible tree in the Properties panel, where you can read them, edit them, change their types, and rename or delete a nested key across the whole vault.

---
level1simple: simple1
level1Nested:
  level2simple: simple2
  level2Nested:
    level3simple: simple3
    level3Nested:
      level4simple: simple4
      level4Nested:
        level5simple: simple5
---

Inspired by this feature request.

Demo vault

The documentation is a demo vault. Every feature has a note whose own frontmatter demonstrates it — open the note, look at the Properties panel, and you are looking at the feature.

Start reading here — it is plain markdown, so it works on GitHub with nothing installed.

A copy of the vault ships with every release. You can access it via any of the following:

  1. Running the Nested Properties: Open demo vault command.
  2. Downloading nested-properties-demo-vault.zip from the Releases. It unzips into a single nested-properties-demo-vault-<version> folder.
  3. Browsing its source in demo-vault/ in this repository.

What it does

Initial expand level

A nested property arrives collapsed by default, and a collapsed row is readable on its own: it shows a one-line preview of its content rather than an opaque { ... }, with any complex value inside it elided so the row stays one line tall.

If you would rather some of it arrived already open, set Settings → Nested Properties → Initial expand level — 1 opens the nested property but not its children, 2 opens the children too, and so on. An array index counts as a level of its own, so in generated.foo.0 the array item sits one level below generated.foo.

A note can override the setting for itself:

---
nestedProperties:
  initialExpandLevel: 2
---

Installation

The plugin is available in the official Community Plugins repository.

Beta versions

To install the latest beta release of this plugin (regardless if it is available in the official Community Plugins repository or not), follow these steps:

  1. Ensure you have the BRAT plugin installed and enabled.
  2. Click Install via BRAT.
  3. An Obsidian pop-up window should appear. In the window, click the Add plugin button once and wait a few seconds for the plugin to install.

Debugging

By default, debug messages for this plugin are hidden.

To show them, run the following command in the DevTools Console:

window.DEBUG.enable('nested-properties');

For more details, refer to the documentation.

Changelog

All notable changes to this project will be documented in the CHANGELOG.

Contributing

Contributions are welcome — see CONTRIBUTING to get set up.

Support

My other Obsidian resources

See my other Obsidian resources.

License

© Michael Naumov