GithubHelp home page GithubHelp logo

gasparschott / obsidian-continuous-mode Goto Github PK

View Code? Open in Web Editor NEW
60.0 4.0 2.0 20.81 MB

An Obsidian plugin that displays all open notes in a tab group as if they were a single continuous document (sometimes called "Scrivenings mode"). Features arrow navigation between notes, reorder notes with drag-and-drop of tab headers, sorting, more.

License: GNU General Public License v3.0

JavaScript 85.37% CSS 14.63%
files multiple-files notes obsidian plugin multiple-notes scrivenings sort open-all

obsidian-continuous-mode's Introduction

obsidian-continuous-mode

An Obsidian plugin that displays all open notes in a tab group as if they were a single continuous document (sometimes called "Scrivenings mode").
Features include open all notes in a folder, arrow navigation between notes, reorder notes via tab header drag-and-drop, sorting, more.

Features:

File and Editor Contextual Menus, Command Palette:

  • Toggle continuous mode in active tab group.
  • Show/hide note headers in active tab group.

File Explorer and Search Results menus:

The File Explorer contextual menu and the Search Result menu provide options for opening the contents of the selected folder or the search results in Continuous Mode:

  • Open items in new split (left, right, up, down).
  • Open or append items in active tab group; files will not be duplicated if they are already open.
  • Replace files in active tab group with files from the selected folder (i.e., close all open notes in active tab group and replace with folder items).
    Filter folder files by type (e.g., markdown, images, canvas, etc.), extension, or file name in the Settings.
    Sort order is respected when opening folders. Once opened, sort order does not update when it is changed in the file explorer; reopen the folder in Continuous Mode to accomplish this.
    Opening folders is not recursive—only the top level notes will be opened.

Other functions:

  • Automatically save and restore continuous mode tab group settings when shutting down/starting up Obsidian.
  • Navigate between notes with up and down arrow keys (and left and right arrow keys if at the beginning or end of the note).
    • Also use left and right arrow keys to scroll html notes or jump from page to page in pdfs.
    • If editing a canvas file (i.e., canvas leaf is active), click the background to deselect any active node and use the up and down arrow keys to navigate to the adjacent note.
    • Similarly use the arrow keys to navigate out of an active graph view. Use shift+arrow keys to move the graph around.
  • While editing notes, the insertion point will scroll so as to remain more or less in the center of the screen, similar to “typewriter mode”; this behavior can be disabled in the settings.
  • Scroll notes into view by clicking the tab header. Note: scroll into view fails when clicking the tab headers the first time, and before the note has been scrolled into view at least once. This appears to be an issue with Obsidian.
  • Reorder notes in tab group via tab header drag-and-drop.

User Settings:

  • “Open folder in Continuous Mode” menu options: Filter folder files by type (e.g., markdown, images, canvas, etc.), extension, or file name.
  • “Clear stored data”: Empty the list of stored tab groups, ignoring currently open tab groups with continuous mode active. This optional action prevents the list from getting unwieldy or cluttered with stale data, which can happen if you frequently open and close new tab groups.
  • Disable scroll active leaf into view: If you find the plugin’s default scroll behavior on arrow navigation (which keeps the insertion point more or less centered by line/paragraph, similar to “typewriter mode”) distracting, enable this setting. Clicking tab headers will still scroll notes into view.
  • Donate link.

Notes:

  • If you use the "Open folder in Continuous Mode" functions to open all the notes in a folder, the tab group will not reflect any changes you make to the folder structure in the file explorer. If you do make any changes (e.g., move, create, or delete a note), you'll have to reopen the folder to see the updated structure.

Buy me a coffee:

Buy Me A Coffee

Screenshots:

<# After #>

obsidian-continuous-mode's People

Contributors

gasparschott avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

obsidian-continuous-mode's Issues

[FR] Reduce to paragraph

I hope to provide a function similar to reducing the displayed content in canvas to specific paragraphs

[bug] problem with displaying of canvas type files

Hi, great plugin, at first I didn't realize how much it will be useful for me!

There is currently problem with .canvas files - as they are per definition infinite, if they are open in a tab, scrolling through stacked tab group with them actually start scroll through canvas internally (infinite white space) making it really hard to use.

