Extending Markdown with Obsidian FlavoredSyntax

Templater Syntax

markdown
---
creation date: <% tp.file.creation_date() %>
modification date: <% tp.file.last_modified_date("dddd Do MMMM YYYY HH:mm:ss") %>
---

<< [[<% tp.date.now("YYYY-MM-DD", -1) %>]] | [[<% tp.date.now("YYYY-MM-DD", 1) %>]] >>

# <% tp.file.title %>

<% tp.web.daily_quote() %>
Produces:
markdown
---
creation date: 2021-01-07 17:20
modification date: Thursday 7th January 2021 17:20:43
---

<< [[2021-04-08]] | [[2021-04-10]] >>

# Test Test

> Do the best you can until you know better. Then when you know better, do better.
> &mdash; <cite>Maya Angelou</cite>

Rules for AI Assistants:

Be very sensitive with YAML.Arrays are not: tags: ["Git", "Submodules", "Branch-Management", "Development", "Configuration"]
Instead, arrays have no quotes, do not use brackets, and instead use an unordered list syntax with each object being a new line.
yaml
tags: 
- Git
- Submodules
- Branch-Management
- Development 
- Configuration

Case Handling

SyntaxPurposePath
![[visualFor__LangChain--Model.svg]]Image Placementsite/src/assets/Visuals
[[Object Storage]]

