#6146·memos

Feature Request: Support Custom Heading Anchors for Non-Latin Languages

Author: Nisekoi5Created Aug 5, 2026Updated Sep 13, 2026
LabelsStale

Pre-submission Checklist

  • I have searched existing issues and confirmed this has not already been requested
  • This is a feature request, not a bug report or support question

Area

Tags / organization

Problem or Use Case

Feature Description

Currently, extracts Markdown headings into navigation links and generates clickable element IDs (anchors). However, the anchor slugification logic relies on replace(/[^\w\s-]/g, ""), which strips out all non-Latin characters (e.g., Chinese, Japanese, Korean, Cyrillic, etc.).

This results in empty anchor IDs or broken links for documents written in non-English languages: https://github.com/usememos/memos/blob/83eab44695ec95205990e4e0c1045dbfa6caf4f3/web/src/utils/markdown-manipulation.ts#L100

Who Would Use This?

All other users of non-Latin-based languages

Proposed Solution

  1. Support Custom Anchors Syntax: Implement explicit custom anchor syntax similar to [VitePress Custom Anchors](https://vitepress.dev/guide/markdown#custom-anchors) (e.g., ## Heading {#custom-anchor}).
  2. Improve Slugification (Optional/Bonus): Preserve Unicode characters or use standard URL-encoding for heading slugs so auto-generated anchors work out-of-the-box for internationalized content.

Alternatives Considered

No response

Compatibility and Migration

No response

Examples

No response

Additional Context

No response