Code highlighting

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/perl

##############################################################################
#
use strict;

while(<@ARGV>) {
  my $my_dir = $_;
  die("$!") if (not -d $my_dir);
  chdir $my_dir or die("$!");
  #if (not -d "thumbs") {mkdir("thumbs") or die("$!");}

  my $my_ext_regex = "jpg|png|gif|svg";
  while (glob("*.jpg *.png *.gif")) {  # fix svg later
    my $my_pic = $_;
    next if $my_pic =~ m/-thumb\.($my_ext_regex)$/i;
    my ($my_ext) = ($my_pic =~ m/\.($my_ext_regex)$/i);
    my $my_thumb = "$my_pic";
    $my_thumb =~ s/\.($my_ext_regex)$/-thumb.\1/i;
    $my_ext =~ s/jpg$/jpeg/i;
    system("convert -define $my_ext:size=500x180 $my_pic -auto-orient -thumbnail 250x90 -unsharp 0x.5 $my_thumb \n");
  }

  my $our_cmd = "
  for file in *.jpg *.png *.gif *.svg; do
    if [ -e \$file ]; then
      set \$(identify \"\$file\")
      echo \$file \$3
    fi
  done
  ";
   
  open INPUT, "$our_cmd |" or die("$!");
  printf "{\{< heg-load-photoswipe >}\}\n";
  printf "{\{< heg-gallery title=\"$my_dir\" caption-effect=\"none\" hover-effect=\"grow\" >}\}\n";
  while(<INPUT>) {
    my ($my_file, $my_size) = split;
    next if $my_file =~ m/-thumb\.($my_ext_regex)$/i;
    printf "{\{< heg-figure thumb=\"%s\" link=\"%s\" size=\"%s\" >}\}\n", "-thumb", "/$my_dir$my_file", "$my_size";
  }
  printf "{\{< /heg-gallery >}\}\n";
  close INPUT;

}