README file from
GithubThe Scripture Injector
An Obsidian plugin that helps pastors seamlessly integrate Bible verses into their notes with support for multiple translations.
Features
- Quick Verse Insertion: Insert any Bible verse directly from the command palette (Ctrl/Cmd+P)
- Multiple Translations: Support for English Standard Version (ESV) and New English Translation (NET)
- Beautiful Formatting: Verses are inserted as formatted quote callouts with Bible icons
- Flexible Reference Formats: Supports various Bible reference formats (e.g., "John 3:16", "Romans 8:28-39")
- Customizable Settings: Configure default translation, API keys, and formatting options
Installation
- Download the latest release from the Releases page
- Extract the contents to your Obsidian plugins folder (
<vault>/.obsidian/plugins/the-scripture-injector/) - Enable the plugin in Obsidian Settings → Community Plugins
- Configure your API keys in the plugin settings
Setup
ESV API Key (Optional)
The ESV translation requires an API key from Crossway:
- Visit https://api.esv.org/
- Sign up for a free account
- Generate an API key
- Add the key to the plugin settings
NET Bible API
The NET Bible API is free and doesn't require an API key.
Usage
Basic Usage
- Open the command palette (Ctrl/Cmd+P)
- Type "Insert Bible Verse" and select the command
- Enter a Bible reference (e.g., "John 3:16", "Romans 8:28-39")
- Select your preferred translation
- Click "Fetch Verse"
Supported Reference Formats
- Single verse:
John 3:16 - Verse range:
Romans 8:28-39 - Entire chapter:
Psalm 23 - Chapter range:
Genesis 1:1-2:3 - Book abbreviations:
1 Cor 13:4-8,Gen 1:1
Example Output
The plugin inserts verses in a beautiful quote callout format:
[!quote]- 📖 John 3:16 (ESV)
For God so loved the world, that he gave his only Son, that whoever believes in him should not perish but have eternal life.
Settings
Configure the plugin in Settings → The Scripture Injector:
- Default Translation: Choose between ESV and NET
- ESV API Key: Enter your ESV API key (required for ESV translation)
- Show Translation Name: Include the translation abbreviation in formatted verses
- Show Reference: Include the Bible reference in formatted verses
API Information
English Standard Version (ESV)
- API: ESV API
- Authentication: Required (API key)
- Rate Limit: 5,000 requests per day (free tier)
- Terms: ESV API Terms of Use
New English Translation (NET)
- API: NET Bible API
- Authentication: None required
- Rate Limit: No official limit (please use responsibly)
- Terms: NET Bible Terms
Troubleshooting
Common Issues
"ESV API key is required"
- Add your ESV API key in the plugin settings
- Ensure the key is entered correctly without extra spaces
"Invalid Bible reference"
- Check the reference format
- Ensure the book name is spelled correctly
- Verify chapter and verse numbers exist
"Failed to fetch verse"
- Check your internet connection
- Verify API key is valid (for ESV)
- Try the NET translation as an alternative
Error Messages
- Network Error: Check your internet connection
- API Rate Limit: Wait a few minutes before trying again
- Invalid Reference: Verify the Bible reference format
Development
Building from Source
- Clone the repository
- Install dependencies:
npm install - Build the plugin:
npm run build - Copy the files to your Obsidian plugins folder
Project Structure
src/
├── main.ts # Main plugin class
├── modal.ts # Verse selection modal
├── settings.ts # Plugin settings
├── types/
│ └── bible.ts # TypeScript type definitions
├── api/
│ ├── bible-api.ts # Base API interface
│ ├── esv-api.ts # ESV API implementation
│ └── net-api.ts # NET Bible API implementation
├── parser/
│ └── reference-parser.ts # Bible reference parsing
└── formatter/
└── verse-formatter.ts # Verse formatting for Obsidian
Contributing
Contributions are welcome! Please feel free to submit issues and enhancement requests.
License
This plugin is licensed under the MIT License.
Changelog
Version 1.0.1
- Fixed ESV API reference duplication issue
- Improved text cleaning for ESV API responses
- Enhanced verse formatting to remove duplicate references
Version 1.0.0
- Initial release
- Support for ESV and NET Bible translations
- Command palette integration
- Customizable formatting options
- Comprehensive reference parsing
Support
If you encounter any issues or have suggestions, please:
- Check the Troubleshooting section
- Search existing GitHub Issues
- Create a new issue with details about your problem