

Beranda | Unduh | Dokumentasi | Mastodon | Perselisihan | Berkontribusi | Mendukung kami

Zettlr membawa kesederhanaan kembali ke teks Anda. Tulisan yang berpikiran terbuka yang beradaptasi dengan gaya Anda. Pengambilan informasi cepat yang menemukan apa yang penting bagi Anda. Ekspor serbaguna yang memungkinkan Anda beradaptasi dengan pipa publikasi apa pun yang digunakan majikan atau sekolah Anda.
Fokus pada apa yang penting bagi Anda.
Publikasikan, tidak binasa.
Pelajari lebih lanjut di situs web kami.
… Dan yang terbaik adalah: Zettlr adalah perangkat lunak gratis dan open source (FOSS)!
Untuk menginstal Zettlr, cukup unduh rilis terbaru untuk sistem operasi Anda. Saat ini didukung adalah MacOS, Windows, dan sebagian besar distribusi Linux (melalui paket-paket Debian dan Fedora serta appImages).
Di situs web kami dan di sini di GitHub, kami menyediakan satu set installer untuk kasus penggunaan yang paling umum. Kami menyediakan kedua installer 64-bit maupun installer untuk sistem ARM (disebut "Apple Silicon" di ekosistem MacOS). 32-bit tidak didukung. Kami menawarkan binari berikut secara langsung:
Terima kasih kepada komunitas kami, kami juga dapat menawarkan berbagai peluang instalasi lainnya:
Semua platform lain yang didukung elektron juga didukung, tetapi Anda perlu membangun aplikasi sendiri agar ini berfungsi.
Harap pertimbangkan juga menjadi pelindung atau memberikan sumbangan satu kali!
Setelah Anda menginstal Zettlr, kunjungi dokumentasi kami untuk mengenal Zettlr. Lihat Panduan Mulai Cepat, jika Anda lebih suka menggunakan Head-On Perangkat Lunak.

