Mercurial > hg > Members > anatofuz > slides
annotate lib/Slideshow/Util.pm @ 15:80767afba59c
auto-Update generated slides by script
author | Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 30 Jan 2018 19:09:40 +0900 |
parents | 967fe50f1ef4 |
children | 79a79bbc5c01 |
rev | line source |
---|---|
4
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 package Slideshow::Util; |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2 use strict; |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
3 use warnings; |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
4 use utf8; |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
5 |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
6 use Carp qw/ croak /; |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
8 use base 'Exporter'; |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 use Time::Piece; |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
11 use feature 'say'; |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
12 use Path::Tiny; |
6
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
13 use File::chdir; |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
14 use Capture::Tiny qw/capture/; |
4
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
15 |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
16 our @EXPORT = qw/ |
6
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
17 getopts |
4
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
18 new |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
19 set_template |
6
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
20 build_recently |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
21 build_pinpoint |
13
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
22 open_slide |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
23 edit_slide |
4
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
24 /; |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
25 |
6
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
26 sub getopts { |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
27 my ($arg,$path) = @_; |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
28 |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
29 unless (defined $arg){ |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
30 return { help => 1}; |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
31 } |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
32 |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
33 if ($arg eq "new") { |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
34 return {new => 1}; |
13
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
35 |
6
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
36 } elsif ( $arg eq "upload") { |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
37 upload(); |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
38 exit; |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
39 |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
40 } elsif ( $arg eq "build") { |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
41 |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
42 if(defined $path){ |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
43 return { build_point=> $path}; |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
44 } else { |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
45 return { build => "recent"}; |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
46 } |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
47 |
13
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
48 |
15
80767afba59c
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
49 } elsif ( $arg eq "build-open"){ |
80767afba59c
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
50 return { build_open => 1}; |
80767afba59c
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
13
diff
changeset
|
51 |
13
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
52 } elsif ( $arg eq "open"){ |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
53 return { open => 1}; |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
54 |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
55 } elsif ( $arg eq "edit"){ |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
56 return { edit=> 1}; |
6
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
57 |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
58 } else { |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
59 return { help => 1}; |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
60 } |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
61 |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
62 } |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
63 |
4
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
64 sub set_template { |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
65 my $template = shift; |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
66 my $file = path($template); |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
67 return $file; |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
68 } |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
69 |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
70 sub new { |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
71 my ($template,$root_directory_name) = @_; |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
72 my $root_dir = path($root_directory_name); |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
73 my $t = localtime; |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
74 |
5
e762bb571a45
gather file and direcotory method
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
75 # ex... 2018/02/14 |
e762bb571a45
gather file and direcotory method
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
76 my $slide = $root_dir->child($t->strftime('%Y%m%d'). '/'.'slide.md')->touchpath; |
4
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
77 $template->copy($slide); |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
78 } |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
79 |
13
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
80 sub _search_recently { |
6
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
81 my ($root_directory_name) = @_; |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
82 my $root_dir = path($root_directory_name); |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
83 my $t = localtime; |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
84 |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
85 my $recently = shift @{[sort { $b->stat->mtime <=> $a->stat->mtime } $root_dir->children]}; |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
86 |
13
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
87 return $recently; |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
88 } |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
89 |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
90 |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
91 |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
92 sub build_recently { |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
93 my $recently = _search_recently(shift); |
6
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
94 _build($recently); |
4
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
95 } |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
96 |
6
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
97 sub build_pinpoint { |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
98 my $target = shift; |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
99 |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
100 my $target_path = path($target); |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
101 |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
102 my $dir = $target_path->dirname; |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
103 my $slide = $target_path->basename; |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
104 |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
105 _build($dir,$slide); |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
106 } |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
107 |
13
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
108 sub edit_slide { |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
109 my $recently = _search_recently(shift); |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
110 my $target = $recently->child('slide.md'); |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
111 exec $ENV{EDITOR}, ($target->realpath); |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
112 } |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
113 |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
114 sub open_slide { |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
115 my $recently = _search_recently(shift); |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
116 my $target = $recently->child('slide.html'); |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
117 |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
118 if ( $target->realpath){ |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
119 system "open", ($target->realpath); |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
120 } else { |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
121 say "didn't slide.html"; |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
122 } |
967fe50f1ef4
add open and edit mode
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
8
diff
changeset
|
123 } |
4
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
124 |
6
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
125 sub _build { |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
126 my ($dir,$target) = @_; |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
127 use Capture::Tiny; |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
128 |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
129 $target //= 'slide.md'; |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
130 |
8 | 131 say "[AUTO] BUILD at $dir/$target"; |
6
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
132 |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
133 local $CWD = $dir; |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
134 |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
135 my ($stdout,$stderr,$exit) = capture { |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
136 system(" slideshow build ${target} -t s6cr"); |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
137 }; |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
138 |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
139 if ($stderr){ |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
140 croak "Perl can't build...."; |
e35e9779078a
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
141 } |
4
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
142 } |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
143 |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
144 |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
145 sub upload { |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
146 |
8 | 147 say "[AUTO]hg addremove"; |
4
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
148 my ($stdout,$stderr,$exit) = capture { |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
149 system("hg addremove"); |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
150 system("hg add"); |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
151 }; |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
152 |
8 | 153 if ($stderr) { |
154 croak "didn't add"; | |
4
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
155 } |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
156 |
8 | 157 say "[AUTO]hg commit -m auto-Update generated slides by script"; |
158 | |
4
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
159 ($stdout,$stderr,$exit) = capture { |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
160 system('hg commit -m "auto-Update generated slides by script"'); |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
161 }; |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
162 |
8 | 163 if ($stderr) { |
164 say $stderr; | |
165 croak "didn't commit"; | |
166 } | |
167 | |
168 say "[AUTO]hg push"; | |
169 | |
170 ($stdout,$stderr,$exit) = capture { | |
7
7d3faa099bc6
auto-Update generated slides by script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
6
diff
changeset
|
171 system('hg push'); |
8 | 172 }; |
173 | |
174 if ( $stderr ) { | |
4
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
175 say $stderr; |
8 | 176 croak "didn't commit"; |
177 } else { | |
178 say $stdout; | |
4
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
179 } |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
180 } |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
181 |
03ab44e80533
add make script
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
182 1; |