spinss

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 гэх мэт) л хүсэлт илгээх бөгөөд зөвхөн та тохируулж өдөөсөн үед.


🌐 Хэлүүд

Интерфейс 17 хэлээр ирдэг: English, 简体中文, Français, Deutsch, Español, Português, Italiano, Русский, 日本語, 한국어, العربية, हिन्दी, ਪੰਜਾਬੀ, Tiếng Việt, Bahasa Indonesia, اردو, Монгол (Кирилл).


✨ Боломжууд


⌨️ Богино товчлуурууд

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), зураг ![alt](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] дээр дарж болно.


📤 Экспорт (Өөрөөр хадгалах)

"Өөрөөр хадгалах"-г дарж форматаа сонгоно уу:


🔒 Офлайн болон аюулгүй байдал


📦 Суулгац

Урьдчилан бэлдсэн татаж авах

Танай платформын суулгацыг хоёр эх үүсвэрийн аль нэгээс татаж аваарай:

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, бодит гэмтэл биш. Терминалд засна:

  1. MDeX.app-г эхлээд .dmg-ээс /Applications рүү чирж аваарай — dmg-ээс шууд бүү ажиллуул (энэ нь App Translocation болон com.apple.provenance шинж чанарыг өдөөж, macOS 26 дээрх "damaged"-ийн бодит шалтгаан болно).
  2. Шинж чанарыг арилгаж дахин гарын үсэг зурна:
    xattr -cr /Applications/MDeX.app
    codesign --force --deep --sign - /Applications/MDeX.app

    com.apple.provenance нь SIP-аар хамгаалагдсан бөгөөд sudo-тай ч арилгах боломжгүй; дахин гарын үсэг зурснаар гарын үсгийг шинэчилж Gatekeeper ажиллахыг зөвшөөрнө. spctl нь ad-hoc гарын үсэгт rejected гэж хэвээр мэдэгдэнэ — ингэх ёстой, ба open-ийг ** саатуулдаггүй**.

  3. 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.jsonproductName / identifier
Цонхны хэмжээ tauri.conf.jsonapp.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