Skip to content

Obsidian web integration

some very messy notes

Goal

Pros:

  • host shared notes

    • some notes in my vault could live on the web.
      e.g. my dev-notes can be useful to others.
      see digital garden examples

    • link to other people’s vaults. create a community of knowledge
      stack exchange, reddit, … show the power of this

    • no need for software download/install (restrictions), discussed in reddit post and this obsidian thread

existing solutions

the best solution so far appears to be a static site generator for GitHub pages
dynamic render uses JavaScript which might be an issue, but no html generation needed

static

  • mkdocs generates sites from markdown with python, GitHub ⭐15k
  • Jekyll was one of the first site generators, has lots of support but a bit slow and dated
    about:
    In 2021, Jekyll developer said that the Jekyll codebase “is in frozen mode and permanent hiatus” and recommended users whose needs are not met by the frozen state of Jekyll to move to Eleventy
    - static generator
    a tutorial on jekyll & github pages
    templates
    - gitbook,
    - template 500⭐
    - preview hover
    - wikilinks
    - template with instructions
    - [x] 1. Register a GitHub account if you don’t have one and confirm your e-mail (required!)
    - [x] Fork this repository by clicking the “fork” button in the top right.
    - [x] Go to the repository’s settings (rightmost item in the tabs that start with “Code”, should be below “Unwatch”). Rename the repository “[your GitHub username].github.io”, which will also be your website’s URL.
    - [ ] Set site-wide configuration and create content & metadata (see below – also see this set of diffs showing what files were changed to set up an example site for a user with the username “getorg-testacct”)
    - [ ] Upload any files (like PDFs, .zip files, etc.) to the files/ directory. They will appear at https://[your GitHub username].github.io/files/example.pdf.
    - [ ] Check status by going to the repository settings, in the “GitHub pages” section
    - [ ] (Optional) Use the Jupyter notebooks or python scripts in the markdown_generator folder to generate markdown files for publications and talks from a TSV file.
    • simple-Jekyll template for obsidian repo, forum supporting wikilinks
  • Eleventy is the new faster brother of Jekyll, supposed to be easy to use
  • mdbook is a fast doc generator written in Rust
    • open source
    • dark theme
    • markdown
    • supports plugins, suggestions post
  • Netifly is a hosting/build service, similar to GitHub pages
  • lettersmith
  • Docusaurus
    • nice tutorial
      []
      was able to get tutorial to work
  • no wiki links, feature request thread
  • Zola
  • obsidian-zola easy turn a git repo into a website, adding only 1 file
    - bad UI
    - requires a netifly site, seems to be jekyll
    - sign in w github account
  • MindStone
    supports wikilinks, graph, …
    looks pretty decent
    think it’s an indie project so lots of bugs.

dynamic

  • docsify
    Docsify generates your documentation website on the fly.
    • it doesn’t generate static html files like GitBook,
    • it displays your Markdown files as a website
    • tutorial
    • it’s not SEO friendly, just like github md preview, use static instead for this
    • works well
    • no wikilinks support,
      wikilinks plugin , works partially
      • no support for images
      • no support for filename paths in other folders
    • https://docsify-this.net/#/
      load public md files with docsify through a 3rd part website
      just pass the URL e.g. to the GitHub .MD file
  • GitHub
    • pages can just live in root, no extra clutter
    • easy PR community, online editor
    • no google crawl
  • blot.im
    • compatible w obsidian
    • 4$ a month
    • no wikilinks

unsorted

Start publishing my notes

https://fulcra.design/Notes/Start-publishing-my-notes
Thinking it through Sept. 16, 2022 I’m currently publishing via Blot. It’s an excellent service and has recently launched support for …

other

  • a template script to add meta data to your notes Q.Q
    YAML title, date, and lastmod field. This facilitates integration with Quartz/Hugo. It requires MetaEdit
pure markdown readers
  • browse repo on github
  • markdown viewer chrome extension
    • works barebones
    • issues:
      • no side bar
      • no filename title
      • no wiki links to other .md files
      • (minor issue) no plugins
        • no backup (git)
        • no search
        • no tags
  • look into this chrome extension to search notes for a webpage

make my own solution

todo

hashtag support to material

  • update this issue if solution is found
  • material supports tags in note header, not same convention as obsidian, docs, testpage

goal: a repo you can clone, and all you need to change is settings/drop docs folder in.
option to submodule it.
bonus:
provide link to your notes repo, submodule, auto set settings.

  • take a mkdocs template
  • only obsidian notes on main (and github workflow)
  • workflow copies files to documentation
  • documentation copies files to gh-pages

optional

  • ability to only add github workflow, pulls documentation from hannes repo and sets up new branch
  • support submodules pull latest

  • find a solution to implement this.

  • if notes are in URLs, how can a note be renamed without changing the URL.
    This would break links.
    notion uses a GUID
    Andy uses some kind of GUIDs, good reference
  • edit on the web
    to support non-tech community
    no need to know git
  • preview on hover, see Andy

Obsidian is running Electron, which apparently is easy to port to the web

challenges

  • wiki links not by default supported in markdown
  • requires a “root” defined.
    • links are just name of doc, doesn’t include folder paths
    • so needs a database?

goals

  • avoid plugins that add non default markdown to file (e.g. special header info)
  • easy UX to edit and auto/easy backup notes
  • collapsible lists

comments on Obsidian site

about obsidian

obsidian has a REST API
test it here
access e.g. active page through code
req: the obsidian app needs to be open
Obsidian special formatting

wikilink

test