Simple Word - web word processor (Arabic/English, offline)
  • TypeScript 82.9%
  • CSS 12.7%
  • JavaScript 4.3%
  • HTML 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
balnaimi 99749ba669
All checks were successful
test / test (push) Successful in 27s
test / Electron end-to-end (push) Successful in 1m39s
build-and-release / appimage (push) Successful in 39s
chore(release): v2.12.0
2026-10-01 21:12:38 +03:00
.forgejo/workflows perf: non-blocking imports, cheaper pagination and enforced coverage thresholds 2026-10-01 20:03:41 +03:00
build feat: unify the app icon inside and outside the app 2026-09-09 09:30:32 +03:00
e2e feat: in-place appimage update for existing installations 2026-10-01 21:12:38 +03:00
scripts feat: unify the app icon inside and outside the app 2026-09-09 09:30:32 +03:00
src feat: in-place appimage update for existing installations 2026-10-01 21:12:38 +03:00
tests feat: in-place appimage update for existing installations 2026-10-01 21:12:38 +03:00
.editorconfig feat: complete Electron desktop migration and pass desktop-standard checks 2026-09-09 07:53:29 +03:00
.gitignore test: add electron end-to-end coverage and strengthen ci gates 2026-10-01 19:56:39 +03:00
.prettierignore feat: complete Electron desktop migration and pass desktop-standard checks 2026-09-09 07:53:29 +03:00
.prettierrc feat: complete Electron desktop migration and pass desktop-standard checks 2026-09-09 07:53:29 +03:00
AGENTS.md feat: complete Electron desktop migration and pass desktop-standard checks 2026-09-09 07:53:29 +03:00
CHANGELOG.md chore(release): v2.12.0 2026-10-01 21:12:38 +03:00
electron-builder.yml perf: non-blocking imports, cheaper pagination and enforced coverage thresholds 2026-10-01 20:03:41 +03:00
electron.vite.config.ts feat: complete Electron desktop migration and pass desktop-standard checks 2026-09-09 07:53:29 +03:00
eslint.config.mjs fix: keep card action buttons inside the card and harden narrow layouts 2026-09-09 08:57:31 +03:00
package-lock.json chore(release): v2.12.0 2026-10-01 21:12:38 +03:00
package.json chore(release): v2.12.0 2026-10-01 21:12:38 +03:00
playwright.config.ts test: add electron end-to-end coverage and strengthen ci gates 2026-10-01 19:56:39 +03:00
README.md perf: non-blocking imports, cheaper pagination and enforced coverage thresholds 2026-10-01 20:03:41 +03:00
tsconfig.json feat: complete Electron desktop migration and pass desktop-standard checks 2026-09-09 07:53:29 +03:00
tsconfig.node.json feat: complete Electron desktop migration and pass desktop-standard checks 2026-09-09 07:53:29 +03:00
tsconfig.web.json feat: complete Electron desktop migration and pass desktop-standard checks 2026-09-09 07:53:29 +03:00
vitest.config.ts perf: non-blocking imports, cheaper pagination and enforced coverage thresholds 2026-10-01 20:03:41 +03:00

Simple Word

معالج نصوص بسيط (بواجهة مشابهة لبرنامج WordPad المرفق مع ويندوز) يعمل دون اتصال كتطبيق ديسكتوب على لينكس — المستندات تُحفظ محلياً على جهازك.

An offline word processor (WordPad-like) for the Linux desktop — documents are stored locally on your machine.

مبني على قالب desktop-standard: راجع STANDARD.md وTHEME.md في الريبو المرجعي قبل أي تعديل. Built on the desktop-standard template: read STANDARD.md and THEME.md in the reference repo before changing anything.

الميزات / Features

  • محرر غني (TinyMCE) يعمل دون اتصال. / Offline rich text editor (TinyMCE).
  • منطقة كتابة وعرض صفحة على طراز WordPad (شريط أدوات + مسطرة + صفحة بيضاء على خلفية رمادية). / WordPad-like writing area and page view (toolbar + ruler + white page on a gray canvas).
  • اتجاه RTL/LTR تلقائي حسب أول حرف + أزرار يدوية. / Automatic RTL/LTR direction plus manual buttons.
  • أحجام ورق عالمية + فواصل صفحات يدوية وتلقائية. / International paper sizes plus manual and automatic page breaks.
  • تصدير DOCX/PDF واستيراد DOCX. / DOCX/PDF export and DOCX import.
  • فولدرات وتصنيفات ووسوم. / Folders, categories, and tags.
  • واجهة عربية/إنجليزية مع ثيم فاتح/داكن/النظام. / Arabic/English UI with light/dark/system theme.
  • خط تجوال مضمّن محلياً. / Embedded Tajawal font (offline).

البناء والتشغيل / Install & run

npm install
npm run dev          # التطوير / development
npm test             # الاختبارات / tests
npm run typecheck    # فحص الأنواع / type checking
npm run gen:icon     # توليد الأيقونات / generate icons
npm run dist         # بناء AppImage / build AppImage

ملاحظة: مجلد src/renderer/public/tinymce لا يُرفع للمستودع؛ يُنشأ تلقائياً بعد npm install عبر scripts/copy-tinymce.mjs. Note: src/renderer/public/tinymce is git-ignored; it is generated automatically after npm install via scripts/copy-tinymce.mjs.

التحميل / Download

من صفحة Releases: نزّل أحدث ملف simple-word-<version>.AppImage، اجعله قابلاً للتنفيذ وشغّله.

From the Releases page: download the latest simple-word-<version>.AppImage, make it executable, and run it.

chmod +x simple-word-*.AppImage
./simple-word-*.AppImage

الاعتماديات والفحوصات / Dependencies and checks

  • كل الاعتماديات في devDependencies لأن Vite يحزم كود الواجهة داخل out/؛ ولا تُشحن أي حزمة وقت التشغيل. All dependencies live in devDependencies because Vite bundles the renderer into out/; nothing ships at runtime.
  • تنبيهات npm audit الحالية كلها في سلسلة أدوات البناء (electron, @electron/get, node-gyp, undici) وليست في التطبيق المُوزَّع، ولا يتوفر لها إصلاح بعد. نُبقيها موثّقة بدل تجاهلها بصمت. The open npm audit advisories are all in the build toolchain (electron, @electron/get, node-gyp, undici), not in the shipped app, and have no fix available yet. They are documented here rather than silently ignored.
  • الفحوصات: npm run lint ثم npm run typecheck ثم npm run test:coverage (بحدود تغطية) ثم npm run test:e2e (يشغّل تطبيق Electron الحقيقي بشكل headless). Checks: npm run lint, npm run typecheck, npm run test:coverage (with thresholds), then npm run test:e2e (drives the real Electron app headlessly).

الترخيص / License

  • كود هذا المشروع منشور تحت CC-BY-NC-SA-4.0. / This project is licensed under CC-BY-NC-SA-4.0.
  • محرر TinyMCE مرخّص تحت GPLv2+ (استخدام ذاتي بدون مفتاح تجاري). / TinyMCE is licensed under GPLv2+ (self-hosted, no commercial key).