No description
Find a file
David V. Kimball 05cf1d05d2 Update release workflow actions so attestations verify
attest-build-provenance@v2 internals were being force-migrated from Node 20 to 24 by GitHub's runner deprecation, producing release attestations the Obsidian directory checker rejects even though gh attestation verify passes them. Update checkout, setup-node, pnpm/action-setup, and attest-build-provenance to current majors and build on Node 22.
2026-07-16 21:44:10 -07:00
.agent Works on mobile now. 2026-02-02 16:02:44 -08:00
.github Update release workflow actions so attestations verify 2026-07-16 21:44:10 -07:00
scripts Using new skills system 2026-01-24 15:15:58 -08:00
src Migrate settings to Obsidian 1.13 declarative API 2026-05-29 23:25:10 -07:00
.editorconfig Initial commit 2025-06-29 23:24:12 -07:00
.gitignore Works on mobile now. 2026-02-02 16:02:44 -08:00
AGENTS.md Works on mobile now. 2026-02-02 16:02:44 -08:00
CLAUDE.md Using new skills system 2026-01-24 15:15:58 -08:00
CONTRIBUTING.md Add release attestation workflow and scorecard fixes; bump to 1.1.7 2026-05-18 21:13:53 -07:00
esbuild.config.mjs Add release attestation workflow and scorecard fixes; bump to 1.1.7 2026-05-18 21:13:53 -07:00
eslint.config.mjs Linting is now far closer to Obsidian bot. 2026-01-03 23:16:09 -08:00
LICENSE Updated license, removed extra lines in settings headers. 2026-01-02 15:02:52 -08:00
manifest.json Migrate settings to Obsidian 1.13 declarative API 2026-05-29 23:25:10 -07:00
package.json Migrate settings to Obsidian 1.13 declarative API 2026-05-29 23:25:10 -07:00
pnpm-lock.yaml Migrate settings to Obsidian 1.13 declarative API 2026-05-29 23:25:10 -07:00
README.md Add footer text, slide numbers, and auto-fit features (#5) 2026-03-08 22:43:12 -07:00
styles.css Remove !important from reveal.js theme overrides; bump to 1.1.8 2026-05-18 21:57:44 -07:00
tsconfig.json Refactored structure and improved performance via AGENTS.md. 2025-09-21 23:38:51 -07:00
version-bump.mjs Initial commit 2025-06-29 23:24:12 -07:00
versions.json Migrate settings to Obsidian 1.13 declarative API 2026-05-29 23:25:10 -07:00

Custom Slides for Obsidian

Obsidian Downloads last release version

This plugin allows you to customize the Slides Obsidian core plugin.

obsidian-custom-slides-plugin-demo

Note

You must have the Slides core plugin enabled for this plugin to work.

Features

  • Customizable Navigation Controls: Toggle the visibility of left, right, up, and down navigation arrows to remove visual clutter from your presentations.
  • Transition Effects: Choose from multiple slide transition effects: none, fade, slide horizontal, or slide vertical.
  • Progress Bar Customization: Adjust the height of the progress bar to suit your aesthetic preferences, with a default of 10 pixels (up from the default 3 pixels).
  • Left-Align Lists: Enable left-aligned bulleted and numbered lists in presentation mode for a cleaner, more readable layout, with a 1em left margin for proper spacing.
  • Immediate Keyboard Input: Automatically switches to reading mode when entering Slides mode so spacebar and arrows work without having to click your presentation, and restores your previous mode (e.g., edit or source) when exiting.
  • Custom Font Support: Use the text font settings specified in your Obsidian settings.
  • Footer Text: Display configurable text at the bottom of every slide except the title slide. Set via "Footer text" in settings; leave empty to disable. Uses plain text (no HTML) and adapts color automatically for dark themes.
  • Slide Numbers: Show a slide number on each slide, excluding the title slide. Numbers start at 1 for the second slide. Position is configurable: bottom-left (default) or bottom-right. The position dropdown only appears when slide numbers are enabled.
  • Auto-Fit Slides: Automatically shrinks overflowing slide content to fit the viewport using CSS zoom, preserving layout and backgrounds. Enabled by default; can be toggled off in settings.
  • Mobile Support: Works on iPad and other mobile devices with sensible touch-friendly defaults (navigation arrows shown by default on mobile).

Installation

  1. In Obsidian, go to Settings > Community plugins (enable it if you haven't already).
  2. Search for Custom Slides and click Install and then Enable.

Manual

  1. Download the latest release from the Releases page and navigate to your Obsidian vault's .obsidian/plugins/ directory.
  2. Create a new folder called custom-slides and ensure manifest.json, main.js, and styles.css are in there.
  3. In Obsidian, go to Settings > Community plugins (enable it if you haven't already) and then enable "Custom Slides."

Usage

  1. Enable the Plugin: Activate it in the Community Plugins settings.
  2. Configure Settings: Use the settings tab to toggle navigation arrow visibility, set the progress bar height, choose transition effects, enable left-aligned lists, set footer text, enable slide numbers, and configure auto-fit behavior.
  3. Start a Presentation: Open a note with Slides-compatible Markdown (e.g., using --- for slides) and use the "Slides: Start Presentation" command from the Command Palette.
  4. Using Keys for Navigation: You can use the spacebar and arrow keys to go between slides as normal and the ESC key will exit your presentation.

Keyboard Shortcuts (with WASD Navigation enabled)

Key Action
W Previous vertical slide (up)
A Previous slide (left)
S Next vertical slide (down)
D Next slide (right)
Q Jump to first slide
E Jump to last slide

Contributing

Feel free to submit issues or pull requests on the Git repository where you manage this plugin. Contributions to enhance functionality or fix bugs are welcome!