47 lines
822 B
Bash
47 lines
822 B
Bash
|
#!/bin/sh
|
||
|
|
||
|
set -eu
|
||
|
|
||
|
timestamp="$(date '+%s')"
|
||
|
title="$(date '+%Y-%m-%d %H:%M' --date="@$timestamp")"
|
||
|
year="$(date '+%Y')"
|
||
|
month="$(date '+%m')"
|
||
|
|
||
|
archive=./doc/log/archive
|
||
|
|
||
|
for dir in "$archive" "$archive/$year" "$archive/$year/$month"; do
|
||
|
if [ ! -d "$dir" ]; then
|
||
|
mkdir -- "$dir"
|
||
|
name="$(basename -- "$dir")"
|
||
|
if [ "$name" = archive ]; then
|
||
|
name=Archive
|
||
|
fi
|
||
|
<<-EOF cat - >"$dir/index.rst"
|
||
|
$name
|
||
|
$(printf '%s\n' "$name" | sed -E 's|.|=|g')
|
||
|
|
||
|
.. toctree::
|
||
|
$(printf '\t'):glob:
|
||
|
$(printf '\t'):maxdepth: 1
|
||
|
|
||
|
$(printf '\t')*/index
|
||
|
EOF
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
mkdir -- "$archive/$year/$month/$timestamp"
|
||
|
|
||
|
|
||
|
<<-EOF cat - >"$archive/$year/$month/$timestamp/index.rst"
|
||
|
$title
|
||
|
$(printf '%s\n' "$title" | sed -E 's|.|=|g')
|
||
|
|
||
|
.. contents::
|
||
|
|
||
|
TODO
|
||
|
----
|
||
|
EOF
|
||
|
|
||
|
printf '%s\n' "$archive/$year/$month/$timestamp"
|
||
|
exit 0
|