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 + drag مستطیل (کالم) انتخاب
Alt/Option + Shift + ←↑↓→ کالم انتخاب کو بڑھائیں
Esc کالم انتخاب منسوخ کریں
⌘/Ctrl + =/−/0 آخری کلک کیے گئے پین (ایڈیٹر یا پیش نظارہ) کو زوم کریں: بڑا / چھوٹا / ری سیٹ
⌘/Ctrl + J AI کی مدد سے ترمیم

متعدد ونڈوز کھلی ہونے پر، شارٹ کٹس کا اثر صرف فوکس ونڈو پر ہوتا ہے۔ جب تصویر دیکھنے والی ونڈو کھلی ہو، تو ⌘/Ctrl + =/−/0 تصویر کو زوم کرتا ہے۔


📝 چیٹ شیٹ

Markdown: ہیڈنگز # / ## / ###، بولڈ **text**، اٹیلک *text*، اسٹرائیک تھرو ~~text~~، اِن لائن کوڈ `code`، کوڈ بلاکس (تگنا بیک ٹکس، اختیاری زبان کے ساتھ)، کوٹ > 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] کلک کے قابل ہے۔


📤 ایکسپورٹ (بطور محفوظ کریں)

"Save As" پر کلک کریں اور ایک فارمیٹ منتخب کریں:


🔒 آف لائن اور سیکیورٹی


📦 انسٹالیشن

پہلے سے تیار شدہ ڈاؤن لوڈز

اپنے پلیٹ فارم کا انسٹالر کسی بھی ذریعے سے ڈاؤن لوڈ کریں:

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 ہے، حقیقی نقصان نہیں۔ ٹرمنل میں درست کریں:

  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 اب بھی ایڈ ہاک دستخط کے لیے rejected رپورٹ کرتا ہے — یہ متوقع ہے، اور یہ open کو روک نہیں کرتا۔

  3. 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.jsonproductName / identifier
ونڈو کا سائز tauri.conf.jsonapp.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