{"id":32202,"date":"2025-10-18T23:40:55","date_gmt":"2025-10-18T20:40:55","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=32202"},"modified":"2025-10-18T23:40:55","modified_gmt":"2025-10-18T20:40:55","slug":"ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/","title":{"rendered":"Ubuntu 14.04 \u00dczerinde Hexo ile Blog Olu\u015fturma Rehberi"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 14.04 \u00dczerinde Hexo ile Blog Olu\u015fturma Rehberi<\/h2>\n<p>G\u00fcn\u00fcm\u00fczde ki\u015fisel veya kurumsal bloglar olu\u015fturmak, fikirleri payla\u015fmak, bilgi aktarmak veya bir \u00fcr\u00fcn\/hizmet tan\u0131tmak i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline gelmi\u015ftir. Bu rehberde, statik site olu\u015fturucular\u0131n pop\u00fcler temsilcilerinden biri olan Hexo&#8217;yu kullanarak, \u00f6zellikle Ubuntu 14.04 i\u015fletim sistemi \u00fczerinde nas\u0131l bir blog olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Ubuntu 14.04 eski bir s\u00fcr\u00fcm olsa da, bu rehber, belirli bir ortamda \u00e7al\u0131\u015fma ihtiyac\u0131 olan veya eski sistemlerini de\u011ferlendirmek isteyen kullan\u0131c\u0131lar i\u00e7in detayl\u0131 bir yol haritas\u0131 sunacakt\u0131r.<\/p>\n<p>Hexo, Markdown tabanl\u0131 i\u00e7erikleri h\u0131zl\u0131 bir \u015fekilde statik HTML dosyalar\u0131na d\u00f6n\u00fc\u015ft\u00fcren, Node.js tabanl\u0131, basit, h\u0131zl\u0131 ve g\u00fc\u00e7l\u00fc bir blog \u00e7er\u00e7evesidir. Dinamik veritabanlar\u0131na veya sunucu taraf\u0131 betiklere ihtiya\u00e7 duymad\u0131\u011f\u0131 i\u00e7in g\u00fcvenli\u011fi art\u0131r\u0131r, bak\u0131m\u0131 kolayla\u015ft\u0131r\u0131r ve bar\u0131nd\u0131rma maliyetlerini d\u00fc\u015f\u00fcr\u00fcr. Temalar ve eklentilerle geni\u015fletilebilir yap\u0131s\u0131 sayesinde, ki\u015fiselle\u015ftirilmi\u015f ve zengin \u00f6zelliklere sahip bloglar olu\u015fturmak m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<p>Bu kapsaml\u0131 rehberde, Hexo&#8217;nun kurulumundan ba\u015flayarak, temel blog ayarlar\u0131n\u0131 yapmaya, i\u00e7erik olu\u015fturmaya, tema se\u00e7imi ve \u00f6zelle\u015ftirmeye ve son olarak blogunuzu internette yay\u0131nlamaya (deployment) kadar t\u00fcm s\u00fcre\u00e7leri ad\u0131m ad\u0131m ele alaca\u011f\u0131z.<\/p>\n<h3>\u00d6n Gereksinimler ve Ortam Kurulumu<\/h3>\n<p>Hexo, Node.js tabanl\u0131 bir uygulama oldu\u011fu i\u00e7in sisteminizde Node.js ve paket y\u00f6neticisi npm&#8217;in kurulu olmas\u0131 gerekmektedir. Ayr\u0131ca, blogunuzu Git tabanl\u0131 bir platforma (\u00f6rne\u011fin GitHub Pages) da\u011f\u0131tmak i\u00e7in Git s\u00fcr\u00fcm kontrol sistemine ihtiyac\u0131m\u0131z olacak.<\/p>\n<h4>Node.js ve npm Kurulumu<\/h4>\n<p>Ubuntu 14.04 \u00fczerinde Node.js kurman\u0131n birka\u00e7 yolu vard\u0131r. En g\u00fcvenilir ve g\u00fcncel s\u00fcr\u00fcmleri elde etmenizi sa\u011flayan y\u00f6ntemlerden biri NodeSource depolar\u0131n\u0131 kullanmakt\u0131r. Bu rehberde, Hexo ile uyumlu ve Ubuntu 14.04 \u00fczerinde nispeten modern bir Node.js s\u00fcr\u00fcm\u00fc olan Node.js 8.x LTS s\u00fcr\u00fcm\u00fcn\u00fc kuraca\u011f\u0131z.<\/p>\n<p>\u0130lk olarak, sisteminizin paket listesini g\u00fcncelleyelim ve <code>curl<\/code> paketini kural\u0131m, \u00e7\u00fcnk\u00fc NodeSource kurulum beti\u011fini indirmek i\u00e7in buna ihtiyac\u0131m\u0131z olacak:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get update\nsudo apt-get install -y curl<\/code><\/pre>\n<p>\u015eimdi, Node.js 8.x LTS s\u00fcr\u00fcm\u00fcn\u00fc sistemimize eklemek i\u00e7in NodeSource beti\u011fini \u00e7al\u0131\u015ft\u0131ral\u0131m. Bu betik, NodeSource deposunu sisteminize ekleyecek ve Node.js paketini y\u00fcklemeye haz\u0131r hale getirecektir:<\/p>\n<pre><code class=\"language-bash\">curl -sL https:\/\/deb.nodesource.com\/setup_8.x | sudo -E bash -<\/code><\/pre>\n<p>Betik ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131ktan sonra, Node.js paketini kurabiliriz:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install -y nodejs<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, Node.js ve npm&#8217;in do\u011fru bir \u015fekilde kuruldu\u011fundan emin olmak i\u00e7in s\u00fcr\u00fcmlerini kontrol edelim:<\/p>\n<pre><code class=\"language-bash\">node -v\nnpm -v<\/code><\/pre>\n<p>Bu komutlar size kurulu Node.js ve npm s\u00fcr\u00fcmlerini g\u00f6stermelidir (\u00f6rne\u011fin, <code>v8.x.x<\/code> ve <code>5.x.x<\/code> gibi). E\u011fer komutlar bir hata d\u00f6nd\u00fcr\u00fcrse veya s\u00fcr\u00fcmleri g\u00f6stermezse, kurulum ad\u0131mlar\u0131n\u0131 dikkatlice tekrarlaman\u0131z veya olas\u0131 hatalar\u0131 ara\u015ft\u0131rman\u0131z gerekebilir.<\/p>\n<h4>Git Kurulumu<\/h4>\n<p>Hexo blogunuzu GitHub Pages gibi platformlara da\u011f\u0131tmak i\u00e7in Git&#8217;e ihtiyac\u0131m\u0131z var. Git, dosyalar\u0131n\u0131z\u0131n s\u00fcr\u00fcmlerini y\u00f6netmenizi ve de\u011fi\u015fiklikleri takip etmenizi sa\u011flayan g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Ubuntu \u00fczerinde Git kurulumu olduk\u00e7a basittir:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install -y git<\/code><\/pre>\n<p>Kurulumun ard\u0131ndan Git&#8217;in do\u011fru bir \u015fekilde kuruldu\u011fundan emin olmak i\u00e7in s\u00fcr\u00fcm\u00fcn\u00fc kontrol edelim:<\/p>\n<pre><code class=\"language-bash\">git --version<\/code><\/pre>\n<p>Bu komut size kurulu Git s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6stermelidir (\u00f6rne\u011fin, <code>git version 1.9.1<\/code> veya benzeri bir \u00e7\u0131kt\u0131). Ubuntu 14.04 genellikle Git&#8217;in daha eski bir s\u00fcr\u00fcm\u00fcn\u00fc i\u00e7erir, ancak Hexo da\u011f\u0131t\u0131m\u0131 i\u00e7in yeterli olacakt\u0131r.<\/p>\n<h3>Hexo Kurulumu ve \u0130lk Blog Olu\u015fturma<\/h3>\n<p>Gerekli t\u00fcm \u00f6n ko\u015fullar\u0131 yerine getirdi\u011fimize g\u00f6re, \u015fimdi Hexo&#8217;yu kurabilir ve ilk blogumuzu olu\u015fturabiliriz.<\/p>\n<h4>Hexo CLI Kurulumu<\/h4>\n<p>Hexo&#8217;yu kullanmak i\u00e7in \u00f6ncelikle Hexo Komut Sat\u0131r\u0131 Arabirimini (CLI) global olarak kurmam\u0131z gerekiyor. Bu, <code>hexo<\/code> komutunu terminalinizden her yerden \u00e7al\u0131\u015ft\u0131rman\u0131za olanak tan\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo npm install -g hexo-cli<\/code><\/pre>\n<p>Kurulumun tamamland\u0131\u011f\u0131ndan emin olmak i\u00e7in Hexo s\u00fcr\u00fcm\u00fcn\u00fc kontrol edelim:<\/p>\n<pre><code class=\"language-bash\">hexo -v<\/code><\/pre>\n<p>Bu komut, Hexo CLI s\u00fcr\u00fcm\u00fcn\u00fc, Hexo \u00e7ekirdek s\u00fcr\u00fcm\u00fcn\u00fc ve Node.js\/npm s\u00fcr\u00fcmlerini i\u00e7eren bir \u00f6zet g\u00f6stermelidir.<\/p>\n<h4>Yeni Bir Hexo Blogu Ba\u015flatma<\/h4>\n<p>\u015eimdi s\u0131ra geldi yeni bir Hexo blogu olu\u015fturmaya. \u0130stedi\u011finiz bir dizine gidin ve a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rarak <code>blogum<\/code> ad\u0131nda yeni bir Hexo projesi ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">hexo init blogum<\/code><\/pre>\n<p>Bu komut, <code>blogum<\/code> ad\u0131nda yeni bir dizin olu\u015fturacak ve i\u00e7ine Hexo&#8217;nun temel dosya ve dizin yap\u0131s\u0131n\u0131 kopyalayacakt\u0131r. Bu i\u015flem biraz zaman alabilir. \u0130\u015flem bittikten sonra, olu\u015fturulan dizine ge\u00e7i\u015f yapal\u0131m:<\/p>\n<pre><code class=\"language-bash\">cd blogum<\/code><\/pre>\n<p>Yeni olu\u015fturulan dizinde, Hexo&#8217;nun \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli olan ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fcklememiz gerekiyor. Bu ba\u011f\u0131ml\u0131l\u0131klar <code>package.json<\/code> dosyas\u0131nda tan\u0131ml\u0131d\u0131r ve <code>npm install<\/code> komutu ile kurulur:<\/p>\n<pre><code class=\"language-bash\">npm install<\/code><\/pre>\n<p>Bu komut, Hexo&#8217;nun \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli olan t\u00fcm Node.js mod\u00fcllerini (\u00f6rne\u011fin, \u015fablon motorlar\u0131, yerel sunucu vb.) <code>node_modules<\/code> dizinine indirecektir.<\/p>\n<h4>Blogu Yerel Olarak \u00c7al\u0131\u015ft\u0131rma<\/h4>\n<p>Blogumuzu olu\u015fturduk ve ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 y\u00fckledik. \u015eimdi, blogumuzu yerel sunucumuzda \u00e7al\u0131\u015ft\u0131rarak bir \u00f6nizleme alabiliriz. Bu, yapt\u0131\u011f\u0131m\u0131z de\u011fi\u015fiklikleri ger\u00e7ek zamanl\u0131 olarak g\u00f6rmemizi sa\u011flar.<\/p>\n<p>\u00d6ncelikle, Hexo blogumuzu statik HTML dosyalar\u0131na d\u00f6n\u00fc\u015ft\u00fcrmemiz gerekiyor. Bu i\u015flem, Markdown dosyalar\u0131n\u0131z\u0131 HTML&#8217;e \u00e7evirir ve temalar\u0131n\u0131z\u0131 uygular:<\/p>\n<pre><code class=\"language-bash\">hexo generate\n<h2>veya k\u0131saca<\/h2>\nhexo g<\/code><\/pre>\n<p>Bu komut, blogunuzun t\u00fcm statik dosyalar\u0131n\u0131 (HTML, CSS, JavaScript, resimler vb.) <code>public<\/code> dizini alt\u0131na olu\u015fturacakt\u0131r.<\/p>\n<p>\u015eimdi, bu statik dosyalar\u0131 sunmak i\u00e7in Hexo&#8217;nun yerle\u015fik sunucusunu ba\u015flatal\u0131m:<\/p>\n<pre><code class=\"language-bash\">hexo server\n<h2>veya k\u0131saca<\/h2>\nhexo s<\/code><\/pre>\n<p>Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra, terminalde <code>Hexo is running at http:\/\/localhost:4000\/. Press Ctrl+C to stop.<\/code> gibi bir mesaj g\u00f6rmelisiniz. Web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n ve bu adrese (genellikle <code>http:\/\/localhost:4000<\/code>) gidin. Varsay\u0131lan Hexo temas\u0131n\u0131 ve &#8220;Hello World&#8221; ba\u015fl\u0131kl\u0131 ilk yaz\u0131n\u0131z\u0131 i\u00e7eren blogunuzu g\u00f6rmelisiniz.<\/p>\n<p>Bu sunucu, siz <code>Ctrl+C<\/code> tu\u015f kombinasyonuna basana kadar \u00e7al\u0131\u015fmaya devam edecektir. Blogunuzda herhangi bir de\u011fi\u015fiklik yapt\u0131\u011f\u0131n\u0131zda (yeni yaz\u0131 ekleme, tema de\u011fi\u015ftirme vb.), <code>hexo generate<\/code> komutunu tekrar \u00e7al\u0131\u015ft\u0131rman\u0131za gerek kalmadan de\u011fi\u015fiklikler otomatik olarak alg\u0131lanacak ve taray\u0131c\u0131n\u0131zda yenilenecektir.<\/p>\n<h3>\u0130\u00e7erik Olu\u015fturma ve Y\u00f6netme<\/h3>\n<p>Hexo&#8217;nun en g\u00fc\u00e7l\u00fc yanlar\u0131ndan biri, i\u00e7eri\u011fi Markdown kullanarak kolayca olu\u015fturabilmesidir. \u0130\u00e7erikleriniz <code>source\/_posts<\/code> dizininde saklan\u0131r ve Hexo bunlar\u0131 otomatik olarak alg\u0131lar.<\/p>\n<h4>Yeni Bir Yaz\u0131 Olu\u015fturma<\/h4>\n<p>Yeni bir blog yaz\u0131s\u0131 olu\u015fturmak i\u00e7in <code>hexo new<\/code> komutunu kullan\u0131r\u0131z:<\/p>\n<pre><code class=\"language-bash\">hexo new \"\u0130lk Ger\u00e7ek Yaz\u0131m\"<\/code><\/pre>\n<p>Bu komut, <code>source\/_posts\/\u0130lk-Ger\u00e7ek-Yaz\u0131m.md<\/code> ad\u0131nda yeni bir Markdown dosyas\u0131 olu\u015fturacakt\u0131r. Bu dosyan\u0131n i\u00e7eri\u011fi \u015f\u00f6yle g\u00f6r\u00fcnecektir:<\/p>\n<pre><code class=\"language-markdown\">---\ntitle: \u0130lk Ger\u00e7ek Yaz\u0131m\ndate: 2023-10-27 10:30:00\ntags:\ncategories:\n---\n\nMerhaba d\u00fcnya! Bu benim Hexo blogumdaki ilk ger\u00e7ek yaz\u0131m.<\/code><\/pre>\n<p>Bu b\u00f6l\u00fcm, &#8220;Front-matter&#8221; olarak adland\u0131r\u0131l\u0131r ve yaz\u0131n\u0131n meta verilerini (ba\u015fl\u0131k, tarih, etiketler, kategoriler vb.) YAML format\u0131nda i\u00e7erir. Bu bilgiler, teman\u0131z taraf\u0131ndan yaz\u0131y\u0131 do\u011fru bir \u015fekilde g\u00f6r\u00fcnt\u00fclemek ve s\u0131ralamak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p>*   <code>title<\/code>: Yaz\u0131n\u0131n ba\u015fl\u0131\u011f\u0131.<br \/>\n*   <code>date<\/code>: Yaz\u0131n\u0131n yay\u0131n tarihi ve saati.<br \/>\n*   <code>tags<\/code>: Yaz\u0131ya ait etiketler. Birden fazla etiket i\u00e7in virg\u00fclle ay\u0131rabilirsiniz veya YAML listesi olarak girebilirsiniz (<code>tags: [etiket1, etiket2]<\/code>).<br \/>\n*   <code>categories<\/code>: Yaz\u0131n\u0131n kategorisi. Birden fazla kategori i\u00e7in YAML listesi kullanabilirsiniz (<code>categories: [Kategori1, Kategori2]<\/code>).<\/p>\n<p><code>---<\/code> \u00e7izgilerinin alt\u0131ndaki alan, yaz\u0131n\u0131z\u0131n as\u0131l i\u00e7eri\u011fini i\u00e7eren Markdown format\u0131ndaki b\u00f6l\u00fcmd\u00fcr. Burada ba\u015fl\u0131klar, paragraflar, listeler, kod bloklar\u0131 ve ba\u011flant\u0131lar gibi Markdown \u00f6\u011felerini kullanabilirsiniz.<\/p>\n<p>\u00d6rnek bir yaz\u0131 i\u00e7eri\u011fi:<\/p>\n<pre><code class=\"language-markdown\">---\ntitle: \u0130lk Ger\u00e7ek Yaz\u0131m\ndate: 2023-10-27 10:30:00\ntags: [hexo, blog, ba\u015flang\u0131\u00e7]\ncategories: [Teknoloji, Web Geli\u015ftirme]\n---\n\nMerhaba d\u00fcnya! Bu benim Hexo blogumdaki ilk ger\u00e7ek yaz\u0131m.\n\n<h3>Hexo Nedir?<\/h3>\nHexo, h\u0131zl\u0131 ve basit bir statik site olu\u015fturucudur. Node.js \u00fczerinde \u00e7al\u0131\u015f\u0131r ve Markdown ile yaz\u0131lan i\u00e7erikleri saniyeler i\u00e7inde statik HTML dosyalar\u0131na d\u00f6n\u00fc\u015ft\u00fcr\u00fcr.\n\n### Neden Hexo Kullanmal\u0131y\u0131z?\n*   <strong>H\u0131z:<\/strong> Statik siteler dinamik sitelere g\u00f6re \u00e7ok daha h\u0131zl\u0131 y\u00fcklenir.\n*   <strong>G\u00fcvenlik:<\/strong> Veritaban\u0131 veya sunucu taraf\u0131 kod olmad\u0131\u011f\u0131 i\u00e7in g\u00fcvenlik a\u00e7\u0131klar\u0131 azal\u0131r.\n*   <strong>Basitlik:<\/strong> \u0130\u00e7erik olu\u015fturmak i\u00e7in sadece Markdown bilmek yeterlidir.\n*   <strong>Esneklik:<\/strong> Geni\u015f tema ve eklenti deste\u011fi sayesinde kolayca \u00f6zelle\u015ftirilebilir.\n\nBu yaz\u0131y\u0131 kaydettikten sonra, <code>hexo server<\/code> \u00e7al\u0131\u015f\u0131yorsa taray\u0131c\u0131n\u0131z\u0131 yenileyerek yeni yaz\u0131n\u0131z\u0131n blogunuzda g\u00f6r\u00fcnd\u00fc\u011f\u00fcn\u00fc kontrol edebilirsiniz.\n\n<h4>Sayfa Olu\u015fturma<\/h4>\n\nBlog yaz\u0131lar\u0131na ek olarak, \"Hakk\u0131mda\", \"\u0130leti\u015fim\" gibi sabit sayfalar da olu\u015fturabilirsiniz. Sayfalar, <code>source<\/code> dizininin do\u011frudan alt\u0131nda kendi dizinlerinde saklan\u0131r.\n\nYeni bir sayfa olu\u015fturmak i\u00e7in:<\/code><\/pre>\n<p>bash<br \/>\nhexo new page &#8220;Hakk\u0131mda&#8221;<\/p>\n<pre><code class=\"language-\">Bu komut, <code>source\/hakkimda\/index.md<\/code> ad\u0131nda bir dosya olu\u015fturacakt\u0131r. Bu dosyan\u0131n i\u00e7eri\u011fi de yaz\u0131lara benzer bir front-matter ve Markdown i\u00e7eri\u011fi i\u00e7erir. <code>index.md<\/code> dosyas\u0131, sayfaya eri\u015fildi\u011finde g\u00f6r\u00fcnt\u00fclenecek i\u00e7eri\u011fi bar\u0131nd\u0131r\u0131r.<\/code><\/pre>\n<p>markdown<br \/>\n&#8212;<br \/>\ntitle: Hakk\u0131mda<br \/>\ndate: 2023-10-27 10:45:00<br \/>\n&#8212;<\/p>\n<p>Merhaba, ben [Ad\u0131n\u0131z]. Bu blogda teknoloji, yaz\u0131l\u0131m geli\u015ftirme ve ki\u015fisel deneyimlerim hakk\u0131nda yaz\u0131lar payla\u015f\u0131yorum.<\/p>\n<pre><code class=\"language-\">Sayfalar genellikle blogunuzun navigasyon men\u00fcs\u00fcne eklenir. Bu i\u015flem genellikle kullan\u0131lan teman\u0131n yap\u0131land\u0131rma dosyas\u0131 \u00fczerinden yap\u0131l\u0131r.\n\n<h4>Taslaklar (Drafts)<\/h4>\n\nBazen bir yaz\u0131y\u0131 hemen yay\u0131nlamak istemeyebilirsiniz. Hexo, yaz\u0131lar\u0131 taslak olarak kaydetme ve daha sonra yay\u0131nlama \u00f6zelli\u011fi sunar.\n\nTaslak olu\u015fturmak i\u00e7in:<\/code><\/pre>\n<p>bash<br \/>\nhexo new draft &#8220;Taslak Yaz\u0131 \u00d6rne\u011fi&#8221;<\/p>\n<pre><code class=\"language-\">Bu komut, yaz\u0131y\u0131 <code>source\/_drafts\/Taslak-Yaz\u0131-\u00d6rne\u011fi.md<\/code> dizinine kaydedecektir. Taslaklar, <code>hexo generate<\/code> komutuyla statik dosyalara d\u00f6n\u00fc\u015ft\u00fcr\u00fclmez ve dolay\u0131s\u0131yla blogunuzda g\u00f6r\u00fcnmezler.\n\nBir tasla\u011f\u0131 yay\u0131nlamak istedi\u011finizde, onu normal bir yaz\u0131ya d\u00f6n\u00fc\u015ft\u00fcrmeniz gerekir:<\/code><\/pre>\n<p>bash<br \/>\nhexo publish &#8220;Taslak Yaz\u0131 \u00d6rne\u011fi&#8221;<\/p>\n<pre><code class=\"language-\">Bu komut, taslak dosyas\u0131n\u0131 <code>source\/_posts<\/code> dizinine ta\u015f\u0131yacak ve b\u00f6ylece <code>hexo generate<\/code> komutundan sonra blogunuzda g\u00f6r\u00fcn\u00fcr hale gelecektir.\n\n<h4>Statik Dosyalar<\/h4>\n\nResimler, PDF'ler veya di\u011fer statik dosyalar gibi medya \u00f6\u011felerini blogunuza eklemek isteyebilirsiniz. Bu dosyalar\u0131 <code>source<\/code> dizininin herhangi bir alt dizinine yerle\u015ftirebilirsiniz. \u00d6rne\u011fin, resimleriniz i\u00e7in <code>source\/images<\/code> ad\u0131nda bir dizin olu\u015fturabilirsiniz.<\/code><\/pre>\n<p>bash<br \/>\nmkdir source\/images<\/p>\n<pre><code class=\"language-\">Ard\u0131ndan, Markdown dosyan\u0131zda bir resme \u015fu \u015fekilde ba\u011flant\u0131 verebilirsiniz:<\/code><\/pre>\n<p>markdown<br \/>\n![A\u00e7\u0131klay\u0131c\u0131 Metin](\/images\/resim-ad\u0131.jpg)<\/p>\n<pre><code class=\"language-\">Hexo, <code>source<\/code> dizinindeki t\u00fcm dosyalar\u0131 <code>public<\/code> dizinine kopyalar (Markdown dosyalar\u0131 hari\u00e7, onlar HTML'e d\u00f6n\u00fc\u015ft\u00fcr\u00fcl\u00fcr). Bu nedenle, <code>source\/images\/resim-ad\u0131.jpg<\/code> dosyas\u0131 <code>public\/images\/resim-ad\u0131.jpg<\/code> olarak eri\u015filebilir olacakt\u0131r.\n\n<h3>Tema Se\u00e7imi ve \u00d6zelle\u015ftirme<\/h3>\n\nHexo'nun g\u00f6rsel g\u00f6r\u00fcn\u00fcm\u00fc tamamen se\u00e7ti\u011finiz temaya ba\u011fl\u0131d\u0131r. Hexo'nun varsay\u0131lan temas\u0131 olduk\u00e7a basittir, ancak bir\u00e7ok \u00fccretsiz ve a\u00e7\u0131k kaynakl\u0131 tema mevcuttur.\n\n<h4>Tema Bulma ve Kurulumu<\/h4>\n\nHexo temalar\u0131n\u0131 Hexo'nun resmi web sitesindeki tema galerisinden (https:\/\/hexo.io\/themes\/) veya GitHub gibi platformlardan bulabilirsiniz. Pop\u00fcler temalardan biri olan NexT temas\u0131n\u0131 \u00f6rnek olarak ele alal\u0131m.\n\nBir temay\u0131 kurmak i\u00e7in, genellikle teman\u0131n GitHub deposunu <code>themes<\/code> dizininin i\u00e7ine klonlaman\u0131z gerekir:<\/code><\/pre>\n<p>bash<br \/>\ncd blogum<br \/>\ngit clone https:\/\/github.com\/next-theme\/hexo-theme-next themes\/next<\/p>\n<pre><code class=\"language-\">Bu komut, NexT temas\u0131n\u0131 <code>themes\/next<\/code> dizinine indirecektir. Temay\u0131 indirdikten sonra, Hexo'ya bu temay\u0131 kullanmas\u0131n\u0131 s\u00f6ylememiz gerekir. Bu, blogunuzun k\u00f6k dizinindeki ana yap\u0131land\u0131rma dosyas\u0131 olan <code>_config.yml<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek yap\u0131l\u0131r.\n\n<code>_config.yml<\/code> dosyas\u0131n\u0131 bir metin d\u00fczenleyici ile a\u00e7\u0131n (\u00f6rne\u011fin, <code>nano _config.yml<\/code> veya <code>gedit _config.yml<\/code>). <code>theme<\/code> anahtar\u0131n\u0131 bulun ve de\u011ferini yeni teman\u0131z\u0131n ad\u0131yla de\u011fi\u015ftirin:<\/code><\/pre>\n<p>yaml<\/p>\n<h2>Themes: https:\/\/hexo.io\/themes\/<\/h2>\n<p>theme: next # &#8216;landscape&#8217; yerine &#8216;next&#8217; yaz\u0131n<\/p>\n<pre><code class=\"language-\">De\u011fi\u015fikli\u011fi kaydedin ve <code>hexo clean && hexo generate && hexo server<\/code> komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rarak blogunuzu yeniden olu\u015fturup yerel sunucuda g\u00f6r\u00fcnt\u00fcleyin. Blogunuzun yeni tema ile g\u00f6r\u00fcnd\u00fc\u011f\u00fcn\u00fc fark etmelisiniz. <code>hexo clean<\/code> komutu, <code>public<\/code> dizinini temizleyerek eski olu\u015fturulmu\u015f dosyalar\u0131 kald\u0131r\u0131r ve yeni tema ile yeniden olu\u015fturmay\u0131 sa\u011flar.\n\n<h4>Tema Ayarlar\u0131<\/h4>\n\nHer teman\u0131n kendine ait bir <code>_config.yml<\/code> dosyas\u0131 bulunur (\u00f6rne\u011fin, <code>themes\/next\/_config.yml<\/code>). Bu dosya, teman\u0131n belirli \u00f6zelliklerini (men\u00fc \u00f6\u011feleri, sosyal medya ba\u011flant\u0131lar\u0131, yorum sistemleri, analitik kodlar\u0131 vb.) yap\u0131land\u0131rman\u0131za olanak tan\u0131r.\n\n<strong>\u00d6nemli Not:<\/strong> Teman\u0131n <code>_config.yml<\/code> dosyas\u0131nda do\u011frudan de\u011fi\u015fiklik yapmak yerine, genellikle blogunuzun ana <code>_config.yml<\/code> dosyas\u0131na ek ayarlar yaparak teman\u0131n ayarlar\u0131n\u0131 ge\u00e7ersiz k\u0131lman\u0131z \u00f6nerilir. Bu, temay\u0131 g\u00fcncelledi\u011finizde yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fikliklerin kaybolmas\u0131n\u0131 engeller. Ancak baz\u0131 temalar, kendi <code>_config.yml<\/code> dosyalar\u0131n\u0131 do\u011frudan d\u00fczenlemenizi bekleyebilir. Teman\u0131z\u0131n belgelerini kontrol etmek en iyisidir.\n\n\u00d6rne\u011fin, NexT temas\u0131nda men\u00fc \u00f6\u011felerini veya sosyal medya ba\u011flant\u0131lar\u0131n\u0131 yap\u0131land\u0131rmak i\u00e7in <code>themes\/next\/_config.yml<\/code> dosyas\u0131n\u0131 d\u00fczenlemeniz gerekebilir. Bu ayarlar genellikle YAML format\u0131nda anahtar-de\u011fer \u00e7iftleri veya listeler olarak bulunur.<\/code><\/pre>\n<p>yaml<\/p>\n<h2>themes\/next\/_config.yml i\u00e7inde \u00f6rnek men\u00fc ayar\u0131<\/h2>\n<p>menu:<br \/>\n  home: \/ || fa fa-home<br \/>\n  about: \/about\/ || fa fa-user<br \/>\n  archives: \/archives\/ || fa fa-archive<\/p>\n<pre><code class=\"language-\"><h4>Eklentiler ve Geni\u015fletmeler<\/h4>\n\nHexo'nun i\u015flevselli\u011fini eklentilerle geni\u015fletebilirsiniz. Eklentiler, site haritas\u0131 olu\u015fturma, arama motoru optimizasyonu (SEO), yorum sistemleri entegrasyonu ve daha fazlas\u0131 gibi \u00f6zellikler ekleyebilir.\n\nBir eklenti kurmak i\u00e7in <code>npm install<\/code> komutunu kullan\u0131r\u0131z, ard\u0131ndan genellikle ana <code>_config.yml<\/code> dosyas\u0131nda eklentiyi etkinle\u015ftirmemiz veya yap\u0131land\u0131rmam\u0131z gerekir.\n\n\u00d6rne\u011fin, bir site haritas\u0131 olu\u015fturmak i\u00e7in <code>hexo-generator-sitemap<\/code> eklentisini kural\u0131m:<\/code><\/pre>\n<p>bash<br \/>\nnpm install hexo-generator-sitemap &#8211;save<\/p>\n<pre><code class=\"language-\"><code>--save<\/code> bayra\u011f\u0131, eklentiyi <code>package.json<\/code> dosyan\u0131za bir ba\u011f\u0131ml\u0131l\u0131k olarak ekler. Kurulumdan sonra, genellikle ek bir yap\u0131land\u0131rmaya gerek kalmadan <code>hexo generate<\/code> komutunu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda otomatik olarak bir <code>sitemap.xml<\/code> dosyas\u0131 olu\u015fturulur. Baz\u0131 eklentiler, ana <code>_config.yml<\/code> dosyan\u0131za belirli ayarlar eklemenizi gerektirebilir. Eklentinin belgelerini okumak her zaman en iyi yakla\u015f\u0131md\u0131r.\n\nDi\u011fer faydal\u0131 eklentiler aras\u0131nda arama \u00f6zelli\u011fi i\u00e7in <code>hexo-generator-searchdb<\/code>, RSS beslemesi i\u00e7in <code>hexo-generator-feed<\/code> ve \u00e7e\u015fitli yorum sistemleri i\u00e7in entegrasyon eklentileri bulunur.\n\n<h3>Blogu Da\u011f\u0131tma (Deployment)<\/h3>\n\nBlogunuzu yerel olarak olu\u015fturup test ettikten sonra, onu d\u00fcnya ile payla\u015fma zaman\u0131 gelir. Hexo, blogunuzu \u00e7e\u015fitli platformlara da\u011f\u0131tmak i\u00e7in esnek se\u00e7enekler sunar. En pop\u00fcler y\u00f6ntemlerden biri Git tabanl\u0131 platformlar\u0131 (\u00f6zellikle GitHub Pages) kullanmakt\u0131r.\n\n<h4>Da\u011f\u0131t\u0131m Mekanizmalar\u0131<\/h4>\n\nHexo, \u00e7e\u015fitli da\u011f\u0131t\u0131m eklentileri arac\u0131l\u0131\u011f\u0131yla farkl\u0131 da\u011f\u0131t\u0131m y\u00f6ntemlerini destekler:\n\n*   <strong>Git:<\/strong> GitHub Pages, GitLab Pages veya Gitee Pages gibi Git depolar\u0131 \u00fczerinden da\u011f\u0131t\u0131m. Bu, statik siteler i\u00e7in en yayg\u0131n ve \u00fccretsiz y\u00f6ntemlerden biridir.\n*   <strong>Rsync:<\/strong> SSH \u00fczerinden sunucuya dosya kopyalama.\n*   <strong>Heroku, Netlify, Vercel:<\/strong> Otomatik derleme ve da\u011f\u0131t\u0131m sa\u011flayan modern bulut platformlar\u0131.\n\nBu rehberde, Ubuntu 14.04 ortam\u0131nda en pratik ve yayg\u0131n y\u00f6ntem olan GitHub Pages ile da\u011f\u0131t\u0131m\u0131 ele alaca\u011f\u0131z.\n\n<h4>GitHub Pages ile Da\u011f\u0131t\u0131m<\/h4>\n\nGitHub Pages, GitHub depolar\u0131n\u0131zdan do\u011frudan bar\u0131nd\u0131r\u0131lan statik web siteleridir. Ki\u015fisel veya organizasyon siteleri i\u00e7in <code>username.github.io<\/code> format\u0131nda \u00fccretsiz bar\u0131nd\u0131rma sunar.\n\n<strong>Ad\u0131m 1: GitHub Deposu Olu\u015fturma<\/strong>\n\u00d6ncelikle GitHub hesab\u0131n\u0131zda oturum a\u00e7\u0131n ve yeni bir depo olu\u015fturun. Depo ad\u0131n\u0131n <code>kullan\u0131c\u0131ad\u0131n\u0131z.github.io<\/code> (kendi GitHub kullan\u0131c\u0131 ad\u0131n\u0131zla de\u011fi\u015ftirin) format\u0131nda olmas\u0131 \u00e7ok \u00f6nemlidir. \u00d6rne\u011fin, kullan\u0131c\u0131 ad\u0131n\u0131z <code>ornekkullanici<\/code> ise depo ad\u0131n\u0131z <code>ornekkullanici.github.io<\/code> olmal\u0131d\u0131r. Depoyu \"Public\" olarak ayarlay\u0131n ve \"Initialize this repository with a README\" se\u00e7ene\u011fini i\u015faretlemeyin.\n\n<strong>Ad\u0131m 2: Hexo Da\u011f\u0131t\u0131c\u0131 Eklentisini Kurma<\/strong>\nHexo'nun Git ile da\u011f\u0131t\u0131m yapabilmesi i\u00e7in <code>hexo-deployer-git<\/code> eklentisini kurmam\u0131z gerekiyor:<\/code><\/pre>\n<p>bash<br \/>\nnpm install hexo-deployer-git &#8211;save<\/p>\n<pre><code class=\"language-\"><strong>Ad\u0131m 3: <code>_config.yml<\/code> Dosyas\u0131n\u0131 Yap\u0131land\u0131rma<\/strong>\nBlogunuzun ana <code>_config.yml<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve dosyan\u0131n en alt\u0131na <code>deploy<\/code> b\u00f6l\u00fcm\u00fcn\u00fc ekleyin veya d\u00fczenleyin:<\/code><\/pre>\n<p>yaml<\/p>\n<h2>Deployment<\/h2>\n<h2>Docs: https:\/\/hexo.io\/docs\/one-command-deployment<\/h2>\n<p>deploy:<br \/>\n  type: git<br \/>\n  repo: https:\/\/github.com\/kullan\u0131c\u0131ad\u0131n\u0131z\/kullan\u0131c\u0131ad\u0131n\u0131z.github.io.git<br \/>\n  branch: master # veya main, GitHub&#8217;\u0131n varsay\u0131lan dal\u0131na ba\u011fl\u0131 olarak<\/p>\n<pre><code class=\"language-\">*   <code>type<\/code>: <code>git<\/code> olarak ayarlay\u0131n.\n*   <code>repo<\/code>: GitHub'da olu\u015fturdu\u011funuz deponun URL'sini girin. <code>kullan\u0131c\u0131ad\u0131n\u0131z<\/code> k\u0131sm\u0131n\u0131 kendi GitHub kullan\u0131c\u0131 ad\u0131n\u0131zla de\u011fi\u015ftirmeyi unutmay\u0131n.\n*   <code>branch<\/code>: GitHub Pages'in varsay\u0131lan olarak <code>master<\/code> veya <code>main<\/code> dal\u0131n\u0131 kulland\u0131\u011f\u0131n\u0131 unutmay\u0131n. Deponuzun hangi dal\u0131 kulland\u0131\u011f\u0131n\u0131 kontrol edin ve buraya do\u011fru dal ad\u0131n\u0131 girin. Eski depolar genellikle <code>master<\/code> kullan\u0131rken, yeni depolar <code>main<\/code> kullan\u0131r.\n\n<strong>Ad\u0131m 4: Blogu Da\u011f\u0131tma<\/strong>\nT\u00fcm yap\u0131land\u0131rmalar\u0131 tamamlad\u0131ktan sonra, blogunuzu GitHub Pages'e da\u011f\u0131tmak i\u00e7in a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rabilirsiniz:<\/code><\/pre>\n<p>bash<br \/>\nhexo clean &#038;&#038; hexo generate &#038;&#038; hexo deploy<\/p>\n<h2>veya k\u0131saca<\/h2>\n<p>hexo cl &#038;&#038; hexo g &#038;&#038; hexo d<\/p>\n<pre><code class=\"language-\">*   <code>hexo clean<\/code>: \u00d6nceki olu\u015fturulmu\u015f dosyalar\u0131 temizler. Bu, olas\u0131 \u00e7ak\u0131\u015fmalar\u0131 veya eski dosyalar\u0131n kalmas\u0131n\u0131 engeller.\n*   <code>hexo generate<\/code>: Blogunuzu yeniden olu\u015fturur ve t\u00fcm statik dosyalar\u0131 <code>public<\/code> dizinine haz\u0131rlar.\n*   <code>hexo deploy<\/code>: <code>public<\/code> dizinindeki t\u00fcm dosyalar\u0131 yap\u0131land\u0131r\u0131lan Git deposuna (GitHub Pages) g\u00f6nderir. Bu ad\u0131mda Git kimlik bilgileriniz istenebilir.\n\nDa\u011f\u0131t\u0131m i\u015flemi tamamland\u0131ktan sonra, birka\u00e7 dakika bekleyin ve web taray\u0131c\u0131n\u0131zda <code>https:\/\/kullan\u0131c\u0131ad\u0131n\u0131z.github.io<\/code> adresine giderek blogunuzun yay\u0131nland\u0131\u011f\u0131n\u0131 kontrol edin.\n\n<strong>\u00d6zel Alan Ad\u0131 (Custom Domain)<\/strong>\nE\u011fer kendi alan ad\u0131n\u0131z\u0131 (\u00f6rne\u011fin, <code>blogunuz.com<\/code>) kullanmak isterseniz, GitHub Pages ayarlar\u0131ndan alan ad\u0131n\u0131z\u0131 yap\u0131land\u0131rabilir ve DNS kay\u0131tlar\u0131n\u0131z\u0131 (CNAME veya A kayd\u0131) alan ad\u0131 sa\u011flay\u0131c\u0131n\u0131z\u0131n kontrol panelinden GitHub Pages'in IP adreslerine veya <code>username.github.io<\/code> adresine y\u00f6nlendirebilirsiniz. Hexo taraf\u0131nda, <code>source<\/code> dizininin alt\u0131na <code>CNAME<\/code> ad\u0131nda bir dosya olu\u015fturup i\u00e7ine \u00f6zel alan ad\u0131n\u0131z\u0131 yazman\u0131z (\u00f6rne\u011fin, <code>blog.example.com<\/code>) yeterlidir. Hexo bu dosyay\u0131 <code>public<\/code> dizinine kopyalayacak ve GitHub Pages bunu tan\u0131yacakt\u0131r.\n\n<h3>Bak\u0131m ve \u0130pu\u00e7lar\u0131<\/h3>\n\nBir blog olu\u015fturmak sadece ba\u015flang\u0131\u00e7t\u0131r. Uzun vadede sorunsuz \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak i\u00e7in d\u00fczenli bak\u0131m ve baz\u0131 ipu\u00e7lar\u0131n\u0131 g\u00f6z \u00f6n\u00fcnde bulundurmak \u00f6nemlidir.\n\n<h4>Yedekleme<\/h4>\n\nBlogunuzun i\u00e7eri\u011fi ve yap\u0131land\u0131rmas\u0131 sizin i\u00e7in de\u011ferlidir. D\u00fczenli yedekleme yapmak, veri kayb\u0131 riskini en aza indirir.\n\n*   <strong>Git ile Yedekleme:<\/strong> En iyi y\u00f6ntem, t\u00fcm Hexo proje dizininizi (\u00f6zellikle <code>source<\/code>, <code>themes<\/code>, <code>_config.yml<\/code> ve <code>package.json<\/code> dosyalar\u0131n\u0131 i\u00e7eren ana dizin) bir Git deposunda (\u00f6rne\u011fin GitHub veya GitLab'da \u00f6zel bir depo) tutmakt\u0131r. Bu, hem s\u00fcr\u00fcm kontrol\u00fc sa\u011flar hem de bulutta yedekleme yapar.<\/code><\/pre>\n<p>bash<br \/>\n    cd blogum<br \/>\n    git init<br \/>\n    git add .<br \/>\n    git commit -m &#8220;\u0130lk Hexo blog yede\u011fi&#8221;<br \/>\n    git remote add origin https:\/\/github.com\/kullan\u0131c\u0131ad\u0131n\u0131z\/blog-yedek.git # Kendi deponuzu kullan\u0131n<br \/>\n    git push -u origin master<\/p>\n<pre><code class=\"language-\">*   <strong>Manuel Yedekleme:<\/strong> D\u00fczenli aral\u0131klarla t\u00fcm Hexo proje dizininizi harici bir diske veya bulut depolama hizmetine (Google Drive, Dropbox vb.) kopyalayabilirsiniz.\n\n<h4>G\u00fcncelleme<\/h4>\n\nHexo ve ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 g\u00fcncel tutmak, yeni \u00f6zelliklerden yararlanman\u0131z\u0131, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapatman\u0131z\u0131 ve performans\u0131 art\u0131rman\u0131z\u0131 sa\u011flar.\n\n*   <strong>Hexo CLI G\u00fcncelleme:<\/strong><\/code><\/pre>\n<p>bash<br \/>\n    sudo npm update -g hexo-cli<\/p>\n<pre><code class=\"language-\">*   <strong>Hexo \u00c7ekirdek ve Eklentileri G\u00fcncelleme:<\/strong> Proje dizininizdeyken:<\/code><\/pre>\n<p>bash<br \/>\n    npm update<\/p>\n<pre><code class=\"language-\">Bu komut, <code>package.json<\/code> dosyan\u0131zda listelenen t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131 (Hexo \u00e7ekirde\u011fi ve eklentileri dahil) g\u00fcncelleyecektir.\n*   <strong>Temalar\u0131 G\u00fcncelleme:<\/strong> Teman\u0131z\u0131 Git ile klonlad\u0131ysan\u0131z, <code>themes\/tema-ad\u0131n\u0131z<\/code> dizinine giderek <code>git pull<\/code> komutunu \u00e7al\u0131\u015ft\u0131rabilirsiniz:<\/code><\/pre>\n<p>bash<br \/>\n    cd themes\/next<br \/>\n    git pull origin master # veya main<br \/>\n    &#8220;<code><br \/>\n    G\u00fcncelleme sonras\u0131 <\/code>hexo clean &#038;&#038; hexo generate &#038;&#038; hexo server<code> yapmay\u0131 unutmay\u0131n.<\/p>\n<h4>Performans \u0130pu\u00e7lar\u0131<\/h4>\n<p>Statik siteler zaten h\u0131zl\u0131d\u0131r, ancak baz\u0131 optimizasyonlar daha da iyi bir kullan\u0131c\u0131 deneyimi sa\u011flayabilir:<\/p>\n<p>*   <strong>Resim Optimizasyonu:<\/strong> Y\u00fcksek \u00e7\u00f6z\u00fcn\u00fcrl\u00fckl\u00fc, s\u0131k\u0131\u015ft\u0131r\u0131lmam\u0131\u015f resimler sitenizi yava\u015flatabilir. Resimleri web i\u00e7in optimize edin (\u00f6rne\u011fin, JPEG i\u00e7in 80-85 kalite, PNG i\u00e7in s\u0131k\u0131\u015ft\u0131rma) ve uygun boyutlarda kullan\u0131n. <\/code>hexo-asset-image<code> gibi eklentiler veya <\/code>imagemin` gibi ara\u00e7lar bu konuda yard\u0131mc\u0131 olabilir.<br \/>\n*   <strong>Minifikasyon:<\/strong> CSS, JavaScript ve HTML dosyalar\u0131n\u0131 minifiye etmek (gereksiz bo\u015fluklar\u0131 ve karakterleri kald\u0131rmak) dosya boyutlar\u0131n\u0131 k\u00fc\u00e7\u00fclt\u00fcr. \u00c7o\u011fu Hexo temas\u0131 ve baz\u0131 eklentiler bunu otomatik olarak yapar.<br \/>\n*   <strong>CDN Kullan\u0131m\u0131:<\/strong> Resimler veya b\u00fcy\u00fck JavaScript k\u00fct\u00fcphaneleri gibi statik varl\u0131klar\u0131 bir \u0130\u00e7erik Da\u011f\u0131t\u0131m A\u011f\u0131 (CDN) \u00fczerinden sunmak, y\u00fckleme s\u00fcrelerini \u00f6nemli \u00f6l\u00e7\u00fcde azaltabilir.<\/p>\n<h4>Ubuntu 14.04 \u00d6zel Notlar\u0131<\/h4>\n<p>Ubuntu 14.04, Nisan 2019&#8217;da genel deste\u011fi sona ermi\u015f eski bir i\u015fletim sistemi s\u00fcr\u00fcm\u00fcd\u00fcr. Bu durum baz\u0131 \u00f6nemli sonu\u00e7lar\u0131 beraberinde getirir:<\/p>\n<p>*   <strong>G\u00fcvenlik Riskleri:<\/strong> G\u00fcncel g\u00fcvenlik yamalar\u0131 almad\u0131\u011f\u0131 i\u00e7in sisteminiz potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 savunmas\u0131z kalabilir.<br \/>\n*   <strong>Yaz\u0131l\u0131m Uyumlulu\u011fu:<\/strong> Yeni yaz\u0131l\u0131m s\u00fcr\u00fcmleri (Node.js, npm, Hexo&#8217;nun en son s\u00fcr\u00fcmleri veya baz\u0131 eklentiler) Ubuntu 14.04&#8217;\u00fcn eski k\u00fct\u00fcphaneleri veya sistem bile\u015fenleriyle uyumlu olmayabilir. Bu rehberde Node.js 8.x gibi daha eski ancak uyumlu bir s\u00fcr\u00fcm kullanmam\u0131z\u0131n nedeni budur. En yeni Hexo \u00f6zelliklerini veya eklentilerini kullanmakta zorluk ya\u015fayabilirsiniz.<br \/>\n*   <strong>Destek Eksikli\u011fi:<\/strong> Sorun ya\u015fad\u0131\u011f\u0131n\u0131zda, Ubuntu 14.04&#8217;e \u00f6zel yard\u0131m bulmak daha zor olabilir.<\/p>\n<p>M\u00fcmk\u00fcnse, daha g\u00fcncel bir Ubuntu s\u00fcr\u00fcm\u00fcne (\u00f6rne\u011fin, Ubuntu 20.04 LTS veya 22.04 LTS) y\u00fckseltmeniz \u015fiddetle tavsiye edilir. Bu, hem daha iyi g\u00fcvenlik hem de en yeni yaz\u0131l\u0131m s\u00fcr\u00fcmleriyle daha geni\u015f uyumluluk sa\u011flayacakt\u0131r. Ancak bu rehber, mevcut 14.04 sisteminizde Hexo ile bir blog kurma ihtiyac\u0131n\u0131z\u0131 kar\u015f\u0131lamak \u00fczere tasarlanm\u0131\u015ft\u0131r.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu rehberde, Ubuntu 14.04 i\u015fletim sistemi \u00fczerinde Hexo kullanarak ad\u0131m ad\u0131m nas\u0131l bir blog olu\u015fturulaca\u011f\u0131n\u0131 \u00f6\u011frendiniz. Node.js ve Git gibi \u00f6n ko\u015fullar\u0131n kurulumundan ba\u015flayarak, Hexo CLI&#8217;yi kurduk, ilk blogumuzu ba\u015flatt\u0131k, i\u00e7erik olu\u015fturmay\u0131, tema se\u00e7imi ve \u00f6zelle\u015ftirmeyi ele ald\u0131k ve son olarak blogumuzu GitHub Pages&#8217;e da\u011f\u0131tmay\u0131 \u00f6\u011frendik. Ayr\u0131ca, blogunuzu uzun vadede y\u00f6netmek i\u00e7in bak\u0131m ipu\u00e7lar\u0131 ve Ubuntu 14.04&#8217;e \u00f6zel notlar \u00fczerinde durduk.<\/p>\n<p>Hexo, statik site olu\u015fturucular\u0131n sundu\u011fu h\u0131z, g\u00fcvenlik ve basitlik avantajlar\u0131n\u0131 tam anlam\u0131yla sergileyen g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Markdown ile kolayca i\u00e7erik olu\u015fturabilir, zengin tema ve eklenti ekosistemi sayesinde blogunuzu ki\u015fiselle\u015ftirebilir ve GitHub Pages gibi \u00fccretsiz hizmetlerle kolayca yay\u0131nlayabilirsiniz.<\/p>\n<p>Art\u0131k kendi Hexo blogunuzu olu\u015fturmak i\u00e7in gerekli bilgi ve becerilere sahipsiniz. Blogunuzu daha da geli\u015ftirmek i\u00e7in Hexo&#8217;nun resmi belgelerini incelemeyi, farkl\u0131 temalar\u0131 denemeyi ve ihtiyac\u0131n\u0131z olan eklentileri ara\u015ft\u0131rmay\u0131 unutmay\u0131n. Statik site olu\u015fturucular\u0131n d\u00fcnyas\u0131 geni\u015f ve ke\u015ffedilmeyi bekleyen bir\u00e7ok f\u0131rsat sunuyor. Keyifli bloglamalar!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 14.04 \u00dczerinde Hexo ile Blog Olu\u015fturma Rehberi\nG\u00fcn\u00fcm\u00fczde ki\u015fisel veya kurumsal bloglar olu\u015fturmak, fikirleri payla\u015fmak, bilgi aktarmak","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":[1468],"tags":[],"class_list":{"0":"post-32202","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","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>Ubuntu 14.04 \u00dczerinde Hexo ile Blog Olu\u015fturma 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\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 14.04 \u00dczerinde Hexo ile Blog Olu\u015fturma Rehberi\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 14.04 \u00dczerinde Hexo ile Blog Olu\u015fturma Rehberi G\u00fcn\u00fcm\u00fczde ki\u015fisel veya kurumsal bloglar olu\u015fturmak, fikirleri payla\u015fmak, bilgi aktarmak\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-18T20:40:55+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=\"20 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 14.04 \u00dczerinde Hexo ile Blog Olu\u015fturma Rehberi\",\"datePublished\":\"2025-10-18T20:40:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/\"},\"wordCount\":1949,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/\",\"name\":\"Ubuntu 14.04 \u00dczerinde Hexo ile Blog Olu\u015fturma Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-18T20:40:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 14.04 \u00dczerinde Hexo ile Blog Olu\u015fturma 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":"Ubuntu 14.04 \u00dczerinde Hexo ile Blog Olu\u015fturma 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\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 14.04 \u00dczerinde Hexo ile Blog Olu\u015fturma Rehberi","og_description":"Ubuntu 14.04 \u00dczerinde Hexo ile Blog Olu\u015fturma Rehberi G\u00fcn\u00fcm\u00fczde ki\u015fisel veya kurumsal bloglar olu\u015fturmak, fikirleri payla\u015fmak, bilgi aktarmak","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-18T20:40:55+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"20 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 14.04 \u00dczerinde Hexo ile Blog Olu\u015fturma Rehberi","datePublished":"2025-10-18T20:40:55+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/"},"wordCount":1949,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/","name":"Ubuntu 14.04 \u00dczerinde Hexo ile Blog Olu\u015fturma Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-18T20:40:55+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-hexo-ile-blog-olusturma-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 14.04 \u00dczerinde Hexo ile Blog Olu\u015fturma 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\/32202","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=32202"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32202\/revisions"}],"predecessor-version":[{"id":32203,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32202\/revisions\/32203"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32202"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32202"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}