Skip to content

Instantly share code, notes, and snippets.

@saharshbhansali
Last active May 5, 2024 15:47
Show Gist options
  • Save saharshbhansali/5da604f1731c7d5ea07b2bd91552d48c to your computer and use it in GitHub Desktop.
Save saharshbhansali/5da604f1731c7d5ea07b2bd91552d48c to your computer and use it in GitHub Desktop.
Markdown Formatting Guide for Obsidian. Import this gist as a file into your Obsidian Vault to view it and to test new themes. Certain community plugins are required for a few features.

Markdown Formatting Guide for Obsidian

Learn how to apply basic formatting to your Obsidian notes, using Markdown. Import this as a note into your Obsidian Vault to view it and to test new themes. Certain community plugins are required for a few features.


Basic Formatting Syntax


Paragraphs

To create paragraphs, use a blank line to separate one or more lines of text.

This is a paragraph.

This is another paragraph.

Multiple blank spaces

Multiple adjacent blank spaces in and between paragraphs collapse to a single space when displaying a note in Reading view and on Obsidian Publish sites.

Multiple          adjacent          spaces



and multiple newlines between paragraphs.

Multiple adjacent spaces

and multiple newlines between paragraphs.

If you want to add multiple spaces, you can add &nbsp; (blank space) and <br> (newline) to your note.

Multiple&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adjacent&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;spaces
<br>
<br>
<br>
and multiple newlines between paragraphs.

Multiple           adjacent           spaces


and multiple newlines between paragraphs.

Headings

To create a heading, add up to six # symbols before your heading text. The number of # symbols determines the size of the heading.

# This is a heading 1
## This is a heading 2
### This is a heading 3
#### This is a heading 4
##### This is a heading 5
###### This is a heading 6

This is a heading 1

This is a heading 2

This is a heading 3

This is a heading 4

This is a heading 5
This is a heading 6

Styling text

Style Syntax Example Output
Bold ** ** or __ __ **Bold text** Bold text
Italic * * or _ _ *Italic text* Italic text
Strikethrough ~~ ~~ ~~Striked out text~~ Striked out text
Highlight == == ==Highlighted text== ==Highlighted text==
Bold and nested italic ** ** and _ _ **Bold text and _nested italic_ text** Bold text and nested italic text
Bold and italic *** *** or ___ ___ ***Bold and italic text*** Bold and italic text

Quotes

You can quote text by adding a > symbols before the text.

> Human beings face ever more complex and urgent problems, and their effectiveness in dealing with these problems is a matter that is critical to the stability and continued progress of society.

\- Doug Engelbart, 1961

Human beings face ever more complex and urgent problems, and their effectiveness in dealing with these problems is a matter that is critical to the stability and continued progress of society.

  • Doug Engelbart, 1961

[!info] You can turn your quote into a callout by adding [!info] as the first line in a quote.

Code

You can format code both inline within a sentence, or in its own block.

Inline code

You can format code within a sentence using single backticks.

Text inside `backticks` on a line will be formatted like code.

Text inside backticks on a line will be formatted like code.

