comparison lib/Slideshow/Util.pm @ 21:952136cc268f

upgrade directory separate
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Thu, 05 Apr 2018 11:27:39 +0900
parents 79a79bbc5c01
children 2eac67c0d7da 74859abd87cc
comparison
equal deleted inserted replaced
20:31a78619d6eb 21:952136cc268f
19 set_template 19 set_template
20 build_recently 20 build_recently
21 build_pinpoint 21 build_pinpoint
22 open_slide 22 open_slide
23 edit_slide 23 edit_slide
24 edit_memo
24 /; 25 /;
25 26
26 sub getopts { 27 sub getopts {
27 my ($arg,$path) = @_; 28 my ($arg,$path) = @_;
28 29
52 } elsif ( $arg eq "open"){ 53 } elsif ( $arg eq "open"){
53 return { open => 1}; 54 return { open => 1};
54 55
55 } elsif ( $arg eq "edit"){ 56 } elsif ( $arg eq "edit"){
56 return { edit=> 1}; 57 return { edit=> 1};
57 58 } elsif ( $arg eq "memo"){
59 return { memo => 1};
58 } else { 60 } else {
59 return { help => 1}; 61 return { help => 1};
60 } 62 }
61 63
62 } 64 }
71 my ($template,$root_directory_name) = @_; 73 my ($template,$root_directory_name) = @_;
72 my $root_dir = path($root_directory_name); 74 my $root_dir = path($root_directory_name);
73 my $t = localtime; 75 my $t = localtime;
74 76
75 # ex... 2018/02/14 77 # ex... 2018/02/14
76 my $slide = $root_dir->child($t->strftime('%Y%m%d'). '/'.'slide.md')->touchpath; 78 my ($y,$m,$d) = ($t->strftime('%Y'), $t->strftime('%m'), $t->strftime('%d'));
79 my $slide = $root_dir->child($y .'/'. $m .'/'. $d .'/'.'slide.md')->touchpath;
77 $template->copy($slide); 80 $template->copy($slide);
78 } 81 }
79 82
80 sub _search_recently { 83 sub _search_recently {
81 my ($root_directory_name) = @_; 84 my ($root_directory_name) = @_;
82 my $root_dir = path($root_directory_name);
83 my $t = localtime; 85 my $t = localtime;
84 86
85 my $recently = shift @{[sort { $b->stat->mtime <=> $a->stat->mtime } $root_dir->children]}; 87 # ex... 2018/02/14
88 my ($y,$m,$d) = ($t->strftime('%Y'), $t->strftime('%m'), $t->strftime('%d'));
89 my $root_dir = path($root_directory_name.'/'.$y.'/'.$m);
86 90
87 return $recently; 91 my $date = shift @{ [sort { $b->stat->mtime <=> $a->stat->mtime } $root_dir->children]};
92
93 return $date;
88 } 94 }
89 95
90 96
91 97
92 sub build_recently { 98 sub build_recently {
101 107
102 my $dir = $target_path->dirname; 108 my $dir = $target_path->dirname;
103 my $slide = $target_path->basename; 109 my $slide = $target_path->basename;
104 110
105 _build($dir,$slide); 111 _build($dir,$slide);
112 }
113
114 sub edit_memo {
115 my $root_dir = path(shift);
116 my $t = localtime;
117
118 # ex... 2018/02/14
119 my ($y,$m,$d) = ($t->strftime('%Y'), $t->strftime('%m'), $t->strftime('%d'));
120 my $memo = $root_dir->child($y .'/'. $m .'/'. $d .'/'.'memo.txt')->touchpath;
121 exec $ENV{EDITOR}, ($memo->realpath);
106 } 122 }
107 123
108 sub edit_slide { 124 sub edit_slide {
109 my $recently = _search_recently(shift); 125 my $recently = _search_recently(shift);
110 my $target = $recently->child('slide.md'); 126 my $target = $recently->child('slide.md');
131 say "[AUTO] BUILD at $dir/$target"; 147 say "[AUTO] BUILD at $dir/$target";
132 148
133 local $CWD = $dir; 149 local $CWD = $dir;
134 150
135 my ($stdout,$stderr,$exit) = capture { 151 my ($stdout,$stderr,$exit) = capture {
136 system(" slideshow build ${target} -t s6cr"); 152 system("slideshow build ${target} -t s6cr");
137 }; 153 };
138 154
139 if ($stderr){ 155 if ($stderr){
140 croak "Perl can't build...."; 156 croak "Perl can't build....";
141 } 157 }