Asciidoc Cheatsheet – Hızlı Başlangıç
Asciidoc zengin bir metin işaretleme dilidir. Barındırdığı çoklu dil özellikleri ile Markdown gibi basit metin işaretleme dillerinden ayrılmaktadır.
Asciidoc işaretleme dili ile yazılan metinler, HTML, PDF, Docbook, Mobi, Epub formatlarına kolaylıkla dönüştürülebilmektedir. Bu klavuz ile en temel Asciidoc özelliklerini öğrenebilirsiniz.
Temel biçimler
*Kalın* , _İtalic_ , +++<u>Altçizgi</u>+++, Üs^t^ , Al~t~
Kalın , İtalic , Altçizgi, Üst , Alt
Başlık seviyeleri
HTML standardındaki gibi 5 seviyeli başlıklar tanımlayabiliyoruz.
= Döküman başlığı (seviye 0) Metin içeriği == Başlık seviye 1 Metin içeriği === Başlık seviye 2 Metin içeriği ==== Başlık seviye 3 Metin içeriği ===== Başlık seviye 4 Metin içeriği ====== Başlık seviye 5 Metin içeriği
Döküman başlığı (seviye 0)
Başlık seviye 1
Metin içeriği
Başlık seviye 2
Metin içeriği
Başlık seviye 3
Metin içeriği
Başlık seviye 4
Metin içeriği
Başlık seviye 5
Metin içeriği
Listeler
Ascidoc ile sıralı, sırası, işaretli ve etiketli listeler oluşturabilirsiniz.
.Sırasız liste * derinlik 1 ** derinlik 2 *** derinlik 3 **** derinlik 4 ***** derinlik 5 * derinlik 1
- derinlik 1
- derinlik 2
- derinlik 3
- derinlik 4
- derinlik 5
- derinlik 4
- derinlik 3
- derinlik 2
- derinlik 1
.Sıralı liste . Sıra 1 . Sıra 2 .. Sıra 2a .. Sıra 2b . Sıra 3
- Sıra 1
- Sıra 2
- Sıra 2a
- Sıra 2b
- Sıra 3
.İşaretli liste - [*] işaretli - [x] işaretli - [ ] işaretsiz - normal
- işaretli
- işaretli
- işaretsiz
- normal
.Etiketli liste Elma:: Eski Türkçe'de "alma" diye bilinen adının, meyvenin rengi olan "al" (kırmızı)'dan geldiği bilinmektedir Armut:: Gülgiller (Rosaceae) familyasının Maloideae alt familyasında sınıflanan Pyrus cinsine ait ağaç nitelikli bitki türleriyle, bu türlerden bazılarının yenilebilir meyvelerinin ortak adı.
- Elma
- Eski Türkçe’de “alma” diye bilinen adının, meyvenin rengi olan “al” (kırmızı)’dan geldiği bilinmektedir
- Armut
- Gülgiller (Rosaceae) familyasının Maloideae alt familyasında sınıflanan Pyrus cinsine ait ağaç nitelikli bitki türleriyle, bu türlerden bazılarının yenilebilir meyvelerinin ortak adı.
Bağlantılar
Asciidoc işaretleme dili ile HTML link oluşturabiliriz.
http://asciidocfx.org - AsciidocFX http://asciidocfx.org[AsciidocFX]
http://asciidocfx.org – AsciidocFX
Resimler
Asciidoc dili ile resim elemanları tanımlayabiliriz. Resim yolu relative veya absolute olabilir.
Basit
image::https://kodedu.com/wp-content/uploads/2014/11/logo-kodcu-com5.png[]
Detaylı
image::https://kodedu.com/wp-content/uploads/2014/11/logo-kodcu-com5.png[caption="Şekil 1. ",title="Kodcu.com",alt="Kodcu.com"]
Kod renklendirme
Asciidoc işaretleme dili satır içinde veya blok olarak kod renklendirmeye imkan sağlamaktadır. Kod hemen hemen tüm diller desteklenmektedir.
Reference code like `types` or `methods` inline.
Reference code like types
or methods
inline.
[[source,java]] ---- public interface Hello { void hello(); } ----
public interface Hello {
void hello();
}
Kod bloklarında callouts
adı verilen numaralandırma yapısını kullanabilirsiniz.
[[source,ruby]] ---- require 'sinatra' # <1> get '/hi' do # <2> "Hello World!" # <3> end ---- <1> Library import <2> URL mapping <3> Content for response
require 'sinatra' (1)
get '/hi' do (2)
"Hello World!" (3)
end
1 | Library import |
2 | URL mapping |
3 | Content for response |
Sınırlandırılmış bloklar
Sınırlandırılmış bloklar 4’er özel karakter ile sınırlandırılmış alanlardır.
Sidebar bloğu
.Başlık (opsiyonel) **** Bu blok türünün adı *Sidebar* bloktur. ****
Örnek bloğu
.Başlık (opsiyonel) ==== Bu blok türünün adı *Example* bloktur. ====
Bu blok türünün adı Example bloktur.
Passthrough bloğu
++++ Bu blok türünün adı <b>Passthrough</b> bloktur. Bu blok içerinde HTML elemanları kullanabilirsiniz. <br/> <br/> <u>Örneğin;</u> <br/><br/> <ul> <li>Ali</li> <li>Veli</li> <li>Selami</li> </ul> ++++
Bu blok türünün adı Passthrough bloktur. Bu blok içerinde HTML elemanları kullanabilirsiniz.
Örneğin;
- Ali
- Veli
- Selami
Alıntı bloğu
[[quote, Hakan Özler, AspectJ Ebook]] ____ AspectJ dilinin kullandığı yapılar 3 kısımda toplanmıştır. Bunlar:: Ortak, Dinamik ve Statik crosscutting (enine kesen) bölümlerdir. Bu bölümler, içlerinde farklı bileşenleri toplayarak bizim mevcut *OOP* sistemimizi *AOP* mantığı ile harmanlamamıza imkan veriyorlar. ____
AspectJ dilinin kullandığı yapılar 3 kısımda toplanmıştır.
- Bunlar
- Ortak, Dinamik ve Statik crosscutting (enine kesen) bölümlerdir.
Bu bölümler, içlerinde farklı bileşenleri toplayarak bizim mevcut OOP sistemimizi AOP mantığı ile harmanlamamıza imkan veriyorlar.
AspectJ Ebook
Uyarı blokları
Asciidoc işaretleme dilinde 5 tip uyarı (admonition) bloğu bulunmaktadır. Bu blokların kendine has ikonları bulunmaktadır.
[NOTE] ==== Burası bir not bloğu ====
Burası bir not bloğu |
[IMPORTANT] ==== Burası bir önemli bloğu ====
Burası bir önemli bloğu |
[TIP] ==== Burası bir ipucu bloğu ====
Burası bir ipucu bloğu |
[CAUTION] ==== Burası bir dikkat bloğu ====
Burası bir dikkat bloğu |
[WARNING] ==== Burası bir uyarı bloğu ====
Burası bir uyarı bloğu |
Tablolar
Asciidoc ile hemen hemen tüm kompleks tablo yapılarını kurabilirsiniz.
Basit bir tablo
.Başlık (opsiyonel) [options="header,footer"] |======================= |Col 1|Col 2 |Col 3 |1 |Item 1 |a |2 |Item 2 |b |3 |Item 3 |c |6 |Three items|d |=======================
Col 1 | Col 2 | Col 3 |
---|---|---|
6 |
Three items |
d |
1 |
Item 1 |
a |
2 |
Item 2 |
b |
3 |
Item 3 |
c |
Kompleks bir tablo
.Başlık (opsiyonel) |==== |Date |Duration |Avg HR |Notes |22-Aug-08 .2+^.^|10:24 | 157 | Worked out MSHR (max sustainable heart rate) by going hard for this interval. |22-Aug-08 | 152 | Back-to-back with previous interval. |24-Aug-08 3+^|none |====
Date |
Duration |
Avg HR |
Notes |
22-Aug-08 |
10:24 |
157 |
Worked out MSHR (max sustainable heart rate) by going hard for this interval. |
22-Aug-08 |
152 |
Back-to-back with previous interval. |
|
24-Aug-08 |
none |
AsciidocFX eklentileri
AsciidocFX metin editörü, UML diagramları ve matematiksel kompleks formüller için iki özel eklentiye sahiptir.
PlantUML
PlantUML metinsel olarak yazılan ifadelerle zengin UML diagramları oluşturmaya olanak tanıyan, Java bazlı bir teknolojidir. AsciidocFX gömülü olarak PlantUML desteklemektedir.
.Başlık (opsiyonel) [uml,file="uml-diagram.png"] -- abstract class AbstractList abstract AbstractCollection interface List interface Collection List <|-- AbstractList Collection <|-- AbstractCollection Collection <|- List AbstractCollection <|- AbstractList AbstractList <|-- ArrayList class ArrayList { Object[] elementData size() } enum TimeUnit { DAYS HOURS MINUTES } annotation SuppressWarnings --
MathJAX
MathJAX matematiksel kompleks formüllerin, metinsel olarak ifade edildiği çeşitli dilleri (MathML, Tex, AsciiMath) görsel olarak çıktılayan bir teknolojidir. AsciidocFX gömülü olarak MathJAX desteklemektedir. AsciidocFX ile MathML ve Tex biçimlerinde kompleks formülleri PNG resmi olarak eşzamanlı olarak dökümanlarınızda kullanabilirsiniz.
Tex ile formül örneği
.Başlık (opsiyonel) [math,file="tex-formula.png"] -- \begin{align} \dot{x} & = \sigma(y-x) \\ \dot{y} & = \rho x - y - xz \\ \dot{z} & = -\beta z + xyp \end{align} --
MathML ile formül örneği
.Başlık (opsiyonel) [math,file="mathml-formula.png"] -- <math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> <mi>x</mi> <mo>=</mo> <mrow> <mfrac> <mrow> <mo>−</mo> <mi>b</mi> <mo>±</mo> <msqrt> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo>−</mo> <mn>4</mn> <mi>a</mi> <mi>c</mi> </msqrt> </mrow> <mrow> <mn>2</mn> <mi>a</mi> </mrow> </mfrac> </mrow> <mtext>.</mtext> </math> --
AsciidocFX
[1] https://kodedu.com/2014/12/asciidocfx-metin-editoru/
[2] https://kodedu.com/2014/10/writing-books-with-asciidoc-fx/
[3] https://kodedu.com/2014/09/ebook-hazirlama-ve-yayinlama-video-sunum/
Kaynaklar
[1] http://powerman.name/doc/asciidoc
[2] http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/
Tekrar görüşmek dileğiyle…
Tag:asciidoc, asciidocfx
3 Comments
Elinize emeğiniie zihninize sağlık… peki bu dil sentaksı belirli bir standartla mı anılıyor yoksa siz mi belirlediniz?
Evet bu dil Asciidoc Markup Language diye geçiyor. Python ve Ruby ile yazılmış implementasyonları var. Biz Ruby ile yazılmış olanının JavaScript portunu kullanıyoruz.