Chirpy'de Yazı Yazma Rehberi
Bu rehber, Chirpy şablonunda yazı yazmayı adım adım gösterecek.
İsimlendirme ve Yol
Yeni bir dosya oluşturun, adını YYYY-MM-DD-TITLE.EXTENSION
koyun ve kök dizindeki _posts
içine yerleştirin. Lütfen EXTENSION
uzantısının md
veya markdown
olması gerektiğini unutmayın. Dosya oluşturma sürecinden zaman kazanmak istiyorsanız, Jekyll-Compose
eklentisini kullanmayı düşünün.
Front Matter
Temelde, yazının başında aşağıdaki gibi Front Matter doldurmanız gerekir:
1
2
3
4
5
6
---
title: BAŞLIK
date: YYYY-MM-DD HH:MM:SS +/-TTTT
categories: [ANA_KATEGORİ, ALT_KATEGORİ]
tags: [ETİKET] # ETİKET isimleri her zaman küçük harf olmalıdır
---
Yazıların layout‘u varsayılan olarak
post
olarak ayarlanmıştır, bu yüzden Front Matter bloğunda layout değişkenini eklemenize gerek yoktur.
Tarih Saat Dilimi
Bir yazının yayınlanma tarihini doğru bir şekilde kaydetmek için, sadece _config.yml
dosyasındaki timezone
ayarını yapmakla kalmayıp, ayrıca Front Matter bloğunda date
değişkeninde yazının saat dilimini belirtmelisiniz. Format: +/-TTTT
, örneğin +0800
.
Kategoriler ve Etiketler
Her yazının categories
i en fazla iki eleman içerebilir ve tags
elemanlarının sayısı sıfırdan sonsuza kadar olabilir. Örneğin:
1
2
3
4
---
categories: [Hayvan, Böcek]
tags: [arı]
---
Yazar Bilgileri
Yazının yazar bilgileri genellikle Front Matter’da doldurulmaz, bunlar varsayılan olarak yapılandırma dosyasındaki social.name
ve social.links
in ilk girişinden alınır. Ancak aşağıdaki gibi geçersiz kılabilirsiniz:
_data/authors.yml
dosyasına yazar bilgilerini ekleyin (Eğer sitenizde bu dosya yoksa, çekinmeden bir tane oluşturun).
1
2
3
4
<author_id>:
name: <tam isim>
twitter: <yazarın_twitter>
url: <yazarın_anasayfası>
Ardından, author
kullanarak tek bir giriş veya authors
kullanarak birden fazla giriş belirleyin:
1
2
3
4
5
---
author: <author_id> # tek giriş için
# veya
authors: [<author1_id>, <author2_id>] # birden fazla giriş için
---
Bununla birlikte, author
anahtarı birden fazla girişi tanımlayabilir.
_data/authors.yml
dosyasından yazar bilgilerini okumanın faydası, sayfadatwitter:creator
meta etiketinin olmasıdır, bu da Twitter Kartları için iyidir ve SEO açısından faydalıdır.
Yazı Tanımı
Varsayılan olarak, yazının ilk kelimeleri ana sayfada yazı listesinde, Further Reading bölümünde ve RSS beslemesinin XML’inde kullanılır. Yazı için otomatik olarak oluşturulan tanımı göstermek istemiyorsanız, Front Matter‘da description
alanını kullanarak özelleştirebilirsiniz:
1
2
3
---
description: Yazının kısa özeti.
---
Ayrıca, description
metni, yazının sayfasındaki başlık altında da gösterilir.
İçindekiler Tablosu
Varsayılan olarak, yazının sağ panelinde İçindekiler Tablosu (TOC) gösterilir. Bunu genel olarak kapatmak istiyorsanız, _config.yml
dosyasına gidin ve toc
değişkeninin değerini false
olarak ayarlayın. Belirli bir yazı için TOC’yi kapatmak istiyorsanız, yazının Front Matterına aşağıdakileri ekleyin:
1
2
3
---
toc: false
---
Yorumlar
Yorumların global anahtarı _config.yml
dosyasındaki comments.active
değişkeni tarafından tanımlanmıştır. Bu değişken için bir yorum sistemi seçtikten sonra, tüm yazılar için yorumlar açık olacaktır.
Belirli bir yazı için yorumu kapatmak istiyorsanız, yazının Front Matterına aşağıdakileri ekleyin:
1
2
3
---
comments: false
---
Matematik
Matematik üretimi için MathJax kullanıyoruz. Web sitesi performansı nedenleriyle, matematik özelliği varsayılan olarak yüklenmez. Ancak şu şekilde etkinleştirilebilir:
1
2
3
---
math: true
---
Matematik özelliği etkinleştirildikten sonra, aşağıdaki sözdizimi ile matematik denklemleri ekleyebilirsiniz:
- Blok matematik
$$ math $$
ile eklenmelidir ve$$
öncesi ve sonrası zorunlu boş satırlar olmalıdır- Denklem numarası eklemek
$$\begin{equation} math \end{equation}$$
ile eklenmelidir - Denklem numarasına başvurma denklem bloğunda
\label{eq:label_name}
ile ve metin içinde\eqref{eq:label_name}
ile yapılmalıdır (aşağıdaki örneğe bakınız)
- Denklem numarası eklemek
- Satır içi matematik (satırlarda)
$$ math $$
ile eklenmelidir ve$$
öncesi ve sonrasında boş satır olmamalıdır - Satır içi matematik (listelerde)
\$$ math $$
ile eklenmelidir
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!-- Blok matematik, tüm boş satırları koruyun -->
$$
LaTeX_math_expression
$$
<!-- Denklem numarası, tüm boş satırları koruyun -->
$$
\begin{equation}
LaTeX_math_expression
\label{eq:label_name}
\end{equation}
$$
\eqref{eq:label_name} olarak başvurulabilir.
<!-- Satır içi matematik satırlarda, BOŞ SATIR YOK -->
"Lorem ipsum dolor sit amet, $$ LaTeX_math_expression $$ consectetur adipiscing elit."
<!-- Satır içi matematik listelerde, ilk `$` kaçın -->
1. \$$ LaTeX_math_expression $$
2. \$$ LaTeX_math_expression $$
3. \$$ LaTeX_math_expression $$
v7.0.0
itibarıyla, MathJax yapılandırma seçenekleriassets/js/data/mathjax.js
dosyasına taşındı ve ihtiyaca göre değiştirilebilir, örneğin eklentiler ekleyebilirsiniz. Eğer siteyichirpy-starter
üzerinden inşa ediyorsanız, bu dosyayı gem kurulum dizininden (komutlabundle info --path jekyll-theme-chirpy
kontrol edin) aynı dizine kopyalayın.
Mermaid
Mermaid harika bir diyagram oluşturma aracıdır. Yazınızda bunu etkinleştirmek için YAML bloğuna aşağıdakileri ekleyin:
1
2
3
---
mermaid: true
---
Sonra diğer markdown dilleri gibi kullanabilirsiniz: grafik kodunu ```mermaid
ve ```
ile çevreleyin.
Resimler
Başlık
Bir resmin altındaki bir sonraki satıra italik ekleyin, o zaman bu başlık olur ve resmin altında görünür:
1
2
![img-description](/path/to/image)
_Resim Başlığı_
Boyut
Sayfa içeriği düzeninin resim yüklendiğinde kaymasını önlemek için, her resim için genişlik ve yükseklik belirlemeliyiz.
1
![Masaüstü Görünümü](/assets/img/sample/mockup.png){: width="700" height="400" }
Bir SVG için, en azından genişliğini belirtmelisiniz, aksi takdirde görüntülenmez.
_Ch
irpy v5.0.0_‘dan itibaren, height
ve width
kısaltmaları (height
→ h
, width
→ w
) destekler. Yukarıdaki örnekle aynı etkiye sahip aşağıdaki örneğe bakın:
1
![Masaüstü Görünümü](/assets/img/sample/mockup.png){: w="700" h="400" }
Konum
Varsayılan olarak resim ortalanmıştır, ancak normal
, left
ve right
sınıflarından birini kullanarak konumu belirleyebilirsiniz.
Konum belirlendikten sonra, resim başlığı eklenmemelidir.
Normal konum
Aşağıdaki örnekte resim sola hizalanacaktır:
1
![Masaüstü Görünümü](/assets/img/sample/mockup.png){: .normal }
Sola yasla
1
![Masaüstü Görünümü](/assets/img/sample/mockup.png){: .left }
Sağa yasla
1
![Masaüstü Görünümü](/assets/img/sample/mockup.png){: .right }
Karanlık/Aydınlık Mod
Resimlerin karanlık/aydınlık mod tercihlerine göre takip edilmesini sağlayabilirsiniz. Bunun için karanlık mod ve aydınlık mod için iki resim hazırlamanız gerekir, ardından belirli bir sınıf (dark
veya light
) atamanız gerekir:
1
2
![Aydınlık mod sadece](/path/to/light-mode.png){: .light }
![Karanlık mod sadece](/path/to/dark-mode.png){: .dark }
Gölge
Program penceresinin ekran görüntülerinin gölge efekti göstermesi düşünülebilir:
1
![Masaüstü Görünümü](/assets/img/sample/mockup.png){: .shadow }
CDN URL
Medya kaynaklarını CDN üzerinde barındırıyorsanız, CDN URL’ini tekrar tekrar yazma zamanından tasarruf edebilirsiniz, _config.yml
dosyasındaki cdn
değişkenini atayarak:
1
cdn: https://cdn.com
cdn
atanmışsa, CDN URL’si tüm medya kaynaklarının (site avatarı, yazıların resimleri, ses ve video dosyaları) yoluna /
ile başlayarak eklenir.
Örneğin, resim kullanırken:
1
![Çiçek](/path/to/flower.png)
Ayrıştırma sonucu, resim yolunun önüne otomatik olarak CDN öneki https://cdn.com
eklenir:
1
<img src="https://cdn.com/path/to/flower.png" alt="Çiçek" />
Medya Alt Yolu
Bir yazı birçok resim içerdiğinde, medya kaynaklarının yolunu tekrar tekrar tanımlamak zaman alıcı bir iş olacaktır. Bunu çözmek için, bu yolu yazının YAML bloğunda tanımlayabiliriz:
1
2
3
---
media_subpath: /img/yol/
---
Ardından, Markdown resim kaynağını doğrudan dosya adıyla yazabilirsiniz:
1
![Çiçek](flower.png)
Çıktı şu şekilde olacaktır:
1
<img src="/img/yol/flower.png" alt="Çiçek" />
Önizleme Resmi
Yazının üst kısmına bir resim eklemek istiyorsanız, 1200 x 630
çözünürlüğünde bir resim sağlayın. Lütfen, resim en boy oranı 1.91 : 1
i karşılamıyorsa, resmin ölçeklendirileceğini ve kırpılacağını unutmayın.
Bu ön koşulları bildiğinizde, resmin özniteliklerini ayarlamaya başlayabilirsiniz:
1
2
3
4
5
---
image:
path: /path/to/image
alt: image alternatif metin
---
Not, media_subpath
önizleme resmine de geçirilebilir, yani ayarlandığında, path
özniteliği yalnızca resim dosya adını içermelidir.
media_subpath
Basit kullanım için, yolu tanımlamak için sadece image
kullanabilirsiniz.
1
2
3
---
image: /path/to/image
---
LQIP
Önizleme resimleri için:
1
2
3
4
---
image:
lqip: /path/to/lqip-file # veya base64 URI
---
LQIP’yi Text and Typography yazısının önizleme resminde gözlemleyebilirsiniz.
Normal resimler için:
1
![Resim açıklaması](/path/to/image){: lqip="/path/to/lqip-file" }
Sabitlenmiş Yazılar
Ana sayfanın üst kısmına bir veya daha fazla yazıyı sabitleyebilirsiniz ve sabitlenmiş yazılar yayınlanma tarihlerine göre tersten sıralanır. Etkinleştirmek için:
1
2
3
---
pin: true
---
İpuçları
Birkaç tür ipucu vardır: tip
, info
, warning
ve danger
. Bunlar, alıntıya prompt-{type}
sınıfını ekleyerek oluşturulabilir. Örneğin, info
türünde bir ipucu şu şekilde tanımlanır:
1
2
> İpucu örneği satırı.
{: .prompt-info }
Sözdizimi
Satır İçi Kod
1
`satır içi kod parçası`
Dosya Yolu Vurgulama
1
`/path/to/a/file.extend`{: .filepath}
Kod Bloğu
Markdown sembolleri ```
ile kolayca bir kod bloğu oluşturabilirsiniz:
1
2
3
```
Bu, düz metin kod parçacığıdır.
```
Dil Belirtme
```{dil}
kullanarak sözdizimi vurgusu olan bir kod bloğu elde edersiniz:
1
2
3
```yaml
anahtar: değer
```
Bu tema ile Jekyll etiketi
{% highlight %}
uyumlu değildir.
Satır Numarası
Varsayılan olarak, plaintext
, console
ve terminal
dışındaki tüm diller satır numaralarını gösterir. Bir kod bloğunun satır numarasını gizlemek istediğinizde, ona nolineno
sınıfını ekleyin:
1
2
3
4
```shell
echo 'Artık satır numaraları yok!'
```
{: .nolineno }
Dosya Adını Belirtme
Kod bloğunun üst kısmında kod dilinin gösterildiğini fark etmiş olabilirsiniz. Bunu dosya adıyla değiştirmek istiyorsanız, bunu başarmak için file
özniteliğini ekleyebilirsiniz:
1
2
3
4
```shell
# içerik
```
{: file="path/to/file" }
Liquid Kodları
Liquid kod parçacığını göstermek istiyorsanız, liquid kodunu {% raw %}
ve {% endraw %}
ile çevreleyin:
1
2
3
4
5
6
7
{% raw %}
```liquid
{% if product.title contains 'Pack' %}
Bu ürünün başlığı 'Pack' kelimesini içerir.
{% endif %}
```
{% endraw %}
Veya yazının YAML bloğuna render_with_liquid: false
ekleyin (Jekyll 4.0 veya daha yüksek sürümü gerektirir).
Videolar
Video Paylaşım Platformu
Aşağıdaki sözdizimi ile bir video gömebilirsiniz:
1
{% include embed/{Platform}.html id='{ID}' %}
Burada Platform
, platform adının küçük harflidir ve ID
, video ID’sidir.
Aşağıdaki tablo, verilen bir video URL’sinde ihtiyacımız olan iki parametreyi nasıl alacağımızı gösterir ve ayrıca şu anda desteklenen video platformlarını da bilebilirsiniz.
Video URL | Platform | ID |
---|---|---|
https://www.youtube.com/watch?v=H-B46URT4mg | youtube | H-B46URT4mg |
https://www.twitch.tv/videos/1634779211 | twitch | 1634779211 |
[https://www.bilibili.com/video/BV1Q44y1B7Wf |
](https://www.bilibili.com/video/BV1Q44y1B7Wf) | bilibili | BV1Q44y1B7Wf |
Video Dosyası
Bir video dosyasını doğrudan gömmek istiyorsanız, aşağıdaki sözdizimini kullanın:
1
{% include embed/video.html src='{URL}' %}
Burada URL
, bir video dosyasına yönlendiren bir URL’dir, örneğin /assets/img/sample/video.mp4
.
Gömülü video dosyası için ek öznitelikler belirleyebilirsiniz. İzin verilen özniteliklerin tam listesi aşağıdadır.
poster='/path/to/poster.png'
- video indirilirken gösterilen afiş resmititle='Metin'
- videonun altında görünen ve resimler için olanla aynı görünen video başlığıautoplay=true
- video mümkün olduğu kadar hızlı otomatik olarak oynatılmaya başlarloop=true
- video sona erdiğinde otomatik olarak başa sararmuted=true
- ses başlangıçta sessiz olurtypes
- ek video formatlarının uzantılarını|
ile ayırarak belirtin. Bu dosyaların ana video dosyanızla aynı dizinde olduğundan emin olun.
Tüm yukarıdakileri kullanan bir örneği düşünün:
1
2
3
4
5
6
7
8
9
10
{%
include embed/video.html
src='/path/to/video/video.mp4'
types='ogg|mov'
poster='poster.png'
title='Demo video'
autoplay=true
loop=true
muted=true
%}
Video dosyalarını
assets
klasöründe barındırmak önerilmez çünkü PWA tarafından önbelleğe alınamazlar ve sorunlara neden olabilirler. Bunun yerine, video dosyalarını barındırmak için CDN kullanın. Alternatif olarak, PWA’dan (_config.yml
dosyasındakipwa.deny_paths
ayarına bakın) hariç tutulan ayrı bir klasör kullanın.
Sesler
Ses Dosyası
Bir ses dosyasını doğrudan gömmek istiyorsanız, aşağıdaki sözdizimini kullanın:
1
{% include embed/audio.html src='{URL}' %}
Burada URL
, bir ses dosyasına yönlendiren bir URL’dir, örneğin /assets/img/sample/audio.mp3
.
Gömülü ses dosyası için ek öznitelikler belirleyebilirsiniz. İzin verilen özniteliklerin tam listesi aşağıdadır.
title='Metin'
- sesin altında görünen ve resimler için olanla aynı görünen ses başlığıtypes
- ek ses formatlarının uzantılarını|
ile ayırarak belirtin. Bu dosyaların ana ses dosyanızla aynı dizinde olduğundan emin olun.
Tüm yukarıdakileri kullanan bir örneği düşünün:
1
2
3
4
5
6
{%
include embed/audio.html
src='/path/to/audio/audio.mp3'
types='ogg|wav|aac'
title='Demo audio'
%}
Ses dosyalarını
assets
klasöründe barındırmak önerilmez çünkü PWA tarafından önbelleğe alınamazlar ve sorunlara neden olabilirler. Bunun yerine, ses dosyalarını barındırmak için CDN kullanın. Alternatif olarak, PWA’dan hariç tutulan ayrı bir klasör kullanın (_config.yml
dosyasındakipwa.deny_paths
ayarına bakın).
Daha Fazla Bilgi
Jekyll yazıları hakkında daha fazla bilgi için Jekyll Docs: Posts sayfasını ziyaret edin.