This repository houses all documentation for Jellyfin available at jellyfin.org and written in markdown.
Since the site is mostly written with simple Markdown files, the easiest and fastest way to contribute is to just edit the source files directory on GitHub. For example, you could edit this README page by going to its edit page on GitHub.
Editing directly on GitHub provides a feature to preview your changes for the current document, but if you want to see your changes within the context of the actual website or make more advanced changes to the site, you will need to run a copy of the site locally.
To run the site locally, you will first need to clone this repository using git.
git clone https://github.com/jellyfin/jellyfin-docs.git
Next, you will need to install DocFx as a command line tool. Once installed, you can run the following command from the root directory of your cloned repository.
This will build the site and start up a development server to test out your changes available at http://localhost:8080.
This repository is configured to use markdownlint for linting Markdown files.
If you are editing files within Visual Studio Code, you can install the markdownlint extension to see the linting errors as you work.
You can also easily run the linter manually using the associated markdownlint CLI.
npm install -g markdownlint-cli markdownlint **/*.md --ignore node_modules --ignore src
The following sections explain the documentation content available for each area of the site.
Describe all available API surfaces and class from plugin development.
apispec is used to overwrite specific plugin API page contexts.
docs is the main custom documentation directory.
All uids for the custom documentation are relative to this directory, with
contributing shortened to
So for example to reference the file
general/administration/installing.md one would use
xref:admin-installing with an optional anchor like
Should be used for documentation related to server setup including non-default configs for more advanced users.
Should be used for documentation related to development, translations, releases, and other ways to contribute to the project.
Any documentation related to the clients.
Any documentation related to managing the server or explaining certain features.
Naming conventions for all supported media types, such as movies or podcasts.
Any plugin documentation.