From 9ddf0eee2005d5b5684fca00143bc5b79bd30b8c Mon Sep 17 00:00:00 2001 From: "Mio." Date: Sat, 28 Jun 2025 17:21:11 +0200 Subject: [PATCH 1/6] Fix the token for the action and add comics support in Reading Lists --- .github/workflows/build_push.yml | 2 +- .../tachiyomi/extension/all/kavita/Kavita.kt | 27 +++++++++++-------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index 82d1521b..32b31c76 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -146,7 +146,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: repository: Kareadita/tach-extension - token: ${{ secrets.BOT_PAT }} + token: ${{ secrets.GITHUB_TOKEN }} ref: repo path: repo diff --git a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/Kavita.kt b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/Kavita.kt index 94f548d0..4258e847 100644 --- a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/Kavita.kt +++ b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/Kavita.kt @@ -350,17 +350,22 @@ class Kavita(private val suffix: String = "") : ConfigurableSource, UnmeteredSou } name = buildString { append("${item.order + 1}. ") - if (item.chapterId != null && item.chapterId > 0) { - if (item.chapterTitleName.isNullOrBlank()) { - item.chapterNumber - ?.takeIf { it.isNotBlank() && it != "-100000" } - ?.let { append(" Chapter $it") } + when { + !item.chapterTitleName.isNullOrBlank() && !item.chapterTitleName.matches(Regex("^\\d+\$")) -> { + append(item.chapterTitleName) + } + !item.volumeNumber.isNullOrBlank() && item.volumeNumber != "-100000" -> { + append("Volume ${item.volumeNumber.padStart(2, '0')}") + } + !item.chapterNumber.isNullOrBlank() && item.chapterNumber != "-100000" -> { + val libraryType = getLibraryType(item.seriesId) + when (libraryType) { + LibraryTypeEnum.Comic, LibraryTypeEnum.ComicVine -> + append("Issue #${item.chapterNumber.padStart(3, '0')}") + else -> + append("Chapter ${item.chapterNumber.padStart(2, '0')}") + } } - item.chapterTitleName - ?.takeIf { it.isNotBlank() } - ?.let { append(it) } - } else if (!item.volumeNumber.isNullOrBlank()) { - append(" (Vol.${item.volumeNumber})") } } date_upload = if (preferences.RdDate && !item.releaseDate.isNullOrBlank()) { @@ -369,7 +374,7 @@ class Kavita(private val suffix: String = "") : ConfigurableSource, UnmeteredSou 0L // Explicitly unset the date } chapter_number = item.order.toFloat() - scanlator = item.seriesName + " #" + (item.chapterNumber?.padStart(3, '0') ?: "") // For Comics #000 + scanlator = item.seriesName } }.sortedBy { it.chapter_number } } From 81559c8a2a4b95a18552a228f6c744795ddc565a Mon Sep 17 00:00:00 2001 From: "Mio." Date: Sat, 28 Jun 2025 17:38:40 +0200 Subject: [PATCH 2/6] Make the action only validates all:kavita --- .github/workflows/build_push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index 32b31c76..e09e8b18 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -63,7 +63,7 @@ jobs: - id: generate-matrices name: Create output matrices run: | - python ./.github/scripts/generate-build-matrices.py ${{ steps.last_successful_ci_commit.outputs.base }} Release + echo '{"chunk":[{"number":1,"modules":["src:all:kavita:assembleRelease"]}]}' > $GITHUB_OUTPUT build: name: Build extensions (${{ matrix.chunk.number }}) From 441df2d5708a27318b2ce693519e86d64cb17540 Mon Sep 17 00:00:00 2001 From: "Mio." Date: Sat, 28 Jun 2025 17:41:15 +0200 Subject: [PATCH 3/6] Make the action only validates all:kavita --- .github/workflows/build_push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index e09e8b18..c897b901 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -63,7 +63,7 @@ jobs: - id: generate-matrices name: Create output matrices run: | - echo '{"chunk":[{"number":1,"modules":["src:all:kavita:assembleRelease"]}]}' > $GITHUB_OUTPUT + echo "matrix={\"chunk\":[{\"number\":1,\"modules\":[\"src:all:kavita:assembleRelease\"]}]}" >> $GITHUB_OUTPUT build: name: Build extensions (${{ matrix.chunk.number }}) From 7dd4e1f483cfa150ef2f784723807ccff0df9986 Mon Sep 17 00:00:00 2001 From: "Mio." Date: Sat, 28 Jun 2025 17:47:56 +0200 Subject: [PATCH 4/6] Make the action only validates all:kavita --- .github/workflows/build_push.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index c897b901..b9ec4cae 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -89,13 +89,17 @@ jobs: - name: Prepare signing key run: | - echo ${{ secrets.SIGNING_KEY }} | base64 -d > signingkey.jks + echo "${{ secrets.SIGNING_KEY }}" | base64 -di > signingkey.jks + # Verify key is properly created + ls -la signingkey.jks + keytool -list -v -keystore signingkey.jks -storepass "${{ secrets.KEY_STORE_PASSWORD }}" -alias "${{ secrets.ALIAS }}" || exit 1 - name: Build extensions (${{ matrix.chunk.number }}) env: - ALIAS: ${{ secrets.ALIAS }} - KEY_STORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }} - KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} + ORG_GRADLE_PROJECT_storeFile: signingkey.jks + ORG_GRADLE_PROJECT_storePassword: ${{ secrets.KEY_STORE_PASSWORD }} + ORG_GRADLE_PROJECT_keyAlias: ${{ secrets.ALIAS }} + ORG_GRADLE_PROJECT_keyPassword: ${{ secrets.KEY_PASSWORD }} run: | ./gradlew $(echo '${{ toJson(matrix.chunk.modules) }}' | jq -r 'join(" ")') From e283b688618860716f8f8a0237e5f14c9f6854f8 Mon Sep 17 00:00:00 2001 From: "Mio." Date: Sat, 28 Jun 2025 18:23:11 +0200 Subject: [PATCH 5/6] Update README.md with improved badge layout and formatting --- README.md | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index cde31d7a..2e17e2f8 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,32 @@ -| Build | Up to date | Install to app | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| [![Build](https://github.com/Kareadita/tach-extensions/actions/workflows/build_push.yml/badge.svg)](https://github.com/Kareadita/tach-extensions/actions/workflows/build_push.yml) | [![Updated](https://img.shields.io/github/actions/workflow/status/Kareadita/tachiyomi-extensions/auto_cherry_pick.yml?label=Updated&labelColor=27303D)](https://github.com/Kareadita/tachiyomi-extensions/actions/workflows/auto_cherry_pick.yml) | [![Install](https://img.shields.io/badge/Click%20here%20to%20install%20repo-gray?style=flat&labelColor=red)](https://intradeus.github.io/http-protocol-redirector/?r=tachiyomi://add-repo?url=https://raw.githubusercontent.com/Kareadita/tach-extensions/repo/index.min.json) | +

+ + Build Status + + + Current Version + + + Install Kavita Extension + +

# Kavita Extension -This repository contains the Kavita extension which is compatible with [Komikku](https://github.com/komikku-app/komikku) and Mihon / Tachiyomi or other forks. +This repository contains the Kavita extension, compatible with [Komikku](https://github.com/komikku-app/komikku), [Mihon](https://github.com/mihonapp/mihon), Tachiyomi, and other forks. -## Recommend App +## Recommended Apps -### [Mihon](https://github.com/mihonapp/mihon) +### - [Mihon](https://github.com/mihonapp/mihon) -### [Komikku](https://github.com/komikku-app/komikku) +### - [Komikku](https://github.com/komikku-app/komikku) ## How to add the repo -[![Install](https://img.shields.io/badge/Click%20here%20to%20install%20repo-gray?style=flat&labelColor=red)](https://intradeus.github.io/http-protocol-redirector/?r=tachiyomi://add-repo?url=https://raw.githubusercontent.com/Kareadita/tach-extensions/repo/index.min.json) -Otherwise, copy & paste the following URL: +[![Install](https://img.shields.io/badge/Install%20Kavita%20Extension-49CC90?style=for-the-badge&logo=cloudsmith&logoColor=white&labelColor=49CC90&color=49CC90)](https://intradeus.github.io/http-protocol-redirector/?r=tachiyomi://add-repo?url=https://raw.githubusercontent.com/Kareadita/tach-extensions/repo/index.min.json) -```html +Or copy & paste this URL into your app: + +``` https://raw.githubusercontent.com/Kareadita/tach-extensions/repo/index.min.json ``` @@ -60,7 +69,6 @@ limitations under the License. This project does not have any affiliation with the content providers available. -This project is not affiliated with Komikku/Mihon/Tachiyomi. Don't ask for help about these extensions at the -official support means of Komikku/Mihon/Tachiyomi. All credits to the codebase goes to the original contributors. +This project is not affiliated with Komikku/Mihon/Tachiyomi. Don't ask for help about these extensions at the official support means of Komikku/Mihon/Tachiyomi. All credits to the codebase goes to the original contributors. The developer of this application does not have any affiliation with the content providers available. From ec84b58646f3baaf94698e93c7b050bcfbc2ccb9 Mon Sep 17 00:00:00 2001 From: "Mio." Date: Sat, 28 Jun 2025 18:26:38 +0200 Subject: [PATCH 6/6] Push action fixed --- .github/workflows/build_push.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index b9ec4cae..10908a1b 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -96,10 +96,9 @@ jobs: - name: Build extensions (${{ matrix.chunk.number }}) env: - ORG_GRADLE_PROJECT_storeFile: signingkey.jks - ORG_GRADLE_PROJECT_storePassword: ${{ secrets.KEY_STORE_PASSWORD }} - ORG_GRADLE_PROJECT_keyAlias: ${{ secrets.ALIAS }} - ORG_GRADLE_PROJECT_keyPassword: ${{ secrets.KEY_PASSWORD }} + ALIAS: ${{ secrets.ALIAS }} + KEY_STORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }} + KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} run: | ./gradlew $(echo '${{ toJson(matrix.chunk.modules) }}' | jq -r 'join(" ")')