A modern web client for Jellyfin based on Vue
Go to file
Julien Machiels 0435d08930
Merge pull request #830 from jellyfin/dependabot/npm_and_yarn/fontsource/noto-sans-tc-4.2.2
fix(deps): bump @fontsource/noto-sans-tc from 4.2.1 to 4.2.2
2021-03-04 13:21:02 +01:00
.devcontainer fix(devcontainer): move to suggested extensions, switch default shell to zsh 2020-09-03 18:13:14 +00:00
.docker refactor: cleanup readme and remove env variables from ssr package 2021-01-23 14:43:15 +01:00
.github refactor: address review comments 2021-03-01 21:47:06 +01:00
.husky chore: replace nuxt-ts with nuxt 2021-03-01 14:26:11 +01:00
.run feat(.run): add WebStorm run configurations 2020-09-02 22:30:42 +02:00
.vscode fix: recommended extensions 2021-01-27 21:47:26 +01:00
assets Merge pull request #780 from jellyfin/mobile-friendlier 2021-03-02 22:15:45 +01:00
components Merge pull request #821 from jellyfin/unsubscribe 2021-03-03 21:47:41 +01:00
layouts Merge pull request #780 from jellyfin/mobile-friendlier 2021-03-02 22:15:45 +01:00
locales feat(mark played): add ability to mark items as played or unplayed from card 2021-03-02 13:09:54 +00:00
middleware refactor: address review comments 2021-01-26 19:41:58 +01:00
mixins test(itemhelper): add tests for canMarkWatched function in itemHelper mixin 2021-03-02 13:19:11 +00:00
pages feat(mark played): add ability to mark items as played or unplayed from card 2021-03-02 13:09:54 +00:00
plugins chore: replace ts-ignore with ts-expect-error 2021-02-15 23:26:43 +01:00
schemes fix(logout): fix logout failing if a base url is not set 2021-02-09 09:37:25 +00:00
static feat: new JF Vue icons 2021-02-28 17:52:39 +01:00
store Merge pull request #787 from jellyfin/websocket-plugin 2021-03-02 00:24:48 +01:00
utils test(items): use proper message format 2021-02-27 11:13:27 +01:00
.babelrc feat: add initial Nuxt template 2020-09-02 20:48:53 +02:00
.editorconfig feat: add initial Nuxt template 2020-09-02 20:48:53 +02:00
.eslintignore build(eslint): add more files to eslintignore 2020-09-04 17:23:18 +02:00
.eslintrc.js chore: force ts-expect-error and lint json files 2021-03-02 14:47:04 +01:00
.gitattributes chore(git): add merge attributes for locale files 2020-11-17 19:11:40 +01:00
.gitignore feat: add initial Nuxt template 2020-09-02 20:48:53 +02:00
.prettierrc feat: add initial Nuxt template 2020-09-02 20:48:53 +02:00
.yarnrc refactor: address review comments 2021-02-24 01:00:49 +01:00
codecov.yml ci(codecov): removed patch check 2021-03-03 19:30:21 +01:00
commitlint.config.js feat: add initial Nuxt template 2020-09-02 20:48:53 +02:00
CONTRIBUTING.md docs(contributing): use more explicit test descriptions 2021-02-27 12:22:31 +01:00
Dockerfile refactor: address review comments 2021-02-24 01:00:49 +01:00
Dockerfile.static refactor: address review comments 2021-02-24 01:00:49 +01:00
jest.config.js test(jest config): add missing file to collect coverage from 2021-02-27 13:25:31 +01:00
jest.setup.ts test(like button): add tests for like button 2021-02-04 18:42:52 +00:00
LICENSE feat: add initial Nuxt template 2020-09-02 20:48:53 +02:00
nuxt-i18n.d.ts refactor: override typings for $t and remove string casting 2021-01-02 15:55:37 +01:00
nuxt.config.ts build(config): use proper module location for nuxt-pwa when running in ssr mode 2021-03-03 21:41:40 +01:00
package.json fix(deps): bump @fontsource/noto-sans-tc from 4.2.1 to 4.2.2 2021-03-04 12:08:59 +00:00
README.md build: build ssr by default 2021-01-26 16:45:00 +01:00
stylelint.config.js feat(dark-theme): add dark theme colors 2021-01-09 11:36:43 +01:00
tsconfig.json build(tsconfig): add MediaSession API typings 2021-01-17 06:21:16 +01:00
vue-shims.d.ts refactor(login): move requests from login and server form to vuex 2020-11-29 20:59:10 +01:00
yarn.lock fix(deps): bump @fontsource/noto-sans-tc from 4.2.1 to 4.2.2 2021-03-04 12:08:59 +00:00

Jellyfin Vue

Part of the Jellyfin Project


Logo Banner

GPL 3.0 License Current Release Commitizen friendly
Donate Feature Requests Discuss on our Forum Chat on Matrix Join our Subreddit

This is an experimental web client for Jellyfin based on Vue.js. 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.

Requirements

This project uses Yarn as a package manager.

Contributing

We provide a devcontainer to help you setup your environment.

The project also contains recommended extensions for Visual Studio Code, which will help you with syntax style and development.

Finally, we provide useful pre-commit hooks via Husky, as well as Comitizen integration, in order to help you respect the style and naming conventions used throughout this project.

For more information about how to contribute to this project, see CONTRIBUTING.md

Pre-requirements

Jellyfin >=10.7.0

Build Process

# install dependencies
$ yarn install

# server with hot reload at localhost:3000
$ yarn dev

# serve with hot reload in static mode at localhost:3000
$ yarn dev:static

# build for production and launch server
$ yarn build
$ yarn start

# build for production in static mode
# you will need a web server to host the client
$ yarn build:static

Running standalone

When using the SSR version of the client, you can run the client in standalone mode in order to save space.

# install dependencies
$ yarn install

# build for production in standalone mode, with server-side rendering
$ yarn build --standalone

# move the server and required files to a dedicated directory
$ mkdir -p /opt/jellyfin-vue
$ cp .nuxt .docker/nuxt.config.js .docker/package.json /opt/jellyfin-vue

# install the required dependency and start the client
$ cd /opt/jellyfin-vue
$ yarn install
$ yarn start