Displaying a feed of short-form content
Bearblog is built for long-form content, with posts commonly displayed as lists of linked titles.
Sometimes I just want to post a quick thought, save a quote, or share a doodle. This short-form content doesn't need a title or link. I just want this content to display directly on the page, in a feed.
I looked into options on Bear docs and saw that it's possible to list the full content of posts:
## Show full post content
{{ posts | content:True }}
I used this to set up my Status page, and from there adapted it to create my Clippings page.
My Status page is an embedded post list with the following customizations:
- List the 10 latest tagged posts
- Display the full content of the posts
- Hide the post titles & links
- Reverse the content order, so the times display at the bottom
When I first approached this, I thought it'd be a heavier lift. I'm pleased that it did not require too many custom attributes or lines of CSS.
Here are the snippets for anyone interested in creating something similar.
Status page
I created a new Status page to house my status feed. I added the attribute class_name: status
to give the page a unique CSS class for styling. My embed code filters for posts tagged with status
.
title: Status
link: status
is_page: true
class_name: status
---
# Status
{{ posts | tag:status | content:True | limit:10 }}
Status page CSS styles
I added my CSS styles to Themes > Edit theme CSS.2 The CSS calls on the unique class name .status
that I added to the page.
/* Box containing post content */
.status ul.embedded.blog-posts > li {
border: 1px solid #ddd; /* Change to match your design */
background-color: ; /* Change to match your design */
margin-top: 1.25em;
padding: 1.25em;
display: flex;
flex-direction: column-reverse; /* Reverse content order */
}
/* Hide title & link */
.status ul.embedded.blog-posts > li > a {
display: none;
}
/* Remove extra space above content */
.status ul.embedded.blog-posts > li div p:first-child {
margin-top: 0;
}
/* Remove extra space to the left of content */
.status ul.embedded.blog-posts {
padding: unset;
}
/* Remove extra space below content
Applies to most default Bearblog themes (remove otherwise) */
.status ul.blog-posts li span {
flex: none;
}
==2025-01-09 update: After this initial post, I played around with the design some more and made a few adjustments. There's now a version with text/emoji links and another with (fake) date links.==
New status post
To publish a new status, I create a new post with the status
tag.
I include make_discoverable: false
so that the status posts don't display in the discovery feed.1
title: Simple title
link: simple-title
tags: status
make_discoverable: false
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Latest status post on homepage
I used the same Status page embed code, with some minor adjustments.
I changed the limit
to 1
(to display only 1 post) and added a section with the status
class (to apply my .status
styles).
## Latest status
<section class="status">
{{ posts | tag:status | content:True | limit:1 }}
</section>
For more
I continue to tinker with this feature at my sandbox.
After seeing Crafting a photo-centric Bear blog with embedded posts, I reached out to Jedda and commented, “I feel like there aren't enough of us using this content:True
feature!”
In this spirit, see what’s possible & how other Bearbloggers have used it:
- Author's Notes | The Folkmoss Logs
- images | chronosaur.us
- Moments | Flyfish's Blog
- Notebook | xavier_hm
- now | a true blug blog
- Shares | pauleychrome
- Snaps by JCProbably
- status | monocyte's blog
- status | my thoughts are marbles, roll with me
Learn more about the thought & CSS behind the designs above:
- a true blue blog — how i hide elements on my bearblog
- ava's blog — turning a bearblog into a microblog
- Notes by JCProbably — Crafting a photo-centric Bear blog with embedded posts
FAQ
How do I prevent my status posts from displaying in my main feed?
There isn't a feature to exclude a tag from displaying in the main feed, so the solution is to further filter.
You can apply a blog
tag to your non-status posts. From there, you can create a new Blog page and list your #blog
posts with the following embed code:
# Blog
{{ posts | tag:blog }}
This approach also creates separate, tag-specific feeds — one feed for #blog
posts and another for #status
posts.
If you’d like to replace the default blog page, go to Advanced settings and update your Blog path to archive
(or something else).
How do I bring back bulleted list styles?
If you plan to use lists, adding the following CSS will restore other visual details for lists.
/* Add space after list */
ul.embedded.blog-posts > li div > ul,
ul.embedded.blog-posts > li div > ol {
margin-bottom: 1em;
}
/* Display as list
Applies to most default Bearblog themes (remove otherwise) */
ul.embedded.blog-posts > li div > ul li,
ul.embedded.blog-posts > li div > ol li {
display: list-item;
}
/* Adjust bullet styles */
ul.embedded.blog-posts > li div > ul li {
list-style-type: disc;
}
ul.embedded.blog-posts > li div > ul li ul li {
list-style-type: circle;
}
Will this work with my theme?
Depending on your theme, more adjustments may be needed. Check for other .blog-posts li
styles.
These short-form posts still display in my Bearblog's RSS & Atom feeds. ↩
Styles can also be embedded directly on the page: Embedded stylesheet. ↩