Project

code_slide

0.0
No commit activity in last 3 years
No release in over 3 years
A library for turning code snippets into slides. Automatically turn your source code into syntax-highlighted PDFs and PNGs. Take the tedium out of building your presentation's slide deck!
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

~> 1.1
~> 1.6
~> 2.1
 Project Readme

CodeSlide

A library for turning code snippets into slides. Automatically turn your source code into syntax-highlighted PDFs and PNGs. Take the tedium out of building your presentation's slide deck!

Installation

If you want to be able to automatically generate PNG files, you'll need to have GhostScript installed (https://ghostscript.com/).

Aside from that, installation is as easy as:

$ gem install code_slide

And you're good to go!

Usage

Look in the examples directory for some demonstrations of CodeSlide. In brief, though, it works like this:

require 'code_slide'

snippet = CodeSlide::Snippet.new(<<-RUBY, lang: :ruby)
1.upto(100) do |n|
  print 'Fizz' if (n % 3).zero?
  print 'Buzz' if (n % 5).zero?
  puts if (n % 3).zero? || (n % 5).zero?
end
RUBY

snippet.make_pdf('snippet.pdf')

You can also source your snippet from a file directly, even specifying which range of lines you want to use:

snippet = CodeSlide::Snippet.from_file('fizz-buzz.rb', start: 5, finish: 15)
snippet.make_pdf('snippet.pdf')

If you have a (TTF) font you want to use, you can specify the different faces in the family, and instruct CodeSlide to use them:

snippet = CodeSlide::Snippet.from_file('fizz-buzz.rb', start: 5, finish: 15)
snippet.use_font('myfont-regular.ttf',
                 bold: 'myfont-bold.ttf',
                 italic: 'myfont-italic.ttf',
                 bold_italic: 'myfont-bold-italic.ttf')
snippet.make_pdf('snippet.pdf')

You can choose between the "light" and "dark" themes (or make your own):

snippet = CodeSlide::Snippet.from_file('fizz-buzz.rb', theme: :dark)
snippet.make_pdf('dark-snippet.pdf')

And if you want to generate a PNG directly, you can do that too (though again, you need to have GhostScript installed):

snippet.make_png('snippet.png')

License

This software is released under the terms of the MIT license. See the MIT-LICENSE for full details.

Author

This software is written and distributed by Jamis Buck jamis@jamisbuck.org.