Sebagai aplikasi open source, Zettlr selalu menyambut kontribusi dari masyarakat. Anda tidak perlu tahu cara menulis kode untuk membantu! Tinjauan penuh atas semua bidang di mana Anda dapat membantu dapat ditemukan di panduan berkontribusi kami. Di sini, kami memperkenalkan Anda ke dua bidang terbesar di mana kami menyambut bantuan: terjemahan dan kode yang berkontribusi.
Tim pengembangan mempertahankan terjemahan bahasa Inggris dan Jerman, tetapi tidak memiliki pengetahuan yang memadai tentang bahasa lain. Semua terjemahan lain yang tersedia telah dibuat oleh komunitas kami.
Terjemahan Zettlr menggunakan sistem gettext. Ini berarti bahwa terjemahan disimpan di PO-Files di dalam direktori static/lang .
Untuk memperbarui terjemahan, cukup unduh file bahasa yang sesuai dan edit. Anda dapat mengedit file PO dengan editor teks sederhana, tetapi jika Anda lebih suka editor grafis yang lebih nyaman, ada banyak di luar sana. Salah satu pilihan yang baik adalah editor open source poedit.
Segera setelah Anda senang dengan perubahan Anda, buka permintaan tarik di sini yang memperbarui file yang sesuai. GitHub telah membuat panduan hebat tentang cara membuka permintaan tarik.
Zettlr adalah aplikasi berbasis elektron, jadi untuk mulai berkembang, Anda harus menginstal berikut di komputer Anda:
lts/iron ). Untuk menguji versi apa yang Anda miliki, jalankan node -v .package-lock.json -file dan banyak perintah membutuhkan benang. Anda dapat menginstal ini secara global menggunakan npm install -g yarn atau homebrew, jika Anda menggunakan macOS.cURL (Diperlukan oleh Skrip Unduh Pandoc)unzip (diperlukan oleh skrip unduhan pandoc)jq (Diperlukan oleh Skrip I18N)xcode-select --install cukupKemudian, cukup klon repositori dan instal dependensi di komputer lokal Anda:
$ git clone https://github.com/Zettlr/Zettlr.git
$ cd Zettlr
$ yarn install --immutable Bendera --immutable memastikan bahwa benang akan menempel pada versi seperti yang tercantum dalam yarn.lock dan tidak berusaha memperbaruinya.
Selama pengembangan, Hot Module Reloading (HMR) aktif sehingga Anda dapat mengedit kode renderer dengan mudah dan menekan F5 setelah perubahan disusun oleh electron-forge . Anda dapat menjaga alat pengembang tetap terbuka untuk melihat kapan HMR selesai memuat perubahan Anda.
Untuk memberikan kode, Anda harus memiliki keakraban dasar dengan topik dan/atau manual berikut (diperintahkan oleh penurunan kepentingan):
Tip
Lihat bagian "Struktur Direktori" di bawah ini untuk mendapatkan gambaran tentang cara kerja Zettlr secara khusus.
Bagian ini mencantumkan semua perintah yang tersedia yang dapat Anda gunakan selama pengembangan aplikasi. Ini didefinisikan dalam package.json dan dapat dijalankan dari baris perintah dengan mengawali mereka dengan yarn . Jalankan mereka dari dalam direktori dasar repositori.
startGunakan perintah ini untuk menguji riang setiap perubahan yang Anda buat pada aplikasi. Perintah ini akan memulai aplikasi, tetapi akan memberikan konfigurasi khusus dan direktori khusus. Dengan demikian, itu tidak akan menyentuh file apa pun yang akan digunakan instalasi Zettlr biasa.
Pertama kali Anda memulai perintah ini , lulus --clean -flag untuk menyalin banyak file uji ke ./resources -directory Anda, buat test-config.yml di root proyek Anda, dan mulai aplikasi dengan konfigurasi bersih ini. Kemudian, Anda dapat menyesuaikan test-config.yml sesuai keinginan Anda (sehingga pengaturan tertentu yang Anda akan selalu atur akan diatur sebelumnya tanpa Anda harus membuka preferensi).
Setiap kali Anda ingin mengatur ulang direktori pengujian ke keadaan awalnya (atau Anda menghapus direktori, atau mengkloning seluruh proyek lagi), berikan bendera --clean ke perintah untuk membuat atau mengatur ulang direktori. Ini juga diperlukan jika Anda mengubah sesuatu dalam test-config.yml .
Jika Anda ingin mencegah file konfigurasi yang sedang dibuat (misalnya, untuk mensimulasikan pengalaman mulai pertama), Anda dapat melewati bendera --no-config ke perintah ini.
Anda dapat melewati sakelar baris perintah tambahan seperti --clear-cache untuk perintah ini juga. Mereka akan diteruskan ke proses anak.
Peringatan
Perhatian: Sebelum pertama kali menjalankan perintah, Anda harus menjalankannya dengan --clean -flag untuk membuat direktori di tempat pertama!
Selain itu, lihat dokumentasi pengembangan penuh kami.
packageMengemas aplikasi, tetapi tidak menggabungkannya ke dalam penginstal. Tanpa akhiran apa pun, perintah ini akan mengemas aplikasi untuk platform dan arsitektur Anda saat ini. Untuk membuat paket tertentu (mungkin memerlukan berjalan pada platform yang sesuai), sufiks berikut tersedia:
package:mac-x64 (Mac berbasis Intel)package:mac-arm (Mac berbasis silikon Apple)package:win-x64 (Windows Berbasis Intel)package:linux-x64 (Linux berbasis Intel)package:linux-arm (Linux berbasis ARM) Paket aplikasi yang dihasilkan disimpan di ./out .
Penting
Perintah ini akan melewatkan typechecking untuk mempercepat build, jadi kami sarankan menjalankan lint sebelum kemasan untuk memastikan bahwa tidak ada kesalahan.
release:{platform-arch} Kemas aplikasi dan kemudian mengikatnya ke dalam pemasang untuk platform dan arsitektur yang sesuai. Untuk membuat bundel seperti itu (mungkin memerlukan berjalan pada platform yang sesuai), salah satu nilai berikut untuk {platform-arch} diperlukan:
release:mac-x64 (Mac berbasis Intel)release:mac-arm (Mac berbasis silikon Apple)release:win-x64 (Windows Berbasis Intel)release:linux-x64 (Linux berbasis Intel)release:linux-arm (Linux berbasis ARM) Bundel pengaturan yang dihasilkan disimpan di ./release .
Catatan
Meskipun Anda dapat package secara langsung untuk platform Anda tanpa sufiks apa pun, Anda perlu menentukan platform dan arsitektur saat membuat bundel rilis, karena elektron-pembangun akan menyertakan ketergantungan pengembangan di app.asar , menghasilkan aplikasi yang membengkak.
csl:refresh Ini mengunduh file Citation Style Language (CSL) yang dengannya aplikasi dikirimkan, dan menempatkannya di masing -masing static/csl-locales -dan static/csl-styles -directory masing -masing.
Catatan
Perintah ini dimaksudkan untuk alur kerja otomatis yang berjalan dari waktu ke waktu di repositori untuk melakukan tindakan ini. Jangan melakukan file yang diperbarui ke repositori . Sebagai gantinya, file yang diperbarui akan diunduh setiap kali Anda git fetch .
lintMenjalankan eslint. Aplikasi seperti Visual Studio Code akan secara otomatis menjalankan ESLINT di latar belakang pada file terbuka Anda. Perintah ini menjalankannya di seluruh basis kode. Pastikan untuk menjalankan perintah ini sebelum mengirimkan permintaan tarik.
Catatan
Perintah ini akan berjalan secara otomatis pada setiap permintaan tarik untuk memeriksa kode Anda untuk ketidakkonsistenan.
shortcut:install Membuat .desktop -file ke dalam aplikasi Anda yang memungkinkan Anda untuk dengan cepat memulai aplikasi yang telah Anda kumpulkan dari sumber. Ini membutuhkan Linux. Untuk menggunakan perubahan baru, sinkronisasi sederhana repositori, jalankan package lagi, dan Anda siap melakukannya.
Peringatan
Kami memberikan perintah ini sebagai kenyamanan. Kecuali jika Anda tahu apa yang Anda lakukan, Anda tidak boleh menjalankan kode secara langsung dikompilasi dari komit komit dari cabang pengembangan. Namun, perintah ini dapat bermanfaat, dalam beberapa kasus di mana Anda tahu apa yang salah dan dapat mengambil tindakan pencegahan yang tepat.
shortcut:uninstall Menghapus .desktop -file yang dibuat oleh shortcut:install .
Catatan
Anda tidak perlu menghapus dan menginstal ulang jalan pintas setiap kali Anda mengkompilasi biner lagi. Pastikan Zettlr ditutup sebelum Anda mengkompilasi ulang. Anda hanya perlu menginstal ulang pintasan jika templat (dalam scripts/assets/zettlr-dev.desktop ) telah berubah.
test Ini menjalankan tes unit di direktori ./test . Pastikan untuk menjalankan perintah ini sebelum mengirimkan permintaan tarik, karena ini akan dijalankan setiap kali Anda berkomitmen ke PR, dan dengan cara ini Anda dapat memastikan bahwa perubahan Anda tidak merusak tes apa pun, membuat seluruh proses PR lebih mudah.
test-gui Lihat start .
Penting
Perintah ini sudah usang dan hanya alias untuk start . Gunakan start sebagai gantinya.
Zettlr adalah aplikasi dewasa yang telah mengumpulkan ratusan direktori selama pengembangannya. Karena sulit untuk berkontribusi pada aplikasi tanpa panduan apa pun, kami telah menyusun deskripsi singkat tentang direktori dengan bagaimana mereka saling terkait.
.
├── 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
Anda akan melihat bahwa Zettlr berisi "modul" dan "penyedia layanan". Perbedaan antara keduanya sederhana: penyedia layanan berjalan dalam proses utama dan sepenuhnya otonom sambil memberikan fungsionalitas untuk aplikasi secara keseluruhan. Modul, di sisi lain, menyediakan fungsionalitas yang harus dipicu oleh tindakan pengguna (misalnya eksportir dan importir).
Setiap kali Anda menjalankan Zettlr, langkah -langkah berikut akan dieksekusi:
source/main.tssource/app/lifecycle.ts::bootApplication )source/app/lifecycle.ts::bootApplication )source/main/zettlr.ts )Dan ketika Anda mematikan aplikasi, langkah -langkah berikut akan berjalan:
source/main/zettlr.ts::shutdown )source/app/lifecycle.ts::shutdownApplication ) Selama pengembangan aplikasi ( yarn start dan yarn test-gui ), langkah-langkah berikut akan berjalan:
.webpack , mengganti konstanta yang dapat Anda temukan di metode "buat" -metaran Window Manager dengan titik masuk yang sesuai.Setiap kali aplikasi dibangun, langkah -langkah berikut akan berjalan:
Electron Forge akan memasukkan aplikasi yang dikemas ke dalam direktori ./out sementara pembangun elektron akan memasukkan installer ke dalam direktori ./release .
Binary Zettlr menampilkan beberapa sakelar baris perintah yang dapat Anda gunakan untuk tujuan yang berbeda.
--launch-minimizedBendera CLI ini akan menginstruksikan Zettlr untuk tidak menampilkan jendela utama pada awalnya. Ini berguna untuk membuat entri Autostart. Dalam hal ini, meluncurkan Zettlr dengan bendera ini di System Boot akan memastikan bahwa Anda hanya akan melihat ikonnya di baki.
Karena ini menyiratkan kebutuhan untuk menjalankan aplikasi di baki baki atau area pemberitahuan saat memulai aplikasi seperti ini, itu akan secara otomatis mengatur system.leaveAppRunning pengaturan yang sesuai.
Catatan
Bendera ini tidak akan berpengaruh pada sistem Linux yang tidak mendukung menampilkan ikon di baki baki atau area pemberitahuan.
--clear-cache Ini akan mengarahkan lapisan abstraksi sistem file untuk sepenuhnya menghapus cache pada boot. Ini dapat digunakan untuk mengurangi masalah mengenai perubahan dalam basis kode. Untuk memastikan kompatibilitas dengan perubahan apa pun pada informasi yang disimpan dalam cache, cache juga secara otomatis dihapus ketika bidang versi di config.json Anda tidak cocok dengan yang ada di package.json , yang berarti bahwa, selama Anda tidak secara eksplisit mengatur version -field dalam test-config.yml , cache akan selalu dibersihkan pada setiap run ketika Anda tipe yarn test-gui Anda.
Tip
Jika Anda hanya ingin menghapus cache dengan santai untuk pemecahan masalah, Anda juga dapat menghapus cache dengan memilih item menu yang sesuai di menu "Help", yang menghemat Anda dari harus mencoba -coba dengan sesuatu yang teknis.
--data-dir=path Gunakan sakelar ini untuk menentukan direktori data khusus, yang menampung file konfigurasi Anda. Tanpa sakelar ini, Direktori Data Default ke %AppData%/Zettlr (pada Windows 10 dan lebih baru), ~/.config/Zettlr (di Linux), atau ~/Library/Application Support/Zettlr (pada MacOS). Jalannya bisa absolut atau relatif. Dasar untuk jalur relatif akan menjadi direktori biner (saat menjalankan aplikasi kemasan) atau root repositori (saat menjalankan aplikasi yang tidak dikemas). Ingatlah untuk melarikan diri dari ruang atau mengutip jalan setapak, jika perlu. Karakter ~ untuk menunjukkan direktori home tidak diperluas dalam kasus ini, jadi pastikan untuk melewati seluruh jalan ke direktori rumah Anda jika perlu. Karena bug kecil dalam elektron, subdirektori Dictionaries kosong dibuat di direktori data default, tetapi tidak memengaruhi fungsionalitas.
--disable-hardware-accelerationSakelar ini menyebabkan Zettlr menonaktifkan akselerasi perangkat keras, yang mungkin diperlukan dalam pengaturan tertentu. Untuk informasi lebih lanjut tentang mengapa bendera ini ditambahkan, lihat masalah #2127.
Repositori ini memanfaatkan fitur ekstensi Visual Studio Code yang disarankan. Ini berarti: Jika Anda menggunakan kode vs dan membuka repositori untuk pertama kalinya, kode VS akan memberi tahu Anda bahwa repositori merekomendasikan untuk menginstal beberapa ekstensi. Ekstensi ini disarankan jika Anda bekerja dengan Zettlr dan akan membuat kontribusi lebih mudah. Rekomendasi ditentukan dalam file .vscode/extensions.json .
Karena menginstal ekstensi kadang -kadang merupakan masalah rasa, kami telah menambahkan deskripsi pendek untuk setiap ekstensi yang disarankan dalam file itu untuk menjelaskan mengapa kami merekomendasikannya. Dengan cara ini Anda dapat membuat keputusan sendiri apakah Anda ingin menginstal ekstensi ini atau tidak (misalnya, ekstensi SVG tidak diperlukan jika Anda tidak bekerja dengan file SVG yang disediakan di repositori).
Jika Anda memilih untuk tidak menginstal semua ekstensi yang disarankan sekaligus (yang kami rekomendasikan), VS Code akan menunjukkan kepada Anda rekomendasi di sidebar ekstensi sehingga Anda dapat memutuskan yang mana yang ingin Anda instal dan kemudian secara manual menginstal mereka yang ingin Anda miliki.
Tip
Menggunakan ekstensi yang sama dengan tim pengembang inti akan membuat kode umumnya lebih konsisten karena Anda akan memiliki umpan balik visual yang sama.
Perangkat lunak ini dilisensikan melalui lisensi GNU GPL V3.
Merek (termasuk nama, ikon, dan semua yang dapat diidentifikasi oleh Zettlr) dikecualikan dan semua hak dilindungi undang -undang. Jika Anda ingin membayar Zettlr untuk mengembangkan aplikasi lain, silakan ubah nama dan ikon. Baca tentang penggunaan logo.