โ† Back to Marketing & Sales
Marketing & Sales by @azade-c

bearblog

Create and manage blog posts on Bear Blog (bearblog.dev)

0
Source Code

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

  1. Preview before publishing โ€” Use the preview button to check formatting
  2. Use templates โ€” Set up a post template in dashboard settings for consistent headers
  3. Schedule posts โ€” Set published_date in the future
  4. Draft mode โ€” Don't click publish to keep as draft
  5. Custom CSS โ€” Add class_name and style in your blog's CSS
  6. 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