[[Tooling/Products/Git#Git Hooks|Git]]

Jump to Header on linked pageTooling/Products/Git#Git Hooks
parent_org: "[[Organizations/Microsoft|Microsoft]]"Backlink in YAML

Standard Markdown Elements

Line breaksĀ 

By default in Obsidian, pressingĀ EnterĀ once will create a new line in your note, but this is treated as aĀ continuationĀ of the same paragraph in the rendered output, following typical Markdown behavior. To insert a line breakĀ withinĀ a paragraph without starting a new paragraph, you can either:
  • AddĀ two spacesĀ at the end of a line before pressingĀ Enter, or
  • Use the shortcutĀ Shift + EnterĀ to directly insert a line break.
Why don't multipleĀ EnterĀ presses create more line breaks in reading view?
Obsidian includes aĀ Strict Line BreaksĀ setting, which makes Obsidian follow the standard Markdown specification for line breaks.
To enable this feature:
  1. OpenĀ Settings.
  2. Go to theĀ EditorĀ tab.
  3. EnableĀ Strict Line Breaks.
WhenĀ Strict Line BreaksĀ is enabled in Obsidian, line breaks have three distinct behaviors depending on how the lines are separated:
Single return with no spaces: A singleĀ EnterĀ with no trailing spaces will combine the two separate lines into a single line when rendered.
md
line one
line two
Renders as:
line one line two
Single return with two or more trailing spaces: If you add two or more spaces at the end of the first line before pressingĀ Enter, the two lines remain part of the same paragraph, but are broken by a line break (HTMLĀ <br>Ā element). We'll use two underscores to stand in for spaces in this example.
md
line three__  
line four
Renders as:
line three
line four
Double return (with or without trailing spaces): PressingĀ EnterĀ twice (or more) separates the lines into two distinct paragraphs (HTMLĀ <p>Ā elements), regardless of whether you add spaces at the end of the first line.
md
line five

line six
Renders as:
line five
line six

HeadingsĀ 

To create a heading, add up to sixĀ #Ā symbols before your heading text. The number ofĀ #Ā symbols determines the size of the heading.
md
# 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

Bold, italics, highlightsĀ 

Text formatting can also be applied usingĀ Editing shortcuts.
StyleSyntaxExampleOutput
Bold** ** or __ __**Bold text**Bold text
Italic* * or _ _*Italic text*Italic text
Strikethrough~~ ~~~~Striked out text~~
json
{
  "type": "delete",
  "children": [
    {
      "type": "text",
      "value": "Striked out text",
      "position": {
        "start": {
          "line": 141,
          "column": 49,
          "offset": 4325
        },
        "end": {
          "line": 141,
          "column": 65,
          "offset": 4341
        }
      }
    }
  ],
  "position": {
    "start": {
      "line": 141,
      "column": 47,
      "offset": 4323
    },
    "end": {
      "line": 141,
      "column": 67,
      "offset": 4343
    }
  }
}
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
Formatting can be forced to display in plain text by adding a backslashĀ \Ā in front of it.
This line will not be bold
markdown
\*\*This line will not be bold\*\*
This line will be italic and show the asterisks
markdown
\**This line will be italic and show the asterisks*\*
Obsidian supports two formats forĀ internal linksĀ between notes:
  • Wikilink:Ā [[Three laws of motion]]
  • Markdown:Ā [Three laws of motion](Three%20laws%20of%20motion.md)
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 (( )).
md
[Obsidian Help](https://help.obsidian.md)
You can also create external links to files in other vaults, by linking to anĀ Obsidian URI.
md
[Note](obsidian://open?vault=MainVault&file=Note.md)
If your URL contains blank spaces, you must escape them by replacing them withĀ %20.
md
[My Note](obsidian://open?vault=MainVault&file=My%20Note.md)
You can also escape the URL by wrapping it with angled brackets (< >).
md
[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.
md
![Engelbart](https://history-computer.com/ModernComputer/Basis/images/Engelbart.jpg)
You can change the image dimensions, by addingĀ |640x480Ā to the link destination, where 640 is the width and 480 is the height.
md
![Engelbart|100x145](https://history-computer.com/ModernComputer/Basis/images/Engelbart.jpg)
If you only specify the width, the image scales according to its original aspect ratio. For example:
md
![Engelbart|100](https://history-computer.com/ModernComputer/Basis/images/Engelbart.jpg)
Tip
If you want to add an image from inside your vault, you can alsoĀ embed an image in a note.

QuotesĀ 

You can quote text by adding aĀ >Ā symbols before the text.
md
> 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
Tip
You can turn your quote into aĀ calloutĀ by addingĀ [!info]Ā as the first line in a quote.

ListsĀ 

You can create an unordered list by adding aĀ -,Ā *, orĀ +Ā before the text.
md
- First list item
- Second list item
- Third list item
  • First list item
  • Second list item
  • Third list item
To create an ordered list, start each line with a number followed by aĀ .Ā symbol.
md
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 useĀ shift + enterĀ to insert aĀ line breakĀ within an ordered list without altering the numbering.
md
1. First list item
   
2. Second list item
3. Third list item
   
4. Fourth list item
5. Fifth list item
6. Sixth list item

Task listsĀ 

To create a task list, start each list item with a hyphen and space followed byĀ [ ].
md
- [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.
md
- [x] Milk
- [?] Eggs
- [-] Eggs
  • Milk
  • Eggs
  • Eggs

Nesting listsĀ 

You can nest any type of list—ordered, unordered, or task lists—under any other type of list.
To create a nested list, indent one or more list items. You can mix list types within a nested structure:
md
1. First list item
2. 1. Ordered nested list item
3. Second list item
   - Unordered nested list item
  1. First list item
    1. Ordered nested list item
  2. Second list item
    • Unordered nested list item
Similarly, you can create a nested task list by indenting one or more list items:
md
- [ ] Task item 1
	- [ ] Subtask 1
- [ ] Task item 2
	- [ ] Subtask 1
  • Task item 1
    • Subtask 1
  • Task item 2
    • Subtask 1
UseĀ TabĀ orĀ Shift+TabĀ to indent or unindent selected list items to easily organize them.

Horizontal ruleĀ 

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.
md
***
****
* * *
---
----
- - -
___
____
_ _ _

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.
md
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.
text
```
cd ~/Desktop
```
md
cd ~/Desktop
You can also create a code block by indenting the text usingĀ TabĀ or 4 blank spaces.
md
    cd ~/Desktop
You can add syntax highlighting to a code block, by adding a language code after the first set of backticks.
md
```js
function fancyAlert(arg) {
  if(arg) {
    $.facebox({div:'#foo'})
  }
}
```
js
function fancyAlert(arg) {
  if(arg) {
    $.facebox({div:'#foo'})
  }
}
Obsidian uses Prism for syntax highlighting. For more information, refer toĀ Supported languages.
Note
Source modeĀ andĀ Live PreviewĀ do not support PrismJS, and may render syntax highlighting differently.