github_exporter

Gem Version Dependency Status Code Climate

Export/print content of a given github repository (or local project directory) to single pdf for quick review offline.

Requirements

Installation

gem install github_exporter

Synopsis/Usage

Usage:

  $github_exporter -e, --exts=EXT1 EXT2 EXT3 -u, --url=URL -theme=theme_name

Example:

  # Export the *.rb from the given repository

  $github_exporter -e rb -u https://github.com/agilecreativity/filename_cleaner.git

  # Export the *.rb and also 'Gemfile' from a given directory 'filename_cleaner'
  # Note: must be one directory directly relative to current directory

  $github_exporter -e rb -f Gemfile -u filename_cleaner

  # Export the *.rb and also 'Gemfile' from a given directory 'filename_cleaner'
  # using 'solarized' theme
  # Note: must be one directory directly relative to current directory

  $github_exporter -e rb -f Gemfile -u filename_cleaner -t solarized

Options:

  -u, --url=URL                   # The full url of the github project to be cloned

  -e, --exts=EXT1 EXT2 EXT3 ..    # The list of extension names to be exported
                                  # e.g. -e md rb java

  -f, [--non-exts=one two three]  # The list of file without extension to be exported
                                  # e.g. -f Gemfile LICENSE

  -t, [--theme=theme_name]        # The theme to be used with vim_printer see :h :colorscheme from Vim
                                  # default: 'default'
                                  # e.g. -t solarized

Export a given URL or project to a single pdf file

Sample Usage:

github_exporter -u https://github.com/agilecreativity/github_exporter.git -e rb

Should result in something similar to this in the console

git clone https://github.com/agilecreativity/github_exporter.git ./github_exporter
FYI: list of extensions: ["gemspec", "md", "pdf", "png", "rb"]
FYI: list of all files : ["./lib/github_exporter.rb", "./lib/github_exporter/cli.rb", "./lib/github_exporter/exporter.rb", "./lib/github_exporter/github_exporter.rb", "./lib/github_exporter/logger.rb", "./lib/github_exporter/version.rb", "./test/lib/github_exporter/test_github_exporter.rb", "./test/test_helper.rb"]
Your input options for VimPrinter : ["print", "--base-dir", "./github_exporter", "--exts", ["rb"], "--theme", "default", "--recursive"]
FYI: process file 1 of 8 : ./lib/github_exporter.rb
FYI: process file 2 of 8 : ./lib/github_exporter/cli.rb
FYI: process file 3 of 8 : ./lib/github_exporter/exporter.rb
FYI: process file 4 of 8 : ./lib/github_exporter/github_exporter.rb
FYI: process file 5 of 8 : ./lib/github_exporter/logger.rb
FYI: process file 6 of 8 : ./lib/github_exporter/version.rb
FYI: process file 7 of 8 : ./test/lib/github_exporter/test_github_exporter.rb
FYI: process file 8 of 8 : ./test/test_helper.rb
Your output file is './github_exporter/vim_printer_github_exporter.tar.gz'
Convert file 1 of 9 : ./index.html
Convert file 2 of 9 : ./lib/github_exporter.rb.xhtml
Convert file 3 of 9 : ./lib/github_exporter/cli.rb.xhtml
Convert file 4 of 9 : ./lib/github_exporter/exporter.rb.xhtml
Convert file 5 of 9 : ./lib/github_exporter/github_exporter.rb.xhtml
Convert file 6 of 9 : ./lib/github_exporter/logger.rb.xhtml
Convert file 7 of 9 : ./lib/github_exporter/version.rb.xhtml
Convert file 8 of 9 : ./test/lib/github_exporter/test_github_exporter.rb.xhtml
Convert file 9 of 9 : ./test/test_helper.rb.xhtml
Convert files to pdfs took 2.324978936 ms
Your final output is './github_exporter_tmp/github_exporter/html2pdf_github_exporter.tar.gz'
Create pdfmarks took 0.027517634 ms
Combine pdf files took 0.763918867 ms
Your combined pdf is available at ./github_exporter_tmp/github_exporter/pdfs2pdf_github_exporter.pdf
Your final output is ./github_exporter.pdf

Sample Output

Using the 'default' theme/colorscheme for Vim

github_exporter -u https://github.com/agilecreativity/github_exporter.git --exts rb

Which generated the following pdf output file

The example screenshot:

Use non-default colorscheme/theme for Vim

Use seoul256 colorscheme

github_exporter -u https://github.com/agilecreativity/github_exporter.git --exts rb --theme seoul256

Which generated the following pdf output file

The example screenshot:

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request