Eden
Converts an Obsidian vault into a super-charged digital garden of static html.
See CurrentTasks.md for up-to-date development tasks
Usage
Eden currently requires https://deno.com/ to run but will be made available as an executable in the future!
Usage | Command |
---|---|
Simplest usage | deno run https://deno.land/x/eden/src/mod.ts path/to/my/vault/ |
Generate and preview the outputted html | deno run https://deno.land/x/eden/src/mod.ts --preview path/to/my/vault/ && start http://localhost:8000/ |
Run with permissions | deno run --allow-net --allow-write --allow-read --allow-env https://deno.land/x/eden/src/mod.ts path/to/my/vault/ |
Features
- Breadcrumbs
- Metadata Support [[Metadata]]
- Created Date (automatic)
- Last Edited Date (automatic)
- hidden (prevents publishing the page)
- type
- tags (automatically generates an index page that links to all pages with a given tag)
- template (allows overriding html template)
- alias (Link to a note using a metadata alias)
- Future-proof: Exportable data, portable, control and own your data, no lock-in
- Highly Customizable HTML and CSS [[plain]]
- Javascript is supported and is fully optional!
- Backlinks [[backlinks]]
- Website icons next to external links (Like this: Youtube)
- ️Built-in rss feed support (automatically creates
/rss.xml
) - Support for Footnotes ^[example footnote]
- Support sizing images
- Navigation: Support for vertical and horizontal nav depending on screen size. Collapsable sections
- Support embeddable images [[images]]
- Block Embedding [[embedding]]
- Block-based, content as data, so the same piece of content can easily be transcluded in multiple places
- Adding in dynamically updated bits of content into other bits of content
- https://subpixel.space/entries/open-transclude/
- Obsidian named block ids
- Block-based, content as data, so the same piece of content can easily be transcluded in multiple places
- Embeddable content
- Embeddable Youtube Videos
- Embeddable Vimeo Videos
- Embeddable Tweets
- Faster Execution with caching
- Skips files if the .md is older than the .html and the template / css
- Site search
- make entire garden available in json at /garden.json for advanced usage
- 🔑Backlinks should include optional context snippets
- Metadata
thumbnail
for article for when it's displayed in an index page - Obsidian CSS Snippets
- Ability to create different object types, ontologies, and tags
- Example: https://www.gwern.net/About#confidence-tags
- Example: Maggie Appleton's site, which has "Notes", "Essays", and "Patterns", among other collections of different objects
- Expandible/collapsible blocks
- Embed Audio files
- Embed pdf
- Embed search results
- Support syntax highlighting
- ❓Print-ready, capable of being exported to EPUB or PDF
- Customizable header (like https://maggieappleton.com/) that works with transclusion.
- Template Footer
- link to rss.xml
- social links
- copyright
Obsidian Flavored Markdown Support
Completed | Syntax | Feature Name | Note |
---|---|---|---|
✅ | [[Link]] |
Internal links | |
✅ | ![[Link]] |
Embedding files | |
✅ | ![[image.png]] |
Embedding image | |
✅ | ![[Link#^id]] |
Block references | |
✅ | ^id |
Defining a block | |
✅ | %%Text%% |
Comments | |
✅ | ~~Text~~ |
Strikethroughs | |
✅ | ==Text== |
Highlights | |
⏳ | ``` |
Code blocks | Todo: Syntax highlighting lib |
✅ | - [ ] |
Incomplete task | |
✅ | - [x] |
Completed task | |
⏳ | > [!note] |
Callouts | Todo: styling |
✅ | [[page|modified title]] |
Modified title | source |
✅ | [[page#header1]] |
Link to header | source |
✅ | [[page#^blockId]] |
Link to blockId | source |
Easy hosting with Static.app
https://static.app/ is the simplest hosting solution for non-technical users. Simply drag-n-drop your static html files found at eden-md-out/YOUR_PROJECT_NAME
and your website is live!
Complex hosting with Git and Vercel
To use Eden with Vercel and Git for Continuous Deployment, set the followin Project Settings in Vercel:
Build Command: /vercel/.deno/bin/deno run --reload --allow-net --allow-write --allow-read --allow-env https://deno.land/x/eden/src/mod.ts --parseDir .
Output Directory: eden-md-out/YOUR_PROJECT_NAME
(note: YOUR_PROJECT_NAME is found in eden-md-config in your markdown vault directory)
Install Command: curl -fsSL https://deno.land/x/install/install.sh | sh
Support this Project
I've created Eden on my own time and out of my own pocket. If you benefit from it please consider donating!