Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML).
The overriding design goal for Markdown’s formatting syntax is to make it as readable as possible. The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions. While Markdown’s syntax has been influenced by several existing text-to-HTML filters, the single biggest source of inspiration for Markdown’s syntax is the format of plain text email.
There are multiple flavours of markdown but all of them have a lot in common, if you learn one, you will know all the others. Differences come from different publishing platforms where some of them implement few additional syntax styles. In a world of web developers and other similar breeds, you will most likely follow the github flavoured markdown which is used by a same platform for open source collaboration and code sharing.
Today i will learn more about Obsidian version. Will not go into much detail since 90% of all markdown follows the same formatting style. I will cover only Obsidian specific syntax or something i found useful to write down as a future reference. With that in mind i must add that Obsidian supports CommonMark, Github flavoured markdown and something mostly used in scientific circles, LaTeX.
By using a community plugin importer, it is possible to import an HTML web page or notes from another note taking app, convert it to markdown and save it in your Obsidian vault. Just browse the community plugins and search for "importer". Here is a link to github.com/repository.
[[
, by adding #
you can link to specific heading or subtitle in a note.
Outgoing links to external sources are written with [display_text](http://link_to_webpage.com)
wiki style link for internal linking
alternative diplay text
link to heading
[[#heading_title]]
external link:
[search engine](https://google.com)
Obsidian will automatically update the links if you move files from one location to another
Create a dedicated folder for assets like images or other files you would like to embed into your notes. I like to prefix such "special" directories with underline, like _assets
, _templates
, _calendar
...
To embed an image, pdf file, another note or even an audio file, add exclamation mark in front of standard internal link: ![[ link_to_file ]]
. As soon as you open the brackets and start typing, obsidian will try to find the file you are looking for, no need to remember everything, only a single word is enough to find what you are looking for. Uses fuzzy find method so you don't have to type exact file name.
![[_assets/image_diagram.png]] - embed image
!640x480 - change height x width
!480 - keep original aspect ratio by changing the width
![[Document.pdf]] - embed .pdf file
![[Document.pdf#page=3]] - open a specific page in the .pdf
![[Document.pdf#height=400]] - specify max height for the embedded pdf viewer
A block is a unit of text in your note, such as paragraph, block quote or list item. You can link to a block by adding ^ at the end of link destination followed by a block identifier. You don't need to know the ID, when you type the caret ^, you can select the block from a drop down list.
Open the double brackets and start typing the note name, when you find the note in a drop down insert the caret ^ and another list will show up with a list of available text blocks. To link a particular header type the hash # instead of a header.
Every time you open the double brackets and you see a list of available links, at the bottom of a list will be listed possible options:
You can add footnotes[1] using the following syntax:
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.
These are called Callouts, you can read more about how to format them by following the link: help.obsidian.md/callouts. To see the formatting, switch to editing, source mode.
I can modify the type of a callout by changing the keyword inside a brackets.
Callouts can be foldable, like this one.
But can also be nested by adding additional greater than symbol ">"
Callouts can be expanded by default, just add plus symbol "+" instead of "-".
After a keyword between brackets, you can add custom title on same line, like this:
For more information on how to format different callouts, check out the official documentation at:
help.obsidian.md/callouts
it is also possible to add highlight blocks like this one
For more information on how to format different callouts, check out the official documentation at:
help.obsidian.md/callouts
For more information on how to format different callouts, check out the official documentation at:
help.obsidian.md/callouts
For more information on how to format different callouts, check out the official documentation at:
help.obsidian.md/callouts
CSS snippets and community plugins can define custom callouts or even overwrite the default configuration. To define a custom callout, create the following CSS block:
.callout[data-callout="custom-question-type"] {
--callout-color: 0, 0, 0;
--callout-icon: lucide-alert-circle;
}
data-callout
attribute is the type identifier you want to use, for example [!custom-question-type]
.--callout-color
defines the background color using numbers (0-255) for red, green and blue.--callout-icon
can be an icon ID from lucide.dev, or an SVG element --callout-icon: '<svg>...custom svg...</svg>';
This is a footnote. It is positioned just below the following codeblock. In reading mode it will be visible at the bottom of a page. If you switch to edit, you can see the syntax and it's original location. ↩︎