Bases Lock

by lucas
5
4
3
2
1
Score: 35/100

Description

This plugin has not been manually reviewed by Obsidian staff. Hides the action bar at the top of the Bases view.

Reviews

No reviews yet.

Stats

stars
603
downloads
0
forks
14
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

banner

A small Obsidian plugin to hide the Obsidian Bases toolbar and lock header interaction on demand.
You can quickly switch the state by clicking the Lock / Unlock button.

Note: The plugin only works in Reading view.

1

⬇️ Installation

You can install this plugin directly from Obsidian’s community plugins browser:

  1. Open Obsidian and go to Settings → Community plugins
  2. Select Browse and search for “Bases lock”
  3. Click Install, then enable the plugin

You can also install it directly from the community plugins page:
Install from community plugins

Manual install (local/dev build)

  1. Create the plugin folder inside your vault:
<Vault>/.obsidian/plugins/obsidian-bases-lock/
  1. Copy these files into that folder:

    • main.js
    • manifest.json
  2. Open Obsidian:

    • Go to Settings → Community plugins → Installed plugins
    • Enable Bases Lock
  3. Make sure the official Bases core plugin is enabled.

⭐ Usage

  1. Move your mouse over a Base; a locked button will appear.
  2. Click it to toggle lock / unlock.

Development & build

  • Install dependencies:
npm install
  • Development mode (watch build):
npm run dev
  • Production build:
npm run build

After building, the latest main.js will be generated in the plugin root folder for Obsidian to load.

Notes

  • The plugin only renders the button and controls toolbar / header behavior in Reading view.
  • The selectors (such as .bases-toolbar, .bases-header, .bases-thead, etc.) depend on the current Obsidian Bases DOM structure:
    • If a future Obsidian update changes these classes, you can inspect the actual classes via DevTools and adjust the selectors in styles.css.
  • The plugin only looks at the .base embed syntax (|x / |o) in the current document and does not scan or modify other notes.

Design rationale

Assume src/a.base is embedded in any of the following forms:

  • ![[src/a.base]]
  • ![My Base](https://raw.githubusercontent.com/tcyeee/obsidian-bases-lock/HEAD/src/a.base)
  • ![My Base|o](https://raw.githubusercontent.com/tcyeee/obsidian-bases-lock/HEAD/src/a.base)
  • ![My Base|x](https://raw.githubusercontent.com/tcyeee/obsidian-bases-lock/HEAD/src/a.base)

After clicking the button:

  • From unlocked → locked
    • Any of the forms above will be normalized to:
![My Base|x](https://raw.githubusercontent.com/tcyeee/obsidian-bases-lock/HEAD/src/a.base)
  • If there was no display name (for example ![[src/a.base]]), the file name (without the .base suffix) will be used:
![[src/a.base]]  →  ![a|x](https://raw.githubusercontent.com/tcyeee/obsidian-bases-lock/HEAD/src/a.base)
  • From locked → unlocked
    • If the current syntax is ![My Base|x](https://raw.githubusercontent.com/tcyeee/obsidian-bases-lock/HEAD/src/a.base), it will be changed to:
![My Base|o](https://raw.githubusercontent.com/tcyeee/obsidian-bases-lock/HEAD/src/a.base)

At the same time:

  • x → hide toolbar + disable .bases-thead click, button text shows locked
  • o → restore toolbar and header interaction, button text shows unlocked