https://github.com/jamis/code_slide
Generate PDF/PNG slides from source code
https://github.com/jamis/code_slide
Last synced: 7 months ago
JSON representation
Generate PDF/PNG slides from source code
- Host: GitHub
- URL: https://github.com/jamis/code_slide
- Owner: jamis
- License: mit
- Created: 2017-01-15T20:07:11.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T21:49:42.000Z (over 1 year ago)
- Last Synced: 2025-07-26T18:50:24.746Z (10 months ago)
- Language: Ruby
- Size: 667 KB
- Stars: 12
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: MIT-LICENSE
Awesome Lists containing this 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:
```ruby
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:
```ruby
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:
```ruby
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):
```ruby
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):
```ruby
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 .