"Obsidian+Github Pages" for digital gardeners?

Oh… Yeah. You’re correct that MediaWiki-style [[]] links don’t work or convert to GHPages or an SSG (like 11ty, Hugo, etc…)

I don’t use [[]] links in Obsidian. I use standard Markdown [text](link) format which works perfectly in Obsidian. And allows me to “lable” the link anything I want instead of whatever the File Name is.

I also have TextExpander quick keys that generate an entire set of FrontMatter Keys and Values at the top of each file. Again, I’m working mostly in VSCode and only use Obsidian for viewing the Graph or backlinks…and with FOAM there’s less round-tripping between VSCode and Obsidian.

For me, I’m really not concerned about the Graph or backlinks when I’m working/writing.

My thinking/process is basically:

  1. In order to maintain as much open format and interoperability in the future, stick to content and file format standards.
  2. For the few internal/external links in each document, it’s not that much of an inconvenience (especially with quick keys) to use standard [text](link) syntax. This ensures I can serve any .MD file I have with any SSG and/or use any standard Markdown converter now and in the future. And when I’ve finished the document, I do have to manually at Tags to the Frontmatter “tags” array. Adds 2-3 seconds per tag, but guarantees I’ll have taxonomy connections between files when published through an SSG.
  3. Placing Frontmatter at the top of each file also guarantees future interoperability, conversion, and hosting via SSG. Using TextExpander makes this super easy and fast.

It’s that old tradeoff of simply changing a few workflow elements (using [text](link) instead of [[]] for example) to benefit from exponentially more interoperability.

4 Likes

Hi… Yeah. Just replied to @jarodise that my solution is to use standard Markdown [text](link) syntax rather than MediaWiki [[]] syntax. Solves all the problems of not being able to parse MediaWiki links IF you want to someday publish via GHP, SSG, or just maintain interoperable standards.

1 Like

Thanks for sharing, really appreciate it!

1 Like

