Skip to content

patleeman/obsidian-open-in-new-tab

Repository files navigation

Obsidian Open In New Tab Plugin

NOTE

The way this plugin works is through hijacking the clicks for the file explorer. This means that it won't work for other parts of Obsidian like the quick switcher. This plugins is just a hack and Obsidian will need to implement the underlying functionality at the end of the day.

I'm not putting much effort into expanding on this plugin since it would essentially be a game of wackamole to hackily patch all potential use cases. If you'd like this functionality natively, I suggest submitting a feature request to Obsidian.

Introduction

This plugin does two things:

  1. In File Explorer, open all documents in a new tab.
  2. If the file is already open in an existing tab, make that tab active instead of opening up a new tab.

Relevant Obsidian forum thread

Props to scambier/obsidian-no-dupe-leaves.

How to use

  • Clone this repo.
  • npm i or yarn to install dependencies
  • npm run dev to start compilation in watch mode.

Releasing new releases

  • Update your manifest.json with your new version number, such as 1.0.1, and the minimum Obsidian version required for your latest release.
  • Update your versions.json file with "new-plugin-version": "minimum-obsidian-version" so older versions of Obsidian can download an older version of your plugin that's compatible.
  • Create new GitHub release using your new version number as the "Tag version". Use the exact version number, don't include a prefix v. See here for an example: https://github.com/obsidianmd/obsidian-sample-plugin/releases
  • Upload the files manifest.json, main.js, styles.css as binary attachments. Note: The manifest.json file must be in two places, first the root path of your repository and also in the release.
  • Publish the release.

You can simplify the version bump process by running npm version patch, npm version minor or npm version major after updating minAppVersion manually in manifest.json. The command will bump version in manifest.json and package.json, and add the entry for the new version to versions.json

Adding your plugin to the community plugin list

API Documentation

See https://github.com/obsidianmd/obsidian-api