

Page d'accueil | Télécharger | Documentation | Mastodon | Discorde | Contribution | Soutenez-nous

Zettlr ramène la simplicité à vos textes. Écriture ouverte d'esprit qui s'adapte à votre style. Renseignante rapide des informations qui trouve ce qui vous importe. L'exportation polyvalente qui vous permet de vous adapter à tout pipeline de publication que votre employeur ou votre école utilise.
Concentrez-vous sur ce qui compte pour vous.
Publier, pas périr.
En savoir plus sur notre site Web.
… Et le meilleur est: Zettlr est un logiciel gratuit et open source (FOSS)!
Pour installer Zettlr, téléchargez simplement la dernière version de votre système d'exploitation. Actuellement pris en charge, les distributions MacOS, Windows et la plupart des Linux (via les packages Debian et Fedora ainsi que les applimages).
Sur notre site Web et ici sur GitHub, nous fournissons un ensemble d'installateurs pour les cas d'utilisation les plus courants. Nous fournissons à la fois des installateurs 64 bits ainsi que des installateurs pour les systèmes ARM (appelé "Silicon Apple" dans l'écosystème macOS). 32 bits n'est pas pris en charge. Nous offrons directement les binaires suivants:
Grâce à notre communauté, nous pouvons également vous offrir une variété d'autres opportunités d'installation:
Toutes les autres plates-formes prenant en charge les électrons sont également prises en charge, mais vous devrez créer vous-même l'application pour que cela fonctionne.
Veuillez également envisager de devenir un mécène ou de faire un don unique!
Après avoir installé Zettlr, rendez-vous sur notre documentation pour connaître Zettlr. Reportez-vous au Guide de démarrage rapide, si vous préférez utiliser le logiciel.

En tant que demande open source, Zettlr accueille toujours les contributions de la communauté. Vous n'avez pas besoin de savoir comment écrire du code pour vous aider! Un aperçu complet de tous les domaines où vous pouvez vous aider peut être trouvé dans notre guide de contribution. Ici, nous vous présentons les deux plus grands domaines où nous saluons l'aide: les traductions et le code contributif.
L'équipe de développement maintient les traductions anglaises et allemandes, mais manque de connaissances adéquates d'autres langues. Toutes les autres traductions disponibles ont été créées par notre communauté.
Les traductions de Zettlr utilisent le système GetText. Cela signifie que les traductions sont conservées dans les fichiers PO dans le répertoire static/lang .
Pour mettre à jour une traduction, téléchargez simplement le fichier de langue correspondant et modifiez-le. Vous pouvez modifier PO-Files avec un éditeur de texte simple, mais si vous préférez un éditeur graphique plus confortable, il y en a beaucoup. Une bonne option est l'éditeur open source Poedit.
Dès que vous êtes satisfait de vos modifications, ouvrez ici une demande de traction qui met à jour le fichier correspondant. GitHub a créé un excellent guide sur la façon d'ouvrir les demandes de traction.
Zettlr est une application à base d'électrons, donc pour commencer à se développer, vous devrez avoir l'installé suivant sur votre ordinateur:
lts/iron ). Pour tester la version que vous avez, exécutez node -v .package-lock.json et de nombreuses commandes nécessitent du fil. Vous pouvez installer ceci à l'échelle mondiale à l'aide de npm install -g yarn ou Homebrew, si vous êtes sur macOS.cURL (requis par le script de téléchargement Pandoc)unzip (requis par le script de téléchargement Pandoc)jq (requis par le script i18n)xcode-select --install suffitEnsuite, clonez simplement le référentiel et installez les dépendances sur votre ordinateur local:
$ git clone https://github.com/Zettlr/Zettlr.git
$ cd Zettlr
$ yarn install --immutable Le drapeau --immutable garantit que le fil s'en tiendra aux versions comme indiqué dans le yarn.lock et ne tentera pas de les mettre à jour.
Pendant le développement, le rechargement des modules chauds (HMR) est actif afin que vous puissiez modifier facilement le code du rendu et frapper F5 après que les modifications ont été compilées par electron-forge . Vous pouvez garder les outils de développeur ouverts pour voir lorsque le HMR a terminé le chargement de vos modifications.
Afin de fournir du code, vous devez avoir une familiarité fondamentale avec les sujets et / ou manuels suivants (commandés par importance descendants):
Conseil
Voir la section "Structure du répertoire" ci-dessous pour avoir une idée du fonctionnement spécifiquement de Zettlr.
Cette section répertorie toutes les commandes disponibles que vous pouvez utiliser pendant le développement d'applications. Ceux-ci sont définis dans le package.json et peuvent être exécutés à partir de la ligne de commande en les préfixant avec yarn . Exécutez-les depuis le répertoire de base du référentiel.
startUtilisez cette commande pour tester les modifications que vous apportez à l'application. Cette commande démarrera l'application, mais fournira une configuration personnalisée et un répertoire personnalisé. Ainsi, il ne touchera aucun fichier qu'une installation Zettlr régulière utilisera.
La première fois que vous démarrez cette commande , passez le --clean -flag pour copier un tas de fichiers de test à votre ./resources -directory, créez un test-config.yml dans la racine de votre projet et démarrez l'application avec cette configuration propre. Ensuite, vous pouvez adapter le test-config.yml à votre goût (afin que certains paramètres que vous définissent autrement soient prédéfinis sans que vous ayez à ouvrir les préférences).
Chaque fois que vous souhaitez réinitialiser le répertoire de test à son état initial (ou que vous avez supprimé le répertoire, ou cloné tout le projet), passez l'indicateur --clean à la commande afin de créer ou de réinitialiser le répertoire. Ceci est également nécessaire si vous avez changé quelque chose dans test-config.yml .
Si vous souhaitez empêcher la création d'un file de configuration (par exemple, pour simuler la première expérience de démarrage), vous pouvez transmettre l'indicateur --no-config à cette commande.
Vous pouvez passer des commutateurs de ligne de commande supplémentaires tels que --clear-cache à cette commande également. Ils seront transmis au processus de l'enfant.
Avertissement
ATTENTION: Avant d'exécuter la commande pour la première fois, vous devez l'exécuter avec le --clean -flag pour créer le répertoire en premier lieu!
De plus, jetez un œil à notre documentation complète de développement.
packageEmballe l'application, mais ne l'associer pas dans un installateur. Sans aucun suffixe, cette commande emballera l'application pour votre plate-forme et architecture actuelles. Pour créer des packages spécifiques (peut nécessiter une course sur la plate-forme correspondante), les suffixes suivants sont disponibles:
package:mac-x64 (Mac basé sur Intel)package:mac-arm (Mac à base de silicium Apple)package:win-x64 (Windows basé sur Intel)package:linux-x64 (Linux basé sur Intel)package:linux-arm (Linux basé sur ARM) Les packages d'application résultants sont stockés en ./out .
Important
Cette commande sautera TypeCheCking pour accélérer les builds, nous recommandons donc d'exécuter lint avant l'emballage pour s'assurer qu'il n'y a pas d'erreurs.
release:{platform-arch} Emballe l'application, puis le regroupe dans un installateur pour la plate-forme et l'architecture correspondantes. Pour créer un tel bundle (peut nécessiter de fonctionner sur la plate-forme correspondante), l'une des valeurs suivantes pour {platform-arch} est requise:
release:mac-x64 (Mac basé sur Intel)release:mac-arm (Mac à base de silicium Apple)release:win-x64 (Windows basé sur Intel)release:linux-x64 (Linux basé sur Intel)release:linux-arm (Linux basé sur ARM) Les faisceaux de configuration résultants sont stockés en ./release .
Note
Bien que vous puissiez package directement pour votre plate-forme sans aucun suffixe, vous devez spécifier la plate-forme et l'architecture lors de la création d'un bundle de libération, car le constructeur électronique inclurait autrement les dépendances de développement dans l' app.asar , ce qui résulte d'une application gonflée.
csl:refresh Cela télécharge les fichiers CSL (Citation Style Language (CSL) avec lesquels l'application est expédiée et les place dans les static/csl-locales - et static/csl-styles -Dectories.
Note
Cette commande est destinée à un flux de travail automatisé qui s'exécute de temps à autre sur le référentiel pour effectuer cette action. Ne commettez pas de fichiers mis à jour dans le référentiel . Au lieu de cela, les fichiers mis à jour seront téléchargés chaque fois que vous git fetch .
lintExécute Eslint. Des applications telles que Visual Studio Code exécuteront automatiquement Eslint en arrière-plan de vos fichiers ouverts. Cette commande les exécute sur toute la base de code. Assurez-vous d'exécuter cette commande avant de soumettre une demande de traction.
Note
Cette commande s'exécutera automatiquement sur chaque demande de traction pour vérifier votre code pour les incohérences.
shortcut:install Crée un fichier .desktop dans vos applications qui vous permet de démarrer rapidement une application que vous avez compilée à partir de Source. Cela nécessite Linux. Pour utiliser de nouvelles modifications, synchronise simple le référentiel, exécutez à nouveau package et vous êtes prêt à y aller.
Avertissement
Nous fournissons cette commande comme commodité. À moins que vous ne sachiez ce que vous faites, vous ne devez pas exécuter le code directement compilé à partir de la tête de la branche de développement. Cette commande peut cependant être utile dans quelques cas où vous savez ce qui peut aller mal et peut prendre des précautions appropriées.
shortcut:uninstall Supprime le fichier .desktop créé par shortcut:install .
Note
Vous n'avez pas à désinstaller et à réinstaller le raccourci chaque fois que vous compilez le binaire à nouveau. Assurez-vous simplement que Zettlr est fermé avant de le recompiler. Vous ne devriez avoir à réinstaller le raccourci que si le modèle (en scripts/assets/zettlr-dev.desktop ) a changé.
test Cela exécute les tests unitaires dans le répertoire ./test . Assurez-vous d'exécuter cette commande avant de soumettre une demande de traction, car cela sera exécuté à chaque fois que vous vous engagez dans le PR, et de cette façon, vous pouvez vous assurer que vos modifications ne rompent aucun test, ce qui facilite l'ensemble du processus de relations publiques.
test-gui Voir start .
Important
Cette commande est obsolète et seulement un alias pour start . Utilisez à la place start .
Zettlr est une application mature qui a amassé des centaines de répertoires au cours de son développement. Puisqu'il est difficile de contribuer à une demande sans aucune indication, nous avons compilé une brève description des répertoires avec la façon dont ils interagissent.
.
├── 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
Vous remarquerez que Zettlr contient à la fois des "modules" et des "fournisseurs de services". La différence entre les deux est simple: les fournisseurs de services s'exécutent dans le processus principal et sont complètement autonomes tout en fournissant des fonctionnalités à l'application dans son ensemble. Les modules, en revanche, fournissent des fonctionnalités qui doivent être déclenchées par les actions de l'utilisateur (par exemple, l'exportateur et l'importateur).
Chaque fois que vous exécutez Zettlr, les étapes suivantes seront exécutées:
source/main.tssource/app/lifecycle.ts::bootApplication )source/app/lifecycle.ts::bootApplication )source/main/zettlr.ts )Et lorsque vous fermez l'application, les étapes suivantes s'exécuteront:
source/main/zettlr.ts::shutdown )source/app/lifecycle.ts::shutdownApplication ) Pendant le développement de l'application ( yarn start et yarn test-gui ), les étapes suivantes s'exécuteront:
.webpack , en remplaçant les constantes que vous pouvez trouver dans les méthodes "Créer" du gestionnaire de fenêtres par les points d'entrée appropriés.Chaque fois que l'application est construite, les étapes suivantes s'exécuteront:
Electron Forge mettra les applications emballées dans le répertoire ./out tandis que Electron Builder mettra les installateurs dans le répertoire ./release .
Le binaire Zettlr dispose de quelques commutateurs de ligne de commande que vous pouvez utiliser à différentes fins.
--launch-minimizedCe drapeau CLI demandera à Zettlr de ne pas afficher la fenêtre principale au début. Ceci est utile pour créer des entrées Autostart. Dans ce cas, le lancement de Zettlr avec ce drapeau à System Boot s'assurera que vous ne verrez son icône que dans le plateau.
Étant donné que cela implique la nécessité de faire fonctionner l'application dans la barre de plateau ou la zone de notification lors du démarrage de l'application comme celle-ci, il définira automatiquement le system.leaveAppRunning de réglage correspondant.LeAVEAPRUNNING sur true.
Note
Cet drapeau n'aura aucun effet sur les systèmes Linux qui ne prennent pas en charge l'affichage d'une icône dans une barre de plateau ou une zone de notification.
--clear-cache Cela dirigera la couche d'abstraction du système de fichiers pour effacer complètement son cache sur le démarrage. Cela peut être utilisé pour atténuer les problèmes concernant les modifications de la base de code. Pour garantir la compatibilité avec toutes les modifications des informations stockées dans le cache, le cache est également effacée automatiquement lorsque le champ de version de votre config.json ne correspond pas à celui du package.json , ce qui signifie que, tant que vous ne définissez pas explicitement la version -champ de votre test-config.yml , le cache sera toujours effacée sur chaque exécution lorsque vous tapez yarn test-gui .
Conseil
Si vous souhaitez simplement effacer avec désinvolture le cache pour le dépannage, vous pouvez également effacer le cache en sélectionnant l'élément de menu approprié dans le menu "Aide", ce qui vous évite d'avoir à vous piéger avec quelque chose de technique.
--data-dir=path Utilisez ce commutateur pour spécifier un répertoire de données personnalisé, qui contient vos fichiers de configuration. Sans ce commutateur, le répertoire de données est par défaut à %AppData%/Zettlr (sur Windows 10 et Nower), ~/.config/Zettlr (sur Linux), ou ~/Library/Application Support/Zettlr (sur macOS). Le chemin peut être absolu ou relatif. La base du chemin relatif sera soit le répertoire du binaire (lors de l'exécution d'une application emballée) ou de la racine du référentiel (lors de l'exécution d'une application qui n'est pas emballée). N'oubliez pas d'échapper aux espaces ou de citer le chemin, si nécessaire. Le caractère ~ pour indiquer le répertoire domestique n'est pas élargi dans ce cas, alors assurez-vous de passer tout le chemin vers votre répertoire domestique si nécessaire. En raison d'un bogue mineur dans l'électron, un sous-répertoire Dictionaries vides est créé dans le répertoire de données par défaut, mais il n'a pas d'impact sur la fonctionnalité.
--disable-hardware-accelerationCe commutateur fait que Zettlr désactivait l'accélération matérielle, ce qui pourrait être nécessaire dans certaines configurations. Pour plus d'informations sur les raisons pour lesquelles ce drapeau a été ajouté, voir le numéro 2127.
Ce référentiel utilise la fonction d'extensions recommandées de Visual Studio Code. Cela signifie: si vous utilisez VS Code et ouvrez le référentiel pour la première fois, VS Code vous dira que le référentiel recommande d'installer une poignée d'extensions. Ces extensions sont recommandées si vous travaillez avec Zettlr et facilitera la contribution. Les recommandations sont spécifiées dans le fichier .vscode/extensions.json .
Étant donné que l'installation d'extensions est parfois une question de goût, nous avons ajouté de courtes descriptions pour chaque extension recommandée dans ce fichier pour expliquer pourquoi nous le recommandons. De cette façon, vous pouvez prendre votre propre décision, que vous souhaitiez ou non installer l'une de ces extensions (par exemple, l'extension SVG n'est pas nécessaire si vous ne travaillez pas avec les fichiers SVG fournis dans le référentiel).
Si vous choisissez de ne pas installer toutes les extensions recommandées à la fois (ce que nous recommandons), VS Code vous montrera les recommandations dans la barre latérale Extensions afin que vous puissiez d'abord décider lequel de ceux que vous souhaitez installer, puis installer manuellement ceux que vous souhaitez avoir.
Conseil
L'utilisation des mêmes extensions que l'équipe de développeur de base rendra le code généralement plus cohérent car vous aurez le même rétroaction visuelle.
Ce logiciel est sous licence via la licence GNU GPL V3.
La marque (y compris le nom, les icônes et tout ce dont Zettlr peut être identifiée) est exclue et tous les droits réservés. Si vous voulez fourrer Zettlr pour développer une autre application, n'hésitez pas à changer le nom et les icônes. Lisez l'utilisation du logo.