JekyllStudio exists to make local Jekyll writing feel native on macOS while keeping the content on disk as the source of truth.
The project is aimed at technical Mac users who already value markdown, git, and static site generators, but want a frictionless writing experience without manually managing images, editing filenames, or dropping to the CLI.
More plainly, beautiful Mac-arsed app experience meets the philosophy of Jekyll.
- Great out of the box experience with conventional defaults over broad configuration surfaces.
- Local-first and file-system-native.
- Native Apple frameworks first.
- Fast feedback for writing, previewing, and debugging.
The current product direction focuses on a tight local writing loop:
- User-configurable blog root path.
- User-configurable preview server command.
- Preview URL and permalink behaviour inferred from blog
_config.yml. - Auto-start preview subprocess when the app launches.
- Toggleable post list, editor, preview pane, and log pane.
- Drag-and-drop image import with automatic resizing and optimisation.
- New post creation with inferred filenames such as
YYYY-MM-DD-slug.md.
- Remote publishing orchestration.
- Multi-blog session management.
- Plugin ecosystem.
- Persisted server logs.
- Deep theming or a highly customisable UI surface.
- Alternate static blogging site generators
- App stack: Swift and SwiftUI.
- Build system: Swift Package Manager plus repo-local scripts under
Scripts/. - Main app target:
Sources/JekyllStudioApp. - Runner target:
Sources/JekyllStudioRunner. - Core services and stores include
SettingsStore,PostRepository,ImagePipeline,ServerProcessManager, andLogStore.
Near-term work should keep improving the local authoring loop rather than expanding into publishing or collaboration tooling.
Priority areas include:
- Better experience around editing, previewing, and image workflows.
- A tighter path from experimental alpha toward stable release, including binary distribution.
JekyllStudio is currently an experimental alpha.
- Source-first distribution only.
- Public releases are communicated through git tags.
- Minimum deployment target remains macOS 26+.
- Changed preview commands require explicit trust before they can auto-start. Local repositories and commands are assumed.
- The embedded preview is intentionally limited to localhost-style targets; remote preview URLs stay browser-only.