chore: remove run file

This commit is contained in:
Oliver Davies 2023-06-06 00:13:20 +01:00
parent e0f6a44823
commit 88a1c38a41
3 changed files with 38 additions and 64 deletions

View file

@ -6,14 +6,9 @@ default:
start:
nix develop --command yarn astro dev --open
create-daily:
create-daily date title:
#!/usr/bin/env bash
date="$(date +%Y-%m-%d)"
filepath="source/_daily_emails"
filename="${date}.md"
touch "${filepath}/${filename}"
eval "${EDITOR}" "${filepath}/${filename}"
./tools/scripts/create-daily.sh {{ date }} {{ title }}
deploy sha:
rm -fr _deploy

57
run
View file

@ -1,57 +0,0 @@
#!/usr/bin/env bash
set -e
set -o pipefail
# Create a new daily email post for the next subsequent date.
# args:
# - date:
# - "next" for the next subsequent date based on the existing files.
# - Any other value, e.g. a date, will be used explicitly.
# - title: The title to use for the post.
function task:daily {
# Find the next post date based on the last post in the directory.
local next_date
if [[ "${1}" == "next" ]]; then
next_date=$(ls -1 src/content/daily-email | tail -n 1 | tr -d '.md' | xargs -I {} date +%Y-%m-%d -d '{} +1 day')
else
next_date="${1}"
fi
local filepath="src/content/daily-email/${next_date}.md"
shift 1
# Generate the title and slug.
local title="${*}"
local slug
slug=$(echo "${title}" | awk '{print tolower($0)}' | tr ' ' '-')
# Create the file.
cp -f --no-clobber stub.md "${filepath}"
local day
local month
local year
date=$(date -d "${next_date}" +%Y-%m-%d)
day=$(date -d "${next_date}" +%d)
month=$(date -d "${next_date}" +%m)
year=$(date -d "${next_date}" +%Y)
# Replace the placeholders.
sed -i "s/{{ date }}/${date}/" "${filepath}"
sed -i "s/{{ title }}/${title}/" "${filepath}"
sed -i "s#{{ permalink }}#archive/${year}/${month}/${day}/${slug}#" "${filepath}"
# Create a commit with the appropriate date in the message
git add "${filepath}"
git commit -m "daily-email: add ${date}"
echo "${filepath}"
}
function task:help {
echo "task:help"
}
eval "task:${*:-help}"

36
tools/scripts/create-daily.sh Executable file
View file

@ -0,0 +1,36 @@
#!/usr/bin/env bash
set -euo pipefail
if [ "${1}" == "next" ]; then
next_date=$(ls -1 src/content/daily-email | tail -n 1 | tr -d '.md' | xargs -I {} date +%Y-%m-%d -d '{} +1 day')
else
next_date="${1}"
fi
filepath="src/content/daily-email/${next_date}.md"
shift 1
# Generate the title and slug.
title="${*}"
slug=$(echo "${title}" | awk '{print tolower($0)}' | tr ' ' '-')
# Create the file.
cp -f --no-clobber stub.md "${filepath}"
date=$(date -d "${next_date}" +%Y-%m-%d)
day=$(date -d "${next_date}" +%d)
month=$(date -d "${next_date}" +%m)
year=$(date -d "${next_date}" +%Y)
# Replace the placeholders.
sed -i "s/{{ date }}/${date}/" "${filepath}"
sed -i "s/{{ title }}/${title}/" "${filepath}"
sed -i "s#{{ permalink }}#archive/${year}/${month}/${day}/${slug}#" "${filepath}"
# Create a commit with the appropriate date in the message
git add "${filepath}"
git commit -m "daily-email: add ${date}"
echo "${filepath}"