Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Installing and Running decksh/pdfdeck

Installing and Running decksh/pdfdeck

Anthony Starks

March 03, 2024

More Decks by Anthony Starks

Other Decks in Design


  1. Installing using go and git $ go install github.com/ajstarks/decksh/cmd/decksh@latest Install

    the latest version of decksh $ go install github.com/ajstarks/deck/cmd/pdfdeck@latest Install the latest version of pdfdeck $ git clone https://github.com/ajstarks/deckfonts $HOME/deckfonts Install fonts into $HOME/deckfonts $ decksh -help $ pdfdeck -help Do a test run of decksh and pdfdeck
  2. Installing decksh and pdfdeck binaries https://github.com/ajstarks/decksh/tree/master/cmd/decksh/binaries https://github.com/ajstarks/deck/tree/master/cmd/pdfdeck/binaries Pick your type,

    download, rename to 'decksh', place where your apps live. Pick your type, download, rename to 'pdfdeck', place where your apps live.
  3. Default Fonts Times times timesi timesi timesb timesbi Helvetica helvetica

    helveticai helveticab helveticabi Courier courier courieri courierb courierbi
  4. Alternative serif, sans, mono Charter Charter-Regular Charter-Italic Fira Sans FiraSans-Book

    FiraSans-Medium FiraSans-Regular Inconsolata Inconsolata-Regular Inconsolata-Bold Inconsolata-Medium Inconsolata-Condensed
  5. VSCode: Editor for Mac, Windows, and Linux decksh code with

    syntax highlighting Integrated terminal Status showing decksh mode
  6. VSCode setup copy this to your settings "editor.tokenColorCustomizations": { "textMateRules":

    [ { "scope": "keyword.other.command.decksh", "settings": { "foreground": "#AA0000" } }, ... } copy to .vscode/extensions/ajstarks.decksh-1.0.0 https://github.com/ajstarks/decksh/tree/master/vscode
  7. Sublime Text setup copy to dsh.sublime-build and dsh.sublime-syntax to Sublime

    user package directory, copy dpdfr to your PATH https://github.com/ajstarks/decksh/tree/master/sublime-text CTRL-B to build and display
  8. decksh command usage decksh example.dsh | pdfdeck ... decksh decksh

    in.dsh decksh -o out.xml decksh -o out.xml in.dsh decksh -version read from stdin, write to stdout read from file, write to stdout read from stdin, write to file read from file, write to file show version
  9. pdfdeck [options] inputfile Option -sans -serif -mono -symbol -pages -pagesize

    -grid -fontdir -outdir -stdout -author -title Default helvetica times courier zapfdingbats 1-1000000 Letter 0 $HOME/deckfonts Current directory false "" "" Description Sans Serif font Serif font Monospace font Symbol font Pages to output (first-last) Page size (w,h or Legal, Tabloid, A[3-5], ArchA, 4R, Index) Draw a grid at specified % (0 for no grid) Font directory Output directory Output to standard output Document author Document title
  10. command examples decksh -o file.xml file.dsh; pdfdeck file.xml process file.dsh

    to file.xml to file.pdf decksh file.dsh | pdfdeck -stdout - > output.pdf Pipe the output from decksh, making output.pdf pdfdeck -pagesize 1920,1080 -pages 10-20 -grid 5 file.xml render pages 10-20 to file.pdf, page size of 1920 (width) x 1080 (height) pixels, on a 5% grid pdfdeck -sans FiraSans-Regular -serif Charter-Regular -mono Inconsolata-Bold file.xml use FiraSans-Regular.ttf, Charter-Regular.ttf, and Inconsolata-Bold.ttf from the deckfonts directory echo file.dsh|entr -s 'decksh file.dsh|pdfdeck -stdout - > f.pdf; pkill -HUP mupdf' When file.dsh changes, make f.pdf, and refresh the viewer