refactor(tsukihime): swap Animetosho backend for TsukiHime API (#165)

This commit is contained in:
2026-07-13 22:03:35 -07:00
committed by GitHub
parent 49b926e08c
commit 2e2ee3f028
90 changed files with 2253 additions and 1695 deletions
+1 -1
View File
@@ -98,7 +98,7 @@ export const CORE_DEFAULT_CONFIG: Pick<
openCharacterDictionaryManager: 'CommandOrControl+D',
openRuntimeOptions: 'CommandOrControl+Shift+O',
openJimaku: 'Ctrl+Shift+J',
openAnimetosho: 'Ctrl+Shift+T',
openTsukihime: 'Ctrl+Shift+T',
openSessionHelp: 'CommandOrControl+Slash',
openControllerSelect: 'Alt+C',
openControllerDebug: 'Alt+Shift+C',
@@ -5,7 +5,7 @@ export const INTEGRATIONS_DEFAULT_CONFIG: Pick<
ResolvedConfig,
| 'ankiConnect'
| 'jimaku'
| 'animetosho'
| 'tsukihime'
| 'anilist'
| 'mpv'
| 'yomitan'
@@ -97,8 +97,8 @@ export const INTEGRATIONS_DEFAULT_CONFIG: Pick<
languagePreference: 'ja',
maxEntryResults: 10,
},
animetosho: {
apiBaseUrl: 'https://feed.animetosho.org',
tsukihime: {
apiBaseUrl: 'https://api.tsukihime.org/v1',
maxSearchResults: 10,
},
mpv: {
+3 -3
View File
@@ -616,11 +616,11 @@ export function buildCoreConfigOptionRegistry(
description: 'Accelerator that opens the Jimaku subtitle search modal.',
},
{
path: 'shortcuts.openAnimetosho',
path: 'shortcuts.openTsukihime',
kind: 'string',
defaultValue: defaultConfig.shortcuts.openAnimetosho,
defaultValue: defaultConfig.shortcuts.openTsukihime,
description:
'Accelerator that opens the Animetosho subtitle search modal (English/Japanese tabs).',
'Accelerator that opens the TsukiHime subtitle search modal (configured secondary/Japanese primary tabs).',
},
{
path: 'shortcuts.openSessionHelp',
@@ -401,16 +401,17 @@ export function buildIntegrationConfigOptionRegistry(
description: 'Maximum Jimaku search results returned.',
},
{
path: 'animetosho.apiBaseUrl',
path: 'tsukihime.apiBaseUrl',
kind: 'string',
defaultValue: defaultConfig.animetosho.apiBaseUrl,
description: 'Base URL of the Animetosho JSON feed API. No API key required.',
defaultValue: defaultConfig.tsukihime.apiBaseUrl,
description:
'Base URL of the TsukiHime API (Animetosho successor). No API key required.',
},
{
path: 'animetosho.maxSearchResults',
path: 'tsukihime.maxSearchResults',
kind: 'number',
defaultValue: defaultConfig.animetosho.maxSearchResults,
description: 'Maximum Animetosho search results returned.',
defaultValue: defaultConfig.tsukihime.maxSearchResults,
description: 'Maximum TsukiHime search results returned.',
},
{
path: 'anilist.enabled',
+2
View File
@@ -53,7 +53,9 @@ export const SPECIAL_COMMANDS = {
SUBSYNC_TRIGGER: '__subsync-trigger',
RUNTIME_OPTIONS_OPEN: '__runtime-options-open',
JIMAKU_OPEN: '__jimaku-open',
/** @deprecated Use TSUKIHIME_OPEN. */
ANIMETOSHO_OPEN: '__animetosho-open',
TSUKIHIME_OPEN: '__tsukihime-open',
RUNTIME_OPTION_CYCLE_PREFIX: '__runtime-option-cycle:',
REPLAY_SUBTITLE: '__replay-subtitle',
PLAY_NEXT_SUBTITLE: '__play-next-subtitle',
+4 -4
View File
@@ -148,12 +148,12 @@ const INTEGRATION_TEMPLATE_SECTIONS: ConfigTemplateSection[] = [
key: 'jimaku',
},
{
title: 'Animetosho',
title: 'TsukiHime',
description: [
'Animetosho subtitle search configuration (English and Japanese). No API key required.',
'TsukiHime subtitle search configuration for Japanese primary and configured secondary subtitles. No API key required.',
],
notes: ['Hot-reload: Animetosho changes apply to the next Animetosho request.'],
key: 'animetosho',
notes: ['Hot-reload: TsukiHime changes apply to the next TsukiHime request.'],
key: 'tsukihime',
},
{
title: 'YouTube Playback Settings',