Markdown

Bu bölüm, Markdown standart kütüphanesi tarafından etkinleştirilen Julia'nın markdown sözdizimini tanımlar. Aşağıdaki Markdown öğeleri desteklenmektedir:

Inline elements

Burada "inline" terimi, metin blokları içinde, yani paragraflarda bulunabilen öğeleri ifade eder. Bunlar aşağıdaki öğeleri içerir.

Bold

Kelimeleri iki yıldız işaretiyle, **, çevreleyerek içerideki metni kalın yazı ile görüntüleyin.

A paragraph containing a **bold** word.

Italics

Kelimeleri italik olarak göstermek için bir yıldız işaretiyle, *, çevreleyin.

A paragraph containing an *italicized* word.

Literals

Metin, tam olarak yazıldığı gibi görüntülenmesi gereken yerleri tek tırnaklı geri tırnak işaretiyle çevreleyin, ` .

A paragraph containing a `literal` word.

Değişkenlerin, fonksiyonların veya bir Julia programının diğer parçalarının adlarına atıfta bulunurken metin yazarken literal'lar kullanılmalıdır.

Tip

Üç tırnak işareti kullanarak metin içinde bir ters tırnak karakteri eklemek için, metni sarmak için bir tane yerine üç tırnak işareti kullanın.

A paragraph containing ``` `backtick` characters ```.

Herhangi bir tek sayıda ters tırnak, daha az sayıda ters tırnağı kapsamak için kullanılabilir.

$\LaTeX$

Metin, matematik olarak görüntülenmesi gereken yerleri, çift ters eğik çizgi ile $ \LaTeX $ sözdizimi ile çevreleyin, ``.

A paragraph containing some ``\LaTeX`` markup.
Tip

Önceki bölümdeki literallerde olduğu gibi, eğer çift ters tırnak içinde yazılması gereken ters tırnaklar varsa, iki sayının daha büyük bir çift sayısını kullanın. Tek bir ters tırnağın $\LaTeX$ işaretlemesi içinde yer alması gerekiyorsa, iki çevreleyen ters tırnak yeterlidir.

Note

\\ karakteri, metin bir Julia kaynak koduna gömülü olduğunda uygun şekilde kaçırılmalıdır, örneğin, "``\\LaTeX`` bir docstring içindeki sözdizimi.", çünkü bir dize literal olarak yorumlanır. Alternatif olarak, kaçırmayı önlemek için @doc makrosuyla birlikte raw dize makrosunu kullanmak mümkündür:

@doc raw"``\LaTeX`` syntax in a docstring." functionname

Bağlantılar, dış veya iç hedeflere aşağıdaki sözdizimi kullanılarak yazılabilir; köşeli parantezler içinde yer alan metin, [ ], bağlantının adıdır ve parantezler içinde yer alan metin, ( ), URL'dir.

A paragraph containing a link to [Julia](https://www.julialang.org).

Julia belgelen belgesinde diğer belgelenmiş fonksiyonlara/yöntemlere/değişkenlere çapraz referanslar eklemek de mümkündür. Örneğin:

"""
    tryparse(type, str; base)

Like [`parse`](@ref), but returns either a value of the requested type,
or [`nothing`](@ref) if the string does not contain a valid number.
"""

Bu, oluşturulan belgelerde parse belgesine (bu işlevin gerçekten ne yaptığı hakkında daha fazla bilgi içeren) ve nothing belgesine bir bağlantı oluşturacaktır. Bir işlevin değiştiren/değiştirmeyen sürümleri arasında çapraz referanslar eklemek veya iki benzer görünen işlev arasındaki bir farkı vurgulamak iyi bir fikirdir.

Note

Yukarıdaki çapraz referans Markdown özelliği değildir ve Documenter.jl kullanılarak oluşturulan temel Julia belgelerini inşa etmek için kullanılır.

Footnote references

Adlandırılmış ve numaralandırılmış dipnot referansları aşağıdaki sözdizimi kullanılarak yazılabilir. Bir dipnot adı, noktalama işareti içermeyen tek bir alfanümerik kelime olmalıdır.

A paragraph containing a numbered footnote [^1] and a named one [^named].
Note

Dipnotla ilişkili metin, dipnot referansının bulunduğu sayfanın herhangi bir yerinde yazılabilir. Dipnot metnini tanımlamak için kullanılan sözdizimi, aşağıdaki Footnotes bölümünde tartışılmaktadır.

Toplevel elements

Aşağıdaki öğeler, bir belgenin "üst düzey" kısmında veya başka bir "üst düzey" öğenin içinde yazılabilir.

Paragraphs

Bir paragraf, yukarıdaki Inline elements bölümünde tanımlanan herhangi bir sayıda satır içi öğe içerebilen, bir veya daha fazla boş satırla yukarıda ve aşağıda yer alan düz metin bloğudur.

This is a paragraph.

And this is *another* paragraph containing some emphasized text.
A new line, but still part of the same paragraph.

Headers

Bir belge, başlıklar kullanılarak farklı bölümlere ayrılabilir. Başlıklar aşağıdaki sözdizimini kullanır:

# Level One
## Level Two
### Level Three
#### Level Four
##### Level Five
###### Level Six

Bir başlık satırı, bir paragrafın yapabileceği gibi herhangi bir satır içi sözdizimini içerebilir.

Tip

Tek bir belgede çok fazla başlık seviyesi kullanmaktan kaçının. Aşırı derecede iç içe geçmiş bir belge, onu yeniden yapılandırma veya ayrı konuları kapsayan birkaç sayfaya ayırma ihtiyacını gösterebilir.

Code blocks

Kaynak kodu, aşağıdaki örnekte gösterildiği gibi, dört boşluk veya bir sekme ile girilerek bir literal blok olarak görüntülenebilir.

This is a paragraph.

    function func(x)
        # ...
    end

Another paragraph.

Ayrıca, kod blokları, bir kod bloğunun nasıl vurgulanacağını belirtmek için isteğe bağlı bir "dil" ile birlikte üçlü ters tırnak işareti kullanılarak kapatılabilir.

A code block without a "language":

```
function func(x)
    # ...
