Chandler Thompson

TIL

Creating a TIL from the command line

Just a bash script to Jekyll Compose a TIL and open it in VSCodium.

#!/usr/bin/env bash

SITE_DIR="$HOME/<Site Directory...>" # Replace with the path to your site
# Take the first command line argument as the title
TITLE="$1"
# Change directory to the site directory
cd "$SITE_DIR" || exit
# Compose a new TIL
NEW_FILE_PATH=$(bundle exec jekyll compose "$TITLE" --collection='til' | grep -o '_til/.*')
# Open the newly created file
code "$SITE_DIR/$NEW_FILE_PATH"
# Start server
bundle exec jekyll s --livereload

Of course, I added it to a local bin directory in my PATH, so I can run the til '<Title...>' command from any location.

More ...

Integrating Jekyll Compose with my TIL Collection

Since I have a custom layout for the TIL collection, I added default frontmatter for Jekyll Compose for the collection:

jekyll_compose:
  default_front_matter:
    til:
      layout: "til"

This allows me to use the following command to create a TIL with the default frontmatter.

bundle exec jekyll compose "Some TIL title here" --collection "til"

See the Pull Request

Adding a Today I Learned (TIL) section to my website

In _config.yml, I added a new collection specifically for TIL posts:

collections:
  til:
    output: true
    permalink: /til/:title/

See the Pull Request