Easily insert your favorite scripture verses and selections from General Conference talks into Obsidian! This code is an adaptation of a plug-in written by the wonderful @pacokwon. I've updated and expanded it while he's on his mission in New York. When he returns I plan to merge this repository with his.
The standard works, or the volumes of scripture officially accepted by the Church of Jesus Christ of Latter-day Saints are available.
- Holy Bible (King James Version)
- Book of Mormon
- Doctrine and Covenants
- Pearl of Great Price
Insert a callout to a verse using this syntax: :MC <Book Name> <Chapter Number>:<Verse Numbers>;
You can referece any range, selection, or series of verses from a given chapter using the above syntax. Obsidian won't recognize your desired reference until you add the ';' at the end.
Only English book titles are recognized. For example :MC 1 Nephi 1:1;
is recognized, but :MC 1 Нефи 1:1;
isn't.
Example:
Inserted Callout Example:
You can also pull in full paragraphs from General Conference talks. General Conference support essentially scrapes the talk's webpage for the talk title, the author information, and then the paragraphs selected. This is highly dependent on programmers keeping consistent IDs for the different HTML elements. Even between the last few conferences there were differences. I believe I was able to account for the differences between the different years, thanks in large part to others in the LDS GitHub community. I cannot remember whose code had solved this problem, but I'm grateful. Please let me know if there is a talk or conference where it doesn't work.
This works best while using Google Chrome. When at the Church website, you can highlight the paragraphs of a talk you want to include in your note:
There will appear near your cursor a link button. Once pressed the button array will change and a "Copy URL" option will appear.
Once that URL is copied, paste the link into Obsidian with the syntax: :MC <LINKED URL>
This will automatically bring the highlighted paragraph(s) into your document. Note that the command for General Conference Talks do NOT end in ';'.
For example if you were taking a quote from President Holland's April 2024 talk, you could use the following:
This would include the 4th paragraph of his talk in your note, formatted with the talk title, the quoted text, and the speaker.
Language support for conference talks comes directly from the language the talk quote was selected from, or you can manually change the "lang=eng" section of the URL to the corresponding value for your desired language. The language is not affected by the language selected under the plug-in settings.
As all verses and conference quotations are dynamically drawn from the official churchofjesuschrist.org website, any language supported on their website is supported with this plug-in.
You must first change the desired language in the settings panel for the plug-in:
For example, if Bulgarian is selected:
You only need Obsidian installed!
This plugin can be found from the list of community plugins for Obsidian. Open Obsidian's Settings -> Community Plugins, and click Browse
to search this plugin's name and install.
The plugin can also be manually installed by:
- Creating a directory called
lds-library-reference
under.obsidian/plugins/
within your vault. - From this plugin's Releases Page, download and put
main.js
,manifest.json
,styles.css
into.obsidian/plugins/lds-library-reference/
. - Reload Obsidian and navigate to the
Community Plugins
tab to see that installation is successful. - Ensure the plugin is then enabled.
The list of book names used in this plugin can be referenced on this page.
The original plug-in by @pacokwon required local installation of the scriptures, and was limited to a few languages that he had scraped from the Church's website. This version does NOT download any external files to your computer. As a result this plug-in only works when you have an internet connection.
If you like to use NeoVim and want similar functionality check out LDSLibrary.nvim, and obsidian.nvim.
This plugin follows semver.
To publish a new release, tag it with git tag -a <major.minor.patch> -m <message>