

Homepage | Herunterladen | Dokumentation | Mastodon | Zwietracht | Beitragen | Unterstützen Sie uns

Zettlr bringt Einfachheit in Ihre Texte zurück. Aufgeschlossenes Schreiben, das sich an Ihren Stil anpasst. Schnelles Abrufen von Informationen, die feststellen, was für Sie wichtig ist. Vielseitiger Exportieren, mit dem Sie sich an die Publikationspipeline anpassen können, die Ihr Arbeitgeber oder Ihre Schule verwendet.
Konzentrieren Sie sich darauf, was für Sie wichtig ist.
Veröffentlichen, nicht umkommen.
Erfahren Sie mehr auf unserer Website.
… Und das Beste ist: Zettlr ist kostenlos und Open Source -Software (FOSS)!
Um Zettlr zu installieren, laden Sie einfach die neueste Version für Ihr Betriebssystem herunter. Derzeit werden MacOS, Windows und die meisten Linux-Verteilungen (über Debian- und Fedora-Packages sowie Appimages) unterstützt.
Auf unserer Website und hier auf GitHub bieten wir eine Reihe von Installateuren für die häufigsten Anwendungsfälle an. Wir stellen sowohl 64-Bit-Installateure als auch Installateure für ARM-Systeme (als "Apple Silicon" im MacOS-Ökosystem bezeichnet) zur Verfügung. 32-Bit wird nicht unterstützt. Wir bieten die folgenden Binärdateien direkt an:
Dank unserer Community können wir Ihnen auch eine Vielzahl anderer Installationsmöglichkeiten bieten:
Alle anderen Plattformen, die Elektronen unterstützt, werden ebenfalls unterstützt, aber Sie müssen die App selbst erstellen, damit dies funktioniert.
Bitte erwägen Sie auch, Schutzpatron zu werden oder eine einmalige Spende zu machen!
Nachdem Sie Zettlr installiert haben, besuchen Sie unsere Dokumentation, um Zettlr kennenzulernen. Weitere Informationen finden Sie im Quick Start Guide, wenn Sie es vorziehen, Software-Leiter zu verwenden.

