|
42 | 42 | -- Wrap calls to drawio in xvfb-run. Note that --no-sandbox has to be the last argument.
|
43 | 43 | -- https://github.com/jgraph/drawio-desktop/issues/249
|
44 | 44 | function drawio(source, dest)
|
| 45 | + print(string.format('converting %s using drawio...', source)) |
45 | 46 | if not runCommandSuppressOutput(string.format("xvfb-run -a drawio -x -f pdf -o %s %s --no-sandbox 2>&1", dest, source)) then
|
46 |
| - print(string.format('failed to convert %s to %s using drawio, falling back to letting latex try to pick it up', img.src, new_filename)) |
| 47 | + print(string.format('failed to convert %s to %s using drawio, falling back to letting latex try to pick it up', source, dest)) |
47 | 48 | return false
|
48 | 49 | end
|
49 | 50 | return true
|
50 | 51 | end
|
51 | 52 |
|
52 | 53 | function imagemagick(source, dest)
|
| 54 | + print(string.format('converting %s using imagemagick...', source)) |
53 | 55 | if not runCommandSuppressOutput(string.format("convert -density 300 %s %s 2>&1", source, dest)) then
|
54 |
| - print(string.format('failed to convert %s to %s using imagemagick, falling back to letting latex try to pick it up', img.src, new_filename)) |
| 56 | + print(string.format('failed to convert %s to %s using imagemagick, falling back to letting latex try to pick it up', source, dest)) |
55 | 57 | return false
|
56 | 58 | end
|
57 | 59 | return true
|
58 | 60 | end
|
59 | 61 |
|
60 |
| -local converters = { |
61 |
| - ['.drawio'] = drawio, |
62 |
| - ['.drawio.svg'] = drawio, |
63 |
| - ['.jpg'] = imagemagick, |
64 |
| - ['.png'] = imagemagick, |
65 |
| - ['.svg'] = imagemagick |
66 |
| -} |
67 |
| - |
68 | 62 | function string:hassuffix(suffix)
|
69 | 63 | return self:sub(-#suffix) == suffix
|
70 | 64 | end
|
71 | 65 |
|
72 | 66 | function converterFor(filename)
|
73 |
| - for suffix, handler in pairs(converters) do |
74 |
| - if filename:hassuffix(suffix) then |
75 |
| - return handler |
76 |
| - end |
| 67 | + if filename:hassuffix('.drawio') or filename:hassuffix('.drawio.svg') then |
| 68 | + return drawio |
| 69 | + end |
| 70 | + if filename:hassuffix('.jpg') or filename:hassuffix('.png') or filename:hassuffix('.svg') then |
| 71 | + return imagemagick |
77 | 72 | end
|
78 | 73 | return nil
|
79 | 74 | end
|
|
0 commit comments