Menu Sidebar Widget Area

This is an example widget to show how the Menu Sidebar Widget Area looks by default. You can add custom widgets from the widgets in the admin.

Import Logos Into Obsidian

I started playing around with Obsidian a little over a year ago and I’ve been hooked ever since. It has become my main note-taking app, my main writing app, as well as my index for all of the resources I may want to pull from when I write for my main website.

Logos is my main Bible/theological studies app. I have a few thousand resources in it and would love to be able to reference these in my writings as well as know what I have on hand when I begin studying a topic and writing on it.

This article presumes you already have a basic understanding of Obsidian and Logos. If you would like for me to write more about either of these two tools, leave a comment below.

Here is the high-level process:

  1. Install the JSON/CSV Importer plugin for Obsidian
  2. Export your library from Logos
  3. Prepare your import file
  4. Create a Handlebar template in Obsidian (I have provided mine).
  5. Test Import until happy
  6. Final import

Before getting started, you will also need the Templater plugin. And the Dataview plugin will be necessary for you to get the most out of your imported collection.

Install The JSON/CSV Importer Plugin

When you search the Community plugins for “JSON” is should be the first one that comes up

There aren’t any options to configure after it’s installed so this part is done.

Export Your Logos Library

  1. IN Logos, click on the Library icon in the left navigation and drag it onto the Home screen. This has to be done to get the Print/Export option to appear. Just opening the Library window won’t do it.
  2. Click the three dots in the top right corner and choose Print/Export…

3. Under the Export section, choose Spreadsheet.

4. In the “Save As dialog, change the file type from XML to CSV. This will export your entire library.

Prepare Your Import File

Here are a few things you may want to keep in mind before importing the file. First, the import plugin does not allow for spaces in the field names. You will need to remove those in the first row.

Second, the importer does not like semicolons (“;”). Logos uses semicolons as a delimiter in its fields that can contain lists. For example, the “MyTags” and “CommunityTags” fields. If any rows have semicolons in them, the import will fail. They need to be replaced with commas and the entire list in the field needs to be enclosed by quotes.

Third, you may not want your entire Logos library in Obsidian. Now is the time to filter out the items you want.

Create A Handlebar Template

Handlebar templates match data in CSV fields/columns to fields in your Obsidian notes. Here is the one I am currently using.


Author: “{{Authors}}”
Title: “{{Title}}”
tags:
ResourceType: “{{ResourceType}}”
type: Book
media: eBook
owned: Yes
location: Logos
publish: “{{PublicationDate}}”
ResourceID: “{{ResourceID}}”
Series: “{{Series}}”
Subjects: “{{Subjects}}”
status: ToRead
date_added: <% tp.date.now(“YYYY-MM-DD”) %>
date_started:
date_finished:
MyTags: “{{MyTags}}”
CommunityTags: “{{CommunityTags}}”
aliases:
– “{{Title}}”

# {{Title}}

Most of the fields are self-explanatory. I chose to put much of the data in the frontmatter so I can use it for Dataview queries. The fields ‘type’,’media’,’owned’, and ‘location’ help me to know where I can go to find the actual resource should I want to read it or watch it again.

I’m debating on the default value of ‘status’ for this import. I have a library of 2200+ resources and I don’t necessarily want to read all of them – only know I have them on hand to refer to if I want.

Let’s talk a bit about tags. ‘tags’ is a specially-defined field in Logos. I tried a few different ways to get it to inherit the values on one of the columns in my import file, but the imports would always fail. So, I had to leave it blank. I think that “{{Subjects}}”, “{{MyTags}}”, and “{{CommunityTags}}” are clear candidates for this, but I didn’t figure out how to preset it in the short time I was playing around with this.

If you are going to build your own Handlebar template, I would suggest adding one field at a time and testing your import until you get the results you expect (more on that next).

Test Your Import

Rather than import everything in one fell swoop the first time, I would suggest making a sample of your import file (maybe 10-15 lines) and testing your procedure until you are satisfied with the results. The importer has no debugging or logging; it either works or nothing happens.

