Part of the Jellyfin Project
Jellyfin Web is the frontend used for most of the clients available for end users, such as desktop browsers, Android, and iOS. We welcome all contributions and pull requests! If you have a larger feature in mind please open an issue so we can discuss the implementation before you start. Translations can be improved very easily from our Weblate instance. Look through the following graphic to see if your native language could use some work!
- Node.js
- npm (included in Node.js)
-
Clone or download this repository.
git clone https://github.com/jellyfin/jellyfin-web.git cd jellyfin-web
-
Install build dependencies in the project directory.
npm install
-
Run the web client with webpack for local development.
npm start
-
Build the client with sourcemaps available.
npm run build:development
.
βββ src
βββ apps
βΒ Β βββ dashboard # Admin dashboard app layout and routes
βΒ Β βββ experimental # New experimental app layout and routes
βΒ Β βββ stable # Classic (stable) app layout and routes
βββ assets # Static assets
βββ components # Higher order visual components and React components
βββ controllers # Legacy page views and controllers π§Ή
βββ elements # Basic webcomponents and React wrappers π§Ή
βββ hooks # Custom React hooks
βββ legacy # Polyfills for legacy browsers
βββ libraries # Third party libraries π§Ή
βββ plugins # Client plugins
βββ scripts # Random assortment of visual components and utilities π
βββ strings # Translation files
βββ styles # Common app Sass stylesheets
βββ themes # CSS themes
βββ types # Common TypeScript interfaces/types
βββ utils # Utility functions
- π§Ή β Needs cleanup
- π β Serious mess (Here be dragons)