All Tutorials

Your One-Stop Destination for Learning and Growth

Creating a Lightweight and Elegant Recent Posts Widget in Your Blog

Blogging is an excellent way to share your thoughts, ideas, and experiences with the world. A dynamic and engaging blog keeps visitors coming back for more. One way to keep your content fresh and interesting is by displaying recent posts on your sidebar or homepage. In this post, we will discuss how to create a lightweight and elegant Recent Posts widget for your blog using simple HTML and CSS.

Prerequisites

Before you start, make sure you have the following:

  • A basic understanding of HTML and CSS
  • Access to your blog's theme files

Creating the Recent Posts Widget

  1. First, let's create a new file named recent-posts.html in your theme folder or in a new folder called partials. This will be our template for the Recent Posts widget.

  2. Add the following HTML code to the recent-posts.html file:

<ul class="rp">
  {% for post in collection.posts limit:4 %}
    <li>
      <a href="{{ post.url }}">{{ post.title | escape }}</a>
      <span class="post-date">{{ post.date | date: "%B %d, %Y" }}</span>
    </li>
  {% endfor %}
</ul>

This code sets up an unordered list with a custom class rp. It uses the Jekyll for loop to iterate through the most recent posts and display their titles and dates. Make sure you have {% extends "_layouts/base.html" %} at the beginning of your file if you're using Jekyll or a similar static site generator.

  1. Now, let's add some CSS to style our Recent Posts widget in a lightweight and elegant way. Add the following code to your style.css file:
/* Recent Posts Widget */
ul.rp {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

li.rp a {
  text-decoration: none;
  color: #414141;
  font-size: 15px;
  line-height: 1.5em;
  display: block;
  padding: 8px;
  border-bottom: 1px solid #e6e6e6;
}

li.rp a:hover {
  background-color: #f2f2f2;
}

li.rp .post-date {
  display: block;
  font-size: 12px;
  color: #9b9b9b;
  text-align: right;
  padding: 3px 0;
}

This code sets the ul list to be a custom class rp, and styles the links within it. It also adds some hover effects and sets the date display properties.

  1. In your theme's main layout file, include the new recent-posts.html file in the desired location on your sidebar or homepage using the following code:
{% include 'partials/recent-posts.html' %}
  1. Save all changes and preview your blog to see the new Recent Posts widget in action!

Conclusion

Creating a lightweight and elegant Recent Posts widget for your blog can be accomplished with just HTML, CSS, and a little bit of customization. This approach does not require any additional plugins or external scripts, making it an excellent choice for those looking to keep their site fast and streamlined.

Now that you've set up the Recent Posts widget, try experimenting with different colors, font sizes, and layouts to make it your own! Happy blogging!

Published June, 2015