MonkeyBeans lets you write and publish posts and links directly to your git-based static site — no laptop required.
Write full Markdown posts with title, tags, and draft mode. Publishes directly to your GitLab repository with a single tap.
Share links from anywhere in iOS via the share sheet. Automatically fetches page titles and cleans tracking parameters.
Attach photos from your library. Images are resized and uploaded alongside your post in a single atomic commit.
Tags are scanned from your existing posts and cached locally. Add new tags on the fly or pick from your history.
Save drafts and come back to them later. Drafts sync automatically via iCloud when available, so you can start on one device and pick up on another. The share extension can append captured links to any open draft.
Set your target branch, posts path, and links path to match your SSG's directory structure. Works with Eleventy and similar setups.
You need a GitLab repository hosting your static site and a GitLab Project Access Token with api scope and Developer role or higher. That's it — no account with MonkeyBeans, no intermediary server.
In GitLab, open your repository and go to Settings → Access Tokens. Create a new token with:
Copy the token and paste it into MonkeyBeans under Settings → GitLab Project Access Token. The app validates the token against your repo before saving it.
A few things can disable publishing:
Your target branch has push protection enabled in GitLab. To fix it, go to your GitLab repository → Settings → Repository → Protected Branches, find your branch, and either allow Developers to push or remove the protection rule. MonkeyBeans will check this automatically and warn you on the home screen if it detects the issue.
Yes. MonkeyBeans is available on macOS via the Mac App Store as an iPhone and iPad app. It runs natively through Apple Silicon and works well for publishing from your desktop when you want to stay in the same workflow as your phone.
MonkeyBeans was built for Eleventy but works with any git-based static site that stores posts as Markdown files with YAML frontmatter. The posts path, links path, and target branch are all configurable in Settings to match your repo's structure.
Yes. MonkeyBeans automatically places new posts in a year-based subfolder matching the current date, and the repo scanner recognizes year-organized directories when auto-detecting your content paths.
No. MonkeyBeans communicates directly with the GitLab API using your token. Nothing is routed through a third-party server. Your token is stored in the iOS Keychain and never leaves your device except in requests to GitLab.
Not yet — MonkeyBeans currently requires GitLab. GitHub support is planned for a future release.
MonkeyBeans is a personal project. If you run into a bug or have a feature request, drop me an email.
If MonkeyBeans saves you time, a tip is always appreciated.