Skip to content

DominikPieper/obsidian-ReadItLater

Repository files navigation

ReadItLater Plugin for Obsidian

Table of contents

Introduction

Save the web with ReadItLater plugin for Obsidian. Archive web pages for reading later, referencing in your second brain or for other flexible use case Obsidian provides.

ReadItLater can do a lot more than converting web pages to markdown. For every content type there is specific template with carefully selected variables to ease up your archiving process.

To add something to your vault just click the ReadItLater: Save clipboard ribbon or run the ReadItLater: Save clipboard command. New note will be created in folder configured in plugin settings.

Template engine

ReadItLater provides for every content type dedicated template that can be edited in plugin settings.

Variables

Variables are rendered in template using familiar syntax {{ content }}. Nested data types can be accessed using dot notation {{ author.name }}.

Filters

Variables output can be modified using filters. Filters are separated by | symbol. Filters can be chained, so output of the previous is passed to the next.

blockquote

Adds quote prefix to each line of value.

capitalize

Modifies first character to uppercase and others to lowercase.

{{ 'hello world'|capitalize}}

outputs: Hello world
lower

Converts value to lowercase.

{{ 'Hello World'|lower}}

outputs: hello world
replace

Replaces all occurrences in input value.

{{ 'Hello world'|replace('o') }}

outputs: Hell wrld
upper

Converts value to uppercase.

{{ 'Hello World'|upper}}

outputs: HELLO WORLD

Content Types

Structure of note content is determined by URL. Currenty plugin supports saving content of websites and embedding content from multiple services. Each content type has title and note template with replacable variables, which can be edited in plugin settings.

Available content types are ordered by URL detection priority.

Youtube

Title template variable Description
title Video title
date Current date in format from plugin settings
Content template variable Description
videoTitle Video title
date Current date in format from plugin settings
videoURL Video URL on Youtube.com
videoId Video ID
videoPlayer Embeded player generated by plugin
channelId Channel ID
channelName Channel name
channelURL Channel URL on Youtube.com
videoThumbnail Video thumbnail image URL

Parsing of HTML DOM has its limitations thus additional data can be fetched only from Google API. Retrieved API key can be set in plugin settings and then plugin will use the Google API for fetching data.

Content template variable Description
videoDescription Video description
videoDuration Video duration in seconds
videoDurationFormatted Formatted video duration (1h 25m 23s)
videoPublishDate Video plublish date formatted in content format from plugin settings
videoTags Formatted list of tags delimited by space
videoViewsCount Video views count

Vimeo

Title template variable Description
title Video title
date Current date in format from plugin settings
Content template variable Description
videoTitle Video title
date Current date in format from plugin settings
videoURL Video URL on Vimeo.com
videoId Video ID
videoPlayer Embeded player generated by plugin
channelName Channel name
channelURL Channel URL on Vimeo.com

Bilibili

Title template variable Description
title Video title
date Current date in format from plugin settings
Content template variable Description
videoTitle Video title
date Current date in format from plugin settings
videoURL Video URL on Bilibili.com
videoId Video ID
videoPlayer Embeded player generated by plugin

X.com (Twitter)

Parser use X Publish API to fetch data.

Title template variable Description
tweetAuthorName Post author name
date Current date in format from plugin settings
Content template variable Description
tweetAuthorName Post author name
date Current date in format from plugin settings
tweetURL Post URL on X.com
tweetContent Post content
tweetPublishDate Post publish date formatted in content format from plugin settings

Stack Exchange

Title template variable Description
title Question title
date Current date in format from plugin settings

Note template variables

Content template variable Description
date Current date in format from plugin settings
questionTitle Question title
questionURL Question URL on selected StackExchange site
questionContent Question content
authorName Question author name
authorProfileURL Question author profile URL
topAnswer Formatted first answer
answers Formatted other answers

Answer template variables

Content template variable Description
date Current date in format from plugin settings
answerContent Answer content
authorName Answer author name
authorProfileURL Answer author profile URL

Mastodon

Title template variable Description
tootAuthorName Status author name
date Current date in format from plugin settings
Content template variable Description
tootAuthorName Status author name
date Current date in format from plugin settings
tootURL Status URL on selected Mastodon instance
tootContent Status content

If enabled in plugin settings, you can fetch also replies.

Reply template variable

Content template variable Description
tootAuthorName Reply author name
tootURL Reply URL on selected Mastodon instance
tootContent Reply content

TikTok

Title template variable Description
authorName Video author name
date Current date in format from plugin settings
Content template variable Description
videoDescription Video description
date Current date in format from plugin settings
videoURL Video URL on TikTok.com
videoId Video ID
videoPlayer Embeded player generated by plugin
authorName Author name
authorURL Author profile URL on TikTok.com

Website URL

Will be parsed to readable form using Mozilla Readability and then converted to markdown. In case website content is marked by Readbility as not readable, empty note with URL will be created.

If enabled, images will be downloaded to folder (default is ReadItLater Inbox/assets) configured in plugin settings. (Supported only on desktop for now)

Title template variable Description
title Article title from <title> HTML tag
date Current date in format from plugin settings
Content template variable Description
articleTitle Article title from <title> HTML tag
articleURL Article URL
articleReadingTime Estimated reading time in minutes by Readbility.js
articleContent Article content
date Current date in format from plugin settings
previewURL Aritlce preview image URL parsed from OpenGraph or Twitter image <meta> property
publishedTime Article publish time parsed from OpenGraph <meta> property or Schema.org JSON and formatted in content format from plugin settings

Text Snippet

If your clipboard content is not recognized by any of above parsers plugin will create note with unformatted clipboard content.

Title template variable Description
date Current date in format from plugin settings
Content template variable Description
content Clipboard content
date Current date in format from plugin settings