Diary View

by likemuuxi
5
4
3
2
1
New Plugin

Description

This plugin has not been manually reviewed by Obsidian staff. A notebook-style diary view built from your daily notes.

Reviews

No reviews yet.

Stats

stars
downloads
0
forks
0
days
NaN
days
NaN
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
0
commits

Latest Version

Invalid date

Changelog

README file from

Github

English | 中文

Diary View

Diary View is an Obsidian community plugin that turns your daily notes into a notebook-style diary view. It focuses on a calm reading and writing experience: recent daily notes are shown as pages, the current note can be previewed or edited in place, and small details such as a daily quote and weather icon can be stored directly in each note's frontmatter.

Features

  • Open a dedicated diary view from the ribbon icon or the Open diary view command.
  • Browse the latest seven daily notes with a page-like layout and flip animation.
  • Preview rendered Markdown or switch to editing without leaving the diary view.
  • Edit the prompt text at the top of the right page. The text is saved to frontmatter as daily-quote by default.
  • Optionally fetch a daily quote from a user-configured API. The plugin requests it only when a note does not already have the configured quote property, then caches it in frontmatter.
  • Customize the weather icon for a note from frontmatter with daily-weather by default.
  • Replace the default artwork with a note-specific image from frontmatter with daily-image.
  • Preserve daily note frontmatter while editing the body content.
  • Full English and Chinese localization — auto-detects your Obsidian locale, or pick a language in settings.
  • Configurable calendar week — choose whether the week starts on Monday or Sunday.
  • Custom weekend days — select which days are highlighted as weekend in the calendar.

Frontmatter

Diary View reads and writes a few optional frontmatter fields in your daily notes.

---
daily-quote: "Write one sentence that belongs to today."
daily-weather: cloud-sun
daily-image: "https://example.com/photo.jpg"
daily-mood: smile
---

daily-quote is shown in the prompt card at the top of the right page and can be edited directly from the diary view. Clearing the prompt keeps an empty daily-quote value, so an API quote will not overwrite your manual choice on the next render. The quote property name can be changed in settings.

daily-weather stores the weather for the day. Click the weather icon in the page header to open the built-in picker and select an icon. You can also set it manually in frontmatter — the value can be a Lucide icon name (e.g. sun, cloud-rain), or common weather words which are automatically mapped to icons. The weather property name can be changed in settings.

daily-image replaces the default illustration on the left page. The value can be a URL (https://…), a vault-relative path (photos/sunset.jpg), or a wikilink (![[sunset.jpg]]). If this field is empty or missing, Diary View shows the built-in artwork — or, when Use first image as artwork is enabled, the first image found in the note body. The image property name can be changed in settings.

daily-mood stores the selected mood icon for the day. Click the mood area on the left page to open the built-in picker. You can also set it manually in frontmatter using a Lucide icon name or the mood's display description. Custom mood icons can be added in settings. The mood property name can be changed in settings.

Settings

Open Settings → Community plugins → Diary View to configure:

  • Language — Display language for the diary view UI. Auto-detects your Obsidian locale on first use.
  • Start of week — Choose whether the calendar week starts on Monday (default) or Sunday.
  • Weekend days — Select which days are highlighted as weekend in the calendar. Defaults to Saturday and Sunday.
  • Daily note heading — Optional Markdown headings to read and write. Enter multiple headings on separate lines, or separate them with commas or semicolons. The first matching heading is used; if none exist, the first configured heading is created.
  • Quote frontmatter key — Frontmatter property used to read and save the daily quote. Defaults to daily-quote.
  • Daily quote API — Optional URL for a daily quote endpoint. The response can be plain text or JSON using common fields such as hitokoto, quote, content, text, sentence, message, or data.
  • Weather frontmatter key — Frontmatter property used to read the daily weather icon. Defaults to daily-weather.
  • Image frontmatter key — Frontmatter property used to read the diary image URL or path. Defaults to daily-image.
  • Use first image as artwork — When enabled and no image frontmatter is set, the first image in the daily note is used as the diary artwork. When disabled, the default illustration is shown.
  • Mood frontmatter key — Frontmatter property used to read and save the daily mood icon. Defaults to daily-mood.
  • Custom mood icons — Add custom Lucide icon names and descriptions. Icons appear alongside the built-in mood icons in the diary view.

The plugin works offline by default. It only makes network requests when you add a Daily quote API URL.

Daily Notes

Diary View uses Obsidian's daily notes configuration when available:

  • folder decides where notes are stored.
  • format decides the note filename pattern.

If no daily notes configuration is found, Diary View falls back to notes named YYYY-MM-DD.md at the vault root.

Installation

For local development or manual testing, copy these files into:

<Vault>/.obsidian/plugins/diary-view/

Required files:

  • main.js
  • manifest.json
  • styles.css

Then reload Obsidian and enable the plugin in Settings → Community plugins.

Development

Install dependencies:

npm install

Start the development build:

npm run dev

Create a production build:

npm run build

Inspiration

This plugin's notebook mood, diary-first interaction model, and page-turning presentation were inspired by Dear Diary:

Diary View is an Obsidian plugin built around local daily notes and vault frontmatter. It does not depend on Dear Diary at runtime.