| name | bearblog |
| description | Create and manage blog posts on Bear Blog (bearblog.dev). Supports extended Markdown, custom attributes, and browser-based publishing. |
| metadata | {"clawdbot":{"emoji":"๐ป","homepage":"https://bearblog.dev","requires":{"config":["browser.enabled"]}}} |
Bear Blog Skill
Create, edit, and manage posts on Bear Blog โ a minimal, fast blogging platform.
Authentication
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/
Creating a Post
Step 1: Navigate to the post editor
browser action:navigate url:https://bearblog.dev/<subdomain>/dashboard/posts/new/
Step 2: Fill the editor
Bear Blog uses a plain text header format.
The editor fields are:
div#header_content (contenteditable): attributes (one per line)
textarea#body_content: Markdown body
Verified: 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.
Step 3: Publish
Click the publish button or submit the form with publish: true.
Post Attributes Reference
| Attribute | Description | Example |
|---|
title | Post title (required) | title: My Post |
link | Custom URL slug | link: my-custom-url |
published_date | Publication date/time | published_date: 2026-01-05 14:30 |
tags | Comma-separated tags | tags: tech, ai, coding |
make_discoverable | Show in discovery feed | make_discoverable: true |
is_page | Static page vs blog post | is_page: false |
class_name | Custom CSS class (slugified) | class_name: featured |
meta_description | SEO meta description | meta_description: A post about... |
meta_image | Open Graph image URL | meta_image: https://... |
lang | Language code | lang: fr |
canonical_url | Canonical URL for SEO | canonical_url: https://... |
alias | Alternative URL path | alias: old-url |
Extended Markdown
Bear Blog uses Mistune with plugins:
Text Formatting
~~strikethrough~~ โ strikethrough
^superscript^ โ superscript
~subscript~ โ subscript
==highlighted== โ highlighted (mark)
**bold** and *italic* โ standard
Footnotes
Here's a sentence with a footnote.[^1]
[^1]: This is the footnote content.
Task Lists
- [x] Completed task
- [ ] Incomplete task
Tables
| 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 {{ variable }} in your content:
Blog Variables
{{ blog_title }} โ Blog title
{{ blog_description }} โ Blog meta description
{{ blog_created_date }} โ Blog creation date
{{ blog_last_modified }} โ Time since last modification
{{ blog_last_posted }} โ Time since last post
{{ blog_link }} โ Full blog URL
{{ tags }} โ Rendered tag list with links
Post Variables (in post templates)
{{ post_title }} โ Current post title
{{ post_description }} โ Post meta description
{{ post_published_date }} โ Publication date
{{ post_last_modified }} โ Time since modification
{{ post_link }} โ Full post URL
{{ next_post }} โ Link to next post
{{ previous_post }} โ Link to 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:
tag: โ filter by tag(s), comma-separated
limit: โ max number of posts
order: โ asc or desc (default: desc)
description:True โ show meta descriptions
image:True โ show meta images
content:True โ show full content (only on pages)
Email 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 Title
Links to: #my-section-title
Typography
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>, <form> are stripped for free accounts. Iframes are whitelisted (YouTube, Vimeo, Spotify, etc.).
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 <subdomain> with your blog 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: en
Body content:
AI assistants are changing how we work. Here's what you need to know.
## Why AI Assistants?
They help with:
- [x] Writing and editing
- [x] Research and analysis
- [ ] Making coffee (not yet!)
> "The best tool is the one you actually use." โ Someone wise
## Getting Started
Check out [OpenAI](tab:https://openai.com) or [Anthropic](tab:https://anthropic.com) 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
published_date in the future
- Draft mode โ Don't click publish to keep as draft
- Custom CSS โ Add
class_name and style in your blog's CSS
- SEO โ Always set
meta_description and meta_image
Troubleshooting
- Post not showing? Check
publish status and published_date
- Tags not working? Use comma separation, no quotes
- Styling issues? Check
class_name is slugified (lowercase, hyphens)
- Date format error? Use
YYYY-MM-DD HH:MM