Ana içeriğe geç

Phantom Documentation Kit

Bu kit, Phantom Wireguard yazılımının dokümantasyon sürecinde kolay ve benzersiz bir dokümantasyon deneyimi sağlamak için geliştirildi. MkDocs kütüphanesinin endüstriyel gücü ve esnekliği, ihtiyaçlarımızla birleştiğinde Phantom Documentation Kit ortaya çıktı. Dokümantasyon sürecinde ihtiyacımız olan özellikler ve bileşenler geliştirildi ve bu çatı altında toplandı.

Hızlı Başlangıç

Ön Hazırlık

Python Paketleri

Gerekli Python paketlerini yüklemek için proje dizininde aşağıdaki komutu çalıştırın:

pip install -r requirements.txt

Node.js Kurulumu

Phantom Documentation Kit içindeki Vendor Builder ve Image Optimizer araçlarını kullanılabilmek için Node.js 22 veya üzeri sürüm gereklidir. Bu araçlarla ilgili daha detaylı bilgi sahibi olmak için Araçlar dökümanına göz atabilirsiniz.

1. Geliştirme Sunucusu (serve.py)

Dokümantasyonunuzu yerel olarak görüntülemek ve geliştirmek için:

$ python serve.py

Tarayıcınızda http://localhost:8000 adresini açın.

2. Dokümantasyon Derleme (build.py)

Production-ready statik HTML oluşturmak için:

$ python build.py

Derlenmiş dosyalar outputs/site/ dizininde oluşturulur.

Yapılandırma (config.json)

Proje ayarlarını özelleştirmek için config.json dosyasını düzenleyin:

{
  "paths": {
    "output_dir": "outputs/www",
    "vendor_dir": "overrides/assets/vendor",
    "vendor_builder_dir": "tools/vendor-builder"
  },
  "build": {
    "clean_before_build": true,
    "check_vendor_dependencies": true
  },
  "serve": {
    "port": 8000,
    "host": "localhost",
    "check_vendor_dependencies": true
  },
  "docker": {
    "image_name": "phantom-docs-kit",
    "build_tag": "latest",
    "container_prefix": "phantom-docs"
  },
  "logging": {
    "enabled": true,
    "console_level": "INFO",
    "file_level": "DEBUG",
    "log_directory": "logs",
    "max_file_size": "10MB",
    "backup_count": 5,
    "timestamp_format": "%Y-%m-%d %H:%M:%S",
    "log_filename_pattern": "phantom-{mode}-{date}-{time}.log"
  }
}

Gelişmiş Kullanım

Docker ile Çalıştırma

Aşağıdaki komutları uygulayarak Docker üzerinde rahatlıkla çalışabilirsiniz.

$ python serve.py --docker
$ python build.py --docker

Docker ile Uzak Ortamda Çalıştırma

Docker ile uzak ortamda çalışmak isterseniz, dosyaların senkronizasyonu ve port yönlendirmeleri için Mutagen kurulumu zorunludur. Mutagen sayesinde, sanki yerel ortamınızda çalışıyormuş gibi uzak Docker ortamında çalışmanız mümkün olmaktadır.

Mutagen kurulumu için Mac cihazınızda aşağıdaki komutu çalıştırın:

brew install mutagen-io/mutagen/mutagen

Kurulum tamamlandıktan sonra, Terminal üzerinden aşağıdaki komutu çalıştırarak kurulumun durumunu doğrulayın:

mutagen version

Docker SDK ve Mutagen, uzak sunucunuzu DOCKER_HOST çevre değişkeniyle tanıyacaktır.

$ DOCKER_HOST=ssh://user@remote-server

SSH erişiminin herhangi bir engele takılmadan geliştirme cihazınız ve Docker yüklü olan uzak sunucunuz arasında yapılması gerekmektedir.

Örnek adımlar aşağıda bulunmaktadır:

SSH anahtarınız yoksa, yerel makinenizde oluşturun:

ssh-keygen -t ed25519 -C "phantom-docs"

Public anahtarı uzak sunucuya kopyalayın:

ssh-copy-id user@remote-server

Bağlantınızı test edin:

ssh user@remote-server docker info

Bu aşamaya kadar başarılı bir şekilde geldiyseniz, DOCKER_HOST çevre değişkenini uzak sunucunuzun bilgileriyle tanımlayın:

export DOCKER_HOST=ssh://user@remote-server

Ardından, proje dizininde olduğunuzdan emin olun ve serve komutunu çalıştırın:

$ python serve.py --docker

Phantom Documentation Kit

Terminal Kaydı

build için aşağıdaki komutu çalıştırın:

$ python build.py --docker

Phantom Documentation Kit

Terminal Kaydı

Dikkat edilmesi gereken detaylardan biri; Docker ile uzak ortamda derleme yaptığınızda, derleme çıktıları çıktı dizininde phantom-docs-build-docker-remote-{timestamp}.tar.gz formatında arşivlenerek kaydedilir.

Komut Parametreleri

Parametre Açıklama
--docker Docker container içinde çalıştır
--verbose Detaylı log çıktısı
--quiet Minimal log çıktısı

Sistem Gereksinimleri

  • Python 3.8+
  • Node.js 22+
  • Docker (opsiyonel)

İlk Çalıştırma

İlk kez çalıştırdığınızda, sistem otomatik olarak:

  • Eksik bağımlılıkları kontrol eder
  • Vendor dosyalarını derler (JavaScript/CSS)
  • MkDocs sunucusunu başlatır