end
```

and another one with the "language" specified as `julia`:

```julia
function func(x)
    # ...
end
```
Note

"Fenced" kod blokları, son örnekte gösterildiği gibi, girintili kod bloklarına göre tercih edilmelidir çünkü girintili kod bloklarının hangi dilde yazıldığını belirtmenin bir yolu yoktur.

Block quotes

Dış kaynaklardan alınan metinler, alıntı yapmak için her bir satırın başına > karakterleri eklenerek aşağıdaki gibi gösterilebilir.

Here's a quote:

> Julia is a high-level, high-performance dynamic programming language for
> technical computing, with syntax that is familiar to users of other
> technical computing environments.

Markdown.Paragraph(Any["Not edin ki, her satırda ", Markdown.Code("", ">"), " karakterinden sonra bir boşluk olmalıdır. Alıntı blokları kendileri de diğer üst düzey veya satır içi öğeleri içerebilir."])

Images

Görüntüler için sözdizimi, yukarıda bahsedilen bağlantı sözdizimine benzer. Bir bağlantının önüne ! karakteri eklemek, belirtilen URL'den bir görüntü gösterecek, ona bir bağlantı yerine.

![alternative text](link/to/image.png)

Lists

Sırasız listeler, bir listedeki her öğenin önüne *, + veya - eklenerek yazılabilir.

A list of items:

  * item one
  * item two
  * item three

Not edin iki boşluk her * öncesinde ve her birinin ardından bir boşluk.

Listeler, listeler, kod blokları veya alıntı blokları gibi diğer iç içe geçmiş üst düzey öğeleri içerebilir. Bir liste içinde herhangi bir üst düzey öğe içerdiğinde, her liste öğesi arasında boş bir satır bırakılmalıdır.

Another list:

  * item one

  * item two

    ```
    f(x) = x
    ```

  * And a sublist:

      + sub-item one
      + sub-item two
Note

Her listedeki her bir öğenin içeriği, öğenin ilk satırıyla hizalanmalıdır. Yukarıdaki örnekte, fenced kod bloğu item twodaki i ile hizalanmak için dört boşlukla girintilenmelidir.

Sıralı listeler, "madde" karakterini, *, + veya - yerine pozitif bir tam sayı ile ardından ya . ya da ) ekleyerek yazılır.

Two ordered lists:

 1. item one
 2. item two
 3. item three

 5) item five
 6) item six
 7) item seven

Sıralı bir liste, yukarıdaki örnekteki ikinci listede olduğu gibi, birden başka bir sayıdan başlayabilir; burada beşten numaralandırılmıştır. Sırasız listelerde olduğu gibi, sıralı listeler de iç içe geçmiş üst düzey öğeler içerebilir.

Display equations

Büyük $\LaTeX$ denklemleri bir paragraf içinde satır içi olarak yer almadığında, aşağıdaki örnekte olduğu gibi "dil" math olan bir fenced kod bloğu kullanarak gösterilebilir.

```math
f(a) = \frac{1}{2\pi}\int_{0}^{2\pi} (\alpha+R\cos(\theta))d\theta
```

Footnotes

Bu sözdizimi, Footnote references için satır içi sözdizimi ile eşleştirilmiştir. O bölümü de okuduğunuzdan emin olun.

Dipnot metni, dipnot referans sözdizimine benzer olan aşağıdaki sözdizimi kullanılarak tanımlanır; tek fark, dipnot etiketine eklenen : karakteridir.

[^1]: Numbered footnote text.

[^note]:

    Named footnote text containing several toplevel elements
    indented by 4 spaces or one tab.

      * item one
      * item two
      * item three

    ```julia
    function func(x)
        # ...
    end
    ```
Note

Parçalama sırasında tüm dipnot referanslarının eşleşen dipnotlara sahip olduğundan emin olmak için hiçbir kontrol yapılmaz.

Horizontal rules

Üç tire (---) kullanarak bir <hr> HTML etiketinin eşdeğerini elde edebilirsiniz. Örneğin:

Text above the line.

---

And text below the line.

Tables

Temel tablolar aşağıda açıklanan sözdizimi kullanılarak yazılabilir. Markdown tablolarının sınırlı özellikleri vardır ve yukarıda tartışılan diğer öğeler gibi iç içe üst düzey öğeler içeremez - yalnızca satır içi öğelere izin verilir. Tablolar her zaman sütun adlarıyla bir başlık satırı içermelidir. Hücreler tablonun birden fazla satırını veya sütununu kapsayamaz.

| Column One | Column Two | Column Three |
|:---------- | ---------- |:------------:|
| Row `1`    | Column `2` |              |
| *Row* 2    | **Row** 2  | Column ``3`` |
Note

Yukarıdaki örnekte gösterildiği gibi, her | karakteri sütunu dikey olarak hizalanmalıdır.

Bir sütun başlığı ayırıcılarının ( - karakterlerini içeren satır) her iki ucundaki : karakteri, satırın sola, sağa veya (her iki uçta : olduğunda) ortalanmış olarak hizalanıp hizalanmayacağını belirtir. : karakteri sağlanmadığında, sütun sağa hizalanır.

Admonitions

Özel olarak biçimlendirilmiş bloklar, belirli yorumları vurgulamak için kullanılabilen uyarılar olarak bilinir. Aşağıdaki !!! sözdizimini kullanarak tanımlanabilirler:

!!! note

    This is the content of the note.
    It is indented by 4 spaces. A tab would work as well.

!!! warning "Beware!"

    And this is another one.

    This warning admonition has a custom title: `"Beware!"`.

!!! sonrasındaki ilk kelime, uyarının türünü belirtir. Özel stil uygulaması gereken standart uyarı türleri vardır. Bunlar (ciddiyet sırasına göre azalan): tehlike, uyarı, bilgi/not ve ipuçları.

Kendi uyarı türlerinizi de kullanabilirsiniz, yeter ki tür adı yalnızca küçük Latin harfleri (a-z) içersin. Örneğin, şöyle bir terminology bloğunuz olabilir:

!!! terminology "julia vs Julia"

    Strictly speaking, "Julia" refers to the language,
    and "julia" to the standard implementation.

Ancak, Markdown'u işleyen kod o belirli uyarı türünü özel olarak ele almadıkça, varsayılan stil alacaktır.

Bir kutu için özel bir başlık, uyarı türünden sonra bir dize (çift tırnak içinde) olarak sağlanabilir. Eğer uyarı türünden sonra başlık metni belirtilmemişse, o zaman başlık olarak tür adı kullanılacaktır (örneğin, note uyarısı için "Not").

Uyarılar, diğer çoğu üst düzey öğe gibi, diğer üst düzey öğeleri (örneğin listeler, resimler) içerebilir.

Markdown String Literals

md"" makrosu, Markdown dizelerini doğrudan Julia kodunuza yerleştirmenizi sağlar. Bu makro, Markdown formatında metinlerin Julia kaynak dosyalarınıza dahil edilmesini basitleştirmek için tasarlanmıştır.

Usage

result = md"This is a **custom** Markdown string with [a link](http://example.com)."

Markdown Syntax Extensions

Julia'nın markdown'u, temel dize literallerine çok benzer bir şekilde interpolasyonu destekler; farkı, nesneyi Markdown ağacında saklamasıdır (onu bir dizeye dönüştürmek yerine). Markdown içeriği render edildiğinde, genellikle show yöntemleri çağrılacaktır ve bunlar her zamanki gibi geçersiz kılınabilir. Bu tasarım, temel sözdizimini karmaşık özelliklerle (referanslar gibi) karıştırmadan genişletmeye olanak tanır.

Prensip olarak, Markdown ayrıştırıcısı kendisi de paketler tarafından keyfi olarak genişletilebilir veya tamamen özel bir Markdown çeşidi kullanılabilir, ancak bu genellikle gereksiz olmalıdır.

API reference

Markdown.MDType
MD

MD bir Markdown belgesini temsil eder. MD yapıcısının doğrudan kullanılmaması gerektiğini unutmayın, çünkü bu, iç veri yapılarını oluşturur. Bunun yerine, MD nesnelerini dışa aktarılan makroları kullanarak oluşturabilirsiniz: @md_str ve @doc_str.

source
Markdown.@md_strMacro
@md_str -> MD

Verilen dizeyi Markdown metni olarak ayrıştırın ve karşılık gelen MD nesnesini döndürün.

Örnekler

julia> s = md"# Merhaba, dünya!"
  Merhaba, dünya!
  ≡≡≡≡≡≡≡≡≡≡≡≡≡

julia> typeof(s)
Markdown.MD
source
Markdown.@doc_strMacro
@doc_str -> MD

Verilen dizeyi Markdown metni olarak ayrıştırın, satır ve modül bilgisi ekleyin ve karşılık gelen MD nesnesini döndürün.

@doc_str Base.Docs modülü ile birlikte kullanılabilir. Daha fazla bilgi için lütfen belgelendirme bölümüne de bakın.

Örnekler

julia> s = doc"f(x) = 2*x"
  f(x) = 2*x

julia> typeof(s)
Markdown.MD
source
Markdown.htmlFunction
html([io::IO], md)

Markdown nesnesinin md içeriğini HTML formatında çıktı olarak verir, isteğe bağlı bir io akışına yazabilir veya bir dize döndürebilir.

Alternatif olarak show(io, "text/html", md) veya repr("text/html", md) kullanılabilir; bu yöntemler, çıktıyı <div class="markdown"> ... </div> öğesi içine sararak farklılık gösterir.

Örnekler

julia> html(md"hello _world_")
"<p>hello <em>world</em></p>\n"
source
Markdown.latexFunction
latex([io::IO], md)

Markdown nesnesinin md içeriğini LaTeX formatında çıktı olarak verir, isteğe bağlı bir io akışına yazabilir veya bir dize döndürebilir.

Alternatif olarak show(io, "text/latex", md) veya repr("text/latex", md) kullanılabilir.

Örnekler

julia> latex(md"hello _world_")
"hello \\emph{world}\n\n"
source