To start the import, click the icon on the left that looks like a magnifying glass. Set the import file and the template file. Here are some notes regarding other fields you should pay attention to.

I would suggest using the ResourceID field as the Note name. This is because Titles are not unique in Logos. If you use the Title field, some of your items will get skipped unless you click the “Add suffix on duplicate Notes Names” field. The problem with this is you then have to go do some cleanup on the file names later. So, to avoid this, I suggest using the ResourceID as the file name. And, if you put the Title in the aliases field (like in the template above) you will still be able to reference the Note by the title of the book in your Logos Library.

I would also suggest setting the Destination folder to something that doesn’t currently contain any notes when you do the import. You will likely have to import and delete these notes several times before you get a result that looks like what you want. Putting the results into their own folder makes this process much easier.

Final Import

Your final import will take a few minutes to complete. I imported around 2200 resources on a 6th-Gen i5 with 16 GB of RAM and it took about 3 minutes. The only way you will know that the import has finished is to monitor the folder you are creating the Notes in. When the number of items stops going up, the import has finished.

Final Thoughts

Ultimately, I want to turn all of the elements in the “Subjects”, “MyTags”, and “CommunityTags” fields into tags that Logos will recognize. This is done by preceding each of the words with a hashtag (“#”). Next up is for me to figure out a way to do this in bulk.

Obsidian also has a cool feature with tags in that you can construct them into a hierarchy. For example, if one article was tagged with “doctrine/God/Eternity” and another was tagged with “doctrine/God/Aseity”, a query for “doctrine/God” would give you all the notes in the two subcategories.

I’m open to suggestions on improving this process. Feel free to comment below.

Related Post

7 thoughts on “Import Your Logos Library Into Obsidian”
  1. Please forgive my ignorance, but I can’t locate the actual JSON importer file to download and run! When I type JSON in the search box on the forum, I get lots of help files but do not see the actual file to download. All I have managed so far is to get the correct version of Obsidian for my old Mac and create my first file. I have thousands of logos notes and MS Word files that I want to download. If and when I get this accomplished I unsure of what to do next. I’m an old man with a steep learning curve ahead of me. I’m taking advantage of your offer to help 🙂
    Thanks in advance!

    1. Hi Gene!

      Thanks for your comment. Did you try the steps that I provided for looking in the plugin repository from with the Obsidian program itself? Plugins aren’t usually downloaded outside of Obsidian like a program is.

  2. Thanks for this helpful workflow! Have you come across a way to port Logos highlights and notes into Obsidian? Ideally, I’d like to read a book Logos, making my notes, run an export, then pull it into Obsidian via a template like what you’ve described above, so that it has all the metadata as well as my notes and highlights. Any suggestions?

    1. Hi Aaron!

      I haven’t come across anything useful that would create separate notes for each note or highlight you have in Logos. THe Logos export only saves to other document formats like Word, text, HTML, or PDF. What we need is some what to designate each item and feed that into the importer. Maybe the HTML format would allow for this? I haven’t examined the file. If the HTML file has a way to identify each note individually, it should be easy to code some sort of parser.

      Thanks for your comment.

    1. Hi Hanjo!

      I had a look at your procedure and I like that you put the link to the resource in your Note. Very helpful. I also see that you added a datavuew query to an index file so you took it a step further than I did.

      Glad you found my procedure useful.

  3. I’m not a progammer and new to AI, but do you know of a good, automated way to address the two requirements you mentioned to prepare the input file?

    Here are a few things you may want to keep in mind before importing the file. First, the import plugin does not allow for spaces in the field names. You will need to remove those in the first row.

    Second, the importer does not like semicolons (“;”). Logos uses semicolons as a delimiter in its fields that can contain lists. For example, the “MyTags” and “CommunityTags” fields. If any rows have semicolons in them, the import will fail. They need to be replaced with commas and the entire list in the field needs to be enclosed by quotes.

    Or, is this process already automated in your software to process my Logos’ library?

    Thank you for everything you’re doing. God bless you,
    Tim

Leave a Reply

Your email address will not be published. Required fields are marked *