Skip to content

Instantly share code, notes, and snippets.

@ushiocheng
Created January 15, 2023 21:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ushiocheng/0841dcb91585bbd8c7c6f3dafa9f80e1 to your computer and use it in GitHub Desktop.
Save ushiocheng/0841dcb91585bbd8c7c6f3dafa9f80e1 to your computer and use it in GitHub Desktop.

A guide to Obsidian MD

This guide have ~1450 words and should take 7-10 minutes to read.
This guide should be read in Obsidian under preview mode.

HTML Elements

Markdown is a superset of HTML, so any HTML file is valid Markdown. *This is not always true since some feature are disable in Obsidian for security reasons.

<!--This means we can use HTML elements in Markdown, such as the comment
element, and they won't be affected by a markdown parser. However, if you
create an HTML element in your markdown file, you cannot use markdown syntax
within that element's contents.-->

Headings

# This is an <h1>
## This is an <h2>
### This is an <h3>
#### This is an <h4>
##### This is an <h5>
###### This is an <h6>

Alternatively

This is an h1
=============

This is an h2
-------------

Text style

*This text is in italics.*
_And so is this text._

**This text is in bold.**
__And so is this text.__

***This text is in both.***
**_As is this!_**
*__And this!__*

This text is in italics. And so is this text.

This text is in bold. And so is this text.

This text is in both. As is this! And this!


~~This is strikethrough~~

This is strikethrough

You can also ==highlight stuff== in Obsidian MD  
which isn't a required feature in MD ex. GFM do not have it

You can also ==highlight stuff== in Obsidian MD
which isn't a required feature in MD ex. GFM do not have it

Paragraph can be done be simply leaving a blank line, or using <br/> to force linebreak

2 trailing space would also be converted to <br/> (no trailing space here)
Obsidian MD do not require this but standard MD does.

Paragraph can be done be simply leaving a blank line, or using
to force linebreak

2 trailing space would also be converted to
(no trailing space here) Obsidian MD do not require this but standard MD does.


Block quote can be done with >

> This is a block quote. You can either
> manually wrap your lines and put a `>` before every line or you can let your lines get really long and wrap on their own.
> It doesn't make a difference so long as they start with a `>`.

> You can also use more than one level
>> of indentation?
> How neat is that?

This is a block quote. You can either manually wrap your lines and put a > before every line or you can let your lines get really long and wrap on their own. It doesn't make a difference so long as they start with a >.

You can also use more than one level

of indentation? How neat is that?


Code snippet can be inserted by `simply do this`

Code snippet can be inserted by simply do this

Code block are done with

```
content
```
content

Optionally a language marker can be used to do syntax highlighting like

```md
markdown code **isn't it**
```
markdown code **isn't it**

A list of supported languages can be found here.


Some workarounds:  
- The blocks with backticks in them is done with raw HTML so the they can be correctly escaped.  remember the HTML code for backtick is `&#96;`
- ``can be used to codify` single backtick``
- `can be used to codify `` doubletick`

Some workarounds:

  • The blocks with backticks in them is done with raw HTML so the they can be correctly escaped. remember the HTML code for backtick is &#96;
  • can be used to codify` single backtick
  • can be used to codify `` doubletick

Lists

* Item
* Item
* Another item

or

+ Item
+ Item
+ One more item

or

- Item
- Item
- One last item

all produces unordered list like this

  • Item
  • Item
  • Another item

Ordered list are done with

1. Item one
2. Item two
3. Item three

or

1. Item one
1. Item two
1. Item three

both would render to

  1. Item one
  2. Item two
  3. Item three

Todo list is an optional md feature that is implemented in both Obsidian Md and GFM

Boxes below without the 'x' are unchecked HTML checkboxes.
- [ ] First task to complete.
- [ ] Second task that needs done
This checkbox below will be a checked HTML checkbox.
- [x] This task has been completed

Boxes below without the 'x' are unchecked HTML checkboxes.

  • First task to complete.
  • Second task that needs done This checkbox below will be a checked HTML checkbox.
  • This task has been completed

Other stuff

Horizontal rule / Horizontal line can be created by using

<hr/>
***
---
- - -
****************

all of which results in this


Links

Links is really powerful in MD, and even more so in Obsidian MD

[Example 1](http://example.com/)
[relative path work too](/if-you-have-it/)

Example 1 relative path work too

Links can use "" to add title in standard md but not obsidian md

[Example 2](http://example.com/ "link to example.com")

Example 2

if you don't need a link text, you can also do

<http://example.com/>
http://example.com/
<someone@example.com> which is going to be converted to a `mailto:` link

http://example.com/ http://example.com/ someone@example.com which is going to be converted to a mailto: link

this behavior can be suppressed by

`http://example.com/`
or
<p>http://example.com/</p>

http://example.com/ or

http://example.com/


However, the most important feature in Obsidian is File linking,

you can simply do this [[example file]]

you can simply do this [[example file]]

this can be filename, absolute file path, or relative file path depending on Setting->Files & Links->New link format

Also, if this file does not exist, you can create it by clicking on the link. It will be created at Setting->Files & Links->Default location for new notes unless absolute path is specified

Also, [[example file|custom link title]] can be done.

Also, [[example file|custom link title]] can be done.

This is not useful when linking use file name but hide the clutter when linking with full path.

Also, you can link to a specific part of a file by doing this

[[A guide to Obsidian MD## Lists]]

[[A guide to Obsidian MD## Lists]]


Another way to use link is to embed contents. It can be done with simply adding a ! in front, embeddable content include image and other notes

![[example file]]
![[example file## section header]]
![](http://example.com/image)

![[example file]]

![[example file## section header]]

Footnotes

Here's a simple footnote,[^1] and here's a longer one.[^bignote]

[^1]: This is the first footnote.

[^bignote]: Here's one with multiple paragraphs and code.

    Indent paragraphs to include them in the footnote.

    `{ my code }`

    Add as many paragraphs as you like.

There are no demo since footnotes always show up in the bottom of the document which I don't want here.

Math

DISCLAIMER: I am not familar with LaTeX, what I know can get you started but is definitely not the whole picture.

A math block can be created $inline$ or  
$$
on its own
$$

A math block can be created $inline$ or
$$ on its own $$

$\LaTeX$ is used inside these blocks. Itself is an entire markup and document generation language so lets not get too deep in it.

A quick reference for Math symbols can be found here, and a comprehensive symbol list can be found here.


Another useful thing in $\LaTeX$ is the align block, in an align block you can use & as horizontal alignment guide and \\ to create a new line. Unfortunately, sometime spaces are still needed to get stuff to exactally where you want, you can insert them by doing \

$$
\begin{align}
& L \to id      &-OR-  \ \ \ \  &L \to id \\
& L \to L, id   &     & \ \ \ \ \  | \ \ L, id
\end{align}
$$

$$ \begin{align} & L \to id &-OR- \ \ \ \ &L \to id \\ & L \to L, id & & \ \ \ \ \ | \ \ L, id \end{align} $$

Lastly

remember, any valid HTML code is valid MD code. For instance, while Obsidian MD do not support subscript, you can always just do <sub>like this</sub>like this.

Credit

This guide have used materials from the following sources:

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