Preach MD

approved

by Don

This plugin has not been manually reviewed by Obsidian staff. Full-screen preach mode for delivering sermons and other presentations from iPad/laptop. Free scroll, scripture tap-to-expand, timer, outline navigation.

123 downloadsUpdated 1mo agoMIT

Preach MD

An Obsidian plugin that turns any .md file into a distraction-free preach mode, optimised for delivering sermons or giving any kind of presentation from an iPad.

Inspired by the Preach function in Logos Bible Software.


Features

  • Preach view - full-screen reading surface, Obsidian sidebars hidden, no accidental state changes
  • Large serif typography - high contrast, generous line-height, tuned for live delivery
  • Free vertical scroll - scroll position remembered within the session
  • Section outline - tap the top-left button for a section list; tap any heading to jump there
  • Exit confirmation - two-step exit (tap once to see "Exit?", tap again to confirm)
  • Edit round-trip - bottom-right button switches to edit mode at the current position
  • Live timer - elapsed time with configurable amber and red thresholds
  • Screen wake lock - keeps the display on while preach mode is active
  • Edge-swipe suppression - prevents accidental sidebar openings
  • Scripture tap-to-expand - Bible references (e.g. John 3:16, Rom 8:28-30) are detected automatically; tap one to expand the passage inline from your vault Bible files; tap again to collapse

Install

  1. Open Obsidian Settings.
  2. Go to Community plugins and click Browse.
  3. Search for Preach MD.
  4. Click Install, then Enable.

Alternatively, on iPad: Settings → Community plugins → Browse → search "Preach MD" → Install → Enable.


Usage

  1. Open a sermon note.
  2. Tap the book icon in the ribbon, or run the command Preach: Open preach mode.
  3. The preach view opens full-screen.

Controls

LocationControlAction
Top-leftOutlineShows section headings. Tap a heading to jump.
Top-rightExitFirst tap shows "Exit?", second tap within 3s closes.
Top-centreTimerCountdown from target duration. Single tap pauses/resumes. Double-tap resets. Counts up in red after reaching zero.
Bottom-rightEditSwitches to edit mode at the current scroll position.

Scripture expansion

When preach mode is open, detected Bible references appear with a dotted underline. Tap a reference to expand the passage inline. The verse text is read from your vault Bible files (configurable in settings). Tap the expanded passage to collapse it.

References in code blocks and callouts are intentionally skipped.


Settings

  • Target duration - countdown start value in minutes (default: 30)
  • Amber warning - timer turns amber at this many minutes remaining (default: 5)
  • Red warning - timer turns red at this many minutes remaining (default: 1)
  • Section heading level - heading level used for the outline (default: 2, i.e. ##)
  • Bible folder path - vault-relative path to your Bible chapter files (default: 30_Knowledge/Theology/Bible/CSB). Each book should be a subfolder with files named like John 3.md, with verses under ###### N headings.

Screenshots

Coming after iPad testing.


Credits


Known limitations

For the best experience, open Preach MD in a non-stacked tab. When tabs are stacked, the back-pill in the editor view and the auto-fading bottom buttons may sit in awkward positions, and the full preach surface gets squeezed into a panel.


Privacy

Preach MD makes no network requests. Everything runs locally:

  • Sermon content stays in your vault. Nothing is sent anywhere.
  • Scripture popups read CSB Bible files from your own vault folder.
  • The plugin uses the browser Wake Lock API to keep your iPad's screen from sleeping during preach mode. This is a local device API, not a network call.
  • No analytics, no telemetry, no external services.

Code reviewers: the nav.wakeLock.request("screen") call in src/preach-view.ts is the Wake Lock API mentioned above, not a network request.


License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.