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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79 
     | 
    
      # File 'src/ruby/image-bot-repl.rb', line 17
def self.perform_update()
    STDERR.puts ">>> Refreshing uploaded images!"
    file_count = 0
    start_time = Time.now
        paths = Dir['/raw/uploads/images/*'].sort
    paths.each do |path|
        tag = File.basename(path).split('.').first
        last_jpg_path = path
        (GEN_IMAGE_WIDTHS.reverse + [:p]).each do |width|
            jpg_path = File.join("/gen/i/#{tag}-#{width}.jpg")
            unless File.exist?(jpg_path)
                STDERR.puts jpg_path
                if width == :p
                    system("convert -auto-orient -set colorspace RGB  \"#{last_jpg_path}\" -blur 0x8 -quality 85 -sampling-factor 4:2:0 -strip \"#{jpg_path}\"")
                else
                    system("convert -auto-orient -set colorspace RGB  \"#{last_jpg_path}\" -resize #{width}x\\> -quality 85 -sampling-factor 4:2:0 -strip \"#{jpg_path}\"")
                end
                file_count += 1
            end
            webp_path = File.join("/gen/i/#{tag}-#{width}.webp")
            unless File.exist?(webp_path)
                STDERR.puts webp_path
                system("cwebp -quiet \"#{jpg_path}\" -q #{webp_path.include?('-b') ? 100 : 85} -o \"#{webp_path}\"")
                file_count += 1
            end
            last_jpg_path = jpg_path
        end
    end
    end_time = Time.now
    STDERR.puts sprintf("<<< Finished refreshing uploaded images in %1.2f seconds, wrote #{file_count} files.", (end_time - start_time).to_f)
    STDERR.puts '-' * 59
    STDERR.puts ">>> Refreshing background images!"
    file_count = 0
    start_time = Time.now
        paths = Dir['/gen/bg/*.svg'].sort
    paths.each do |svg_path|
        tag = File.basename(svg_path).split('.').first
        png_path = "/gen/bg/#{tag}.png"
        jpg_path = "/gen/bg/#{tag}.jpg"
        jpg_512_path = "/gen/bg/#{tag}-512.jpg"
        unless File.exist?(png_path)
            STDERR.puts "Creating #{png_path}..."
            system("inkscape --export-filename=#{png_path} #{svg_path}")
            file_count += 1
        end
        unless File.exist?(jpg_path)
            STDERR.puts "Creating #{jpg_path}..."
            system("convert #{png_path} #{jpg_path}")
            file_count += 1
        end
        unless File.exist?(jpg_512_path)
            STDERR.puts "Creating #{jpg_512_path}..."
            system("convert #{jpg_path} -resize 512x #{jpg_512_path}")
            file_count += 1
        end
    end
    end_time = Time.now
    STDERR.puts sprintf("<<< Finished refreshing background images in %1.2f seconds, wrote #{file_count} files.", (end_time - start_time).to_f)
    STDERR.puts '-' * 59
end
     |