• Stars
    star
    623
  • Rank 72,088 (Top 2 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created about 3 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Simply add icons to anything you want in Obsidian.

Obsidian Icon Folder

Buy Me A Coffee

Preview Image

What is it?

This obsidian plugin allows you to add any custom icon (of type .svg) or from an icon pack to your folder or file.

How to use

There are different functionalities of displaying an icon for your folder or file.

First, you need to go to the settings and download predefined icon packs or create your own.

Icon Pack Preview

Right now, the following icon packs are supported by default and can be downloaded instantly:

However, feel free to add your custom icon packs or submit a new one by creating a Pull Request where you update the iconPacks.ts file and upload a zip file with the icons to this directory.

In addition to the custom icon pack, it is possible to drag and drop or select multiple files to your customized icon pack.

Moreover, you can adjust some styling settings for all the icons like margin, color, or even the icon size.

Changing icon of the folder

It is pretty simple to add an icon to your folder:

  1. Right click on the folder where you want to add an icon
  2. Select the Change Icon menu item (prefixed with a # icon)
  3. Select the icon you want and profit!

To delete an icon, you just need to click on the Delete Icon (prefixed with a trash icon) menu item.

Inherit Icon

This functionality lets you define an inherit icon for a specific folder. When you add a file to this folder, the created file will inherit this icon. In addition, all files in the folder will have this specific inherited icon.

To apply an inherited icon:

  1. Right-click the folder
  2. Use the Inherit icon menu entry
  3. For removing: just right-click again and click Remove inherit icon

Custom Rules for automatically adding icons

This feature allows you to add custom rules (based on regex or a simple string comparison) to always add icons when they meet a specific condition.

To use custom rules, go to the plugin's settings, add a simple rule and an icon. Every file or folder that meets this condition will now have the icon.

Using Twemoji for Emojis as folders

Twemoji is a popular library to add universal emojis to your application. With the help of this library, you can now set an emoji as your folder icon. Just follow these steps:

  1. Right-click the folder
  2. Click Change icon
  3. Open your OS-specific emoji dialog
    1. Mac OSX: Control + Command + Space
    2. Windows: Windows + ;
  4. Select the option Use twemoji emoji

Migration

Suppose you used a previous version of this plugin. Please follow this guide to migrate to the newest version, which allows customizable icon packs.

A migration script will run whenever you haven't migrated yet. Therefore, all icons should be gone from your vault. However, you can easily install or create icon packs you used. For example, when you use the font-awesome-solid pack, you can easily download it in the settings and restart your vault. Every icon of this pack should now be visible.

Sync issue

There have been some syncing issues regarding the icon packs. You can change the icon pack path to .obsidian/icons to resolve the issue. Go to settings, select the plugin, and change its path to the earlier described path.

Using other icon plugins with icon packs

Suppose you are using other icon pack plugins with a download functionality. In that case, it is common to change the icon pack path to a more public folder so that you have no issue syncing the icons between different devices.

Therefore, if you go to the plugin's settings, you can specify the public folder where every icon pack can be downloaded. It will automatically check if the icon pack already exists in this directory.

Development

To customize this project for your needs, you can clone it and then install all dependencies:

$ git clone https://github.com/FlorianWoelki/obsidian-icon-folder
$ cd obsidian-icon-folder
$ pnpm i

After the installation, you need to create a env.js file in the root directory. Fill the file with the following content:

export const obsidianExportPath =
  '<path-to-obsidian-vault>/.obsidian/plugins/obsidian-icon-folder/';

Afterwards, you can start the rollup dev server by using:

$ pnpm dev

This command will automatically build the neccesary files for testing and developing on every change. Furthermore, it does copy all the necessary files to the plugin directory you specified.

Finally, you can customize the plugin and add it to your plugins.

More Repositories

1

vue-cirrus

Vue components for the Cirrus CSS framework.
Vue
42
star
2

lungcure

This is a WebApp, which detects lung diseases with integrated stripe payment processing.
HTML
24
star
3

obsidian-symbols-prettifier

Symbols that prettify your knowledge base.
TypeScript
21
star
4

insta-clone

A scalable Instagram clone written in React and powered by microservices written in Golang (WIP)
Go
17
star
5

kira

A fast and scalable general purpose sandbox code execution engine.
Go
16
star
6

pneumonia-detection

This is a simplified version of pneumonia detection using a chest x-ray dataset with the inceptionv3 image classifier.
Jupyter Notebook
12
star
7

driver-simulator

🚖 Uber or Lyft driver simulator built with VueJS, Vuetify and Leaflet.
Vue
4
star
8

climate_change

This jupyter notebook is for visualising the climate change in the years from 1750 to 2015.
Jupyter Notebook
4
star
9

image_classification_browser

This repository contains a simple web image classification. Nothing is stored on any server.
JavaScript
3
star
10

watch-together

A simple watch together clone.
JavaScript
2
star
11

vgql

Vue GraphQL Project Command-Line Tool
TypeScript
2
star
12

florianwoelki.com

This is my new and up to date portfolio page.
TypeScript
2
star
13

flex-vis

🎨 A CSS Flexbox visualizer for better learning experience.
Vue
2
star
14

lise

Create swifty sidebars with this easy and lightweight library.
Swift
2
star
15

uwrite

Take notes and capture code snippets with focus, VIM, and LaTeX.
TypeScript
2
star
16

neural-network-weed-detection

This repository contains a custom made neural network which will classify weed.
Jupyter Notebook
2
star
17

fashion_mnist_gan

This repository lets you generate new not seen clothes by using a gan with the fashion mnist dataset.
Jupyter Notebook
2
star
18

fraud_detection

This is a notebook for fraud detection for a kaggle challenge.
Jupyter Notebook
1
star
19

titanic_classification

This is a binary classification problem for the titanic dataset.
Jupyter Notebook
1
star
20

uber-movement-speed

AWS architecture which handles a lot of incoming traffic from the Uber movement speed data.
Go
1
star
21

mnist_fashion_cnn

This is a classification problem based on the mnist fashion dataset. I've used a CNN to classify the images.
Jupyter Notebook
1
star
22

hotel-room-booking-chatbot

A simple and experimental hotel room booking chatbot.
TypeScript
1
star
23

rec-rts

RecRTS is a simple RTS game with pure JavaScript (and a bit of TypeScript magic).
TypeScript
1
star