MH Note Info

unlisted

by MH - Matheus Heidemann

Display detailed statistics and information about your notes.

Updated 1mo ago
View on GitHub

MH Note Info

Summary

MH Note Info is an Obsidian plugin that shows detailed information about the active Markdown note. It can display note statistics, frontmatter properties, headings, backlinks, outgoing links, unresolved links, a local graph, and common file actions from a modal, sidebar views, status bar items, or embedded note sections.

The plugin requires the companion dependency MH-API-TEMPORARY to provide shared UI components, condition rules, locale detection, and note statistic calculations.

Purpose And Features

  • Shows text statistics such as paragraphs, sentences, lines, words, characters, and reading time.
  • Shows document structure statistics such as headings, heading levels, lists, list items, tables, rows, and cells.
  • Shows Markdown element statistics such as internal links, external links, images, code blocks, blockquotes, checkboxes, footnotes, and embeds.
  • Shows temporal and file information such as created date, modified date, file age, days since edit, tags, properties, and file size.
  • Displays backlinks, outgoing links, unresolved links, headings, frontmatter properties, local graph, and note actions in dedicated tabs.
  • Lets selected statistics appear in the Obsidian status bar.
  • Provides configurable modal tabs, sidebar views, statistic groups, card layout, date format, reading time format, file size units, link source, path display, heading display, and enabled note actions.
  • Supports embedded note information blocks through mh-note-info code blocks and automatic embed templates matched by rules.
  • Injects runtime styles from TypeScript; there is no separate styles.css file.

How It Works / How To Use

Open a Markdown note and run the command MH Note Info: Show note information to open the modal. Enable sidebar views in the plugin settings, then run the generated sidebar commands for views such as Statistics, Properties, Headings, Backlinks, Outgoing Links, Unresolved Links, Local Graph, or Actions.

The Properties tab reads and edits the note frontmatter. No reserved frontmatter key is required for the plugin. Practical frontmatter for rule-based templates can look like this:

---
type: project
status: active
tags:
  - project
owner: "[[Ada Lovelace]]"
due: 2026-07-01
---

Use these properties in embed template rules, for example matching notes where type is project, status is active, or the file is inside a specific folder. The plugin ignores the internal position frontmatter field when counting/listing displayed properties.

Embed a plugin section directly in a note with a code block:

```mh-note-info
layout: tabs
tabs: statistics, properties, backlinks, outlinks
tabStyle: bar
display: both
tabsPerRow: 4
autofit: true
graphHeight: 350
```

Supported code block options include layout (tabs or columns), columns, tabStyle (bar or header), display (both, icons, or labels), tabsPerRow, autofit, graphHeight, and tabs as a comma-separated list of tab names.

Automatic embed templates are configured in the plugin settings. A template can render at the top, bottom, or both positions in matching notes. Templates can use tab or column layouts, independent top/bottom tab selections, tab ordering, graph height, and rule conditions from MH-API-TEMPORARY.

Installation

Copy these files into .obsidian/plugins/mh-note-info/ inside your vault:

  • main.js
  • manifest.json
  • versions.json
  • locales/

Install and enable MH-API-TEMPORARY, then enable MH Note Info in Obsidian settings. main.js is a generated build artifact and must be present for Obsidian to load the plugin.

Development

Install dependencies:

npm install

Run development watch mode:

npm run dev

Run TypeScript validation:

npm run typecheck

Build the production bundle:

npm run build

Edit TypeScript files under src/. The build entrypoint is src/main.ts, and the generated output is main.js. Do not edit main.js manually after migration.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.