%% run start
```ts
const {LinkPreview} = customJS
return LinkPreview.getLinkPreviewFromUrl("https://github.com/datopian/markdowndb")
```
%%
<div class="nifty-link-card-container">
<a class="nifty-link-card" href="https://github.com/datopian/markdowndb" target="_blank">
<div class="nifty-link-card-text">
<div class="nifty-link-card-title line-clamp-2">GitHub - datopian/markdowndb: An open library to transform markdown content into sql-queryable data. Build rich markdown-powered sites easily and reliably.</div>
<div class="nifty-link-card-description">An open library to transform markdown content into sql-queryable data. Build rich markdown-powered sites easily and reliably. - GitHub - datopian/markdowndb: An open library to transform markdown c...</div>
<div class="nifty-link-href">
<img class="nifty-link-icon" src="https://github.com/fluidicon.png">
https://github.com/datopian/markdowndb
</div>
</div>
<div class="nifty-link-image-container">
<div class="nifty-link-image" style="background-image: url('https://opengraph.githubassets.com/64be809a38ae710c3f9ae3fa2d13bbbce7d2de58b0e463ff0b0f209ace74753a/datopian/markdowndb')">
</div>
</div>
</a>
</div>
%% run end %%
## What is It?
MarkdownDB is a javascript library for treating markdown files as a database -- as a "MarkdownDB". Specifically, it:
- Parses your markdown files to extract structured data (frontmatter, tags etc) and creates an index in a local SQLite database
- Provides a lightweight javascript API for querying the database and importing files into your application
## Alternatives and Comparison?
1. [[Obsidian Dataview Js]], most of the time, dataview is good enough
2. [[ContentLayer]], contentlayer also turn frontmatter to json