Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Sentence Enhancers

garrett-is-a-swanngarrett-is-a-swann207 downloads

Enhances customization by adding additional contextual classes for use by plugins and themes.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates2

An Obsidian plugin that supplements the workspace/markdown editor node class lists with contextual information to enhance customization by snippets and themes.

sentence-enhancers-spongebob-gif

Classes

Sentence Enhancers will add classes to the workspace/a file's MarkdownView container element, prefixed with ose_/ose--. Users and theme-writers can use these classes to personalize the view of the notes.

Example:

For a very merry (and blinding) christmas!

.ose_december.ose_day-25 {
    background: red!important;
    *:nth-child(odd) {
        color: green!important;
    }
    *:nth-child(even) {
        color: white!important;
    }
}

Thankful for turkeys aplenty.

.ose_november.ose_thursday {
    &.ose_day-22, &.ose_day-23, &.ose_day-24, &.ose_day-25, &.ose_day-26, &.ose_day-27, &.ose_day-28 {
        *::after {
            content: "🦃"
        }
    }
}

Flash the workspace ribbon as a meeting reminder.

@keyframes flash {
    0% {
        background-color: var(--color-accent);
    }
    50% {
        background-color: color-mix(in srgb, var(--color-accent) 50%, var(--ribbon-background));
    }
    100% {
        background-color: var(--ribon-background);
    }
}

.ose_wednesday.ose_hour-12.ose_minute-30 .workspace-ribbon {
    transition: background-color 0.5s;

    animation-name: flash;
    animation-duration: 0.5s;
    animation-iteration-count: 3;
    animation-timing-function: ease-out;
    animation-fill-mode: forwards;
}

Wednesday-ify your notes, my dudes 🐸

.ose_april.ose_day-1.ose_wednesday::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    pointer-events: none;
    opacity: .15;
    background: url('https://i.kym-cdn.com/photos/images/original/001/091/264/665.jpg');
    background-repeat: no-repeat;
    background-size: 100% 100%;
}

Temporal Information

I add the following css classes for temporal information:

Month

Example: ose_january, ose_february, ose_march... etc


Day of the Week

Example: ose_monday, ose_tuesday, ose_wednesday... etc


Day of the Month

Example: ose_day-01, ose_day-02, ...ose_day-13... etc


Hour

Example: ose_hour-01, ose_hour-02, ...ose_hour-13... etc


Minute

Example: ose_minute-01, ose_minute-02, ...ose_minute-50... etc


Frontmatter Context

I add all metadata from the opened file's frontmatter as ose classes to the view container, as key-value, or path-to-key-value in the case of objects.

The big caveat being, to make sure all class names are valid, I apply the following transformation:

  • All (consecutive) spaces will be replaced with a -.
  • Any remaining invalid characters will be purged.
  • The string will be made lowercase (for consistency).

Ex, for the frontmatter:

type: Story
tags:
  - foo
  - bar
checked: true
status: In Progress
number: 42
a:
  nested:
     object:
        - value a!
        - value   b
        - [[value c]]

will become the classes:

  • ose--type-story
  • ose--tags-foo
  • ose--tags-bar
  • ose--checked-true
  • ose--number-42
  • ose--status-in-progress
  • ose--a-nested-object-value-a
  • ose--a-nested-object-value-b
  • ose--a-nested-object-value-c
HealthExcellent
ReviewSatisfactory
About
Add contextual CSS classes to workspace and Markdown view containers (prefixed ose_ / ose--) to expose temporal info like month, weekday, day-of-month, hour and minute. Use those classes in snippets or themes to style notes and workspace elements based on date/time context.
ThemingCSSDates
Details
Current version
0.0.1
Last updated
9 months ago
Created
10 months ago
Updates
2 releases
Downloads
207
Compatible with
Obsidian 0.15.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Sponsor
Ko-fi
Author
garrett-is-a-swanngarrett-is-a-swann
ko-fi.com/gswann
GitHubgarrett-is-a-swann
  1. Community
  2. Plugins
  3. Theming
  4. Sentence Enhancers

Related plugins

Style Settings

Adjust theme, plugin, and snippet CSS variables.

Day and Night

Automatically toggle themes between day theme and night theme on a set time schedule.

Minimal Theme Settings

Control the colors and fonts in Minimal Theme.

Admonition

Admonition block-styled content.

Hider

Hide interface elements such as tooltips, status bar, titlebar, and more.

Thino

Quickly capture memos and display them in the sidebar with a heatmap. (Closed source)

Custom Frames

Turn web apps into panes using iframes with custom styling. Also comes with presets for Google Keep, Todoist and more.

Share Note

Instantly share/publish a note, with the full theme and content exactly like you see in Obsidian. Data is shared encrypted by default, and only you and the person you send it to have the key.

Tasks

Track tasks across your vault. Supports due dates, recurring tasks, done dates, sub-set of checklist items, and filtering. Maintained by Clare Macrae and Ilyas Landikov, created by Martin Schenck.

Day Planner

Turn tasks from daily notes, the Tasks plugin, and calendars into time blocks on an editable timeline, with built-in time tracker.