Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Lexis

heptazeroheptazero2k downloads

Turn note titles in a folder into your word bank: in-text highlighting, hover definitions, FSRS spaced-repetition review, auto-collected occurrences, and a review heatmap.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates70

简体中文

Lexis is a local-first personal lexicon for Obsidian. Your notes are the database: no account, hosted service, or proprietary store is required.

What it does

Store entries as files or inside a note

  • One file per entry. Point Lexis at one or more folders. Each note title becomes an entry; frontmatter aliases are indexed too.
  • Many entries in one file. Mark a note with lexis-inline: true, then write Name / Alias:: annotation. Spaces around / are optional, the delimiter is configurable, and \/ writes a literal slash. This is useful for recurring characters, places, objects, and factions in a novel without creating hundreds of tiny files.
---
lexis-inline: true
---

## Characters
Yalda / Yal {captain}:: A painter who appears under several names.
Otto:: Keeps the notebook everyone else forgets.

Entry colors make people or concepts easier to recognize without tying meaning to a raw color. Under Inline entries → Entry colors, one row may contain aliases such as captain / commander / ENTJ; spaces around / are optional and every name resolves to the same color. Use the preferred name at the end of an inline entry, such as {captain}. Typing { or placing the cursor inside {} opens fuzzy suggestions from existing entry colors; names used in notes but missing from the rules are listed at the top of the Entry colors settings. A one-file entry uses lexis-color: captain in frontmatter. You may also write a hex color directly, such as {#8b5cf6} or lexis-color: "#8b5cf6". Entry colors override category, tag, dictionary, and global colors.

Inline entries can be grouped by file or heading. Heading groups may follow the nearest heading or a fixed level from H1 to H6. With H2 selected, nested headings such as H3 and H4 inherit their nearest H2 group, which is useful for global categories such as characters and settings. In an inline note, typing the configured heading marker and a space opens fuzzy suggestions collected from headings at that level across all inline notes.

Read with the same lexicon everywhere

Lexis highlights known entries and shows their notes on hover in:

  • Obsidian Markdown, Live Preview, Canvas nodes and edge labels, and the built-in PDF viewer
  • compatible epub.js-based EPUB readers
  • Chromium browsers through Lexis Web
  • Zotero Reader through Lexis for Zotero

Selected text can be added to a dictionary, saved as an occurrence, or attached as an alias. Obsidian remains the source of truth; the browser and Zotero companions communicate with it over an authenticated loopback-only bridge.

Each Obsidian dictionary has its own highlight switch. Lexis Web keeps a separate visibility profile for each website: open the extension popup to show or hide dictionaries on the current site. Browser choices do not overwrite Obsidian settings, and the current page updates immediately. image

Review what still needs memory

  • FSRS spaced repetition with note and occurrence-cloze cards
  • review by dictionary, folder, tag, current note, or the direct links of one selected file; choose whole notes, syntax cards, or both
  • choose one or all answers on multi-cloze cards, and suspend cards without deleting notes or highlights
  • daily minimum and full goals, deduplicated completions, and a seven-day chart linked to the review log
  • saved review plans combining folders, dictionaries, tags, and Hub links; expandable folder counts
  • session progress: green completed, red retry, and neutral remaining; undo and skip
  • a collapsible long-term review heatmap
  • highlights that fade as memory stability grows
  • real reading encounters that can pull a distant review closer
  • retirement candidates based on long absence, with the final decision always left to you

Install

Obsidian

Install Lexis from Settings → Community plugins → Browse. For manual installation, download main.js, manifest.json, and styles.css from the latest Obsidian release into <vault>/.obsidian/plugins/lexis/.

Browser companion

  1. Download Lexis Web 1.2.4 for Chrome or Lexis Web 1.2.4 for Firefox.
  2. Extract it, open chrome://extensions, enable Developer mode, and choose Load unpacked.
  3. Enable Local bridge in Lexis settings, then copy its port and access token into Lexis Web.

Chrome does not auto-update unpacked extensions. Replace the extracted folder with a newer browser release when needed.

Zotero companion

  1. Download Lexis for Zotero 0.2.2 (lexis-zotero-0.2.2.xpi).
  2. In Zotero, open Tools → Plugins, choose Install Plugin From File, and select the XPI.
  3. Enter the same local bridge port and token in Lexis for Zotero.

After the first manual installation, Zotero can update the add-on from its update feed.

Quick start

  1. In Settings → Lexis, add one or more dictionary folders.
  2. Read a Markdown, PDF, or EPUB document. Matching entries are highlighted; hover to open the card.
  3. Select unfamiliar text and add it to a dictionary. Lexis can save the surrounding sentence as an occurrence.
  4. Open Lexis Home to review due entries or inspect retirement candidates.

The interface language can be switched between Chinese and English in Lexis settings. Translations are kept together by message key in src/i18n.ts, so adding another language does not require searching through the UI code.

Where data lives

Dictionary notes and FSRS fields stay in vault Markdown files. Lexis settings and review history stay in Obsidian's fixed .obsidian/plugins/lexis/data.json. Encounter history defaults to .obsidian/plugins/lexis/encounters/; Settings → Lexis → Data storage → Encounter data folder accepts a dedicated vault-relative folder path. Editing does nothing until the check button is pressed; the undo button discards the draft. The switch copies only the active encounter baseline and per-device, per-day .jsonl files, leaving old copies for manual cleanup. It does not move data.json or dictionary notes. Browser settings and its temporary dictionary cache live in the browser's extension storage.

Note blocks

Use a lexis code block to render memory, relationship, and occurrence data inside an entry note:

  • curve — retention curve
  • rel [type] — typed bidirectional relations
  • occ — unsaved occurrences
  • derived — root-derived entries
  • blank — all applicable sections

Relation types come from heading text rather than a fixed list. Any Markdown heading level (# through ######) works. For example:

### Antonyms
```rel Antonyms
```
[[cold]]

This is shorthand for rel Antonyms inside a lexis block. The block adds missing reverse links without repeating links already written in the note.

Use lexis-home for a compact home summary, or lexis-heatmap for the heatmap alone.

Daily goals are configured in Settings → Lexis → Review → Review goals. Today's target is fixed when the dashboard first opens; changes apply tomorrow. Each cloze counts separately, regardless of whether answers are shown individually or together. Only remembered cards count as completed, once per day, across review entry points.

Create saved plans on Lexis Home. A lexis-home block can show one plan by name:

```lexis-home
plan: Mathematics
```

Without plan:, the block shows the combined plans, or the dictionary when no plans are saved. Goals, plans, and daily target snapshots are stored in the existing Lexis settings file; no extra data folder is created.

Why a personal lexicon

Lexis starts from one claim: vocabulary is infrastructure, not a study subject. Every field brings its own terms, and the half-known ones are exactly those your eyes learn to skip.

  • A dictionary that is always present can become part of memory. Clark and Chalmers' extended-mind thesis describes a trusted, constantly available external store functioning like recall. Lexis aims for those conditions: one lexicon, available by hover on every reading surface.
  • Highlighting supports noticing. Research on textual enhancement finds that visually enhanced forms attract attention and can improve learning over unenhanced input (eye-tracking study, vocabulary and grammar study). It does not remove the need to retrieve a memory.
  • Words are learned through re-encounter. A lookup is an event; a word seen repeatedly in real context becomes knowledge. Global highlighting turns ordinary reading into a source of those encounters.
  • Noticing is not retention. Lexis therefore separates attention from review. The highlighter gets the term noticed; FSRS schedules retrieval practice.

Lexis does not promise faster reading or learning without effort.

Why highlights fade, reviews move, and entries retire

  • Salience is scarce. Repeated visual cues lose force—the same family of effects behind banner blindness. As FSRS stability S grows, a highlight fades toward a configurable floor: final opacity = base opacity × [1 - S/(S+20) × (1-fade floor)]. A support should recede when the skill is internalized.
  • A hover can reveal friction. Testing-effect and desirable-difficulty research make retrieval attempts informative. A hover is noisy—it may mean curiosity, not forgetting—so Lexis may move a review date closer but never counts the hover as a review or changes a difficulty score.
  • Importance appears through use. At add time, nobody knows whether an entry will become foundational or never appear again. Lexis surfaces long-unseen entries with evidence and lets you retire, keep, or master them; it never decides automatically.
  • A personal lexicon is an OED for one reader. The Oxford English Dictionary grew from dated, sourced citation slips. Lexis applies the same pattern to one person's reading history: definitions and occurrences accumulate from actual encounters.

Privacy and architecture

  • Dictionary data stays in ordinary Markdown files in your vault.
  • Review state is stored in lexis-* frontmatter fields.
  • The optional bridge listens only on a configurable loopback port and requires a token.
  • The browser and Zotero companions do not become separate databases.
  • Scanned PDFs without a text layer cannot be highlighted.

See the full Lexis Privacy Policy.

Development

The repository contains all three clients:

  • Obsidian: src/, bundled to main.js
  • Browser: pkg/browser-extension/
  • Zotero: pkg/zotero-extension/

The Obsidian source is TypeScript. Run npm install once, then use npm run typecheck, npm run build, or npm run dev. Releases still contain the mobile-compatible main.js, manifest.json, and styles.css only.

Issues and contributions are welcome in the GitHub repository.

HealthExcellent
ReviewSatisfactory
About
Treat note titles in a folder as a word bank with alias support and create word notes from selected text. Highlight bank words in reading and preview, show hover definitions, auto-collect example occurrences, and run FSRS spaced-repetition cards (word→context and cloze) with progress saved to frontmatter. Display bidirectional relations (synonyms, roots, look-alikes) and a review heatmap to guide study.
FlashcardsReviewAnnotation
Details
Current version
1.17.23
Last updated
3 days ago
Created
4 months ago
Updates
70 releases
Downloads
2k
Compatible with
Obsidian 1.8.7+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
heptazeroheptazeroheptazero
GitHubheptazero
  1. Community
  2. Plugins
  3. Flashcards
  4. Lexis

Related plugins

LearnKit

A native study system for your Obsidian vault. LearnKit turns notes into durable knowledge with flashcards, spaced repetition, tests, and more.

Annotation Marker

Add colored highlights, inline comments and ruby (phonetic) annotations to notes while keeping original Markdown untouched

Cornell Marginalia

Renders Cornell-style marginal notes using the %%> ... %% syntax. Keeps your notes clean for flashcards and export.

Track Changes

Review CriticMarkup suggestions in a side panel. Accept, reject, or reply.

CBT Exam Simulator

A robust, offline-first CBT exam simulator using FlashQuiz format.

Admonition

Admonition block-styled content.

Spaced Repetition

Fight the forgetting curve by reviewing flashcards & entire notes.

Flashcards

Anki integration.

Raindrop Highlights

Sync your Raindrop.io highlights.

Yanki

Sync flashcards from a folder in your vault to Anki. Pure Markdown syntax. No fuss.