27 KiB
İçindekiler
- 💡 Giriş
- 🔮 Özellikler
- 🏗️ Mimari ve Ekosistem
- 🌟 Yıldız Geçmişi
- 🗺️ Yol Haritası
- 🚀 İndirme ve Kurulum
- ⌨️ Komut Satırı Arayüzü
- 🏘️ Topluluk
- 🛠️ Geliştirme Rehberi
- ❓ SSS (Sıkça Sorulan Sorular)
- SiYuan verileri nasıl saklar?
- Üçüncü taraf senkronizasyon diskiyle veri senkronizasyonu destekleniyor mu?
- SiYuan açık kaynak mı?
- Yeni bir sürüme nasıl yükseltilir?
- Bazı bloklar (örneğin liste öğelerindeki paragraflar) blok simgesini bulamıyorsa ne yapmalıyım?
- Veri deposu anahtarı (data repo key) kaybolursa ne yapmalıyım?
- Ücretli mi?
- 🙏 Teşekkür
💡 Giriş
SiYuan, gizliliği ön planda tutan kişisel bir bilgi yönetim sistemidir.
Blok düzeyinde referansları ve Markdown WYSIWYG düzenlemeyi destekler.
Daha fazla bilgi için SiYuan İngilizce Tartışma Forumu’na katılabilirsin.
Çevrimiçi kullanıcı rehberi: English
🔮 Özellikler
Çoğu özellik tamamen ücretsizdir ve ticari kullanım için de geçerlidir.
- İçerik Bloğu
- Blok düzeyinde referans ve çift yönlü bağlantılar
- Özel nitelikler
- Gömülü SQL sorgusu
siyuan://protokolü
- Editör
- Blok tabanlı yapı
- Markdown WYSIWYG düzenleme
- Liste taslağı görünümü
- Blok yakınlaştırma (zoom-in)
- Milyon kelimelik büyük belge düzenleme
- Matematiksel formüller, grafikler, akış diyagramları, Gantt diyagramları, zaman diyagramları, notalar vb.
- Web kırpma (web clipping)
- PDF açıklama bağlantısı
- Dışa Aktarım
- Blok referansı ve gömme desteği
- Varlıklarıyla birlikte standart Markdown çıktısı
- PDF, Word ve HTML olarak dışa aktarma
- WeChat MP, Zhihu ve Yuque’a kopyalama
- Veritabanı
- Tablo görünümü
- Aralıklı Tekrar (Flashcard)
- OpenAI API ile yapay zekâ yazma ve Soru-Cevap sohbeti
- Tesseract OCR
- Çok sekmeli görünüm, sürükle-bırak ile ekran bölme
- Şablon parçacıkları
- JavaScript/CSS kod parçacıkları
- Android / iOS / HarmonyOS uygulamaları
- Docker dağıtımı
- API
- Topluluk pazaryeri
Bazı özellikler yalnızca ücretli üyeler için geçerlidir. Detaylar için Fiyatlandırma sayfasına göz atabilirsin.
🏗️ Mimari ve Ekosistem
| Proje | Açıklama | Çatallama (Forks) | Yıldız (Stars) |
|---|---|---|---|
| lute | Editör motoru | ||
| chrome | Chrome/Edge eklentisi | ||
| bazaar | Topluluk pazaryeri | ||
| dejavu | Veri deposu (repo) | ||
| petal | Eklenti API’si | ||
| android | Android uygulaması | ||
| ios | iOS uygulaması | ||
| harmony | HarmonyOS uygulaması | ||
| riff | Aralıklı tekrar motoru |
🌟 Yıldız Geçmişi
🗺️ Yol Haritası
🚀 İndirme ve Kurulum
Masaüstü ve mobil cihazlarda uygulama mağazası üzerinden kurulumu tercih etmen önerilir. Böylece gelecekte tek tıkla sürüm yükseltmesi yapabilirsin.
Uygulama Mağazası
Mobil:
Masaüstü:
Kurulum Paketi
Paket Yöneticisi
siyuan
siyuan-note
Docker Barındırma
Docker Dağıtımı
Genel Bakış
SiYuan’ı bir sunucuda çalıştırmanın en kolay yolu Docker üzerinden dağıtmaktır.
- Görüntü adı:
b3log/siyuan - Docker Görüntüsü
Dosya Yapısı
Tüm program /opt/siyuan/ dizini altındadır. Bu dizin, Electron kurulum paketinin resources klasör yapısına karşılık gelir:
- appearance: simgeler, temalar, diller
- guide: kullanıcı kılavuzu belgeleri
- stage: arayüz ve statik kaynaklar
- kernel: çekirdek program
Giriş Noktası (Entrypoint)
Docker görüntüsü oluşturulurken giriş noktası şu şekilde ayarlanır: ENTRYPOINT ["/opt/siyuan/entrypoint.sh"] Bu betik (script), konteyner içinde çalışacak kullanıcının PUID (Kullanıcı ID) ve PGID (Grup ID) değerlerini değiştirmene olanak tanır. Bu, özellikle host dizinleri bağlarken oluşabilecek izin sorunlarını çözmek için önemlidir.
docker run b3log/siyuan komutunu çalıştırırken aşağıdaki parametreleri kullanabilirsin:
--workspace: çalışma alanı klasör yolunu belirtir, host üzerinde-vparametresiyle bağlanır--accessAuthCode: ekran kilidi şifresini belirtir
Tüm parametreleri görmek için --help komutunu kullanabilirsin. Yeni ortam değişkenleriyle bir örnek başlatma komutu aşağıdadır:
docker run -d \
-v workspace_dir_host:workspace_dir_container \
-p 6806:6806 \
-e PUID=1001 -e PGID=1002 \
-e SIYUAN_LANG=tr_TR \
b3log/siyuan \
--workspace=workspace_dir_container \
--accessAuthCode=xxx
PUID: Özel kullanıcı kimliği (isteğe bağlı, belirtilmezse varsayılan değer1000olarak kullanılır)PGID: Özel grup kimliği (isteğe bağlı, belirtilmezse varsayılan değer1000olarak kullanılır)workspace_dir_host: Ana makinedeki (host) çalışma alanı klasör yoluworkspace_dir_container: Konteyner içindeki çalışma alanı klasör yolu (--workspaceparametresiyle belirtilir)- Alternatif olarak, bu yol
SIYUAN_WORKSPACE_PATHortam değişkeniyle de ayarlanabilir. Eğer her iki yöntem de kullanılırsa, komut satırı önceliklidir.
- Alternatif olarak, bu yol
accessAuthCode: Ekran kilidi şifresi (kesinlikle değiştir, aksi halde herkes verilerine erişebilir)- Alternatif olarak, ekran kilidi şifresi
SIYUAN_ACCESS_AUTH_CODEortam değişkeniyle de ayarlanabilir. Yine, hem komut satırı hem ortam değişkeni kullanılırsa, komut satırı önceliklidir. - Ekran kilidi şifresini devre dışı bırakmak için şu ortam değişkenini ayarla:
SIYUAN_ACCESS_AUTH_CODE_BYPASS=true
- Alternatif olarak, ekran kilidi şifresi
SIYUAN_LANG: Arayüz dili (isteğe bağlı, Docker'da ayarlanmazsa varsayılanen_US). Aşağıdaki örnekler, bu belgeyle uyumlu olması içintr_TRkullanır. Ayarlar'da seçtiğin dilin yeniden başlatmadan sonra da geçerli kalmasını istiyorsan, dağıtımda bu değişkeni ekleme; ayarlanırsa her başlatmada uygulanır ve kaydedilmiş dil ayarının üzerine yazar- Alternatif olarak
--langkomut satırı parametresiyle de ayarlanabilir. Her ikisi de ayarlanırsa komut satırı önceliklidir
- Alternatif olarak
Kurulumu basitleştirmek için, host ve konteyner üzerindeki çalışma alanı yollarını aynı şekilde ayarlaman önerilir. Örneğin her ikisini de /siyuan/workspace olarak tanımlayabilirsin. Buna karşılık gelen başlatma komutu şu şekildedir:
docker run -d \
-v /siyuan/workspace:/siyuan/workspace \
-p 6806:6806 \
-e PUID=1001 -e PGID=1002 \
-e SIYUAN_LANG=tr_TR \
b3log/siyuan \
--workspace=/siyuan/workspace/ \
--accessAuthCode=xxx
Docker Compose
SiYuan’ı Docker Compose ile çalıştıran kullanıcılar için, PUID ve PGID ortam değişkenleri kullanılarak kullanıcı ve grup kimlikleri özelleştirilebilir. Aşağıda örnek bir Docker Compose yapılandırması bulunmaktadır:
version: "3.9"
services:
main:
image: b3log/siyuan
command: ['--workspace=/siyuan/workspace/', '--accessAuthCode=${AuthCode}']
ports:
- 6806:6806
volumes:
- /siyuan/workspace:/siyuan/workspace
restart: unless-stopped
environment:
- TZ=${YOUR_TIME_ZONE} # Saat dilimi tanımlayıcılarının listesi için bkz. https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
- PUID=${YOUR_USER_PUID} # Customize user ID
- PGID=${YOUR_USER_PGID} # Customize group ID
- SIYUAN_LANG=tr_TR # Arayüz dili (bu belgeyle uyumlu)
Bu yapılandırmada:
PUIDvePGIDdinamik olarak ayarlanır ve konteynere aktarılır.- Eğer bu değişkenler belirtilmezse, varsayılan değer olarak
1000kullanılır.
PUID ve PGID değişkenlerini ortamda (environment) belirterek, docker-compose.yml dosyasında user: '1000:1000' satırını açıkça yazmana gerek kalmaz. Konteyner, başlatma sırasında bu ortam değişkenlerine göre kullanıcı ve grup ayarlarını otomatik olarak düzenler.
Kullanıcı İzinleri
Docker görüntüsünde yer alan entrypoint.sh betiği, belirtilen PUID ve PGID değerleriyle birlikte siyuan adlı kullanıcı ve grubun oluşturulmasını sağlar. Bu nedenle, ana makine (host) üzerinde çalışma alanı klasörü oluştururken, bu klasörün kullanıcı ve grup sahipliğini kullanmayı planladığın PUID ve PGID ile eşleşecek şekilde ayarladığından emin olmalısın. Örneğin:
chown -R 1001:1002 /siyuan/workspace
Eğer özel PUID ve PGID değerleri kullanıyorsan, entrypoint betiği konteyner içinde doğru kullanıcı ve grubun oluşturulmasını sağlar ve bağlanan (mount edilen) birimlerin sahipliği buna göre otomatik olarak ayarlanır. Bu nedenle docker run veya docker-compose komutlarında manuel olarak -u parametresi vermene gerek yoktur; ortam değişkenleri bu özelleştirmeyi zaten otomatik olarak halleder.
Gizli Port
Port 6806’yı gizlemek için NGINX ters proxy (reverse proxy) kullan. Dikkat edilmesi gerekenler:
- WebSocket ters proxy’sini
/wsyoluna göre yapılandır.
Notlar
- Bağlanan (mount edilen) disk birimlerinin doğru olduğundan emin ol; aksi halde konteyner silindiğinde veriler kaybolur.
- Yönlendirme (redirect) için URL yeniden yazımı (rewrite) kullanma; bu, kimlik doğrulamayla ilgili sorunlara neden olabilir. Bunun yerine ters proxy yapılandırmanı öneririz.
- Eğer izin sorunlarıyla karşılaşırsan,
PUIDvePGIDortam değişkenlerinin, ana makinedeki bağlanan dizinlerin sahipliğiyle uyuştuğundan emin ol.
Kısıtlamalar
- Masaüstü ve mobil uygulama bağlantılarını desteklemez; yalnızca tarayıcı üzerinden kullanım mümkündür.
- PDF, HTML ve Word formatlarına dışa aktarma desteklenmez.
- Markdown dosyası içe aktarma desteklenmez.
Unraid Barındırma
Unraid Dağıtımı
Not: Terminalde önce şu komutu çalıştır: chown -R 1000:1000 /mnt/user/appdata/siyuan
Şablon referansı:
Web UI: 6806
Container Port: 6806
Container Path: /home/siyuan
Host path: /mnt/user/appdata/siyuan
PUID: 1000
PGID: 1000
SIYUAN_LANG: tr_TR
Publish parameters: --accessAuthCode=******(Lock screen password)
TrueNAS Barındırma
TrueNAS Dağıtım Dokümanı
Not: Önce TrueNAS Shell'te aşağıdaki komutları çalıştırın. Lütfen Pool_1/Apps_Data/siyuan yolunu uygulamanızın dataset'ine göre güncelleyin.
zfs create Pool_1/Apps_Data/siyuan
chown -R 1001:1002 /mnt/Pool_1/Apps_Data/siyuan
chmod 755 /mnt/Pool_1/Apps_Data/siyuan
Apps --> DiscoverApps --> More Options (sağ üst, Custom App hariç) --> YAML ile Yükle bölümüne gidin
Şablon örneği:
services:
siyuan:
image: b3log/siyuan
container_name: siyuan
command: ['--workspace=/siyuan/workspace/', '--accessAuthCode=2222']
ports:
- 6806:6806
volumes:
- /mnt/Pool_1/Apps_Data/siyuan:/siyuan/workspace # Veri kümesi yolunuza göre ayarlayın
restart: unless-stopped
environment:
- TZ=Europe/Istanbul # Gerekirse kendi saat diliminizle değiştirin
- PUID=1001
- PGID=1002
- SIYUAN_LANG=tr_TR
Erken Önizleme (Insider Preview)
Büyük güncellemelerden önce erken erişim (Insider Preview) sürümlerini yayınlıyoruz. Lütfen https://github.com/siyuan-note/insider adresini ziyaret edin.
⌨️ Komut Satırı Arayüzü
Yerleşik CLI ile sunucu başlatmadan çalışma alanı verilerine doğrudan erişin.
Hızlı Başlangıç
siyuan notebook list -w ~/SiYuan
siyuan search "keyword" -w ~/SiYuan -f json
siyuan export md --id <block-id> -w ~/SiYuan
Kullanılabilir Komutlar
| Kategori | Komutlar |
|---|---|
| Defterler ve Belgeler | notebook, document — CRUD |
| İçerik | block, attr — okuma/yazma, özel nitelikler |
| Meta Veri | tag, bookmark |
| Sorgular | search, sql — tam metin ve SQL sorguları |
| Referanslar | ref — geri bağlantılar ve bahsetmeler |
| İçe/Dışa Aktarma | export, import — Markdown, HTML, PDF, Word, .sy.zip |
| Veri Yönetimi | repo, history, sync — anlık görüntüler, sürümler, bulut senkronizasyonu |
| Araçlar | asset, file — kaynaklar ve dosya sistemi |
| Veritabanı | database — öznitelik görünümü yönetimi |
| Çalışma Alanı | workspace — listeleme ve inceleme |
Ayrıntılar için siyuan --help komutunu çalıştırın. Betik dostu çıktı için -f json kullanın.
Kurulum
CLI ikili dosyası <kurulum>/resources/kernel/SiYuan-Kernel konumundadır.
Windows yükleyici otomatik olarak PATH'e ekler.
macOS/Linux'ta manuel olarak sembolik bağlantı oluşturun.
# macOS
ln -s /Applications/SiYuan.app/Contents/Resources/kernel/SiYuan-Kernel /usr/local/bin/siyuan
# Linux
ln -s /kurulum/SiYuan/resources/kernel/SiYuan-Kernel /usr/local/bin/siyuan
/resources/kernel/SiYuan-Kernel (takma ad: siyuan) Windows: yükleyici otomatik olarak PATH'e ekler macOS/Linux: manuel olarak sembolik bağlantı oluşturun, örn. macOS: ln -s /Applications/SiYuan.app/Contents/Resources/kernel/siyuan /usr/local/bin/siyuan
## 🏘️ Topluluk
- [İngilizce Tartışma Forumu](https://liuyun.io)
- [Kullanıcı topluluğu özeti](https://liuyun.io/article/1687779743723)
- [Harika SiYuan (Awesome SiYuan)](https://github.com/siyuan-note/awesome)
## 🛠️ Geliştirme Rehberi
[Geliştirme Rehberi](https://github.com/siyuan-note/siyuan/blob/master/.github/CONTRIBUTING.md) sayfasına göz atın.
## ❓ SSS (Sıkça Sorulan Sorular)
### SiYuan verileri nasıl saklar?
Veriler, çalışma alanı klasöründeki `data` klasöründe saklanır:
- `assets`: eklenen tüm varlıkların (dosya, resim vb.) kaydedildiği klasör
- `emojis`: emoji görsellerinin kaydedildiği klasör
- `snippets`: kod parçacıklarının kaydedildiği klasör
- `storage`: sorgular, düzenler ve ezber kartları gibi verilerin saklandığı klasör
- `templates`: şablon parçacıklarının kaydedildiği klasör
- `widgets`: bileşenlerin kaydedildiği klasör
- `plugins`: eklentilerin kaydedildiği klasör
- `public`: genel verilerin saklandığı klasör
- Diğer klasörler, kullanıcının oluşturduğu not defteri (notebook) klasörleridir. `.sy` uzantılı dosyalar belge verilerini saklar ve JSON formatındadır.
### Üçüncü taraf senkronizasyon diskiyle veri senkronizasyonu destekleniyor mu?
Üçüncü taraf senkronizasyon diskleriyle (örneğin OneDrive, Dropbox vb.) veri senkronizasyonu **desteklenmez**. Aksi takdirde veriler bozulabilir.
Bununla birlikte, üyelik avantajları kapsamında **üçüncü taraf bulut depolama hizmetleriyle bağlantı** desteklenmektedir.
Alternatif olarak, verileri **elle dışa aktarıp içe aktararak** senkronizasyon sağlayabilirsin:
- Masaüstü: <kbd>Ayarlar</kbd> → <kbd>Dışa Aktar</kbd> → <kbd>Verileri Dışa Aktar / Verileri İçe Aktar</kbd>
- Mobil: <kbd>Sağ panel</kbd> → <kbd>Hakkında</kbd> → <kbd>Verileri Dışa Aktar / Verileri İçe Aktar</kbd>
### SiYuan açık kaynak mı?
Evet, SiYuan tamamen açık kaynaklıdır ve katkılara açıktır:
- [Kullanıcı Arayüzü ve Çekirdek](https://github.com/siyuan-note/siyuan)
- [Android](https://github.com/siyuan-note/siyuan-android)
- [iOS](https://github.com/siyuan-note/siyuan-ios)
- [HarmonyOS](https://github.com/siyuan-note/siyuan-harmony)
- [Chrome Kırpma Uzantısı](https://github.com/siyuan-note/siyuan-chrome)
Daha fazla bilgi için [Geliştirme Rehberi](https://github.com/siyuan-note/siyuan/blob/master/.github/CONTRIBUTING.md) sayfasına bakabilirsiniz.
### Yeni bir sürüme nasıl yükseltilir?
- Uygulama mağazası üzerinden kurduysanız, güncellemeyi yine uygulama mağazası üzerinden yapın.
- Masaüstü kurulum paketiyle yüklediyseniz, <kbd>Ayarlar</kbd> → <kbd>Hakkında</kbd> → <kbd>Güncelleme kurulum paketini otomatik indir</kbd> seçeneğini etkinleştirin. Böylece SiYuan, en son sürüm kurulum paketini otomatik indirip yükleme uyarısı gösterecektir.
- Manuel yükleme yaptıysanız, en son kurulum paketini indirip yeniden yüklemeniz gerekir.
Ayrıca, <kbd>Ayarlar</kbd> → <kbd>Hakkında</kbd> → <kbd>Geçerli Sürüm</kbd> sekmesinden <kbd>Güncellemeyi kontrol et</kbd> seçeneğini kullanabilir veya [Resmî İndirme Sayfası](https://b3log.org/siyuan/en/download.html) ya da [GitHub Sürümleri](https://github.com/siyuan-note/siyuan/releases) sayfalarını takip edebilirsiniz.
### Bazı bloklar (örneğin liste öğelerindeki paragraflar) blok simgesini bulamıyorsa ne yapmalıyım?
Liste öğesinin altındaki ilk alt blok, blok simgesi görünmeyen bloktur. İmleci bu bloğa getirip <kbd>Ctrl+/</kbd> tuş kombinasyonuyla blok menüsünü açabilirsin.
### Veri deposu anahtarı (data repo key) kaybolursa ne yapmalıyım?
- Eğer daha önce birden fazla cihazda doğru şekilde başlatıldıysa, tüm cihazlarda aynı anahtar kullanılır. Bu durumda anahtarı şu adımlarla kopyalayabilirsin:
<kbd>Ayarlar</kbd> → <kbd>Hakkında</kbd> → <kbd>Veri deposu anahtarı</kbd> → <kbd>Anahtar dizgesini kopyala</kbd>
- Eğer cihazlar arasında farklı anahtarlar kullanılmışsa veya hiçbiri erişilebilir değilse, aşağıdaki adımlarla yeni bir anahtar oluşturabilirsin:
1. Verilerini manuel olarak yedekle (<kbd>Verileri Dışa Aktar</kbd> seçeneğiyle veya dosya sisteminde `workspace/data/` klasörünü kopyalayarak).
2. <kbd>Ayarlar</kbd> → <kbd>Hakkında</kbd> → <kbd>Veri deposu anahtarı</kbd> → <kbd>Veri deposunu sıfırla</kbd>.
3. Anahtarı yeniden başlat. Bir cihazda oluşturduktan sonra diğer cihazlara bu anahtarı aktar.
4. Bulutta yeni senkronizasyon dizinini kullan; eski dizin artık erişilemez ve silinebilir.
5. Mevcut bulut anlık görüntüleri (snapshot) artık geçerli değildir, bunlar da silinebilir.
### Ücretli mi?
Çoğu özellik ücretsizdir — ticari kullanım da dahil.
Ancak üyelik ayrıcalıkları yalnızca ödeme sonrasında kullanılabilir. Detaylar için [Fiyatlandırma](https://b3log.org/siyuan/en/pricing.html) sayfasına bakabilirsiniz.
## 🙏 Teşekkür
SiYuan’ın doğuşu, birçok açık kaynak projesi ve katkıcısının emeğiyle mümkün olmuştur. Daha fazla bilgi için proje kaynak kodlarındaki `kernel/go.mod`, `app/package.json` ve proje anasayfasına bakabilirsiniz.
SiYuan’ın gelişimi, kullanıcı geri bildirimleri ve desteğiyle büyümeye devam ediyor. SiYuan’a katkı sağlayan herkese teşekkürler ❤️
### Katkıda Bulunanlar
Bize katıl ve SiYuan’a birlikte katkı yap! 💪
<a href="https://github.com/siyuan-note/siyuan/graphs/contributors">
<img src="https://contrib.rocks/image?repo=siyuan-note/siyuan" />
</a>



