{"id":38071,"date":"2026-01-22T19:41:05","date_gmt":"2026-01-22T16:41:05","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=38071"},"modified":"2026-01-22T19:41:05","modified_gmt":"2026-01-22T16:41:05","slug":"sculpin-kurulumu-ve-kullanimina-baslama-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/","title":{"rendered":"Sculpin Kurulumu ve Kullan\u0131m\u0131na Ba\u015flama Rehberi"},"content":{"rendered":"<h2>Sculpin Kurulumu ve Kullan\u0131m\u0131na Ba\u015flama Rehberi<\/h2>\n<p>Sculpin, PHP tabanl\u0131, a\u00e7\u0131k kaynakl\u0131 bir statik site olu\u015fturucudur (Static Site Generator &#8211; SSG). Geleneksel dinamik i\u00e7erik y\u00f6netim sistemlerinin (CMS) aksine, Sculpin i\u00e7eri\u011finizi ve \u015fablonlar\u0131n\u0131z\u0131 bir dizi statik HTML, CSS ve JavaScript dosyas\u0131na d\u00f6n\u00fc\u015ft\u00fcr\u00fcr. Bu statik dosyalar daha sonra herhangi bir web sunucusunda bar\u0131nd\u0131r\u0131labilir ve dinamik bir arka uca ihtiya\u00e7 duymadan h\u0131zl\u0131, g\u00fcvenli ve \u00f6l\u00e7eklenebilir bir web sitesi sunar. Bu makalede, Sculpin&#8217;i nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, yeni bir proje olu\u015fturaca\u011f\u0131n\u0131z\u0131, i\u00e7erik ekleyece\u011finizi ve sitenizi da\u011f\u0131taca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz.<\/p>\n<h3>1. Giri\u015f: Sculpin Nedir ve Neden Kullanmal\u0131s\u0131n\u0131z?<\/h3>\n<p>G\u00fcn\u00fcm\u00fcz web geli\u015ftirme d\u00fcnyas\u0131nda, web siteleri olu\u015fturmak i\u00e7in bir\u00e7ok farkl\u0131 yakla\u015f\u0131m bulunmaktad\u0131r. Dinamik CMS&#8217;ler (WordPress, Drupal gibi) i\u00e7erik y\u00f6netimi ve esneklik sunarken, beraberinde sunucu maliyeti, g\u00fcvenlik a\u00e7\u0131klar\u0131 ve performans sorunlar\u0131 gibi dezavantajlar da getirebilir. \u0130\u015fte bu noktada statik site olu\u015fturucular devreye girer.<\/p>\n<h4>1.1. Statik Site Olu\u015fturuculara Genel Bak\u0131\u015f<\/h4>\n<p>Statik site olu\u015fturucular, web sitelerini \u00f6nceden derlenmi\u015f statik dosyalardan olu\u015fturan ara\u00e7lard\u0131r. Siz Markdown veya benzeri basit metin formatlar\u0131nda i\u00e7erik yazars\u0131n\u0131z, SSG ise bu i\u00e7eri\u011fi Twig gibi bir \u015fablonlama motoruyla birle\u015ftirerek nihai HTML sayfalar\u0131n\u0131 \u00fcretir. Veritaban\u0131 sorgular\u0131na veya sunucu taraf\u0131 kod \u00e7al\u0131\u015ft\u0131rmaya gerek kalmad\u0131\u011f\u0131 i\u00e7in, statik siteler son derece h\u0131zl\u0131d\u0131r, g\u00fcvenlidir ve bak\u0131m maliyetleri d\u00fc\u015f\u00fckt\u00fcr.<\/p>\n<h4>1.2. Sculpin&#8217;in Avantajlar\u0131<\/h4>\n<p>Sculpin, PHP geli\u015ftiricileri i\u00e7in \u00f6zellikle cazip bir se\u00e7enektir \u00e7\u00fcnk\u00fc mevcut PHP becerilerini ve ekosistemini (Composer, Twig) kullanmalar\u0131na olanak tan\u0131r. Ba\u015fl\u0131ca avantajlar\u0131 \u015funlard\u0131r:<\/p>\n<p>*   <strong>H\u0131z ve Performans:<\/strong> Statik dosyalar do\u011frudan taray\u0131c\u0131ya servis edildi\u011fi i\u00e7in y\u00fckleme s\u00fcreleri \u00e7ok k\u0131sad\u0131r.<br \/>\n*   <strong>G\u00fcvenlik:<\/strong> Dinamik bir arka u\u00e7 veya veritaban\u0131 olmad\u0131\u011f\u0131 i\u00e7in siber sald\u0131r\u0131lara kar\u015f\u0131 daha az hedef olu\u015fturur.<br \/>\n*   <strong>Maliyet Etkinli\u011fi:<\/strong> Basit bir web sunucusu veya CDN \u00fczerinde bar\u0131nd\u0131r\u0131labilir, bu da hosting maliyetlerini d\u00fc\u015f\u00fcr\u00fcr.<br \/>\n*   <strong>\u00d6l\u00e7eklenebilirlik:<\/strong> Y\u00fcksek trafik alt\u0131nda bile performans\u0131n\u0131 korur \u00e7\u00fcnk\u00fc sunucu taraf\u0131nda i\u015flem y\u00fck\u00fc yoktur.<br \/>\n*   <strong>Geli\u015ftirici Dostu:<\/strong> Markdown ile i\u00e7erik yazma ve Twig ile \u015fablonlama, geli\u015ftiriciler i\u00e7in tan\u0131d\u0131k ve verimli bir deneyim sunar.<br \/>\n*   <strong>S\u00fcr\u00fcm Kontrol\u00fc Entegrasyonu:<\/strong> T\u00fcm i\u00e7erik ve \u015fablonlar dosya tabanl\u0131 oldu\u011fu i\u00e7in Git gibi s\u00fcr\u00fcm kontrol sistemleriyle m\u00fckemmel uyum sa\u011flar.<br \/>\n*   <strong>Esneklik:<\/strong> Sculpin&#8217;i bloglar, ki\u015fisel web siteleri, dok\u00fcmantasyon siteleri ve hatta k\u00fc\u00e7\u00fck e-ticaret siteleri gibi \u00e7e\u015fitli projeler i\u00e7in kullanabilirsiniz.<\/p>\n<h4>1.3. Sculpin Kimler \u0130\u00e7in Uygundur?<\/h4>\n<p>Sculpin, \u00f6zellikle a\u015fa\u011f\u0131daki senaryolarda parlak bir se\u00e7enektir:<\/p>\n<p>*   <strong>Blog Yazarlar\u0131:<\/strong> \u0130\u00e7eriklerini Markdown ile yazmay\u0131 tercih eden ve h\u0131zl\u0131, g\u00fcvenli bir blog arayanlar.<br \/>\n*   <strong>Dok\u00fcmantasyon Siteleri:<\/strong> Teknik dok\u00fcmantasyon veya API referanslar\u0131 olu\u015fturmak isteyenler.<br \/>\n*   <strong>Ki\u015fisel Portf\u00f6y veya Kurumsal Tan\u0131t\u0131m Siteleri:<\/strong> S\u0131k g\u00fcncellenmeyen, ancak profesyonel ve h\u0131zl\u0131 olmas\u0131 gereken siteler.<br \/>\n*   <strong>PHP Geli\u015ftiricileri:<\/strong> PHP ve Composer ekosistemine a\u015fina olup, bu yeteneklerini statik web sitesi olu\u015fturma s\u00fcre\u00e7lerinde kullanmak isteyenler.<br \/>\n*   <strong>Performans ve G\u00fcvenli\u011fe \u00d6nem Verenler:<\/strong> Maksimum h\u0131z ve minimum g\u00fcvenlik riski arayan herkes.<\/p>\n<h3>2. \u00d6n Gereksinimler: Sculpin \u0130\u00e7in Haz\u0131rl\u0131k<\/h3>\n<p>Sculpin&#8217;i kurmadan ve kullanmaya ba\u015flamadan \u00f6nce, sisteminizde baz\u0131 temel ara\u00e7lar\u0131n kurulu olmas\u0131 gerekir. Bu ara\u00e7lar, Sculpin&#8217;in kendisi gibi PHP ekosisteminin \u00f6nemli par\u00e7alar\u0131d\u0131r.<\/p>\n<h4>2.1. PHP Kurulumu ve S\u00fcr\u00fcm Kontrol\u00fc<\/h4>\n<p>Sculpin, PHP ile yaz\u0131ld\u0131\u011f\u0131 i\u00e7in sisteminizde PHP&#8217;nin kurulu olmas\u0131 zorunludur. Sculpin genellikle PHP 7.2 veya daha y\u00fcksek bir s\u00fcr\u00fcm gerektirir. En g\u00fcncel ve desteklenen s\u00fcr\u00fcm\u00fc kullanman\u0131z \u00f6nerilir.<\/p>\n<p>*   <strong>PHP Kurulumunu Kontrol Etme:<\/strong> Terminalinizi veya komut istemcinizi a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">php -v<\/code><\/pre>\n<p>    Bu komut, kurulu PHP s\u00fcr\u00fcm\u00fcn\u00fcz\u00fc g\u00f6sterecektir. E\u011fer PHP kurulu de\u011filse veya s\u00fcr\u00fcm\u00fc eski ise, i\u015fletim sisteminize g\u00f6re kurulum yapman\u0131z gerekir:<br \/>\n    *   <strong>Ubuntu\/Debian:<\/strong> <code>sudo apt update && sudo apt install php<\/code><br \/>\n    *   <strong>macOS (Homebrew ile):<\/strong> <code>brew install php<\/code><br \/>\n    *   <strong>Windows:<\/strong> XAMPP, WAMP veya Laragon gibi bir paket kullanarak PHP&#8217;yi kolayca kurabilirsiniz. Alternatif olarak, PHP&#8217;nin resmi web sitesinden indirip manuel olarak PATH&#8217;e ekleyebilirsiniz.<\/p>\n<h4>2.2. Composer Kurulumu<\/h4>\n<p>Composer, PHP i\u00e7in bir ba\u011f\u0131ml\u0131l\u0131k y\u00f6neticisidir. Sculpin&#8217;i ve onun ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 y\u00f6netmek i\u00e7in Composer&#8217;a ihtiyac\u0131n\u0131z olacak.<\/p>\n<p>*   <strong>Composer Kurulumunu Kontrol Etme:<\/strong><\/p>\n<pre><code class=\"language-bash\">composer -V<\/code><\/pre>\n<p>    Bu komut, Composer s\u00fcr\u00fcm\u00fcn\u00fcz\u00fc g\u00f6sterecektir. E\u011fer Composer kurulu de\u011filse:<br \/>\n    *   <strong>Linux\/macOS:<\/strong><\/p>\n<pre><code class=\"language-bash\">php -r \"copy('https:\/\/getcomposer.org\/installer', 'composer-setup.php');\"\n        php composer-setup.php\n        php -r \"unlink('composer-setup.php');\"\n        sudo mv composer.phar \/usr\/local\/bin\/composer<\/code><\/pre>\n<p>        Bu ad\u0131mlar, Composer&#8217;\u0131 indirir, kurar ve sistem genelinde eri\u015filebilir hale getirir.<br \/>\n    *   <strong>Windows:<\/strong> Composer&#8217;\u0131n resmi web sitesinden (getcomposer.org) Windows Installer&#8217;\u0131 indirip kurman\u0131z en kolay yoldur.<\/p>\n<h4>2.3. Git Kurulumu (Opsiyonel ama \u00d6nerilir)<\/h4>\n<p>Git, bir s\u00fcr\u00fcm kontrol sistemidir ve Sculpin projeleriniz i\u00e7in \u015fiddetle tavsiye edilir. \u0130\u00e7eri\u011finizi ve kodunuzu y\u00f6netmenize, de\u011fi\u015fiklikleri takip etmenize ve farkl\u0131 s\u00fcr\u00fcmler aras\u0131nda ge\u00e7i\u015f yapman\u0131za olanak tan\u0131r.<\/p>\n<p>*   <strong>Git Kurulumunu Kontrol Etme:<\/strong><\/p>\n<pre><code class=\"language-bash\">git --version<\/code><\/pre>\n<p>    E\u011fer Git kurulu de\u011filse:<br \/>\n    *   <strong>Ubuntu\/Debian:<\/strong> <code>sudo apt update && sudo apt install git<\/code><br \/>\n    *   <strong>macOS (Homebrew ile):<\/strong> <code>brew install git<\/code><br \/>\n    *   <strong>Windows:<\/strong> Git&#8217;in resmi web sitesinden (git-scm.com) Windows Installer&#8217;\u0131 indirip kurabilirsiniz.<\/p>\n<h3>3. Sculpin Kurulumu<\/h3>\n<p>\u00d6n gereksinimleri tamamlad\u0131ktan sonra, Sculpin&#8217;i sisteminize kurmaya haz\u0131rs\u0131n\u0131z. Sculpin&#8217;i iki farkl\u0131 \u015fekilde kurabilirsiniz: global olarak veya proje baz\u0131nda.<\/p>\n<h4>3.1. Global Kurulum (Composer ile)<\/h4>\n<p>Global kurulum, Sculpin komutunu herhangi bir dizinden \u00e7al\u0131\u015ft\u0131rabilmenizi sa\u011flar. Bu, birden fazla Sculpin projesi \u00fczerinde \u00e7al\u0131\u015f\u0131yorsan\u0131z veya s\u0131k s\u0131k yeni projeler olu\u015fturuyorsan\u0131z kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<pre><code class=\"language-bash\">composer global require sculpin\/sculpin<\/code><\/pre>\n<p>Bu komut, Sculpin&#8217;i Composer&#8217;\u0131n global ba\u011f\u0131ml\u0131l\u0131klar dizinine indirir. Bu dizin genellikle <code>~\/.composer\/vendor\/bin<\/code> veya benzer bir yoldad\u0131r. Sculpin komutunun sistem genelinde \u00e7al\u0131\u015fabilmesi i\u00e7in bu dizinin PATH ortam de\u011fi\u015fkeninize eklenmesi gerekebilir.<\/p>\n<p>*   <strong>PATH&#8217;e Ekleme (Linux\/macOS):<\/strong><br \/>\n    <code>~\/.bashrc<\/code>, <code>~\/.zshrc<\/code> veya <code>~\/.profile<\/code> dosyan\u0131na a\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin:<\/p>\n<pre><code class=\"language-bash\">export PATH=\"$PATH:$HOME\/.composer\/vendor\/bin\"<\/code><\/pre>\n<p>    De\u011fi\u015fiklikleri kaydettikten sonra terminali yeniden ba\u015flat\u0131n veya <code>source ~\/.bashrc<\/code> (veya kulland\u0131\u011f\u0131n\u0131z dosya) komutunu \u00e7al\u0131\u015ft\u0131r\u0131n.<\/p>\n<h4>3.2. Proje Bazl\u0131 Kurulum (Composer ile)<\/h4>\n<p>Proje bazl\u0131 kurulumda Sculpin, her proje i\u00e7in ayr\u0131 ayr\u0131 kurulur. Bu, projenizin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 izole etmenizi sa\u011flar ve farkl\u0131 projelerde farkl\u0131 Sculpin s\u00fcr\u00fcmleri kullanman\u0131za olanak tan\u0131r. Bu y\u00f6ntem genellikle daha g\u00fcvenli ve y\u00f6netilebilirdir.<\/p>\n<p>Yeni bir proje dizini olu\u015fturun ve i\u00e7ine girin:<\/p>\n<pre><code class=\"language-bash\">mkdir my-sculpin-project\ncd my-sculpin-project<\/code><\/pre>\n<p>Ard\u0131ndan, Composer kullanarak Sculpin&#8217;i projenize ba\u011f\u0131ml\u0131l\u0131k olarak ekleyin:<\/p>\n<pre><code class=\"language-bash\">composer require sculpin\/sculpin<\/code><\/pre>\n<p>Bu komut, Sculpin&#8217;i <code>vendor\/bin\/sculpin<\/code> yoluna kuracakt\u0131r. Bu kurulumda Sculpin komutunu \u00e7al\u0131\u015ft\u0131rmak i\u00e7in her zaman <code>vendor\/bin\/sculpin<\/code> \u00f6n ekini kullanman\u0131z gerekecektir.<\/p>\n<h4>3.3. Kurulumun Do\u011frulanmas\u0131<\/h4>\n<p>Kurulumun ba\u015far\u0131l\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in Sculpin s\u00fcr\u00fcm\u00fcn\u00fc sorgulayabilirsiniz.<\/p>\n<p>*   <strong>Global Kurulum \u0130\u00e7in:<\/strong><\/p>\n<pre><code class=\"language-bash\">sculpin -V<\/code><\/pre>\n<p>*   <strong>Proje Bazl\u0131 Kurulum \u0130\u00e7in:<\/strong><\/p>\n<pre><code class=\"language-bash\">vendor\/bin\/sculpin -V<\/code><\/pre>\n<p>Her iki durumda da, kurulu Sculpin s\u00fcr\u00fcm numaras\u0131n\u0131 g\u00f6rmeniz gerekir.<\/p>\n<h3>4. Yeni Bir Sculpin Projesi Olu\u015fturma<\/h3>\n<p>Sculpin&#8217;i kurduktan sonra, yeni bir web sitesi projesi olu\u015fturmaya haz\u0131rs\u0131n\u0131z. Sculpin, bo\u015f bir proje veya \u00f6nceden tan\u0131mlanm\u0131\u015f bir \u015fablon kullanarak proje olu\u015fturma se\u00e7enekleri sunar.<\/p>\n<h4>4.1. Bo\u015f Bir Proje Olu\u015fturma<\/h4>\n<p>E\u011fer sitenizi s\u0131f\u0131rdan olu\u015fturmak ve t\u00fcm yap\u0131land\u0131rmay\u0131 kendiniz yapmak istiyorsan\u0131z, bo\u015f bir proje olu\u015fturabilirsiniz:<\/p>\n<pre><code class=\"language-bash\"># Global kurulum i\u00e7in\nsculpin init my-new-site\n\n<h2>Proje bazl\u0131 kurulum i\u00e7in (\u00f6nceki ad\u0131mda projenin k\u00f6k dizinindeyseniz)<\/h2>\nvendor\/bin\/sculpin init .\n<h2>veya yeni bir dizin olu\u015fturmak i\u00e7in<\/h2>\nvendor\/bin\/sculpin init my-new-site<\/code><\/pre>\n<p>Bu komut, belirtilen dizinde temel bir Sculpin proje yap\u0131s\u0131 olu\u015fturacakt\u0131r.<\/p>\n<h4>4.2. \u015eablon Kullanarak Proje Olu\u015fturma<\/h4>\n<p>Sculpin, \u00f6zellikle bloglar i\u00e7in haz\u0131r \u015fablonlar sunar. Bu \u015fablonlar, ba\u015flamak i\u00e7in iyi bir temel sa\u011flar ve blog i\u00e7in gerekli temel d\u00fczenleri, CSS&#8217;i ve \u00f6rnek i\u00e7erikleri i\u00e7erir.<\/p>\n<p>En pop\u00fcler \u015fablonlardan biri olan blog \u015fablonunu kullanarak yeni bir proje olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\"># Global kurulum i\u00e7in\nsculpin init my-blog-site --theme=sculpin\/sculpin-blog-skeleton\n\n<h2>Proje bazl\u0131 kurulum i\u00e7in<\/h2>\nvendor\/bin\/sculpin init my-blog-site --theme=sculpin\/sculpin-blog-skeleton<\/code><\/pre>\n<p>Bu komut, <code>my-blog-site<\/code> ad\u0131nda yeni bir dizin olu\u015fturacak ve i\u00e7ine blog \u015fablonunun i\u00e7eri\u011fini kopyalayacakt\u0131r. Bu, \u00f6zellikle bir blog ba\u015flatmak isteyenler i\u00e7in h\u0131zl\u0131 bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r.<\/p>\n<h4>4.3. Proje Yap\u0131s\u0131 ve Dosyalar<\/h4>\n<p>Bir Sculpin projesi olu\u015fturdu\u011funuzda, a\u015fa\u011f\u0131daki gibi temel bir dizin yap\u0131s\u0131yla kar\u015f\u0131la\u015f\u0131rs\u0131n\u0131z:<\/p>\n<pre><code class=\"language-\">my-sculpin-project\/\n\u251c\u2500\u2500 app\/\n\u2502   \u251c\u2500\u2500 config\/\n\u2502   \u2502   \u251c\u2500\u2500 sculpin_dev.yml\n\u2502   \u2502   \u2514\u2500\u2500 sculpin_prod.yml\n\u2502   \u2514\u2500\u2500 sculpin_kernel.php\n\u251c\u2500\u2500 source\/\n\u2502   \u251c\u2500\u2500 _posts\/\n\u2502   \u2502   \u2514\u2500\u2500 2023-01-01-ilk-yazi.md\n\u2502   \u251c\u2500\u2500 _views\/\n\u2502   \u2502   \u251c\u2500\u2500 default.html.twig\n\u2502   \u2502   \u2514\u2500\u2500 index.html.twig\n\u2502   \u251c\u2500\u2500 index.html\n\u2502   \u2514\u2500\u2500 assets\/\n\u2502       \u251c\u2500\u2500 css\/\n\u2502       \u2514\u2500\u2500 js\/\n\u251c\u2500\u2500 output_dev\/  (geli\u015ftirme sunucusu \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda olu\u015fturulur)\n\u251c\u2500\u2500 output_prod\/ (\u00fcretim i\u00e7in derlendi\u011finde olu\u015fturulur)\n\u251c\u2500\u2500 composer.json\n\u251c\u2500\u2500 composer.lock\n\u2514\u2500\u2500 vendor\/<\/code><\/pre>\n<p>*   <strong><code>app\/<\/code><\/strong>: Sculpin&#8217;in ana yap\u0131land\u0131rma dosyalar\u0131n\u0131 i\u00e7erir.<br \/>\n    *   <strong><code>app\/config\/<\/code><\/strong>: Ortama \u00f6zg\u00fc yap\u0131land\u0131rma dosyalar\u0131n\u0131 bar\u0131nd\u0131r\u0131r. <code>sculpin_dev.yml<\/code> geli\u015ftirme ortam\u0131 i\u00e7in, <code>sculpin_prod.yml<\/code> ise \u00fcretim ortam\u0131 i\u00e7indir. Burada URL yap\u0131lar\u0131, eklentiler ve di\u011fer site ayarlar\u0131 tan\u0131mlan\u0131r.<br \/>\n    *   <strong><code>sculpin_kernel.php<\/code><\/strong>: Sculpin uygulamas\u0131n\u0131n \u00e7ekirde\u011fidir ve genellikle d\u00fczenlemeniz gerekmez.<br \/>\n*   <strong><code>source\/<\/code><\/strong>: Web sitenizin t\u00fcm kaynak dosyalar\u0131n\u0131 (i\u00e7erik, \u015fablonlar, varl\u0131klar) bar\u0131nd\u0131r\u0131r.<br \/>\n    *   <strong><code>_posts\/<\/code><\/strong>: Blog yaz\u0131lar\u0131n\u0131z\u0131 veya di\u011fer zaman serisi i\u00e7eriklerinizi Markdown format\u0131nda tutar. Dosya adlar\u0131 genellikle <code>YYYY-MM-DD-slug.md<\/code> \u015feklindedir.<br \/>\n    *   <strong><code>_views\/<\/code><\/strong>: Twig \u015fablon dosyalar\u0131n\u0131z\u0131 i\u00e7erir. Ana d\u00fczenler, sayfa \u015fablonlar\u0131 burada yer al\u0131r.<br \/>\n    *   <strong><code>index.html<\/code><\/strong>: Sitenizin ana sayfas\u0131d\u0131r. Genellikle bir Twig \u015fablonuna y\u00f6nlendirir.<br \/>\n    *   <strong><code>assets\/<\/code><\/strong>: CSS, JavaScript, resimler gibi statik varl\u0131klar\u0131n\u0131z\u0131 tutar.<br \/>\n*   <strong><code>output_dev\/<\/code><\/strong>: Geli\u015ftirme sunucusunu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda Sculpin&#8217;in olu\u015fturdu\u011fu ge\u00e7ici statik dosyalar\u0131 i\u00e7erir.<br \/>\n*   <strong><code>output_prod\/<\/code><\/strong>: Sitenizi \u00fcretim i\u00e7in derledi\u011finizde olu\u015fturulan nihai statik dosyalar\u0131 i\u00e7erir. Bu dizinin i\u00e7eri\u011fi da\u011f\u0131t\u0131l\u0131r.<br \/>\n*   <strong><code>composer.json<\/code><\/strong>: Projenizin Composer ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 tan\u0131mlar.<br \/>\n*   <strong><code>vendor\/<\/code><\/strong>: Composer taraf\u0131ndan y\u00f6netilen t\u00fcm PHP ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 i\u00e7erir.<\/p>\n<h3>5. \u0130\u00e7erik Olu\u015fturma: Markdown ve Twig<\/h3>\n<p>Sculpin&#8217;in g\u00fcc\u00fc, i\u00e7eri\u011fi Markdown ile yazma kolayl\u0131\u011f\u0131n\u0131 Twig&#8217;in esnek \u015fablonlama yetenekleriyle birle\u015ftirmesinden gelir.<\/p>\n<h4>5.1. Markdown ile Sayfalar ve Yaz\u0131lar Olu\u015fturma<\/h4>\n<p>Sculpin&#8217;de i\u00e7erik genellikle Markdown dosyalar\u0131 olarak yaz\u0131l\u0131r. Bu dosyalar, sayfan\u0131n i\u00e7eri\u011finin yan\u0131 s\u0131ra, sayfa hakk\u0131nda meta verileri (Front Matter) i\u00e7eren bir YAML blo\u011fu da i\u00e7erir.<\/p>\n<p>*   <strong>Front Matter (YAML) Kullan\u0131m\u0131:<\/strong><br \/>\n    Her Markdown dosyas\u0131n\u0131n ba\u015f\u0131nda, \u00fc\u00e7 tire (&#8212;) ile ayr\u0131lm\u0131\u015f bir YAML blo\u011fu bulunabilir. Bu blok, sayfa ba\u015fl\u0131\u011f\u0131, yazar, tarih, \u015fablon gibi meta verileri tan\u0131mlar.<\/p>\n<p>    \u00d6rnek bir blog yaz\u0131s\u0131 (<code>source\/_posts\/2023-10-27-ilk-sculpin-yazisi.md<\/code>):<\/p>\n<pre><code class=\"language-markdown\">---\n    title: \u0130lk Sculpin Yaz\u0131m\n    subtitle: Sculpin ile Statik Site Olu\u015fturma Yolculu\u011fum\n    author: Ad\u0131n\u0131z Soyad\u0131n\u0131z\n    date: 2023-10-27 10:30:00\n    tags: [Sculpin, Statik Site, PHP, Markdown]\n    layout: post # Kullan\u0131lacak Twig \u015fablonu\n    is_page: false\n    ---\n\n    Merhaba d\u00fcnya! Bu, Sculpin ile yazd\u0131\u011f\u0131m ilk blog yaz\u0131s\u0131. Sculpin, statik web siteleri olu\u015fturmay\u0131 ger\u00e7ekten kolayla\u015ft\u0131r\u0131yor.\n\n    ## Neden Sculpin?\n\n    *   <strong>H\u0131z:<\/strong> Statik siteler inan\u0131lmaz h\u0131zl\u0131d\u0131r.\n    *   <strong>G\u00fcvenlik:<\/strong> Dinamik bir arka u\u00e7 yok.\n    *   <strong>Basitlik:<\/strong> Markdown ile i\u00e7erik yazmak \u00e7ok kolay.\n\n    Bu yaz\u0131da, Sculpin'in temel \u00f6zelliklerini ve nas\u0131l kullan\u0131ld\u0131\u011f\u0131n\u0131 ke\u015ffettik. Gelecek yaz\u0131larda daha derinlemesine konulara dalaca\u011f\u0131z.<\/code><\/pre>\n<p>    <code>layout<\/code> anahtar\u0131, bu i\u00e7eri\u011fi i\u015flemek i\u00e7in hangi Twig \u015fablonunun kullan\u0131laca\u011f\u0131n\u0131 belirtir. <code>is_page: false<\/code> ise bunun bir blog yaz\u0131s\u0131 oldu\u011funu (bir sayfa olmad\u0131\u011f\u0131n\u0131) belirtir.<\/p>\n<p>*   <strong>Markdown S\u00f6zdizimi Temelleri:<\/strong><br \/>\n    *   Ba\u015fl\u0131klar: <code># Ba\u015fl\u0131k 1<\/code>, <code>## Ba\u015fl\u0131k 2<\/code>, <code>### Ba\u015fl\u0131k 3<\/code><br \/>\n    *   Paragraflar: Bo\u015f bir sat\u0131rla ayr\u0131lm\u0131\u015f metin bloklar\u0131.<br \/>\n    *   Kal\u0131n Metin: <code><strong>kal\u0131n<\/strong><\/code> veya <code>__kal\u0131n__<\/code><br \/>\n    <em>   \u0130talik Metin: <code><\/em>italik*<\/code> veya <code>_italik_<\/code><br \/>\n    *   Listeler:<br \/>\n        <em>   S\u0131ras\u0131z: <code>- Madde 1<\/code>, <code><\/em> Madde 2<\/code><br \/>\n        *   S\u0131ral\u0131: <code>1. Madde 1<\/code>, <code>2. Madde 2<\/code><br \/>\n    *   Ba\u011flant\u0131lar: <code>[Ba\u011flant\u0131 Metni](https:\/\/example.com)<\/code><br \/>\n    *   Resimler: <code>![Alternatif Metin](\/assets\/img\/resim.jpg)<\/code><br \/>\n    *   Kod Bloklar\u0131: \u00dc\u00e7 ters t\u0131rnak (<\/p>\n<pre><code class=\"language-\">) aras\u0131na al\u0131nm\u0131\u015f kod.\n\n<h4>5.2. Twig \u015eablonlama Motoru<\/h4>\n\nTwig, Sculpin'in kulland\u0131\u011f\u0131 esnek ve g\u00fc\u00e7l\u00fc bir \u015fablonlama motorudur. \u0130\u00e7eri\u011finizin nas\u0131l g\u00f6r\u00fcnece\u011fini tan\u0131mlamak i\u00e7in Twig \u015fablonlar\u0131n\u0131 kullan\u0131rs\u0131n\u0131z.\n\n*   <strong>\u015eablon Dosyalar\u0131 (<code>source\/_views\/<\/code>)<\/strong>:\n    T\u00fcm Twig \u015fablonlar\u0131n\u0131z <code>source\/_views\/<\/code> dizininde bulunur.\n    *   <strong><code>default.html.twig<\/code><\/strong>: Genellikle sitenizin ana d\u00fczenidir. Di\u011fer \u015fablonlar bu \u015fablonu geni\u015fleterek ortak HTML yap\u0131s\u0131n\u0131 payla\u015f\u0131r.\n    *   <strong><code>post.html.twig<\/code><\/strong>: Blog yaz\u0131lar\u0131n\u0131 g\u00f6r\u00fcnt\u00fclemek i\u00e7in kullan\u0131lan \u015fablon.\n    *   <strong><code>index.html.twig<\/code><\/strong>: Ana sayfa i\u00e7in kullan\u0131lan \u015fablon.\n\n*   <strong>Bloklar ve Geni\u015fletme (<code>extends<\/code>, <code>block<\/code>)<\/strong>:\n    Twig'in en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biri, \u015fablon kal\u0131t\u0131m\u0131d\u0131r. Ortak bir d\u00fczeni (<code>default.html.twig<\/code> gibi) tan\u0131mlayabilir ve di\u011fer \u015fablonlar\u0131n bu d\u00fczeni geni\u015fletmesini sa\u011flayabilirsiniz.\n\n    <code>source\/_views\/default.html.twig<\/code> (Ana d\u00fczen):<\/code><\/pre>\n<p>twig<br \/>\n    <!DOCTYPE html><br \/>\n    <html><br \/>\n    <head><br \/>\n        <meta charset=\"utf-8\"><br \/>\n        <title>{% block title %}Sitem{% endblock %}<\/title>\n        <link rel=\"stylesheet\" href=\"\/assets\/css\/style.css\">\n    <\/head><br \/>\n    <body><\/p>\n<header>\n<nav>\n                <a href=\"\/\">Ana Sayfa<\/a><br \/>\n                <a href=\"\/about\/\">Hakk\u0131mda<\/a><br \/>\n                <a href=\"\/blog\/\">Blog<\/a><br \/>\n            <\/nav>\n<\/header>\n<p>        <main><br \/>\n            {% block content %}{% endblock %}<br \/>\n        <\/main><\/p>\n<footer>\n<p>&copy; {{ &#8220;now&#8221;|date(&#8220;Y&#8221;) }} Sculpin Sitem<\/p>\n<\/footer>\n<p>    <\/body><br \/>\n    <\/html><\/p>\n<pre><code class=\"language-\"><code>source\/_views\/post.html.twig<\/code> (Yaz\u0131 \u015fablonu):<\/code><\/pre>\n<p>twig<br \/>\n    {% extends &#8216;default.html.twig&#8217; %}<\/p>\n<p>    {% block title %}{{ page.title }} &#8211; {% parent %}{% endblock %}<\/p>\n<p>    {% block content %}<\/p>\n<article>\n<h2>{{ page.title }}<\/h2>\n<p class=\"meta\">Yazar: {{ page.author }} | Tarih: {{ page.date|date(&#8216;Y-m-d&#8217;) }}<\/p>\n<p>            {{ page.content|raw }} {# Markdown i\u00e7eri\u011fi HTML olarak render edilir #}<br \/>\n            {% if page.tags %}<\/p>\n<div class=\"tags\">\n                    Etiketler:<br \/>\n                    {% for tag in page.tags %}<br \/>\n                        <a href=\"\/tags\/{{ tag|slug }}\">{{ tag }}<\/a>{% if not loop.last %}, {% endif %}<br \/>\n                    {% endfor %}\n                <\/div>\n<p>            {% endif %}<br \/>\n        <\/article>\n<p>    {% endblock %}<\/p>\n<pre><code class=\"language-\"><code>{% extends 'default.html.twig' %}<\/code> ile <code>default.html.twig<\/code> \u015fablonu geni\u015fletilir. <code>{% block content %}<\/code> i\u00e7indeki her \u015fey, \u00fcst \u015fablondaki <code>content<\/code> blo\u011funun yerini al\u0131r. <code>{% parent %}<\/code> ise \u00fcst \u015fablondaki blo\u011fun i\u00e7eri\u011fini korur.\n\n*   <strong>De\u011fi\u015fkenlere Eri\u015fim<\/strong>:\n    Twig \u015fablonlar\u0131nda, <code>page<\/code> (mevcut sayfan\u0131n veya yaz\u0131n\u0131n meta verileri ve i\u00e7eri\u011fi), <code>site<\/code> (genel site ayarlar\u0131) ve <code>posts<\/code> (t\u00fcm blog yaz\u0131lar\u0131) gibi de\u011fi\u015fkenlere eri\u015febilirsiniz.\n    *   <code>{{ page.title }}<\/code>: Mevcut sayfan\u0131n ba\u015fl\u0131\u011f\u0131na eri\u015fim.\n    *   <code>{{ page.content|raw }}<\/code>: Markdown i\u00e7eri\u011fini HTML olarak i\u015flenmi\u015f haliyle g\u00f6sterir (<code>raw<\/code> filtresi HTML etiketlerinin ka\u00e7mas\u0131n\u0131 \u00f6nler).\n    <em>   <code>{{ site.title }}<\/code>: <code>app\/config\/sculpin_<\/em>.yml<\/code> dosyas\u0131nda tan\u0131mlanm\u0131\u015f genel site ba\u015fl\u0131\u011f\u0131na eri\u015fim.\n    *   <code>{% for post in site.posts %}<\/code>: T\u00fcm blog yaz\u0131lar\u0131n\u0131 d\u00f6ng\u00fcye almak i\u00e7in.\n\n*   <strong>D\u00f6ng\u00fcler ve Ko\u015fullar (<code>for<\/code>, <code>if<\/code>)<\/strong>:\n    Twig, d\u00f6ng\u00fcler ve ko\u015fullu ifadeler i\u00e7in standart s\u00f6zdizimine sahiptir:<\/code><\/pre>\n<p>twig<br \/>\n    {% for post in site.posts %}<\/p>\n<h3><a href=\"{{ post.url }}\">{{ post.title }}<\/a><\/h3>\n<p>{{ post.date|date(&#8216;Y-m-d&#8217;) }}<\/p>\n<p>{{ post.excerpt }}<\/p>\n<p> {# Yaz\u0131n\u0131n k\u0131sa \u00f6zeti #}<br \/>\n    {% endfor %}<\/p>\n<p>    {% if page.author %}<\/p>\n<p>Yazar: {{ page.author }}<\/p>\n<p>    {% endif %}<\/p>\n<pre><code class=\"language-\"><h4>5.3. Varl\u0131klar (Assets): CSS, JS, Resimler<\/h4>\n\nStatik varl\u0131klar\u0131n\u0131z (CSS, JavaScript, resimler vb.) genellikle <code>source\/assets\/<\/code> dizininde bulunur. Sculpin, bu dosyalar\u0131 oldu\u011fu gibi <code>output_dev\/<\/code> veya <code>output_prod\/<\/code> dizinine kopyalar.\n\n*   <strong>CSS Ba\u011flama:<\/strong>\n    HTML \u015fablonlar\u0131n\u0131zda CSS dosyalar\u0131n\u0131za a\u015fa\u011f\u0131daki gibi ba\u011flant\u0131 verebilirsiniz:<\/code><\/pre>\n<p>html\n    <link rel=\"stylesheet\" href=\"\/assets\/css\/style.css\">\n<pre><code class=\"language-\">Bu, <code>source\/assets\/css\/style.css<\/code> dosyas\u0131n\u0131n, olu\u015fturulan statik sitede <code>\/assets\/css\/style.css<\/code> olarak eri\u015filebilir olmas\u0131n\u0131 sa\u011flar.\n\n*   <strong>JavaScript Ekleme:<\/strong><\/code><\/pre>\n<p>html<br \/>\n    <script src=\"\/assets\/js\/main.js\"><\/script><\/p>\n<pre><code class=\"language-\">*   <strong>Resim Kullan\u0131m\u0131:<\/strong>\n    Markdown i\u00e7eri\u011finizde veya \u015fablonlar\u0131n\u0131zda resimlere referans verebilirsiniz:<\/code><\/pre>\n<p>markdown<br \/>\n    ![A\u00e7\u0131klama](\/assets\/img\/benim-resmim.jpg)<\/p>\n<pre><code class=\"language-\"><h3>6. Sculpin Sunucusu ve Geli\u015ftirme S\u00fcreci<\/h3>\n\n\u0130\u00e7erik ve \u015fablonlar\u0131n\u0131z\u0131 olu\u015fturduktan sonra, sitenizi yerel olarak \u00f6nizlemek ve geli\u015ftirme s\u00fcrecini h\u0131zland\u0131rmak i\u00e7in Sculpin'in yerle\u015fik geli\u015ftirme sunucusunu kullanabilirsiniz.\n\n<h4>6.1. Geli\u015ftirme Sunucusunu Ba\u015flatma<\/h4>\n\nProjenizin k\u00f6k dizininde a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rarak geli\u015ftirme sunucusunu ba\u015flat\u0131n:<\/code><\/pre>\n<p>bash<\/p>\n<h2>Global kurulum i\u00e7in<\/h2>\n<p>sculpin generate &#8211;server &#8211;watch<\/p>\n<h2>Proje bazl\u0131 kurulum i\u00e7in<\/h2>\n<p>vendor\/bin\/sculpin generate &#8211;server &#8211;watch<\/p>\n<pre><code class=\"language-\">*   <code>generate<\/code>: Sculpin'e statik dosyalar\u0131 olu\u015fturmas\u0131n\u0131 s\u00f6yler.\n*   <code>--server<\/code>: Olu\u015fturulan dosyalar\u0131 servis etmek i\u00e7in yerel bir web sunucusu ba\u015flat\u0131r (genellikle <code>http:\/\/localhost:8000<\/code>).\n*   <code>--watch<\/code>: Kaynak dosyalar\u0131n\u0131zdaki de\u011fi\u015fiklikleri otomatik olarak izler ve bir de\u011fi\u015fiklik alg\u0131land\u0131\u011f\u0131nda siteyi yeniden derler.\n\nKomutu \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra, terminalde sunucunun hangi adreste \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 belirten bir mesaj g\u00f6receksiniz. Taray\u0131c\u0131n\u0131zla bu adrese giderek sitenizin yerel bir \u00f6nizlemesini g\u00f6rebilirsiniz.\n\n<h4>6.2. De\u011fi\u015fiklikleri \u0130zleme ve Otomatik Yenileme<\/h4>\n\n<code>--watch<\/code> bayra\u011f\u0131 sayesinde, <code>source\/<\/code> dizinindeki herhangi bir dosyay\u0131 (Markdown, Twig, CSS, JS vb.) kaydetti\u011finizde Sculpin sitenizi otomatik olarak yeniden derleyecektir. \u00c7o\u011fu modern taray\u0131c\u0131, sayfa yeniden derlendi\u011finde otomatik olarak yenilenecek \u015fekilde yap\u0131land\u0131r\u0131lm\u0131\u015ft\u0131r, bu da h\u0131zl\u0131 bir geli\u015ftirme d\u00f6ng\u00fcs\u00fc sa\u011flar. E\u011fer taray\u0131c\u0131n\u0131z otomatik yenilemiyorsa, sayfay\u0131 manuel olarak yenilemeniz gerekebilir.\n\n<h4>6.3. Hata Ay\u0131klama \u0130pu\u00e7lar\u0131<\/h4>\n\n*   <strong>Terminal \u00c7\u0131kt\u0131s\u0131n\u0131 Kontrol Edin:<\/strong> Sculpin bir hata ile kar\u015f\u0131la\u015ft\u0131\u011f\u0131nda, terminalde ayr\u0131nt\u0131l\u0131 hata mesajlar\u0131 verir. Bu mesajlar\u0131 dikkatlice okuyun.\n*   <strong>Twig Hatalar\u0131:<\/strong> Twig \u015fablonlar\u0131nda bir hata yaparsan\u0131z (\u00f6rne\u011fin, yanl\u0131\u015f de\u011fi\u015fken ad\u0131), Sculpin size hatan\u0131n hangi \u015fablonda ve hangi sat\u0131rda oldu\u011funu s\u00f6yleyecektir.\n*   <strong>YAML Hatalar\u0131:<\/strong> Front Matter veya yap\u0131land\u0131rma dosyalar\u0131ndaki YAML s\u00f6zdizimi hatalar\u0131, Sculpin'in \u00e7al\u0131\u015fmas\u0131n\u0131 engelleyebilir. Bir YAML do\u011frulay\u0131c\u0131 kullanmak faydal\u0131 olabilir.\n*   <strong>\u00d6nbelle\u011fi Temizleme:<\/strong> Bazen Sculpin'in \u00f6nbelle\u011fi sorunlara neden olabilir. <code>sculpin clear-cache<\/code> komutunu \u00e7al\u0131\u015ft\u0131rarak \u00f6nbelle\u011fi temizleyebilirsiniz.\n*   <strong>Ortam De\u011fi\u015fkenleri:<\/strong> Geli\u015ftirme ve \u00fcretim ortamlar\u0131 aras\u0131nda farkl\u0131 yap\u0131land\u0131rmalar\u0131n\u0131z varsa (<code>sculpin_dev.yml<\/code> vs. <code>sculpin_prod.yml<\/code>), do\u011fru ortamda \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zdan emin olun. Geli\u015ftirme sunucusu varsay\u0131lan olarak <code>dev<\/code> ortam\u0131n\u0131 kullan\u0131r.\n\n<h3>7. \u00dcretim \u0130\u00e7in Derleme ve Da\u011f\u0131t\u0131m<\/h3>\n\nSiteniz yerel olarak harika g\u00f6r\u00fcnd\u00fc\u011f\u00fcnde, onu internete da\u011f\u0131tman\u0131n zaman\u0131 gelmi\u015ftir. Sculpin, sitenizi \u00fcretim ortam\u0131 i\u00e7in optimize edilmi\u015f statik dosyalara derler.\n\n<h4>7.1. \u00dcretim Ortam\u0131 \u0130\u00e7in Derleme<\/h4>\n\nSitenizi \u00fcretim i\u00e7in derlemek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/code><\/pre>\n<p>bash<\/p>\n<h2>Global kurulum i\u00e7in<\/h2>\n<p>sculpin generate &#8211;env=prod<\/p>\n<h2>Proje bazl\u0131 kurulum i\u00e7in<\/h2>\n<p>vendor\/bin\/sculpin generate &#8211;env=prod<\/p>\n<pre><code class=\"language-\">*   <code>--env=prod<\/code>: Sculpin'e sitenizi \u00fcretim ortam\u0131 yap\u0131land\u0131rmas\u0131n\u0131 (<code>app\/config\/sculpin_prod.yml<\/code>) kullanarak derlemesini s\u00f6yler. Bu genellikle daha s\u0131k\u0131\u015ft\u0131rma, \u00f6nbellekleme ve di\u011fer optimizasyonlar\u0131 i\u00e7erir.\n\nBu komut, <code>output_prod\/<\/code> dizinini olu\u015fturacak (veya g\u00fcncelleyecek) ve sitenizin t\u00fcm statik HTML, CSS, JavaScript ve resim dosyalar\u0131n\u0131 bu dizine yerle\u015ftirecektir.\n\n<h4>7.2. <code>output_prod<\/code> Dizini<\/h4>\n\n<code>output_prod\/<\/code> dizini, web sitenizin da\u011f\u0131t\u0131ma haz\u0131r nihai s\u00fcr\u00fcm\u00fcn\u00fc i\u00e7erir. Bu dizindeki dosyalar, herhangi bir ek PHP veya veritaban\u0131 olmadan do\u011frudan bir web sunucusunda bar\u0131nd\u0131r\u0131labilir. Bu dizinin i\u00e7eri\u011fini oldu\u011fu gibi kopyalay\u0131p web sunucunuzun k\u00f6k dizinine yerle\u015ftirmeniz yeterlidir.\n\n<h4>7.3. Da\u011f\u0131t\u0131m Y\u00f6ntemleri<\/h4>\n\nStatik siteleri da\u011f\u0131tmak i\u00e7in bir\u00e7ok basit ve uygun maliyetli y\u00f6ntem bulunmaktad\u0131r:\n\n*   <strong>FTP\/SFTP:<\/strong> <code>output_prod\/<\/code> dizininin i\u00e7eri\u011fini geleneksel bir FTP\/SFTP istemcisi kullanarak web sunucunuza y\u00fckleyebilirsiniz.\n*   <strong>Git:<\/strong> E\u011fer sunucunuz Git depolar\u0131n\u0131 destekliyorsa, <code>output_prod\/<\/code> dizinini bir Git deposu olarak kullanabilir ve sunucunuza push edebilirsiniz.\n*   <strong>Statik Hosting Sa\u011flay\u0131c\u0131lar\u0131 (Netlify, Vercel, Render):<\/strong> Bu platformlar, statik siteler i\u00e7in \u00f6zel olarak tasarlanm\u0131\u015ft\u0131r ve Git depolar\u0131n\u0131zla entegre olarak her push i\u015fleminde sitenizi otomatik olarak derleyip da\u011f\u0131tabilirler. Genellikle \u00fccretsiz katmanlar\u0131 bulunur.\n*   <strong>GitHub Pages \/ GitLab Pages:<\/strong> E\u011fer projeniz zaten GitHub veya GitLab \u00fczerinde ise, <code>output_prod\/<\/code> dizinini bir <code>gh-pages<\/code> dal\u0131na push ederek veya CI\/CD kullanarak sitenizi do\u011frudan bar\u0131nd\u0131rabilirsiniz.\n*   <strong>Amazon S3 \/ Google Cloud Storage:<\/strong> Statik dosyalar\u0131 bulut depolama hizmetlerinde bar\u0131nd\u0131rabilir ve bir CDN (Content Delivery Network) ile entegre ederek y\u00fcksek performansl\u0131 ve k\u00fcresel bir da\u011f\u0131t\u0131m sa\u011flayabilirsiniz.\n\n*   <strong>GitHub Pages ile Da\u011f\u0131t\u0131m \u00d6rne\u011fi:<\/strong>\n    1.  GitHub'da projeniz i\u00e7in bir depo olu\u015fturun (\u00f6rne\u011fin, <code>kullaniciadi.github.io<\/code> veya normal bir proje deposu).\n    2.  Projenizin k\u00f6k dizininde <code>output_prod<\/code> dizinini olu\u015fturun (e\u011fer yoksa) ve sitenizi derleyin:<\/code><\/pre>\n<p>bash<br \/>\n        sculpin generate &#8211;env=prod<\/p>\n<pre><code class=\"language-\">3.  <code>output_prod<\/code> dizinini ayr\u0131 bir Git deposu olarak ele alabilir veya ana deponuzun bir alt dal\u0131na (<code>gh-pages<\/code>) push edebilirsiniz. En basit y\u00f6ntemlerden biri, <code>output_prod<\/code> i\u00e7eri\u011fini ana deponuzun <code>gh-pages<\/code> dal\u0131na kopyalamakt\u0131r:<\/code><\/pre>\n<p>bash<br \/>\n        git checkout -b gh-pages<br \/>\n        git add -f output_prod<br \/>\n        git commit -m &#8220;Publishing to GitHub Pages&#8221;<br \/>\n        git subtree push &#8211;prefix output_prod origin gh-pages # Bu daha iyi bir y\u00f6ntem olabilir.<\/p>\n<pre><code class=\"language-\">Veya daha basit bir yakla\u015f\u0131mla, <code>output_prod<\/code> i\u00e7eri\u011fini k\u00f6k dizine kopyalay\u0131p <code>main<\/code> dal\u0131na push edip GitHub Pages ayarlar\u0131ndan <code>main<\/code> dal\u0131n\u0131 se\u00e7ebilirsiniz. Ancak bu, kaynak kodunuzla derlenmi\u015f kodunuzu kar\u0131\u015ft\u0131r\u0131r. Genellikle <code>gh-pages<\/code> dal\u0131 tercih edilir.\n\n<h3>8. Sculpin'i \u00d6zelle\u015ftirme ve Geni\u015fletme<\/h3>\n\nSculpin, sitenizi ihtiya\u00e7lar\u0131n\u0131za g\u00f6re \u00f6zelle\u015ftirmek ve geni\u015fletmek i\u00e7in \u00e7e\u015fitli yollar sunar.\n\n<h4>8.1. Konfig\u00fcrasyon Dosyalar\u0131 (<code>app\/config\/<\/code>)<\/h4>\n\nSculpin'in davran\u0131\u015f\u0131n\u0131 <code>app\/config\/sculpin_dev.yml<\/code> ve <code>app\/config\/sculpin_prod.yml<\/code> dosyalar\u0131nda tan\u0131mlanan YAML yap\u0131land\u0131rmalar\u0131yla kontrol edersiniz.\n\n*   <strong>Genel Site Ayarlar\u0131:<\/strong><\/code><\/pre>\n<p>yaml<br \/>\n    # app\/config\/sculpin_dev.yml veya sculpin_prod.yml<br \/>\n    sculpin_content_types:<br \/>\n        pages:<br \/>\n            type: path<br \/>\n            path: pages<br \/>\n            layout: default<br \/>\n        posts:<br \/>\n            type: path<br \/>\n            path: _posts<br \/>\n            layout: post<br \/>\n            permalink: blog\/:year\/:month\/:day\/:slug\/<br \/>\n            enabled: true<br \/>\n            taxonomies:<br \/>\n                tags:<br \/>\n                    layout: tag<br \/>\n                    permalink: tags\/:tag\/<\/p>\n<pre><code class=\"language-\">Burada, <code>posts<\/code> i\u00e7erik tipi i\u00e7in kal\u0131c\u0131 ba\u011flant\u0131 yap\u0131s\u0131n\u0131 (<code>permalink<\/code>) ve etiketler i\u00e7in taksonomi ayarlar\u0131n\u0131 g\u00f6rebilirsiniz.\n\n*   <strong>Kal\u0131c\u0131 Ba\u011flant\u0131lar (Permalinks):<\/strong>\n    <code>permalink<\/code> ayar\u0131 ile URL yap\u0131s\u0131n\u0131 \u00f6zelle\u015ftirebilirsiniz. \u00d6rne\u011fin, <code>blog\/:year\/:month\/:day\/:slug\/<\/code> gibi.\n\n<h4>8.2. Twig Fonksiyonlar\u0131 ve Filtreleri Olu\u015fturma<\/h4>\n\nSculpin, Symfony'nin TwigBundle'\u0131n\u0131 kullan\u0131r, bu da kendi \u00f6zel Twig uzant\u0131lar\u0131n\u0131z\u0131 (fonksiyonlar, filtreler, etiketler) kolayca olu\u015fturabilece\u011finiz anlam\u0131na gelir.\n\n1.  <strong>Bir Twig Uzant\u0131s\u0131 S\u0131n\u0131f\u0131 Olu\u015fturun:<\/strong><\/code><\/pre>\n<p>php<br \/>\n    \/\/ app\/src\/MyProject\/Twig\/MyExtension.php (Bu dizini kendiniz olu\u015fturman\u0131z gerekebilir)<br \/>\n    namespace MyProject\\Twig;<\/p>\n<p>    use Twig\\Extension\\AbstractExtension;<br \/>\n    use Twig\\TwigFunction;<\/p>\n<p>    class MyExtension extends AbstractExtension<br \/>\n    {<br \/>\n        public function getFunctions()<br \/>\n        {<br \/>\n            return [<br \/>\n                new TwigFunction(&#8216;sayHello&#8217;, [$this, &#8216;sayHelloFunction&#8217;]),<br \/>\n            ];<br \/>\n        }<\/p>\n<p>        public function sayHelloFunction(string $name = &#8216;D\u00fcnya&#8217;): string<br \/>\n        {<br \/>\n            return &#8216;Merhaba, &#8216; . $name . &#8216;!&#8217;;<br \/>\n        }<br \/>\n    }<\/p>\n<pre><code class=\"language-\">2.  <strong>Uzant\u0131y\u0131 Sculpin'e Kaydedin:<\/strong>\n    <code>app\/sculpin_kernel.php<\/code> dosyas\u0131nda, <code>configureContainer()<\/code> metodunda uzant\u0131n\u0131z\u0131 bir servis olarak kaydedin:<\/code><\/pre>\n<p>php<br \/>\n    \/\/ app\/sculpin_kernel.php<br \/>\n    \/\/ &#8230;<br \/>\n    class SculpinKernel extends BaseSculpinKernel<br \/>\n    {<br \/>\n        \/\/ &#8230;<br \/>\n        protected function configureContainer(ContainerBuilder $container): void<br \/>\n        {<br \/>\n            \/\/ &#8230; di\u011fer konfig\u00fcrasyonlar<br \/>\n            $container->register(&#8216;my_project.twig.extension.my_extension&#8217;, &#8216;MyProject\\Twig\\MyExtension&#8217;)<br \/>\n                ->addTag(&#8216;twig.extension&#8217;);<br \/>\n        }<br \/>\n        \/\/ &#8230;<br \/>\n    }<\/p>\n<pre><code class=\"language-\">Art\u0131k Twig \u015fablonlar\u0131n\u0131zda <code>{{ sayHello('Sculpin') }}<\/code> gibi \u00f6zel fonksiyonunuzu kullanabilirsiniz.\n\n<h4>8.3. Veri Kaynaklar\u0131 (Data Sources)<\/h4>\n\nSculpin, sadece Markdown dosyalar\u0131ndan de\u011fil, ayn\u0131 zamanda YAML, JSON veya di\u011fer formatlardaki dosyalardan da veri okuyabilir. Bu, siteniz i\u00e7in yap\u0131land\u0131r\u0131lm\u0131\u015f veri (\u00f6rne\u011fin, \u00fcr\u00fcn listeleri, ekip \u00fcyeleri) kullanmak istedi\u011finizde faydal\u0131d\u0131r.\n\n\u00d6rne\u011fin, <code>source\/_data\/team.yml<\/code> ad\u0131nda bir dosya olu\u015fturun:<\/code><\/pre>\n<p>yaml<br \/>\n&#8211; name: Ali Can<br \/>\n  title: Geli\u015ftirici<br \/>\n  bio: PHP ve Sculpin a\u015f\u0131\u011f\u0131.<br \/>\n&#8211; name: Ay\u015fe Y\u0131lmaz<br \/>\n  title: Tasar\u0131mc\u0131<br \/>\n  bio: Kullan\u0131c\u0131 deneyimine odakl\u0131.<\/p>\n<pre><code class=\"language-\">Daha sonra Twig \u015fablonlar\u0131n\u0131zda bu verilere eri\u015febilirsiniz:<\/code><\/pre>\n<p>twig<br \/>\n{% for member in site.data.team %}<\/p>\n<h3>{{ member.name }}<\/h3>\n<p>{{ member.title }}<\/p>\n<p>{{ member.bio }}<\/p>\n<p>{% endfor %}<br \/>\n&#8220;<code><\/p>\n<h4>8.4. Eklentiler (Plugins) ve Uzant\u0131lar<\/h4>\n<p>Sculpin, Symfony bile\u015fenleri \u00fczerine in\u015fa edildi\u011fi i\u00e7in, Symfony eklentilerini veya kendi \u00f6zel eklentilerinizi entegre edebilirsiniz. Bu, daha karma\u015f\u0131k i\u015flevsellikler (\u00f6rne\u011fin, resim optimizasyonu, arama motoru entegrasyonu) eklemek i\u00e7in bir yol sunar. Mevcut eklentileri Sculpin toplulu\u011fu kaynaklar\u0131nda veya GitHub'da bulabilirsiniz.<\/p>\n<h3>9. S\u0131k\u00e7a Sorulan Sorular ve Sorun Giderme<\/h3>\n<p>Sculpin kullan\u0131rken kar\u015f\u0131la\u015fabilece\u011finiz baz\u0131 yayg\u0131n sorunlar ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<p>*   <strong>\"sculpin: command not found\" hatas\u0131:<\/strong><br \/>\n    *   Composer'\u0131n global ba\u011f\u0131ml\u0131l\u0131klar dizininin PATH'inize do\u011fru \u015fekilde eklendi\u011finden emin olun.<br \/>\n    *   E\u011fer proje bazl\u0131 kurulum yapt\u0131ysan\u0131z, <\/code>vendor\/bin\/sculpin<code> kullanmay\u0131 unutmay\u0131n.<br \/>\n    *   Termal oturumunuzu yeniden ba\u015flat\u0131n veya <\/code>source ~\/.bashrc<code> (veya ilgili dosya) komutunu \u00e7al\u0131\u015ft\u0131r\u0131n.<\/p>\n<p>*   <strong>Composer ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131:<\/strong><br \/>\n    *   <\/code>composer update<code> komutunu \u00e7al\u0131\u015ft\u0131rarak ba\u011f\u0131ml\u0131l\u0131klar\u0131 g\u00fcncellemeyi deneyin.<br \/>\n    *   <\/code>vendor\/<code> dizinini ve <\/code>composer.lock<code> dosyas\u0131n\u0131 silip <\/code>composer install<code> komutunu yeniden \u00e7al\u0131\u015ft\u0131r\u0131n.<br \/>\n    *   PHP s\u00fcr\u00fcm\u00fcn\u00fcz\u00fcn Sculpin'in gereksinimlerini kar\u015f\u0131lad\u0131\u011f\u0131ndan emin olun.<\/p>\n<p>*   <strong>Sayfa veya yaz\u0131 g\u00f6r\u00fcnm\u00fcyor:<\/strong><br \/>\n    *   Markdown dosyas\u0131n\u0131n <\/code>source\/<code> i\u00e7indeki do\u011fru dizinde (\u00f6rne\u011fin <\/code>_posts\/<code>) oldu\u011fundan emin olun.<br \/>\n    *   Front Matter'\u0131n do\u011fru YAML s\u00f6zdizimiyle yaz\u0131ld\u0131\u011f\u0131ndan emin olun. \u00d6zellikle <\/code>layout<code> anahtar\u0131 do\u011fru \u015fablonu i\u015faret ediyor mu?<br \/>\n    *   <\/code>sculpin generate &#8211;env=dev<code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131p <\/code>output_dev\/<code> dizinini kontrol edin. Dosyalar orada m\u0131?<br \/>\n    *   Twig \u015fablonlar\u0131n\u0131zda <\/code>site.posts<code> veya <\/code>site.pages<code> gibi koleksiyonlar\u0131 do\u011fru d\u00f6ng\u00fcye ald\u0131\u011f\u0131n\u0131zdan emin olun.<\/p>\n<p>*   <strong>Resimler veya CSS y\u00fcklenmiyor:<\/strong><br \/>\n    *   Dosyalar\u0131n <\/code>source\/assets\/<code> dizininde do\u011fru yolda oldu\u011fundan emin olun.<br \/>\n    *   HTML'deki <\/code>src<code> veya <\/code>href<code> yollar\u0131n\u0131n do\u011fru oldu\u011fundan emin olun (genellikle <\/code>\/assets\/css\/style.css<code> gibi k\u00f6k tabanl\u0131 yollar kullan\u0131l\u0131r).<br \/>\n    *   <\/code>sculpin generate &#8211;env=dev<code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131p <\/code>output_dev\/assets\/` dizinini kontrol edin. Dosyalar kopyalanm\u0131\u015f m\u0131?<\/p>\n<p>*   <strong>Performans ipu\u00e7lar\u0131:<\/strong><br \/>\n    *   B\u00fcy\u00fck resimleri optimize edin.<br \/>\n    *   CSS ve JavaScript dosyalar\u0131n\u0131 s\u0131k\u0131\u015ft\u0131r\u0131n (Sculpin \u00fcretim derlemesinde bunu yapmaya yard\u0131mc\u0131 olabilir, ancak ek ara\u00e7lar da kullanabilirsiniz).<br \/>\n    *   Bir CDN kullanarak varl\u0131klar\u0131n\u0131z\u0131 k\u00fcresel olarak da\u011f\u0131t\u0131n.<br \/>\n    *   Gereksiz Twig d\u00f6ng\u00fclerinden veya karma\u015f\u0131k mant\u0131ktan ka\u00e7\u0131n\u0131n.<\/p>\n<h3>10. Sonu\u00e7 ve \u0130leri Ad\u0131mlar<\/h3>\n<p>Sculpin, PHP geli\u015ftiricileri i\u00e7in statik web siteleri olu\u015fturmak ad\u0131na g\u00fc\u00e7l\u00fc, esnek ve verimli bir ara\u00e7t\u0131r. Bu rehberde, Sculpin&#8217;i kurmaktan, i\u00e7erik olu\u015fturmaya, yerel olarak geli\u015ftirmeye ve sitenizi da\u011f\u0131tmaya kadar temel ad\u0131mlar\u0131 ele ald\u0131k. Statik site olu\u015fturucular\u0131n sundu\u011fu h\u0131z, g\u00fcvenlik ve d\u00fc\u015f\u00fck maliyet avantajlar\u0131 sayesinde, Sculpin bir\u00e7ok web projesi i\u00e7in m\u00fckemmel bir se\u00e7im olabilir.<\/p>\n<p>Sculpin ile yolculu\u011funuza devam ederken, a\u015fa\u011f\u0131daki alanlar\u0131 ke\u015ffetmek isteyebilirsiniz:<\/p>\n<p>*   <strong>Daha Karma\u015f\u0131k \u015eablonlama:<\/strong> Twig&#8217;in daha geli\u015fmi\u015f \u00f6zelliklerini (makrolar, filtreler, testler) kullanarak daha dinamik \u015fablonlar olu\u015fturun.<br \/>\n*   <strong>Arama Motoru Optimizasyonu (SEO):<\/strong> Meta etiketlerini, site haritalar\u0131n\u0131 ve di\u011fer SEO en iyi uygulamalar\u0131n\u0131 sitenize uygulay\u0131n.<br \/>\n*   <strong>D\u0131\u015f Veri Kaynaklar\u0131:<\/strong> Harici API&#8217;lardan veri \u00e7ekerek sitenizi derleme zaman\u0131nda zenginle\u015ftirin (\u00f6rne\u011fin, bir e-ticaret sitesi i\u00e7in \u00fcr\u00fcn bilgileri).<br \/>\n*   <strong>CI\/CD Entegrasyonu:<\/strong> GitHub Actions, GitLab CI\/CD veya Jenkins gibi ara\u00e7larla otomatik derleme ve da\u011f\u0131t\u0131m s\u00fcre\u00e7leri kurun.<br \/>\n*   <strong>Eklentiler ve Uzant\u0131lar:<\/strong> Sculpin ekosistemindeki mevcut eklentileri ke\u015ffedin veya kendi \u00f6zel ihtiya\u00e7lar\u0131n\u0131z i\u00e7in eklentiler geli\u015ftirin.<br \/>\n*   <strong>Topluluk Kat\u0131l\u0131m\u0131:<\/strong> Sculpin&#8217;in GitHub deposunu ziyaret edin, sorunlar\u0131 bildirin veya yeni \u00f6zellikler i\u00e7in katk\u0131da bulunun.<\/p>\n<p>Sculpin&#8217;in sundu\u011fu olanaklarla, web geli\u015ftirme s\u00fcre\u00e7lerinizi daha h\u0131zl\u0131, daha g\u00fcvenli ve daha keyifli hale getirebilirsiniz. Ba\u015far\u0131lar dileriz!<\/p>\n","protected":false},"excerpt":{"rendered":"Sculpin Kurulumu ve Kullan\u0131m\u0131na Ba\u015flama Rehberi\nSculpin, PHP tabanl\u0131, a\u00e7\u0131k kaynakl\u0131 bir statik site olu\u015fturucudur (Static Site Generator &#8211; SS","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-38071","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Sculpin Kurulumu ve Kullan\u0131m\u0131na Ba\u015flama Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sculpin Kurulumu ve Kullan\u0131m\u0131na Ba\u015flama Rehberi\" \/>\n<meta property=\"og:description\" content=\"Sculpin Kurulumu ve Kullan\u0131m\u0131na Ba\u015flama Rehberi Sculpin, PHP tabanl\u0131, a\u00e7\u0131k kaynakl\u0131 bir statik site olu\u015fturucudur (Static Site Generator - SS\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-22T16:41:05+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"23 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Sculpin Kurulumu ve Kullan\u0131m\u0131na Ba\u015flama Rehberi\",\"datePublished\":\"2026-01-22T16:41:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/\"},\"wordCount\":2431,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/\",\"name\":\"Sculpin Kurulumu ve Kullan\u0131m\u0131na Ba\u015flama Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-22T16:41:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sculpin Kurulumu ve Kullan\u0131m\u0131na Ba\u015flama Rehberi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Sculpin Kurulumu ve Kullan\u0131m\u0131na Ba\u015flama Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"Sculpin Kurulumu ve Kullan\u0131m\u0131na Ba\u015flama Rehberi","og_description":"Sculpin Kurulumu ve Kullan\u0131m\u0131na Ba\u015flama Rehberi Sculpin, PHP tabanl\u0131, a\u00e7\u0131k kaynakl\u0131 bir statik site olu\u015fturucudur (Static Site Generator - SS","og_url":"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-22T16:41:05+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"23 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Sculpin Kurulumu ve Kullan\u0131m\u0131na Ba\u015flama Rehberi","datePublished":"2026-01-22T16:41:05+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/"},"wordCount":2431,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/","name":"Sculpin Kurulumu ve Kullan\u0131m\u0131na Ba\u015flama Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-22T16:41:05+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/sculpin-kurulumu-ve-kullanimina-baslama-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Sculpin Kurulumu ve Kullan\u0131m\u0131na Ba\u015flama Rehberi"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38071","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=38071"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38071\/revisions"}],"predecessor-version":[{"id":38072,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38071\/revisions\/38072"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38071"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38071"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38071"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}