Retire builder (#118)

This commit is contained in:
DogmaDragon 2025-11-22 15:53:15 +02:00 committed by GitHub
parent 086bff949c
commit e9350b166d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
39 changed files with 25 additions and 1373 deletions

View File

@ -13,10 +13,8 @@ permissions:
jobs: jobs:
deploy: deploy:
if: github.repository == 'stashapp/Stash-Docs' # Replace with your repository details if: github.repository == 'stashapp/Stash-Docs'
runs-on: ubuntu-latest runs-on: ubuntu-latest
env:
BUILDER_GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -32,19 +30,7 @@ jobs:
with: with:
python-version: 3.x python-version: 3.x
- uses: actions/setup-node@v4 - run: pip install \
- name: "Builder setup"
run: |
npm i
npm i -g ts-node
cd builder
mkdir dist dist/plugins dist/themes
ts-node build.ts
cp dist/plugins/* ../docs/plugins/list.md
cp dist/themes/* ../docs/themes/list.md
- run: pip install \
mkdocs-material=="9.*" \ mkdocs-material=="9.*" \
mkdocs-rss-plugin \ mkdocs-rss-plugin \
mkdocs-git-revision-date-localized-plugin \ mkdocs-git-revision-date-localized-plugin \
@ -52,5 +38,5 @@ jobs:
mkdocs-glightbox \ mkdocs-glightbox \
mkdocs-material[imaging] \ mkdocs-material[imaging] \
mkdocs-redirects mkdocs-redirects
- run: mkdocs gh-deploy --force - run: mkdocs gh-deploy --force

View File

@ -1,9 +1,12 @@
# Stash-Docs # Stash-Docs
Website: https://docs.stashapp.cc Website: https://docs.stashapp.cc
## Join Our Community ## Community support
We are excited to announce that we have a new home for support, feature requests, and discussions related to Stash and its associated projects. Join our community on the [Discourse forum](https://discourse.stashapp.cc) to connect with other users, share your ideas, and get help from fellow enthusiasts. - **Forum:** [discourse.stashapp.cc](https://discourse.stashapp.cc) - Primary place for community support, feature requests, and discussions.
- **Discord:** [discord.gg/2TsNFKt](https://discord.gg/2TsNFKt) - Real-time chat and community support.
- **Lemmy:** [discuss.online/c/stashapp](https://discuss.online/c/stashapp) - Community discussions.
## Contributing ## Contributing
@ -11,24 +14,29 @@ Everyone is welcome to help with the documentation. All changes are managed thro
Read step-by-step guide on how to create a pull request [CONTRIBUTING.md](CONTRIBUTING.md). Read step-by-step guide on how to create a pull request [CONTRIBUTING.md](CONTRIBUTING.md).
## Running locally with pip ## Local development
### Prerequisites ### Prerequisites
- Python modules - Python modules:
- `mkdocs-material=="9.*"` - `mkdocs-material=="9.*"`
- `mkdocs-git-revision-date-localized-plugin` - `mkdocs-git-revision-date-localized-plugin`
- `mkdocs-git-committers-plugin-2` - `mkdocs-git-committers-plugin-2`
- `mkdocs-glightbox` - `mkdocs-glightbox`
- `mkdocs-material[imaging]` - `mkdocs-material[imaging]`
- `mkdocs-redirects` - `mkdocs-redirects`
- Install all with `pip install mkdocs-material=="9.*" mkdocs-git-revision-date-localized-plugin mkdocs-git-committers-plugin-2 mkdocs-glightbox mkdocs-material[imaging] mkdocs-redirects`
- Clone/download the repository Install all dependencies with:
```bash
pip install mkdocs-material=="9.*" mkdocs-git-revision-date-localized-plugin mkdocs-git-committers-plugin-2 mkdocs-glightbox "mkdocs-material[imaging]" mkdocs-redirects
```
### Building the site ### Building the site
1. Open Terminal/Command Prompt and go to your directory where you saved the copy of the repository
1. Open command-line interface and go to your directory where you saved the copy of the repository
2. Run `mkdocs serve` 2. Run `mkdocs serve`
## License ## License
The documentation site is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. The documentation site is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.

View File

@ -1,124 +0,0 @@
import axios from 'axios'
import YAML from 'yaml'
import * as fs from 'fs';
import * as path from 'path';
import { LocalCollection, LocalRepository, LocalSidecar, RemoteIndex, RemotePlugin } from './types'
import { Plugin } from './plugin'
import { infoLog, warnLog } from './utils'
import { debuglog } from 'util';
// iterate over folder
async function searchRepository(pathName: string = "plugins"): Promise<Plugin[]> {
const repoPath = path.resolve(`./repositories/${pathName}`)
const repoFiles = fs.readdirSync(repoPath)
const repositories: LocalRepository[] = []
// find all files
repoFiles.forEach(file => {
if (file.endsWith(".yml")) {
const fileData = fs.readFileSync(`${repoPath}/${file}`, 'utf8')
const localRepo: LocalRepository = YAML.parse(fileData)
// set name to filename if not defined
if (!localRepo.name) localRepo.name = file.replace(".yml", "")
repositories.push(localRepo)
}
})
// iterate over repositories
const plugins: Plugin[] = []
for (const repo of repositories) {
const plugin = await parseRepository(repo)
plugins.push(...plugin)
}
// fetch all readmes of plugins
const readmePromises = plugins.map(plugin => plugin.checkReadme())
await Promise.all(readmePromises)
// sort plugins and print to md
const sortedPlugins = plugins
.sort((a, b) => a.name.toLowerCase().localeCompare(b.name.toLowerCase()))
return sortedPlugins
}
function printPlugins(outputName: string, sortedPlugins: Plugin[]) {
// create folder if not exists
if (!fs.existsSync(`./dist`)) fs.mkdirSync(`./dist`, { recursive: true })
if (!fs.existsSync(`./dist/${outputName}`)) fs.mkdirSync(`./dist/${outputName}`, { recursive: true })
// print to file
const outputPath = `./dist/${outputName}/list.md`
const stream = fs.createWriteStream(outputPath)
stream.write(`# Browse ${outputName} \n\n`)
stream.write(getSourceIndexes(sortedPlugins))
stream.write(`## All ${outputName} \n\n`)
// iterate over plugins
for (const plugin of sortedPlugins) {
stream.write(plugin.printMD())
stream.write("\n")
}
stream.end()
}
function getSourceIndexes(plugins: Plugin[]): string {
const indexes = Array.from(new Set(plugins.map(plugin => plugin.index))).sort((a, b) => a.localeCompare(b));
return `
## Sources
${indexes.map(index => `1. [${index}](${index})`).join('\n')}
`;
}
async function parseRepository(localRepository: LocalRepository): Promise<Plugin[]> {
// load from parsed
const repoDefaults: LocalCollection = localRepository.collection
const repoSidecars: LocalSidecar[] = localRepository.scripts
// grab from index.yml
const indexData: RemoteIndex = await axios.get(repoDefaults.index)
.then(res => YAML.parse(res.data))
// iterate over remote index and match with sidecars
const indexPlugins: Plugin[] = []
const idxMissingScar: Set<RemotePlugin> = new Set()
const allIdx: Set<RemotePlugin> = new Set()
for (const index of indexData) {
const sidecarMatch = repoSidecars.find(sidecar => sidecar.id == index.id)
if (sidecarMatch) {
if (sidecarMatch.id == "example") continue // if example, skip
else if (sidecarMatch.hide) { // skip but warn if hidden
debuglog(`Skipping hidden plugin: ${index.name}`)
continue
} else allIdx.add(index) // add to sidecars
} else { // sidecar not found
if (repoDefaults.exclusive) continue // if exclusive, skip
idxMissingScar.add(index) // add to missing
}
const plugin = new Plugin(repoDefaults, sidecarMatch, index)
indexPlugins.push(plugin)
}
// check if there are leftover sidecars
// not named example
// not in indexPlugins and not hidden
const extraSidecars = repoSidecars.filter(sidecar => sidecar.id != "example" && !sidecar.hide && !indexPlugins.find(plugin => plugin.id == sidecar.id))
if (extraSidecars.length > 0) {
warnLog(`Found ${extraSidecars.length} extra sidecars in ${localRepository.name}`)
extraSidecars.forEach(sidecar => warnLog(` ${sidecar.id}`))
}
// check for plugins without sidecars
const missingSCars = Array.from(idxMissingScar).filter(plugin => allIdx.has(plugin))
if (missingSCars.length > 0) {
infoLog(`Found ${missingSCars.length} missing sidecars in ${localRepository.name}`)
missingSCars.forEach(sidecar => infoLog(` ${sidecar.name}`))
}
return indexPlugins
}
async function run() {
// generate themes first then exclude
const themes = await searchRepository("themes")
printPlugins("themes", themes)
// generate plugins with themes excluded
const plugins = await searchRepository("plugins")
// remove themes from plugins
const filteredPlugins = plugins.filter(plugin => !themes.some(theme => theme.id == plugin.id))
printPlugins("plugins", filteredPlugins)
console.log("finished building plugin index")
}
run()

View File

@ -1,100 +0,0 @@
import * as utils from './utils'
import { LocalCollection, LocalSidecar, RemotePlugin } from './types'
import axios from 'axios'
const authClient = axios.create({
baseURL: 'https://api.github.com',
headers: {
'User-Agent': "feederbox826/stash-docs-builder v1.0.0",
'Accept': 'application/vnd.github.object+json',
'Authorization': `Bearer ${process.env.BUILDER_GH_TOKEN}`
}
})
const statusIsOK = (status: number): boolean => status == 200 || status == 302 || status == 304
export class Plugin {
id: string // internal id of plugin
name: string // display name of plugin
description: string // description of plugin if available
index: string // index url of collection
repo: string // repository of collection
author: string // author of plugin
path: string // path to plugin in repository
screenshots: string[] // screenshots of plugin
readme: string | boolean | undefined // readme file
base_path: string // path to plugins/ folder
repo_path: string // path to repository in the format of owner/repo
constructor(defaults: LocalCollection, sidecar: LocalSidecar | undefined, index: RemotePlugin) {
this.id = index.id
this.name = index.name
this.description = index?.metadata?.description
?? sidecar?.description
?? "No Description Provided"
this.index = defaults.index
this.repo = defaults.global_repo
this.author = sidecar?.author
?? defaults?.global_author // fall back to global author
?? "No Author" // if no author
this.path = sidecar?.path
?? index.id // default to ID
this.screenshots = sidecar?.screenshots ?? []
this.readme = defaults?.global_readme ?? sidecar?.readme // readme file
this.base_path = defaults.base_path ?? "main/plugins"
this.repo_path = `${this.base_path}/${this.path}`
}
async checkReadme(): Promise<void> {
// test readme if undefined
if (this.readme === undefined) {
this.readme = await authClient.get(`/repos/${this.repo}/contents/${this.repo_path}/README.md`, {
validateStatus: status => statusIsOK(status) || status == 404
})
.then(res => statusIsOK(res.status))
}
}
printMD() {
// pre prepared values
const folderPath = `https://github.com/${this.repo}/tree/${this.repo_path}`
const filePath = `https://github.com/${this.repo}/blob/${this.repo_path}`
// if false, no readme
// if true, default readme
// otherwise, follow path or url
const readme = typeof(this.readme) == "string" // if readme is string
? this.readme.includes("http") // if link, add target blank
? `View [README](${this.readme}){target=_blank}`
: `View [README](${filePath}/${this.readme}){target=_blank}`
: this.readme // readme is boolean
? `View [README](${filePath}/README.md){target=_blank}` // default path
: "No README available"
const screenshots = this.screenshots
.map(screenshot => `![${this.name} screenshot](${screenshot}){ loading=lazy } `)
.join("")
// ugly formatted markdown
return `
### [${this.name}](${folderPath}){target=_blank}
=== "Description"
${utils.sanitizeMD(this.description)}
=== "Source URL"
\`\`\`
${this.index}
\`\`\`
=== "README"
${readme}
=== "Author"
${this.author.replace(/(\[.+\]\(http.+\)(?:,|\r|\n|\r\n))/g, "{target=_blank}")}
=== "Screenshots"
${screenshots}`
}
}

View File

@ -1,37 +0,0 @@
name: Repository name
collection:
# index url for your repo
index: https://ghost.github.io/stash-plugins/main/index.yml
# github url of the repo - github.com/username/repo-name
global_repo: ghost/stash-plugins
# author of all plugins in the repo (OPTIONAL)
global_author: "[ghost](https://github.com/ghost)"
# link to readme if it applies to all scripts within the collection
global_readme: "https://example.com/stash-plugins/README.md"
# branch/path within the folder structure
base_path: main/plugins
# entries not in the sidecar are excluded
exclusive: true
scripts:
# internal id of the plugin
- id: my-first-stash-plugin
# path if it is not at base_path/id
path: CoolPlugin
# description (OPTIONAL)
description: My first plugin
# readme, if not at base_path/id/README.md
# if left empty, will try to search at the location
readme: "https://example.com/stash-plugins/README.md"
# override author from global_author
author: "Ghost, Casper"
# list of links to images of screenshots
screenshots:
- https://example.com/stash-plugins/CoolPlugin/demo.png
- https://example.com/stash-plugins/CoolPlugin/usage.png
- https://example.com/stash-plugins/CoolPlugin/settings.png
# if plugin should be hidden from generate index
# this should only be set if the plugin is a backend dependency
# is in a completely broken state and wholly incompatible
# or has been deprecated and should not be used
hide: true

View File

@ -1,127 +0,0 @@
collection:
index: https://7djx1qp.github.io/stash-plugins/main/index.yml
global_repo: 7dJx1qP/stash-plugins
global_author: "[7dJx1qP](https://github.com/7dJx1qP)"
base_path: main/plugins
scripts:
- id: example
path: PluginName
description: "New description"
readme: https://github.com/ghost/PluginName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
# id only
- id: stashOpenMediaPlayer
# dependencies
- id: stashUserscriptLibrary7dJx1qP
hide: true
# screenshots
- id: stashBatchQueryEdit
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Batch%20Query%20Edit/config.png
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Batch%20Query%20Edit/scenes-tagger.png
- id: stashBatchResultToggle
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Batch%20Result%20Toggle/config.png
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Batch%20Result%20Toggle/scenes-tagger.png
- id: stashBatchSave
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Batch%20Save/scenes-tagger.png
- id: stashBatchSearch
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Batch%20Search/scenes-tagger.png
- id: stashMarkdown
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Markdown/tag-description.png
- id: stashMarkersAutoscroll
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Markers%20Autoscroll/scroll-settings.png
- id: stashNewPerformerFilterButton
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20New%20Performer%20Filter%20Button/performers-page.png
- id: stashPerformerAuditTaskButton
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Performer%20Audit%20Task%20Button/performers-page.png
- id: stashPerformerCustomFields
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Performer%20Custom%20Fields/custom-fields-view.png
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Performer%20Custom%20Fields/custom-fields-view-compact.png
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Performer%20Custom%20Fields/custom-fields-edit.png
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Performer%20Custom%20Fields/performer-details-edit.png
- id: stashPerformerImageCropper
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Performer%20Image%20Cropper/performer-image-cropper.png
- id: stashPerformerMarkersTab
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Performer%20Markers%20Tab/performer-page.png
- id: stashPerformerTaggerAdditions
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Performer%20Tagger%20Additions/performer-tagger.png
- id: stashPerformerURLSearchbox
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Performer%20URL%20Searchbox/performers-page.png
- id: stashSceneTaggerAdditions
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Scene%20Tagger%20Additions/config.png
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Scene%20Tagger%20Additions/scenes-tagger.png
- id: stashSceneTaggerColorizer
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Scene%20Tagger%20Colorizer/config.png
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Scene%20Tagger%20Colorizer/scenes-tagger.png
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Scene%20Tagger%20Colorizer/tag-colors.png
- id: stashSceneTaggerDraftSubmit
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Scene%20Tagger%20Draft%20Submit/scenes-tagger.png
- id: stashSetStashboxFavoritePerformers
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Set%20Stashbox%20Favorite%20Performers/performers-page.png
- id: stashStashIDIcon
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20StashID%20Icon/performer-page.png
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20StashID%20Icon/studio-page.png
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20StashID%20Icon/scene-page.png
- id: stashStashIDInput
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20StashID%20Input/performer-page.png
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20StashID%20Input/studio-page.png
- id: stashStashboxSceneCount
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Stashbox%20Scene%20Count/performer.png
- id: stashStats
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Stats/stats-page.png
- id: stashTagImageCropper
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Tag%20Image%20Cropper/tag-image-cropper.png
- id: stashVideoPlayerABLoopTimeInput
screenshots:
- https://raw.githubusercontent.com/7dJx1qP/stash-plugins/main/images/Stash%20Video%20Player%20AB%20Loop%20Time%20Input/ab-loop-time-input.png

View File

@ -1,19 +0,0 @@
name: MinasukiHikimuna/MidnightRider-Stash plugins
collection:
index: https://minasukihikimuna.github.io/MidnightRider-Stash/index.yml
global_repo: MinasukiHikimuna/MidnightRider-Stash
global_author: "[MinasukiHikimuna](https://github.com/MinasukiHikimuna)"
base_path: main/plugins
scripts:
- id: example
path: PluginName
description: "New description"
readme: https://github.com/ghost/PluginName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
# id only
- id: CompleteTheStash
- id: HashTheStash

View File

@ -1,24 +0,0 @@
collection:
index: https://s3l3ct3dloves.github.io/stashPlugins/stable/index.yml
global_repo: S3L3CT3DLoves/stashPlugins
global_author: "[S3L3CT3DLoves](https://github.com/S3L3CT3DLoves)"
base_path: main/plugins
scripts:
- id: example
path: PluginName
description: "New description"
readme: https://github.com/ghost/PluginName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
# path override
- id: cleanupUI
path: CleanupUI
- id: easytag
path: QuickEdit
# id only
- id: myIp
- id: folderSort

View File

@ -1,37 +0,0 @@
collection:
index: https://valkyr-js.github.io/stash-plugins/index.yml
global_repo: Valkyr-JS/stash-plugins
global_author: "[Valkyr-JS](https://github.com/Valkyr-JS)"
base_path: main/plugins
scripts:
- id: example
path: PluginName
description: "New description"
readme: https://github.com/ghost/PluginName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
# id only
- id: StashReels
readme: https://github.com/Valkyr-JS/StashReels/blob/main/README.md
- id: StashMergers
readme: https://github.com/Valkyr-JS/StashMergers/blob/main/README.md
screenshots:
- /assets/plugins/StashMergers/1.JPG
- /assets/plugins/StashMergers/2.JPG
- /assets/plugins/StashMergers/3.JPG
- /assets/plugins/StashMergers/4.JPG
- /assets/plugins/StashMergers/5.JPG
- /assets/plugins/StashMergers/6.JPG
- id: PerformerDetailsExtended
readme: https://github.com/Valkyr-JS/PerformerDetailsExtended/blob/main/README.md
- id: ValkyrSceneCards
readme: https://github.com/Valkyr-JS/ValkyrSceneCards/blob/main/README.md
screenshots:
- /assets/plugins/ValkyrSceneCards/1.jpg
- /assets/plugins/ValkyrSceneCards/2.jpg

View File

@ -1,8 +0,0 @@
name: blackstar3000 plugins
collection:
index: https://blackstar3000.github.io/stash-plugins-blackstar/main/index.yml
global_repo: blackstar3000/stash-plugins-blackstar
global_author: "[blackstar3000](https://github.com/blackstar3000)"
scripts:
- id: stashNewScenesFilterButton

View File

@ -1,16 +0,0 @@
collection:
index: https://carrotwaxr.github.io/stash-plugins/stable/index.yml
global_repo: carrotwaxr/stash-plugins
global_author: "[carrotwaxr](https://github.com/carrotwaxr)"
base_path: main/plugins
scripts:
- id: example
path: PluginName
description: "New description"
readme: https://github.com/ghost/PluginName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
- id: mcMetadata

View File

@ -1,10 +0,0 @@
name: Ceequester/CommunityScripts
collection:
index: https://ceequester.github.io/CommunityScripts/stable/index.yml
global_repo: Ceequester/CommunityScripts
global_author: "[Ceequester](https://github.com/Ceequester)"
# exclusive since it's a fork
exclusive: true
scripts:
- id: pathParser

View File

@ -1,9 +0,0 @@
name: coderdudeo stash plugins
collection:
index: https://coderdudeo.github.io/CoderDudeo-Stash-Plugins/index.yml
global_repo: coderdudeo/CoderDudeo-Stash-Plugins
global_author: "[coderdudeo](https://github.com/coderdudeo)"
global_readme: https://github.com/coderdudeo/CoderDudeo-Stash-Plugins/blob/main/README.md
scripts:
- id: ColorCodedTags

View File

@ -1,11 +0,0 @@
name: CrudeCreations/set-image-pornpics
collection:
index: https://crudecreations.github.io/set-image-pornpics/stable/plugin.yaml
global_repo: CrudeCreations/set-image-pornpics
global_author: "[CrudeCreations](https://github.com/CrudeCreations)"
# exclusive since it's manually generated
exclusive: true
scripts:
- id: set-image-pornpics
readme: "https://github.com/CrudeCreations/set-image-pornpics/blob/main/README.md"

View File

@ -1,19 +0,0 @@
name: d0t-d0t-d0t plugins
collection:
index: https://raw.githubusercontent.com/d0t-d0t-d0t/stash-repo/refs/heads/dist/index.yml
global_repo: d0t-d0t-d0t/stash-repo
global_author: "[d0t-d0t-d0t](https://github.com/d0t-d0t-d0t)"
base_path: main/Plugins
scripts:
- id: example
path: PluginName
description: "New description"
readme: https://github.com/ghost/PluginName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
- id: stashAudioPlayer
readme: https://github.com/d0t-d0t-d0t/stash-repo/blob/main/Plugins/stashaudioplayer/about.md
path: stashaudioplayer

View File

@ -1,18 +0,0 @@
name: f4bio plugins
collection:
index: https://f4bio.github.io/stash-plugins/main/index.yml
global_repo: f4bio/stash-plugins
global_author: "[f4bio](https://github.com/f4bio)"
base_path: main/plugins
scripts:
- id: example
path: PluginName
description: "New description"
readme: https://github.com/ghost/PluginName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
- id: renamerOnUpdate
- id: renamerOnUpdateDevelop

View File

@ -1,64 +0,0 @@
name: feederbox826 plugins
collection:
index: https://feederbox826.github.io/plugins/main/index.yml
global_repo: feederbox826/plugins
global_author: "[feederbox826](https://feederbox.cc)"
base_path: main/plugins
scripts:
- id: example
path: PluginName
description: "New description"
readme: https://github.com/ghost/PluginName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
# dependencies
- id: 0gql-intercept
hide: true
- id: forbiddenConfig
hide: true
- id: stashdb-api
hide: true
- id: wfke
hide: true
- id: fontawesome-js
# deprecated
- id: tag-graph-js
hide: true
# id only
- id: avg-rating
- id: edit-unorganized
- id: filepath-copy
- id: log-console
- id: markergen
- id: rebrand
- id: s6-helper
- id: skip-intro
- id: stash-omnisearch
- id: stash-open
- id: stashdb-fullimg
- id: tag-import
- id: tag-video
- id: tagger-img-res
- id: titleobserver
- id: vjs-mmb-fullscreen
- id: vjs-shortcut
# screenshots
- id: studio-img-bg
screenshots:
- "https://raw.githubusercontent.com/feederbox826/plugins/main/docs/studio-image-bg_after.png"
- id: log-toast
screenshots:
- "https://raw.githubusercontent.com/feederbox826/plugins/refs/heads/main/docs/log-toast.png"
- id: tag-filter
screenshots:
- "https://raw.githubusercontent.com/feederbox826/plugins/refs/heads/main/docs/tag-filter-toggle.png"
- "https://raw.githubusercontent.com/feederbox826/plugins/refs/heads/main/docs/tag-filter-demo.png"
- id: watched-video
screenshots:
- "https://raw.githubusercontent.com/feederbox826/plugins/refs/heads/main/docs/watched-video.png"

View File

@ -1,17 +0,0 @@
collection:
index: https://feederbox826.github.io/stashlist/main/index.yml
global_repo: feederbox826/stashlist
global_author: "[feederbox826](https://github.com/feederbox826)"
base_path: main/plugins
scripts:
- id: example
path: PluginName
description: "New description"
readme: https://github.com/ghost/PluginName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
- id: stashlist-sync
readme: https://github.com/feederbox826/stashlist/blob/main/README.md

View File

@ -1,10 +0,0 @@
name: jsmthy stash-plugins
collection:
index: https://jsmthy.github.io/stash-plugins/main/index.yml
global_repo: jsmthy/stash-plugins
global_author: "[jsmthy](https://github.com/jsmthy)"
global_readme: "https://github.com/jsmthy/stash-plugins/blob/main/readme.md"
scripts:
- id: stashIngest
description: Moves identified scenes from the ".StashIngest" folder to the root "Scenes" folder.

View File

@ -1,7 +0,0 @@
name: Lurking987 stash-plugins
collection:
index: https://lurking987.github.io/stash-plugins/main/index.yml
global_repo: Lurking987/stash-plugins
scripts:
- id: Find Marker For Tag Images

View File

@ -1,19 +0,0 @@
collection:
index: https://rosa-umineko.github.io/CommunityScripts/stable/index.yml
global_repo: rosa-umineko/CommunityScripts
global_author: "[rosa-umineko](https://github.com/rosa-umineko)"
base_path: main/plugins
exclusive: true
scripts:
- id: example
path: PluginName
description: "New description"
readme: https://github.com/ghost/PluginName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
# id only
- id: addImagesToTags
- id: setSceneCover

View File

@ -1,102 +0,0 @@
collection:
index: https://serechops.github.io/Serechops-Stash/index.yml
global_repo: Serechops/Serechops-Stash
global_author: "[serechops](https://github.com/Serechops)"
base_path: main/plugins
scripts:
- id: example
path: PluginName
description: "New description"
readme: https://github.com/ghost/PluginName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
# movie-fy
- id: Movie-Fy
path: Movie-Fy/Movie-Fy
readme: https://github.com/Serechops/Serechops-Stash/blob/main/plugins/Movie-Fy/README.md
- id: Movie-Fy Bulk Movie URL Scrape
path: Movie-Fy/Movie-Fy%20Bulk%20Movie%20URL%20Scrape
readme: https://github.com/Serechops/Serechops-Stash/blob/main/plugins/Movie-Fy/README.md
- id: Movie-Fy Check and Update Scene Titles
path: Movie-Fy/Movie-Fy%20Check%20and%20Update%20Scene%20Titles
readme: https://github.com/Serechops/Serechops-Stash/blob/main/plugins/Movie-Fy/README.md
- id: Movie-Fy Create Movie Studio
path: Movie-Fy/Movie-Fy%20Create%20Movie%20Studio
readme: https://github.com/Serechops/Serechops-Stash/blob/main/plugins/Movie-Fy/README.md
- id: Movie-Fy Scene Studio Bulk Update
path: Movie-Fy/Movie-Fy%20Scene%20Studio%20Bulk%20Update
readme: https://github.com/Serechops/Serechops-Stash/blob/main/plugins/Movie-Fy/README.md
- id: Movie-Fy Update Movie Scene Covers
path: Movie-Fy/Movie-Fy%20Update%20Movie%20Scene%20Covers
readme: https://github.com/Serechops/Serechops-Stash/blob/main/plugins/Movie-Fy/README.md
# stashDisableAll
- id: stashDisable
path: stashDisableAll/stashDisable
readme: https://github.com/Serechops/Serechops-Stash/blob/main/plugins/stashDisableAll/README.md
- id: stashDisableAll
path: stashDisableAll/stashDisableAll
readme: https://github.com/Serechops/Serechops-Stash/blob/main/plugins/stashDisableAll/README.md
- id: stashEnableFromSave
path: stashDisableAll/stashEnableFromSave
readme: https://github.com/Serechops/Serechops-Stash/blob/main/plugins/stashDisableAll/README.md
# path override
- id: performer_image_export
path: PerformerImageExport
- id: renamer-dev
path: Renamer-Dev
- id: renamer
path: Renamer
- id: stashJellyfinExport
path: stashJellyfinExporter
- id: SerechopsSceneCard
path: serechopsSceneCard
# id only
- id: SceneHub
- id: bulkImportPerformers
- id: findMarkerTagImages
- id: image2Scene
- id: markerDupes
- id: performerGallery
- id: performerSceneCompare
- id: pluginsBackup
- id: sceneSpecsOverlay
- id: scenesMovieDuration
- id: stashAccessibility
- id: stashBatchCreateAll
- id: stashDBTagImport
- id: stashDynamicGroups
- id: stashFPSOverlay
- id: stashNewPerformerScenes
- id: stashPerformerFavicons
- id: stashPerformerMatchScrape
- id: stashRightClickGalleries
- id: stashRightClickImages
- id: stashRightClickPerformerMerge
- id: stashRightClickPerformers
- id: stashRightClickScenes
- id: stashRightClickSettings
- id: stashRightClickSuite
- id: stashRightClickTags
- id: stashSceneFileSize
- id: stashStudioLogoWallView
- id: stashTagCustomColors
- id: stashTagPerformerImage
- id: stashTimestamps
- id: stashToggleSceneSprites
- id: studioTopPerformer
# not a plugin
# - id: stashPluginYAMLGUI
# - id: stashUIPluginExample

View File

@ -1,11 +0,0 @@
name: sneakyninja256 stash-plugins
collection:
index: https://sneakyninja256.github.io/stash-plugins/stable/index.yml
global_repo: sneakyninja256/stash-plugins
global_author: "[sneakyninja256](https://github.com/sneakyninja256)"
global_readme: https://github.com/sneakyninja256/stash-plugins/blob/stable/README.md
scripts:
- id: audioTab
screenshots:
- https://raw.githubusercontent.com/sneakyninja256/stash-plugins/refs/heads/stable/images/audioTab/audioTab.png

View File

@ -1,9 +0,0 @@
name: spaceyuck stashplugins
collection:
index: https://spaceyuck.github.io/stash-plugins/index.yml
global_repo: spaceyuck/stash-plugins
base_path: master/plugins
scripts:
- id: FastTagger
readme: "https://github.com/spaceyuck/stash-fasttagger/blob/master/README.md"

View File

@ -1,9 +0,0 @@
collection:
index: https://stash-of-awesomeness.github.io/stash-plugins/main/index.yml
global_repo: stash-of-awesomeness/stash-plugins
global_author: "[stash-of-awesomeness](https://github.com/stash-of-awesomeness)"
base_path: main/plugins
scripts:
# id only
- id: rename-file-on-update

View File

@ -1,215 +0,0 @@
name: stashapp/CommunityScripts Plugins
collection:
index: https://stashapp.github.io/CommunityScripts/stable/index.yml
global_repo: stashapp/CommunityScripts
base_path: main/plugins
scripts:
- id: example
path: PluginName
description: "New description"
readme: https://github.com/ghost/PluginName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
- id: ai_tagger
path: AITagger
readme: https://github.com/stashapp/CommunityScripts/blob/main/plugins/AITagger/README.md
author: "[skier233](https://github.com/skier233)"
- id: AdulttimeInteractiveDL
author: "[tooliload](https://github.com/tooliload)"
- id: AudioPlayer
author: "[d0t-d0t-d0t](https://github.com/d0t-d0t-d0t)"
- id: AudioPlayerLite
author: "[d0t-d0t-d0t](https://github.com/d0t-d0t-d0t)"
- id: CommunityScriptsUILibrary
readme: https://github.com/stashapp/CommunityScripts/blob/main/plugins/CommunityScriptsUILibrary/README.md
- id: date_parser
path: DateParser
readme: false
author: "[HijackHornet](https://github.com/HijackHornet)"
- id: DupFileManager
readme: "https://github.com/stashapp/CommunityScripts/blob/main/plugins/DupFileManager/README.md"
author: "[David-Maisonave](https://github.com/David-Maisonave)"
- id: extraPerformerInfo
path: ExtraPerformerInfo
author: "[Tweeticoats](https://github.com/Tweeticoats)"
readme: false
- id: filemonitor
readme: https://github.com/stashapp/CommunityScripts/blob/main/plugins/FileMonitor/README.md
author: "[David-Maisonave](https://github.com/David-Maisonave)"
screenshots:
- /assets/plugins/filemonitor/1.png
- id: PythonToolsInstaller
author: "[tooliload](https://github.com/tooliload)"
- id: renamefile
readme: https://github.com/stashapp/CommunityScripts/blob/main/plugins/RenameFile/README.md
author: "[David-Maisonave](https://github.com/David-Maisonave)"
path: RenameFile
- id: TPDBMarkers
readme: false
author: "[Tweeticoats](https://github.com/Tweeticoats)"
- id: VideoScrollWheel
readme: false
author: "[WeedLordVegeta420](https://github.com/WeedLordVegeta420)"
- id: deleter
readme: "https://github.com/stashapp/CommunityScripts/blob/main/plugins/additionalFilesDeleter/README.md"
author: "[elkorol](https://github.com/elkorol)"
path: additionalFilesDeleter
- id: audio-transcodes
readme: false
author: "[Tweeticoats](https://github.com/Tweeticoats)"
- id: BulkImageScrape
author: "[NotMyMainUser](https://github.com/NotMyMainUser)"
path: bulkImageScrape
readme: "https://github.com/stashapp/CommunityScripts/blob/main/plugins/bulkImageScrape/README.md"
- id: chooseYourAdventurePlayer
author: "[cj12312021](https://github.com/cj12312021)"
readme: "https://github.com/stashapp/CommunityScripts/blob/main/plugins/chooseYourAdventurePlayer/README.md"
- id: cjCardTweaks
readme: https://github.com/stashapp/CommunityScripts/blob/main/plugins/cjCardTweaks/README.md
author: "[cj12312021](https://github.com/cj12312021)"
screenshots:
- /assets/plugins/cjCardTweaks/1.png
- /assets/plugins/cjCardTweaks/2.png
- /assets/plugins/cjCardTweaks/3.png
- id: comicInfoExtractor
readme: https://github.com/stashapp/CommunityScripts/blob/main/plugins/comicInfoExtractor/README.md
author: "[yoshnopa](https://github.com/yoshnopa)"
- id: defaultDataForPath
readme: https://github.com/stashapp/CommunityScripts/blob/main/plugins/defaultDataForPath/README.md
author: "[TheSinfulKing](https://github.com/TheSinfulKing)"
- id: discordPresence
readme: https://github.com/stashapp/CommunityScripts/blob/main/plugins/discordPresence/README.md
author: "[NotForMyCV](https://github.com/NotForMyCV)"
- id: dupeMarker
readme: https://github.com/stashapp/CommunityScripts/blob/main/plugins/dupeMarker/README.md
author: "[feederbox826](https://github.com/feederbox826)"
- id: externalLinksEnhanced
author: "[QxxxGit](https://github.com/QxxxGit)"
readme: "https://github.com/stashapp/CommunityScripts/blob/main/plugins/externalLinksEnhanced/README.md"
- id: filenameParser
readme: false
author: "[gitgiggety](https://github.com/gitgiggety)"
- id: funscriptMarkers
readme: false
author: "[Tweeticoats](https://github.com/Tweeticoats)"
- id: hotCards
author: "[HandyRandyx](https://github.com/HandyRandyx)"
readme: "https://github.com/stashapp/CommunityScripts/blob/main/plugins/hotCards/README.md"
- id: markerDeleteButton
readme: false
author: "[WeedLordVegeta420](https://github.com/WeedLordVegeta420)"
- id: markerTagToScene
author: "[WithoutPants](https://github.com/WithoutPants)"
readme: false
- id: miscTags
readme: false
author: "[Tweeticoats](https://github.com/Tweeticoats)"
- id: nfoSceneParser
author: "[Gykes](https://github.com/Gykes)"
redame: "https://github.com/stashapp/CommunityScripts/blob/main/plugins/nfoSceneParser/README.md"
- id: pathParser
readme: https://github.com/stashapp/CommunityScripts/blob/main/plugins/pathParser/README.md
author: "[ImJustMatt](https://github.com/ImJustMatt)"
- id: sceneCoverCropper
author: "[feederbox826](https://github.com/feederbox826)"
readme: false
- id: scenePageRememberStates
author: "[elkorol](https://github.com/elkorol)"
readme: "https://github.com/stashapp/CommunityScripts/blob/main/plugins/scenePageRememberStates/README.md"
- id: setPerformersFromTags
author: "[Torrafox](https://github.com/Torrafox)"
readme: "https://github.com/stashapp/CommunityScripts/blob/main/plugins/setPerformersFromTags/README.md"
- id: set_scene_cover
path: setSceneCoverFromFile
author: "[stg-annon](https://github.com/stg-annon)"
readme: false
- id: stashai
author: "[cc1234475](https://github.com/cc1234475)"
path: stashAI
readme: false
- id: stashAppAndroidTvCompanion
readme: false
author: "[damontecres](https://github.com/damontecres)"
- id: stashNotes
readme: false
author: "[QxxxGit](https://github.com/QxxxGit)"
- id: stashNotifications
author: "[QxxxGit](https://github.com/QxxxGit)"
readme: "https://github.com/stashapp/CommunityScripts/blob/main/plugins/stashNotifications/README.md"
- id: stash-realbooru
path: stashRealbooru
readme: false
author: "[cc1234475](https://github.com/cc1234475)"
- id: stashdb-performer-gallery
readme: false
author: "[Tweeticoats](https://github.com/Tweeticoats)"
- id: stats
readme: false
author: "[7dJx1qP](https://github.com/7dJx1qP)"
- id: tagScenesWithPerfTags
readme: false
author: "[Dankonite](https://github.com/Dankonite)"
- id: themeSwitch
readme: https://github.com/stashapp/CommunityScripts/blob/main/plugins/themeSwitch/README.MD
author: "[elkorol](https://github.com/elkorol)"
screenshots:
- /assets/plugins/themeSwitch/1.png
- /assets/plugins/themeSwitch/2.png
- id: timestampTrade
readme: https://github.com/stashapp/CommunityScripts/blob/main/plugins/timestampTrade/README.md
author: "[Tweeticoats](https://github.com/Tweeticoats)"
- id: titleFromFilename
readme: https://github.com/stashapp/CommunityScripts/blob/main/plugins/titleFromFilename/README.md
author: "[bnkai](https://github.com/bnkai)"
- id: videoChapterMarkers
readme: "https://github.com/stashapp/CommunityScripts/blob/main/plugins/videoChapterMarkers/README.md"
author: "[qxzg](https://github.com/qxzg)"

View File

@ -1,23 +0,0 @@
collection:
index: https://stg-annon.github.io/StashScripts/stable/index.yml
global_repo: stg-annon/StashScripts
global_author: "[stg-annon](https://github.com/stg-annon)"
base_path: main/plugins
scripts:
- id: example
path: PluginName
description: "New description"
readme: https://github.com/ghost/PluginName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
# path override
- id: performer_body_calculator
path: performerBodyCalculator
# id only
- id: findFileErrors
- id: phashDuplicateTagger
- id: tagGraph

View File

@ -1,27 +0,0 @@
collection:
index: https://tetrax-10.github.io/stash-stuffs/index.yml
global_repo: tetrax-10/stash-stuffs
global_author: "[tetrax-10](https://github.com/Tetrax-10)"
base_path: main/Plugins
scripts:
- id: example
path: PluginName
description: "New description"
readme: https://github.com/ghost/PluginName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
# screenshots
- id: AutoSelectUpdatablePluginsAndScrapers
screenshots:
- https://raw.githubusercontent.com/Tetrax-10/stash-stuffs/main/assets/AutoSelectUpdatablePlugins/demo.gif
- id: PlayVideoIfPreviewNotFound
screenshots:
- https://raw.githubusercontent.com/Tetrax-10/stash-stuffs/main/assets/play-video-if-preview-not-found/demo.gif
# id only
- id: AutoUpdatePluginsAndScrapers
- id: ReplaceThumbnailsWithImages
- id: TetraxUserscriptLibrary

View File

@ -1,8 +0,0 @@
name: Voidimproper stash plugins
collection:
index: https://voidimproper.github.io/stash-plugins/main/index.yml
global_repo: Voidimproper/stash-plugins
scripts:
- id: gallery_linker
path: GalleryLinker

View File

@ -1,20 +0,0 @@
name: WithoutPants stash plugin prototypes
collection:
index: https://withoutpants.github.io/stash-plugin-prototypes/main/index.yml
global_repo: WithoutPants/stash-plugin-prototypes
global_author: "[WithoutPants](https://github.com/WithoutPants)"
global_readme: https://github.com/WithoutPants/stash-plugin-prototypes/blob/main/README.md
scripts:
- id: embeddedScenePlayer
screenshots:
- https://raw.githubusercontent.com/WithoutPants/stash-plugin-prototypes/refs/heads/main/images/embed-scene-player.png
- https://raw.githubusercontent.com/WithoutPants/stash-plugin-prototypes/refs/heads/main/images/embed-scene-player-settings.png
- id: quickSentiment
screenshots:
- https://raw.githubusercontent.com/WithoutPants/stash-plugin-prototypes/refs/heads/main/images/quick-sentiment.png
- id: shelve
- id: shelveUI
screenshots:
- https://raw.githubusercontent.com/WithoutPants/stash-plugin-prototypes/refs/heads/main/images/shelve-ui.png

View File

@ -1,24 +0,0 @@
name: xiosensei plugins
collection:
index: https://xiosensei.github.io/Xio-Stash/index.yml
global_repo: xiosensei/Xio-Stash
global_author: "[xiosensei](https://github.com/xiosensei)"
base_path: main/plugins
scripts:
- id: example
path: PluginName
description: "New description"
readme: https://github.com/ghost/PluginName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
- id: categorize-tags-based-on-parent
path: categorize_tags_based_on_parent
- id: display-tag-image-with-tag
- id: randomize-performer-images
- id: tag-text-to-emoji

View File

@ -1,23 +0,0 @@
collection:
index: https://feederbox826.github.io/themes/main/index.yml
global_repo: feederbox826/themes
global_author: "[feederbox826](https://github.com/feederbox826)"
base_path: main/themes
scripts:
- id: example
path: ThemeName
description: "New description"
readme: https://github.com/ghost/ThemeName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
# id only
- id: alternative-tag-layout
- id: direct-stream
- id: hide-donate
- id: hide-ocount
- id: more-studio-row
- id: performer-grid
- id: wrap-subtag

View File

@ -1,19 +0,0 @@
collection:
index: https://rosa-umineko.github.io/CommunityScripts/stable/index.yml
global_repo: rosa-umineko/CommunityScripts
global_author: "[rosa-umineko](https://github.com/rosa-umineko)"
base_path: rosa-umineko/themes
exclusive: true
scripts:
- id: example
path: ThemeName
description: "New description"
readme: https://github.com/ghost/ThemeName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
# inexplicably removed
# https://github.com/rosa-umineko/CommunityScripts/commit/864dc5ea74828f5d2f43c71f88a6bbabff5644f6#diff-a468b993b48658ed25dec629d015eadd634219704cd8ac47e50a879cc5230b90
# - id: Theme-Shadcn

View File

@ -1,33 +0,0 @@
name: Serechops Glassy
collection:
index: https://serechops.github.io/Serechops-Stash/index.yml
global_repo: Serechops/Serechops-Stash
global_author: "[serechops](https://github.com/Serechops)"
global_readme: https://github.com/Serechops/Serechops-Stash/blob/main/themes/Glassy/README.md
base_path: main/themes/Glassy
exclusive: true
scripts:
- id: example
path: ThemeName
description: "New description"
readme: https://github.com/ghost/ThemeName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
- id: Glassy - A Window to Your Collection
- id: Glassy - Font Overhaul
- id: Glassy - Front Page Animations and Blur
- id: Glassy - Images
- id: Glassy - Installer
- id: Glassy - Marker Wall Redesign
- id: Glassy - Performer Scene Card Details Redesign
- id: Glassy - Scene Player-Details 60-40
- id: Glassy - Scene Player-Details Reversed 60-40
- id: Glassy - Scene Player-Details Reversed
- id: Glassy - Scene and Movie Card Redesign - No Animated Titles
- id: Glassy - Scene and Movie Card Redesign
- id: Glassy - Smaller Performer Cards on Main Page
- id: Glassy - Smaller Performer Image Cards
- id: Glassy - Video-Res Icons

View File

@ -1,55 +0,0 @@
name: stashapp/CommunityScripts Themes
collection:
index: https://stashapp.github.io/CommunityScripts/stable/index.yml
global_repo: stashapp/CommunityScripts
base_path: main/themes
exclusive: true
scripts:
- id: example
path: ThemeName
description: "New description"
readme: https://github.com/ghost/ThemeName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
- id: Theme-BlackHole
author: BViking78
- id: Theme-ColorPalette
author: "[wql219](https://github.com/wql219)"
- id: Theme-Minimal
author: "[deuulc](https://github.com/deuulc)"
screenshots:
- /assets/themes/Theme-Minimal/1.png
- /assets/themes/Theme-Minimal/2.png
- /assets/themes/Theme-Minimal/3.png
- /assets/themes/Theme-Minimal/4.png
- id: Theme-ModernDark
author: "[cj13](https://github.com/cj12312021)"
- id: Theme-NeonDark
author: Dankonite
- id: Theme-Plex
author: Fidelio
screenshots:
- https://user-images.githubusercontent.com/1358708/178891502-c71e4278-0378-4154-91a6-07e1a8eaa1df.png
- id: Theme-PornHub
author: ronilaukkarinen
- id: Theme-Pulsar
author: Fonzie
- id: Theme-PulsarLight
author: Fonzie
- id: Theme-RoundedYellow
author: Fonzie
# no author
- id: Theme-Night

View File

@ -1,26 +0,0 @@
collection:
index: https://tetrax-10.github.io/stash-stuffs/index.yml
global_repo: tetrax-10/stash-stuffs
global_author: "[tetrax-10](https://github.com/Tetrax-10)"
base_path: main/themes
exclusive: true
scripts:
- id: example
path: ThemeName
description: "New description"
readme: https://github.com/ghost/ThemeName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
- id: PlexBetterStyles
readme: https://github.com/Tetrax-10/stash-stuffs/tree/main#1-plex-better-styles
screenshots:
- https://raw.githubusercontent.com/Tetrax-10/stash-stuffs/main/assets/plex-better-styles/galleries.png
- https://raw.githubusercontent.com/Tetrax-10/stash-stuffs/main/assets/plex-better-styles/performers.png
- https://raw.githubusercontent.com/Tetrax-10/stash-stuffs/main/assets/plex-better-styles/images.png
- https://raw.githubusercontent.com/Tetrax-10/stash-stuffs/main/assets/plex-better-styles/scenes.png
- https://raw.githubusercontent.com/Tetrax-10/stash-stuffs/main/assets/plex-better-styles/settings.png
- https://raw.githubusercontent.com/Tetrax-10/stash-stuffs/main/assets/plex-better-styles/help.png
- https://raw.githubusercontent.com/Tetrax-10/stash-stuffs/main/assets/plex-better-styles/tags.png

View File

@ -1,17 +0,0 @@
collection:
index: https://uncertainmongoose.github.io/dracula-for-stash/index.yml
global_repo: uncertainmongoose/dracula-for-stash
global_author: "[UncertainMongoose](https://github.com/UncertainMongoose)"
base_path: main/themes
scripts:
- id: example
path: ThemeName
description: "New description"
readme: https://github.com/ghost/ThemeName/blob/main/README.md
author: Deleted User
screenshots:
- https://avatars.githubusercontent.com/u/10137
- id: dracula-theme
path: dracula

View File

@ -1,40 +0,0 @@
export interface RemotePlugin {
id: string // internal id of plugin
name: string // display name of plugin
metadata?: Record<string, string> | { description?: string } // metadata of plugin
version: string // version of plugin appended with hash
dath: string // date of last update
path: string // path to zip file relative to yml
sha256: string // sha256 hash of zip file
requires: string[] // list of dependencies
}
export type RemoteIndex = RemotePlugin[]
export interface LocalRepository {
name?: string // name of repository
collection: LocalCollection
scripts: LocalSidecar[]
}
export interface LocalCollection {
index: string // index url of collection
global_repo: string // repository of collection
global_author?: string // author of collection if it is just owner
base_path?: string // base path to plugins
global_readme?: string // global readme file
exclusive: boolean // exclude any entires not in sidecar
}
export interface LocalSidecar {
id: string // internal id of plugin
path?: string // override path to plugin if not id
description?: string // override description if not in index
readme?: string // path to readme file
author?: string // author of plugin
screenshots?: string[] // screenshots of plugin
hide?: boolean // hide plugin from generated index
// this should only be used when the plugin is a backend dependency
// or is in a completely broken state and wholly incompatible
// or has been deprecated and should not be used
}

View File

@ -1,5 +0,0 @@
// utility functions for the builder
export const sanitizeMD = (md: string) => md.replace("<", "&lt;").replace(">", "&gt;")
export const infoLog = (message: string) => console.log(`[INFO] ${message}`)
export const warnLog = (message: string) => console.warn(`[WARN] ${message}`)
export const debugLog = (message: string) => console.debug(`[DEBUG] ${message}`)