Ideas of solution:

  1. Use fixed/locked view of canvas (don't scroll through canvas "internally within canvas", fix the view based on current elements, only double click or other user action will allow to change the default view within canvas, in addition to view of canvas within stacked tabs) - it might be hard to implement
  2. Exclude .canvas type file from stack (or allow user to exclude them by decision in settings) - might be a bit easier to implement

I am on Obsidian 1.5.11 on MacOS.

Find across all notes in continuous view

If I try to open find, cmd + f, I can only find on a single note.

This plugin would be crazy powerful if you could find across all notes in the continuous view instead of one at a time.

Display all notes from a folder (eg. Daily notes)?

This looks great!

A suggestion - is it possible to add a functionality to display all notes from a certain folder with some date filter? For example display all notes from Daily notes folder from February 2024?

New tab group not recognized as active

Great plugin!

Here's my issue:

  1. I have three tabs open, then I open a new tab group and open 3 tabs in that second tab group.
  2. I select or start working on a note in the new tab group. (Doesn't that mean that the new tab group is then "active"?)
  3. In the new tab group, I select "Toggle Continuous Mode" (with the command palette OR the tab-level chevron OR the three dots at the top right of the note.
  4. Continuous mode is not toggled on – not in either tab group.
  5. If I select a tab in the original tab group, I'm able to toggle continuous mode on for that tab group.
  6. If I close that original tab group entirely (so that there is only one tab group), and I try to toggle continuous mode on, it doesn't work.

So, there seems to be a problem with the way the plugin works with tab groups.

[BUG] I can't install the latest version 1.20

I can't install the latest version 1.20

I've tried doing it in the sandbox vault to the same result.

this is what I get in the console when I try to update.

app.js:1 Obsidian Developer Console
app.js:1 Error: Request failed, status 404
    at new t (app.js:1:1978461)
    at UG (app.js:1:1978653)
    at app.js:1:1979330
    at app.js:1:237056
    at Object.next (app.js:1:237161)
    at a (app.js:1:235879)
(anonymous) @ app.js:1

Tab group menu trigger only works on active tab group

The tab group menu can be triggered on non-active tab groups, so using it on any tab group will only affect the last one the user clicked on (whether that's the one that the user opened the menu for or not).

This PR had a solution for this that moved the logic for getting the tab group id outside the toggle continuous mode function (line 209).

In new window not working

Thanks for the new update.
I have a problem. In a new window the toggle continous mode doesn't work.
But it's working in the main window.
Here is the error in the console:
kjdfhgkfr

Sidebar icons and tabs buggy since last update

How to reproduce:

  1. open a sandbox vault
  2. install continuous mode
  3. hover mouse cursor over the left sidebar icons on top > flashing icons
  4. hover mouse cursor over tabs in the middle > flashing icons
  5. same with right sidebar icons on top > flashing icons

I think some CSS might be wrong here.

Notes in a new window don't seem to work in continuous mode

I tried putting a group of notes into a new window Open current tab in new window, and then opening or dragging more notes into that new window.

The "Toggle continuous mode in active tab group" doesn't appear to work when run from this window.

A comment I made on Reddit explains what I'm trying to do:

One thing I really wish for is for a way to open an arbitrary list of notes in a single tab. Because I have some tabs always open, like Kanban projects. So ultimately, there is nowhere for me to put this view without including those Kanbans in the view, or crowding the window with split groups. It would be amazing to store a few different continuous views, all side by side in tabs you can switch between.

[FR] Display current note and links within in continuous mode?

Really nice work you've done on this.

Sometimes it would be useful (without embedding notes one by one) to just hit continuous mode and have it show the current note and all links within as one. Would be helpful with seeing how everything fits from a meta index note when building out structure. Not sure it's in your workflow, but thanks for considering it.

[BUG] large images without specified width overflows (`is-readable-line-width`)

obsidian version: v1.5.11

Thank you for the great plugin, but I think I spotted a bug in the preview mode.

When you add an image (e.g. 1000x1000) in the note without specifying the width, obsidian's default setting displays the image correctly because max-width: var(--img-max-width) is applied in the image.

image

But when continous-mode is enabled and preview it (edit mode displays it fine), it overrides the max-width and displays the 100% width overflowing the readable line width:

in continous-mode - preview:
image


I've checked the code and --file-margins value doesn't seem to be passed down correctly from the parent element, because it's just setting the image's max-width as 100%

workspace-tabs.is_continuous_mode:not(.mod-stacked) .markdown-preview-view img:not([width]), .markdown-rendered img:not([width]) {
    max-width: calc(100% - 2*var(--file-margins));
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.