- bin/md2pdf: converts .md to PDF via pandoc + headless Chrome (no LaTeX needed); writes alongside source, supports -o and --css - bin/md2pdf.css: clean GitHub-style default stylesheet - bin/md2pdf-install-quickaction: installs the Finder right-click action - macos/md2pdf.workflow: version-controlled Quick Action bundle (right-click .md files to Convert to PDF)
223 lines
5.5 KiB
XML
223 lines
5.5 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>AMApplicationBuild</key>
|
|
<string>521</string>
|
|
<key>AMApplicationVersion</key>
|
|
<string>2.10</string>
|
|
<key>AMDocumentVersion</key>
|
|
<string>2</string>
|
|
<key>actions</key>
|
|
<array>
|
|
<dict>
|
|
<key>action</key>
|
|
<dict>
|
|
<key>AMAccepts</key>
|
|
<dict>
|
|
<key>Container</key>
|
|
<string>List</string>
|
|
<key>Optional</key>
|
|
<true/>
|
|
<key>Types</key>
|
|
<array>
|
|
<string>com.apple.cocoa.string</string>
|
|
</array>
|
|
</dict>
|
|
<key>AMActionVersion</key>
|
|
<string>2.0.3</string>
|
|
<key>AMApplication</key>
|
|
<array>
|
|
<string>Automator</string>
|
|
</array>
|
|
<key>AMParameterProperties</key>
|
|
<dict>
|
|
<key>COMMAND_STRING</key>
|
|
<dict/>
|
|
<key>CheckedForUserDefaultShell</key>
|
|
<dict/>
|
|
<key>inputMethod</key>
|
|
<dict/>
|
|
<key>shell</key>
|
|
<dict/>
|
|
<key>source</key>
|
|
<dict/>
|
|
</dict>
|
|
<key>AMProvides</key>
|
|
<dict>
|
|
<key>Container</key>
|
|
<string>List</string>
|
|
<key>Types</key>
|
|
<array>
|
|
<string>com.apple.cocoa.string</string>
|
|
</array>
|
|
</dict>
|
|
<key>ActionBundlePath</key>
|
|
<string>/System/Library/Automator/Run Shell Script.action</string>
|
|
<key>ActionName</key>
|
|
<string>Run Shell Script</string>
|
|
<key>ActionParameters</key>
|
|
<dict>
|
|
<key>COMMAND_STRING</key>
|
|
<string># md2pdf Quick Action — convert each selected Markdown file to PDF.
|
|
# Files arrive as arguments ("$@") because inputMethod is set to 1.
|
|
tool="$HOME/bin/md2pdf"
|
|
[ -x "$tool" ] || tool="$HOME/dotfiles/bin/md2pdf"
|
|
|
|
ok=0
|
|
fail=0
|
|
for f in "$@"; do
|
|
case "$f" in
|
|
*.md|*.markdown|*.mdown|*.mkd)
|
|
if "$tool" "$f"; then
|
|
ok=$((ok + 1))
|
|
else
|
|
fail=$((fail + 1))
|
|
fi
|
|
;;
|
|
*)
|
|
# Skip anything that isn't Markdown.
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [ "$fail" -gt 0 ]; then
|
|
osascript -e "display notification \"$ok converted, $fail failed\" with title \"md2pdf\" sound name \"Basso\""
|
|
elif [ "$ok" -gt 0 ]; then
|
|
noun="files"
|
|
if [ "$ok" -eq 1 ]; then noun="file"; fi
|
|
osascript -e "display notification \"$ok $noun converted to PDF\" with title \"md2pdf\""
|
|
fi
|
|
</string>
|
|
<key>CheckedForUserDefaultShell</key>
|
|
<true/>
|
|
<key>inputMethod</key>
|
|
<integer>1</integer>
|
|
<key>shell</key>
|
|
<string>/bin/zsh</string>
|
|
<key>source</key>
|
|
<string></string>
|
|
</dict>
|
|
<key>BundleIdentifier</key>
|
|
<string>com.apple.RunShellScript</string>
|
|
<key>CFBundleVersion</key>
|
|
<string>2.0.3</string>
|
|
<key>CanShowSelectedItemsWhenRun</key>
|
|
<false/>
|
|
<key>CanShowWhenRun</key>
|
|
<true/>
|
|
<key>Category</key>
|
|
<array>
|
|
<string>AMCategoryUtilities</string>
|
|
</array>
|
|
<key>Class Name</key>
|
|
<string>RunShellScriptAction</string>
|
|
<key>InputUUID</key>
|
|
<string>2A1B3C4D-5E6F-4A7B-8C9D-0E1F2A3B4C5D</string>
|
|
<key>Keywords</key>
|
|
<array>
|
|
<string>Shell</string>
|
|
<string>Script</string>
|
|
<string>Command</string>
|
|
<string>Run</string>
|
|
<string>Unix</string>
|
|
</array>
|
|
<key>OutputUUID</key>
|
|
<string>3B2C4D5E-6F7A-4B8C-9D0E-1F2A3B4C5D6E</string>
|
|
<key>UUID</key>
|
|
<string>1A2B3C4D-5E6F-4A7B-8C9D-0E1F2A3B4C5E</string>
|
|
<key>arguments</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>default value</key>
|
|
<integer>0</integer>
|
|
<key>name</key>
|
|
<string>inputMethod</string>
|
|
<key>required</key>
|
|
<string>0</string>
|
|
<key>type</key>
|
|
<string>0</string>
|
|
<key>uuid</key>
|
|
<string>0</string>
|
|
</dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>default value</key>
|
|
<false/>
|
|
<key>name</key>
|
|
<string>CheckedForUserDefaultShell</string>
|
|
<key>required</key>
|
|
<string>0</string>
|
|
<key>type</key>
|
|
<string>0</string>
|
|
<key>uuid</key>
|
|
<string>1</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>default value</key>
|
|
<string></string>
|
|
<key>name</key>
|
|
<string>source</string>
|
|
<key>required</key>
|
|
<string>0</string>
|
|
<key>type</key>
|
|
<string>0</string>
|
|
<key>uuid</key>
|
|
<string>2</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>default value</key>
|
|
<string>/bin/sh</string>
|
|
<key>name</key>
|
|
<string>shell</string>
|
|
<key>required</key>
|
|
<string>0</string>
|
|
<key>type</key>
|
|
<string>0</string>
|
|
<key>uuid</key>
|
|
<string>3</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>default value</key>
|
|
<string></string>
|
|
<key>name</key>
|
|
<string>COMMAND_STRING</string>
|
|
<key>required</key>
|
|
<string>0</string>
|
|
<key>type</key>
|
|
<string>0</string>
|
|
<key>uuid</key>
|
|
<string>4</string>
|
|
</dict>
|
|
</dict>
|
|
<key>isViewVisible</key>
|
|
<integer>1</integer>
|
|
<key>location</key>
|
|
<string>309.000000:253.000000</string>
|
|
<key>nibPath</key>
|
|
<string>/System/Library/Automator/Run Shell Script.action/Contents/Resources/Base.lproj/main.nib</string>
|
|
</dict>
|
|
<key>isViewVisible</key>
|
|
<integer>1</integer>
|
|
</dict>
|
|
</array>
|
|
<key>connectors</key>
|
|
<dict/>
|
|
<key>workflowMetaData</key>
|
|
<dict>
|
|
<key>serviceInputTypeIdentifier</key>
|
|
<string>com.apple.Automator.fileSystemObject</string>
|
|
<key>serviceOutputTypeIdentifier</key>
|
|
<string>com.apple.Automator.nothing</string>
|
|
<key>serviceProcessesInput</key>
|
|
<integer>0</integer>
|
|
<key>workflowTypeIdentifier</key>
|
|
<string>com.apple.Automator.servicesMenu</string>
|
|
</dict>
|
|
</dict>
|
|
</plist>
|