dg-x/ptouch.pl

44 lines
778 B
Perl
Raw Normal View History

2022-02-07 06:47:31 +00:00
#!/usr/bin/env perl
use strict;
use utf8;
use Getopt::Std;
2024-06-16 04:10:34 +00:00
use File::Slurp;
use Text::FrontMatter::YAML;
2022-02-07 06:47:31 +00:00
2024-06-16 04:10:34 +00:00
$::VERSION = "2.0.0";
2022-02-07 06:47:31 +00:00
getopts("ne", \my %opts);
my $metavar;
if (defined $opts{n}) {
# "new" post
$metavar = "created";
} elsif (defined $opts{e}) {
# "edited" post
$metavar = "modified";
} else {
die "Neither -n[ew] nor -e[dited] are defined!";
}
2022-03-05 04:45:29 +00:00
my $timestamp = time;
2022-02-07 06:47:31 +00:00
my $fname = shift @ARGV;
2024-06-16 04:10:34 +00:00
my $fdata = read_file($fname);
my $mdfm = Text::FrontMatter::YAML->new(
document_string => $fdata
);
my $metadata = $mdfm->frontmatter_hashref;
$metadata->{$metavar} = $timestamp;
my $wrfm = Text::FrontMatter::YAML->new(
frontmatter_hashref => $metadata,
data_text => $mdfm->data_text
);
write_file($fname, $wrfm->document_string);
2022-02-07 06:47:31 +00:00
2024-06-16 04:10:34 +00:00
1;