What is the best way to use Obsidian for forum posts and replies?

I’d like to keep track of what I’ve written on forums in case those places disappear. Are there any methods you recommend on how to incorporate Obsidian with forum posts and replies?

I could start writing in Obsidian first and then copy and paste the content into the forum, but perhaps there is a tool that can download the contents of the URL or something else.

1 Like

I’m not using this, but just as I read I think is a good idea, that Obsidian would recognize this…

![](https://forum.obsidian.md/t/what-is-the-best-way-to-use-obsidian-for-forum-posts-and-replies/90604)

… as an embedded link and showed the post! So maybe a “feature request” :slight_smile:

This one works, but it’s just not the same…

<iframe src="https://forum.obsidian.md/t/what-is-the-best-way-to-use-obsidian-for-forum-posts-and-replies/90604" width="100%"></iframe>

But yes, on the other hand, embedding doesn’t work if post disappear :frowning:

Cheers, Marko

Obsidian Web Clipper offers some template variables and filters.

Selector variables

Selector variables allow you to extract text content from elements on the page using the syntax {{selector:cssSelector?attribute}}, where ?attribute is optional. If no attribute is specified, the text content of the element is returned. You can also use {{selectorHtml:cssSelector}} to get the HTML content of the element. Selector variables tend to work best on a specific website or set of websites that have consistent HTML structure.

  • {{selector:h1}} returns text content of the first h1 element on the page.
  • {{selector:.author}} returns text content of the first .author element on the page.
  • {{selector:img.hero?src}} returns the src attribute of the first image with class hero.
  • {{selector:a.main-link?href}} returns the href attribute of the first anchor tag with class main-link.
  • {{selectorHtml:body|markdown}} returns the entire HTML of the body element, converted to Markdown using the markdown filter.
  • Nested CSS selectors and combinators are supported if you need more specificity.
  • If multiple elements match the selector, an array is returned, which you can process with Arrays and objects filters like join or map.

There’s no such tool that could process every web page to a desirable form but rather you need to code a special template for each website. Obsidian Web Clipper offers import/export of templates using .json so you might want to ask clipper templates for specific websites.

1 Like

@blue_emperor got a good point! For me, Obsidian Web Clipper is something new and haven’t played a lot with it. Now you trigger me :slight_smile: and must admit it was fun!

{
	"schemaVersion": "0.1.0",
	"name": "Obsidian Forum",
	"behavior": "create",
	"noteContentFormat": "### Forum note\n**Date & Time:** {{date|date:\"YYYY-MM-DD HH:mm\"}}\n**Category:** {{selector:.user-stream .user-stream-item__details .badge-category__wrapper|first}}\n\n---\n\n{{selectorHtml:.user-stream .excerpt|first|markdown}}\n\n---\n\n### Personal note\n",
	"properties": [
		{
			"name": "Date",
			"value": "{{date|date:\\\"YYYY-MM-DD\\\"}}",
			"type": "date"
		},
		{
			"name": "Category",
			"value": "{{selector:.user-stream .user-stream-item__details .badge-category__wrapper|first}}",
			"type": "text"
		},
		{
			"name": "Tags",
			"value": "Post, Reply",
			"type": "multitext"
		}
	],
	"triggers": [
		"https://forum.obsidian.md/u/[change-to-your-username]/activity"
	],
	"noteNameFormat": "{{date|date:\"YYYY-MM-DD\"}} - {{selector:.user-stream .stream-topic-title|first}}",
	"path": "Obsidian Forum Activities"
}

So the idea is, that after posting, you go to your activity tab in a profile https://forum.obsidian.md/u/[change-to-your-username]/activity, expand the last activity and run clipper. In the JSON file, there’s a “trigger”, which preselect this template when you’re on your activity page.

My first template, and definitely there’s plenty of space for improvement. And yes, just as an idea (and for me to learn and play), you can do whatever you need.

Cheers, Marko

1 Like