After years of wanting to, my blog finally has a Now page. To put simply, a "Now page" is a page on your website where you document the stuff that you are doing and/or are interested in at that moment. This is a breakdown of what all I had to add/change in the code to add this.

Goals

I want a way to show all the entries that I publish under the now page. For that I wanted it so that on the /now page we could see the contents of the latest entry and below it a list of all the historical entries.

For each entry, there should be a page at /now/{YYYY-mm-dd} where the contents of that entry can be viewed. These pages would be where the historical entries (from the bottom of /now) link to.

Individual Entries

Individual entries are stored as markdown files following the _now/{YYYY-mm-dd}.md format in the source code. Each entry has a very slim front-matter:

---
tags:
  - now
layout: now
date: 2026-08-02T02:30:51+0530
---

The actual contents go here…

Layout for individual post

The layout: now line in the front-matter mentions that the file _layouts/now.liquid is responsible for rendering this individual entry's page. That again is another simple wrapper (this time around _layouts/simple-page.liquid layout):

---
permalink: '/now/{{ page.fileSlug }}.html'
layout: simple-page.liquid
eleventyComputed:
    title: "What I was doing on {{ page.date | date: '%B %d, %Y' }}"
---
{{ content }}

Here the most interesting part is the eleventyComputed section. I wanted each entry's title to be auto-generated from its date. By default Eleventy front-matter doesn't evaluate liquid templates for any properties other than permalink. But if we want to specify a computed property then we can put it under eleventyComputed and then it will evaluate the liquid template for that property. Since we don't need to modify the incoming contents from our entry, we pass it straight through to the parent layout using the {{ content }}.

Layout for the /now page

The main /now page is divided into two major parts; the first showing the complete contents of the current entry, and the second showing a list of other previous entries. To get the first entry we sorted the list of entries reverse-chronologically and took the first entry from that array:

{% assign latestEntry = collections.now | reverse | first %}
{{ latestEntry.content }}

And to get the list of remaining entries, we slice the reverse-chronologically sorted array after its first element. If there are any elements in the remaining array then we display that section, otherwise don't.

{% assign remainingEntries = collections.now | reverse | slice: 1, collections.now.size %}
{% if remainingEntries.size > 0 %}
    <h2>What I was doing earlier</h2>
    <ol style="list-style: disc">
        {% for entry in remainingEntries %}
            <li><a href="{{ entry.url }}">{{ entry.date | date: '%B %d, %Y' }}</a></li>
        {% endfor %}
    </ol>
{% endif %}

How we reached here, and where we go from here

The main inspiration behind this was from Derek Sivers' project. Out of the blogs I follow, I liked the design of Joel's, Harsh's and Abhinav's now pages. For some reason I had thought that keeping a log of older entries was more common. But I could only find it in Abhinav's website and could not find a single other author (from the 5-7 websites off the top of my head) who keeps older entries.

I still need to fix the title and description tags and a few other open-graph tags on the top-level now page and on each entry's own page. After that, I will have to see how often I end up updating the entries.