feat(tokenizer): refine Yomitan grouping and parser tooling

- map segmented Yomitan lines into single logical tokens and improve candidate selection heuristics

- limit frequency lookup to selected token text with POS-based exclusions and add debug logging hook

- add standalone Yomitan parser test script, deterministic utility-script shutdown, and docs/backlog updates
This commit is contained in:
kyasuda
2026-02-16 17:41:24 -08:00
parent 0eb2868805
commit 457e6f0f10
17 changed files with 1667 additions and 293 deletions

View File

@@ -1,65 +1,92 @@
const repositoryName = process.env.GITHUB_REPOSITORY?.split('/')[1];
const base = process.env.GITHUB_ACTIONS && repositoryName ? `/${repositoryName}/` : '/';
const repositoryName = process.env.GITHUB_REPOSITORY?.split("/")[1];
const base =
process.env.GITHUB_ACTIONS && repositoryName ? `/${repositoryName}/` : "/";
export default {
title: 'SubMiner Docs',
description: 'All-in-one sentence mining overlay for MPV with AnkiConnect and dictionary integration',
title: "SubMiner Docs",
description:
"SubMiner: an MPV immersion-mining overlay with Yomitan and AnkiConnect integration.",
base,
head: [
['link', { rel: 'icon', href: '/favicon.ico', sizes: 'any' }],
['link', { rel: 'icon', type: 'image/png', href: '/favicon-32x32.png', sizes: '32x32' }],
['link', { rel: 'icon', type: 'image/png', href: '/favicon-16x16.png', sizes: '16x16' }],
['link', { rel: 'apple-touch-icon', href: '/apple-touch-icon.png', sizes: '180x180' }],
["link", { rel: "icon", href: "/favicon.ico", sizes: "any" }],
[
"link",
{
rel: "icon",
type: "image/png",
href: "/favicon-32x32.png",
sizes: "32x32",
},
],
[
"link",
{
rel: "icon",
type: "image/png",
href: "/favicon-16x16.png",
sizes: "16x16",
},
],
[
"link",
{
rel: "apple-touch-icon",
href: "/apple-touch-icon.png",
sizes: "180x180",
},
],
],
appearance: 'dark',
appearance: "dark",
cleanUrls: true,
lastUpdated: true,
markdown: {
theme: {
light: 'catppuccin-latte',
dark: 'catppuccin-macchiato',
light: "catppuccin-latte",
dark: "catppuccin-macchiato",
},
},
themeConfig: {
logo: {
light: '/assets/SubMiner.png',
dark: '/assets/SubMiner.png',
light: "/assets/SubMiner.png",
dark: "/assets/SubMiner.png",
},
siteTitle: 'SubMiner Docs',
siteTitle: "SubMiner Docs",
nav: [
{ text: 'Home', link: '/' },
{ text: 'Get Started', link: '/installation' },
{ text: 'Mining', link: '/mining-workflow' },
{ text: 'Configuration', link: '/configuration' },
{ text: 'Troubleshooting', link: '/troubleshooting' },
{ text: "Home", link: "/" },
{ text: "Get Started", link: "/installation" },
{ text: "Mining", link: "/mining-workflow" },
{ text: "Configuration", link: "/configuration" },
{ text: "Troubleshooting", link: "/troubleshooting" },
],
sidebar: [
{
text: 'Getting Started',
text: "Getting Started",
items: [
{ text: 'Overview', link: '/' },
{ text: 'Installation', link: '/installation' },
{ text: 'Usage', link: '/usage' },
{ text: 'Mining Workflow', link: '/mining-workflow' },
{ text: "Overview", link: "/" },
{ text: "Installation", link: "/installation" },
{ text: "Usage", link: "/usage" },
{ text: "Mining Workflow", link: "/mining-workflow" },
],
},
{
text: 'Reference',
text: "Reference",
items: [
{ text: 'Configuration', link: '/configuration' },
{ text: 'Anki Integration', link: '/anki-integration' },
{ text: 'MPV Plugin', link: '/mpv-plugin' },
{ text: 'Troubleshooting', link: '/troubleshooting' },
{ text: "Configuration", link: "/configuration" },
{ text: "Anki Integration", link: "/anki-integration" },
{ text: "MPV Plugin", link: "/mpv-plugin" },
{ text: "Troubleshooting", link: "/troubleshooting" },
],
},
{
text: 'Development',
text: "Development",
items: [
{ text: 'Building & Testing', link: '/development' },
{ text: 'Architecture', link: '/architecture' },
{ text: "Building & Testing", link: "/development" },
{ text: "Architecture", link: "/architecture" },
],
},
],
socialLinks: [{ icon: 'github', link: 'https://github.com/ksyasuda/SubMiner' }],
socialLinks: [
{ icon: "github", link: "https://github.com/ksyasuda/SubMiner" },
],
},
};