Hello and thank you for purchasing the Simple Bookshelf! The bookshelf is a Simple System designed to help you get the most out of your reading. Tired of forgetting books days after you finish them? Do you want to get more meaning out of every page? Do you struggle to describe what makes your favorite books so good? This system is for you. --- ## Need Help? If you have trouble with any of these instructions, please reach out to me at [email protected]. I'll be happy to assist you! **Before we begin**, know that you need to have **Dataview installed and enabled** and **JavaScript queries turned on** for this to work. Dataview is a community plugin, if you're new to community plugins see [this article](https://obsidian.rocks/how-to-use-community-plugins-in-obsidian/#Installing-Your-First-Community-Plugin). # Installing the Simple Bookshelf Simple Systems are meant to be integrated into your existing vault, _not_ to replace your vault. This means in order to use it, you'll need to install it. To install, follow the instructions below. ## Automatic Installation Manually installing template vaults can be a pain, so I developed a plugin to make the process easier. It's called the [Simple Vault Importer](obsidian://show-plugin?id=simple-vault-importer). If you install that plugin into your Obsidian Vault, then it can handle installing this system for you. Here's how to do that: - Install the [Simple Vault Importer](obsidian://show-plugin?id=simple-vault-importer) plugin in your vault - Open the command palette (cmd/ctrl+P) and type "import" - Select "Import Files from ZIP" - Select the ZIP file for your downloaded system This will automatically install all files and styling, but you will still have to _enable_ the CSS Snippets. To do that open settings, go to the "Appearance" tab, find the "CSS Snippets" section and press the "reload" button. Then enable both the `simple-systems`and `cards` snippets. ## Manual Installation If you prefer not to use my plugin, you can also install the system manually. Here's what you'll need to do: 1. **Install the code**. Copy the "Simple Systems" folder from this vault into your own vault. 2. **Install the styles**. To make the bookshelf look correct, you'll need to install two _css snippets_. Both the `simple-systems.css` and `cards.css` stylesheets. To do this go to Settings > Appearance > CSS Snippets for both vaults, click the "folder" icon, and drag (or copy) the file from this vault to your existing vault. 3. **Install the templates**. copy the three Templates ([[Simple Systems/Books System/Templates/Books read {{year}}|Books read {{year}}]], [[Simple Systems/Books System/Templates/New Author|New Author]], and [[Simple Systems/Books System/Templates/New Book|New Book]]) into the appropriate templates folder for your vault. If you don't already have a templates folder, then create one and configure it in Settings > Templates. These templates are designed to work with the [built-in templates plugin](https://obsidian.rocks/getting-started-with-templates-in-obsidian/). Here's a [video walkthrough for how to install manually](https://youtu.be/fpFiTlxyi7k), if you choose to go this route. ## Using the Simple Bookshelf ## Using the Book Search plugin As of v.1.4, the Simple Bookshelf supports the use of the [Book Search](obsidian://show-plugin?id=obsidian-book-search-plugin) plugin. This is a popular plugin that allows you to automate the creation of book notes even more than was previously possible. To use the Book Search plugin, first install and enable it. Then in the Book Search settings set the "Template File" to be the "Book Search Template" file. Once you've done that, you can use the command palette (search for "book note") or the icon in the sidebar to search for and create a new book note. ### Local Images in Book Search The Book Search plugin also supports the creation of local images: if you want to automatically download and use local images, rather than linking to a remote server, you can enable "Enable Cover Image Save" and configure a "Cover Image Path": ![[book-search-local-images.png]] I really like this option. It's nice to know that, using this option, my book images will never break. You can mix and match too: the Simple Bookshelf will use local images first, and fallback to remote images if the local image doesn't exist. ## Using Obsidian Templates If you prefer not to use the Book Search plugin, this vault also includes templates for use with the built-in Obsidian Template plugin. Inside of the Templates folder there is a "New Book" Template. If you choose _not_ to use the Book Search plugin, then the "New Book" template will be the one you want to use. It includes _mostly_ metadata. Every time you start a new book, create a new note. Name that note the same name as the book you are reading, use the command palette (ctrl/cmd+P) to insert the "New Book" template. Then fill out the properties. As for the _contents_ of the book note, I like to keep it simple. Here's my entire process for reading books: 1. Upon opening a book, create a New Book note in Obsidian. Use the title of the book and insert the "New Book" template. 2. As I am reading the book, create new notes as I come across ideas that spark my interest. In each of these "idea notes" I add a footnote that links to the book note, along with a page number. 3. Upon completing a book, I open the book note and fill out the rest of the metadata. I'll write a short review with my impressions of the book, and I also review the backlinks to help keep the main ideas in my head. If done properly, your completed book should show up on your bookshelf! And that's it, the whole process! I also enjoy reviewing my bookshelf anytime it comes up, often when I am starting and finishing books. ### Book Metadata The Properties inside the New Book template are not _essential_, but I recommend you fill them out for the best experience with this system. If you use the Book Search plugin then these will all be filled in for you. If not, then when you first create your book note, fill out the `author`, `pages`, and `cover` fields. When you complete a book, add the `completed` date, your rating, and remove the `inprogress` tag. After you've done this a few times the process will become automatic. More information about this metadata: - `parent`: automatically links to your bookshelf (called "Books read {current year}"). - `author`: I recommend you also create an Author note for every author, with the included New Author template (more on that below). You can link to an existing or new note by typing `[[Author Name]]` in this field. - `date`: Automatically inserts the date that you created this note - `completed`: The date that you completed the book. This is used to place the book in the right spot on your bookshelves. - `tags`: Each book should have a `book` tag and an `inprogress` tag. Once you are done with the book, remove the `inprogress` tag. - `rating`: a 1-5 rating system, displayed as stars on your bookshelves. - `pages`: the number of pages in the book. I usually get this from Goodreads if I'm not reading a physical book. - `cover`: the cover image for your book. I usually copy the URL from Goodreads as well. - *optional*: `morecompletions`: if you complete a book more than once, you can add additional dates to this field. You can enter as many dates as you want into this field, but they need to be formatted like this: `2025-12-31`. The completed field is easier to use, which is why I recommend you use that field primarily, and only use this one if necessary. _You can change this metadata if you want_. If you already have existing metadata, but it uses a different name (such as Rating instead of rating), you can update that in the code files themselves. Both `Code/bookshelf.js` and `Code/bookstats.js` have a "meta" variable at the top of the file that allows you to rename properties if necessary (see video for details). # 2. Author Notes Author notes are optional, but they are nice to have. I create them for any author that I'm likely to read more than one of their books. To create an author note, create a new note, and name it the name of the author (e.g. `[[Dr. Seuss]]`). Then insert the "New Author" template. The New Author template doesn't contain any metadata that you need to update. If you add the author to your book notes, then your author templates will automatically compile a bookshelf that showcases the books you have read from that author. Handy! I like to add quotes, an overall impression of the author, and any other supporting information to my author note. # 3. The Bookshelf Now the fun part! You can create your bookshelf at any time, but it's best if you have a few books created first. Create a new note called "Books read {{year}}" and insert the "Books read {{year}}" template. Again, no need to update properties here. If you've created your book notes properly, then you should see it generate a bookshelf for you! The script is based on _backlinks_: it will pull in any books that link to your shelf. So if you aren't seeing books, check your "parent" property to make sure it is linking to the right note. Same with authors: if a book isn't showing up, make sure you linked to the author file in the "author" property. You can also add `allbooks: true` to your bookshelf script to see _all_ your books, rather than only seeing a single year of books. One more option for the bookshelf script: you can also add `reverse: true` to reverse the order that your books are sorted. This will reverse the order of the months (starting with December instead of January), and also reverse the years in the "All Books" note (starting with the latest year, instead of the first year). ## Questions or issues? Check out the [[Simple Bookshelf FAQs]], or get in touch with me at [email protected]! I want to make sure this system serves you for years to come. If anything stands in the way of that, please reach out. Thank you again for your interest in this system, and I hope it is as useful for you as it has been for me.