Bearblog
Create and manage blog posts on Bear Blog (bearblog.dev). Supports extended Markdown, custom attributes, and browser-based publishing.
Create and manage blog posts on Bear Blog (bearblog.dev). Supports extended Markdown, custom attributes, and browser-based publishing.
Real data. Real impact.
Growing
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
Create, edit, and manage posts on Bear Blog — a minimal, fast blogging platform.
Bear Blog requires browser-based authentication. Log in once via the browser tool, and cookies will persist.
browser action:navigate url:https://bearblog.dev/accounts/login/
browser action:navigate url:https://bearblog.dev/<subdomain>/dashboard/posts/new/
Bear Blog uses a plain text header format.
The editor fields are:
div#header_content (contenteditable): attributes (one per line)textarea#body_content: Markdown bodyVerified: use
fill/type on those two fields, then click Publish (or Save as draft). No evaluate needed.
Header format:
title: Your Post Title link: custom-slug published_date: 2026-01-05 14:00 tags: tag1, tag2, tag3 make_discoverable: true is_page: false class_name: custom-css-class meta_description: SEO description for the post meta_image: https://example.com/image.jpg lang: en canonical_url: https://original-source.com/post alias: alternative-url
Body format: Standard Markdown with extensions (see below).
The separator
___ (three underscores) is used in templates to separate header from body.
Click the publish button or submit the form with
publish: true.
| Attribute | Description | Example |
|---|---|---|
| Post title (required) | |
| Custom URL slug | |
| Publication date/time | |
| Comma-separated tags | |
| Show in discovery feed | |
| Static page vs blog post | |
| Custom CSS class (slugified) | |
| SEO meta description | |
| Open Graph image URL | |
| Language code | |
| Canonical URL for SEO | |
| Alternative URL path | |
Bear Blog uses Mistune with plugins:
~~strikethrough~~ → ^superscript^ → superscript~subscript~ → subscript==highlighted== → highlighted (mark)**bold** and *italic* — standardHere's a sentence with a footnote.[^1]Task Lists
- [x] Completed task - [ ] Incomplete taskTables
| Header 1 | Header 2 | |----------|----------| | Cell 1 | Cell 2 |Code Blocks
```python def hello(): print("Hello, world!") ```Syntax highlighting via Pygments (specify language after ```).
Math (LaTeX)
- Inline:
$E = mc^2$- Block:
$$\int_0^\infty e^{-x^2} dx$$Abbreviations
*[HTML]: Hypertext Markup Language The HTML specification is maintained by the W3C.Admonitions
.. note:: This is a note admonition... warning:: This is a warning.Table of Contents
.. toc::Dynamic Variables
Use
in your content:{{ variable }}Blog Variables
— Blog title{{ blog_title }} — Blog meta description{{ blog_description }} — Blog creation date{{ blog_created_date }} — Time since last modification{{ blog_last_modified }} — Time since last post{{ blog_last_posted }} — Full blog URL{{ blog_link }} — Rendered tag list with links{{ tags }}Post Variables (in post templates)
— Current post title{{ post_title }} — Post meta description{{ post_description }} — Publication date{{ post_published_date }} — Time since modification{{ post_last_modified }} — Full post URL{{ post_link }} — Link to next post{{ next_post }} — Link to previous post{{ previous_post }}Post Listing
{{ posts }} {{ posts limit:5 }} {{ posts tag:"tech" }} {{ posts tag:"tech,ai" limit:10 order:asc }} {{ posts description:True image:True content:True }}Parameters:
— filter by tag(s), comma-separatedtag: — max number of postslimit: —order:orasc(default: desc)desc — show meta descriptionsdescription:True — show meta imagesimage:True — show full content (only on pages)content:TrueEmail Signup (upgraded blogs only)
{{ email-signup }} {{ email_signup }}Links
Standard Links
[Link text](https://example.com) [Link with title](https://example.com "Title text")Open in New Tab
Prefix URL with
:tab:[External link](tab:https://example.com)Heading Anchors
Headings automatically get slugified IDs:
## My Section TitleLinks to:
#my-section-titleTypography
Automatic replacements:
→ ©(c) → ©(C) → ®(r) → ®(R) → ™(tm) → ™(TM) → ℗(p) → ℗(P) → ±+-Raw HTML
HTML is supported directly in Markdown:
<div class="custom-class" style="text-align: center;"> <p>Centered content with custom styling</p> </div>Note:
,<script>,<object>,<embed>are stripped for free accounts. Iframes are whitelisted (YouTube, Vimeo, Spotify, etc.).<form>Whitelisted Iframe Sources
- youtube.com, youtube-nocookie.com
- vimeo.com
- soundcloud.com
- spotify.com
- codepen.io
- google.com (docs, drive, maps)
- bandcamp.com
- apple.com (music embeds)
- archive.org
- And more...
Dashboard URLs
Replace
with your blog subdomain:<subdomain>
- Blog list:
https://bearblog.dev/dashboard/- Dashboard:
https://bearblog.dev/<subdomain>/dashboard/- Posts list:
https://bearblog.dev/<subdomain>/dashboard/posts/- New post:
https://bearblog.dev/<subdomain>/dashboard/posts/new/- Edit post:
https://bearblog.dev/<subdomain>/dashboard/posts/<uid>/- Styles:
https://bearblog.dev/<subdomain>/dashboard/styles/- Navigation:
https://bearblog.dev/<subdomain>/dashboard/nav/- Analytics:
https://bearblog.dev/<subdomain>/dashboard/analytics/- Settings:
https://bearblog.dev/<subdomain>/dashboard/settings/Example: Complete Post
Header content:
title: Getting Started with AI Assistants link: ai-assistants-intro published_date: 2026-01-05 15:00 meta_description: A beginner's guide to working with AI assistants tags: ai, tutorial, tech is_page: false lang: enBody content:
AI assistants are changing how we work. Here's what you need to know.Why AI Assistants?
They help with:
- Writing and editing
- Research and analysis
- Making coffee (not yet!)
> "The best tool is the one you actually use." — Someone wise
Getting Started
Check out OpenAI or Anthropic for popular options.
What's your experience with AI? Let me know!
{{ previous_post }} {{ next_post }}Tips
- Preview before publishing — Use the preview button to check formatting
- Use templates — Set up a post template in dashboard settings for consistent headers
- Schedule posts — Set
in the futurepublished_date- Draft mode — Don't click publish to keep as draft
- Custom CSS — Add
and style in your blog's CSSclass_name- SEO — Always set
andmeta_descriptionmeta_imageTroubleshooting
- Post not showing? Check
status andpublishpublished_date- Tags not working? Use comma separation, no quotes
- Styling issues? Check
is slugified (lowercase, hyphens)class_name- Date format error? Use
YYYY-MM-DD HH:MM
No automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.