If you want to put backticks in an inline code block, surround it with double backticks like so: inline code with a backtick ` inside.

Code blocks

To format a block of code, surround the code with triple backticks.

```
cd ~/Desktop
```
cd ~/Desktop

You can also create a code block by indenting the text using Tab or 4 blank spaces.

    cd ~/Desktop

You can add syntax highlighting to a code block, by adding a language code after the first set of backticks.

```js
function fancyAlert(arg) {
  if(arg) {
    $.facebox({div:'#foo'})
  }
}
```
function fancyAlert(arg) {
  if(arg) {
    $.facebox({div:'#foo'})
  }
}

Obsidian uses Prism for syntax highlighting. For more information, refer to Supported languages.

Note

Live Preview mode doesn't support PrismJS and may render syntax highlighting differently.

External links

If you want to link to an external URL, you can create an inline link by surrounding the link text in brackets ([ ]), and then the URL in parentheses (( )).

[Obsidian Help](https://help.obsidian.md)

Obsidian Help

Tip

If you want to link to a file inside your vault, consider using an internal link instead.

You can also create external links to files in other vaults, by linking to an Obsidian URI.

[Note](obsidian://open?vault=MainVault&file=Note.md)

Escape blank spaces in links

If your URL contains blank spaces, you need to escape them by replacing them with %20.

[My Note](obsidian://open?vault=MainVault&file=My%20Note.md)

You can also escape the URL by wrapping it with angled brackets (< >).

[My Note](<obsidian://open?vault=MainVault&file=My Note.md>)

External images

You can add images with external URLs, by adding a ! symbol before an external link.

![Engelbart](https://history-computer.com/ModernComputer/Basis/images/Engelbart.jpg)

Engelbart

You can change the image dimensions, by adding |120x160 to the link destination, where 120 is the width and 160 is the height.

![Engelbart|100x145](https://history-computer.com/ModernComputer/Basis/images/Engelbart.jpg)

Engelbart|120x160

If you only specify the width, the image scales according to its original aspect ratio by adding |75]] to the link destination, which scales the image to 70% of the original aspect ratio.

![[Engelbart.jpg|75]](https://history-computer.com/ModernComputer/Basis/images/Engelbart.jpg)

Engelbart|75

Tip

If you want to add an image from inside your vault, you can also embed an image in a note.

Lists

You can create an unordered list by adding a -*, or + before the text.

- First list item
* Second list item
+ Third list item
  • First list item
  • Second list items
  • Third list item

To create an ordered list, start each line with a number followed by a . symbol.

1. First list item
2. Second list item
3. Third list item
  1. First list item
  2. Second list item
  3. Third list item

You can create a nested list by indenting one or more list items.

1. First list item
   1. Ordered nested list item
2. Second list item
   - Unordered nested list item
  1. First list item
    1. Ordered nested list item
  2. Second list item
    • Unordered nested list item

You can press Tab or Shift+Tab to indent or unindent one or more selected list items.

Task lists

To create a task list, start each list item with a hyphen and space followed by [ ].

- [x] This is a completed task.
- [ ] This is an incomplete task.
  • This is a completed task.
  • This is an incomplete task.

You can toggle a task in Reading view by selecting the checkbox.

Tip

You can use any character inside the brackets to mark it as complete.

- [x] Milk
- [?] Eggs
- [-] Eggs
- [>] Eggs
  • Milk
  • [?] Eggs
  • [-] Eggs
  • [>] Eggs

Horizontal bar

You can use three or more stars ***, hyphens ---, or underscore ___ on its own line to add a horizontal bar. You can also separate symbols using spaces.

***
****
* * *
---
----
- - -
___
____
_ _ _

Footnotes

You can add footnotes1 to your notes using the following syntax: 2

This is a simple footnote[^1].

[^1]: This is the referenced text.
[^2]: Add 2 spaces at the start of each new line.
  This lets you write footnotes that span multiple lines.
[^note]: Named footnotes still appear as numbers, but can make it easier to identify and link references.

You can also inline footnotes in a sentence. Note that the caret goes outside the brackets. ^[This is an inline footnote]

You can also use inline footnotes. ^[This is an inline footnote.]

Note

Inline footnotes only work in Reading View, not in Live Preview.

Comments

You can add comments by wrapping text with %%. Comments are only visible in Editing view.

This is an %%inline%% comment.

%%
This is a block comment.

Block comments can span multiple lines.
%%


Advanced Formatting Syntax


Tables

You can create table using vertical bars (|) and hyphens (-). Vertical bars separate columns, and hyphens define the column header.

| First name | Last name |
| ---------- | --------- |
| Max        | Planck    |
| Marie      | Curie     |
First name Last name
Max Planck
Marie Curie

The vertical bars or either side of the table are optional.

Cells don't need to be perfectly aligned with the columns. Each header row must have at least two hyphens.

First name | Last name
-- | --
Max | Planck
Marie | Curie

Format content within a table

You can use basic formatting syntax to style content within a table.

First column Second column
Internal links Link to a file within your vault.
Embedding files

Vertical bars in tables

If you want to use aliases, or to resize an image in your table, you need to add a \ before the vertical bar.

| First column | Second column |
| -- | -- |
|[[Markdown Formatting Guide#Basic Formatting Syntax\|Markdown Basics]]|![Engelbart\|75](https://history-computer.com/ModernComputer/Basis/images/Engelbart.jpg)|
First column Second column
[[Markdown Formatting Guide#Basic Formatting Syntax|Markdown Basics]] Engelbart|75

You can align text to the left, right, or center of a column by adding colons (:) to the header row.

Left-aligned text | Center-aligned text | Right-aligned text
:-- | :--: | --:
Content | Content | Content
Left-aligned text Center-aligned text Right-aligned text
Content Content Content

Diagram

You can add diagrams and charts to your notes, using Mermaid. Mermaid supports a range of diagrams, such as flow chartssequence diagrams, and timelines.

Tip

You can also try Mermaid's Live Editor to help you build diagrams before you include them in your notes.

To add a Mermaid diagram, create a mermaid code block.

```mermaid
sequenceDiagram
    Alice->>+John: Hello John, how are you?
    Alice->>+John: John, can you hear me?
    John-->>-Alice: Hi Alice, I can hear you!
    John-->>-Alice: I feel great!
```
sequenceDiagram
    Alice->>+John: Hello John, how are you?
    Alice->>+John: John, can you hear me?
    John-->>-Alice: Hi Alice, I can hear you!
    John-->>-Alice: I feel great!
```mermaid
graph TD

Biology --> Chemistry
```
graph TD

Biology --> Chemistry

Linking files in a diagram

You can create internal links in your diagrams by attaching the internal-link class to your nodes.

```mermaid
graph TD

Biology --> Chemistry

class Biology,Chemistry internal-link;
```
graph TD

Biology --> Chemistry

class Biology,Chemistry internal-link;

[!note]

Internal links from diagrams don't show up in the Graph view.

If you have many nodes in your diagrams, you can use the following snippet.

```mermaid
graph TD

A[Biology]
B[Chemistry]

A --> B

class A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z internal-link;

graph TD

A[Biology]
B[Chemistry]

A --> B

class A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z internal-link;

This way, each letter node becomes an internal link, with the node text as the link text.

Note

If you use special characters in your note names, you need to put the note name in double quotes.

class "⨳ special character" internal-link

Or, A["⨳ special character"].

For more information about creating diagrams, refer to the official Mermaid docs.

Math

You can add math expressions to your notes using MathJax and the LaTeX notation.

To add a MathJax expression to your note, surround it with double dollar signs ($$).

$$
\begin{vmatrix}a & b\\
c & d
\end{vmatrix}=ad-bc
$$

$$ \begin{vmatrix}a & b\\ c & d \end{vmatrix}=ad-bc $$

You can also inline math expressions by wrapping it in $ symbols.

This is an inline math expression: $e^{2i\pi} = 1$.

This is an inline math expression: $e^{2i\pi} = 1$.

For more information about the syntax, refer to MathJax basic tutorial and quick reference.

For a list of supported MathJax packages, refer to The TeX/LaTeX Extension List.

Links

This Guide was derived using:



Footnotes

  1. This is a footnote.

  2. This is a named footnote. Written over multiple lines.

@Kashifbaigqa
Copy link

osm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment