

الصفحة الرئيسية | تنزيل | الوثائق | Mastodon | خلاف | المساهمة | دعمنا

Zettlr يعيد البساطة إلى نصوصك. الكتابة المنفتحة التي تتكيف مع أسلوبك. استرجاع المعلومات السريعة التي تجد ما يهم لك. التصدير متعدد الاستخدامات الذي يمكّنك من التكيف مع أي خط أنابيب نشر يستخدمه صاحب العمل أو المدرسة.
ركز على ما يهم لك.
نشر ، لا يهلك.
تعرف على المزيد على موقعنا.
... والأفضل هو: Zettlr هو برنامج مجاني ومفتوح المصدر (FOSS)!
لتثبيت Zettlr ، ما عليك سوى تنزيل أحدث إصدار لنظام التشغيل الخاص بك. المدعومة حاليًا هي MacOS و Windows ومعظم توزيعات Linux (عبر حزم Debian و Fedora وكذلك AppImages).
على موقعنا الإلكتروني وهنا على Github ، نقدم مجموعة من المثبتات لأكثر حالات الاستخدام شيوعًا. نحن نقدم كل من المثبتات 64 بت وكذلك المثبتات لأنظمة ARM (تسمى "Apple Silicon" في نظام MacOS البيئي). 32 بت غير مدعوم. نحن نقدم الثنائيات التالية مباشرة:
بفضل مجتمعنا ، يمكننا أيضًا أن نقدم لك مجموعة متنوعة من فرص التثبيت الأخرى:
يتم دعم جميع المنصات الأخرى التي يدعمها الإلكترون أيضًا ، لكنك ستحتاج إلى إنشاء التطبيق بنفسك حتى يعمل.
يرجى أيضًا التفكير في أن تصبح راعيًا أو تقديم تبرع لمرة واحدة!
بعد تثبيت Zettlr ، توجه إلى وثائقنا للتعرف على Zettlr. ارجع إلى دليل البدء السريع ، إذا كنت تفضل استخدام رؤوس البرامج.

