Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/p-laranjinha/thing-list

An Obsidian vault with the purpose of saving any random thing one feels like should be saved just in case it's needed later.
https://github.com/p-laranjinha/thing-list

obsidian obsidian-md obsidian-vault

Last synced: about 1 month ago
JSON representation

An Obsidian vault with the purpose of saving any random thing one feels like should be saved just in case it's needed later.

Awesome Lists containing this project

README

        

# Thing List

> [!WARNING]
> This vault appears to be working but still requires quite a bit of testing.

An [Obsidian](https://obsidian.md) vault with the purpose of saving any random
thing one feels like should be saved just in case it's needed later.

This vault works out-of-the-box after downloading and opening with Obsidian.
After opening Obsidian, you can open [Home.md](Home.md) and from there add
things and open views.

The name of the folder this vault is in doesn't matter, so give it what you think fits best.

When this vault was created, Obsidian was at version `v1.6.7`.

## Things

The things you add can be anything from an idea, to a website, to an
interesting paragraph.

By default every thing has 5 properties at the top:

- **name**: Can usually be the same as the name of the file, but can differ if you
want characters not allowed in file names or if you want the file names to be
smaller.

- **url**: A link to the website or the source of the thing.

- **icon**: A link to an icon representing the thing. This icon is rendered below
the properties and in the views. By default it is
`https://www.google.com/s2/favicons?sz=64&domain=` because you can add any
website to the end of it and get the website icon.

- **description**: A small description that shows up on the views.

- **tags**: A list of tags that categorize the thing. Tags can't have spaces and
use slashes (/) to represent subtags.

As a thing is just a Markdown file, you can add any text to it after the
properties.

By default, all things are stored in the **Things** folder, which is created
the first time you click the "Add thing" button in [Home.md](Home.md).

You can edit what a newly created thing contains by changing the content of the
template in [config/templates/thing.md](config/templates/thing.md).

## Views

The views listed in [Home.md](Home.md) are Markdown files with a table
containing a collection of things. This table has sorting and pagination
built-in.

This vault also has a concept of initiated views and uninitiated views.
An initiated view is a view with an existing file, while an uninitiated view
is a view which we know can exist (has tags or custom views) but their file
hasn't been created yet.

The things appearing in a view are filtered to only include things with a tag
equal to the view file name. The exceptions to this are custom views.

The custom views that are already included are:

- **All**: A custom view that shows all things.

- **Untagged**: A custom view that shows all things without tags.

- **Other**: A custom view that shows all things that aren't shown in any other
initiated view.

This vault also comes with the **Archive** custom tag included, which hides a
thing from any view besides the **Archive** view.

You can edit what an autogenerated view contains by changing the content of the
template in [config/templates/view.md](config/templates/view.md).

## Settings

### Vault Settings

The settings specific to this vault are changed in the JavaScript file
[config/user.js](config/user.js). You can read what each setting does in the
comment above it.

If you're not a programmer, the settings start with `const` and the comments
are represented as `// ` and `/* */`. Edit the text after the =
(but keep the " if it's there) to change most settings.

If those settings are not enough for you, you can look at the JavaScript file
[config/core.js](config/core.js) that contains all the functions required for
this vault to work. The functions were designed so that you can customize their
functionality using the optional arguments.

If you're not a programmer, I recommend you only look at
[config/core.js](config/core.js) if you REALLY want better customization.

### Obsidian Settings

I changed very little of the default Obsidian settings, as most really come
down to personal preference.

## Tips

### Subfolders

You can use subfolders inside both the views folder and the things folder.

The consequence of this is that while views at the root of the views folder
continue to show all things that match their filter, views inside a subfolder
can only show things inside a subfolder with the same name.

If subfolders exist inside the things folder, [Home.md](Home.md) will
automatically show possible subfolders for the views.

If you find having both the subfolder and subtags being represented by a slash
(/) in [Home.md](Home.md) confusing, you can change this in the settings.

### Hard Separation

If subfolders and tags are not enough for you and want some things to be
completely separate from others, you can use the optional arguments of
functions to set their thing and view folders to something else.

### Synchronize Between Devices

The easiest way to sync an Obsidian vault is by using the official and paid
[Obsidian Sync](https://obsidian.md/sync).

There are also some plugins that use an existing service like Google Drive as
a middleman to sync a vault. These can be easily found by searching the
community plugin browser inside settings.

The method I use is by using [Syncthing](https://syncthing.net), as it doesn't
need a middleman server, is supported on many devices including mobile, and
works outside of Obsidian so it can be used for other purposes.

### Themes

You can select one of many community made themes in `Settings > Appearance >
Themes`.

I personally recommend the [Minimal](https://github.com/kepano/obsidian-minimal)
theme, as I enjoy how it looks, it has great table customization (including
a [cards format](https://minimal.guide/cards)), and it has support for many
elements and plugins.

### Editing the settings files inside Obsidian

By default, Obsidian can only open Markdown files, but with the
[Code Files](https://github.com/lukasbach/obsidian-code-files) plugin, you can
open any text file inside Obsidian.

This plugin opens a Monaco Editor (which is also used by VSCode) when a
non-Markdown text file is opened, allowing you to edit
[user.js](config/user.js) and [core.js](config/core.js) inside Obsidian.

### Searching and adding things from a browser

If you want to use this vault as a replacement to bookmarks, or not but still
want to search and add to it from outside Obsidian, there are some solutions.

#### Searching

The main part of searching this vault outside of obsidian is the
[Omnisearch](https://github.com/scambier/obsidian-omnisearch) plugin.

This plugin is a better search engine for Obsidian that includes an HTTP server.
There are also [browser extensions and userscripts that use this HTTP server
to search from a browser](https://github.com/scambier/obsidian-omnisearch#projects-that-use-omnisearch).

The problem with using this plugin is that it requires having Obsidian open.
This can be alleviated using the
[Tray](https://github.com/dragonwocky/obsidian-tray) plugin, which allows
Obsidian to be launched on system startup and run in the background.

#### Adding

There are many extensions for both Chrome and Firefox that add notes to a
vault. Many of these extensions also require an additional plugin or to keep
Obsidian open in the background.

The one I recommend is
[Obsidian Clipper](https://github.com/jplattel/obsidian-clipper), available
for both Chrome and Firefox. It allows you to customize the content of the
note, doesn't require any additional plugin, but it does open Obsidian if it was
closed. There are also many reviews and GitHub issues complaining that it isn't
working for them, but I'm having no problems, so good luck with that.

## Plugins

### Required

#### [Dataview](https://github.com/blacksmithgu/obsidian-dataview)

> Version Included: 0.5.67

Used to run JavaScript in the Markdown files, and to render lists, tables, and
buttons.

#### [Templater](https://github.com/SilentVoid13/Templater)

> Version Included: 2.4.1

Used to define the content of newly created things and autogenerated views.

#### [Modules](https://github.com/polyipseity/obsidian-modules)

> Version Included: 2.4.4

Used in conjunction with Dataview to export code from JavaScript files into
Markdown files.

### Included (but not required)

#### [File Hider](https://github.com/Oliver-Akins/file-hider)

> Version Included: 1.1.1

Used to hide the **/config** folder in Obsidian.

#### [Force note view mode](https://github.com/bwydoogh/obsidian-force-view-mode-of-note)

> Version Included: 1.2.2

Used to forcibly enable view mode on newly created Views and Things, so that
you don't have to always press the shortcut or button to set to view mode.

Can be annoying in normal vaults where after the you create a note, you usually
want to edit it.

#### [Default new tab page](https://github.com/chrisgrieser/new-tab-default-page)

> Version Included: 0.11.4

Used to make the new tab page be [Home.md](Home.md).

Will not work when you first open this vault, but will start working after you
open any note.

### Interesting (but not included)

#### [Meta Bind](https://github.com/mProjectsCode/obsidian-meta-bind-plugin)

Allows you to create buttons, dropdowns, and many other inputs without
requiring programming knowledge.

#### [DB Folder](https://github.com/RafaelGB/obsidian-db-folder)

An alternative to the current use of **Dataview** with views. More plug-n-play
but not as easily programmable.

#### [CustomJS](https://github.com/saml-dev/obsidian-custom-js)

Alternative to the **Modules** plugin.

#### [Sortable](https://github.com/alexandru-dinu/obsidian-sortable)

Allows you to sort Markdown or Dataview tables by clicking the headers.

This plugin will no longer be receiving updates, but there currently are no
other alternatives to sort Dataview tables.

#### [Table Sorting](https://github.com/kraibse/obsidian-table-sorting)

An alternative to the **Sortable** plugin, but **Dataview** table support is
currently being worked on.

It also isn't in Obsidian's community plugin browser yet.

#### [Fleeting Notes](https://github.com/fleetingnotes/fleeting-notes-obsidian)

A plugin and browser extension that might solve both the
[Synchronize Between Devices](#synchronize-between-devices) and
[Searching and adding things from a browser](#searching-and-adding-things-from-a-browser)
tips mentioned earlier.

#### [Local REST API](https://github.com/coddingtonbear/obsidian-local-rest-api)

A plugin that can be used together with the
[Obsidian Web](https://github.com/coddingtonbear/obsidian-web) browser
extension to maybe solve both the
[Synchronize Between Devices](#synchronize-between-devices) and
[Searching and adding things from a browser](#searching-and-adding-things-from-a-browser)
tips mentioned earlier.

#### [Advanced URI](https://github.com/Vinzent03/obsidian-advanced-uri)

A plugin that extends the default Obsidian URI, useful to automate Obsidian
tasks and is required by many [browser extensions that add notes](#adding).