git.gelistiriciyiz.biz
Geliştiriciyiz Biz! ağının sitelerinden biridir. Middleman altyapısı üzerinde modifiye edilmiş jekyll-incorporated teması kullanmaktadır.
Kurulum
- Ruby 2.2.2 (En az gereksinim)
git clone https://github.com/gelistiriciyiz-biz/cs.gelistiriciyiz.biz cs.gelistiriciyiz.biz
cd cs.gelistiriciyiz.biz/
bundle install --path=vendor/bundle --binstubs
rake # Ön izleme / geliştirme sunucusu
Tüm task’ler:
rake -T
rake build # Test için build
rake deploy # Deploy
rake post[post_title,post_date] # Yeni yazı ekle
rake preview # Ön izleme / geliştirme sunucusu
Eğer kendinize ait özel task eklemek isterseniz, projenin root dizinine
(Rakefile
’ın olduğu seviye) private.rake
dosyası ekleyip içine
kendi task’lerinizi yazmanız yeterlidir.
Yeni post yapmak için:
rake post["Yeni postum"] # ya da
rake post["Yeni postum","Feb 8, 2017"] # 8 Şubat 2017’deki bir post için
# source/posts/2017-02-08-yeni-postum.md dosyasını üretir.
Tüm post’lar source/posts/
altındadır. Unutulmaması gereken önemli bir husus da,
post dosyasının adı, post tarihi ile doğru orantılıdır. 2017-02-08-yeni-postum.md
adlı dosya varsa, içindeki tarih mutlaka date: Feb 2, 2017 HH:MM
gibi olmalıdır.
İçerideki date:
bilgisi ile dosya adı uyuşmazsa uygulama hata verir.
Eğer post içindeki tarih bilgisini değiştirirseniz mutlaka source/posts/
altındaki
dosyanın adını da uygun olan YIL-AY-GÜN-BAŞLIK.md
bilgilerini girmelisiniz.
Eğer post dosyanız YIL-AY-GÜN-BAŞLIK.md.erb
gibi .md.erb
ile biterse, post
içinde embedded ruby kullanma imkanınız olur yani;
<% puts "Merhaba" %>
<%
ary = [1, 2, 3]
ary.each do |n|
concat "#{n}<br/>"
end
%>
Front-matter Değişkenleri
Post oluşturunca karşınıza gelen dosyada yaml
değişkenleri bulunuyor.
---
title: "BAŞLIK"
date: Ay Gün, Yıl Saat:Dakika
# tags: tag1,tag2
# subtitle:
# published: false
# cover:
author:
name: "AD-SOYAD"
email: "E-POSTA"
link: "http://LINK"
bio: "1 SATIR BİO"
twitter: "twitter_username"
---
Eğer proje root’una config_custom.yaml
adında bir dosya oluşturup içini;
main_author:
name: "AD-SOYAD"
email: "E-POSTA"
link: "http://LINK"
bio: "1 SATIR BİO"
twitter: "twitter_username"
kendi bilgilerinizle doldurursanız, her rake post
işeminde bu dosyadan
bilgiler okunacaktır. Eğer böyle bir dosya bulunmazsa config.yaml
içinde
ne yazıyorsa o okunacaktır.
published: false
Eğer henüz yazıyı tamamlamadıysanız, yani Draft şeklinde, yazmaya devam
ediyorsanız published: false
durumunda yazıyı görüntüler ama build/deploy
edemezsiniz.
tags:
Virgül ile ayrılmış şekilde, yazı ile ilgili etiketler: tags: core,module
gibi...
cover:
Yazıya kapak resmi eklemek için kullanabilirsiniz:
cover: "resim.jpg" # bakılacak yer:
# source/public/images/posts/resim.jpg
cover: "http://example.com/resim.jpg" # dış dünyadan resim ekleme
READ_MORE
Özet kısmı için kullanır. Anasayfada listelenirken eğer ilgili post’da READ_MORE
görürse sadece oraya kadar olan kısmı yazar. Örnek:
---
title: "Daha detaylı `git-branch`"
date: 2013-01-06 22:03
tags: branch
---
Local’deki ve Remote’daki yani varolan tüm **branch**'leri göstermek
için; READ_MORE
Yazının detayları ve devamı burada...
Post içine resim ve video eklemek
Eğer yazı içinde tıklayınca büyüyecek bir resim koymak isterseniz;
<div class="full zoomable"><img src="resim.jpg" alt="resim"></div>
şeklinde in-line html yazabilirsiniz. Aynı şekilde video için;
<div class="flash-video">
<div><iframe src="video.mp4" width="100%" height="100%" frameborder="0"></iframe></div>
</div>
kullanabilirsiniz.
Markdown Özellikleri
- Otomatik link.
http(s)
ile başlayan metinler otomatik olarak linke dönüşür. - Üzeri çizgili (strikethrough) metin için
~~
arasında metin yazın:~~üstü çizili~~
- Üst simge kullanımı (superscript) için
^(metin)
:2^(nd)
- Altı çizili (underline) için
_
arasına metin yazın:Bu _altı çizili_ ama bu *italic*
- Belirtmek, vurgulamak (highlight) için
==
arasına metin yazın:Bu ==belirtmeli bir metin==
- Footnote desteği:
Merhaba [^1]
sonra alt kısımlarda[^1]: Burası footnote
Tablo
Yazı içinde tablo kullanmak için:
Markdown Tablo:
# | Açıklama
--------|--------------
1 | Örnek satır 1
2 | Örnek satır 2
3 | Örnek satır 3
4 | Örnek satır 4
Eğer hücreleri sağa, ya da ortalı hizalama yapmak isterseniz:
# | Açıklama
-------:|-------------- # -------: sağa
1 | Örnek satır 1
# | Açıklama
:------:|-------------- # :------: ortalı
1 | Örnek satır 1
Kod bloğu
Pygments kütüphanesi yardımıyla neredeyse tüm programlama dillerini renklendirilmiş olarak kullanmak mümkün. Desteklenen diller: http://pygments.org/languages/ Yapmanız gereken ```dil şeklinde bloğa başlamanız.
# Python için
```python
def fonk(a):
print(a)
```
# Ruby için
```ruby
[1, 2, 3].each do |n|
puts "#{n}"
end
Eğer dil belirtmezseniz Markdown özelliği olan 4 tane boşluk ile başlayarak kod bloğu tanımlaması yapabilirsiniz. Yazı içinde (inline) kod parçası kullanmak için, yine: `kod` (backtick’ler arasında) şeklinde kullanabilirsiniz.
Mathjax Desteği
Matematiksel ifadeleri web sayfasında göstermek için hazırlanmış Mathjax kütüphanesi yardımıyla post içine matematik ifadeler ekleyebilirsiniz:
$\bold{t}\ = f(N)$
Yazı içinde (inline) ifade kullanmak için;
$
ile başlayan biten; ya da\\(
başlayan,\\)
ile biten;
Büyük ve ortalı şekilde kullanmak için;
$$
ile başlayan ve biten; ya da\\[
başlayan,\\]
ile biten;
kullanabilirsiniz. Daha detaylı açıklama için: http://docs.mathjax.org/en/latest/index.html
config.yaml
dosyası
Site ile ilgili genel değişklenlerin tanımlandığı dosya. Örnek dosya aşağıdaki gibidir:
site:
production_url: "http://cs.gelistiriciyiz.biz"
title: "Computer Sciences Püf Noktaları"
subtitle: "Bilgisayar Bilimleri"
description: "Bilgisayar Bilimlerinin temel konuları."
logo: "logo.png" # source/public/images/ altında
cover_image: "cover.jpg" # source/public/images/ altında
social:
twitter: "cs_tips_tr" # eğer twitter yoksa comment edin
google_analytics: "UA-6463685-52" # eğer analytics yoksa comment edin
disqus: "cs-gelistiriciyiz-biz" # eğer disqus yoksa comment edin
company:
name: "Geliştiriciyiz.biz"
url: "http://gelistiriciyiz.biz/"
product:
name: "cs.gelistiriciyiz.biz"
url: "http://cs.gelistiriciyiz.biz/"
main_author: # bu kısmı doldurmazsanız ilgili bilgler için
name: "Full Name" # eğer varsa: config_custom.yaml dosyasına
email: "email@example.com" # bakılacaktır!
link: "http://example.com"
bio: "Title"
twitter: "twitter_username"
Deployment
Deployment mekanizması olarak Github Pages kullanılıyor. config.rb
dosyasında
görüldüğü gibi:
activate :deploy do |deploy|
deploy.build_before = true
deploy.method = :git
deploy.remote = "origin"
deploy.branch = "gh-pages"
end
build işleminden sonra gh-pages
branch’ine push ediliyor. rake deploy
ya da duruma göre bundle exec rake deploy
ile bu işi yapabilirsiniz.
Lisans
Bu proje MIT lisansıyla lisanslanmıştır.
Katkı Yapın
fork
yapın: https://github.com/gelistiriciyiz-biz/git.gelistiriciyiz.biz/fork- Kendi
branch
’inizi yapın (git checkout -b benim-makalem
) - Yaptıklarınızı
commit
edin (git commit -am 'Yeni makale'
) branch
’ipush
edin (git push origin benim-makalem
)- Yeni bir Pull Request oluşturun!