מסמך Markdown (.md)

CommonMark תקן

Markdown (MD) היא שפת סימון קלת משקל, שתוכננה בידי John Gruber כדי שיהיה קל לקרוא ולכתוב אותה כטקסט פשוט ולהמיר אותה ל-HTML מובנה.

בדיקה ומטא-נתונים

מערכות הפעלה ומנתחי קבצים מזהים קבצי Markdown על ידי בדיקת רצף הבייטים הבינארי הראשוני:

בחר או גרור קבצים לכאן

פרטי - הקבצים לעולם אינם עוזבים את המכשיר שלך

או הדבק Ctrl+V
הבטחת פרטיות ללא העברת נתונים ברשת: 0 בייט הועלו לשרתים חיצוניים. כל העיבוד התבצע באופן מקומי בארגז החול של הדפדפן שלך.

חתימת כותרת ברמת הבייט (Magic Bytes)

מערכות הפעלה ומנתחי קבצים מזהים קבצי Markdown על ידי בדיקת רצף הבייטים הבינארי הראשוני:

חתימת HEX (היסט 0):

אין חתימה קבועה (Markdown הוא טקסט פשוט)

ייצוג ASCII: אין חתימת ASCII קבועה

תקינה: CommonMark Specification / GitHub Flavored Markdown (GFM)

מפרט טכני

מבנה המכולהקובץ טקסט פשוט בקידוד UTF-8 המשתמש בסימני פיסוק קלים לעיצוב (כותרות, רשימות, הדגשה, נטוי ובלוקי קוד)
דחיסהטקסט לא דחוס (ניתן לדחיסה באמצעות Gzip או Brotli)
סדר בתים (Endianness)זרם טקסט UTF-8 / Unicode
מרחבי צבעלא רלוונטי (סימון טקסט פשוט)
ערוצים ומבנהכותרות, ציטוטים בבלוק, רשימות ממוספרות ולא ממוספרות, גדרות קוד, קישורים, תמונות וטבלאות
ממדים מרבייםאורך מסמך טקסט ללא הגבלה
שקיפותאין (טקסט בלבד)
הזרמה ופרוגרסיביותניתוח בהזרמה של בלוקים ואסימונים בשורה אחר שורה

מטריצת השוואה טכנית: Markdown מול מתחרים

תכונה טכניתMarkdown (נוכחי)HTMLTXTPDF
פשטות כתיבההקלדת טקסט פשוט מהירה במיוחדתחביר תגים מפורט (<p>, <div>)הקלדה מהירה (ללא עיצוב)דורש עורך פריסה גרפי
קריאות אנושית (גולמי)קריאות טבעית ומושלמת של הטקסטעמוס בתגים ובסוגרייםקריאות מושלמת של הטקסטבייטים גולמיים בינאריים בלתי קריאים
המרת HTMLפלט ישיר ודטרמיניסטי ביחס של 1:1שפת רשת טבעיתדורש עיצוב ידניפלט גרפי קבוע
כלי פיתוחהתמיכה משתנה בין תוכנות.התמיכה משתנה בין תוכנות.התמיכה משתנה בין תוכנות.הפצת מסמכים

מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)

בלוקי קוד מוצגים כפיסקאות רגילות או שכותרות נכשלות בעיצוב.

גורם שורש: רווח חסר אחרי סמל הכותרת '#' או גדרות קוד משולשות (```) לא סגורות.

שחזור: אמת את תחביר ה-Markdown ועצב אותו מחדש באמצעות File2File.app Markdown Linter.

ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)

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

ווקטורי תקיפה ידועים

  • הזרקת XSS באמצעות רכיבי HTML גולמיים (למשל <script> או <img onerror=...>) המשולבים בטקסט Markdown.
  • מניעת שירות באמצעות מבני ציטוט או רשימות מקוננים לעומק במנתחים שאינם תואמים למפרט.
  • סכמות URL זדוניות ('javascript:') בתוך תחביר הקישורים של Markdown.

שיטות מומלצות להגנה: העבר תמיד את פלט ה-HTML שנוצר דרך DOMPurify, וחסום פרוטוקולי URL לא בטוחים.

היסטוריה ואבני דרך

2017GitHub Flavored Markdown (GFM) התבסס על מפרט CommonMark הרשמי.
2014יוזמת CommonMark הושקה בידי Jeff Atwood ו-John MacFarlane כדי לתקנן מקרי קצה עמומים ב-Markdown.
2004John Gruber ו-Aaron Swartz פרסמו את מפרט Markdown 1.0 המקורי ואת סקריפט ההמרה ב-Perl.

יתרונות מרכזיים

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

מגבלות טכניות וחסרונות

  • במפרט המקורי משנת 2004 היו כללי ניתוח עמומים, שהובילו בהדרגה להבדלים בין ניבים (CommonMark, ‏GFM ו-Kramdown).
  • אין תמיכה מובנית בתכונות פריסת עמוד מורכבות כמו פריסות מגזין מרובות עמודות, גלישת טקסט או מספרי עמודים.
  • תמונות מקושרות חיצונית ואינן נשמרות בתוך קובץ המסמך.

עובדות טכניות מעניינות

  • Aaron Swartz, שפיתח את Markdown עם John Gruber כשהיה בן 17, היה גם ממייסדי Reddit ובנה את RSS 1.0.
  • מאגרי GitHub רבים משתמשים בקובץ README.md כדי להציג את הפרויקט, אך אפשר להשתמש בשמות אחרים או לא לכלול קובץ כזה.
  • פילוסופיית העיצוב של Markdown קובעת: "מטרת העיצוב העיקרית של תחביר העיצוב של Markdown היא להפוך אותו לקריא ככל האפשר."

שאלות טכניות נפוצות

למה משמש Markdown?

Markdown משמש לכתיבת תיעוד, קובצי README ב-GitHub, פוסטים בבלוגים ורשימות באפליקציות כמו Obsidian ו-Notion, וכן לכתיבת הודעות בפלטפורמות כמו Discord ו-Slack.

איך אוכל להמיר Markdown ל-PDF או HTML?

ניתן להמיר קובצי Markdown (.md) למסמכי PDF מעוצבים או לקוד HTML נקי בלחיצת כפתור אחת באמצעות File2File.app ישירות בדפדפן האינטרנט שלך.

מה זה GitHub Flavored Markdown (GFM)?

GFM היא גרסה מורחבת של Markdown מטעם GitHub המוסיפה תמיכה בטבלאות, רשימות מטלות עם תיבות סימון ([x]), טקסט מחוק (~~text~~), ובלוקי קוד מודגשי תחביר.