Obsidian - a simple but powerful learning tool

Obsidian

A simple but powerful learning tool

What is Obsidian?

Obsidian is a writing app that is private and flexible. Its focus it to allow you to create your personal library, express your knowledge with text/diagrams/images/audio/video and connect it through links/queries.

It stores your content as plain text, uses markdown to format the documents and you can extend its basic functionality with plugins.


Why use Obsidian?

Now:

"Notion does this and it is better" -

5 years ago:

"Evernote does this and it is better"

15 years ago:

"Google docs does this and it is better"


Why use Obsidian?

"Doesn't that mean that obsidian is just another tool that will be replaced in the future?" - Yes and no. The point is not to use Obsidian itself, but to use something that is way more stable.

Obsidian saves your data as plain text, and it uses a non-proprietary format (markdown), so in case of a release of a new fancy app your data can be easily portable.

Not only that, but you also can store this files in any way you want (eg. git) and it you can easily extend its functionality.


Markdown

It uses markdown, a widely used language that you can port to a number of different platforms or formats.

# h1 Heading
## h2 Heading

## Emphasis

**This is bold text**
__This is bold text__
*This is italic text*
_This is italic text_
~~Strikethrough~~



h1 Heading

h2 Heading

Emphasis

This is bold text
This is bold text
This is italic text
This is italic text
Strikethrough


Cross reference

You can create references between your notes and even import content from them, to make things easier to be accessed.

Referencing notes also generate a really cool graph that can help you to understand the relationship between topics and which areas you have more knowledge.

graph_example.png|500


Tagging

Learning doesn't follow a hierarchical structure, so obsidian allows you to not only organize things on folders, but also to add tags.

This gives you more flexibility on how to organize your notes and it is even possible to generate folder-like structures based on tags.


Metadata

You can add any type of metadata that you want on your notes using front matter format

 --- 
 layout: post 
 title: Blogging Like a Hacker 
 ---

Query language

Obsidian allows you to query your notes like you would do in a traditional database. You can either use Dataview Query Language (DQL) which is quite similar to SQL or even Javascript!

LIST rows.file.link 
WHERE dg-publish = "true" and dg-home != "true"
GROUP BY file.cday
SORT rows.file.cday DESC
LIMIT 3

Pasted image 20231106164533.png

Query language

This queries not only can generate tables with the results, but they can also generate calendars, tasks lists or lists:

TASK from #travel 
GROUP BY file.link

Pasted image 20231106164840.png|500

Mermaid

It has native integration with mermaid, giving you the possibility to generate charts and diagrams easily and easily updatable:

pie title Pets adopted by volunteers
    "Dogs" : 384
    "Cats" : 85
    "Rats" : 15

Pasted image 20231211113723.png|400


Mermaid

sequenceDiagram
    Alice->>John: Hello John, how are you?
    John-->>Alice: Great!
    Alice-)John: See you later!
sequenceDiagram
    Alice->>John: Hello John, how are you?
    John-->>Alice: Great!
    Alice-)John: See you later!

Themes

Obsidian has almost 200 themes so you can customize the appearance of it and if none of them look pleasant to you, you can even create your own just since it uses just plain css

Pasted image 20231106162015.png|500


Plugins

Obsidian has a huge ecosystem for plugins and allow you to extend its functionality easily

Pasted image 20231106160613.png|400

If you can't find a plugin suits your needs you can create your own easily since it uses Node.js and Typescript to do it!


Plugin: Publishing on web

Obsidian has many ways to deploy the notes you want to a website. The one I use is a plugin called digital garden which allows me to add metadata to my notes and based on that it can publish them as static files to any host you want.

Not only that, but it also has native integrations with Vercel and Netlify (including CI/CD), so you can have it online literally in minutes. eg. https://www.rodsantos.dev/

digital_garden_page.png|500


Plugin: Presentation generation

One of my favourite plugins is advanced slides, which allow you generate presentations just adding --- to separate the content in different slides. Not only that, but you can also use customize your presentations using css.

This presentation was made with it!