diff --git a/Kyoo/Kyoo.csproj b/Kyoo/Kyoo.csproj index 54911115..e97d430a 100644 --- a/Kyoo/Kyoo.csproj +++ b/Kyoo/Kyoo.csproj @@ -12,6 +12,7 @@ false + SDG Zoe Roux https://github.com/AnonymusRaccoon/Kyoo @@ -27,10 +28,10 @@ + - @@ -88,6 +89,10 @@ + + + + @@ -103,9 +108,4 @@ PreserveNewest - - - - - diff --git a/Kyoo/Program.cs b/Kyoo/Program.cs index 5659843d..474a79b3 100644 --- a/Kyoo/Program.cs +++ b/Kyoo/Program.cs @@ -11,14 +11,13 @@ namespace Kyoo { public static async Task Main(string[] args) { - if (args.Length > 0) FileSystem.CurrentDirectory = args[0]; if (!File.Exists("./appsettings.json")) File.Copy(Path.Join(AppDomain.CurrentDomain.BaseDirectory, "appsettings.json"), "appsettings.json"); - bool? debug = Environment.GetEnvironmentVariable("ENVIRONEMENT")?.ToLowerInvariant() switch + bool? debug = Environment.GetEnvironmentVariable("ENVIRONMENT")?.ToLowerInvariant() switch { "d" => true, "dev" => true, @@ -30,8 +29,11 @@ namespace Kyoo _ => null }; - if (debug == null && !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("ENVIRONEMENT"))) - Console.WriteLine($"Invalid ENVIRONEMENT variable. Supported values are \"debug\" and \"prod\". Ignoring..."); + if (debug == null && Environment.GetEnvironmentVariable("ENVIRONMENT") != null) + Console.WriteLine($"Invalid ENVIRONMENT variable. Supported values are \"debug\" and \"prod\". Ignoring..."); + #if DEBUG + debug ??= true; + #endif Console.WriteLine($"Running as {Environment.UserName}."); IWebHostBuilder host = CreateWebHostBuilder(args); diff --git a/Kyoo/Startup.cs b/Kyoo/Startup.cs index 52a628fe..03b63cdf 100644 --- a/Kyoo/Startup.cs +++ b/Kyoo/Startup.cs @@ -227,9 +227,7 @@ namespace Kyoo spa.Options.SourcePath = Path.Join(AppDomain.CurrentDomain.BaseDirectory, "Views/WebClient"); if (env.IsDevelopment()) - { spa.UseAngularCliServer("start"); - } }); } } diff --git a/README.md b/README.md index 4a6f1ed6..f58d0a22 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,22 @@ 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. +## Screens +![Show](../screens/show.png?raw=true) +- - - +![Show Dropdown](../screens/show_dropdown.png?raw=true) +- - - +![Browse](../screens/browse.png?raw=true) +- - - +![Filters](../screens/filters.png?raw=true) +- - - +![People](../screens/people.png?raw=true) +- - - +![Player](../screens/player.png?raw=true) +- - - +![Search](../screens/search.png?raw=true) + + ## Installation If you are using a linux distribution with acess to the AUR, simply install the kyoo-bin package. **COMMING SOON**. The package is not published on the AUR yet but you can built it easily with makepkg. To do so, clone the repo & run `makepkg -i` inside the `install/aur` directory. @@ -27,7 +43,8 @@ Both of theses repository are needed to fully build Kyoo, when you clone this re ## Development & Build -To develop for Kyoo, you will need the .NET 3.1 SDK, node & npm for the webapp and cmake & gcc for the transcoder. +To develop for Kyoo, you will need the .NET 5.0 SDK, node & npm for the webapp and cmake & gcc for the transcoder. +You will also need a running postgresql instance with a user named `kyoo` (you can create a user with this command: ```sudo -u postgres createuser -d kyoo```) 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. @@ -35,7 +52,7 @@ To pack the application, run the ```dotnet publish -c Release -o Ky ## Plugins -You can create plugins for Kyoo. To do that, create a C# Library project targetting the .Net Core 3.1 and install the [Kyoo.Common](https://www.nuget.org/packages/Kyoo.Common) package and implement the IPlugin interface. +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).