Als Open -Source -Anwendung begrüßt Zettlr immer Beiträge der Community. Sie müssen nicht wissen, wie man Code schreibt, um zu helfen! Eine vollständige Übersicht über alle Bereiche, in denen Sie helfen können, finden Sie in unserem Beitragsführer. Hier stellen wir Sie in die beiden größten Bereiche vor, in denen wir Hilfe begrüßen: Übersetzungen und beitragen Code.
Das Entwicklungsteam unterhält die englischen und deutschen Übersetzungen, fehlt jedoch angemessen über andere Sprachen. Alle anderen verfügbaren Übersetzungen wurden von unserer Community erstellt.
Die Übersetzungen von Zettlr verwenden das GetText -System. Dies bedeutet, dass die Übersetzungen im static/lang Verzeichnis in Po-Files gehalten werden.
Um eine Übersetzung zu aktualisieren, laden Sie einfach die entsprechende Sprachdatei herunter und bearbeiten Sie sie. Sie können PO-Files mit einem einfachen Texteditor bearbeiten. Wenn Sie jedoch einen komfortableren grafischen Editor bevorzugen, gibt es viele da draußen. Eine gute Option ist der Open -Source -Editor Poedit.
Sobald Sie mit Ihren Änderungen zufrieden sind, öffnen Sie hier eine Pull -Anfrage, die die entsprechende Datei aktualisiert. GitHub hat eine großartige Anleitung zum Öffnen von Pull -Anfragen erstellt.
Zettlr ist eine elektronenbasierte App. Um sich zu entwickeln, müssen Sie also Folgendes auf Ihrem Computer installieren:
lts/iron ) ist. Um zu testen, welche Version Sie haben, führen Sie node -v aus.package-lock.json -Files nicht begehen und viele Befehle erforderlich sind. Sie können diese weltweit mit npm install -g yarn , wenn Sie sich auf macOS befinden.cURL (vom Pandoc -Download -Skript verlangt)unzip (vom Pandoc -Download -Skript verlangt)jq (verlangt vom i18n -Skript)xcode-select --install reicht ausKlonen Sie dann einfach das Repository und installieren Sie die Abhängigkeiten auf Ihrem lokalen Computer:
$ git clone https://github.com/Zettlr/Zettlr.git
$ cd Zettlr
$ yarn install --immutable Die --immutable Flagge sorgt dafür, dass Garn sich an die im yarn.lock aufgeführten Versionen hält und nicht versucht, sie zu aktualisieren.
Während der Entwicklung ist das Hot Modul Reloading (HMR) aktiv, damit Sie den Code des Renderers leicht bearbeiten und F5 treffen können, nachdem die Änderungen von electron-forge zusammengestellt wurden. Sie können die Entwickler -Tools offen halten, um zu erkennen, wann HMR Ihre Änderungen geladen hat.
Um Code bereitzustellen, sollten Sie mit den folgenden Themen und/oder Handbüchern (bestellt durch absteigende Bedeutung) eine grundlegende Vertrautheit haben:
Tipp
Siehe Abschnitt "Verzeichnisstruktur" unten, um eine Vorstellung davon zu erhalten, wie Zettlr speziell funktioniert.
In diesem Abschnitt werden alle verfügbaren Befehle aufgeführt, die Sie während der Anwendungsentwicklung verwenden können. Diese werden im package.json definiert und können aus der Befehlszeile ausgeführt werden, indem sie mit yarn vorangestellt werden. Führen Sie sie aus dem Basisverzeichnis des Repositorys aus.
startVerwenden Sie diesen Befehl, um alle Änderungen, die Sie an der Anwendung vornehmen, vorsichtig zu testen. Dieser Befehl startet die Anwendung, bietet jedoch eine benutzerdefinierte Konfiguration und ein benutzerdefiniertes Verzeichnis. Daher werden keine Dateien berührt, die eine reguläre Zettlr -Installation verwendet.
Wenn Sie diesen Befehl zum ersten Mal starten , übergeben Sie die --clean -flag, um eine Reihe von Test -Files auf Ihr ./resources -Verzeichnis zu kopieren, eine test-config.yml in Ihrem Projektroot zu erstellen und die Anwendung mit dieser sauberen Konfiguration zu starten. Anschließend können Sie die test-config.yml nach Ihren Wünschen anpassen (so dass bestimmte Einstellungen, die Sie sonst immer festlegen würden, voreingestellt sind, ohne dass Sie die Einstellungen öffnen müssen).
Wenn Sie das Testverzeichnis in seinen Ausgangszustand zurücksetzen möchten (oder Sie das Verzeichnis entfernt oder das gesamte Projekt neu gestaltet haben), übergeben Sie die --clean an den Befehl, um das Verzeichnis zu erstellen oder zurückzusetzen. Dies ist auch notwendig, wenn Sie in test-config.yml etwas geändert haben .
Wenn Sie verhindern möchten, dass eine Konfigurationsfile erstellt wird (z. B. um die erste Starterfahrung zu simulieren), können Sie das Flag --no-config an diesen Befehl übergeben.
Sie können zusätzliche Befehlszeilenschalter wie --clear-cache an diesen Befehl übergeben. Sie werden an den Kinderprozess übergeben.
Warnung
Achtung: Bevor Sie den Befehl zum ersten Mal ausgeführt haben, müssen Sie ihn mit der --clean -flag ausführen, um das Verzeichnis überhaupt zu erstellen!
Schauen Sie sich außerdem unsere vollständige Entwicklungsdokumentation an.
packageVerpackt die Anwendung, bündelt sie jedoch nicht in einen Installateur. Ohne Suffix verpackt dieser Befehl die Anwendung für Ihre aktuelle Plattform und Architektur. Um bestimmte Pakete zu erstellen (darf möglicherweise auf der entsprechenden Plattform ausgeführt werden), sind folgende Suffixe verfügbar:
package:mac-x64 (Intel-basierte Macs)package:mac-arm (Apple Silicon-basierte MACs)package:win-x64 (Intel-basierte Windows)package:linux-x64 (Intel-basiertes Linux)package:linux-arm (ARM-basierte Linux) Die resultierenden Anwendungspakete werden in ./out gespeichert.
Wichtig
Dieser Befehl überspringt typecing, um Builds zu beschleunigen. Wir empfehlen daher, lint vor der Verpackung auszuführen, um sicherzustellen, dass keine Fehler vorliegen.
release:{platform-arch} Verpackt die Anwendung und bündelt sie dann in einen Installateur für die entsprechende Plattform und Architektur. Um ein solches Bündel zu erstellen (darf möglicherweise auf der entsprechenden Plattform ausgeführt werden) ist eine der folgenden Werte für {platform-arch} erforderlich:
release:mac-x64 (Intel-basierte Macs)release:mac-arm (Apple Silicon-basierte MACs)release:win-x64 (Intel-basierte Windows)release:linux-x64 (Intel-basiertes Linux)release:linux-arm (ARM-basierte Linux) Die resultierenden Setup -Bündel werden in ./release gespeichert.
Notiz
Während Sie ohne Suffix direkt für Ihre Plattform package können, müssen Sie die Plattform und die Architektur beim Erstellen eines Release-Bundle angeben, da Electron-Builder sonst die Entwicklungsabhängigkeiten in die app.asar enthalten würde, was zu einer aufgeblähten Anwendung führt.
csl:refresh Dadurch wird die CSL -Dateien (Citation Style Language) heruntergeladen, mit der die Anwendung versandt wird, und stellt sie in die static/csl-locales -bzw. static/csl-styles -Verzeichnisse.
Notiz
Dieser Befehl ist für einen automatisierten Workflow vorgesehen, der von Zeit zu Zeit im Repository ausgeführt wird, um diese Aktion auszuführen. Beachten Sie keine aktualisierten Dateien im Repository . Stattdessen werden die aktualisierten Dateien heruntergeladen, wenn Sie git fetch .
lintLäuft Eslint. Apps wie Visual Studio Code werden ESLINT automatisch im Hintergrund in Ihren geöffneten Dateien ausgeführt. Dieser Befehl führt sie über die gesamte Codebasis aus. Stellen Sie sicher, dass Sie diesen Befehl ausführen, bevor Sie eine Pull -Anfrage senden.
Notiz
Dieser Befehl wird auf jeder Pull -Anfrage automatisch ausgeführt, um Ihren Code auf Inkonsistenzen zu überprüfen.
shortcut:install Erstellt eine .desktop -Datei in Ihre Anwendungen, mit der Sie schnell eine App starten können, die Sie aus der Quelle zusammengestellt haben. Dies erfordert Linux. Um neue Änderungen zu verwenden, synchronisieren Sie das Repository, führen Sie package erneut aus und Sie können loslegen.
Warnung
Wir bieten diesen Befehl als Bequemlichkeit. Wenn Sie nicht wissen, was Sie tun, sollten Sie den Code, der nicht direkt aus dem Head Commit the Develop Branch zusammengestellt wurde, keinen direkten Code ausführen. Dieser Befehl kann jedoch in einigen Fällen nützlich sein, in denen Sie wissen, was schief gehen kann und geeignete Vorsichtsmaßnahmen treffen kann.
shortcut:uninstall Entfernt die von shortcut:install erstellte .desktop -Datei.
Notiz
Sie müssen die Verknüpfung nicht deinstallieren und neu installieren, wenn Sie den Binärer neu kompilieren. Stellen Sie einfach sicher, dass Zettlr geschlossen ist, bevor Sie es neu kompilieren. Sie sollten die Verknüpfung nur neu installieren müssen, wenn sich die Vorlage (in scripts/assets/zettlr-dev.desktop ) geändert hat.
test Dadurch werden die Unit -Tests im Verzeichnis ausgeführt ./test . Stellen Sie sicher, dass Sie diesen Befehl ausführen, bevor Sie eine Pull-Anfrage einreichen, da dies jedes Mal ausgeführt wird, wenn Sie sich zur PR verpflichten. Auf diese Weise können Sie sicherstellen, dass Ihre Änderungen keine Tests durchbrechen und das gesamte PR-Prozess erleichtern.
test-gui Siehe start .
Wichtig
Dieser Befehl ist veraltet und nur ein Alias für start . Verwenden Sie stattdessen start .
Zettlr ist eine ausgereifte App, die im Laufe ihrer Entwicklung Hunderte von Verzeichnissen angehäuft hat. Da es schwierig ist, ohne Anleitung zu einer Bewerbung beizutragen, haben wir eine kurze Beschreibung der Verzeichnisse mit ihrer Zusammenstellung zusammengestellt.
.
├── 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
Sie werden feststellen, dass Zettlr sowohl "Module" als auch "Dienstleister" enthält. Der Unterschied zwischen den beiden ist einfach: Dienstanbieter im Hauptprozess und sind völlig autonom und bieten gleichzeitig Funktionen für die App als Ganzes. Module dagegen bieten Funktionen, die durch Benutzeraktionen ausgelöst werden müssen (z. B. Exporteur und Importeur).
Immer wenn Sie Zettlr ausführen, werden die folgenden Schritte ausgeführt:
source/main.ts ausführensource/app/lifecycle.ts::bootApplication )source/app/lifecycle.ts::bootApplication )source/main/zettlr.ts )Und wenn Sie die App herunterfahren, werden die folgenden Schritte ausgeführt:
source/main/zettlr.ts::shutdown )source/app/lifecycle.ts::shutdownApplication ) Während der Entwicklung der App ( yarn start und yarn test-gui ) werden die folgenden Schritte ausgeführt:
.webpack und ersetzt die Konstanten, die Sie im "Erstellen" -Methods des Fenstermanagers durch die entsprechenden Einstiegspunkte finden können.Wann immer die App erstellt wird, werden die folgenden Schritte ausgeführt:
Electron Forge ./release die verpackten Anwendungen in das Verzeichnis ./out
Die Zettlr -Binärdatei verfügt über einige Befehlszeilenschalter, die Sie für verschiedene Zwecke verwenden können.
--launch-minimizedDiese CLI -Flagge wird Zettlr anweisen, das Hauptfenster zu Beginn nicht anzuzeigen. Dies ist nützlich, um Autostart -Einträge zu erstellen. In diesem Fall stellt das Starten von Zettlr mit diesem Flag am System Boot sicher, dass Sie nur das Symbol im Tablett sehen.
Da dies impliziert, dass die App bei der Start der App wie dieser in der Tablebleiste oder im Bereich Benachrichtigung ausgeführt werden muss, wird das entsprechende system.leaveAppRunning automatisch festgelegt.
Notiz
Dieses Flag hat keinen Einfluss auf Linux -Systeme, die kein Symbol in einem Tablett- oder Benachrichtigungsbereich unterstützen.
--clear-cache Dadurch wird die Abstraktionschicht des Dateisystems so gestaltet, dass der Cache im Boot vollständig gelöscht wird. Dies kann verwendet werden, um Probleme in Bezug auf Änderungen in der Codebasis zu mildern. Um die Kompatibilität bei Änderungen der im Cache gespeicherten Informationen zu gewährleisten, wird der Cache automatisch gelöscht, wenn das Versionsfeld in Ihrer config.json nicht mit dem im package.json übereinstimmt. Dies bedeutet, dass, solange Sie das version in Ihrem test-config.yml nicht ausdrücklich einstellen, wenn Sie auf jedem Run immer auf jedem Lauf gelegen werden, wenn Sie yarn test-gui eingeben.
Tipp
Wenn Sie nur beiläufig den Cache zur Fehlerbehebung löschen möchten, können Sie den Cache auch löschen, indem Sie den entsprechenden Menüelement im Menü "Hilfe" auswählen, das Sie davor speichert, mit etwas technischem Einsatz zu werden.
--data-dir=path Verwenden Sie diesen Switch, um ein benutzerdefiniertes Datenverzeichnis anzugeben, das Ihre Konfigurationsdateien enthält. Ohne diesen Switch setzt das Datenverzeichnis standardmäßig mit %AppData%/Zettlr (unter Windows 10 und neuer), ~/.config/Zettlr (unter Linux) oder ~/Library/Application Support/Zettlr (auf macOS). Der Weg kann absolut oder relativ sein. Die Basis für den relativen Pfad ist entweder das Verzeichnis des Binary (beim Ausführen einer verpackten App) oder das Repository -Root (beim Ausführen einer App, die nicht verpackt wird). Denken Sie daran, bei Bedarf den Räumen zu entkommen oder den Pfad zu zitieren. Der ~ -Scharakter, um das Heimverzeichnis zu bezeichnen, wird in diesem Fall nicht erweitert. Stellen Sie daher bei Bedarf den gesamten Weg an Ihr Heimverzeichnis weiter. Aufgrund eines geringfügigen Fehlers in Elektronen wird im Standarddatenverzeichnis ein leeres Dictionaries -Unterverzeichnis erstellt, aber es wirkt sich nicht auf die Funktionalität aus.
--disable-hardware-accelerationDieser Schalter bewirkt, dass Zettlr die Beschleunigung der Hardware deaktiviert, was bei bestimmten Setups erforderlich sein könnte. Weitere Informationen darüber, warum diese Flagge hinzugefügt wurde, finden Sie in Ausgabe Nr. 2127.
Dieses Repository verwendet die empfohlene Erweiterungsfunktion von Visual Studio Code. Dies bedeutet: Wenn Sie VS -Code verwenden und das Repository zum ersten Mal öffnen, wird VS Code angegeben, dass das Repository empfiehlt, eine Handvoll Erweiterungen zu installieren. Diese Erweiterungen werden empfohlen, wenn Sie mit Zettlr zusammenarbeiten und den Beitrag erheblich erleichtern. Die Empfehlungen sind in der Datei .vscode/extensions.json angegeben.
Da die Installation von Erweiterungen manchmal Geschmackssache ist, haben wir für jede empfohlene Erweiterung in dieser Datei kurze Beschreibungen hinzugefügt, um zu erklären, warum wir sie empfehlen. Auf diese Weise können Sie Ihre eigene Entscheidung treffen, ob Sie diese Erweiterungen installieren möchten (z. B. die SVG -Erweiterung ist nicht erforderlich, wenn Sie nicht mit den im Repository angegebenen SVG -Dateien arbeiten).
Wenn Sie nicht alle empfohlenen Erweiterungen gleichzeitig installieren möchten (was wir empfehlen), werden Ihnen der VS -Code die Empfehlungen in der Seitenleiste von Erweiterungen angezeigt, damit Sie zuerst entscheiden können, welche derjenigen, die Sie installieren möchten, und dann diejenigen, die Sie haben möchten, manuell installieren.
Tipp
Die Verwendung der gleichen Erweiterungen wie das Core Developer -Team macht den Code im Allgemeinen konsistenter, da Sie das gleiche visuelle Feedback haben.
Diese Software wird über die GNU GPL V3-Lizenz lizenziert.
Die Marke (einschließlich Name, Ikonen und alles, mit dem Zettlr identifiziert werden kann) ist ausgeschlossen und alle Rechte vorbehalten. Wenn Sie Zettlr für die Entwicklung einer weiteren App geben möchten, fühlen Sie sich frei, ändern Sie jedoch den Namen und die Symbole. Lesen Sie über die Logo -Nutzung.