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://<subdomain>.bearblog.dev/dashboard/post/
Step 2: Fill the editor
Bear Blog uses a plain text header format — no JavaScript DOM manipulation needed!
The editor has two textareas:
- •
header_content— metadata attributes (one per line) - •
body_content— the actual post content in Markdown
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:—ascordesc(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://<subdomain>.bearblog.dev/dashboard/ - •New post:
https://<subdomain>.bearblog.dev/dashboard/post/ - •Edit post:
https://<subdomain>.bearblog.dev/dashboard/post/<uid>/ - •Styles:
https://<subdomain>.bearblog.dev/dashboard/styles/ - •Navigation:
https://<subdomain>.bearblog.dev/dashboard/nav/ - •Analytics:
https://<subdomain>.bearblog.dev/dashboard/analytics/ - •Settings:
https://<subdomain>.bearblog.dev/dashboard/settings/
Example: Complete Post
Header content:
title: Getting Started with AI Assistants link: ai-assistants-intro published_date: 2026-01-05 15:00 tags: ai, tutorial, tech make_discoverable: true is_page: false meta_description: A beginner's guide to working with AI assistants 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_datein the future - •Draft mode — Don't click publish to keep as draft
- •Custom CSS — Add
class_nameand style in your blog's CSS - •SEO — Always set
meta_descriptionandmeta_image
Troubleshooting
- •Post not showing? Check
publishstatus andpublished_date - •Tags not working? Use comma separation, no quotes
- •Styling issues? Check
class_nameis slugified (lowercase, hyphens) - •Date format error? Use
YYYY-MM-DD HH:MM