

Домашняя страница | Скачать | Документация | Мастодон | Раздор | Вклад | Поддержите нас

Zettlr возвращает простоту к вашим текстам. Открытый писатель, который адаптируется к вашему стилю. Быстрый поиск информации, который находит для вас, что важно. Универсальный экспорт, который позволяет вам адаптироваться к любым публикационному трубопроводу, который использует ваш работодатель или школа.
Сосредоточьтесь на том, что для вас важно.
Публикуйте, не погиб.
Узнайте больше на нашем сайте.
… И самое лучшее: Zettlr - это бесплатное программное обеспечение и программное обеспечение с открытым исходным кодом (Foss)!
Чтобы установить Zettlr, просто загрузите последний выпуск для вашей операционной системы. В настоящее время поддерживаются MacOS, Windows и большинство дистрибутивах Linux (через Debian- и Fedora-Packages, а также аппликации).
На нашем веб-сайте и здесь, на 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 , и не пытается их обновить.
Во время разработки Hot Module Reloading (HMR) активен, так что вы можете легко редактировать код рендеринга и попасть в F5 после того, как изменения были составлены с помощью electron-forge . Вы можете держать инструменты разработчика открытыми, чтобы увидеть, когда HMR закончил загружать ваши изменения.
Чтобы предоставить код, вы должны иметь базовое знакомство со следующими темами и/или руководствами (упорядоченным путем нисходящей важности):
Кончик
См. Раздел «Структура каталогов» ниже, чтобы получить представление о том, как Zettlr конкретно работает.
В этом разделе перечислены все доступные команды, которые вы можете использовать во время разработки приложений. Они определены в package.json yarn Запустите их из базового каталога репозитория.
startИспользуйте эту команду, чтобы беззаботно проверить любые изменения, которые вы вносите в приложение. Эта команда запустит приложение, но предоставит пользовательскую конфигурацию и пользовательский каталог. Таким образом, он не будет касаться каких -либо файлов, которые будет использовать обычную установку Zettlr.
В первый раз, когда вы запускаете эту команду , передайте --clean -флаг, чтобы скопировать кучу тестовых стеклов в свой ./resources -Directory, создайте test-config.yml в корне проекта и запустите приложение с этой чистой конфигурации. Затем вы можете адаптировать test-config.yml по своему вкусу (так что определенные настройки, которые вы бы в противном случае были бы установлены, были предварительно установлены без необходимости открыть предпочтения).
Всякий раз, когда вы хотите сбросить тестовый каталог в его начальное состояние (или вы удаляете каталог или заново клонировали весь проект), передайте флаг --clean в команду, чтобы создать или сбросить каталог. Это также необходимо, если вы что-то изменили в test-config.yml .
Если вы хотите предотвратить создание конфигурации (например, для моделирования первого опыта начала), вы можете передать флаг --no-config этой команде.
Вы также можете передавать дополнительные коммутаторы командной строки, такие как --clear-cache также и этой команде. Они будут переданы в детский процесс.
Предупреждение
Внимание: Перед сначала запустить команду, вы должны запустить ее с помощью --clean -flag, чтобы создать каталог в первую очередь!
Кроме того, посмотрите на нашу полную документацию по разработке.
packageПакет приложение, но не переполните его в установщик. Без какого -либо суффикса эта команда будет упаковывать приложение для вашей текущей платформы и архитектуры. Для создания определенных пакетов (может потребоваться запуск на соответствующей платформе), доступны следующие суффиксы:
package:mac-x64 (MACS на основе Intel)package:mac-arm (Apple Silicon Macs)package:win-x64 (Windows на основе Intel)package:linux-x64 (Intel Linux)package:linux-arm (на основе рук Linux) Полученные пакеты приложений хранятся в ./out .
Важный
Эта команда пропустит TypeChecking, чтобы ускорить сборки, поэтому мы рекомендуем запустить lint перед упаковкой, чтобы убедиться, что нет ошибок.
release:{platform-arch} Пакет приложение, а затем объединяет его в установщик для соответствующей платформы и архитектуры. Для создания такого пакета (может потребоваться запуск на соответствующей платформе), требуется одно из следующих значений для {platform-arch} :
release:mac-x64 (MACS на основе Intel)release:mac-arm (Apple Silicon Macs)release:win-x64 (Windows на основе Intel)release:linux-x64 (Intel Linux)release:linux-arm (на основе Arm Linux) Полученные пакеты установки хранятся в ./release .
Примечание
В то время как вы можете package непосредственно для своей платформы без какого-либо суффикса, вам необходимо указать платформу и архитектуру при создании пакета выпуска, поскольку электрон-строитель в противном случае включал бы, что зависимости разработки в app.asar , что приведет к раздутым приложению.
csl:refresh Это загружает файлы языка стиля цитирования (CSL), с помощью которых приложение отправляется, и помещает их в static/csl-locales -и static/csl-styles -директоры соответственно.
Примечание
Эта команда предназначена для автоматического рабочего процесса, который время от времени работает в репозитории для выполнения этого действия. Не совершайте обновленные файлы в репозиторий . Вместо этого обновленные файлы будут загружены всякий раз, когда вы git fetch .
lintБежит Eslint. Такие приложения, как Visual Studio Code, автоматически запускают Eslint в фоновом режиме в ваших открытых файлах. Эта команда запускает их по всей базе кода. Обязательно запустите эту команду перед отправкой запроса на привлечение.
Примечание
Эта команда будет работать автоматически по каждому запросу на вытяжение, чтобы проверить ваш код на наличие несоответствий.
shortcut:install Создает .desktop -файл в ваши приложения, что позволяет быстро запустить приложение, которое вы составили из источника. Это требует Linux. Чтобы использовать новые изменения, просто синхронизируйте репозиторий, запустите package снова, и все готово к работе.
Предупреждение
Мы предоставляем эту команду как удобство. Если вы не знаете, что вы делаете, вы не должны запускать код, непосредственно скомпилированный из главного филиала разработки. Однако эта команда может быть полезна в нескольких случаях, когда вы знаете, что может пойти не так, и может принять соответствующие меры предосторожности.
shortcut:uninstall Удаляет файл .desktop , созданный shortcut:install .
Примечание
Вам не нужно удалять и переустановить ярлык, когда вы скомпилируете бинарное заново. Просто убедитесь, что Zettlr закрыт, прежде чем перекомпилировать его. Вы должны переустановить ярлык, только если шаблон (в scripts/assets/zettlr-dev.desktop ) изменился.
test Это запускает модульные тесты в каталоге ./test . Обязательно запустите эту команду перед отправкой запроса на притяжение, так как это будет запускаться каждый раз, когда вы совершаете PR, и таким образом вы можете убедиться, что ваши изменения не нарушают никаких тестов, что облегчает PR-процесс.
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 , заменив константы, которые вы можете найти в «Создать» -методы оконного менеджера с соответствующими точками входа.Когда приложение будет создано, будут выполняться следующие шаги:
Electron Forge ./release упакованные приложения в каталог ./out
Бинарные знаки Zettlr включают несколько коммутаторов командной строки, которые вы можете использовать для разных целей.
--launch-minimizedЭтот флаг CLI поручит Zettlr не показывать главное окно в начале. Это полезно для создания записей AutoStart. В этом случае запуск Zettlr с этим флагом на системной загрузке позаботится о том, чтобы вы увидели его значок только в подносе.
Поскольку это подразумевает необходимость, чтобы приложение работало в панели лоток или в области уведомления при запуске приложения, как это, оно автоматически устанавливает соответствующую system.leaveAppRunning настроек.
Примечание
Этот флаг не окажет никакого влияния на системы Linux, которые не поддерживают отображение значка в полосовой панели или области уведомления.
--clear-cache Это направляет уровень абстракции файловой системы, чтобы полностью очистить его кэш на загрузке. Это может быть использовано для смягчения вопросов, касающихся изменений в базе кода. Чтобы обеспечить совместимость с любыми изменениями информации, хранящейся в yarn test-gui , кэш также автоматически очищается test-config.yml когда поле version в вашем config.json не соответствует тому, что в package.json .
Кончик
Если вы просто хотите случайно очистить кэш для устранения неполадок, вы также можете очистить кэш, выбрав соответствующий пункт меню в меню «Помогите», что спасает вас от необходимости баловаться с чем -либо техническим.
--data-dir=path Используйте этот переключатель, чтобы указать пользовательский каталог данных, который содержит ваши файлы конфигурации. Без этого переключателя каталог данных по умолчанию %AppData%/Zettlr (в Windows 10 и Newer), ~/.config/Zettlr (на Linux) или ~/Library/Application Support/Zettlr (на MacOS). Путь может быть абсолютным или относительным. Основой для относительного пути будет либо каталог бинарного материала (при запуске упакованного приложения), либо корень репозитория (при запуске приложения, которое не упаковано). Не забудьте избежать пространств или процитировать путь, если это необходимо. ~ для обозначения домашнего каталога не расширяется в этом случае, поэтому обязательно перейдите по всему пути в ваш домашний каталог, если это необходимо. Из -за незначительной ошибки в электронах, в каталоге данных создается пустые Dictionaries , но он не влияет на функциональность.
--disable-hardware-accelerationЭтот переключатель заставляет Zettlr отключить аппаратное ускорение, что может быть необходимо в определенных настройках. Для получения дополнительной информации о том, почему этот флаг был добавлен, см. Выпуск № 2127.
В этом репозитории используется рекомендуемая функция расширений Visual Studio. Это означает: если вы используете код VS и открываете репозиторий в первый раз, VS -код скажет вам, что репозиторий рекомендует установить несколько расширений. Эти расширения рекомендуются, если вы работаете с Zettlr и сделаете вклад намного проще. Рекомендации указаны в файле .vscode/extensions.json .
Поскольку установка расширений иногда является вопросом вкуса, мы добавляли короткие описания для каждого рекомендуемого расширения в этом файле, чтобы объяснить, почему мы его рекомендуем. Таким образом, вы можете принять собственное решение, хотите ли вы установить какие -либо из этих расширений (например, расширение SVG не требуется, если вы не работаете с файлами SVG, представленными в репозитории).
Если вы решите не устанавливать все рекомендуемые расширения одновременно (что мы рекомендуем), VS -код покажет вам рекомендации в боковой панели расширений, чтобы сначала вы могли решить, какие из тех, которые вы хотели бы установить, а затем вручную установить те, которые вы хотите иметь.
Кончик
Использование тех же расширений, что и основная команда разработчиков, сделает код, как правило, более последовательным, поскольку у вас будет такая же визуальная обратная связь.
Это программное обеспечение лицензировано через GNU GPL V3-License.
Бренд (включая имя, значки и все, с чем можно было отождествить Zettlr), исключен и все права защищены. Если вы хотите разобраться в Zettlr, чтобы разработать другое приложение, не стесняйтесь, но, пожалуйста, измените имя и значки. Прочитайте об использовании логотипа.