كتطبيق مفتوح المصدر ، يرحب Zettlr دائمًا بالمساهمات من المجتمع. لا تحتاج إلى معرفة كيفية كتابة التعليمات البرمجية للمساعدة! يمكن العثور على نظرة عامة كاملة على جميع المجالات التي يمكنك من خلالها المساعدة في دليلنا المساهم. هنا ، نقدم لكم أكبر مجالين حيث نرحب بالمساعدة: الترجمات والرمز المساهمين.
يحافظ فريق التطوير على الترجمات الإنجليزية والألمانية ، لكنه يفتقر إلى المعرفة الكافية للغات الأخرى. تم إنشاء جميع الترجمات الأخرى المتاحة من قبل مجتمعنا.
تستخدم ترجمات Zettlr نظام getText. هذا يعني أن الترجمات يتم الاحتفاظ بها في ملفات PO داخل دليل static/lang .
لتحديث الترجمة ، ما عليك سوى تنزيل ملف اللغة المقابل وتحريره. يمكنك تحرير ملفات PO مع محرر نصوص بسيط ، ولكن إذا كنت تفضل محررًا رسوميًا أكثر راحة ، فهناك الكثير. خيار واحد جيد هو محرر المصدر المفتوح.
بمجرد أن تكون سعيدًا بتغييراتك ، افتح طلب سحب هنا يقوم بتحديث الملف المقابل. قام Github بإنشاء دليل رائع حول كيفية فتح طلبات السحب.
Zettlr هو تطبيق قائم على الإلكترون ، حتى تبدأ التطوير ، ستحتاج إلى تثبيت ما يلي على جهاز الكمبيوتر الخاص بك:
lts/iron ). لاختبار الإصدار الذي لديك ، قم بتشغيل node -v .package-lock.json -files والعديد من الأوامر تتطلب خيوط. يمكنك تثبيت هذا على مستوى العالم باستخدام npm install -g yarn أو homebrew ، إذا كنت على MacOS.cURL (مطلوبة بواسطة البرنامج النصي تنزيل Pandoc)unzip (مطلوب بواسطة البرنامج النصي تنزيل Pandoc)jq (مطلوب بواسطة البرنامج النصي I18N)xcode-select --installثم ، ما عليك سوى استنساخ المستودع وتثبيت التبعيات على جهاز الكمبيوتر المحلي الخاص بك:
$ git clone https://github.com/Zettlr/Zettlr.git
$ cd Zettlr
$ yarn install --immutable يضمن العلم --immutable أن الغزل سوف يلتزم بالإصدارات كما هو موضح في yarn.lock لا تحاول تحديثها.
أثناء التطوير ، يكون إعادة تحميل الوحدة الساخنة (HMR) نشطًا بحيث يمكنك تحرير رمز العارض بسهولة وضرب F5 بعد أن تم تجميع التغييرات بواسطة electron-forge . يمكنك الحفاظ على أدوات المطور مفتوحة لمعرفة متى تنتهي HMR من تحميل التغييرات الخاصة بك.
من أجل توفير الكود ، يجب أن يكون لديك معرفة أساسية بالمواضيع و/أو الكتيبات التالية (التي تم طلبها بأهمية تنازلية):
نصيحة
راجع قسم "هيكل الدليل" أدناه للحصول على فكرة عن كيفية عمل Zettlr على وجه التحديد.
يسرد هذا القسم جميع الأوامر المتاحة التي يمكنك استخدامها أثناء تطوير التطبيق. يتم تعريفها داخل package.json yarn قم بتشغيلها من داخل الدليل الأساسي للمستودع.
startاستخدم هذا الأمر لاختبار أي تغييرات تجريها على التطبيق. سيبدأ هذا الأمر التطبيق ، ولكنه سيوفر تكوينًا مخصصًا ودليلًا مخصصًا. وبالتالي ، لن يمس أي ملفات يستخدمها تثبيت Zettlr العادي.
test-config.yml المرة الأولى التي تبدأ فيها هذا الأمر ، تمرير --clean -flag لنسخ مجموعة من ملفات الاختبار إلى ./resources بعد ذلك ، يمكنك تكييف test-config.yml وفقًا لتروق لك (بحيث تكون بعض الإعدادات التي يمكنك تعيينها دائمًا محددة مسبقًا دون الاضطرار إلى فتح التفضيلات).
كلما أردت إعادة تعيين دليل الاختبار إلى حالته الأولية (أو قمت بإزالة الدليل ، أو استنساخ المشروع بأكمله من جديد) ، قم بتمرير العلم --clean أجل إنشاء أو إعادة تعيين الدليل. هذا ضروري أيضًا إذا قمت بتغيير شيء ما في test-config.yml .
إذا كنت ترغب في منع إنشاء ملف التكوين (على سبيل المثال ، لمحاكاة تجربة البدء الأولى) ، يمكنك تمرير العلم --no-config إلى هذا الأمر.
يمكنك تمرير مفاتيح سطر الأوامر الإضافية مثل- --clear-cache إلى هذا الأمر أيضًا. سيتم نقلها إلى عملية الطفل.
تحذير
الانتباه: قبل تشغيل الأمر لأول مرة ، يجب عليك تشغيله مع --clean -flag لإنشاء الدليل في المقام الأول!
بالإضافة إلى ذلك ، إلقاء نظرة على وثائق التطوير الكاملة لدينا.
packageحزم التطبيق ، ولكن لا تجمعه في مثبت. بدون أي لاحقة ، سيقوم هذا الأمر بتعبئة تطبيق النظام الأساسي والهندسة المعمارية الحالية. لإنشاء حزم محددة (قد تتطلب التشغيل على النظام الأساسي المقابل) ، تتوفر اللواحق التالية:
package:mac-x64 (Macs المستندة إلى Intel)package:mac-arm (MACs المستندة إلى Apple Silicon)package:win-x64 (Windows المستندة إلى Intel)package:linux-x64 (Linux المستندة إلى Intel)package:linux-arm (Linux المستندة إلى الذراع) يتم تخزين حزم التطبيق الناتجة في ./out .
مهم
سيتخطى هذا الأمر typechecking لتسريع عمليات الإنشاء ، لذلك نوصي بتشغيل lint قبل العبوة للتأكد من عدم وجود أخطاء.
release:{platform-arch} حزم التطبيق ثم يحدده في مثبت للنظام الأساسي والهندسة المعمارية المقابلة. لإنشاء مثل هذه الحزمة (قد يتطلب تشغيل على النظام الأساسي المقابل) ، مطلوب إحدى القيم التالية لـ {platform-arch} :
release:mac-x64 (Macs المستندة إلى Intel)release:mac-arm (MACs المستندة إلى Apple Silicon)release:win-x64 (Windows المستندة إلى Intel)release:linux-x64 (Linux المستندة إلى Intel)release:linux-arm (Linux المستندة إلى الذراع) يتم تخزين حزم الإعداد الناتجة في ./release .
ملحوظة
على الرغم من أنه يمكنك package مباشرة لمنصتك دون أي لاحقة ، إلا أنك تحتاج إلى تحديد النظام الأساسي والهندسة المعمارية عند إنشاء حزمة إصدار ، نظرًا لأن بني الإلكترون سيتضمن خلاف ذلك مع الاعتماد على التطوير في app.asar ، مما يؤدي إلى تطبيق متضخم.
csl:refresh يقوم هذا بتنزيل ملفات لغة الاستشهاد (CSL) التي يتم شحنها للتطبيق ، ويضعها في static/csl-locales -و static/csl-styles -directories على التوالي.
ملحوظة
هذا الأمر مخصص لسير عمل آلي يعمل من وقت لآخر على المستودع لأداء هذا الإجراء. لا ترتكب ملفات محدثة إلى المستودع . بدلاً من ذلك ، سيتم تنزيل الملفات المحدثة كلما git fetch .
lintيدير eslint. ستقوم تطبيقات مثل Visual Studio Code تلقائيًا بتشغيل ESLINT في الخلفية على الملفات المفتوحة. يقوم هذا الأمر بتشغيلها عبر قاعدة الكود بأكملها. تأكد من تشغيل هذا الأمر قبل تقديم طلب سحب.
ملحوظة
سيتم تشغيل هذا الأمر تلقائيًا على كل طلب سحب للتحقق من الرمز الخاص بك للتناقضات.
shortcut:install ينشئ .desktop -file في تطبيقاتك مما يمكّنك من بدء تشغيل تطبيق قمت بتجميعه من المصدر بسرعة. هذا يتطلب Linux. لاستخدام تغييرات جديدة ، قم بمزامنة المستودع البسيط ، وقم بتشغيل package مرة أخرى ، وأنت على ما يرام.
تحذير
نحن نقدم هذا الأمر كملاحة. ما لم تكن تعرف ما تفعله ، يجب ألا تقوم بتشغيل الرمز الذي تم تجميعه مباشرةً من التزام الرأس بفرع التطوير. ومع ذلك ، يمكن أن يكون هذا الأمر مفيدًا ، في حالات قليلة تعرف فيها ما قد يحدث ويمكن أن يتخذ الاحتياطات المناسبة.
shortcut:uninstall shortcut:install .desktop
ملحوظة
ليس عليك إلغاء تثبيت الاختصار وإعادة تثبيته كلما قمت بتجميع من جديد. فقط تأكد من إغلاق Zettlr قبل إعادة ترجمة ذلك. يجب عليك فقط إعادة تثبيت الاختصار إذا تغير القالب (في scripts/assets/zettlr-dev.desktop ).
test هذا يدير اختبارات الوحدة في الدليل ./test . تأكد من تشغيل هذا الأمر قبل تقديم طلب سحب ، حيث سيتم تشغيل هذا في كل مرة تلتزم بها بالعلاقات العامة ، وبهذه الطريقة يمكنك التأكد من أن التغييرات لا تكسر أي اختبارات ، مما يجعل عملية العلاقات العامة بأكملها أسهل.
test-gui انظر start .
مهم
تم إهمال هذا الأمر وفقط اسم مستعار start . استخدم start بدلاً من ذلك.
Zettlr هو تطبيق ناضج جمع مئات الدلائل على مدار تطوره. نظرًا لأنه من الصعب المساهمة في تطبيق ما دون أي إرشادات ، فقد قمنا بتجميع وصف قصير للأدلة مع كيفية ارتباطها.
.
├── out # Contains unpackaged binaries after running any `package` command
├── release # Contains distributables after running any `release` command
├── resources # General resource files
│ ├── NSIS # Windows installer bitmaps
│ ├── icons # Various icon formats
│ ├── screenshots # Contains the main screenshots
├── scripts # Scripts used during the build process and CI pipeline
│ ├── assets # Assets for the script files
│ └── test-gui # A full file tree used with the `test-gui` command
├── source # This is the actual source filetree
│ ├── app # Main process components
│ │ ├── service-providers # Service providers that handle most of the business logic
│ │ └── util # Utility functions for the main process
│ ├── common # Shared files between various renderer processes
│ │ ├── img # Images used in various places
│ │ ├── modules # Shared modules
│ │ │ ├── markdown-editor # Main Markdown editor
│ │ │ ├── markdown-utils # MD Utilities such as md2html converter
│ │ │ ├── preload # Electron preload files
│ │ │ └── window-register # Run by every renderer during setup
│ │ ├── util # General utility functions
│ │ └── vue # Shared Vue components
│ ├── pinia # Renderer state management
│ ├── types # Types-only directory; deprecated
│ ├── win-about # About dialog window
│ ├── win-assets # Assets Manager
│ ├── win-error # Error window
│ ├── win-log-viewer # Log Viewer
│ ├── win-main # Main window
│ ├── win-paste-image # Paste-Image-dialog
│ ├── win-preferences # Preferences window
│ ├── win-print # Print preview
│ ├── win-project-properties # Project properties
│ ├── win-splash-screen # The splash screen
│ ├── win-stats # Statistics window
│ ├── win-tag-manager # Tag manager
│ └── win-update # Updater
├── static # Contains static resources
│ ├── csl-locales # CSL locale files
│ ├── csl-styles # CSL styles
│ ├── defaults # Default defaults/Pandoc profiles
│ ├── dict # Dictionaries that ship with the app
│ ├── fonts # Fonts that ship with the app
│ ├── lang # Language and i18n-related files
│ ├── lua-filter # Default Lua-filters
│ └── tutorial # Tutorial files in various languages
└── test # Unit tests
ستلاحظ أن Zettlr يحتوي على كل من "الوحدات" و "مقدمي الخدمات". الفرق بين الاثنين بسيط: يعمل مقدمو الخدمات في العملية الرئيسية ويكونون مستقلين تمامًا مع توفير الوظائف للتطبيق ككل. الوحدات النمطية ، من ناحية أخرى ، توفر وظائف يجب تشغيلها بواسطة إجراءات المستخدم (على سبيل المثال المصدر والمستورد).
كلما قمت بتشغيل Zettlr ، سيتم تنفيذ الخطوات التالية:
source/main.tssource/app/lifecycle.ts::bootApplication )source/app/lifecycle.ts::bootApplication )source/main/zettlr.ts )وعندما تغلق التطبيق ، سيتم تشغيل الخطوات التالية:
source/main/zettlr.ts::shutdown )source/app/lifecycle.ts::shutdownApplication ) أثناء تطوير التطبيق ( yarn start yarn test-gui ) ، سيتم تشغيل الخطوات التالية:
.webpack ، لتحل محل الثوابت التي يمكنك العثور عليها في "إنشاء"-مديري مدير النافذة بنقاط الدخول المناسبة.كلما تم بناء التطبيق ، سيتم تشغيل الخطوات التالية:
./release Electron Forge التطبيقات المعبأة في الدليل ./out
يتميز Zettlr Binary ببعض مفاتيح سطر الأوامر التي يمكنك الاستفادة منها لأغراض مختلفة.
--launch-minimizedسوف يوجه علامة CLI هذه Zettlr بعدم إظهار النافذة الرئيسية في البداية. هذا مفيد لإنشاء إدخالات autostart. في هذه الحالة ، سيتأكد إطلاق Zettlr مع هذه العلامة في System Boot من أنك سترى رمزها فقط في الدرج.
نظرًا لأن هذا يعني الحاجة إلى تشغيل التطبيق في شريط الدرج أو منطقة الإخطار عند بدء تشغيل التطبيق مثل هذا ، فسيقوم تلقائيًا بتعيين system.leaveAppRunning الإعداد المقابل.
ملحوظة
لن يكون لهذا العلامة أي تأثير على أنظمة Linux التي لا تدعم عرض رمز في شريط الدرج أو منطقة الإخطار.
--clear-cache سيؤدي ذلك إلى توجيه طبقة تجريد نظام الملفات لمسح ذاكرة التخزين المؤقت بالكامل عند التمهيد. يمكن استخدام هذا للتخفيف من المشكلات المتعلقة بالتغييرات في قاعدة الكود. لضمان التوافق مع أي تغييرات على المعلومات المخزنة في ذاكرة التخزين المؤقت ، يتم أيضًا مسح yarn test-gui التخزين المؤقت تلقائيًا عندما لا يتطابق حقل version في config.json مع تلك test-config.yml في package.json .
نصيحة
إذا كنت ترغب فقط في مسح ذاكرة التخزين المؤقت لاستكشاف الأخطاء وإصلاحها ، فيمكنك أيضًا مسح ذاكرة التخزين المؤقت عن طريق تحديد عنصر القائمة المناسب في قائمة "Help" ، مما يوفر لك من الاضطرار إلى التغلب على أي شيء تقني.
--data-dir=path استخدم هذا التبديل لتحديد دليل بيانات مخصص ، والذي يحمل ملفات التكوين الخاصة بك. بدون هذا التبديل ، يضعف دليل البيانات الافتراضي إلى %AppData%/Zettlr (على Windows 10 وأحدث) ، ~/.config/Zettlr (على Linux) ، أو ~/Library/Application Support/Zettlr (على MacOS). يمكن أن يكون المسار مطلقًا أو نسبيًا. سيكون أساس المسار النسبي إما دليل الثنائي (عند تشغيل تطبيق معبأ) أو جذر المستودع (عند تشغيل تطبيق غير معبأ). تذكر الهروب من المساحات أو اقتبس من المسار ، إذا لزم الأمر. لا يتم توسيع حرف ~ للدلالة على الدليل المنزلي في هذه الحالة ، لذا تأكد من نقل المسار بالكامل إلى الدليل المنزلي إذا لزم الأمر. نظرًا لوجود خطأ بسيط في الإلكترون ، يتم إنشاء دليل فرعي Dictionaries الفارغة في دليل البيانات الافتراضي ، لكنه لا يؤثر على الوظيفة.
--disable-hardware-accelerationيؤدي هذا المفتاح إلى تعطيل Zettlr تسريع الأجهزة ، والذي قد يكون ضروريًا في بعض الإعدادات. لمزيد من المعلومات حول سبب إضافة هذه العلامة ، انظر العدد رقم 2127.
يستخدم هذا المستودع ميزة الامتدادات الموصى بها من رمز Visual Studio. هذا يعني: إذا كنت تستخدم VS Code وفتحت المستودع لأول مرة ، فسيخبرك VS Code أن المستودع يوصي بتثبيت حفنة من الامتدادات. يوصى بهذه الامتدادات إذا كنت تعمل مع Zettlr وستجعل المساهمة أسهل بكثير. يتم تحديد التوصيات في الملف .vscode/extensions.json .
نظرًا لأن تثبيت الامتدادات يكون في بعض الأحيان مسألة ذوق ، فقد أضفنا وصفًا قصيرًا لكل ملحق موصى به داخل هذا الملف لشرح سبب توصينا به. وبهذه الطريقة ، يمكنك اتخاذ قرارك سواء كنت ترغب في تثبيت أي من هذه الامتدادات (على سبيل المثال ، امتداد SVG ليس ضروريًا إذا لم تعمل مع ملفات SVG المقدمة في المستودع).
إذا اخترت عدم تثبيت جميع الامتدادات الموصى بها في وقت واحد (والتي نوصي بها) ، فسوف يعرضك VS Code التوصيات في الشريط الجانبي للامتدادات حتى تتمكن أولاً من تحديد أي من تلك التي ترغب في تثبيتها ثم تثبيت تلك التي ترغب يدويًا في الحصول عليها.
نصيحة
إن استخدام نفس الامتدادات التي سيجعلها فريق المطورين الأساسيين الرمز أكثر اتساقًا بشكل عام حيث سيكون لديك نفس التعليقات المرئية.
تم ترخيص هذا البرنامج من خلال GNU GPL V3-Tirense.
تم استبعاد العلامة التجارية (بما في ذلك الاسم والرموز وكل شيء يمكن تحديده مع Zettlr) ومحفوظة جميع الحقوق. إذا كنت تريد أن تتخبط Zettlr لتطوير تطبيق آخر ، فلا تتردد ولكن يرجى تغيير الاسم والرموز. اقرأ عن استخدام الشعار.