code: func buildParams(options *ImageOptions) ([]string, error) {
  	a := []string{}
  
  	if options.Input == "" {
  		return []string{}, errors.New("Must provide input")
  	}
  
  	// silence extra wkhtmltoimage output
  	// might want to add --javascript-delay too?
  	a = append(a, "-q")
  	a = append(a, "--disable-plugins")
  
  	a = append(a, "--format")
  	if options.Format != "" {
  		a = append(a, options.Format)
  	} else {
  		a = append(a, "png")
  	}
  
  	if options.Height != 0 {
  		a = append(a, "--height")
  		a = append(a, strconv.Itoa(options.Height))
  	}
  
  	if options.Width != 0 {
  		a = append(a, "--width")
  		a = append(a, strconv.Itoa(options.Width))
  	}
  
  	if options.Quality != 0 {
  		a = append(a, "--quality")
  		a = append(a, strconv.Itoa(options.Quality))
  	}
  
  	// url and output come last
  	if options.Input != "-" {
  		// make sure we dont pass stdin if we aren't expecting it
  		options.Html = ""
  	}
  
  	a = append(a, options.Input)
  
  	if options.Output == "" {
  		a = append(a, "-")
  	} else {
  		a = append(a, options.Output)
  	}
  
  	return a, nil
  }
docs: // buildParams takes the image options set by the user and turns them into command flags for wkhtmltoimage
  // It returns an array of command flags.