CLI¶
CLI stands for command-line interface. It's a technical way of saying this program doesn't have a graphical interface like a website or a traditional desktop application. Instead, you use a program like Apple's Terminal or another terminal emulator, such as iTerm2.
Prerequisites¶
macOS
Tested with 10.15.7
(Catalina) to 12.2.1
(Monterey)
Note
If you don't have Libre Office installed, SVGtoPPT can install it for you
Install¶
Install via command line by using macOS Terminal or a terminal emulator. Below you'll find commands for the latest version, but feel free to change "latest" to whichever version you want.
Do you have Libre Office installed?
SVGtoPPT can install Libre Office it for you.
Install command:
version="latest"; curl -s "https://raw.githubusercontent.com/SVGtoPPT/svgtoppt/$version/src/install_svgtoppt.sh" | bash -s -- -i complete
If you want to install Libre Office yourself you can download it from their website or use Homebrew:
brew install --cask libreoffice
Install command:
version="latest"; curl -s "https://raw.githubusercontent.com/SVGtoPPT/svgtoppt/$version/src/install_svgtoppt.sh" | bash -s -- -i basic
Usage¶
$ svgtoppt [PATH_TO_SVG_FILE]
- Workflow will work in the background and open the new PPT file in Keynote when finished
- Select all vectors
Ctrl
+A
- Copy (
Ctrl
+C
) and paste (Ctrl
+V
) shapes to other Keynote presentations
Examples¶
svgtoppt ~/Desktop/logo.svg
# The entire path isn't required if the SVG file is in your current working directory
cd ~/Desktop
svgtoppt logo.svg
Customization¶
If the standard configuration doesn't fit your workflow, that's ok! You can use flags to specify single-use functionality or change the defaults.
Flags¶
Long Flag | Short Flag | Default Value | Description |
---|---|---|---|
‑‑input | -i |
none; required | Filepath of the SVG file or directory to be converted |
‑‑template_ppt | -t |
~/svg-to-keynote/template.ppt |
Filepath of the template PPT |
‑‑output_directory | -o |
~/svg-to-keynote/Output |
Filepath of the directory where PPT files are output |
‑‑ppt_name | -p |
the name of the SVG file (e.g. my_logo.svg becomes my_logo.ppt ) |
The name of the PPT file that is output |
‑‑force_ppt | -f |
false |
false : creates a new, unique PPT file each time a command is runtrue : makes it idempotent; has the potential to overwrite an existing PPT file |
‑‑where_to_open | -w |
keynote |
Where the PPT file is opened in after it's created Options Don't open: none Apple Keynote: keynote Microsoft PowerPoint: power Libre Office: libre Apache OpenOffice: oo |
‑‑quiet | -q |
false |
Quiet mode to prevent output |
Examples¶
# The -i flag is required in all requests
svgtoppt -i ~/Desktop/logo.svg
svgtoppt --input=~/Desktop/logo.svg
# The entire path isn't required if the SVG file is in your current working directory
cd ~/Desktop
svgtoppt -i logo.svg
svgtoppt --input=logo.svg
# Pass in a directory and the PPT file will have a slide for each SVG file found
svgtoppt -i ~/Desktop/logos
svgtoppt --input=~/Desktop/logos
# Use a custom template PPT file
svgtoppt -i logo.svg -t ~/Documents/blake_template.ppt
svgtoppt --input=logo.svg --template_ppt=~/Documents/blake_template.ppt
# Save all your new PPT files to your desktop for easy access
svgtoppt -i logo.svg -o ~/Desktop
svgtoppt --input=logo.svg --output_directory=~/Desktop
# By default the output would be logo.ppt; here we can give it another name
svgtoppt -i logo.svg -p amazing_logo
svgtoppt --input=logo.svg --ppt_name=amazing_logo
# The -p flag works with or without the PPT extension (".ppt")
svgtoppt -i logo.svg -p amazing_logo.ppt
svgtoppt --input=logo.svg --ppt_name=amazing_logo.ppt
# This request ran twice creates 2 files: logo.ppt and logo-1.ppt
svgtoppt -i logo.svg -f false
svgtoppt --input=logo.svg --force_ppt=false
# This request ran twice creates 1 file (logo.ppt) that gets overwritten once (first one is not recoverable)
svgtoppt -i logo.svg -f true
svgtoppt --input=logo.svg --force_ppt=true
# Creates the PPT file without opening it
svgtoppt -i logo.svg -w none
svgtoppt --input=logo.svg --where_to_open=none
# Creates the PPT file and opens it in Microsoft PowerPoint
svgtoppt -i logo.svg -w power
svgtoppt --input=logo.svg --where_to_open=power
# Request will work silently without output unless there's a failure/error
svgtoppt -i logo.svg -q
svgtoppt --input=logo.svg --quiet
Defaults¶
Save¶
Add the --save_def
flag (-s
) to save the other flags on the current request as your defaults.
# Saves defaults for input="$PWD/logo.svg" and where_to_open="none"
svgtoppt -i logo.svg -w none -s
svgtoppt --input=logo.svg --where_to_open=none --save_pref
# Want to run the same request again? With a saved default for input, you don't have to pass in anything
svgtoppt
# If you want to save defaults without running a conversion, that's supported too
svgtoppt -i logo.svg -w none -s -x
svgtoppt --input=logo.svg --where_to_open=none --save_pref --stop_creations
Note
Explicitly passed in parameters receive higher priority than the corresponding defaults.
Example:
# If you have a default where_to_open=libre it gets ignored by this request and Keynote will open
svgtoppt --input=logo.svg --where_to_open=keynote
Reset¶
You can easily reset all your defaults back to the ones listed above.
svgtoppt reset_def
Notes¶
- Feel free to edit
template.ppt
to your liking; it's a 4K (53.33" x 30.00") blank presentation