Skip to content

About

Stash plugin source (installable via Settings > Plugins > Sources). Currently: collection-colors.

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

95 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

stash-plugins

A stash plugin source — install any plugin below directly from Settings → Plugins → Sources, or clone the one you want and symlink it into your plugins/ folder for development.

Install as a source

Add this URL under Settings → Plugins → Sources:

https://org0ne.github.io/stash-plugins/stable/index.yml

Stash will list every plugin in this repo, ready to install with one click.

Plugins

Plugin Description
collection-colors Adds an identifying "Pill" to the scene cards and scene details. Uses the parent Library folder, which is auto-discovered — no hardcoded paths. Useful if you have Censored, Uncensored, Decensored, etc parent folders in your JAV Library
copy-buttons Click-to-copy buttons for performer names, performer disambiguations, and studio codes.
jasna-switch Adds a JASNA ON/OFF toggle to the scene player that swaps playback to a live Jasna restored HLS stream and back, preserving position. Stash stays stock; Jasna can run on another host.
jav-nfo-refresh Refreshes Japanese-source metadata for tagged scenes from javstash.org, libredmm.com and jav321.com: original title/description into custom fields, optional English translation, scraped genres as tags, and the same data mirrored into the .nfo sidecar next to the video file.
jav-layout Full Stash layout modification based on Dracula color scheme. Cards, buttons, layouts, etc are all touched and massaged into a more coherent layout. Additional nicities for JAV collectors include promoting performer names, studio codes and original titles to a more visible and prominent location whenever possible.
title-scrubber Strips performer name and bracketed identifiers from scene titles. This is a very me-specific need, but it is provided as a plugin if you happen to structure your titles as {Performer name} - {[Uncensored,Censored,Decensored,etc]} Title {[Studio Code]}

Repo structure

plugins/
  <plugin-id>/
    <plugin-id>.yml   <- manifest; filename (minus .yml) IS the plugin id
    <plugin-id>.js
    <plugin-id>.css
    README.md
    LICENSE

Each plugin is self-contained and independently zipped — nothing here requires another plugin in this repo, unless its manifest's ui.requires says otherwise.

How the source is built

build_site.py scans plugins/*/, and for each plugins/<id>/<id>.yml it finds:

  1. reads name/description/version from the manifest,
  2. zips every file in that plugin's directory,
  3. records the zip's sha256 and the last git commit touching that directory (for the build-suffixed version and date),
  4. writes one index.yml covering every plugin found.

.github/workflows/deploy.yml runs that on every push to main and publishes the result to GitHub Pages — same index schema stashapp/CommunityScripts uses, so any stash instance that already has a source like that configured can add this one the same way.

Adding a new plugin

  1. mkdir plugins/<new-id> and put <new-id>.yml (+ .js/.css as needed) in it — the manifest filename must match the directory name.
  2. Add a row to the table above.
  3. Push to main. The Actions workflow rebuilds and republishes the index automatically — nothing else to do.

Local development

Symlink a plugin's folder into your stash instance's plugins directory so edits land without reinstalling:

ln -s /path/to/stash-plugins/plugins/collection-colors /path/to/stash/config/plugins/collection-colors

Then in stash: Settings → Plugins → Reload Plugins after adding or renaming a file; a browser refresh alone picks up CSS/JS edits.

About

Stash plugin source (installable via Settings > Plugins > Sources). Currently: collection-colors.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages