Markdown (או מרקדאון) היא שפת סימון ליצירת טקסט מעוצב באמצעות עורך טקסט. ג'ון גרובר וארון שוורץ יצרו את Markdown בשנת 2004. Markdown נמצאת בשימוש נרחב בבלוגים, תוכנות למסרים מיידיים, פורומים מקוונים, תוכנות שיתופיות, דפי תיעוד וקובצי README.

היסטוריה עריכה

Markdown נוצרה בהשראת מוסכמות קיימות מראש לסימון טקסט רגיל בדואר אלקטרוני ופוסטים בקבוצות דיון, כגון שפות הסימון הקודמות setext (בערך 1992), טקסטיל (בערך 2002) ו-reStructuredText (בערך 2002).

בשנת 2002 ארון שוורץ יצר atx והתייחס אליו כ"פורמט הטקסט המובנה האמיתי". שוורץ וגרובר עבדו יחדיו כדי ליצור את שפת Markdown בשנת 2004, במטרה לאפשר לאנשים "לכתוב באמצעות פורמט טקסט רגיל קל לקריאה וקל לכתיבה, עם אופציה פשוטה להמיר אותו ל-XHTML (או HTML)"[1]

מטרת העיצוב העיקרית שלו הייתה שהשפה תהיה קריאה כפי שהיא, מבלי להיראות כאילו היא סומנה בתגים או הוראות עיצוב, בניגוד לטקסט המעוצב בשפות סימון "כבדות" יותר, כגון RTF, HTML, או אפילו ויקיטקסט, שלכל אחד מהם יש תגיות ברורות בשורה והוראות עיצוב שיכולות להקשות על הקריאה של הטקסט.

גדילה ופיצול עריכה

ככל שהפופולריות של Markdown גדלה במהירות, הופיעו יישומי Markdown רבים, מונעים בעיקר על ידי הצורך בתכונות נוספות כגון טבלאות, הערות שוליים, רשימות הגדרות, וקטעי Markdown בתוך בלוקים של HTML.

ההתנהגות של חלק מאלה חרגה מהטמעת הייחוס, שכן Markdown אופיינה רק במפרט לא פורמלי[2] וכדי להמיר אותה ל-HTML היה צורך ביישום Perl.

יחד עם זאת, מספר אי בהירויות במפרט הבלתי פורמלי משכו תשומת לב.[3] בעיות אלו דרבנו יצירת כלים כגון Babelmark[4][5] להשוואת הפלט של יישומים שונים,[6] ומאמץ של כמה מפתחים ושל מנתחי Markdown לסטנדרטיזציה. עם זאת, גרובר טען שסטנדרטיזציה מלאה תהיה טעות: "לאתרים (ולאנשים) שונים יש צרכים שונים. אף תחביר לא ישמח את כולם."[7]

גרובר נמנע משימוש בסוגרים מסולסלים ב-Markdown כדי לשמור אותם באופן לא רשמי להרחבות ספציפיות ליישום.[8]

גרסאות עריכה

אתרים כמו Bitbucket, Diaspora, GitHub,[9] OpenStreetMap, Reddit, SourceForge,[10] ו-Stack Exchange[11] משתמשים בגרסאות של Markdown כדי להקל על דיון בין משתמשים.

Markdown ב-GitHub עריכה

GitHub השתמשה בגרסה משלה של Markdown כבר משנת 2009,[12] והוסיפה תמיכה בעיצוב נוסף כגון טבלאות ותוכן בלוק, קינון בתוך רכיבי רשימה, כמו גם תכונות ספציפיות ל-GitHub כגון קישור אוטומטי של הפניות ל-commits, בעיות, שמות משתמש וכו'. בשנת 2017, GitHub שחררה מפרט רשמי של GitHub Flavored Markdown (GFM).[9]

Markdown Extra עריכה

Markdown Extra היא שפת סימון קלת משקל המבוססת על Markdown המיושמת ב-PHP (במקור), Python ו-Ruby.[13] שפה זו מוסיפה תכונות שאינן זמינות בתחביר Markdown רגיל. Markdown Extra נתמכת בחלק ממערכות ניהול התוכן כגון Drupal[14] ו-TYPO3.[15]

Markdown Extra הוסיפה את התכונות הבאות ל-Markdown:

  • סימון בתוך בלוקי HTML
  • אלמנטים עם תכונת id/class
  • "קוביות קוד מגודרות" המשתרעות על פני מספר שורות קוד
  • טבלאות[16]
  • רשימות הגדרות
  • הערות שוליים
  • קיצורי מילים

LiaScript עריכה

LiaScript[17] הוא ניב Markdown שנועד ליצור תוכן חינוכי אינטראקטיבי. הוא מיושם ב-Elm ו-TypeScript ומוסיף אלמנטים תחביר נוספים כדי להגדיר תכונות כמו:

  • אנימציות
  • פלט דיבור אוטומטי
  • נוסחאות מתמטיות (באמצעות KaTeX)
  • דיאגרמות אמנות של ASCII
  • סוגים שונים של חידונים וסקרים
  • JavaScript נתמך באופן מקורי וניתן לצרף אותו לאלמנטים שונים, כך ניתן להפוך קטעי קוד לניתנים להפעלה ולעריכה

יישומים עריכה

הטמעות של Markdown זמינות עבור יותר מתריסר שפות תכנות; בנוסף, יישומים, פלטפורמות ומסגרות רבות תומכות ב-Markdown.[18] לדוגמה, תוספי Markdown קיימים עבור כל פלטפורמת בלוגים גדולה.[19]

בעוד Markdown היא שפת סימון מינימלית ונקראת ונערכת עם עורך טקסט רגיל, ישנם עורכים מעוצבים במיוחד הצופים בתצוגה מקדימה של הקבצים עם סגנונות, הזמינים עבור כל הפלטפורמות העיקריות. עורכי קוד מקור רבים לשימוש כללי כוללים תוספים להדגשת תחביר עבור Markdown מובנים בהם או זמינים להורדה אופציונלית. עורכים שונים עשויים להציג חלון תצוגה מקדימה זה לצד זה או לעבד את הקוד ישירות בצורה של WYSIWYG.

חלק מהאפליקציות, השירותים והעורכים התומכים ב-Markdown כפורמט עריכה, כוללים:

קישורים חיצוניים עריכה

  מדיה וקבצים בנושא Markdown בוויקישיתוף

הערות שוליים עריכה

  1. ^ Markdown 1.0.1 readme source code "Daring Fireball – Markdown". 2004-12-17. אורכב מ-המקור ב-2004-04-02.
  2. ^ "Markdown Syntax Documentation". Daring Fireball.
  3. ^ "GitHub Flavored Markdown Spec – Why is a spec needed?". github.github.com.
  4. ^ "Babelmark 2 – Compare markdown implementations". Johnmacfarlane.net. נבדק ב-2014-04-25.
  5. ^ "Babelmark 3 – Compare Markdown Implementations". github.io. נבדק ב-2017-12-10.
  6. ^ "Babelmark 2 – FAQ". Johnmacfarlane.net. נבדק ב-2014-04-25.
  7. ^   ציוץ של John Gruber ברשת החברתית אקס (טוויטר), 5 בספטמבר 2014
  8. ^ Gruber, John (19 במאי 2022). "Markdoc". Daring Fireball. נבדק ב-19 במאי 2022. I love their syntax extensions — very true to the spirit of Markdown. They use curly braces for their extensions; I’m not sure I ever made this clear, publicly, but I avoided using curly braces in Markdown itself — even though they are very tempting characters — to unofficially reserve them for implementation-specific extensions. Markdoc’s extensive use of curly braces for its syntax is exactly the sort of thing I was thinking about. {{cite web}}: (עזרה)
  9. ^ 1 2 3 "GitHub Flavored Markdown Spec". GitHub. נבדק ב-2020-06-11.
  10. ^ "SourceForge: Markdown Syntax Guide". SourceForge. נבדק ב-2013-05-10.
  11. ^ "Markdown Editing Help". StackOverflow.com. נבדק ב-2014-04-11.
  12. ^ Tom Preston-Werner. "GitHub Flavored Markdown Examples". GitHub. נבדק ב-2021-04-02.
  13. ^ Fortin, Michel (2018). "PHP Markdown Extra". Michel Fortin website. נבדק ב-2018-12-26.
  14. ^ "Markdown editor for BUEditor". 4 בדצמבר 2008. {{cite web}}: (עזרה)
  15. ^ "Markdown for TYPO3 (markdown_content)". extensions.typo3.org.
  16. ^ "PHP Markdown Extra". Michel Fortin.
  17. ^ Dietrich, André. "LiaScript". liascript.github.io (באנגלית). נבדק ב-2022-01-17.
  18. ^ "W3C Community Page of Markdown Implementations". W3C Markdown Wiki. נבדק ב-24 במרץ 2016. {{cite web}}: (עזרה)
  19. ^ "Markdown THrowdown – What happens when FOSS software gets corporate backing". Ars Technica. 2014-10-05.
  20. ^ "Use Markdown formatting in Teams". Microsoft. נבדק ב-2022-01-13.
  21. ^ "Markdown Text 101 (Chat Formatting: Bold, Italic, Underline)". discord.com. אורכב מ-המקור ב-26 ביוני 2020. {{cite web}}: (עזרה)
  22. ^ "Doxygen Manual: Markdown support".
  23. ^ Allaire, J.J.; e.a. (2015-06-30). "Markdown.cpp". GitHub project RStudio. נבדק ב-2016-07-07.
  24. ^ "Writing on GitHub". help.github.com. GitHub, Inc. נבדק ב-9 ביולי 2014. {{cite web}}: (עזרה)
  25. ^ R Markdown: The Definitive Guide.
  26. ^ "330707 - Add optional support for MarkDown". bugzilla.mozilla.org (באנגלית). נבדק ב-2022-10-11.