Docs: Using docfx instead of doxygen

This commit is contained in:
Zoe Roux 2021-10-24 21:22:35 +02:00
parent affca0f333
commit 16ae6f4333
14 changed files with 152 additions and 2613 deletions

View File

@ -8,16 +8,15 @@ on:
jobs:
Building:
runs-on: [ubuntu-latest]
steps:
- uses: actions/checkout@v1
- name: Install Doxygen
run: sudo apt-get install -y doxygen graphviz
- uses: nikeee/docfx-action@v1.0.0
name: Build Documentation
with:
args: docs/docfx.json
- name: Update the docs
run: |
rm -rf docs/*
doxygen Doxyfile
cd docs
cd _site
git config --global user.email "${GITHUB_ACTOR}@github.com";
git config --global user.name "${GITHUB_ACTOR}";
git init

2
.gitignore vendored
View File

@ -10,8 +10,6 @@ libtranscoder.so
libtranscoder.dylib
transcoder.dll
docs/
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##

2556
Doxyfile

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
# Kyoo
# <img width="24px" src="./icons/icon-256x256.png" alt="Kyoo"> Kyoo
<p>
<a href="https://github.com/AnonymusRaccoon/Kyoo/actions/workflows/build.yml"><img src="https://img.shields.io/github/workflow/status/AnonymusRaccoon/Kyoo/Build?style=flat-square" alt="Build status"></a>
<a href="https://github.com/AnonymusRaccoon/Kyoo/actions/workflows/tests.yml"><img src="https://img.shields.io/github/workflow/status/AnonymusRaccoon/Kyoo/Testing?label=tests&style=flat-square" alt="Tests status"></a>
@ -14,6 +14,10 @@ Kyoo has been created from scratch, it is not a fork. Everything is and always w
Feel free to open issues or pull requests, all contribution are welcomed.
## Getting started
- [Installation]()
## Screens
![Show](../screens/show.png?raw=true)
- - -
@ -28,49 +32,3 @@ Feel free to open issues or pull requests, all contribution are welcomed.
![Player](../screens/player.png?raw=true)
- - -
![Search](../screens/search.png?raw=true)
## Installation
On any system, you will need a running postgres server where Kyoo can connect. The connection's informations can be specified on the appsettings.json file, the default connection settings
use the user `kyoo` with the password `kyooPassword` on the server at `127.0.0.1:5432` (the default postgres url).
You can find nightly prebuild zipped version here:
- [Windows](https://nightly.link/AnonymusRaccoon/Kyoo/workflows/build/master/kyoo_windows.zip)
- [MacOS](https://nightly.link/AnonymusRaccoon/Kyoo/workflows/build/master/kyoo_macos.zip)
- [Linux](https://nightly.link/AnonymusRaccoon/Kyoo/workflows/build/master/kyoo_linux.zip)
For arch based, debian based or rpm compatible distributions, a package is automatically created and can be downloaded:
- [Arch](https://nightly.link/AnonymusRaccoon/Kyoo/workflows/build/master/kyoo_arch.zip)
- [Debian](https://nightly.link/AnonymusRaccoon/Kyoo/workflows/build/master/kyoo_debian.zip)
- [RPM](https://nightly.link/AnonymusRaccoon/Kyoo/workflows/build/master/kyoo_rpm.zip)
A docker file is also available and an up-to-date docker image is available at: `ghcr.io/anonymusraccoon/kyoo:master`. An example docker-compose image is available at the root of the repository. You can customise it to feet your needs and use a prebuild image or you can build it from source. To do that, clone the repository with the `--recurse` flag and run `docker-compose up `.
## Repositories
This is the main repository for Kyoo. Here, you will find all the server's code, the build process & the login page.
In the [Kyoo.WebApp](https://github.com/AnonymusRaccoon/Kyoo.WebApp) repository, you will find the code of the web app (created usint angular).
In the [Kyoo.Transcoder](https://github.com/AnonymusRaccoon/Kyoo.Transcoder) repository, you will find the C code that handle transcoding, transmuxing & subtitles/codecs extractions from media files.
Both of theses repository are needed to fully build Kyoo, when you clone this repository you should use the --recurse argument of git like so: ```git clone https://github.com/AnonymusRaccoon/Kyoo --recurse```.
## Development & Build
To develop for Kyoo, you will need the .NET 5.0 SDK and node & npm for the webapp. If you want to build the transcoder, you will also need a cmake compatible environement.
To run the development server, simply open the .sln file with your favorite C# IDE (like Jetbrain's Rider or Visual Studio) and press run or you can use the CLI and use the ```dotnet run -p Kyoo``` command.
To pack the application, run the ```dotnet publish -c Release -o <build_path> Kyoo``` command. This will build the server, the webapp and the transcoder and output files in the <build_path> directory.
If you want, you can build kyoo without it's transcoder by running ```dotnet build '-p:SkipTranscoder=true'```. You are now responsible of bringing a transcoder dynamic library at the build location. If you don't bring one, the transcoder won't be available.
You can also disable the webapp build by running ```dotnet build '-p:SkipWebApp=true'```. Those two options can be combined by running ```dotnet build '-p:SkipTranscoder=true;SkipWebApp=true'```
## Plugins
You can create plugins for Kyoo. To do that, create a C# Library project targetting the .Net Core 5 and install the [Kyoo.Common](https://www.nuget.org/packages/Kyoo.Common) package and implement the IPlugin interface.
You can create Tasks which can be started manually or automatically at startup or every X hours. You can also create metadata providers that will be used to get informations about shows, seasons, episodes & people.
You can find an exemple of metadata provider [here](https://github.com/AnonymusRaccoon/Kyoo.TheMovieDB).

2
docs/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
_site/
obj

View File

@ -0,0 +1,20 @@
---
uid: build
title: Build
---
# Build
## Dependencies
To develop for Kyoo, you will need the **.NET 5.0 SDK**, **node** and **npm** for the webapp. If you want to build the transcoder, you will also need a cmake compatible environment.
## Building
To run the development server, simply open the .sln file with your favorite C# IDE (like Jetbrain's Rider or Visual Studio) and press run or you can use the CLI and use the ```dotnet run dotnet run -p src/Kyoo.Host.Console --launch-profile "Console"``` command.
To pack the application, run the ```dotnet publish -c Release -o <build_path> Kyoo.Host.Console``` command. This will build the server, the webapp and the transcoder and output files in the <build_path> directory.
## Skipping parts
If you want, you can build kyoo without it's transcoder by running ```dotnet build '-p:SkipTranscoder=true'```. You are now responsible of bringing a transcoder dynamic library at the build location. If you don't bring one, the transcoder won't be available.
You can also disable the webapp build by running ```dotnet build '-p:SkipWebApp=true'```. Those two options can be combined by running ```dotnet build '-p:SkipTranscoder=true;SkipWebApp=true'```

View File

@ -0,0 +1,8 @@
---
uid: plugin
title: Plugin
---
# Plugins
You can create plugins for Kyoo. To do that, create a C# Library project targeting the .Net Core 5 and install the [Kyoo.Abstraction](https://www.nuget.org/packages/Kyoo.Abstraction) package and implement the IPlugin interface.

View File

@ -0,0 +1,2 @@
- name: Build
href: build.md

65
docs/docfx.json Normal file
View File

@ -0,0 +1,65 @@
{
"metadata": [
{
"src": [
{
"files": [ "**.csproj" ],
"exclude": [ "**/bin/**", "**/obj/**" ],
"src": "../src"
}
],
"dest": "obj/api",
"disableGitFeatures": false,
"disableDefaultFilter": false
}
],
"build": {
"content": [
{
"files": [
"**/*.md",
"**/toc.yml"
]
},
{
"files": "CONTRIBUTING.md",
"src": "../",
"dest": "contributing"
},
{
"files": [ "**/*.yml" ],
"src": "obj/api",
"dest": "api"
}
],
"resource": [
{
"files": ["icons/**"],
"src": "../"
}
],
"dest": "_site",
"globalMetadata": {
"_appTitle": "Documentation - Kyoo",
"_appLogoPath": "icons/icon-32x32.png",
"_appFaviconPath": "icons/icon-256x256.ico",
"_gitContribute": {
"repo": "https://github.com/AnonymusRaccoon/Kyoo",
"branch": "master",
"apiSpecFolder": "docs"
},
"_enableSearch": true
},
"globalMetadataFiles": [],
"fileMetadataFiles": [],
"template": [
"default"
],
"postProcessors": [],
"markdownEngineName": "markdig",
"noLangKeyword": false,
"keepFileLink": false,
"cleanupCacheHistory": false,
"disableGitFeatures": false
}
}

8
docs/index.md Normal file
View File

@ -0,0 +1,8 @@
---
uid: home
title: Home
---
# Welcome to Kyoo's Documentation
This is a work in progress, for now this documentation is mostly empty. The [Rest API](https://demo.kyoo.org/redoc) is the only part that is well documented.

21
docs/start/install.md Normal file
View File

@ -0,0 +1,21 @@
---
uid: install
title: Install
---
# Installing
To install kyoo, you can use one of the following installer depending on your platform:
- [Arch](https://nightly.link/AnonymusRaccoon/Kyoo/workflows/build/master/kyoo_arch.zip)
- [Debian](https://nightly.link/AnonymusRaccoon/Kyoo/workflows/build/master/kyoo_debian.zip)
- [RPM](https://nightly.link/AnonymusRaccoon/Kyoo/workflows/build/master/kyoo_rpm.zip)
- [Windows](https://nightly.link/AnonymusRaccoon/Kyoo/workflows/build/master/kyoo_windows_installer.zip)
If your system is not on the previous list, you can use one of the prebuild version:
- [Windows](https://nightly.link/AnonymusRaccoon/Kyoo/workflows/build/master/kyoo_windows.zip)
- [MacOS](https://nightly.link/AnonymusRaccoon/Kyoo/workflows/build/master/kyoo_macos.zip)
- [Linux](https://nightly.link/AnonymusRaccoon/Kyoo/workflows/build/master/kyoo_linux.zip)
# Docker
A docker file is also available and an up-to-date docker image is available at: `ghcr.io/anonymusraccoon/kyoo:master`. An example docker-compose image is available at the root of the repository.

2
docs/start/toc.yml Normal file
View File

@ -0,0 +1,2 @@
- name: Install
href: install.md

12
docs/toc.yml Normal file
View File

@ -0,0 +1,12 @@
- name: Home
href: index.md
- name: Getting Started
href: start/
- name: Contributing
href: contributing/
- name: References
href: obj/api/
- name: GitHub
href: https://github.com/AnonymusRaccoon/Kyoo
- name: REST API
href: https://demo.kyoo.org/redoc

View File

@ -1,6 +1,6 @@
{
"profiles": {
"Console Host": {
"Console": {
"commandName": "Project",
"launchBrowser": false,
"environmentVariables": {
@ -8,7 +8,7 @@
},
"applicationUrl": "http://localhost:5000"
},
"Console Host (Browser)": {
"Console-Browser": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {