gaspar_schot / Supercharged Local Directory File Browser

Published:

Version: 3.2.4+ba3d1dd updated

Summary: Makes file:/// directory ("Index of...") pages (and many server-generated index pages) actually useful. Adds sidebar and preview pane, keyboard navigation, audio and video player, markdown/plain text preview and editing, image and font previews and grid views, sorting, user-defined shortcuts, more.

Groups:

Homepage: https://openuserjs.org/scripts/gaspar_schot/Supercharged_Local_Directory_File_Browser

License: GPL-3.0-or-later

VERSION 3.2.4 More Markdown goodness.
ADDED: Multimarkdown table syntax (https://github.com/RedBug312/markdown-it-multimd-table).
ADDED: Markdown ->centered text<- (https://github.com/jay-hodgson/markdown-it-center-text).
ADDED: Markdown definition lists (https://github.com/markdown-it/markdown-it-deflist; for syntax, see http://pandoc.org/MANUAL.html#definition-lists).
ADDED: Github Markdown styles for preview (https://github.com/sindresorhus/github-markdown-css), with a few customizations.
IMPROVED: Allow checkboxes in definition lists (in both term and details).
FIXED: Various issues with checkboxes and live updating.
FIXED: Allow empty text files to be edited.
FIXED: Markdown preview: Clicking up arrow on hovered header will scroll to TOC inserted with ${toc} (if present) or to top of previewed text (wasn't working before).
FIXED: Some longstanding bugs with image grid display.
FIXED: A longstanding bug with clicking left and right arrows in preview pane; only images and fonts should be selected.
OTHER: Improved documentation.

VERSION 3.2.3 Markdown extensions
ADDED: Markdown TOC ( ${toc} ) (https://github.com/nagaozen/markdown-it-toc-done-right).
ADDED: Markdown footnotes (https://github.com/markdown-it/markdown-it-footnote).
ADDED: Markdown subscript ( ~sub~ ) (https://github.com/markdown-it/markdown-it-sub).
ADDED: Markdown superscript ( ^sup^ ) (https://github.com/markdown-it/markdown-it-sup).
IMPROVED: Markdown: added basic HTML head and body elements on saving rendered text.
IMPROVED: Markdown: made sync-scrolling proportional.
IMPROVED: Markdown table styling.
OTHER: Added 'opus' to the default list of supported audio formats.

VERSION 3.2.2 More bug fixes.
FIXED: Source text was being interpreted as HTML.
FIXED: Checkboxes added to markdown weren't "live."
IMPROVED: Live preview update on input.
IMPROVED: Nested blockquote styling.

VERSION 3.2.1
FIXED: A bad bug with saving source text.
IMPROVED: Made text split-view resizable.
IMPROVED: Various UI tweaks for text editing.

VERSION 3.2.0
NEW!: Preview, edit, and save Markdown and plain-text files. (Now how much would you pay? Or donate? :-)
    • Basic Markdown syntax is rendered via markdownit.js.     • View editable source text or rendered HTML preview, or both in split pane (with optional sync scroll).
    • Live preview of source edits in split-pane view.
    • Render Checkboxes/Checklists with [x] and [ ], with live updating of source text.
    • Save edited source text or rendered HTML.
    • More to come.
    • Caveat: You must manually save your work if you want to keep it; autosave is not possible.
        Moreover, because of security concerns with local files, the editing iframe cannot communicate with the parent index page, or vice versa.
        * It is therefore entirely possible to navigate away from the page and LOSE YOUR WORK. *         To help prevent loss of work, the script will attempt to warn you when the editing pane loses focus (if you have made any edits), e.g., when you click in the script sidebar or in the browser UI, or when the browser tab/window or the browser itself loses focus. But note that if the editing pane is already unfocused, the warning will not be issued.
ADDED: New user settings: set default view for markdown/text files: source or preview, or split pane view. See user settings for details.
IMPROVED: Plain text and code file type detection.
CHANGED: Treat files without extensions as text (code) files. (Extension-less binary files will still initiate a download.)
FIXED: Malformed URI error if file name included "%".
FIXED: Some issues with image zoom.
FIXED: An issue with content pane sizing.
FIXED: An issue with parent directory navigation.

ABOUT
This script transforms the default local directory page (and many server-generated index pages) into a full-featured file browser, with a resizable sidebar and preview pane. (See screenshots below.)

If you like this script, please consider making a donation to encourage development. Thanks!

FEATURES INCLUDE:

  • Resizable sidebar and directory/file preview pane.
  • Arrow navigation in sidebar:
    • Up and Down Arrows select next/prev item.
    • Left and Right Arrows select next/prev item of same type.
  • Navigate sidebar by typed string.
  • Show/Hide file details (size (if avail), date modified (if avail), kind, extension).
  • Sort sidebar items by name or file details.
    • Default sort = sort by name with folders on top.
  • Preview all file types supported by browser (html, text, images, pdf, audio, video) plus fonts.
  • Preview and edit markdown and plain text files.
  • Audio and video playback, with shuffle, loop, skip audio +/- 10 or 30 sec via keyboard.
    • Preview other files (e.g., lyrics or cover art) in same directory while playing audio.
    • User setting to autoload cover art (if any images in directory, load "cover.ext" or first image found)
  • Grid view for images and fonts.
  • User settings (see $settings in code; some settings can be changed via the main menu in the UI and will be remembered in URL query):
    • Light or Dark theme.
    • Bookmarks for local or remote directories.
    • Default image grid size.
    • Default UI font size and font-family.
    • Default UI font and font-size.
    • Default file sorting.
    • Sort with directories on top.
    • Treat apps as directories (MacOS and *nix only)
    • Show or hide invisible files.
    • Show or hide ignored files in the ignored files list (see $row_settings in code below $settings).
    • Show or hide file details.
    • Use custom file icons or browser defaults.
    • Autoload index.ext files.
    • Autoload cover art in directories with audio files.
    • Text editing default view: split, source, or preview.
    • Text editing sync scroll: on or off.

IMPORTANT NOTES:

  • After installing, you should look at the "User Settings" section in the code near the top of the script (ca. line 60). There you can edit the shortcut menus and set defaults for many UI features. There is additional information about each setting in the comments.

  • This script was developed primarily to work with local files. Because of security concerns, userscripts running in local files are not allowed to set cookies or use local storage. Therefore the User Settings must be hard-coded into the script, which means they will be overwritten every time the script is updated. To ease the inconvenience of this, you can export your settings from the main menu as a text file.

  • Also, userscripts will not run on file:/// urls by default, so for this script to work, you will have to enable it in your browser extension settings (e.g.: For Tampermonkey in Chrome, go to Chrome the extension page, click the details button on the Tampermonkey pane and check 'Allow access to file URLs'). Safari does not allow local directories to be browsed, so the script will not work on local directories, but it will work on remote directories (or on local directories through a local server).

  • The script works on many server-generated index pages, too. Just add an @include line for each url at the top of the script.

  • This script was developed in Vivaldi, running on Mac OS High Sierra. It has been tested in several other Chrome and Gecko-based browsers. It has been very minimally tested on Windows and not at all on other OSes or browsers. It should work, but please report any issues. No attempt has been made to support older browsers.

KEYBINDINGS (These don't work in all browsers):

  • Arrow Up/Down: Select prev/next item.
    • If audio is playing, and prev/next file is also audio, it will be highlighted but not loaded in the audio player; press return to load it.
  • Arrow Left/Right: Select prev/next row of the same kind as the current selection.
    • If current selection is a media file, select and begin playback of the next media item.
  • Opt/Alt + Arrow Left/Right: Skip audio ±10s
  • Opt/Alt + Shift + Arrow Left/Right: Skip audio ±30s
  • Cmd/Ctrl + Arrow Up: Go to parent directory
  • Cmd/Ctrl + Arrow Down: Open selected directory
  • Return: Open selected directory, select file, or pause/play media.
  • Space: Pause/Play media files
  • Cmd/Ctrl + D: Toggle file details (size, date modified) in some index page types.
  • Cmd/Ctrl + G: Show or Reset Grid
  • Cmd/Ctrl + I: Toggle Invisibles
  • Cmd/Ctrl + Shift + O: Open selected item in new window/tab
  • Cmd/Ctrl + R: Reload grids and previewed content, reset scaled images/fonts, reset media files to beginning.
  • Cmd/Ctrl + W: Close previewed content (doesn't work in all browsers; use close button instead), or close window if no content is being previewed.
  • Cmd/Ctrl + Shift + < or >: Scale preview items and grids.

Before
Before

After with dark theme and image grid
After with dark theme and image grid

Audio player with dark theme and cover art
Audio player with dark theme and cover art

Light theme with image and font grid
Light theme with font and image grid

Markdown editing and preview
Markdown editing and preview

Rating: 1

1 Votes
-1