MDeX v2.2.1 (macOS · Windows · Linux · Tauri v2)
MDeX · "em-dex" (/ˌemˈdɛks/) гэж дуудна — M үсгийн дараа "dex" гэж бичигдсэн, хоёр үе бүхий үг.
нууцлал болон AI туслалцаанд төвлөрсөн олон хэл дээрх Markdown уншигч ба засварлагч. Файл бүр орон нутагдаа боловсрууллагддаг — анхдагч байдлаар сүлжээгүй, байршуулалтгүй, үүлэн синкгүй, зар сурталчилгаагүй, телеметригүй; атом (гэмтлээс хамгаалсан) хадгалалт нь осол эсвэл цахилгаан тасралтад өгөгдөл алдагдахуургүй болгодог. v2.0-ээс хойш MDeX нь заавал биш AI-н тусламжтай засварлах боломжийг мөн санал болгодог — бөгөөд бүрэн офлайн хэвээр байж чадна: орон нутгийн загвар (жишээ нь Ollama) интернет шаарддаггүй; зөвхөн онлайн AI үйлчилгээ (OpenAI / DeepSeek / Anthropic / GLM / Gemini / Kimi гэх мэт) л хүсэлт илгээх бөгөөд зөвхөн та тохируулж өдөөсөн үед.
- Нэг бие даасан HTML фронтэнд (Vue / React байхгүй); Tauri v2 зөвхөн үндсэн биерүүг (цонх, цэс, файлын диалог) хангана.
- Ажиллах үеийн сүлжээний хүсэлт байхгүй:
marked/KaTeX/highlight.js/DOMPurify/mermaid/jsPDF/html2canvas-pro/turndown/@retorquere/bibtex-parserболон бүх KaTeX woff2 фонт нь нэгindex.htmlдотор шингээгдсэн / base64-д суулгасан. .md/.markdown/.htmlдэмждэг; үндсэн.mdнээгчээр тохируулж болно — давхар дарж нээдэг.
🌐 Хэлүүд
Интерфейс 17 хэлээр ирдэг: English, 简体中文, Français, Deutsch, Español, Português, Italiano, Русский, 日本語, 한국어, العربية, हिन्दी, ਪੰਜਾਬੀ, Tiếng Việt, Bahasa Indonesia, اردو, Монгол (Кирилл).
- Хэрэгслийн мөрний хэлний цэснээс хэзээд сэлгэж болно; таных сонголт сэшвүүд дунд хадгалагдана.
- Араб болон Урду хэл баруунаас зүүн тийш (RTL) автоматаар харагдана — биеийн бичвэр, гарчиг, жагсаалтын тэмдэгт, бүхэл хэрэгслийн мөр баруун тийш ог оглуулна; шингээсэн кодын блокууд, LaTeX математик, англи нэр томьёо болон хувилбарын дугаар зүүнээс баруун тийш хэвээрээ, ог оглуулагдахгүй.
- Энэхүү README нь өөрөө бүх 17 хэл рүү орчуулагдсан — энэ хуудасны хамгийн дээр байрлах сонгогчоос ашиглана уу.
✨ Боломжууд
- Олон таб + олон цонх: нэгэн зэрэг хэд хэдэн файл
нээх; хадгалагдаагүй өөрчлөлтүүд цэгээр тэмдэглэгдэж, хаахын өмнө
асууна; табыг хаахын тулд дунд дарна.
.md-г давхар дарвал өөрийн гэсэн цонх нээгдэнэ (файл бүрд нэг цонх); аль нээлттэй файлыг давхар дарвал дахин нээхийн оронд тэр цонх руу фокус хийнэ. - Амьдралтай хуваагдсан урьдчилан харах: хуваагчийг чирж хэмжээг өөрчилнө; хэрэгслийн мөрний товч Хуваагдсан / Засварлагч / Урьдчилан харах гэж ээлжилнэ.
- Дарж-байрлуулах: засварлагч дотор дарж урьдчилан харахыг гүйлгэнэ; урьдчилан харах дотор дарж засварлагч дахь курсорыг үсэрнэ.
- Хайж бүхэлд нь сольих: олж, нэгийг буюу бүгдийг сольих, тааралдсан тоог харуулна.
- Математик: шугаман
$…$ба блок$$…$$(бас\(...\),\[...\]), KaTeX-ээр дүрслэгдэнэ; урт тэгшитгэл оператор дээр мөрлүүд эсвэл автоматаар жижигрэнэ. - Кодын өнгө оруулалт: хэл нь автоматаар танигдана; том баримтууд зөөлөн хэвээр үлдэхийн тулд viewport-аар дахин өнгө оруулна.
- Mermaid диаграмм:
```mermaidблок нь урсгал зураг / дараалал / класс / төлөв / Гантт / бөөнөөр зэрэг болон харагдана; диаграм дээр дарж бие даасан томруулах/шилжүүлэх/бүтэн дэлгэцийн харагдацын цонхыг нээж, засварлах үед шууд шинэчлэгдэнэ. - Зураг: нааж / буулгаж / сонгож — баримтын хажууд
<файлыннэр>_images/фолдерт цэвэр харьцангуй лавлагаатайгаа хадгалагдана (инлайн base64 байхгүй); ноорог нь хадгалах үед шилжүүлэгдэх түр фолдер ашиглана; «Өөрөөр хадгалах» зургуудыг зорилтот руу флэт болгоно; анхдагч байдлаар голдоо ирдэг. - Фонтын томруулалт: засварлагч болон урьдчилан харах
фонтыг бие даан томруул (−/хувь/+ удирдлага, эсвэл
⌘/Ctrl + =/−/0); дахин ажиллуулахад хадгалагдана. - Хүснэгт: GFM хүснэгтүүд; нарийн хүснэгтүүд агуулгад голдоо ирдэг, өргөн нь хэв хэрэгсэхгүйгээр хэвтээгээр гүйлгэгдэнэ.
- Эшлэл (BibTeX):
[@key]/\cite{key}бичигдэх, тоон хэв маяг; төгсгөлд нь References жагсаалт бий болно, бичвэр доторх[n]болон оролтын хооронд хоёр чиглэлийн үсрэлттэй; шингээсэн```bibtexблок эсвэл тусад нь ачаалсан.bibдэмжинэ. - HTML дэмжлэг:
.htmlфайлуудыг дүрслэхэд нээж болно; HTML болон Markdown хооронд хөрвүүлнэ. - Загвар / хэл: бараан / гэгээтэй, 17 UI хэл (English, 简体中文, Français, Deutsch, Español, Português, Italiano, Русский, 日本語, 한국어, العربية, हिन्दी, ਪੰਜਾਬੀ, Tiếng Việt, Bahasa Indonesia, اردو, Монгол (Кирилл) — Араб болон Урду автоматаар баруунаас зүүн тийш).
- Автомат ноорог: агуулга тогтмол хадгалагдаж, гэнэтийн хаагдсан / нуралтын дараа сэргээгдэнэ.
- Үгийн тоо: статус мөр нь тэмдэгт / мөр / үгийг амьдралтай харуулна, мөн одоогийн мөр, баганыг харуулна.
- Чирж-авчрах:
.mdфайлыг цонхон дээр буулгаж нээж болно; зураг буулгаж оруулна. - Экспорт: Markdown / HTML / PDF (вектор) / LaTeX хэлбэрээр хадгална.
- Текстний өнгө: багажны самбар сонголтыг
<span style="color:…">-д орооно. - AI-н тусламжтай засварлах: текст сонгоод
⌘/Ctrl + J(эсвэл хэрэгслийн мөрний товч) дарж AI-д үгийг сайжруулах, өргөтгөх эсвэл өнгө аясыг сольихыг даалгана; онлайн үйлчилгээ (OpenAI / DeepSeek / Anthropic / GLM / Gemini / Kimi гэх мэт) болон Ollama шиг орон нутгийн загвар дээр бүрэн офлайн ажилладаг; үр дүн нь эхийг сольохоос өмнө урьдчилан харагдана, API түлхүүр зөвхөн орон нутагтаа хадгалагдана. - Буцах / Урагш: баримт ба курсорын байрлалын нэгдмэл
түүх;◀ ▶ товч,
Alt+←/→. - Холбоос дагах: урьдчилан харах дотор холбоос даран зорьтыг шинэ табед нээнэ (http системийн хөтөч дотор); одоогийн баримт солигдохгүй.
⌨️ Богино товчлуурууд
macOS дээр ⌘, Windows / Linux дээр Ctrl
ашиглана.
| Богино товчлуур | Үйлдэл |
|---|---|
⌘/Ctrl + N |
Шинэ |
⌘/Ctrl + O |
Файл нээх |
⌘/Ctrl + S |
Хадгалах |
⌘/Ctrl + Shift + S |
Өөрөөр хадгалах |
⌘/Ctrl + W |
Таб хаах |
⌘/Ctrl + Shift + W |
Цонх хаах |
⌘/Ctrl + F |
Хайх |
⌘/Ctrl + H |
Сольих |
⌘/Ctrl + B / I / E |
Бүдүүн / Налуу / Шугаман код |
⌘/Ctrl + K |
Холбоос оруулах |
Tab |
2 зайгаар догол мөр |
Alt/Option + чирэх |
Тэгш өнцөгт (багана) сонгох |
Alt/Option + Shift + ←↑↓→ |
Багана сонголтыг өргөтгөх |
Esc |
Багана сонголтыг цуцлах |
⌘/Ctrl + =/−/0 |
Хамгийн сүүлд дарсан самбар (засварлагч эсвэл урьдчилан харах)-г томруулах: томруулах / жижиглэх / сэргээх |
⌘/Ctrl + J |
AI-н тусламжтай засварлах |
Олон цонх нээлттэй үед богино товчлуурууд зөвхөн фокус хийсэн цонхонд нөлөөлнө. Зураг үзэх цонх нээлттэй үед
⌘/Ctrl + =/−/0нь зургийг томруулна.
📝 Товч мэдээллийн хуудас
Markdown: гарчиг # / ## / ###, бүдүүн
**text**, налуу *text*, дундуураа зураастай
~~text~~, шугаман код `code`, кодын блокууд
(гурван backtick, хэлний сонголттой эсвэл үгүй), ишлэл
> text, жагсаалт - / 1., даалгаврын
жагсаалт - [ ] / - [x], холбоос [text](url),
зураг , хуваагч ---, хүснэгт
| A | B |.
Математик: шугаман $E = mc^2$; блок
$$\int_0^1 x\,dx$$ (мөрөнд хамаарч болно). LaTeX бичигдэх
хэв маяг ашигладаг, KaTeX-ээр дүрслэгдэнэ; кодын блок доторх
$ нь математик тусгаарлагч байдлаар үзэхгүй.
align / aligned, матриц, cases
болон бусад нийтлэг орчнуудыг дэмждэг.
Эшлэлүүд: бичвэрт [@key] эсвэл
[@a; @b] бичнэ (LaTeX-д нийцтэй \cite{key}),
номын санг ```bibtex блокоор шингээх эсвэл "Refs" товчоор
.bib ачаална. Төгсгөлд нь References жагсаалт бий болно;
бичвэр доторх [n] дээр дарж болно.
📤 Экспорт (Өөрөөр хадгалах)
"Өөрөөр хадгалах"-г дарж форматаа сонгоно уу:
- Markdown (.md): эхийг хадгалах ба одоогийн табын нэр / замыг шинэчлэх.
- HTML (.html): биеэ даасан HTML ба CSS + кодын өнгө
оруулалт шингээгдсэн; математик нь
$…$бичвэрээр хадгалагдаж, шингээсэн KaTeX-ээр автоматаар дүрслэгдэнэ. - PDF вектор: системийн хэвлэх диалог, вектор гаралт, ямар ч хэмжээсэнд тод. "Save as PDF"-г сонгоно уу.
- LaTeX (.tex): эмхэтгэгдэх боломжтой
.texэх рүү хөрвүүлэгдэнэ (documentclass болон багцуудтай; математик хэвээрээ). Нэг хувь экспортлоно.
🔒 Офлайн болон аюулгүй байдал
- Ажиллах үеийн сүлжээний хүсэлт байхгүй.
Бүтээгдэхүүний гаралт
dist/index.htmlөөрийгөө шалгасан:src=/href=/url()/@importгадаад холбоос байхгүй. - Хатуу CSP (зөвхөн орон нутгийн IPC, WAN байхгүй); бүх файл орон нутагдаа уншигдах/бичигдэх бөгөөд юу ч байршуулдаггүй.
- Шалгах: Wi-Fi-г унтрааж / кабелийг салгаад ажиллуулна уу — математик, зураг, кодын өнгө оруулалт, Mermaid бүгд ажиллах болно.
dist/index.htmlнь约 хэдэн арванhttps://github.com/…мөрүүдийг харуулсаар байна; эдгээр нь бүгдmarked/highlight.jsзэрэгийн лицензийн / эхийн тайлбар дотор байрладаг — хэзээ ч хүсэлт өдөөдөггүй энгийн бичвэр; нээлттэй эхийн лицензүүдийг хүндэтгэх үүднээс хэвээр үлдээсэн.
📦 Суулгац
Урьдчилан бэлдсэн татаж авах
Танай платформын суулгацыг хоёр эх үүсвэрийн аль нэгээс татаж аваарай:
- GitHub Releases: https://github.com/fwzheng/mdex/releases
- Толын сайт: https://www.spinss.cn/
macOS (.dmg, universal arm64 + x86_64), Windows
(.exe, NSIS installer), Linux (.deb /
.rpm / .AppImage).
macOS дээр гарын үсэггүй аппыг нээх (Gatekeeper-ийг тойрох)
Энэ апп нь хөгжүүлэгчийн гарын үсэггүй / notarize хийгдээгүй (офлайн
тохиолдолд ихэвчлэн онлайнаар notarize хийх боломжгүй). macOS 12+,
түүний дотор macOS 26 (Tahoe) дээр
.dmg-ээс шууд эсвэл шинээр хуулсан бүтээгдэхүүнийг
ажиллуулах нь "MDeX.app is damaged and can't be
opened." гэсэн алдаатай бүтэлгүйтэнэ. Энэ бол Gatekeeper, бодит
гэмтэл биш. Терминалд засна:
MDeX.app-г эхлээд.dmg-ээс/Applicationsрүү чирж аваарай — dmg-ээс шууд бүү ажиллуул (энэ нь App Translocation болонcom.apple.provenanceшинж чанарыг өдөөж, macOS 26 дээрх "damaged"-ийн бодит шалтгаан болно).- Шинж чанарыг арилгаж дахин гарын үсэг зурна:
xattr -cr /Applications/MDeX.app codesign --force --deep --sign - /Applications/MDeX.appcom.apple.provenanceнь SIP-аар хамгаалагдсан бөгөөдsudo-тай ч арилгах боломжгүй; дахин гарын үсэг зурснаар гарын үсгийг шинэчилж Gatekeeper ажиллахыг зөвшөөрнө.spctlнь ad-hoc гарын үсэгтrejectedгэж хэвээр мэдэгдэнэ — ингэх ёстой, баopen-ийг ** саатуулдаггүй**. open /Applications/MDeX.app-аар ажиллуулна (эсвэл давхар дарна). Анхны ажиллагаа нь нэг удаа асууж магадгүй — System Settings → Privacy & Security → Open Anyway-аар баталгаажуулна, эсвэл апп дээр баруун дарж → Open.
🛠️ Эх кодоос эмхэтгэх
Эх код: https://github.com/fwzheng/mdex. Эмхэтгэх зааврыг репозиторий дотроос дага (суулгалт, хамаарал, тушаалууд тэнд бичигдсэн)。
📁 Төслийн бүтэц
markdown/
├── app-shell.html # фронтэнд бүрхүүл (HTML+CSS); аппын логик src/app.js-д байна
├── src/
│ ├── app.js # аппын логик (// @ts-check; build-html.mjs-ээр dist рүү шингээгдсэн)
│ ├── i18n.js # 17-language UI strings (pure data; window.I18N, split from app.js)
│ ├── help.js # help-document data (HELP_STRINGS + SK/sc/CITE_HELP_*, window.HELP_DATA)
│ └── globals.d.ts # төрлийн шалгалтын vendor / Window төрлийн тунхаглалууд
├── tsconfig.json # төрлийн шалгалтын тохиргоо (tsc --noEmit; bundlerгүй)
├── tools/
│ ├── fetch-vendor.mjs # нэг удаа: deps-ийг vendor/ рүү татах + бүрэн бүтэн байдлын түгжээ (зөвхөн энд онлайн)
│ ├── build-html.mjs # vendor + src/app.js + i18n.js + help.js-ийг dist/index.html рүү шингээх (KaTeX фонтууд → base64)
│ └── test-pure.mjs # фронтэндийн цэвэр функцын тестүүд (npm test)
├── dist/index.html # бүтээгдэхүүний гаралт: бие даасан нэг файл (Tauri frontendDist)
├── vendor/ # татаж авах кэш + integrity.json (.gitignore)
├── package.json # @tauri-apps/cli + typescript(dev) + скриптүүд
└── src-tauri/
├── Cargo.toml # tauri 2 + dialog / single-instance + encoding_rs
├── build.rs # tauri_build::build()
├── tauri.conf.json # 1200×750 цонх, хатуу CSP, icon-ууд, .md холбоо, цэсний hook
├── capabilities/default.json
├── icons/ # `cargo tauri icon`-оос бүрэн icon олонлог
└── src/{main.rs, lib.rs} # цэс + файл IO + олон цонхны чиглүүлэлт + атомыг бичих / файлын өмчлөл
🎨 Өөрчлөлт хийх
| Өөрчлөх | Хаана |
|---|---|
| Аппын нэр / Bundle ID | src-tauri/tauri.conf.json → productName /
identifier |
| Цонхны хэмжээ | tauri.conf.json → app.windows[0] (анхдагч
1200×750) |
| Icon-ууд | эх зургийг солиод, дараа нь npm run icon |
| Загварын өнгө / фонт | app-shell.html-ийн дээрх :root CSS
хувьсагчууд |
| Цэсний зүйлс | src-tauri/src/lib.rs дахь
build_menu() |
| UI бичвэрүүд / тусламжийн баримт | src/app.js дахь I18N /
HELP_STRINGS |
| Хамаатлагийн хувилбарууд | tools/fetch-vendor.mjs-ийн дээрх VERSIONS
(дараа нь npm run fetch -- --force) |
📄 Лиценз
Тус проектын өөрийн код нь Apache License 2.0-ийн дор нээлттэй.
Гуравдагч талын бүрэлдэхүүн: Энэ проект зарим гуравдагч талын бүрэлдэхүүн (үүнд marked, KaTeX, highlight.js, DOMPurify, jsPDF, html2canvas-pro, turndown, mermaid, @retorquere/bibtex-parser болон Tauri гэх мэт боловч зөвхөн эдгээрээр хязгаарлагдахгүй) ашигладаг; тэдгээрийн зохиогчийн эрх болон лицензийн мэдэгдэл тус бүрийн эх файлд нарийвчлагдсан байгаа. Эдгээр бүрэлдэхүүн нь тус тус MIT, BSD-3-Clause, Apache-2.0, MPL-2.0 зэрэг нээлттэй эхийн лицензийн дор тархдаг.
Түгээлтийн шаардлага: Apache-2.0 лицензийн дагуу энэ проектыг дахин түгээх үед LICENSE болон NOTICE файлуудыг хадгалах шаардлагатай; хэрвээ та эх файлыг өөрчилсөн бол холбогдох файлд өөрчлөлтийг тодорхой тэмдэглэх ёстой.
📬 Холбоо
Асуудал эсвэл санал хүсэлтийн хувьд: 郑法伟 (Fawei Zheng) fwzheng@bit.edu.cn