Grav CLI Nedir? Nasıl Kullanılır?
Kolay bir şekilde kurulumunu yapabileceğimiz ve hatta birkaç dakika içerisinde web sitesi oluşturmanın ötesinde online ürün ve hizmet satışı da yapabileceğimiz Grav uygulamasından pek çok bağlamda bahsettim.
Bu yazıda ise Grav uygulamasını kullanırken sıklıkla faydalandığımız komut satırı arabiriminden (command-line interface / CLI) bahsederek Grav kurulumu ve temel kullanım sürecini tamamlamış olacağım. İlerleyen süreçlerde ise yayınlanacak yazıların merkezinde Grav System API başta olmak üzere etkileşimli işlemler yer alacak1. O halde ilk olarak kurulum sürecinin de bir parçası olan Grav Package Manager (GPM)‘a bakalım.
Grav CLI
Grav uygulaması ön bellek temizleme, yedekleme ve daha fazlasını kolay ve hızlı bir şekilde gerçekleştirmeye yarayan, son derece kullanışlı yerleşik (bin/grav) bir komut satırı arabirimi (command-line interface / CLI) ile birlikte gelmektedir. CLI‘ye erişim sağlamak ise oldukça kolaydır, ihtiyacınız olan bir terminal uygulaması ve temel komut satırı bilgisi. Elbette pek çok işlemi terminal üzerinden pratik bir şekilde belirli komutlarla yürütmeniz mümkün, ek olarak bu süreci otomatize edebileceğiniz ve günlük olarak çalıştırabileceğiniz cronjobs ile yürütebilirsiniz. Tabi, bu tür işlemler için öncelikle hangi komutların ne gibi yetkinliklere sahip olduklarını bilmeliyiz2. O halde hızlıca ilgili tüm komutları listeleyelim:
bin/grav list
Kullanım:
Komut [opsiyon] [argüman]
Opsiyonlar:
-h, --help Yardım mesajlarını görüntüler
-q, --quiet Çıktı olarak mesaj üretilmesini önler
-V, --version Uygulama versiyonunu iletir
--ansi ANSI çıktıyı zorlar
--no-ansi ANSI çıktıyı iptal eder
-n, --no-interaction Etkileşimli soruları durdurur
-v|vv|vvv, --verbose Mesajların ayrıntılarını genişletir: 1 normal çıktı, 2 daha fazla çıktı ve 3 hata ayıklama detayı
Erişilebilir komutlar:
backup İligli Grav kurulumunun yedeğini oluşturur
clean Grav kurulumlarının gereksiz dosya ve cache temizliğini yapar
clear-cache [clearcache] Cache temizliği yapar
composer Grav uygulamasının ihityaç duyduğu gereksinimleri yükler ve/veya günceller
help Komutlarla ilgili yardım başlıklarını listeler.
install Grav tarafından ihtiyaç duyulan gereksinimleri kurar. Opsiyonal olarak symbolic linkler oluşturulabilir.
list Komutları listeler.
new-project [newproject] Yeni bir Grav projesi oluşturmasını sağlar.
sandbox Geliştirme ve çeşitli denemeler için webroot (DigitalOcean için /var/www/html/) altında Grav kurulumu gerçekleştirir
security Grav kurulumuna dair güvenlik testleri gerçekleştirmeyi sağlar.
Örneğin Grav kurulumundan sonra tema yapılandırması için ön tanımlı olarak ihtiyaç duyulabilecek temaları ve eklentileri install
ile hızlı bir şekilde gerçekleştirebilirsiniz.
bin/grav install
Bu komutun ardından grav-plugin-problems
, grav-plugin-error
, grav-plugin-markdown-notices
eklentileri ve quark
teması yüklenecektir. new-project
ile yeni bir proje oluştmak istediğinizde ilgili yolu belirtmeniz yeterli olacaktır. Ardından dosyalar ve yapılandırma izinleri de otomatik bir şekilde gerçekleştirilecektir.
bin/grav new-project /var/www/html/grav-yeni
Yeni bir proje oluşturmak yerine var olan bir Grav kurulumunu başka bir dizine kopyalamak da isteyebilirsiniz. Bu durumda sandbox
komutunu kullanabiliriz. Örneğin grav-kopya
adında bir klasör oluşturup bu klasöre Grav yapılandırmamızı kopyalayalım.
bin/grav sandbox -s /var/www/html/grav-kopya
Şimdi de Grav ve SnipCart yazılarında kısaca değindiğim paket yönetisine bakalım.
Grav CLI Plugin
Grav eklentileri aynı zamanda Grav CLI ile de entegre edilerek kullanılabilmekte3. Bu sayede belirli görevleri de otomatik hale getirmek mümkün hale gelmekte. bin/plugin komutunu uyguladığınızda CLI entegrasyonu sağlayan tüm eklentileri listeleyebilirsiniz.
bin/plugin
Komut uygulandıktan sonra kullanım konusunda da bilgi görüntülersiniz.
Kullanım:
bin/plugin [slug] [komut] [argümanlar]
Örnek:
bin/plugin error log -l 1 --trace
CLI entegrasyonu olan eklentiler:
01. problems bin/plugin sorunları listeler
02. error bin/plugin hataları listeler
İlk opsiyon daima eklenti slug değerini alır (error, login vb.), ardından eklenti tarafından sunulan işlemler gelir. Örneğin login eklentisini kullanarak kullanıcı işlemlerini komut satırı üzerinden gerçekleştirebiliriz. Yeni bir kullanıcı oluşturmayı deneyelim.
bin/plugin login new-user
Komutun uygulanmasının adından kullanıcı adı, şifre, e-posta ve benzeri bilgileri gireceğiniz adımlara ulaşabilirsiniz. Login eklentisi ile nasıl yeni kullanıcı oluşturulabileceğine dair daha detaylı bilgi için help
komutunu kullanabilirsiniz.
bin/plugin login help new-user
Grav Package Manager (GPM)
Grav uygulaması 0.9.3 sürümünden bu yana Grav Package Manager (GPM) ile kullanılabilmekte. Bu sayede komut satırı arabirimi üzerinden eklentiler ve temalar yönetilebilmekte. Ek olarak, Grav güncellemesi de gerçekleştirilebilmekte4. help
ile kullanılabilir komutlar ve ilgili diğer detaylara ulaşmak mümkün.
bin/gpm help
Şimdi de eklenti ve temaları listeleyelim.
bin/gpm info
Temalar ve eklentiler içerisinde filtreleme yaparak daha spesifik sonuçlara ulaşabiliriz. Örneğin, admin işlemleri gerçekleştirmemizi sağlayan eklentileri ve temaları listeleyebiliriz.
bin/gpm index --filter admin
Karşılaştığımız liste içeriğinde yer alan Admin Panel (slug: admin) eklentisi hakkında detayları görüntüleyelim.
bin/gpm info admin
Evet, bu eklenti bizim Grav kurulumumuz içerisinde içerikler üretmemizi, ayarları yapılandırmamızı, eklenti, tema ve kullanıcı işlemleri yapabilmemizi sağlayan yönetici eklentimiz.
Admin Panel [admin]
İlgili eklentiyi install
ile yükleyebiliriz.
bin/gpm install admin
Evet, genel olarak Grav CLI‘nin bize sunduğu yeteneklere kısa bir şekilde değinmiş olduk. Grav için eklenti geliştirme sürecinde ayrıca detaylara değineceğim. Windows 10+ işletim sistemi ortamındaki yönergeler için ise Windows Ortamında Grav Kurulumu başlıklı yazıya göz atabilirsiniz.