From 1cc7ae03e36204d165a8b77b9119a31fe90d7cfc Mon Sep 17 00:00:00 2001 From: Dmitry Rodionov Date: Mon, 9 Oct 2023 17:49:49 +0400 Subject: [PATCH 1/2] Replace absoluteRect() with frame() which returns the exact same value for artboards absoluteRect() has been unavailable since Sketch 97 --- PDF Export.sketchplugin/Contents/Sketch/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PDF Export.sketchplugin/Contents/Sketch/main.js b/PDF Export.sketchplugin/Contents/Sketch/main.js index 4d9f204..c562db6 100755 --- a/PDF Export.sketchplugin/Contents/Sketch/main.js +++ b/PDF Export.sketchplugin/Contents/Sketch/main.js @@ -192,7 +192,7 @@ function exportArtboards(artboards, outputName) { newExportFormat.name = '' newExportFormat.format = 'png' - var rect = artboard.absoluteRect().rect() + var rect = artboard.frame().rect() if (sketchVersionNumber() < 790) { From 477ede5cf4fc8eee982fddb3c11416cbbe349f1e Mon Sep 17 00:00:00 2001 From: Dmitry Rodionov Date: Thu, 4 Apr 2024 13:53:55 +0400 Subject: [PATCH 2/2] Fix sketchVersionNumber() to support integral version numbers (e.g. 99, 100) --- PDF Export.sketchplugin/Contents/Sketch/main.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/PDF Export.sketchplugin/Contents/Sketch/main.js b/PDF Export.sketchplugin/Contents/Sketch/main.js index c562db6..7b08f80 100755 --- a/PDF Export.sketchplugin/Contents/Sketch/main.js +++ b/PDF Export.sketchplugin/Contents/Sketch/main.js @@ -299,14 +299,16 @@ function alertNoArtboards(message) { // Return the version number for sketch — turned into a single integer -// e.g. '3.8.5' => 385, '40.2' => 402 +// e.g. '3.8.5' => 385, '40.2' => 402, '100' => 1000, '101.2' => 1012 function sketchVersionNumber() { var version = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleShortVersionString") var versionNumber = version.stringByReplacingOccurrencesOfString_withString(".", "") + "" - while (versionNumber.length != 3) { - versionNumber += "0" + if (versionNumber.length === version.length()) { + // Account for version numbers without a decimal part (e.g. '99', '100', etc) + return 10 * parseInt(versionNumber) + } else { + return parseInt(versionNumber) } - return parseInt(versionNumber) } // Return a JSON object from a file path