COMP 305: Object-Oriented Software Design

University of San Diego, Fall 2025

Markdown

Markdown is a lightweight markup language that allows you to write formatted text using plain text syntax. It's widely used for documentation, README files, blogs, and note-taking. While not officially standardized, variants like GitHub Flavored Markdown (GFM) and CommonMark provide consistency.

Why Markdown?

Interactive Markdown Editor

Try writing Markdown in the editor below and see the live preview:

Markdown Input

Live Preview

Basic Syntax

Headings

Heading 1

Heading 2

Heading 3

Emphasis

italic or italic

bold or bold

bold and italic

strikethrough

Lists

Links

Code

Blockquotes

This is a blockquote.

It can span multiple lines.

Nested blockquotes are also possible.

Tables

Advanced Features (GitHub Flavored Markdown)

Common Use Cases

  • README Files - Project documentation on GitHub/GitLab
  • Documentation Sites - Technical docs, wikis, knowledge bases
  • Blog Posts - Static site generators (Jekyll, Hugo, Astro)
  • Note-Taking - Obsidian, Notion, Bear, Typora
  • Comments - GitHub issues/PRs, Reddit, Stack Overflow
  • Presentations - Reveal.js, Marp
  • Books - Gitbook, mdBook

Best Practices

  • Blank Lines - Use blank lines to separate sections for readability
  • Consistent Style - Choose asterisks OR underscores for emphasis, stick with it
  • Reference Links - For long URLs, use reference-style links at the bottom
  • Code Blocks - Always specify language for syntax highlighting
  • Escape Characters - Use backslash \\ to escape special characters when needed
  • Keep it Simple - Markdown's strength is simplicity; don't overuse HTML

Markdown Flavors

  • CommonMark - Standardized specification for consistency
  • GitHub Flavored Markdown (GFM) - Tables, task lists, strikethrough, autolinks
  • Markdown Extra - Footnotes, definition lists, abbreviations
  • MultiMarkdown - Metadata, citations, cross-references
  • Pandoc Markdown - Extended features for document conversion

Tools & Resources

  • Editors - VS Code, Typora, iA Writer, Obsidian, Notion
  • Preview - Most editors have live preview; GitHub shows rendered README
  • Converters - Pandoc (Markdown to HTML/PDF/DOCX)
  • Learning - Markdown Guide, CommonMark
  • Cheat Sheets - Quick reference for syntax