# HG changeset patch # User Takahiro SHIMIZU # Date 1522895259 -32400 # Node ID 952136cc268ff28853b8937d8072a9fd09f10d8f # Parent 31a78619d6eb2b92849ad1b963b840ed6de23efe upgrade directory separate diff -r 31a78619d6eb -r 952136cc268f lib/Slideshow/Util.pm --- a/lib/Slideshow/Util.pm Tue Mar 06 19:19:37 2018 +0900 +++ b/lib/Slideshow/Util.pm Thu Apr 05 11:27:39 2018 +0900 @@ -21,6 +21,7 @@ build_pinpoint open_slide edit_slide + edit_memo /; sub getopts { @@ -54,7 +55,8 @@ } elsif ( $arg eq "edit"){ return { edit=> 1}; - + } elsif ( $arg eq "memo"){ + return { memo => 1}; } else { return { help => 1}; } @@ -73,18 +75,22 @@ my $t = localtime; # ex... 2018/02/14 - my $slide = $root_dir->child($t->strftime('%Y%m%d'). '/'.'slide.md')->touchpath; + my ($y,$m,$d) = ($t->strftime('%Y'), $t->strftime('%m'), $t->strftime('%d')); + my $slide = $root_dir->child($y .'/'. $m .'/'. $d .'/'.'slide.md')->touchpath; $template->copy($slide); } sub _search_recently { my ($root_directory_name) = @_; - my $root_dir = path($root_directory_name); my $t = localtime; - my $recently = shift @{[sort { $b->stat->mtime <=> $a->stat->mtime } $root_dir->children]}; + # ex... 2018/02/14 + my ($y,$m,$d) = ($t->strftime('%Y'), $t->strftime('%m'), $t->strftime('%d')); + my $root_dir = path($root_directory_name.'/'.$y.'/'.$m); - return $recently; + my $date = shift @{ [sort { $b->stat->mtime <=> $a->stat->mtime } $root_dir->children]}; + + return $date; } @@ -105,6 +111,16 @@ _build($dir,$slide); } +sub edit_memo { + my $root_dir = path(shift); + my $t = localtime; + + # ex... 2018/02/14 + my ($y,$m,$d) = ($t->strftime('%Y'), $t->strftime('%m'), $t->strftime('%d')); + my $memo = $root_dir->child($y .'/'. $m .'/'. $d .'/'.'memo.txt')->touchpath; + exec $ENV{EDITOR}, ($memo->realpath); +} + sub edit_slide { my $recently = _search_recently(shift); my $target = $recently->child('slide.md'); @@ -133,7 +149,7 @@ local $CWD = $dir; my ($stdout,$stderr,$exit) = capture { - system(" slideshow build ${target} -t s6cr"); + system("slideshow build ${target} -t s6cr"); }; if ($stderr){ diff -r 31a78619d6eb -r 952136cc268f slide-cr --- a/slide-cr Tue Mar 06 19:19:37 2018 +0900 +++ b/slide-cr Thu Apr 05 11:27:39 2018 +0900 @@ -25,6 +25,8 @@ open_slide("slides"); } elsif ( $flags->{open}) { open_slide("slides"); +} elsif ($flags->{memo}) { + edit_memo("slides"); } elsif ( $flags->{edit}) { edit_slide("slides"); } else { diff -r 31a78619d6eb -r 952136cc268f slides/20180306/slide.md --- a/slides/20180306/slide.md Tue Mar 06 19:19:37 2018 +0900 +++ b/slides/20180306/slide.md Thu Apr 05 11:27:39 2018 +0900 @@ -24,3 +24,5 @@ * OSかコンパイラやりたいと思ってます * 今はVMと言語機能的なVMに興味があります * CbC/Gearsについてはあまり良くわかってないです + +