=== Seedcast Sermon Library ===
Contributors: seedcast
Tags: sermons, church, sermon series, speakers, ministry
Requires at least: 6.0
Tested up to: 7.0
Stable tag: 1.9.5
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A complete sermon management system for churches: sermons, series, speakers, scripture, and podcast feed in one plugin.

== Description ==

Sermon Library is a purpose-built WordPress plugin for churches and ministries that need a clean, fast, and fully-featured sermon library. It replaces disconnected plugins and manual workflows with a single, integrated content system.

**Sermon Management**

* Organize sermons into series with cover images, descriptions, and sermon counts
* Full speaker profiles with bio, headshot, contact info, and social links
* Assign topics and scripture passages to every sermon
* Video, audio, article, Bible study, transcript, and notes, all per sermon
* Drag-to-reorder series and speakers in the admin

**Scripture Integration**

* Structured passage picker (Book, Chapter, Verse) ensures consistent formatting
* Links to Bible.com or BibleGateway for every passage
* Filter the entire sermon library by book of the Bible

**Public-Facing Features**

* Sermon archive with AJAX-powered filters by series, speaker, topic, scripture, and year
* Series grid with optional horizontal slider
* Speaker grid and speaker profile pages
* SEO-friendly pagination with real URLs on initial load; AJAX only after filter applied
* JSON-LD structured data (VideoObject, AudioObject, BreadcrumbList, Person)
* Automatic meta description, Open Graph, and Twitter Card tags

**Shortcodes**

* `[scsl_sermon_list]`: Paginated sermon list with full filter bar
* `[scsl_series_grid]`: Grid or slider of sermon series
* `[scsl_speaker_grid]`: Grid or slider of speakers
* `[scsl_latest]`: Display the latest sermon
* `[scsl_topic_list]`: Grid of topic pills
* Legacy `[sl_*]` shortcodes supported via `[seedseli_*]` aliases
* Visual Shortcode Generator admin page, no memorizing attributes

**Import / Export**

* Guided three-step importer from Series Engine CSV export
* Full JSON export of all sermon data for backup or migration

**Podcast Feed**

* Built-in podcast RSS feed compatible with Apple Podcasts, Spotify, and all major directories
* Per-sermon podcast details (audio length, size, image, include/exclude)

**Themes**

* Four built-in themes: Light, Dark, Minimal, Warm

== Installation ==

1. Upload the `seedcast-sermon-library` folder to `/wp-content/plugins/`
2. Activate the plugin through the **Plugins** menu in WordPress
3. Permalinks are refreshed automatically on activation
4. Navigate to **Sermon Library** in the admin menu to begin adding content

== Frequently Asked Questions ==

= What permalink structure is required? =

Sermon Library requires a non-plain permalink structure. Go to Settings > Permalinks and choose "Post name" or any other option besides "Plain."

= Can I import from Series Engine? =

Yes. Go to Sermon Library > Import / Export, select "Series Engine (CSV)" from the source dropdown, and follow the three-step guided importer. You can map each Series Engine series to a new or existing Sermon Library series.

= Does this work with Elementor? =

Yes. Use the provided shortcodes inside Elementor's Shortcode widget. The plugin styles load automatically in both the Elementor editor and on the live frontend.

= Can I override the templates? =

Yes. Copy any template from `wp-content/plugins/seedcast-sermon-library/templates/` to `wp-content/themes/your-theme/seedcast-sermon-library/` and edit freely and edit freely.

= What PHP version is required? =

PHP 7.4 or higher. PHP 8.0+ recommended.

= Does this affect my existing content? =

No. Sermon Library uses its own custom post types (`scsl_sermon`, `scsl_series`, `scsl_speaker`) and taxonomies (`scsl_topic`, `scsl_scripture`). It does not modify any existing posts, pages, or taxonomies.

= What happens if I deactivate the plugin? =

Your sermon data is preserved in the database. Deactivating removes the custom URLs and admin menu but does not delete any content.

= Does the PDF download feature require anything extra? =

The PDF download falls back to a print-ready HTML page by default. For proper PDF generation, install mPDF via Composer: `composer require mpdf/mpdf` in the plugin directory.

= Are there external service calls? =

Scripture links point to Bible.com (YouVersion) or BibleGateway, only when a visitor clicks a passage link. No data is sent automatically.

= Does it work with Yoast SEO or RankMath? =

Yes. The plugin automatically configures Yoast and RankMath to use sermon content fields for meta descriptions. If neither is installed, the plugin outputs its own meta tags.

== Screenshots ==

1. Sermon edit screen with tabbed content fields and scripture picker
2. Single sermon page with video, scripture panel, and action buttons
3. Sermon list with AJAX filter bar
4. Series archive page with grid and pagination
5. Speaker profile page
6. Sermon Library Settings with theme picker
7. Shortcode Generator, visual builder
8. Import / Export page

== Changelog ==

= 1.9.5 =
* Initial WordPress.org directory release.

= 1.7.0 =
* Changed: Custom post type slugs renamed from sl_ to scsl_ prefix for uniqueness
* Added: Automatic database migration runs on activation and update
* Added: JSON round-trip importer for migrating between sites
* Added: Sermon archive template at /sermon/
* Fixed: Scripture panel variable scope
* Fixed: Series hero image aspect ratio

= 1.5.0 =
* Added: Speaker grid shortcode [scsl_speaker_grid] with slider support
* Added: Speaker archive page at /speakers/
* Added: Separate headshot field for episode card thumbnail vs featured image for profile/card
* Added: Drag-to-reorder speakers in admin (same as series)
* Added: Automatic Yoast SEO / RankMath / AIOSEO configuration on first activation
* Added: Meta description, Open Graph, and Twitter Card tags when no SEO plugin installed
* Added: Export to JSON (Import / Export page)
* Added: Series Grid slider mode (slider="true" attribute)
* Added: Series per page setting
* Added: Automatic permalink flush on plugin update, no manual Permalinks save needed
* Improved: Mobile layout across all shortcodes and templates
* Improved: Elementor editor CSS loading for all shortcodes
* Fixed: Series card click navigation
* Fixed: Stale JS cache causing click issues
* Removed: AI Integration settings (reserved for Pro)
* Removed: Raw transcript field (reserved for Pro)

= 1.4.0 =
* Added: Warm theme
* Added: Series Engine CSV importer with flexible series mapping
* Added: Scripture passage picker (Book, Chapter, Verse)
* Added: External platform links per sermon (Spotify, Apple Podcasts, YouTube, etc.)
* Added: Social share buttons (Facebook, X, LinkedIn, Copy Link)
* Added: Shortcode Generator admin page
* Added: SEO-friendly pagination
* Added: Drag-to-reorder series
* Added: Admin filters for sermon list (Series, Speaker, Topic)
* Added: Topics manager page
* Added: Podcast RSS feed

= 1.0.0 =
* Initial release

== Upgrade Notice ==

= 1.9.5 =
First public release on the WordPress.org plugin directory.

= 1.5.0 =
Permalinks are now refreshed automatically on update. Speaker URLs have changed from /speaker/ to /speakers/.