You could use plugins for converting links in some static site generators like
Gatsby (https://github.com/aravindballa/gatsby-theme-andy) or Jekyll (Simply Jekyll Theme) https://simply-jekyll.netlify.app/posts/introduction-to-simply-jekyll

Here you could find even more resources https://github.com/MaggieAppleton/digital-gardeners

10 Likes

Thanks - still, its an extra step

@ShaneRobinson Excuse the direct ping, but you seem pretty knowledgeable about this… would you mind looking at my question here: Understanding digital garden creation with Obsidian

Many thanks!

1 Like

Foam discusses the issues directly, which affect them more because of the Github linkage. Has found no solution, but switched from md to wiki syntax because of the superior ergonomics.


I created a template, eleventy-garden, with Obsidian in mind. It does work with wiki-style links (ie. [[filename]]).

The only hitch I see is the GitHub piece. Would the user create an account & repo themselves? Once you’re doing that, why not just push to GitHub yourself?

4 Likes

It would be great if a vault or a part of the vault could be easily published on the web. This could potentially be very simple through e.g. GitHub Pages, which has templating mechanisms that turn markdown into HTML (https://pages.github.com/).

Unfortunately, my first test of doing this with the current markdown generated by Obsidian failed:


resulted in

The link is broken and the image is not shown. I assume this is because of a mismatch in markdown syntax between Obsidian and GitHub pages; also GitHub pages cannot know the Obsidian setting for the folder in which file attachments are located.

It would be great to have a tutorial, export script or other helpful material for turning Obsidian content into web pages!

7 Likes

This is a planned feature and well advertized in the homepage as part of the services that will be offered!

4 Likes

Oops. Okay, eagerly waiting for the release that will introduce that feature! :slight_smile:

1 Like

Yes! They announced this “publishing mode” was going to be a feature time ago, but still haven’t heard anything about it.
So, I also tried to share my notes on the web (as a public blog). But did fail, too :frowning:
Hope Obsidian have this as a high priority on their roadmap, so we can publish online directly with Obsidian and forget about exporting every note and reformatting to a time-consuming blogging platform.

This one is a high priority for me too! I would also like

  1. to know the licensing implications of this, if I use this feature for example to generate documentation for my business but technically obsidian itself is not used by the business?

  2. to just export the markdown files as is, except replacing all [[page links]] with relative urls at time of export (so that it can be ingested by jekyll or the like)

  3. to know where i can follow the roadmap of this feature more closely (beyond the “long-term” ticket item existing in the trello board)

  4. to be able to contribute to this plugin, static site content generation from markdown files is something i have many opinions about :slight_smile:

3 Likes

I spent 4 hours trying to figure this out on my own today using Hexo, Hugo, Harp, and Ghost, with no success.

I don’t need a full-fledged document management system, I just want to publish my notes to Github pages (or a lightweight, minimalist static site generator) so others can browse it.

Is the full “Publishing” feature going to be only github pages or have multiple publishing options?

3 Likes

Possible few solutions are:

  1. https://github.com/mathieudutour/gatsby-digital-garden (Built on Gatsby)
  2. https://github.com/raghuveerdotnet/simply-jekyll (Built on Hugo)
  3. https://github.com/aengusmcmillin/gatsby-theme-brain (Built on Gatsby)

In all three, you commit your changes to Github and then let Netlify take a build and publish your content.

All of these generate backlinks when you publish. However, none of the above solutions were built keeping Obsidian in mind.

  • Gatsby Digital Garden was built to import and publish content from Roam. It also has a graph view. It displays transcluded text in backlinks when content is imported from Roam but not when content is authored elsewhere in markdown.

  • Simply Jekyll uses [[ ]] for wiki like links, and therefore can be used for publishing content authored in Obsidian. However, it also uses [[ ]] for many of its other nifty functionalities. So, you have to either let go of those functionalities or stop using Obsidian as the text editor. VS Code with Notecomplete plugin works. It is also the only one that has search built in. Check out https://www.raghuveer.net, personal blog site of the author of Simply Jekyll.

  • Gatsby Theme Brain does not provide either a graph view or even a list of topic. Also, it picks up topic title from the YAML frontmatter.

  • None of these currently support [[Actual Topic Title|Desired Display Text]] or [[Topic Title#Heading]] links. And I am not sure if any of these can be used to selectively publish topics.

8 Likes

I just discovered a Git-based wiki static site generator, which seems to support [[]] links https://github.com/gollum/gollum/wiki#link-tag, an RSS feed of changes to the wiki https://github.com/gollum/gollum/wiki/5.0-release-notes#rss-feed, and many more features. I wonder if folks hosting their Obsidian vault in Git would be able to use this alongside it for an easy automatic publishing solution. The RSS feed is of particular interest to me because it means I could also make a newsletter out of it. Anyone more technical than me know if there’s a reason this wouldn’t work?

3 Likes

Hey there,

I built a solution for publishing Obsidian notes to GitHub Pages and other platforms.

With docsify I create a single page application and then added a docsify plugin to convert the wiki links.

In short I walked through regex hell to convert wiki links.

Next step is SSR.

2 Likes

I have another and simple solution here, using mkdocs(github page) and my mkdocs roamlike plugin, see: https://github.com/Jackiexiao/foam-mkdocs-template

it support [[roamlink]], add it could automatically publish to github page

3 Likes

@surbh

You can use this fork of simply-jekyll to get access to [[]] (internal and external) links :

I use it with Obsidian everyday and it works very well : https://arboretum.link

I’m not sure it integrates well with GitHub pages, but you can host it at Netlify for free and as easily as GitHub Pages.

If you want the [[]] feature for your site, you can check the content.html file in _includes\ which contains this functionality.

3 Likes

Since I use pelican as a static site generator I built a small plugin for that. GitHub - jonathan-s/pelican-obsidian: Makes it possible to bridge work in obsidian to pelican seamlessly