diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 5e2efbb8f..e0276c302 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -7,3 +7,4 @@ Checklist: - [ ] Have not changed source names - [ ] Have explicitly kept the `id` if a source's name or language were changed - [ ] Have tested the modifications by compiling and running the extension through Android Studio +- [ ] Have removed `web_hi_res_512.png` when adding a new extension diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bfd94e428..7a1582401 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,31 +6,54 @@ This guide is not definitive and it's being updated over time. If you find any i ## Table of Contents -1. [Prerequisites](#prerequisites) - 1. [Tools](#tools) - 2. [Cloning the repository](#cloning-the-repository) -2. [Getting help](#getting-help) -3. [Writing an extension](#writing-an-extension) - 1. [Setting up a new Gradle module](#setting-up-a-new-gradle-module) - 2. [Core dependencies](#core-dependencies) - 3. [Extension main class](#extension-main-class) - 4. [Extension call flow](#extension-call-flow) - 5. [Misc notes](#misc-notes) - 6. [Advanced extension features](#advanced-extension-features) -4. [Multi-source themes](#multi-source-themes) - 1. [The directory structure](#the-directory-structure) - 2. [Development workflow](#development-workflow) - 3. [Scaffolding overrides](#scaffolding-overrides) - 4. [Additional Notes](#additional-notes) -5. [Running](#running) -6. [Debugging](#debugging) - 1. [Android Debugger](#android-debugger) - 2. [Logs](#logs) - 3. [Inspecting network calls](#inspecting-network-calls) - 4. [Using external network inspecting tools](#using-external-network-inspecting-tools) -7. [Building](#building) -8. [Submitting the changes](#submitting-the-changes) - 1. [Pull Request checklist](#pull-request-checklist) +- [Contributing](#contributing) + - [Table of Contents](#table-of-contents) + - [Prerequisites](#prerequisites) + - [Tools](#tools) + - [Cloning the repository](#cloning-the-repository) + - [Getting help](#getting-help) + - [Writing an extension](#writing-an-extension) + - [Setting up a new Gradle module](#setting-up-a-new-gradle-module) + - [Loading a subset of Gradle modules](#loading-a-subset-of-gradle-modules) + - [Extension file structure](#extension-file-structure) + - [AndroidManifest.xml](#androidmanifestxml) + - [build.gradle](#buildgradle) + - [Core dependencies](#core-dependencies) + - [Extension API](#extension-api) + - [DataImage library](#dataimage-library) + - [i18n library](#i18n-library) + - [Additional dependencies](#additional-dependencies) + - [Extension main class](#extension-main-class) + - [Main class key variables](#main-class-key-variables) + - [Extension call flow](#extension-call-flow) + - [Popular Manga](#popular-manga) + - [Latest Manga](#latest-manga) + - [Manga Search](#manga-search) + - [Filters](#filters) + - [Manga Details](#manga-details) + - [Chapter](#chapter) + - [Chapter Pages](#chapter-pages) + - [Misc notes](#misc-notes) + - [Advanced Extension features](#advanced-extension-features) + - [URL intent filter](#url-intent-filter) + - [Update strategy](#update-strategy) + - [Renaming existing sources](#renaming-existing-sources) + - [Multi-source themes](#multi-source-themes) + - [The directory structure](#the-directory-structure) + - [Development workflow](#development-workflow) + - [Scaffolding overrides](#scaffolding-overrides) + - [Additional Notes](#additional-notes) + - [Running](#running) + - [Debugging](#debugging) + - [Android Debugger](#android-debugger) + - [Logs](#logs) + - [Inspecting network calls](#inspecting-network-calls) + - [Using external network inspecting tools](#using-external-network-inspecting-tools) + - [Setup your proxy server](#setup-your-proxy-server) + - [OkHttp proxy setup](#okhttp-proxy-setup) + - [Building](#building) + - [Submitting the changes](#submitting-the-changes) + - [Pull Request checklist](#pull-request-checklist) ## Prerequisites @@ -201,9 +224,8 @@ src/// │   │   └── ic_launcher.png │   ├── mipmap-xxhdpi │   │   └── ic_launcher.png -│   ├── mipmap-xxxhdpi -│   │   └── ic_launcher.png -│   └── web_hi_res_512.png +│   └── mipmap-xxxhdpi +│      └── ic_launcher.png └── src └── eu └── kanade @@ -495,9 +517,8 @@ multisrc │   │   │   └── ic_launcher.png │   │   ├── mipmap-xxhdpi │   │   │   └── ic_launcher.png -│   │   ├── mipmap-xxxhdpi -│   │   │   └── ic_launcher.png -│   │   └── web_hi_res_512.png +│   │   └── mipmap-xxxhdpi +│   │      └── ic_launcher.png │   └── │   ├── additional.gradle │   ├── AndroidManifest.xml @@ -510,9 +531,8 @@ multisrc │   │   │   └── ic_launcher.png │   │   ├── mipmap-xxhdpi │   │   │   └── ic_launcher.png -│   │   ├── mipmap-xxxhdpi -│   │   │   └── ic_launcher.png -│   │   └── web_hi_res_512.png +│   │   └── mipmap-xxxhdpi +│   │      └── ic_launcher.png │   └── src │   └── .kt └── src @@ -739,7 +759,9 @@ When you feel confident about your changes, submit a new Pull Request so your co If you are more comfortable about using Git GUI-based tools, you can refer to [this guide](https://learntodroid.com/how-to-use-git-and-github-in-android-studio/) about the Git integration inside Android Studio, specifically the "How to Contribute to an to Existing Git Repository in Android Studio" section of the guide. > [!IMPORTANT] -> Make sure you have generated the extension icon using the linked Icon Generator tool in the [Tools](#tools) section. The icon **must follow the pattern** adopted by all other extensions: a square with rounded corners. +> Make sure you have generated the extension icon using the linked Icon Generator tool in the [Tools](#tools) +> section. The icon **must follow the pattern** adopted by all other extensions: a square with rounded +> corners. Make sure to remove the generated `web_hi_res_512.png`. Please **do test your changes by compiling it through Android Studio** before submitting it. Obvious untested PRs will not be merged, such as ones created with the GitHub web interface. Also make sure to follow the PR checklist available in the PR body field when creating a new PR. As a reference, you can find it below.