Sintaxa marcajului

Markdown este conceput pentru a fi simplu atât pentru citire cât și pentru scriere, pe cât posibil.

Cu toate acestea, mă refer la claritate, mai presus de toate. format de document Markdown ar trebui privit ca este, ca text simplu, care nu ar prinde ochiul de orice etichete sau instrucțiuni de formatare. Sintaxa Markdown a fost influențată de mai multe mesaje text-filtre existente în HTML (inclusiv Setext. Atx. textile. ReStructuredText. Grutatext. Și EtText) și cea mai mare sursă de inspirație pentru sintaxa Markdown a fost e-mailuri text simplu.







Prin urmare, sintaxa Markdown este alcătuită în întregime din punctuație și punctuație, care au fost atent selectate pentru a arăta ca ceea ce înseamnă ele. De exemplu, asteriscurile din jurul unui cuvânt se trag de la sine Atenția # 42; 1. Liste de marcaj arata bine, ca liste. Chiar și citatele par a fi citate din pasajele textului care vă sunt cunoscute dacă ați folosit vreodată e-mail.

Introducerea HTML

Pentru a crea o marcare pe care sintaxa Markdown nu o oferă, puteți utiliza pur și simplu codul HTML. Nu este nevoie să înfășurați codul HTML în orice delimitare specială pentru a realiza trecerea de la Markdown la HTML; începeți să utilizați numai etichete HTML.

Singura limitare este aceea că blochează elementele HTML (adică,

, ,
, 

etc.) trebuie separate prin linii goale din textul înconjurător, iar eticheta de început și sfârșit nu trebuie să fie retrasă de la începutul liniei. Marcarea este suficient de inteligentă pentru a nu introduce elemente suplimentare (nedorite)

în jurul elementelor de blocare HTML. Iată un exemplu de introducere a unui tabel HTML într-un articol scris pe Markdown:

Sintaxă de formatare Markdown nu este procesată în interiorul elementelor HTML blocate. De exemplu, nu puteți utiliza un Markdown # 42; evidențierea textului # 42; (vezi mai jos) în interiorul blocului HTML.

Spre deosebire de blocarea elementelor HTML, elementele HTML inline tratează sintaxa Markdown.

Codificare automată pentru caractere speciale

În HTML există două simboluri care necesită tratament special: <и &. Левая угловая скобка используется как начало тэга; амперсанды применяются для обозначения сущностей (entities). А чтобы использовать эти символы в их буквальном смысле, приходится их самих приводить как сущности, то есть < и - соответственно.

apoi în atributul href trebuie să fie codificat astfel:

Această circumstanță nu este greu de uitat și, prin urmare, servește ca o sursă inepuizabilă de erori HTML, chiar și pe site-uri care altfel utilizează marcare excelentă.

Markdown vă permite să folosiți aceste caractere într-un mod natural; el însuși se ocupă de cum să le evite. Dacă ampersandul este folosit ca parte a entității HTML, acesta va rămâne neschimbat; altfel Markdown o va transforma.

Astfel, pentru a insera un simbol de copyright într-un articol, este suficient să scrieți

și Markdown o va lăsa așa cum este. Și dacă scrii

apoi Markdown îl convertește în cod

În mod similar, deoarece Markdown acceptă HTML inline, parantezele unghiulare utilizate pentru a separa etichetele HTML de text, Markdown, rămân neschimbate. Dar dacă scrieți

atunci Markdown convertește acest text în cod

Cu toate acestea, în cadrul fragmentelor de coduri de rânduri și blocuri de cod Markdown, parantezele unghiulare și ampersandurile sunt întotdeauna codate automat. Acest lucru face mai ușor să utilizați Markdown în cazul în care textul este dedicat limbii HTML și distinge Markdown de limbajul HTML în sine (ceea ce este extrem de incomod pentru a scrie despre sintaxa HTML, deoarece personajele <или & приходится избегать посредством специального кодирования).

Blocarea elementelor de marcare

Puncte și linii de alimentare

Paragraful este scris în Markdown destul de simplu: este una sau mai multe linii de text, separate de textul din jur de o linie (sau mai mult de una) goală. (Un șir gol este ceva care pare necompletat, un șir care nu conține nimic, cu excepția spațiilor și filelor este considerat gol). Paragrafele obișnuite nu ar trebui să fie indentate din spații sau din caracterele de file.

Pentru a introduce o pauză de linie vizibilă (element
) de Markdown, trebuie să terminați linia cu două (sau mai multe) spații și apoi să faceți clic pe "Enter".

Desigur, acest lucru necesită un efort mai mic decât o regulă simplă "traducerea fiecărei linii este convertită
și devine vizibil ", însă o astfel de regulă pentru Markdown nu este potrivită. Unele caracteristici ale sintaxei Markdown - citare de tip bloc de e-mail, elementele multi-tabel ale listelor - arată mult mai bine și funcționează dacă sunt formatate cu "traduceri liniare".

Markdown acceptă două stiluri de anteturi: subliniate și evidențiate prin simbolul "#". Titlurile subliniate sunt subliniate cu semne egale (dacă titlul este primul nivel) sau cratime (dacă cel de-al doilea nivel). Iată un exemplu:

Orice număr de caractere de subliniere "=" sau "-" este potrivit. Anteturile marcate cu un simbol "#" utilizează una până la șase astfel de caractere într-un rând la începutul liniei; Numărul de caractere corespunde nivelului antetului (de la primul la al șaselea). Iată un exemplu:

Markdown este indulgent față de oamenii leneși și, prin urmare, vă permite să plasați> chiar înaintea primei linii a paragrafului, chiar și atunci când "traducerile liniei grele" este împărțită în mai multe rânduri.

Cotațiile pot fi imbricate (adică citate în citate), pentru marcarea lor se utilizează niveluri suplimentare ">":

Citatele pot conține și alte elemente Markdown - anteturi, liste, blocuri de cod:

Marcarea vă permite să compilați liste numerotate și neimprimate.

Ca marcatori ai unei liste neumerate, asteriscuri sau plusuri sau cratime, sunt folosite; aceste simboluri pot fi folosite în mod interschimbabil în acest scop.

Să spunem, aici este acest exemplu:

este destul de echivalent cu aceasta:

Listele numerotate sunt folosite ca marcatori ai unui număr cu un punct:

Numerele specifice care sunt utilizate în marcarea listei nu au niciun efect asupra codului HTML final produs de Markdown. În conformitate cu lista de mai sus, Markdown va produce acest cod HTML:

Dacă scrieți o listă în felul următor:

Cu toate acestea, în orice caz, numerotarea unei liste numerotate ar trebui să înceapă cu una, deși creatorul Markdown presupune că în dezvoltarea viitoare, Markdown poate începe să mențină o numerotare începând cu un număr arbitrar.

Indicatorii de marcaj încep de obicei la începutul unei linii, dar pot fi precedate de până la trei spații. Marcatorul trebuie urmat de un spațiu (unul sau mai mulți) sau un caracter tab.







Pentru frumusețe, puteți furniza următoarele linii ale listei cu indentări:

Dar dacă nu este nevoie, atunci nu puteți pierde timpul:

Dacă elementele listei sunt separate prin linii goale, Markdown va înfășura aceste elemente cu etichete

în ultimul cod HTML. Spuneți, aici este lista:

vor fi transformate în formă

dar aceasta:

vor fi transformate în formă

Elementele listei pot consta din mai multe paragrafe. Al doilea, al treilea și fiecare paragraf ulterior al elementului trebuie să fie indentate din patru spații sau dintr-un caracter tab:

Lista pare a fi plăcută dacă tu indentați fiecare linie. Dar dacă nu există timp pentru a face acest lucru, atunci pentru Markdown este suficient să le furnizăm doar prima linie a paragrafului:

Dacă există un citat în interiorul elementului din listă, atunci este necesar să indentați separatoarele ">", citatul precedent:

Pentru a plasa un bloc de cod în interiorul unui element de listă, acest bloc de coduri trebuie să fie prevăzut cu două suprapuse, adică fie opt spații, fie două file:

Din nefericire, poți să începi o listă numerotată din întâmplare, doar scriind ceva de genul:

(adică, cu alte cuvinte, scrieți la începutul liniei o secvență constând dintr-un număr, o perioadă și un spațiu). Pentru a evita acest efect, puteți pune o lunetă înapoi în fața punctului:

Cu toate acestea, deoarece Markdown permite în prezent începerea numelui de listă de la un singur, acest efect poate fi neglijat.

Blocuri de cod

Pentru a crea un bloc de cod în Markdown, este suficient să aprovizionăm doar fiecare linie a blocului cu o indentare compusă din patru spații sau un caracter tab. De exemplu, aici este următorul text:

vor fi convertite în următorul cod HTML:

Un nivel de indentare (4 spații sau 1 caracter tab) este eliminat din fiecare linie a blocului de cod. De exemplu, aici este următorul text:

vor fi transformate în formă

Blocul de cod continuă până când se găsește o linie fără indentare (sau sfârșit de text).

În cadrul blocului de coduri, ampersandurile ("") și parantezele unghiulare ("<» и «>") Sunt convertite automat în entități HTML. Prin urmare, nu este dificil să folosiți Markdown pentru a include exemple în HTML: trebuie doar să le inserați și să le indentați, iar Markdown va avea grijă de ampersanduri de codificare și paranteze unghiulare. Să spunem, aici este acest exemplu:

va arata ca urmatorul cod HTML:

Sintaxa uzuală pentru Markdown nu este tratată în interiorul blocurilor de coduri. De exemplu, asteriscurile din interiorul unui bloc de cod sunt considerate pur și simplu asteriscuri în sensul literal. Deci, este ușor să folosiți Markdown pentru a scrie despre sintaxa proprie, oferind exemple.

Bara orizontală

Pentru a crea o linie orizontală (corespunzătoare elementului HTML


), este suficient să plasați trei (sau mai multe) cratime sau stele sau sublinieri pe un rând separat de text. Dacă doriți, puteți pune spații între cratime sau asteriscuri. Fiecare dintre următoarele linii corespunde liniei orizontale:

Elemente încorporate

hyperlink-uri

Markdown acceptă trei stiluri de design hyperlink:

Prima pereche de stiluri presupune că pe lângă adresa URL există și un text de legătură; în marcajul acesta [este în paranteze pătrate].

Acest exemplu va afișa următorul cod HTML:

Pentru a vă referi la o resursă locală (care este situată pe același server), puteți utiliza căi relative:

Pentru a separa două perechi de paranteze pătrate, se poate utiliza un spațiu opțional:

Apoi, oriunde în document, trebuie să definiți această etichetă de referință, pentru care folosiți o linie separată a următoarelor informații despre formular:

Această linie constă din următoarele elemente:

  • Identificatorul de referință este înconjurat de paranteze pătrate (care pot fi precedate de o indentare opțională - de la una la trei spații).
  • Colonul,
  • Unu sau mai multe spații (sau file).
  • Adresa URL a hyperlinkului.
  • Titlul opțional (tooltip) al unui hyperlink, inclus în ghilimele duble sau simple, sau în paranteze.

Cele trei definiții de referință următoare sunt destul de echivalente:

Un URL de hyperlink poate fi (dar nu trebuie) plasat în cotații unghiulare:

Puteți plasa titlul pe următoarea linie și înainte de indentare din spații (sau file); cu adrese URL lungi, un astfel de record arată mai frumos:

Astfel de definiții de referință sunt folosite numai pentru a crea linkuri în sine atunci când procesează textul în Markdown; din codul HTML final de definire a link-urilor sunt eliminate.

Identificatorii de linkuri pot consta din litere, numere, spații și semne de punctuație, dar nu sunt sensibile la majuscule și minuscule. De exemplu, aici sunt aceste două linkuri:

Markdown vă permite de asemenea să utilizați eticheta implicită a hiperlinkului; în acest caz, eticheta nu este dată, în loc de aceasta se utilizează textul hiperlink și numele său, iar a doua pereche de paranteze pătrate rămâne goală. De exemplu, pentru a face cuvântul "Google" un hyperlink care să conducă la google.com, este suficient să scrieți:

și apoi definiți un hyperlink:

Deoarece numele de link-uri pot conține spații, acest lucru va funcționa chiar și atunci când textul hiperlinkului este format din mai multe cuvinte:

Și apoi definiți hyperlink-ul:

Astfel de definiții de referință pot fi localizate oriunde în interiorul documentului Markdown. Puteți să le plasați la sfârșitul fiecărui paragraf în care sunt utilizate sau la sfârșitul întregului document, ca în notele de subsol.

Avantajul hyperlink-urilor ca notele de subsol

Folosind eticheta implicită de hyperlink, puteți scrie:

Fiecare dintre aceste exemple este convertit de Markdown în următoarea vizualizare HTML:

Selecția semnificativă a textului

Markdown percepe asteriscuri ("*") și subliniază ("_") ca semne ale selecției semantice a textului:

  • Textul înconjurat de un singur "*" sau "_" este înfășurat într-o etichetă HTML .
  • Textul înconjurat de dublu "*" sau "_" este înfășurat într-o etichetă HTML .

De exemplu, aici este următorul text:

vor fi convertite în următorul cod HTML:

Fragmentul selectat poate fi în mijlocul cuvântului:

Dar dacă simbolul "*" sau "_" este înconjurat de spații, el dobândește sensul literal.

Pentru a obține un asterisc sau o subliniere într-o poziție în care acest personaj ar putea fi altfel perceput ca o selecție de text, trebuie să puneți o lunetă înapoi în fața stelei sau a sublinierii:

Fragmente de linii de cod

Pentru a marca fragmentul liniei care conține codul, este necesar să-l înconjurați cu apostrofuri din spate ("# 96;"). Spre deosebire de codurile de bloc, fragmentul de cod vă permite să plasați codul într-un paragraf obișnuit de text. Iată un exemplu:

Aceasta corespunde următorului cod HTML:

Pentru a folosi un apostrof înapoi în interiorul unui cod în sensul său literal, utilizați cronoacele asociate pentru a închide fragmentul de cod:

Codul HTML va arăta astfel:

Apostrofii inversi care înconjoară codul pot conține spații - un spațiu după apostrofile de deschidere și unul după cele de închidere. Acest lucru vă permite să puneți apostroful invers (în sensul său literal) chiar la începutul și (sau) la sfârșitul fragmentului de cod al șirului. Iată câteva exemple:

HTML-ul acestui exemplu va arăta astfel:

În cadrul fragmentului de cod al șirului, toate ampersandurile și parantezele unghiulare sunt convertite în forma entităților HTML corespunzătoare, ceea ce face ușor includerea exemplelor în HTML. De exemplu, Markdown convertește acest text:

la următoarea vizualizare HTML:

Puteți scrie și:

și obțineți următorul cod HTML:

imagine

Cu alte cuvinte, constă în următoarele elemente:

  • Semnul exclamării.
  • Paranteze paranteze care specifică un text alternativ la imagine (acesta va deveni conținutul atributului alt în elementul img).
  • Parentheses care conțin adresa URL sau calea relativă a imaginii și (opțional) conținutul atributului titlu (tooltip-ul imaginii) inclus în ghilimele duble sau simple.

Imaginile dintr-o notă de subsol ca aceasta sunt scrise după cum urmează:

unde "id" este numele unei anumite etichete de imagine. Marcile de imagine sunt definite folosind o sintaxa care este identica cu hyperlink-urile:

Trebuie notat că Markdown nu vă permite să setați dimensiunile imaginii (lățime, înălțime); dacă o astfel de sarcină este importantă, atunci ar trebui să utilizați un element regulat limba HTML.

Introducerea simplă a adresei URL

și Markdown va face HTML din ea

este convertit în această aproximativ aceeași formă:

Folosind backslashes

Așa cum am menționat mai sus, backslash-ul (caracterul "\") poate fi folosit în Markdown înainte de caractere speciale, astfel încât acestea să fie percepute în sensul lor literal (și nu serviciu). De exemplu, dacă doriți să plasați textul în cadrul asteriscului (mai degrabă decât să utilizați asteriscurile ca simbol pentru selecția semantică a textului), îl puteți scrie astfel:

Iată lista completă a caracterelor înaintea cărora Markdown poate fi pusă înapoi, așa că au fost luate literalmente:

postfață

Acest text este scris folosind markdown PHP Markdown Extra.

Inițial, nu am vrut să public acest text pe pagina mea, dar în traducerea rusă nu a existat nici o traducere a ideologiei Markdown. Al doilea "pro" a fost garanția disponibilității transferului 2.

Pentru a acorda atenție textului, este acceptat cu caractere italice sau, dacă nu este suficient, prin alocare cu caractere aldine. În limba engleză, cuvântul accent are valori - atenție, selecție, italică. În original se dovedește ceva de genul unei piese cu cuvinte. # 8617;

Se pare că traducerea a fost inițial făcută de proprietarul site-ului decedat markdown.pp.ru, de unde a fost copiat în enciclopedia "Tradiție", din care câteva locuri au fost copiate prost. Nu voi abandona site-ul meu. # 8617;

Căutați pe site







Articole similare

Trimiteți-le prietenilor: