/jellyfin-docs

Documentation for Jellyfin

Primary LanguageShellCreative Commons Attribution Share Alike 4.0 InternationalCC-BY-SA-4.0

Jellyfin Documentation

Part of the Jellyfin Project

This repository houses all documentation for Jellyfin available at jellyfin.org and written in markdown.

Getting Started

The site is built with DocFX using DocFX Flavored Markdown. See the content section here for a quick tutorial on DocFX.

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.

docfx --serve

This will build the site and start up a development server to test out your changes available at http://localhost:8080.

Linting

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

Layout

The following sections explain the documentation content available for each area of the site.

Plugin API

Describe all available API surfaces and class from plugin development.

ApiSpec

apispec is used to overwrite specific plugin API page contexts.

Docs

docs is the main custom documentation directory. All uids for the custom documentation are relative to this directory, with administration and contributing shortened to admin and contrib respectively. So for example to reference the file general/administration/installing.md one would use xref:admin-installing with an optional anchor like xref:admin-installing#arch.

Administration

Should be used for documentation related to server setup including non-default configs for more advanced users.

Contributing

Should be used for documentation related to development, translations, releases, and other ways to contribute to the project.

Clients

Any documentation related to the clients.

Server

Any documentation related to managing the server or explaining certain features.

Media

Naming conventions for all supported media types, such as movies or podcasts.

Plugin

Any plugin documentation.