layout, title, titleTemplate, hero, features
| layout |
title |
titleTemplate |
hero |
features |
| home |
SubMiner |
Immersion Mining Workflow for MPV |
| name |
text |
tagline |
image |
actions |
| SubMiner |
Immersion Mining for MPV |
Watch media, mine vocabulary, and build cards without leaving the scene. |
| src |
alt |
| /assets/SubMiner.png |
SubMiner logo |
|
| theme |
text |
link |
| brand |
Install |
/installation |
|
| theme |
text |
link |
| alt |
Explore workflow |
/mining-workflow |
|
|
|
| icon |
title |
details |
| src |
alt |
| /assets/mpv.svg |
mpv icon |
|
Built for mpv |
Tracks subtitles through mpv IPC in real time, with a single launch path and no external bridge services. |
|
| icon |
title |
details |
| src |
alt |
| /assets/yomitan-icon.svg |
Yomitan logo |
|
Yomitan Integration |
Keep your flow moving with instant word lookups and context-aware card creation directly from subtitles. |
|
| icon |
title |
details |
| src |
alt |
| /assets/anki-card.svg |
Anki card icon |
|
Anki Card Enrichment |
Auto-fills card fields with subtitle sentence, clipping, image, and translation so you can focus on learning. |
|
| icon |
title |
details |
| src |
alt |
| /assets/dual-layer.svg |
Dual layer icon |
|
Three-Plane Overlay Stack |
Secondary context plane + visible interactive layer + invisible interaction plane, each with independent behavior and startup state. |
|
| icon |
title |
details |
| src |
alt |
| /assets/highlight.svg |
Highlight icon |
|
N+1 Highlighting |
Surfaces known words from your deck so unknown targets stand out during immersion sessions. |
|
| icon |
title |
details |
| src |
alt |
| /assets/tokenization.svg |
Tokenization icon |
|
Immersion Tracking |
Captures subtitle and mining telemetry to SQLite, with daily/monthly rollups for progress clarity. |
|
| icon |
title |
details |
| src |
alt |
| /assets/subtitle-download.svg |
Subtitle download icon |
|
Subtitle Download & Sync |
Pull and synchronize subtitles with Jimaku plus alass/ffsubsync in one cohesive workflow. |
|
| icon |
title |
details |
| src |
alt |
| /assets/keyboard.svg |
Keyboard icon |
|
Keyboard-Driven |
Run lookups, mining actions, clipping, and workflow toggles with one configurable shortcut surface. |
|
| icon |
title |
details |
| src |
alt |
| /assets/texthooker.svg |
Texthooker icon |
|
Texthooker & WebSocket |
Stream subtitles in real time to browser tools via local WebSocket and keep your stack integrated. |
|
|
<script setup>
const demoAssetVersion = '20260223-2';
</script>
How it fits together
01
Start
Launch with the wrapper or existing mpv setup and keep subtitles in sync.
02
Lookup
Hover or click a token in the interactive overlay to open Yomitan context.
03
Mine
Create cards from Yomitan or mine sentence cards directly from subtitle lines.
04
Enrich
Automatically attach timing-accurate audio, sentence text, and visual evidence.
05
Track
Review immersion history and repeat high-value patterns over time.
See it in action
Subtitles, lookup flow, and card enrichment from a real playback session.
<style>
@import url('
https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');
.landing-shell {
max-width: 1120px;
margin: 0 auto;
padding: 0.5rem 1rem 4rem;
}
.landing-shell,
.landing-shell .step-title,
.landing-shell h1,
.landing-shell h2 {
font-family: 'Manrope', 'Arial', sans-serif;
}
.step-title,
.step-number {
font-family: 'Space Grotesk', 'Manrope', 'Arial', sans-serif;
letter-spacing: -0.01em;
}
.demo-section {
max-width: 960px;
margin: 0 auto;
padding: 2rem 0 0;
}
.demo-section h2 {
font-size: 1.45rem;
font-weight: 600;
margin-bottom: 0.5rem;
letter-spacing: -0.01em;
}
.demo-section p {
color: var(--vp-c-text-2);
margin: 0 0 0.9rem;
line-height: 1.6;
}
.demo-section video {
width: 100%;
border-radius: 12px;
border: 1px solid var(--vp-c-divider);
box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
animation: card-enter 380ms ease-out;
}
.workflow-section {
margin: 2.4rem auto 0;
padding: 0 0 2.5rem;
}
.workflow-section h2 {
font-size: 1.45rem;
font-weight: 600;
margin-bottom: 1rem;
letter-spacing: -0.01em;
}
.workflow-steps {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 1px;
background: var(--vp-c-divider);
border-radius: 12px;
overflow: hidden;
}
@media (max-width: 960px) {
.workflow-steps {
grid-template-columns: repeat(3, 1fr);
}
}
@media (max-width: 640px) {
.workflow-steps {
grid-template-columns: 1fr;
}
}
.workflow-step {
padding: 1.1rem 1.25rem;
background: var(--vp-c-bg-soft);
animation: card-enter 330ms ease-out;
}
.workflow-step .step-number {
display: inline-block;
font-size: 0.7rem;
font-weight: 700;
letter-spacing: 0.05em;
color: var(--vp-c-brand-1);
margin-bottom: 0.5rem;
font-variant-numeric: tabular-nums;
}
.workflow-step .step-title {
font-weight: 600;
font-size: 1rem;
margin-bottom: 0.35rem;
}
.workflow-step .step-desc {
font-size: 0.85rem;
color: var(--vp-c-text-2);
line-height: 1.5;
}
@keyframes card-enter {
from {
opacity: 0.8;
transform: translateY(8px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
</style>