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فائل کو ڈبل کلک کرنے سے اس کی اپنی ونڈو کھل جاتی ہے (ہر فائل کے لیے ایک ونڈو)؛ پہلے سے کھلی ہوئی فائل کو ڈبل کلک کرنے سے اسے دوبارہ کھولنے کے بجائے اس ونڈو پر فوکس ہو جاتا ہے۔ - لائیو اسپلٹ پریویو: سائز تبدیل کرنے کے لیے ڈیوائیڈر کو کھینچیں؛ ٹول بار بٹن Split / Editor / Preview کے درمیان چکر لگاتا ہے۔
- کلک ٹو پوزیشن: پریویو کو اسکرول کرنے کے لیے ایڈیٹر میں کلک کریں؛ ایڈیٹر میں کرسر جمپ کرنے کے لیے پریویو میں کلک کریں۔
- تلاش و تبدیلی: تلاش کریں، ایک یا تمام کو تبدیل کریں، میچ کاؤنٹ کے ساتھ۔
- ریاضی: اِن لائن
$…$اور بلاک$$…$$(نیز\(...\),\[...\])، KaTeX کے ذریعے رینڈر ہوتے ہیں؛ طویل مساواتیں آپریٹرز پر لپٹتی ہیں یا خود کار طور پر سکڑ جاتی ہیں۔ - کوڈ ہائی لائٹنگ: زبان خود کار طور پر تسلیم ہوتی ہے؛ بڑے دستاویزات نرم رہنے کے لیے ویو پورٹ کے لحاظ سے لیزی ہائی لائٹ ہوتے ہیں۔
- 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 + drag |
مستطیل (کالم) انتخاب |
Alt/Option + Shift + ←↑↓→ |
کالم انتخاب کو بڑھائیں |
Esc |
کالم انتخاب منسوخ کریں |
⌘/Ctrl + =/−/0 |
آخری کلک کیے گئے پین (ایڈیٹر یا پیش نظارہ) کو زوم کریں: بڑا / چھوٹا / ری سیٹ |
⌘/Ctrl + J |
AI کی مدد سے ترمیم |
متعدد ونڈوز کھلی ہونے پر، شارٹ کٹس کا اثر صرف فوکس ونڈو پر ہوتا ہے۔ جب تصویر دیکھنے والی ونڈو کھلی ہو، تو
⌘/Ctrl + =/−/0تصویر کو زوم کرتا ہے۔
📝 چیٹ شیٹ
Markdown: ہیڈنگز # / ## / ###، بولڈ
**text**، اٹیلک *text*، اسٹرائیک تھرو
~~text~~، اِن لائن کوڈ `code`، کوڈ بلاکس (تگنا
بیک ٹکس، اختیاری زبان کے ساتھ)، کوٹ > 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] کلک کے قابل ہے۔
📤 ایکسپورٹ (بطور محفوظ کریں)
"Save As" پر کلک کریں اور ایک فارمیٹ منتخب کریں:
- 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 کو بائی پاس کرنا)
یہ ایپ ڈویلپر-دستخط شدہ / نوٹرائزڈ نہیں ہے (آف لائن
منظرنامے عام طور پر آن لائن نوٹرائز نہیں کر سکتے)۔ 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.provenanceSIP کے ذریعے محفوظ ہے اورsudoکے ساتھ بھی ہٹائی نہیں جا سکتی؛ دوبارہ دستخط کرنے سے دستخط ری سیٹ ہو جاتے ہیں تاکہ Gatekeeper اسے چلانے دے۔spctlاب بھی ایڈ ہاک دستخط کے لیےrejectedرپورٹ کرتا ہے — یہ متوقع ہے، اور یہopenکو روک نہیں کرتا۔ open /Applications/MDeX.appکے ساتھ لانچ کریں (یا ڈبل کلک کریں)۔ پہلا لانچ اب بھی ایک بار اشارہ کر سکتا ہے — System Settings → Privacy & Security → Open Anyway کے ذریعے تصدیق کریں، یا ایپ پر دائیں کلک کریں → Open۔
🛠️ سورس سے بنائیں
سورس کوڈ: https://github.com/fwzheng/mdex. بیلڈ ہدایات کے لیے ریپوزیٹری دیکھیں (سیٹ اپ، انحصارات اور کمانڈز وہاں دستاویز کردہ ہیں)۔
📁 پروجیکٹ کا ڈھانچہ
markdown/
├── app-shell.html # frontend shell (HTML+CSS); app logic lives in src/app.js
├── src/
│ ├── app.js # application logic (// @ts-check; inlined into dist by build-html.mjs)
│ ├── 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 type declarations for type-checking
├── tsconfig.json # type-check config (tsc --noEmit; no bundler)
├── tools/
│ ├── fetch-vendor.mjs # one-time: download deps into vendor/ + integrity lock (online only here)
│ ├── build-html.mjs # inline vendor + src/app.js + i18n.js + help.js into dist/index.html (KaTeX fonts → base64)
│ └── test-pure.mjs # frontend pure-function tests (npm test)
├── dist/index.html # build output: self-contained single file (Tauri frontendDist)
├── vendor/ # download cache + integrity.json (.gitignore)
├── package.json # @tauri-apps/cli + typescript(dev) + scripts
└── src-tauri/
├── Cargo.toml # tauri 2 + dialog / single-instance + encoding_rs
├── build.rs # tauri_build::build()
├── tauri.conf.json # 1200×750 window, strict CSP, icons, .md association, menu hooks
├── capabilities/default.json
├── icons/ # full icon set from `cargo tauri icon`
└── src/{main.rs, lib.rs} # menus + file IO + multi-window routing + atomic write / file ownership
🎨 کسٹمائزیشن
| تبدیل کرنے کے لیے | کہاں |
|---|---|
| ایپ کا نام / Bundle ID | src-tauri/tauri.conf.json → productName /
identifier |
| ونڈو کا سائز | tauri.conf.json → app.windows[0] (ڈیفالٹ
1200×750) |
| آئیکنز | سورس تصویر تبدیل کریں، پھر 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