Repository: kmaasrud/awesome-obsidian Branch: master Commit: f5e4b78deb96 Files: 23 Total size: 65.5 KB Directory structure: gitextract_xlc_i6_u/ ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE ├── README.md └── code/ └── css-snippets/ ├── autofading-ui.css ├── better-bullet-points-in-edit-mode.css ├── bigger-link-popup-preview.css ├── bullet-point-relationship-lines.css ├── collapsing-sidebar.css ├── custom-folder-files-tree.css ├── custom-icons-differing-files-and-folders.css ├── custom-icons-for-frontmatter-tags.css ├── custom-icons-for-specific-folders.css ├── enlarge-image-on-hover.css ├── hyphenation-and-justification.css ├── image-cards.css ├── media-grid.css ├── nicer-checkboxes.css ├── outliner-for-the-outline-and-file-explorer.css ├── smaller-scrollbar.css ├── stylish-blockquotes.css ├── subtler-folding-gutter-arrows.css └── tag-pills.css ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ .DS_Store ================================================ FILE: CONTRIBUTING.md ================================================ # Contribution guidlines Contributions are very welcome! If you've got a theme, plugin, tool, CSS snippet or anything exciting related to Obsidian that you want included in this list, you're welcome to submit a PR. All PRs are manually reviewed, so don't fret if your submission is not merged at once. To aid the maintainers and have your PR approved more quickly, go over this checklist: - Abide by the already established style of the list. - If you addition is part of a table, make sure it is correctly formatted. - If the section has a table of contents, update that as well. - Make sure your addition is part of the correct section/category. - Don't sneak in line. Append your addition to the **end** of the correct section. The ordering is handled by the maintainers. If you intentionally place yourself at the top, we will move you down to the bottom. - If your addition is a CSS snippet, make sure that the CSS file is named fittingly, and that you include an example image in the README. As long as you follow these guidelines, you will probably get merged. If anything is unclear, just submit a draft PR, and we can discuss how to progress from there :smile: ================================================ FILE: LICENSE ================================================ Creative Commons Legal Code CC0 1.0 Universal CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. Statement of Purpose The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. 1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; ii. moral rights retained by the original author(s) and/or performer(s); iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; v. rights protecting the extraction, dissemination, use and reuse of data in a Work; vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. 2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. 3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. 4. Limitations and Disclaimers. a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. ================================================ FILE: README.md ================================================ ![](media/banner.png)
A curated list of awesome themes, plugins and more for [Obsidian](https://obsidian.md/).
--- # Table of contents - [What is Obsidian?](#what-is-obsidian) - [Resources](#resources) - [Plugins](#plugins) - [External Tools](#external-tools) - [Templates](#templates) - [CSS Snippets](#css-snippets) - [Themes](#themes) - [For Developers](#for-developers) # What is Obsidian?
- [Official Obsidian Website](https://obsidian.md) - [Reviews, Pros and Cons of Obsidian at Slant.co](https://www.slant.co/options/37045/~obsidian-md-review) - [Obsidian at Markdown Guide](https://www.markdownguide.org/tools/obsidian/) - [Obsidian Beginner Guide at SitePoint](https://www.sitepoint.com/obsidian-beginner-guide/) - [Obsidian Official Roadmap](https://obsidian.md/roadmap/)
# Resources
- [Obsidian Help](https://help.obsidian.md/): a open-source Obsidian's official help vault. - [Obsidian Roundup](https://obsidianroundup.org/): a weekly roundup of Obsidian.md tips, news & resources via Eleanor Konik. - [Official Getting Started Guide](https://dynalist.io/d/CQ4V16tFhIJIfy-rgDK7r1Bp) (may be a little outdated) - [🎬 Obsidian Office Hours](https://www.youtube.com/channel/UCJKoNPnBdCSloJ2wlKnV2Fw) - [🎬 Obsidian Community Talks](https://www.youtube.com/channel/UCxNSTq2kmupdR6LD400FpvA) - [🎬 Linking Your Thinking (Nick Milo)](https://www.youtube.com/channel/UC85D7ERwhke7wVqskV_DZUA) - [🎬 Bryan Jenks](https://www.youtube.com/channel/UCfhSB16X9MXhzSFe_H7XbHg) - [🎬 Productivity Guru](https://www.youtube.com/playlist?list=PLvmlaxyxtsWz428CtIo_Ia8Bhbo8Uvq2f) - [🎬 Santi Younger](https://www.youtube.com/playlist?list=PL_7j1BHf-xmj3Jr2h3lI6SXlvIaIjcmmo) - [🎬 Effective Remote Work](https://www.youtube.com/playlist?list=PLrI2d6gSaO9BCd8HjgkSY1yd50nyfxYpN) - [🇨🇳 AllinBon](https://www.zhihu.com/people/kio-mis/pins): a Chinese alternative to Obsidian Roundup
# Plugins
| Name | Description | Credits | | :--: | :---------- | ------: | | [Obsidian Day Planner](https://github.com/lynchjames/obsidian-day-planner) | Plugin for day planning and managing pomodoro timers from a task list | [lynchjames](https://github.com/lynchjames) | | [Flashcards](https://github.com/reuseman/flashcards-obsidian) | Simple and intuitive integration for Anki | [reuseman](https://github.com/reuseman) | | [Shell commands](https://github.com/Taitava/obsidian-shellcommands) | You can predefine system commands that you want to run frequently, and assign hotkeys for them. For example open external applications. Automatic execution is also supported. | [Jarkko Linnanvirta](https://github.com/Taitava) |
# External Tools
- [Converters](#converters) - [Browser extensions](#browser-extensions) - [Publishing](#publishing) - [Other](#other) ## Converters | Name | Description | Credits | | :--: | :---------- | ------: | | [Notion to Obsidian converter](https://github.com/connertennery/Notion-to-Obsidian-Converter) | Simple script to convert exported Notion notes to Obsidian. | [Conner Tennery](https://github.com/connertennery) | | [Yarle - Yet Another Rope Ladder from Evernote](https://github.com/akosbalasko/yarle) | Node.js app to convert exported Evernote notes to Markdown (Obsidian) | [Akos Balasko](https://github.com/akosbalasko) | | [keep-it-markdown](https://github.com/djsudduth/keep-it-markdown) | Convert Google Keep notes dynamically to markdown for Obsidian and Notion using the unofficial Keep API. | [Don Sudduth](https://github.com/djsudduth) | | [gooseberry](https://github.com/out-of-cheese-error/gooseberry) | A command line utility to generate a knowledge base from Hypothesis annotations. | [out-of-cheese-error](https://github.com/out-of-cheese-error) | | [BibleGateway to Obsidian](https://github.com/selfire1/BibleGateway-to-Obsidian) | Fetch the text from Bible Gateway and save it as formatted markdown file. Each chapter is saved as one file and navigation between files as well as a book-file is automatically created. All of the chapter files of a book are saved in its numbered folder. | [selfire1](https://github.com/selfire1) | | [DayOne JSON to MD](https://github.com/ze-kel/DayOne-JSON-to-MD) | Simple app that converts jsons (packed with media files into zip) exports from Day One to Markdown. | [Kirill Kleymenov](https://github.com/ze-kel) | | [Annotation tools](https://github.com/collignon/annotation-tools) | connecting hypothesis and obsidian.md | [Nicolas Collignon](https://github.com/collignon) | | [A thousand notes](https://github.com/davidedc/A-thousand-notes) | Scripts for cleaning, validating and maintaining the markdown notes exported from Evernote. | [Davide Della Casa](https://github.com/davidedc) | | [PKMigrator](https://github.com/AnweshGangula/PKMigrator) | Tools to migrate between various Personal Knowledge Management Utilities, including Remnote, Obsidian, Roam and Org-roam. | [Anwesh Gangula](https://github.com/AnweshGangula) | | [Goodsidian](https://github.com/selfire1/goodsidian) | Goodsidian takes updates to your shelves on Goodreads and formats them to a note in Obsidian. | [selfire1](https://github.com/selfire1) | --- ## Browser extensions | Name | Description | Credits | | :--: | :---------- | ------: | | [Markdownload](https://github.com/deathau/markdown-clipper) | A Firefox and Google Chrome extension to clip websites and download them into a readable markdown file. | [deathau](https://github.com/deathau) | | [Copy Selection as Markdown](https://github.com/0x6b/copy-selection-as-markdown) | Firefox add-on to copy a selection or link as formatted Markdown | [0x6b](https://github.com/0x6b) | | [Obsidian Clipper](https://github.com/jplattel/obsidian-clipper) | An unofficial Obsidian clipper for Chrome, that allows you to easily clip a selection to a note in Obsidian | [Joost Plattel](https://github.com/jplattel) | | [Obsidian Bookmark](https://github.com/Liamballin/ObsidianBookmark) | A Chrome extension and nodejs server to allow web clipping to Obsidian. | [Liamballin](https://github.com/Liamballin) | --- ## Publishing | Name | Description | Credits | | :--: | :---------- | ------: | | [mdzk](https://github.com/mdzk-rs/mdzk) | Zettelkasten system and command line static publishing tool. Aims at full support for Obsidian Markdown. | [mdzk-rs](https://github.com/mdzk-rs) | | [publish](https://github.com/obsidian-userland/publish) | An open-source Obsidian Publish alternative | [obsidian-userland](https://github.com/obsidian-userland) | [quartz](https://github.com/jackyzha0/quartz) | Host your own second brain and digital garden | [jackyzha0](https://github.com/jackyzha0) | | [obyde](https://github.com/khalednassar/obyde) | A minimal tool to convert a "standardly" configured Obsidian vault to a Jekyll or Hugo blog. | [Khaled M. Nassar](https://github.com/khalednassar) | | [writeup-converter](https://github.com/Twigonometry/writeup-converter) | Script for grabbing markdown files and Obsidian attachments from one folder and copying them to another. Also contains a 'website formatter' that uses regex to parse markdown headers and links and reformat them to create Jekyll-friendly links and contents tables. | [Mac Goodwin](https://github.com/Twigonometry) | | [pelican-obsidian](https://github.com/jonathan-s/pelican-obsidian) | Makes it possible to bridge work in obsidian to pelican seamlessly. | [Jonathan Sundqvist](https://github.com/jonathan-s) | | [yet-another-free-publish-alternative](https://github.com/Mara-Li/yet-another-free-publish-alternative) | A Jekyll digital garden template, optimized for integration with Obsidian. It aims to enhance discoverability and help you build a personal knowledge base that can scale with time. | [Mara Li](https://github.com/Mara-Li) | | [Perlite](https://github.com/secure-77/Perlite) | A webbased markdown viewer optimized for Obsidian | [secure-77](https://github.com/secure-77) --- ## Other | Name | Description | Credits | | :--: | :---------- | ------: | | [Obsidian For Business](https://github.com/tallguyjenks/Obsidian-For-Business) | A combination of a template vault with initial structure and some Microsoft Office VBA Macros to facilitate a powerful, extensible, and flexible plain text workflow using Microsoft Office and Obsidian For Business. | [Bryan Jenks](https://github.com/tallguyjenks) | | [Sourcegraph knowledge bases extension](https://github.com/bobheadxi/sourcegraph-knowledge-bases) | Browse Markdown knowledge bases (e.g. Obsidian vaults or Foam repositories) in Sourcegraph. | [Robert Lin](https://github.com/bobheadxi) | | [Obweb](https://github.com/chenyukang/obweb/) | Web applcation to view and edit files in an Obsidian vault. Optimized for mobile devices. | [Yukang Chen](https://github.com/chenyukang) | ---
# Templates
## Vault templates | Name | Description | Credits | | :--: | :---------- | ------: | | [Linking Your Thinking Kit](https://forum.obsidian.md/t/lyt-kit-now-downloadable/390) | This starter kit is designed to get you immediately hands-on with ways to manage your digital notes. Experiment. Learn by doing. See what methods work for you. | [Nick Milo](https://forum.obsidian.md/u/nickmilo) | | [PARA Starter Kit](https://forum.obsidian.md/t/para-starter-kit/223) | It’s a full vault to explore around and some of the methodology for P.A.R.A. and how to get started for yourself. | [cotemaxime](https://forum.obsidian.md/u/cotemaxime/summary) | | [Obsidian Starter Templates](https://github.com/masonlr/obsidian-starter-templates) | Obsidian Starter Templates gathers examples from the Obsidian community. Its broader aims are to uncover and communicate how others use backlinks and various markdown tricks and why these techniques work. | [masonlr](https://github.com/masonlr) | | [Obsidian JG Method](https://github.com/joshwingreene/Obsidian-JG-Method) | A starter kit that follows how to use Obsidian to manage goals, tasks, notes, and software development knowledge base. | [joshwingreene](https://github.com/joshwingreene) | | [SlRvb’s Journaling Setup](https://publish.obsidian.md/slrvb/50+Nebula/30-N+Nebula/N+-+Bullet+Journal+Setup) | This is a deep dive into how SlRvb go about journaling the things that happen in his life. | [SlRvb](https://forum.obsidian.md/u/SlRvb/summary) | | [SlRvb’s MediaDB Setup](https://publish.obsidian.md/slrvb/50+Nebula/30-N+Nebula/N+-+MediaDB+Vault+Setup) | Setup for a database vault that stores entertainment media. | [SlRvb](https://forum.obsidian.md/u/SlRvb/summary) | ## Note templates | Name | Description | Credits | | :--: | :---------- | ------: | | [Obsidian Templates](https://github.com/chetachiezikeuzor/Obsidian-Templates) | Few templates, such as admonitions, chess plays, clipboard and others | [Chetachi Ezikeuzor](https://github.com/chetachiezikeuzor) | | [Template Showcase for Templater](https://github.com/SilentVoid13/Templater/discussions/categories/templates-showcase) | Templates for [Templater](https://github.com/SilentVoid13/Templater) made by its community. | Templater Community |
# CSS Snippets
Small tweaks to add to your `vault/.obsidian/snippets` folder. - [Collapsing Sidebar](#collapsing-sidebar) - [Bullet Point Relationship Lines](#bullet-point-relationship-lines) - [Auto-fading UI](#auto-fading-ui) - [Smaller Scrollbar](#smaller-scrollbar) - [Subtler Folding Gutter Arrows](#subtler-folding-gutter-arrows) - [Hyphenation and Justification](#hyphenation-and-justification) - [Enlarge Image on Hover](#enlarge-image-on-hover) - [Nicer Checkboxes](#nicer-checkboxes) - [Stylish Block Quotes](#stylish-block-quotes) - [Bigger Link Popup Preview](#bigger-link-popup-preview) - [Custom Icons Differing Files and Folders](#custom-icons-differing-files-and-folders) - [Custom Icons for Specific Folders](#custom-icons-for-specific-folders) - [Tag Pills](#tag-pills) - [Custom Icons for Frontmatter Tags](#custom-icons-for-frontmatter-tags) - [Outliner For The Outline and File Explorer](#outliner-for-the-outline-and-file-explorer) - [Better Bullet Points in Edit Mode](#better-bullet-points-in-edit-mode) - [Image Cards](#image-cards) - [Media Grid](#media-grid) - [Custom-folder-files-tree](#Custom-folder-files-tree) Not enough? There are many other places related to snippets: - [#custom-css at Obsidian Forum](https://forum.obsidian.md/tag/custom-css/l/top) - [CSS snippets in Obsidian Help](https://help.obsidian.md/How+to/Add+custom+styles#Use+Themes+and+or+CSS+snippets) - [Other GitHub repositories](https://github.com/search?q=obsidian-snippets) ## [Collapsing Sidebar](code/css-snippets/collapsing-sidebar.css) by [@Kmaasrud](https://github.com/kmaasrud) [📁 collapsing-sidebar.css](code/css-snippets/collapsing-sidebar.css) --- ## [Bullet Point Relationship Lines](code/css-snippets/bullet-point-relationship-lines.css) by [@deathau](https://github.com/deathau) Relationship lines that shows hierarchy, like in code editors. ![](media/css-snippets/bullet-point-relationship-lines-1.png) [📁 bullet-point-relationship-lines.css](code/css-snippets/bullet-point-relationship-lines.css) --- ## [Auto-fading UI](code/css-snippets/autofading-ui.css) by [@Rumen Dimitrov](https://forum.obsidian.md/u/rsdimitrov) Fades note's header controls and status bar items when not hovered. ![](media/css-snippets/autofading-ui-1.gif) [📁 autofading-ui.css](code/css-snippets/autofading-ui.css) --- ## [Smaller Scrollbar](code/css-snippets/smaller-scrollbar.css) by [@Rumen Dimitrov](https://forum.obsidian.md/u/rsdimitrov) ![](media/css-snippets/smaller-scrollbar-1.png) [📁 smaller-scrollbar.css](code/css-snippets/smaller-scrollbar.css) --- ## [Subtler Folding Gutter Arrows](code/css-snippets/subtler-folding-gutter-arrows.css) by [@Rumen Dimitrov](https://forum.obsidian.md/u/rsdimitrov) Increases the size of the folding gutter arrows and decreases their opacity until hovered. ![](media/css-snippets/subtler-folding-gutter-arrows-1.png) [📁 subtler-folding-gutter-arrows.css](code/css-snippets/subtler-folding-gutter-arrows.css) --- ## [Hyphenation and Justification](code/css-snippets/hyphenation-and-justification.css) by [@Boyd](https://forum.obsidian.md/u/boyd/summary) Justifies the whole text and breaks words into two lines if needed. ![](media/css-snippets/hyphenation-and-justification-1.png) [📁 hyphenation-and-justification.css](code/css-snippets/hyphenation-and-justification.css) --- ## [Enlarge Image on Hover](code/css-snippets/enlarge-image-on-hover.css) by [@den](https://forum.obsidian.md/u/den/summary) ![](media/css-snippets/enlarge-image-on-hover-1.gif) [📁 enlarge-image-on-hover.css](code/css-snippets/enlarge-image-on-hover.css) --- ## [Nicer Checkboxes](code/css-snippets/nicer-checkboxes.css) by [@kepano](https://forum.obsidian.md/u/kepano/summary) & [@rsdimitrov](https://forum.obsidian.md/u/rsdimitrov) To toggle a checkbox, place your cursor right after it, press left arrow once and then press backspace. ![](media/css-snippets/nicer-checkboxes-1.gif) [📁 nicer-checkboxes.css](code/css-snippets/nicer-checkboxes.css) --- ## [Stylish Block Quotes](code/css-snippets/stylish-blockquotes.css) by [@Thery](https://forum.obsidian.md/u/Thery/summary) ![](media/css-snippets/stylish-blockquotes-1.png) [📁 stylish-blockquotes.css](code/css-snippets/stylish-blockquotes.css) --- ## [Bigger Link Popup Preview](code/css-snippets/bigger-link-popup-preview.css) by [@Cannibalox](https://github.com/cannibalox) & [@konhi](https://github.com/konhi) ![](media/css-snippets/bigger-link-popup-preview-1.png) [📁 bigger-link-popup-preview.css](code/css-snippets/bigger-link-popup-preview.css) --- ## [Custom Icons Differing Files and Folders](code/css-snippets/custom-icons-differing-files-and-folders.css) by [@deathau](https://github.com/deathau) Adds custom icons for files and folders. Please read the comments in the `.css` file. ![](media/css-snippets/custom-icons-differing-files-and-folders-1.png) [📁 custom-icons-differing-files-and-folders.css](code/css-snippets/custom-icons-differing-files-and-folders.css) [📁 IcoMoon.io Free Version](https://github.com/Keyamoon/IcoMoon-Free/archive/master.zip) --- ## [Custom Icons for Specific Folders](code/css-snippets/custom-icons-for-specific-folders.css) by [@ScottKillen](https://github.com/ScottKillen) Adds custom icons to **specific** folders. ![](media/css-snippets/custom-icons-for-specific-folders-1.png) [📁 custom-icons-for-specific-folders.css](code/css-snippets/custom-icons-for-specific-folders.css) --- ## [Tag Pills](code/css-snippets/tag-pills.css) by [@uzerper](https://forum.obsidian.md/u/uzerper) ![](media/css-snippets/tag-pills-1.png) [📁 tag-pills.css](code/css-snippets/tag-pills.css) --- ## [Custom Icons for Frontmatter Tags](code/css-snippets/custom-icons-for-frontmatter-tags.css) by [@ScottKillen](https://github.com/ScottKillen) Adds custom icons to **specific** tags in the frontmatter section. Compatible with [Tag Pills](#tag-pills) and most themes, including [minimal](https://forum.obsidian.md/t/minimal-theme/3659). ![](media/css-snippets/custom-icons-for-frontmatter-tags-1.png) [📁 custom-icons-for-frontmatter-tags.css](code/css-snippets/custom-icons-for-frontmatter-tags.css) --- ## [Outliner For The Outline and File Explorer](code/css-snippets/outliner-for-the-outline-and-file-explorer.css) by [@Shamama](https://forum.obsidian.md/u/Shamama), [@wonton](https://forum.obsidian.md/u/wonton/summary) & [@konhi](https://github.com/konhi) ![](media/css-snippets/outliner-for-the-outline-and-file-explorer-1.png) [📁 outliner-for-the-outline-and-file-explorer.css](code/css-snippets/outliner-for-the-outline-and-file-explorer.css) --- ## [Better Bullet Points in Edit Mode](code/css-snippets/better-bullet-points-in-edit-mode.css) by [@Piotr](https://forum.obsidian.md/u/Piotr) & [@konhi](https://github.com/konhi) ![](media/css-snippets/better-bullet-points-in-edit-mode-1.gif) [📁 better-bullet-points-in-edit-mode.css](code/css-snippets/better-bullet-points-in-edit-mode.css) --- ## [Image Cards](code/css-snippets/image-cards.css) by [@TClark1011](https://github.com/TClark1011) Give your images a shadow and rounded corners. ![](media/css-snippets/image-cards-1.png) [📁 image-cards.css](code/css-snippets/image-cards.css) --- ## [Media Grid](code/css-snippets/media-grid.css) by [@zremboldt](https://github.com/zremboldt) Add more meaning and visual interest to your documents by easily grouping sets of images, videos, or even audio tracks into grid layouts. IMPORTANT For information on requirements and how to use this snippet, see its [original repo](https://github.com/zremboldt/obsidian-media-grid). ![](media/css-snippets/media-grid.png) [📁 media-grid.css](code/css-snippets/media-grid.css) --- ## [Custom-folder-files-tree](code/css-snippets/custom-folder-files-tree.css) ![preview](media/css-snippets/custom-folder-files-tree.gif) [📁 custom-folder-files-tree.css](code/css-snippets/custom-folder-files-tree.css) ---
# Themes
Most themes should be available through the `Appearance` => `Community themes` in Obsidian's settings. You can find more info at [Obsidian Help/Add custom styles](https://help.obsidian.md/How+to/Add+custom+styles). | Repository | Screenshot | | :-----------: | :-----------: | | [kognise/obsidian-atom](https://github.com/kognise/obsidian-atom) | ![Atom](https://raw.githubusercontent.com/kognise/obsidian-atom/master/screenshot-hybrid.png "") | | [cotemaxime/obsidian-amethyst](https://github.com/cotemaxime/obsidian-amethyst) | ![Amethyst](https://raw.githubusercontent.com/cotemaxime/obsidian-amethyst/master/screenshot.png "") | | [insanum/obsidian_gruvbox](https://github.com/insanum/obsidian_gruvbox) | ![Obsidian gruvbox](https://raw.githubusercontent.com/insanum/obsidian_gruvbox/master/dark.png "") | | [insanum/obsidian_nord](https://github.com/insanum/obsidian_nord) | ![Obsidian Nord](https://raw.githubusercontent.com/insanum/obsidian_nord/master/screen.png "") | | [jarodise/Dracula-for-Obsidian.md](https://github.com/jarodise/Dracula-for-Obsidian.md) | ![Dracula for Obsidian](https://raw.githubusercontent.com/jarodise/Dracula-for-Obsidian.md/master/screencap.jpg "") | | [chad-bennett/warmth-obsidian-theme](https://github.com/chad-bennett/warmth-obsidian-theme) | ![Warmth](https://raw.githubusercontent.com/chad-bennett/warmth-obsidian-theme/master/warmth.jpg "") | | [dogwaddle/obsidian-gastown-theme.md](https://github.com/dogwaddle/obsidian-gastown-theme.md) | ![Gastown](https://raw.githubusercontent.com/dogwaddle/obsidian-gastown-theme.md/master/ObsidianOne.png "") | | [deathau/80s-Neon-for-Obsidian.md](https://github.com/deathau/80s-Neon-for-Obsidian.md) | ![80s Neon](https://raw.githubusercontent.com/deathau/80s-Neon-for-Obsidian.md/master/screenshot.jpg "") | | [deathau/Base2Tone-For-Obsidian.md](https://github.com/deathau/Base2Tone-For-Obsidian.md) | ![Base2Tone](https://raw.githubusercontent.com/deathau/Base2Tone-For-Obsidian.md/master/colours.gif "") | | [deathau/Notation-for-Obsidian](https://github.com/deathau/Notation-for-Obsidian) | ![Notation](https://raw.githubusercontent.com/deathau/Notation-for-Obsidian/master/screenshot.jpg "") | | [deathau/obsidian-christmas-theme](https://github.com/deathau/obsidian-christmas-theme) | ![Christmas](https://raw.githubusercontent.com/deathau/obsidian-christmas-theme/master/screenshot.png "") | | [Slowbad/obsidian-solarized](https://github.com/Slowbad/obsidian-solarized) | ![Solarized](https://raw.githubusercontent.com/Slowbad/obsidian-solarized/master/screenshot.png "") | | [obsidian-ezs/obsidian-comfort-color-dark](https://github.com/obsidian-ezs/obsidian-comfort-color-dark) | ![Comfort color dark](https://raw.githubusercontent.com/obsidian-ezs/obsidian-comfort-color-dark/master/screencap.png "") | | [obsidian-ezs/obsidian-ursa](https://github.com/obsidian-ezs/obsidian-ursa) | ![Ursa](https://raw.githubusercontent.com/obsidian-ezs/obsidian-ursa/master/light-theme_full.png "") | | [nickmilo/Cybertron](https://github.com/nickmilo/Cybertron) | ![Cybertron](https://raw.githubusercontent.com/nickmilo/Cybertron/master/Cybertron.png "") | | [kartik-karz/moonlight-obsidian](https://github.com/kartik-karz/moonlight-obsidian) | ![Moonlight](https://raw.githubusercontent.com/kartik-karz/moonlight-obsidian/master/moonlight-theme.png "") | | [seanwcom/Red-Graphite-for-Obsidian](https://github.com/seanwcom/Red-Graphite-for-Obsidian) | ![Red Graphite](https://raw.githubusercontent.com/seanwcom/Red-Graphite-for-Obsidian/master/screenshot01.png "") | | [kartik-karz/subtlegold-obsidian](https://github.com/kartik-karz/subtlegold-obsidian) | ![Subtlegold](https://raw.githubusercontent.com/kartik-karz/subtlegold-obsidian/master/subtlegold-theme.png "") | | [sainadh-d/obsidian-boom](https://github.com/sainadh-d/obsidian-boom) | ![Obsidian Boom](https://raw.githubusercontent.com/sainadh-d/obsidian-boom/master/roam-1.png "") | | [pgalliford/Obsidian-theme-Incredible-Hulk](https://github.com/pgalliford/Obsidian-theme-Incredible-Hulk) | ![Hulk](https://raw.githubusercontent.com/pgalliford/Obsidian-theme-Incredible-Hulk/master/Screen%20Shot.png "") | | [GuangluWu/obsidian-pisum](https://github.com/GuangluWu/obsidian-pisum) | ![Pisum](https://raw.githubusercontent.com/GuangluWu/obsidian-pisum/master/fullpower.png "") | | [elliotboyd/obsidian-traffic-lights](https://github.com/elliotboyd/obsidian-traffic-lights) | ![Traffic Lights](https://raw.githubusercontent.com/elliotboyd/obsidian-traffic-lights/master/dark.png "") | | [mediapathic/obsidian-arsmagna-theme](https://github.com/mediapathic/obsidian-arsmagna-theme) | ![Ars Magna](https://raw.githubusercontent.com/mediapathic/obsidian-arsmagna-theme/master/arsmagna.png "") | | [cannibalox/Obsdn-dark-rmx](https://github.com/cannibalox/Obsdn-dark-rmx) | ![Obsdn-Dark-Rmx](https://raw.githubusercontent.com/cannibalox/Obsdn-dark-rmx/master/Obsdn-Dark-Rmx.png "") | | [kepano/obsidian-minimal](https://github.com/kepano/obsidian-minimal) | ![Minimal](https://raw.githubusercontent.com/kepano/obsidian-minimal/master/dark-simple.png "") | | [rcvd/obsidian_ia](https://github.com/rcvd/obsidian_ia) | ![obsidian_ia](https://raw.githubusercontent.com/rcvd/obsidian_ia/master/light.png "") | | [bcdavasconcelos/Obsidian-Charcoal](https://github.com/bcdavasconcelos/Obsidian-Charcoal) | ![Charcoal](https://raw.githubusercontent.com/bcdavasconcelos/Obsidian-Charcoal/master/charcoal.png "") | | [bcdavasconcelos/Obsidian-Panic_Mode](https://github.com/bcdavasconcelos/Obsidian-Panic_Mode) | ![Panic Mode](https://raw.githubusercontent.com/bcdavasconcelos/Obsidian-Panic_Mode/master/panic.png "") | | [bcdavasconcelos/Obsidian-Graphite](https://github.com/bcdavasconcelos/Obsidian-Graphite) | ![Dark Graphite](https://raw.githubusercontent.com/bcdavasconcelos/Obsidian-Graphite/master/graphite.png "") | | [bcdavasconcelos/Obsidian-Ayu](https://github.com/bcdavasconcelos/Obsidian-Ayu) | ![Ayu](https://raw.githubusercontent.com/bcdavasconcelos/Obsidian-Ayu/master/ayu2.png "") | | [bcdavasconcelos/Obsidian-Ayu_Mirage](https://github.com/bcdavasconcelos/Obsidian-Ayu_Mirage) | ![Ayu Mirage](https://raw.githubusercontent.com/bcdavasconcelos/Obsidian-Ayu_Mirage/master/ayu1.png "") | | [bcdavasconcelos/Obsidian-GDCT](https://github.com/bcdavasconcelos/Obsidian-GDCT) | ![GDCT](https://raw.githubusercontent.com/bcdavasconcelos/Obsidian-GDCT/master/gdct.png "") | | [bcdavasconcelos/Obsidian-GDCT_Dark](https://github.com/bcdavasconcelos/Obsidian-GDCT_Dark) | ![GDCT Dark](https://raw.githubusercontent.com/bcdavasconcelos/Obsidian-GDCT_Dark/master/gdct.png "") | | [DubininDmitry/Obuntu-theme-for-Obsidian](https://github.com/DubininDmitry/Obuntu-theme-for-Obsidian) | ![Obuntu](https://raw.githubusercontent.com/DubininDmitry/Obuntu-theme-for-Obsidian/master/screenshot.jpg "") | | [cannibalox/ono-sendai_obsdn](https://github.com/cannibalox/ono-sendai_obsdn) | ![Ono Sendai](https://raw.githubusercontent.com/cannibalox/ono-sendai_obsdn/master/ono-sendai_obsdn_00.png "") | | [whyt-byte/Blue-Topaz_Obsidian-css](https://github.com/whyt-byte/Blue-Topaz_Obsidian-css) | ![Blue Topaz](https://raw.githubusercontent.com/whyt-byte/Blue-Topaz_Obsidian-css/master/preview_Blue%20Topaz.png "") | | [santiyounger/Reverie-Obsidian-Theme](https://github.com/santiyounger/Reverie-Obsidian-Theme) | ![Reverie](https://raw.githubusercontent.com/santiyounger/Reverie-Obsidian-Theme/master/img/reverie-2020-09-14-dark.png "") | | [ryjjin/Obsidian-Dark-Graphite-Pie-theme](https://github.com/ryjjin/Obsidian-Dark-Graphite-Pie-theme) | ![Dark Graphite Pie](https://raw.githubusercontent.com/ryjjin/Obsidian-Dark-Graphite-Pie-theme/master/Dark%20Graphite%20Pie%20theme%200.9.4.png "") | | [bennyxguo/Obsidian-Obsidianite](https://github.com/bennyxguo/Obsidian-Obsidianite) | ![Obsidianite](https://raw.githubusercontent.com/bennyxguo/Obsidian-Obsidianite/master/images/demo1.png "") | | [ishgunacar/gitsidian](https://github.com/ishgunacar/gitsidian) | ![Gitsidian](https://raw.githubusercontent.com/ishgunacar/gitsidian/master/showcase.png "") | | [jamiebrynes7/clair-de-lune-obsidian-theme](https://github.com/jamiebrynes7/clair-de-lune-obsidian-theme) | ![Clair de Lune](https://raw.githubusercontent.com/jamiebrynes7/clair-de-lune-obsidian-theme/master/assets/screenshot.png "") | | [manassadasivuni/obsidian-molecule](https://github.com/manassadasivuni/obsidian-molecule) | ![Molecule](https://raw.githubusercontent.com/manassadasivuni/obsidian-molecule/master/images/Screenshot1.png "") | | [sparklau/comfort-smooth](https://github.com/sparklau/comfort-smooth) | ![Comfort Smooth](https://raw.githubusercontent.com/sparklau/comfort-smooth/master/comfort-smooth.png "") | | [dxcore35/Suddha-theme](https://github.com/dxcore35/Suddha-theme) | ![Suddha](https://raw.githubusercontent.com/dxcore35/Suddha-theme/master/Images/Preview1.jpg "") | | [mgmeyers/obsidian-california-coast-theme](https://github.com/mgmeyers/obsidian-california-coast-theme) | ![California Coast](https://raw.githubusercontent.com/mgmeyers/obsidian-california-coast-theme/master/screenshots/04.png "") | | [radekkozak/discordian](https://github.com/radekkozak/discordian) | ![Discordian](https://raw.githubusercontent.com/radekkozak/discordian/master/media/screenshots/discordian-full-mode.png "") | | [chad-bennett/al-dente-obsidian-theme](https://github.com/chad-bennett/al-dente-obsidian-theme) | ![Al Dente](https://raw.githubusercontent.com/chad-bennett/al-dente-obsidian-theme/master/aldente-screenshot.png "") | | [santiyounger/Wasp-Obsidian-Theme](https://github.com/santiyounger/Wasp-Obsidian-Theme) | ![Wasp](https://raw.githubusercontent.com/santiyounger/Wasp-Obsidian-Theme/master/img/wasp-dark.png "") | | [davidgolding/obsidian-big-sur-aesthetic](https://github.com/davidgolding/obsidian-big-sur-aesthetic) | ![Big Sur Aesthetic](https://raw.githubusercontent.com/davidgolding/obsidian-big-sur-aesthetic/master/screenshot-hybrid.png "") | | [lukauskas/obsidian-highlighter-theme](https://github.com/lukauskas/obsidian-highlighter-theme) | ![Higlighter](https://raw.githubusercontent.com/lukauskas/obsidian-highlighter-theme/master/screenshots/screenshot-themes-panel.png "") | | [SlRvb/Obsidian--ITS-Theme](https://github.com/SlRvb/Obsidian--ITS-Theme) | ![ITS Theme](https://raw.githubusercontent.com/SlRvb/Obsidian--ITS-Theme/master/ITS.png "") | | [Braweria/Spectrum](https://github.com/Braweria/Spectrum) | ![Spectrum](https://raw.githubusercontent.com/Braweria/Spectrum/master/SpectrumPreview.png "") | | [hipstersmoothie/hipstersmoothie-obsidian-theme](https://github.com/hipstersmoothie/hipstersmoothie-obsidian-theme) | ![Hipstersmoothie](https://raw.githubusercontent.com/hipstersmoothie/hipstersmoothie-obsidian-theme/master/hipstersmoothie-obsidian-theme.png "") | | [hungsu/vileplume-obsidian](https://github.com/hungsu/vileplume-obsidian) | ![Vileplume](https://raw.githubusercontent.com/hungsu/vileplume-obsidian/master/Vileplume.png "") | | [auroral-ui/aurora-obsidian-md](https://github.com/auroral-ui/aurora-obsidian-md) | ![Aurora](https://raw.githubusercontent.com/auroral-ui/aurora-obsidian-md/master/screenshots/screenshot-1.png "") | | [izumin5210/obsidian-iceberg](https://github.com/izumin5210/obsidian-iceberg) | ![Iceberg](https://raw.githubusercontent.com/izumin5210/obsidian-iceberg/master/screenshot.png "") | | [bencodezen/obsidian-night-owl-theme](https://github.com/bencodezen/obsidian-night-owl-theme) | ![Night Owl](https://raw.githubusercontent.com/bencodezen/obsidian-night-owl-theme/master/obsidian-night-owl-theme.png "") | | [chetachiezikeuzor/Yin-and-Yang-Theme](https://github.com/chetachiezikeuzor/Yin-and-Yang-Theme) | ![Yin and Yang](https://raw.githubusercontent.com/chetachiezikeuzor/Yin-and-Yang-Theme/master/assets/screenshot.png "") | | [shaggyfeng/obsidian-Golden-Topaz-theme](https://github.com/shaggyfeng/obsidian-Golden-Topaz-theme) | ![Golden Topaz](https://raw.githubusercontent.com/shaggyfeng/obsidian-Golden-Topaz-theme/master/screenshot.png "") | | [shaggyfeng/obsidian-Pink-topaz-theme](https://github.com/shaggyfeng/obsidian-Pink-topaz-theme) | ![Pink Topaz](https://raw.githubusercontent.com/shaggyfeng/obsidian-Pink-topaz-theme/master/screenshot.png "") | | [eleanorkonik/-palatinate](https://github.com/eleanorkonik/-palatinate) | ![Palatinate](https://raw.githubusercontent.com/eleanorkonik/-palatinate/master/palatinate.png "") | | [sergey900553/obsidian_githublike_theme](https://github.com/sergey900553/obsidian_githublike_theme) | ![Dark Moss](https://raw.githubusercontent.com/sergey900553/obsidian_githublike_theme/master/screenshot.png "") | | [Wittionary/mammoth-obsidian-theme](https://github.com/Wittionary/mammoth-obsidian-theme) | ![Mammoth](https://raw.githubusercontent.com/Wittionary/mammoth-obsidian-theme/master/screenshots/fullscreen-formatting-examples.png "") | | [luke-rmaki/rmaki-obsidian](https://github.com/luke-rmaki/rmaki-obsidian) | ![Rmaki](https://raw.githubusercontent.com/luke-rmaki/rmaki-obsidian/master/screenshot.png "") | | [ArtexJay/Obsidian-CyberGlow](https://github.com/ArtexJay/Obsidian-CyberGlow) | ![Cyber Glow](https://raw.githubusercontent.com/ArtexJay/Obsidian-CyberGlow/master/Screenshot.png "") | | [johackim/obsidian-darkyan](https://github.com/johackim/obsidian-darkyan) | ![Darkyan](https://raw.githubusercontent.com/johackim/obsidian-darkyan/master/screenshot.png "") | | [mrglitchbyte/obsidian_everforest](https://github.com/mrglitchbyte/obsidian_everforest) | ![Everforest](https://raw.githubusercontent.com/mrglitchbyte/obsidian_everforest/master/dark_v2.png "") | | [ZaherAlMajed/Illusion-Theme.md](https://github.com/ZaherAlMajed/Illusion-Theme.md) | ![Illusion](https://raw.githubusercontent.com/ZaherAlMajed/Illusion-Theme.md/master/screenshot.png "") | | [tylernguyen/obsidian-horizon](https://github.com/tylernguyen/obsidian-horizon) | ![Horizon](https://raw.githubusercontent.com/tylernguyen/obsidian-horizon/master/assets/preview.png "") | | [RuslanGagushin/Tokyo-Night-Obsidian-Theme](https://github.com/RuslanGagushin/Tokyo-Night-Obsidian-Theme) | ![Tokyo Night](https://raw.githubusercontent.com/RuslanGagushin/Tokyo-Night-Obsidian-Theme/master/screenshot.png "") | | [nikbrunner/obsidian-deep-work-theme](https://github.com/nikbrunner/obsidian-deep-work-theme) | ![Deep Work](https://raw.githubusercontent.com/nikbrunner/obsidian-deep-work-theme/master/screenshot.png "") | | [vanadium23/obsidian-blackbird-theme](https://github.com/vanadium23/obsidian-blackbird-theme) | ![Blackbird](https://raw.githubusercontent.com/vanadium23/obsidian-blackbird-theme/master/images/example.png "") | | [kinmury/GoldenCoffeeTheme](https://github.com/kinmury/GoldenCoffeeTheme) | ![Golden Coffee](https://raw.githubusercontent.com/kinmury/GoldenCoffeeTheme/master/Screenshots/Showcase.png "") | | [Chrismettal/Obsidian-Behave-dark](https://github.com/Chrismettal/Obsidian-Behave-dark) | ![Behave dark](https://raw.githubusercontent.com/Chrismettal/Obsidian-Behave-dark/master/Screenshot.png "") | | [SMUsamaShah/Obsidian-Win98-Edition](https://github.com/SMUsamaShah/Obsidian-Win98-Edition) | ![Obsidian Windows 98 Edition](https://raw.githubusercontent.com/SMUsamaShah/Obsidian-Win98-Edition/master/screenshots/main.png "") | | [dogwaddle/lizardmen-zettelkasten](https://github.com/dogwaddle/lizardmen-zettelkasten) | ![Lizardmen Zettelkasten](https://raw.githubusercontent.com/dogwaddle/lizardmen-zettelkasten/master/screenshot.png "") | | [firinael/obsidian-cidreira-coast-theme](https://github.com/firinael/obsidian-cidreira-coast-theme) | ![Cidreira Coast](https://raw.githubusercontent.com/firinael/obsidian-cidreira-coast-theme/master/screenshot.png "") | | [chrisgrieser/shimmering-focus](https://github.com/chrisgrieser/shimmering-focus) | ![Shimmering Focus](https://raw.githubusercontent.com/chrisgrieser/shimmering-focus/main/assets/promo-screenshot-big.png "") | | [caro401/royal-velvet](https://github.com/caro401/royal-velvet) | ![Royal Velvet](https://raw.githubusercontent.com/caro401/royal-velvet/main/royal-velvet.png "") |
# For Developers
## Creating Themes - [#custom-css at Obsidian Forum](https://forum.obsidian.md/tag/custom-css) - [Getting comfortable with Obsidian CSS](https://forum.obsidian.md/t/getting-comfortable-with-obsidian-css/133) - [Common Selectors for Custom CSS](https://forum.obsidian.md/t/common-selectors-for-custom-css/1984) - [CSS Themes Showcase](https://forum.obsidian.md/t/meta-post-css-themes-showcase/76) - [🎬 Create a Custom Theme in Obsidian](https://www.youtube.com/watch?v=lyaEnxgow4E) - [ReggieNotes' about Obsidian CSS Themes](https://publish.obsidian.md/reggienotes/Quickstart+CSS+Guide/010+Obsidian+CSS+Themes) - [obsidian-style-settings:](https://github.com/mgmeyers/obsidian-style-settings) allows snippet, theme, and plugin CSS files to define a set of configuration options. It then allows users to see all the tweakable settings in one settings pane. ## Creating Plugins - [Developers & API at Obsidian Forum](https://forum.obsidian.md/c/developers-api/14) - [How to get started with developing a custom plugin](https://forum.obsidian.md/t/how-to-get-started-with-developing-a-custom-plugin/8157) - [Using GitHub actions to release plugins](https://forum.obsidian.md/t/using-github-actions-to-release-plugins/7877) - [Hot Reload](https://forum.obsidian.md/t/plugin-release-for-developers-hot-reload-the-plugin-s-youre-developing/12185) - [Plugins mini FAQ](https://forum.obsidian.md/t/plugins-mini-faq/7737) - [List of available icons](https://forum.obsidian.md/t/list-of-available-icons-for-component-seticon/16332/4) - [Alpha Plugin List](https://forum.obsidian.md/t/meta-alpha-plugin-list-0-9-7/7736) - [Obsidian at GitHub](https://github.com/obsidianmd) - [Obsidian API](https://github.com/obsidianmd/obsidian-api) - [Obsidian Sample Plugin](https://github.com/obsidianmd/obsidian-sample-plugin) - [obsidian-tools:](https://github.com/obsidian-tools/obsidian-tools) an unofficial collection of tools that helps devs build plugins for obsidian. - [obsidian-rust-plugin:](https://github.com/trashhalo/obsidian-rust-plugin) boilerplate needed to write obsidian plugins in rust! - [obsidian-api-docs:](https://github.com/HEmile/obsidian-api-docs/blob/main/docs/00_Home.md) community-provided documentation of the Obsidian API. - [obsidian-dev-tools:](https://github.com/KjellConnelly/obsidian-dev-tools) allows for a modified console (useful for debugging on mobile), and viewing all Obsidian icons/strings. - [obsidian-daily-notes-interface:](https://github.com/liamcain/obsidian-daily-notes-interface) a collection of utility functions for working with dates and daily notes in Obsidian plugins. - [obsidian-calendar-ui:](https://github.com/liamcain/obsidian-calendar-ui) provides an out-of-the-box calendar view for Obsidian plugins. - [obsidian-plugin-template](https://github.com/THeK3nger/obsidian-plugin-template): a plugin template customized with a nicer directory structure and some additional tool (like featuring automatic releases with Github's Actions). - [obsidian-vault-parser](https://github.com/coffee-cup/obsidian-vault-parser): vault parser for the Obsidian note taking app. - [Liam Cain's Obsidian API FAQ](https://liamca.in/Obsidian/API+FAQ/index) - [#obsidian-md at GitHub](https://github.com/topics/obsidian-md) - [Svelte (sometimes used by plugin developers to create components)](https://svelte.dev/) - [What tools and libraries are used in Obsidian?](https://web.archive.org/web/20220626022347/https://konhi.me/obsidian-stack.html)
================================================ FILE: code/css-snippets/autofading-ui.css ================================================ /* get more snippets at https://github.com/kmaasrud/awesome-obsidian */ /* author: https://forum.obsidian.md/u/rsdimitrov */ /* source: https://forum.obsidian.md/t/optimize-obsidian-ui-for-a-more-seamless-experience/155/5 */ /* change opacity to 0 if you want controls to fade completely */ /* auto fades note header controlls */ .view-header:not(:hover) .view-actions { opacity: 0.1; transition: opacity 0.25s ease-in-out; } /* auto fades status bar items */ .status-bar:not(:hover) .status-bar-item { opacity: 0.25; transition: opacity 0.25s ease-in-out; } ================================================ FILE: code/css-snippets/better-bullet-points-in-edit-mode.css ================================================ /* get more snippets at https://github.com/kmaasrud/awesome-obsidian */ /* author: https://forum.obsidian.md/u/Piotr & https://github.com/konhi */ /* source: https://forum.obsidian.md/t/clutter-free-edit-mode/6791/30 */ div:not(.CodeMirror-activeline) > .CodeMirror-line span.cm-formatting-list-ul { color: transparent; position: relative; } div:not(.CodeMirror-activeline) > .CodeMirror-line span.cm-formatting-list-ul:after { content: "•"; position: absolute; top: -6px; left: -1px; color: var(--text-normal); font-family: sans-serif; font-size: 20px; } ================================================ FILE: code/css-snippets/bigger-link-popup-preview.css ================================================ /* get more snippets at https://github.com/kmaasrud/awesome-obsidian */ /* author: https://github.com/cannibalox & https://github.com/konhi */ /* source: https://forum.obsidian.md/t/meta-post-common-css-hacks/1978/82 */ .popover.hover-popover { transform: scale(0.8); /* makes the content smaller */ max-height: 800px; /* was 300 */ min-height: 100px; width: 500px; /* was 400 */ } .popover.hover-popover .markdown-embed { height: 800px; } ================================================ FILE: code/css-snippets/bullet-point-relationship-lines.css ================================================ /* get more snippets at https://github.com/kmaasrud/awesome-obsidian */ /* author: https://github.com/deathau */ /* source: https://forum.obsidian.md/t/meta-post-common-css-hacks/1978/2 */ .cm-hmd-list-indent .cm-tab, ul ul { position: relative; } .cm-hmd-list-indent .cm-tab::before, ul ul::before { content: ""; border-left: 1px solid rgba(0, 122, 255, 0.25); position: absolute; } .cm-hmd-list-indent .cm-tab::before { left: 0; top: -5px; bottom: -4px; } ul ul::before { left: -11px; top: 0; bottom: 0; } ================================================ FILE: code/css-snippets/collapsing-sidebar.css ================================================ /* get more snippets at https://github.com/kmaasrud/awesome-obsidian */ /* author: https://github.com/kmaasrud */ /* source: https://github.com/kmaasrud/awesome-obsidian */ .workspace { position: relative; } .side-dock-ribbon.mod-left.is-collapsed, .side-dock-ribbon.mod-right.is-collapsed { height: 100%; } .side-dock-ribbon.mod-left.is-collapsed:not(:hover), .side-dock-ribbon.mod-right.is-collapsed:not(:hover) { position: absolute; opacity: 0; } .side-dock-ribbon.mod-left.is-collapsed:not(:hover) { left: 0; } .side-dock-ribbon.mod-right.is-collapsed:not(:hover) { right: 0; } ================================================ FILE: code/css-snippets/custom-folder-files-tree.css ================================================ /* Custom icons for specific folders or files */ :root { --active-file-bg-color: #005C00; --active-file-fg-color: #ffffff; } /* folder begin */ .nav-folder-title { cursor: pointer !important; } .nav-file-title-content, .nav-folder-title-content { display: flex !important; align-items: center; } .nav-folder-title-content::before { content: ''; background: url("https://media.macosicons.com/parse/files/macOSicons/af21153d07a2e92bde7b2ad155055489_low_res_1619092574091.png") no-repeat center; background-size: 100%; width: 20px; height: 20px; display: inline-block; margin-right: 5px; } /* root folder */ div[data-path="/"] .nav-folder-title-content::before { content: ''; } /* 所有的附件目录, 我自定义的附件目录为笔记所在目录的名为 attachments 的子目录, 匹配以 attachments 结尾 */ /* All attachment directories, and my custom `attachments` directory is the subdirectory named `attachments` of the note directory and ends with the matching `attachments` */ div[data-path$="attachments"] .nav-folder-title-content::before { background: url("https://media.macosicons.com/parse/files/macOSicons/325fcaee7fcf0ce428cddec2a53675c1_low_res_Folder___Favourite_Images.png") no-repeat center; background-size: 100%; } div[data-path="编程"] .nav-folder-title-content::before { background: url("https://media.macosicons.com/parse/files/macOSicons/c84880ed4b36bcaf78df9580aa069a43_low_res_Programming_Folder.png") no-repeat center; background-size: 100%; } div[data-path="编程/工具"] .nav-folder-title-content::before { background: url("https://media.macosicons.com/parse/files/macOSicons/9d1f67b889d73ed9813c83199e039354_low_res_Developer_Folder.png") no-repeat center; background-size: 100%; } div[data-path="编程/Docker"] .nav-folder-title-content::before { background: url("https://media.macosicons.com/parse/files/macOSicons/f024d0e956f6663fb48b55ac11673f54_low_res_Docker.png") no-repeat center; background-size: 100%; } div[data-path="编程/MacOS"] .nav-folder-title-content::before { background: url("https://media.macosicons.com/parse/files/macOSicons/4ad8d9253a2541e49b6d86d5fe0f6829_low_res_Apple.png") no-repeat center; background-size: 100%; } div[data-path="编程/MySQL"] .nav-folder-title-content::before { background: url("https://media.macosicons.com/parse/files/macOSicons/dfb95bab582395d9e5fa89284bb24e34_MySQL_Workbench.png") no-repeat center; background-size: 100%; } div[data-path="编程/RabbitMQ"] .nav-folder-title-content::before { background: url("https://media.macosicons.com/parse/files/macOSicons/28c81b354a89b7ebeb599a849f5291a2_low_res_Matrix_Follow_the_White_Rabbit_Folder.png") no-repeat center; background-size: 100%; } div[data-path="编程/Spring"] .nav-folder-title-content::before { background: url("https://media.macosicons.com/parse/files/macOSicons/d89876a20a9ce438cc7f437a7704a6a2_low_res_Spring_Tool_Suite_4.png") no-repeat center; background-size: 100%; } div[data-path="编程/Linux"] .nav-folder-title-content::before { background: url("https://media.macosicons.com/parse/files/macOSicons/6604c58f3ffcd4648f6c1bf1a956818b_low_res_Linux.png") no-repeat center; background-size: 100%; } div[data-path="编程/Jenkins"] .nav-folder-title-content::before { background: url("https://media.macosicons.com/parse/files/macOSicons/c5e3a3b55e2e23b9dc839305fe53dbf1_low_res_Jenkins.png") no-repeat center; background-size: 100%; } div[data-path="编程/Java"] .nav-folder-title-content::before { background: url("https://media.macosicons.com/parse/files/macOSicons/f4ae1a3f1d2143a2e2ec0b94ea374ace_low_res_Java.png") no-repeat center; background-size: 100%; } div[data-path="编程/GitLab"] .nav-folder-title-content::before { background: url("https://media.macosicons.com/parse/files/macOSicons/d7033bb681a9f5ae6f3b0479573b0352_low_res_Gitlab.png") no-repeat center; background-size: 100%; } /* folder end */ /* file begin */ .nav-file-title { cursor: pointer !important; } .nav-file-title-content::before { content: ''; background: url("https://media.macosicons.com/parse/files/macOSicons/c66c64dea9d84b6dcb21836d5fa451e5_low_res_Google_Docs.png") no-repeat center; background-size: 100%; width: 20px; height: 20px; display: inline-block; margin-right: 5px; } /* All attachment hidden file icon */ .nav-file-title[data-path*="attachments"] .nav-file-title-content::before { content: ''; background: none !important; width: 0px; height: 0px; display: inline-block; margin-right: 0px; } body:not(.is-grabbing) .nav-file-title.is-active:hover, body:not(.is-grabbing) .nav-folder-title.is-active:hover, .nav-file-title.is-active, .nav-folder-title.is-active { background: var(--active-file-bg-color) !important; color: var(--active-file-fg-color) !important; } /* file end */ ================================================ FILE: code/css-snippets/custom-icons-differing-files-and-folders.css ================================================ /* get more snippets at https://github.com/kmaasrud/awesome-obsidian */ /* author: https://github.com/deathau */ /* source: https://discord.com/channels/686053708261228577/702656734631821413/755293685046050896 */ /* Emoji */ /*.nav-file-title-content::before { content: '🗒 '; } .nav-folder-title-content::before { content: '📂 '; }*/ /* Flat font */ /* Requires: https://icomoon.io/#icons-icomoon/liga-font */ .nav-folder-children .nav-file-title-content:first-child::before { content: "\e924 "; font-family: "IcoMoon-Free"; } .nav-folder-children .nav-folder-title-content::before { content: "\e930 "; font-family: "IcoMoon-Free"; } ================================================ FILE: code/css-snippets/custom-icons-for-frontmatter-tags.css ================================================ /* ====== Custom icons for frontmatter tags ======== */ /* Add tag icon to the right of all frontmatter tags by default */ .frontmatter-section-tags .tag:not(.token)::after { content: '🔖'; } /* Remove the tag icon from specific tags */ .frontmatter-section-tags .tag[href^='#Article']::after, .frontmatter-section-tags .tag[href^='#DailyNote']::after, .frontmatter-section-tags .tag[href^='#Definition']::after, .frontmatter-section-tags .tag[href^='#Note']::after, .frontmatter-section-tags .tag[href^='#Person']::after, .frontmatter-section-tags .tag[href^='#Sermon']::after, .frontmatter-section-tags .tag[href^='#Task']::after { content: ''; } /* Add icon to the left of specific tags */ .frontmatter-section-tags .tag[href^='#Article']::before { content: '📰'; } .frontmatter-section-tags .tag[href^='#DailyNote']::before, .frontmatter-section-tags .tag[href^='#Note']::before { content: '📝'; } .frontmatter-section-tags .tag[href^='#Definition']::before { content: '📖'; } .frontmatter-section-tags .tag[href^='#Person']::before { content: '🧑'; } .frontmatter-section-tags .tag[href^='#Sermon']::before { content: '✝️'; } ================================================ FILE: code/css-snippets/enlarge-image-on-hover.css ================================================ /* get more snippets at https://github.com/kmaasrud/awesome-obsidian */ /* author: https://forum.obsidian.md/u/den/summary */ /* source: https://forum.obsidian.md/t/meta-post-common-css-hacks/1978/29 */ .markdown-preview-view img { display: block; margin-top: 20pt; margin-bottom: 20pt; margin-left: auto; margin-right: auto; width: 50%; /* experiment with values */ transition: transform 0.25s ease; } .markdown-preview-view img:hover { -webkit-transform: scale(1.8); /* experiment with values */ transform: scale(2); } ================================================ FILE: code/css-snippets/hyphenation-and-justification.css ================================================ /* get more snippets at https://github.com/kmaasrud/awesome-obsidian */ /* author: https://forum.obsidian.md/u/boyd/summary */ /* source: https://forum.obsidian.md/t/meta-post-common-css-hacks/1978/25 */ .cm-s-obsidian, .markdown-preview-view { text-align: justify; hyphens: auto; } ================================================ FILE: code/css-snippets/image-cards.css ================================================ /* get more snippets at https://github.com/kmaasrud/awesome-obsidian */ /* author: https://github.com/TClark1011 */ /* source: https://github.com/kmaasrud/awesome-obsidian */ img { border-radius: 4px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); background-color: var( --background-secondary ); /* Background color so PNGs with transparent backgrounds don't look weird */ } ================================================ FILE: code/css-snippets/media-grid.css ================================================ /* IMPORTANT For information on requirements and how to use this snippet, see its original repo: https://github.com/zremboldt/obsidian-media-grid This snippet requires Contextual Typography 2.2.1+ https://github.com/mgmeyers/obsidian-contextual-typography */ :root { --content-base-width: 45rem; } /* ----------------------------------------- */ /* Handle overall content width */ /* ----------------------------------------- */ /* Wrapper with padding keeps content from bumping the edges */ .markdown-preview-view { padding-inline: 30px; } /* Container controlling overall max content width */ .markdown-preview-view .markdown-preview-section { width: 100%; max-width: var(--content-max-width, 45rem); /* Second value is fallback in case user isn't using Style settings */ } /* All children of overall container are divs */ .markdown-preview-view .markdown-preview-section > div { margin-inline: auto; width: min(var(--content-base-width), 100%); } /* Specific children of overall container that contain media */ .markdown-preview-view .markdown-preview-section div[data-is-embed] { width: 100%; } /* ----------------------------------------- */ /* Make media items display in rows */ /* ----------------------------------------- */ /* p tags wrap each row */ .markdown-preview-view .markdown-preview-section div[data-is-embed] > p { display:grid; grid-template-columns:repeat(auto-fit, minmax(0, 1fr)); grid-gap: var(--media-grid-gap, 7px); margin: 0; } /* Remove breaks from the document flow */ .markdown-preview-view .markdown-preview-section div[data-is-embed] > p br { display: none; } /* Media items sourced from your vault are wrapped in a span – media linked from the web is not wrapped */ .markdown-preview-view .markdown-preview-section div[data-is-embed] > p > span { display: flex; } /* Apply this to all img/video tags in a row whether they're wrapped in a span or not */ .markdown-preview-view .markdown-preview-section div[data-is-embed] > p img, .markdown-preview-view .markdown-preview-section div[data-is-embed] > p video { flex: 1; align-self: stretch; object-fit: cover; border-radius: var(--media-border-radius, 4px); } /* Create gaps between rows */ .markdown-preview-view .markdown-preview-section div[data-is-embed] + div[data-is-embed] { margin-top: var(--media-grid-gap, 7px); } /* ----------------------------------------- */ /* Style settings */ /* ----------------------------------------- */ /* @settings name: Media Grid Snippet id: media-grid-snippet settings: - id: content-max-width title: Grid width description: Set the max width of your grid layouts. type: variable-select allowEmpty: false default: var(--content-base-width) options: - label: Base width value: var(--content-base-width) - label: Small value: calc(var(--content-base-width) + 5%) - label: Medium value: calc(var(--content-base-width) + 10%) - label: Large value: calc(var(--content-base-width) + 20%) - label: Full width value: 100% - id: media-grid-gap title: Grid gap description: Set the gap size between items in your grid layouts. type: variable-number-slider format: px default: 7 min: 0 max: 80 step: 1 - id: media-border-radius title: Border radius description: Set the border radius of your images and videos. type: variable-number-slider format: px default: 4 min: 0 max: 40 step: 1 */ ================================================ FILE: code/css-snippets/nicer-checkboxes.css ================================================ /* get more snippets at https://github.com/kmaasrud/awesome-obsidian */ /* author: https://forum.obsidian.md/u/kepano/summary, https://forum.obsidian.md/u/rsdimitrov */ /* source: https://forum.obsidian.md/t/meta-post-common-css-hacks/1978/34 */ /* Round checkbxes in preview and editor */ input[type="checkbox"], .cm-formatting-task { -webkit-appearance: none; appearance: none; border-radius: 50%; border: 1px solid var(--text-faint); padding: 0; vertical-align: middle; } .cm-s-obsidian span.cm-formatting-task { color: transparent; width: 1.25em !important; height: 1.25em; display: inline-block; } input[type="checkbox"]:focus { outline: 0; } input[type="checkbox"]:checked, .cm-formatting-task.cm-property { background-color: var(--text-accent-hover); border: 1px solid var(--text-accent-hover); background-position: center; background-size: 70%; background-repeat: no-repeat; background-image: url('data:image/svg+xml; utf8, '); } ================================================ FILE: code/css-snippets/outliner-for-the-outline-and-file-explorer.css ================================================ /* get more snippets at https://github.com/kmaasrud/awesome-obsidian */ /* author: https://forum.obsidian.md/u/Shamama & https://forum.obsidian.md/u/wonton/summary & https://github.com/konhi */ /* source: https://forum.obsidian.md/t/meta-post-common-css-hacks/1978/112 */ .outline .tree-item-children { margin-left: 20px; border-left: 1px solid var(--background-modifier-border); border-radius: 4px; transition: all 0.5s ease-in-out; } .outline .tree-item-children:hover { margin:0 !important; border-left-color: var(--background-modifier-border); } .nav-folder-children .nav-folder-children { margin-left: 20px; padding-left: 0; border-left: 1px solid var(--background-modifier-border); border-radius: 4px; transition: all 0.5s ease-in-out; } .nav-folder-children .nav-folder-children:hover { margin:0 !important; border-left-color: var(--background-modifier-border); } ================================================ FILE: code/css-snippets/smaller-scrollbar.css ================================================ /* get more snippets at https://github.com/kmaasrud/awesome-obsidian */ /* author: https://forum.obsidian.md/u/rsdimitrov */ /* source: https://forum.obsidian.md/t/optimize-obsidian-ui-for-a-more-seamless-experience/155/5 */ /* smaller scrollbar */ .CodeMirror-vscrollbar, .CodeMirror-hscrollbar, ::-webkit-scrollbar { width: 3px; } ================================================ FILE: code/css-snippets/stylish-blockquotes.css ================================================ /* get more snippets at https://github.com/kmaasrud/awesome-obsidian */ /* author: https://forum.obsidian.md/u/Thery/summary */ /* source: https://forum.obsidian.md/t/meta-post-common-css-hacks/1978/39 */ blockquote:before { font: 14px/20px italic Times, serif; content: "“"; font-size: 3em; line-height: 0.1em; vertical-align: -0.4em; } blockquote p { display: inline; } /* Remove blockquote left margin */ blockquote { margin-inline-start: 0; } ================================================ FILE: code/css-snippets/subtler-folding-gutter-arrows.css ================================================ /* get more snippets at https://github.com/kmaasrud/awesome-obsidian */ /* author: https://forum.obsidian.md/u/rsdimitrov */ /* source: https://forum.obsidian.md/t/meta-post-common-css-hacks/1978/10 */ /* Make subtler folding gutter arrows */ .CodeMirror-foldgutter-folded:after, .CodeMirror-foldgutter-open:after { opacity: 0.5; font-size: 60%; } .CodeMirror-foldgutter-folded:hover:after, .CodeMirror-foldgutter-open:hover:after { opacity: 1; } .CodeMirror-foldgutter-folded:after { content: "\25BA"; } .CodeMirror-foldgutter-open:after { content: "\25BC"; } ================================================ FILE: code/css-snippets/tag-pills.css ================================================ /* get more snippets at https://github.com/kmaasrud/awesome-obsidian */ /* author: https://forum.obsidian.md/u/uzerper */ /* source: https://forum.obsidian.md/t/meta-post-common-css-hacks/1978/72 */ .tag:not(.token) { background-color: var(--text-accent); border: none; color: white; font-size: 11px; padding: 1px 8px; text-align: center; text-decoration: none; display: inline-block; margin: 0px 0px; cursor: pointer; border-radius: 14px; } .tag:not(.token):hover { color: white; background-color: var(--text-accent-hover); } .tag[href^="#obsidian"] { background-color: #4d3ca6; } .tag[href^="#important"] { background-color: red; } .tag[href^="#complete"] { background-color: green; } .tag[href^="#inprogress"] { background-color: orange; }