Markdown · 2020. 9. 28. · Markdown Jeszenszky Péter Debreceni Egyetem, Informatikai Kar...
Transcript of Markdown · 2020. 9. 28. · Markdown Jeszenszky Péter Debreceni Egyetem, Informatikai Kar...
-
Markdown
Jeszenszky PéterDebreceni Egyetem, Informatikai Kar
Utolsó módosítás: 2020. szeptember 28.
mailto:[email protected]
-
2
Jelölőnyelvek● A jelölőnyelvek szöveg annotálására szolgáló
számítógépes nyelvek.– Lehetővé teszik szövegrészekhez metaadatok megadását a
szövegtől jól elkülöníthető módon.● Példák:
– TeX, LaTeX https://www.latex-project.org/– Markdown https://daringfireball.net/projects/markdown/– troff (man oldalak) https://www.gnu.org/software/groff/– XML https://www.w3.org/XML/– Wikitext https://en.wikipedia.org/wiki/Help:Wikitext
https://www.latex-project.org/https://daringfireball.net/projects/markdown/https://www.gnu.org/software/groff/https://www.w3.org/XML/https://en.wikipedia.org/wiki/Help:Wikitext
-
3
Mi a Markdown?
● A Markdown egy pehelysúlyú jelölőnyelv sima szöveges formázási szintaxissal.– Lásd: https://en.wikipedia.org/wiki/Markdown
https://en.wikipedia.org/wiki/Markdown
-
4
Szimbólum
● Dustin Curtis. The Markdown Mark. https://dcurt.is/the-markdown-mark https://github.com/dcurtis/markdown-mark
https://dcurt.is/the-markdown-markhttps://github.com/dcurtis/markdown-mark
-
5
Jellemzők
● Könnyen olvasható és könnyen írható sima szöveges formátum.
● Különféle kimeneti formátumokba alakítható (például HTML-be).
● Kifejezetten a speciális ismeretekkel nem rendelkező felhasználókat célozza meg.
● Szintaxisát főleg a sima szöveges email formázás ihlette.
-
6
Használat (1)
● A Markdown-t széles körben használják a weben szövegbevitelre.
● A fő alkalmazási területek közé tartoznak:– Kollaborációs eszközök és platformok– Blogolási platformok és tartalomkezelő rendszerek– Online közösségi platformok– Műszaki és tudományos publikálás
-
7
Használat (2)
● Kollaborációs eszközök és platformok:– GitHub https://github.com/
● Lásd: Writing on GitHub https://help.github.com/en/categories/writing-on-github
– Trello https://trello.com/● Lásd: How To Format Your Text in Trello
https://help.trello.com/article/821-using-markdown-in-trello
https://github.com/https://help.github.com/en/categories/writing-on-githubhttps://trello.com/https://help.trello.com/article/821-using-markdown-in-trellohttps://help.trello.com/article/821-using-markdown-in-trello
-
8
Használat (3)
● Blogolási platformok és tartalomkezelő rendszerek:– Moodle https://moodle.org/
● Lásd: https://docs.moodle.org/en/Markdown– WordPress https://wordpress.com/
● Lásd: Using Markdown on WordPress.com https://en.support.wordpress.com/can-i-use-markdown-on-wordpress-com/
https://moodle.org/https://docs.moodle.org/en/Markdownhttps://wordpress.com/https://en.support.wordpress.com/can-i-use-markdown-on-wordpress-com/https://en.support.wordpress.com/can-i-use-markdown-on-wordpress-com/
-
9
Használat (4)
● Online közösségi platformok:– reddit https://www.reddit.com/
● Lásd: https://www.reddit.com/wiki/markdown– Stack Overflow https://stackoverflow.com/
● Lásd: How do I format my posts using Markdown or HTML? https://stackoverflow.com/help/formatting
https://www.reddit.com/https://www.reddit.com/wiki/markdownhttps://stackoverflow.com/https://stackoverflow.com/help/formatting
-
10
Használat (5)● Műszaki és tudományos publikálás:
– bookdown https://bookdown.org/– Daniel Stenberg. Everything curl.
https://curl.haxx.se/book.html https://github.com/bagder/everything-curl
– GitBook https://www.gitbook.com/● Lásd: https://docs.gitbook.com/content-editing/markdown
– Microsoft Docs https://docs.microsoft.com/● Lásd: A Docs Markdown-referenciája
https://docs.microsoft.com/hu-hu/contribute/markdown-reference
https://bookdown.org/https://curl.haxx.se/book.htmlhttps://github.com/bagder/everything-curlhttps://www.gitbook.com/https://docs.gitbook.com/content-editing/markdownhttps://docs.microsoft.com/https://docs.microsoft.com/hu-hu/contribute/markdown-referencehttps://docs.microsoft.com/hu-hu/contribute/markdown-reference
-
11
Történet (1)
● A Markdown-t eredetileg John Gruber fejlesztett ki 2004-ben Aaron Swartz közreműködésével.– Az alábbiak képében alkották meg:
● egy sima szöveges formátum, mely strukturált dokumentumok írására szolgál, és
● egy Perl szkript, mely a Markdown-t HTML-be alakítja (Markdown.pl).
● Webhely: https://daringfireball.net/projects/markdown/
https://daringfireball.net/projects/markdown/
-
12
Történet (2)
● A Markdown létrehozása mögötti indítékok:– John Gruber. Dive Into Markdown. 19 March 2004.
https://daringfireball.net/2004/03/dive_into_markdown
● Az eredeti Markdown szintaxis: https://daringfireball.net/projects/markdown/syntax– A szintaxis nem egyértelműen meghatározott.
https://daringfireball.net/2004/03/dive_into_markdownhttps://daringfireball.net/2004/03/dive_into_markdownhttps://daringfireball.net/projects/markdown/syntaxhttps://daringfireball.net/projects/markdown/syntax
-
13
Állomány jellemzők
● Állomány kiterjesztés: .md● Média típus: text/markdown
– Opcionális paraméter: variant● Lásd: Sean Leonard. The text/markdown
Media Type. RFC 7763. March 2016. https://tools.ietf.org/html/rfc7763
https://tools.ietf.org/html/rfc7763
-
14
Szintaktikus félreérthetőség (1)
● A szintaxis félreérthető elemeinek egy átfogó listáját lásd:– CommonMark Spec – Why is a spec needed?
https://spec.commonmark.org/0.29/#why-is-a-spec-needed-
● A félreérthetőség feloldásának egy lehetséges módja a Gruber által készített implementáció (Markdown.pl) forráskódjának tanulmányozása.– Az impementáció sajnos eléggé sok hibát tartalmaz.
https://spec.commonmark.org/0.29/#why-is-a-spec-needed-https://spec.commonmark.org/0.29/#why-is-a-spec-needed-
-
15
Szintaktikus félreérthetőség (2)
● Babelmark 2https://johnmacfarlane.net/babelmark2/– Eszköz az eredeti Markdown szintaxis különféle
implementációi által előállított kimenetek összehasonlításához.
https://johnmacfarlane.net/babelmark2/
-
16
Szabványosítás
● CommonMark https://commonmark.org/– A Markdown egy egyértelmű szintaxis
specifikációja.– Specifikáció: CommonMark Spec
https://spec.commonmark.org/● Egy tesztkészlet is biztosít az implementációk a
specifikációnak való megfelelésének ellenőrzéséhez.
https://commonmark.org/https://spec.commonmark.org/
-
17
Változatok● A Markdown-nak számos változata és kiterjesztése
létezik, mint például:– GitHub Flavored Markdown (GFM)
● Lásd: GitHub Flavored Markdown Spec https://github.github.com/gfm/– Pandoc's Markdown
● Lásd: Pandoc User’s Guide – Pandoc's Markdown https://pandoc.org/MANUAL.html#pandocs-markdown
– …● Lásd: Markdown Variants
https://www.iana.org/assignments/markdown-variants/markdown-variants.xhtml
https://github.github.com/gfm/https://pandoc.org/MANUAL.html#pandocs-markdownhttps://www.iana.org/assignments/markdown-variants/markdown-variants.xhtmlhttps://www.iana.org/assignments/markdown-variants/markdown-variants.xhtml
-
18
Oktatóanyagok
● Markdown Guide https://www.markdownguide.org/
● Markdown Tutorial https://commonmark.org/help/tutorial/
https://www.markdownguide.org/https://commonmark.org/help/tutorial/
-
19
Szerkesztők (1)
● Szabad és nyílt forrású szoftverek:– Visual Studio Code (platform: Linux, macOS, Windows;
licenc: MIT License) https://code.visualstudio.com/ https://github.com/Microsoft/vscode
● Lásd: https://code.visualstudio.com/docs/languages/markdown
● Javasolt kiterjesztések:– Markdown All in One
https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one
– Markdown+Math https://marketplace.visualstudio.com/items?itemName=goessner.mdmath
https://code.visualstudio.com/https://github.com/Microsoft/vscodehttps://code.visualstudio.com/docs/languages/markdownhttps://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-onehttps://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-onehttps://marketplace.visualstudio.com/items?itemName=goessner.mdmathhttps://marketplace.visualstudio.com/items?itemName=goessner.mdmath
-
20
Szerkesztők (2)● Szabad és nyílt forrású szoftverek (folytatás):
– ghostwriter (platform: Linux, Windows; programozási nyelv: C++; licenc: GPLv3) http://wereturtle.github.io/ghostwriter/ https://github.com/wereturtle/ghostwriter
– Mark Text (platform: Linux, macOS, Windows; programozási nyelv: JavaScript; licenc: MIT License) https://marktext.app/ https://github.com/marktext/marktext
– Remarkable (platform: Linux; programozási nyelv: Python; licenc: MIT License) http://remarkableapp.github.io/ https://github.com/jamiemcg/remarkable
– StackEdit (programozási nyelv: JavaScript; licenc: Apache License 2.0) https://stackedit.io/ https://github.com/benweet/stackedit
http://wereturtle.github.io/ghostwriter/https://github.com/wereturtle/ghostwriterhttps://marktext.app/https://github.com/marktext/marktexthttp://remarkableapp.github.io/https://github.com/jamiemcg/remarkablehttps://stackedit.io/https://github.com/benweet/stackedit
-
21
Szerkesztők (3)
● Nem szabad szoftverek:– XML Editor https://www.oxygenxml.com/
● Lásd: https://www.oxygenxml.com/xml_editor/markdown_editor.html
– IntelliJ IDEA https://www.jetbrains.com/idea/● Az Ultimate és a közösségi kiadásban is támogatott.● Lásd: https://www.jetbrains.com/help/idea/markdown.html
https://www.oxygenxml.com/https://www.oxygenxml.com/xml_editor/markdown_editor.htmlhttps://www.oxygenxml.com/xml_editor/markdown_editor.htmlhttps://www.jetbrains.com/idea/https://www.jetbrains.com/help/idea/markdown.html
-
22
Konverziós eszközök
● Szabad és nyílt forrású szoftverek:– Pandoc (platform: Linux, macOS, Windows; license:
GPLv2) https://pandoc.org/ https://github.com/jgm/pandoc
● Haskell-ben írt parancssori eszköz, mely állományok egy jelölőnyelv formátumból egy másikba történő alakítására szolgál.
● A Markdown bemeneti és kimeneti formátumként is támogatott.
https://pandoc.org/https://github.com/jgm/pandoc
-
23
Pandoc (1)
● Telepítés: https://pandoc.org/installing.html● Használat: https://pandoc.org/MANUAL.html
pandoc --standalone --to html input.md \--output output.html --css style.css
or
pandoc -s -t html input.md -o output.html \-c style.css
https://pandoc.org/installing.htmlhttps://pandoc.org/MANUAL.html
-
24
Pandoc (2)
● A kimenet stilizálása CSS-sel:– A -c/--css parancssori opció egy egyéni CSS
stíluslapot társít a kimeneti dokumentumhoz.● Ez az opció többször is megadható.
-
25
Pandoc (3)
● Példák egyéni CSS stíluslapra:– Pan Am: Simple CSS for Pandoc (licenc: WTFPL)
https://benjam.info/pan-am/ https://github.com/bgw/pan-am
● CSS stíluslap: http://benjam.info/panam/styling.css– Tufte Pandoc CSS (licenc: MIT License)
https://jez.io/tufte-pandoc-css/ https://github.com/jez/tufte-pandoc-css
https://benjam.info/pan-am/https://github.com/bgw/pan-amhttp://benjam.info/panam/styling.csshttps://jez.io/tufte-pandoc-css/https://github.com/jez/tufte-pandoc-css
-
26
Pandoc (4)
● IDE integráció:– Visual Studio Code:
● vscode-pandoc https://github.com/dfinke/vscode-pandoc https://marketplace.visualstudio.com/items?itemName=DougFinke.vscode-pandoc
https://github.com/dfinke/vscode-pandochttps://marketplace.visualstudio.com/items?itemName=DougFinke.vscode-pandochttps://marketplace.visualstudio.com/items?itemName=DougFinke.vscode-pandoc
-
27
R Markdown (1)
● A Markdown egy kiterjesztése, mely lehetővé teszi végrehajtható kódrészek beágyazását.– Például a következő programozási nyelvek
támogatottak: Apache Groovy, Bash, Haskell, Python, R, Scala, SQL, …
● Állomány kiterjesztés: .Rmd● Webhely: https://rmarkdown.rstudio.com/
https://rmarkdown.rstudio.com/
-
28
R Markdown (2)
● Megvalósítás egy R csomagként (rmarkdown). https://cran.r-project.org/web/packages/rmarkdown/
https://cran.r-project.org/web/packages/rmarkdown/https://cran.r-project.org/web/packages/rmarkdown/
-
29
R Markdown (3)● Támogatott kimeneti formátumok: HTML, PDF,
PowerPoint, MS Word, …● PDF kimenet előállításához TeX rendszer szükséges.
– A rendelkezésre álló lehetőségek egy listáját lásd: https://www.latex-project.org/get/#tex-distributions
– A TeX telepítésének legegyszerűbb módja R felhasználók számára:
● TinyTeX https://yihui.org/tinytex/– Egy pehelysúlyú, platformfüggetlen és hordozható TeX disztribúció, mely a TeX
Live-on alapul.– A tinytex R csomag szolgál a TinyTeX telepítésére. A telepítéshez nem
szükséges adminisztrátori jogosultság.
https://www.latex-project.org/get/#tex-distributionshttps://yihui.org/tinytex/
-
30
R Markdown (4)
● Dokumentáció:– Yihui Xie, J. J. Allaire, Garrett Grolemund. R
Markdown: The Definitive Guide. 2019. https://bookdown.org/yihui/rmarkdown/ https://github.com/rstudio/rmarkdown-book
● Eszköztámogatás:– RStudio https://www.rstudio.com/
https://bookdown.org/yihui/rmarkdown/https://github.com/rstudio/rmarkdown-bookhttps://www.rstudio.com/
-
31
R Markdown (5)
● Az rmarkdown csomag a knitr csomagtól függ.– A kintr egy R csomag dinamikus jelentések
létrehozásához.– A Markdown kódba beágyazott programkód
kiértékelésére és az eredmény beillesztésére szolgál.
– Webhely: https://yihui.org/knitr/ https://github.com/yihui/knitr
https://yihui.org/knitr/https://github.com/yihui/knitr
-
32
R Markdown (6)
● Konverzió:
file.Rmd knitr file.md pandoc file.html
file.doc
file.pdf
-
33
R Markdown (7)---title: "R Markdown Example"author: Péter Jeszenszkyoutput: html_document---
```{r setup, include = FALSE}knitr::opts_chunk$set(echo = TRUE)```
# Using LaTeX and R
Plot of the function $f(x) = sin(x) + cos(\sqrt{3}x)$:```{r}library(ggplot2)f
-
34
-
35
R Markdown (9)● bookdown:
– R csomag könyvek, nagyobb lélegzetű cikkek és jelentések R Markdown formátumban történő elkészítéséhez.
– Többféle kimeneti formátumot támogat: PDF, LaTeX, HTML, EPUB, MS Word.
– Lehetővé teszi dinamikus grafika és interaktív alkalmazások beillesztését is.
– Valamennyi kimeneti formátumhoz lehetővé teszi LaTeX matematikai formulák használatát.
– A bookdown-nal készült könyvek listáját lásd a csomag webhelyén.– Webhely: https://bookdown.org/– Dokumentáció: https://bookdown.org/yihui/bookdown/
https://bookdown.org/https://bookdown.org/yihui/bookdown/
-
36
Mintapéldák
● https://github.com/jeszy75/markdown-examples
https://github.com/jeszy75/markdown-examples
-
37
További olvasnivaló
● Sean Leonard. Guidance on Markdown: Design Philosophies, Stability Strategies, and Select Registrations. RFC 7764. March 2016. https://tools.ietf.org/html/rfc7764
https://tools.ietf.org/html/rfc7764
Dia 1Dia 2Dia 3Dia 4Dia 5Dia 6Dia 7Dia 8Dia 9Dia 10Dia 11Dia 12Dia 13Dia 14Dia 15Dia 16Dia 17Dia 18Dia 19Dia 20Dia 21Dia 22Dia 23Dia 24Dia 25Dia 26Dia 27Dia 28Dia 29Dia 30Dia 31Dia 32Dia 33Dia 34Dia 35Dia 36Dia 37