Skip to content

Fully featured example source generated by @grayjay-sources/source-generator

Notifications You must be signed in to change notification settings

grayjay-sources/grayjay-source-generated

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Generated Plugin for GrayJay

Fully featured example source generated by @grayjay-sources/source-generator

Installation

Quick Install

Click this link to install in GrayJay:

Install Plugin

Or use this URL:

grayjay://plugin/https://github.com/grayjay-sources/grayjay-source-generated/releases/latest/download/config.json

QR Code

Scan this QR code with the GrayJay app:

QR Code

Screenshots

Note

Add your own screenshots to assets/screenshots/ directory and update the table below.

Home Video Channel Source
home screenshot video screenshot channel screenshot source screenshot

Features

  • Search
  • Authentication
  • Live Streams
  • Comments
  • Playlists
  • Home Feed
  • Channel Details
  • Video Details

Technology Stack

  • REST API
  • GRAPHQL
  • HTML Parsing / Web Scraping

Development

Prerequisites

  • Node.js >= 14
  • npm >= 6.14.4

Installation

npm install

Build

npm run build

This will generate the minified plugin files in the dist/ directory.

Testing with Dev Server

The fastest way to test your plugin during development:

npm run test

This will:

  • πŸ” Scan your local network for GrayJay dev servers (port 11337)
  • 🌐 Start a local HTTP server to serve your plugin files
  • πŸ“€ Inject your plugin into the dev server automatically
  • πŸš€ Open the dev portal in your default browser

Requirements:

  • GrayJay app running on a device with dev mode enabled
  • Device on the same local network
  • Plugin must be built first (npm run build)

Development Workflow:

  1. Make changes to code in src/
  2. Run npm run build
  3. Click "Reload" button in dev portal
  4. Test your changes immediately!

Build and Publish

npm run build:publish [version]

This will build the plugin and trigger a GitHub release. Requires GITHUB_TOKEN environment variable.

Development Mode

npm run dev

This will watch for changes and rebuild automatically.

Project Structure

.
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ script.ts         # Main plugin entry point
β”‚   β”œβ”€β”€ constants.ts      # Constants and configuration
β”‚   β”œβ”€β”€ utils.ts          # Utility functions
β”‚   β”œβ”€β”€ graphql/          # GraphQL module (if applicable)
β”‚   β”‚   └── queries.ts
β”‚   β”œβ”€β”€ api/              # API client module (if applicable)
β”‚   β”‚   └── client.ts
β”‚   β”œβ”€β”€ mappers/          # Data mapping (if applicable)
β”‚   β”‚   └── index.ts
β”‚   β”œβ”€β”€ pagers/           # Pagination classes (if applicable)
β”‚   β”‚   └── index.ts
β”‚   └── state/            # State management (if applicable)
β”‚       └── index.ts
β”œβ”€β”€ assets/
β”‚   └── qrcode.png        # QR code for installation (generated once)
β”œβ”€β”€ dist/                 # Build output (gitignored)
β”‚   β”œβ”€β”€ config.json       # Minified plugin configuration
β”‚   └── script.js         # Minified and compiled script
β”œβ”€β”€ .secrets/             # Private keys (gitignored)
β”‚   └── signing_key.pem   # RSA private key for signing
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ sign.js           # Plugin signing script
β”‚   └── publish.js        # Publishing automation script
β”œβ”€β”€ package.json
β”œβ”€β”€ tsconfig.json
β”œβ”€β”€ rollup.config.js
└── README.md

Configuration

The plugin can be configured through the GrayJay app settings:

  • Enable Debug Logging: Show detailed logs for debugging

Platform Information

License

MIT License - See LICENSE file for details

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Releases

πŸš€ Publishing

# Publish a new version (auto-bumps patch version)
npm run publish

# Publish with specific version
npm run publish 5

# Or build, sign, and publish in one command
npm run build:publish

The publish script will:

  1. βœ… Bump the version (or set to specified version)
  2. βœ… Build the plugin
  3. βœ… Sign the plugin (generate signature and public key)
  4. βœ… Generate a QR code for installation
  5. βœ… Commit changes
  6. βœ… Create a git tag
  7. βœ… Push to GitHub (triggers release workflow)

Prerequisites

  • OpenSSL: Required for signing (usually pre-installed on Linux/Mac, available via Git Bash on Windows)
  • Git: With configured remote repository

Support

For issues and questions, please use the GitHub Issues page.

Acknowledgments

About

Fully featured example source generated by @grayjay-sources/source-generator

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors