

Página inicial | Download | Documentação | Mastodon | Discord | Contribuindo | Apoie -nos

Zettlr traz simplicidade aos seus textos. Escrita de mente aberta que se adapta ao seu estilo. Recuperação rápida de informações que encontra o que importa para você. Exportação versátil que permite que você se adapte a qualquer pipeline de publicação que seu empregador ou escola use.
Concentre -se no que importa para você.
Publicar, não perecer.
Saiba mais em nosso site.
… E o melhor é: Zettlr é software de código aberto e de código aberto (FOSS)!
Para instalar o Zettlr, basta baixar o lançamento mais recente do seu sistema operacional. Atualmente suportados são MacOS, Windows e a maioria das distribuições Linux (via Packages Debian e Fedora, bem como Appimages).
Em nosso site e aqui no Github, fornecemos um conjunto de instaladores para os casos de uso mais comuns. Fornecemos instaladores de 64 bits e instaladores para sistemas de ARM (chamados "Apple Silicon" no ecossistema MacOS). 32 bits não são suportados. Oferecemos diretamente os seguintes binários:
Graças à nossa comunidade, também podemos oferecer uma variedade de outras oportunidades de instalação:
Todas as outras plataformas suportadas por elétrons também são suportadas, mas você precisará criar o aplicativo para que isso funcione.
Por favor, considere também se tornar um patrono ou fazer uma doação única!
Depois de instalar o Zettlr, acesse nossa documentação para conhecer o Zettlr. Consulte o guia de início rápido, se você preferir usar cabeças de software.

Como um aplicativo de código aberto, o Zettlr sempre recebe contribuições da comunidade. Você não precisa saber como escrever código para ajudar! Uma visão geral completa sobre todas as áreas onde você pode ajudar pode ser encontrada em nosso guia contribuinte. Aqui, apresentamos a você as duas maiores áreas em que recebemos ajuda: traduções e código contribuinte.
A equipe de desenvolvimento mantém as traduções em inglês e alemão, mas carece de conhecimento adequado de outros idiomas. Todas as outras traduções disponíveis foram criadas por nossa comunidade.
As traduções de Zettlr utilizam o sistema GetText. Isso significa que as traduções são mantidas em arquivos PO no diretório static/lang .
Para atualizar uma tradução, basta baixar o arquivo de idioma correspondente e editá -lo. Você pode editar o PO-Files com um editor de texto simples, mas se você preferir um editor gráfico mais confortável, existem muitos por aí. Uma boa opção é o editor de código aberto Poedit.
Assim que você estiver satisfeito com suas alterações, abra uma solicitação de tração aqui que atualize o arquivo correspondente. O Github criou um ótimo guia sobre como abrir solicitações de tração.
O Zettlr é um aplicativo baseado em elétrons, por assim dizer, você precisará instalar o seguinte no seu computador:
lts/iron ). Para testar qual versão você tem, execute node -v .package-lock.json -files e muitos comandos exigem fios. Você pode instalar isso globalmente usando npm install -g yarn ou Homebrew, se estiver no macOS.cURL (exigido pelo script de download do Pandoc)unzip (exigido pelo script de download do Pandoc)jq (exigido pelo script i18n)xcode-select --installEm seguida, basta clonar o repositório e instalar as dependências no computador local:
$ git clone https://github.com/Zettlr/Zettlr.git
$ cd Zettlr
$ yarn install --immutable O sinalizador --immutable garante que o fio se atenha às versões listadas no yarn.lock e não tente atualizá -las.
Durante o desenvolvimento, a recarga do módulo quente (HMR) está ativa para que você possa editar o código do renderizador com facilidade e atingir F5 após a compilação das alterações pela electron-forge . Você pode manter as ferramentas de desenvolvedor abertas para ver quando o HMR terminou de carregar suas alterações.
Para fornecer código, você deve ter familiaridade básica com os seguintes tópicos e/ou manuais (ordenados pela importância descendente):
Dica
Consulte a seção "Estrutura do diretório" abaixo para ter uma idéia de como o Zettlr funciona especificamente.
Esta seção lista todos os comandos disponíveis que você pode usar durante o desenvolvimento de aplicativos. Estes são definidos no package.json e podem ser executados na linha de comando prefixando -os com yarn . Execute -os de dentro do diretório base do repositório.
startUse este comando para testar as alterações que você fizer no aplicativo. Este comando iniciará o aplicativo, mas fornecerá uma configuração personalizada e um diretório personalizado. Assim, não tocará nenhum arquivo que uma instalação ZETTLR regular use.
Na primeira vez em que você inicia este comando , passa o --clean -flag para copiar um monte de arquivos de teste para o seu ./resources -Directory, criar um test-config.yml na raiz do projeto e inicie o aplicativo com esta configuração limpa. Em seguida, você pode adaptar o test-config.yml ao seu gosto (para que certas configurações que você sempre definiriam seja predefinido sem que você precise abrir as preferências).
Sempre que você deseja redefinir o diretório de teste para o estado inicial (ou você removeu o diretório ou clonou o projeto inteiro novamente), passe a bandeira --clean o comando para criar ou redefinir o diretório. Isso também é necessário se você alterou algo no test-config.yml .
Se você deseja impedir que um arquivo de configuração seja criado (por exemplo, para simular a primeira experiência de início), você pode passar a bandeira --no-config para este comando.
Você também pode passar com switches de linha de comando adicionais, como --clear-cache para este comando. Eles serão passados para o processo infantil.
Aviso
ATENÇÃO: Antes de executar o comando primeiro, você deve executá -lo com o --clean -flag para criar o diretório em primeiro lugar!
Além disso, dê uma olhada em nossa documentação completa de desenvolvimento.
packagePacotes o aplicativo, mas não o agrupa em um instalador. Sem nenhum sufixo, este comando empacotará o aplicativo para sua plataforma e arquitetura atuais. Para criar pacotes específicos (pode exigir execução na plataforma correspondente), os seguintes sufixos estão disponíveis:
package:mac-x64 (Macs baseados em Intel)package:mac-arm (Macs baseado em silício da Apple)package:win-x64 (Windows baseado em Intel)package:linux-x64 (Linux baseado em Intel)package:linux-arm (Linux baseado em braço) Os pacotes de aplicativos resultantes são armazenados em ./out .
Importante
Este comando pulará o TypeChecking para acelerar as compilações, por isso recomendamos a execução lint antes da embalagem para garantir que não haja erros.
release:{platform-arch} Embalagens o aplicativo e, em seguida, agrupa -o em um instalador para a plataforma e a arquitetura correspondentes. Para criar esse pacote (pode exigir a execução na plataforma correspondente), é necessário um dos seguintes valores para {platform-arch} :
release:mac-x64 (Macs baseados em Intel)release:mac-arm (Macs baseado em silício Apple)release:win-x64 (Windows baseado em Intel)release:linux-x64 (Linux baseado em Intel)release:linux-arm (Linux baseado em braço) Os pacotes de configuração resultantes são armazenados em ./release .
Observação
Embora você possa package diretamente para sua plataforma sem sufixo, você precisa especificar a plataforma e a arquitetura ao criar um pacote de liberação, pois o Builder de Eletrón incluiria as dependências de desenvolvimento no app.asar , resultando em um aplicativo inchado.
csl:refresh Isso baixará os arquivos de idioma do estilo de citação (CSL) com os quais o aplicativo é enviado e os coloca nos diretores static/csl-locales -e static/csl-styles respectivamente.
Observação
Este comando destina -se a um fluxo de trabalho automatizado que é executado de tempos em tempos no repositório para executar essa ação. Não comprometa arquivos atualizados para o repositório . Em vez disso, os arquivos atualizados serão baixados sempre que você git fetch .
lintExecuta Eslint. Aplicativos como o Código do Visual Studio executarão automaticamente o ESLint em segundo plano em seus arquivos abertos. Este comando os executa em toda a base de código. Certifique -se de executar este comando antes de enviar uma solicitação de tração.
Observação
Este comando será executado automaticamente em cada solicitação de tração para verificar seu código para inconsistências.
shortcut:install Cria um .desktop -File em seus aplicativos, o que permite iniciar rapidamente um aplicativo que você compilou da fonte. Isso requer Linux. Para usar novas alterações, sincronize o repositório simples, execute package novamente e pronto.
Aviso
Nós fornecemos esse comando como uma conveniência. A menos que você saiba o que está fazendo, não deve executar o código diretamente compilado a partir da confirmação da cabeça da filial Desenvolvimento. Esse comando pode ser útil, no entanto, em alguns casos em que você sabe o que pode dar errado e pode tomar as precauções apropriadas.
shortcut:uninstall Remove o arquivo .desktop -File criado por shortcut:install .
Observação
Você não precisa desinstalar e reinstalar o atalho sempre que compilar o binário de novo. Apenas certifique -se de que o Zettlr esteja fechado antes de recompilá -lo. Você só deve reinstalar o atalho se o modelo (em scripts/assets/zettlr-dev.desktop ) tiver mudado.
test Isso executa os testes de unidade no diretório ./test . Certifique-se de executar esse comando antes de enviar uma solicitação de tração, pois isso será executado toda vez que você se compromete com o PR e, dessa maneira
test-gui Veja start .
Importante
Este comando está depreciado e apenas um alias para start . Use start em vez disso.
Zettlr é um aplicativo maduro que acumulou centenas de diretórios ao longo de seu desenvolvimento. Como é difícil contribuir para um aplicativo sem nenhuma orientação, compilamos uma breve descrição dos diretórios com a forma como eles se relacionam.
.
├── 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
Você notará que o Zettlr contém "módulos" e "provedores de serviços". A diferença entre os dois é simples: os provedores de serviços são executados no processo principal e são completamente autônomos, fornecendo funcionalidade ao aplicativo como um todo. Os módulos, por outro lado, fornecem funcionalidade que deve ser acionada pelas ações do usuário (por exemplo, o exportador e o importador).
Sempre que você executa o Zettlr, as etapas a seguir serão executadas:
source/main.tssource/app/lifecycle.ts::bootApplication )source/app/lifecycle.ts::bootApplication )source/main/zettlr.ts )E quando você desligar o aplicativo, as etapas a seguir serão executadas:
source/main/zettlr.ts::shutdown )source/app/lifecycle.ts::shutdownApplication ) Durante o desenvolvimento do aplicativo ( yarn start e yarn test-gui ), as etapas a seguir serão executadas:
.webpack , substituindo as constantes que você pode encontrar nos métodos "Criar"-Motores do gerenciador de janelas pelos pontos de entrada apropriados.Sempre que o aplicativo for construído, as etapas a seguir serão executadas:
A Electron Forge colocará os aplicativos embalados no diretório ./out enquanto o Electron Builder colocará os instaladores no diretório ./release .
O Zettlr Binário possui alguns interruptores de linha de comando que você pode usar para fins diferentes.
--launch-minimizedEsta bandeira da CLI instruirá o Zettlr a não mostrar a janela principal no início. Isso é útil para criar entradas do AutoStart. Nesse caso, o lançamento do Zettlr com este sinalizador no System Boot garantirá que você verá apenas seu ícone na bandeja.
Como isso implica a necessidade de que o aplicativo seja executado na barra de bandeja ou na área de notificação ao iniciar o aplicativo como esse, ele definirá automaticamente o system.leaveAppRunning de configuração correspondente.LeeVeApRunning como True.
Observação
Esse sinalizador não terá nenhum efeito nos sistemas Linux que não suportem exibir um ícone em uma barra de bandeja ou área de notificação.
--clear-cache Isso direcionará a camada de abstração do sistema de arquivos para limpar completamente seu cache na inicialização. Isso pode ser usado para mitigar problemas em relação às alterações na base de código. Para garantir a compatibilidade com quaisquer alterações nas informações armazenadas no cache, o cache também é limpo automaticamente quando o campo de versão em seu config.json não corresponde ao do package.json , o que significa que, desde que você não seja explicitamente definido quando você digitará o version teste no seu yarn test-gui test-config.yml
Dica
Se você deseja apenas limpar o cache casualmente para solução de problemas, também pode limpar o cache selecionando o item de menu apropriado no menu "Ajuda", o que evita que você precise se interessar com qualquer coisa técnica.
--data-dir=path Use esse comutador para especificar um diretório de dados personalizado, que contém seus arquivos de configuração. Sem esse switch, o diretório de dados padroniza para %AppData%/Zettlr (no Windows 10 e mais recente), ~/.config/Zettlr (no linux), ou ~/Library/Application Support/Zettlr (no macOS). O caminho pode ser absoluto ou relativo. Base para o caminho relativo será o diretório do binário (ao executar um aplicativo embalado) ou a raiz do repositório (ao executar um aplicativo que não está embalado). Lembre -se de escapar dos espaços ou citar o caminho, se necessário. O caráter ~ para denotar o diretório inicial não é expandido neste caso; portanto, passe o caminho inteiro para o diretório doméstico, se necessário. Devido a um bug menor no elétron, um subdiretório Dictionaries vazios é criado no diretório de dados padrão, mas não afeta a funcionalidade.
--disable-hardware-accelerationEssa chave faz com que o Zettlr desative a aceleração de hardware, o que pode ser necessário em determinadas configurações. Para obter mais informações sobre por que esse sinalizador foi adicionado, consulte a edição nº 2127.
Este repositório utiliza o recurso Extensões recomendadas pelo Código do Visual Studio. Isso significa: se você usar o código vs e abrir o repositório pela primeira vez, o código VS informará que o repositório recomenda instalar um punhado de extensões. Essas extensões são recomendadas se você trabalhar com o Zettlr e facilitará a contribuição. As recomendações são especificadas no arquivo .vscode/extensions.json .
Como a instalação de extensões às vezes é uma questão de gosto, adicionamos descrições curtas para cada extensão recomendada dentro desse arquivo para explicar por que o recomendamos. Dessa forma, você pode tomar sua própria decisão se deseja ou não instalar alguma dessas extensões (por exemplo, a extensão SVG não é necessária se você não trabalhar com os arquivos SVG fornecidos no repositório).
Se você optar por não instalar todas as extensões recomendadas de uma só vez (que recomendamos), o código VS mostrará as recomendações na barra lateral das extensões para que você possa decidir primeiro quais dos que você gostaria de instalar e depois instalar manualmente aqueles que deseja ter.
Dica
O uso das mesmas extensões que a equipe do desenvolvedor principal tornará o código geralmente mais consistente, pois você terá o mesmo feedback visual.
Este software é licenciado através da License GPL V3 GNU.
A marca (incluindo nome, ícones e tudo o que Zettlr pode ser identificado) é excluído e todos os direitos reservados. Se você deseja gastar Zettlr para desenvolver outro aplicativo, sinta -se livre, mas altere o nome e os ícones. Leia sobre o uso do logotipo.