All notable changes to this project will be documented in this file.
Starting with version 3, the major version of this project matches reveal.js's major version: 3.
Similar to http://semver.org, the minor of this project will bump when features are added,
Similar to http://semver.org, the patch of this project will bump when bugs are fixed.
- Nothing
- Nothing
- Nothing.
- Nothing
- The embedded reveal.js has been updated to version 3.7.0 to 3.9.2. There's some great stuff here and I think my favorite could be the step-by-step highlighting.
- All dependencies have been refreshed to recently released versions.
- Restrictions on dependencies have been loosened
- The reporting of code coverage to CodeClimate has been updated
- reveal-ck is now supported on ruby 2.5, 2.6, and 2.7.
- Heads Up! If you write slides in HAML, we're now using HAML 5.0
- Heads Up! If you write slides in Markdown, we're now using Kramdown 2
- Heads Up! If you write slides in Slim, we're now using Slim 4
- Thanks to @blimmer for pointing out the need to upgrade Haml and Rack, and for submitting his own and reading PR!
- Nothing.
- Nothing
- Nothing
- Update asset_root to sync with new Github URLs for emoji. Thanks @justin-vanwinkle! See See #102 for details.
- Nothing
- Modified reveal-ck to rebuild only when the slides file changes. Previously
it would build if anything underneath the current directory changed that
wasn't in
slides/
. Fixes #98. Thanks to @agate-pris for pointing this out.
- Make it so that reveal-ck takes the specified or implied output directory
into account when running
reveal-ck serve
. Fixes #99. Thanks to @agate-pris or testing!
- Nothing
- Upgraded reveal.js from v3.5.0 -> v3.7.0. Thanks @justin-vanwinkle!
- Nothing.
- Nothing
- Updated the version of rack
- Minor (shouldn't have a functional impact) tweaks to source
- reveal-ck serve no longer shows
error: undefined method
sub' for nil:NilClass` when no slides file is present. This fixes #80.
- Any file ending in *.js in the js/ directory will now be added as a <script> tag.
- Any file ending in *.js in the plugin/ directory will now be configured to be a reveal.js plugin.
- Putting these two items together: reveal-ck now supports reveal.js plugins.
- Nothing
- Nothing.
- Nothing
- The embedded version of reveal.js has been updated to version 3.5.0. See https://github.com/hakimel/reveal.js/releases/tag/3.5.0 for details.
- Nothing.
-
By default, the value now supports http://ogp.me/. This is configurable.
Additionally, it is now possible to supply s with properties and names by putting entries into the config.yml.
Big thanks to @sue445 without which this wouldn't have happened.
See #82 for details.
- Nothing
- Nothing.
- Nothing
- Upgraded several libraries to more recent versions.
- Dropped support for older versions of ruby: 2.0.x and 2.1.x.
- Nothing.
- When running
reveal-ck serve
, you can now specify the host you'd like to use.reveal-ck
still defaults to localhost, but you can supply values like 0.0.0.0. See #79 for details.
- Nothing
- Nothing.
-
You can now use Markdown in slide notes. See #68 for details.
-
kramdown is the new markdown rendering engine. It replaces redcarpet. The primary rationale is to provide an extension within markdown that supports specifying classes to rendered HTML elements. See #71 for details.
- WEBrick is now started with the "DoNotReverseLookup" flag. See #70 for details.
- Nothing.
- Nothing.
- Slight tweaks to please Rubocop.
- Using new version of html-pipeline
- Previously, you could not generate files into a directory with a
character such as
+
. Now you can.
- This project now provides a RakeTask that you can use to generate slides. See features/rake_task.feature for usage.
-
The travis build infrastructure now contains 2.0.0, 2.1.x, and 2.2.x.
-
Upgrading the listen gem should eliminate #58.
-
Upgrading the html-pipeline gem should change the nokogiri gem, which should eliminate #33.
-
The gems that reveal-ck requires have been upgraded to the latest ones available as of September 2015. Gems needed as runtime dependencies have been locked, and Gems needed for development dependencies have been constrained to supply a modern development environment.
-
Generated slides used to be put in
slides/
unless you supplied the--dir
option. Now, if you're using a--file
option and your slides are namedgreat_talk.md
your generated slides will be in a directory of a similar name:great_talk/
. See features/generate-with-alt-dir.feature for info.
-
:emoji: are now properly aligned. Previously, they looked ok in an
h1
, but looked progressively worse as line-height got smaller-- say, in a<p>
. They were vertically "off." Thanks @kbrock! -
rubocop warnings and erroneous error messages regarding tilt were eliminated. Thanks @kbrock!
This release allows you to supply a new configuration option in your
config.yml
: requires
This configuration option is list of things that will be required in
when creating a presentation. It has been most useful for pulling in
HTML::Pipeline::Filter
s that are configured via the filters
in the
same config.yml
.
It also supplies a bug fix for #45, in which font files were missing, and 404s were being returned.
There was also a fix for some erroneous output when running specs.
Big thanks to @kbrock!
This release allows you to add a description to your configuration, and this description will appear in the generate slides as a tag.
This release upgraded all dependencies to their latest, locked them at that version, and made slight tweaks to ensure that reveal-ck worked with them.
The version locking is based on the idea that bugs were coming up that were likely do to the range of libraries reveal-ck "could probably" work with (but it couldn't quite work with them), and the fact that there wasn't much benefit from trying to work with more than what we needed.
Guard was the "most difficult" upgrade because of how its API changed, so there may be some lurking issues.
It also dropped support for textile. This came in over 2 years ago, but, I've never heard of anyone using it (or being psyched to know it was an option).
This release makes it so that the presentations generated by reveal-ck match up with the 3.0.0 release of reveal.js. For example-- the new default theme is "black," and the "white" theme is now available.
See https://github.com/hakimel/reveal.js/releases/tag/3.0.0 for details. It's so cool.
This is a fix for Issue #32.
reveal-ck now escapes HTML characters in markdown code snippets.
Thanks to @skirino for both reporting the issue and fixing it!
When using markdown, emoji with two underscores wasn't being handled correctly. Same issue impacted two emoji, each with a single underscore, on the same line.
This is a fix for Issue #21.
In short, you can now write something like this:
Item | Value | Quantity
------------- | ------------- | ---------
Apples | $1 | 18
Lemonade | $2 | 20
Bread | $3.50 | 2
And reveal-ck should turn it into a table and apply the latest reveal.js styling to it.
People have long asked for a notation within Markdown that supports vertical slides.
This is now possible, and an ***
gets things going.
The latest version of a dependent library switched an api invocation
from asynchronous to asynchronous, and so reveal-ck serve
started
hanging.
Running the reveal-ck serve
command used to just run a
webserver. It now also provides two more pieces of functionality:
- It listens for file system changes, and if it sees them, it rebuilds your slides.
- When your slides are rebuilt, it reloads your browser.
No browser plugins required!
This is only possible due to:
- [guard-livereload][https://github.com/guard/guard-livereload/]
- [rack-livereload][https://github.com/johnbintz/rack-livereload/]
- [listen][https://github.com/guard/listen]
You can now create "vertically tight" slide content.
The description and version are now back if you type reveal-ck --help
reveal-ck 0.4.0 was locked on html-pipeline 1.8, and this stopped working when 1.9 came out. And so, this change locks us onto 1.9. We'll see how often this happens..
It's now 2.0 and 2.1.
You can now use a triple-fenced code block with "note" or "notes" within markdown and instead of being code.. what you put within the "note" will appear as a speaker note.
See generate-with-markdown.feature.
You can now type 👍 within a slide and it'll display as emoji.
See emoji.feature.
When you write out a URL like "http://github.com/" it'll be transformed into an actual link.
See auto-link.feature.
When you write out @jedcn within a slide, it'll become a link to that users page on github.com (https://github.com/jedcn).
See mention.feature.
If you have a reveal.js presentation, and you'd like to tweak some
CSS, create a directory named css/
and put your tweaks into a css
file in that directory. The file you create will automatically be
included in your presentation and <link>
ed to.
See generate-with-css.feature.
Any files in the media/
directory are now included in your
presentation.
See generate-with-media.feature.
Any files in the js/
directory are now included in your
presentation.
You can now create slides using vanilla HTML.
See generate-with-html.feature.
You can now create slides using HTML and erb.
See generate-with-erb.feature.
You can now supply the standard reveal.js configuration options in
config.yml
Add a top level revealjs_config
and then use the key/values that
reveal.js expects. For example:
revealjs_config:
autoSlide: 5000
loop: true
See generate-with-initial-js-options.feature.
It is now: 131c0068.
You can find the results here:
https://www.relishapp.com/jedcn/reveal-ck/
It is now: 8b8cc607.
You can now create slides with textile. Supply a slides.textile
and
run reveal-ck generate
.
Some aspects of reveal.js only function when the reveal.js files are
retrieved from a webserver. The most important example of this are the
"Speaker Notes." You can now run reveal-ck serve
(or reveal-ck server
) to start up a webserver, and then press "s" to see Speaker
Notes.
reveal-ck generate now prints out a simple message when generate slides. This message indicates which "slides file" is being processed. Was getting confused with the growing number of file types and ability to select a file explicitly.
You can now create slides with markdown. Previously, you created
slides with haml, slim, or ruby. You'd create a slides.haml
,
slides.slim
, or a slides.rb
and then run reveal-ck generate
. You
can now create a slides.md
and do the same.
It's the markdown you'd expect with one exception: you separate slides
with ---
.
Previously, I thought height and width were required. If you know them, you should add them, but reveal.js just "front-end magic" to make things ok. If you don't include them, and your first slide is an image, I think you'll experience a jump of content as the image resizes to appropriate dimensions.
Previously, most dependency requirements were written in such a way that we wouldn't work with new minor releases.
Now they are written so that we accept anything that's backwards compatible.
The central configuration file is now config.yml
instead of
config.toml
.
It is now: 9da292.
There was an issue where optins like "author" or "title" weren't being respected when set in the DSL.
Further, config.toml settings used to always take precedence over the DSL. No longer.
Whether in config.toml or the DSL, you can now supply "transition" to impact how the slides change.
You can now explicitly call out the name of your slides file. It used
to have to be one of: slides.haml
, slides.slim
, or
slides.rb
. Pass in --file
ala: reveal-ck generate --file /tmp/my_slides.haml
A helper function, contents_of
is now available to be invoked in
slim and haml templates, and in the ruby dsl.
This function takes a single argument, normally a relative path, and inlines the text returned by reading that file.
This lets you keep things like code-snippets in a "code/" directory.
The template named "title" has been renamed to "intro".
The "DSL" around presentations and slides has changed slightly. There's now a top level "presentation do" at the top of it all, ala:
presentation do
end
I've started using SimpleCov, Cane, Reek, Rubocop, and CodeClimate to motivate towards simplicity. Examples include:
- Adding Basic Documentation for each Class (Cane)
- Eliminating areas of code that were unused (SimpleCov)
- Simplifying larger methods (CodeClimate, Reek)
- Adhering to basic Style Guide standards (rubocop)
The beginnings of a slide "DSL" is in the works, and you can now
create a slides.rb
instead of a slides.haml
or a slides.slim
The class 'Slide' doesn't know about specific HTML content, and instead provided a reference to a template (slim, haml) when it is creatd. You can supply your own templates, but reveal-ck (the gem) provies several common ones for a title screen, an image slide, a quote slide, a code slide, and a text slide.
Classes like 'Slide' and 'Presentation' have been introduced and you
can use these to create a slide deck. See
examples/programmatic-slides.rb
for an example.
You can now author slides in either Slim or Haml. Choose which by
supplying a slides.haml
or a slides.slim
.
Via a config file, you can now:
- Use a theme other than the default
- Supply a
<title>
for your slides - Supply
<meta/>
author information
To achieve this, create a config.toml in the same directory as your slides.haml. The contents should look like:
author = "Your Name"
title = "Your Presentation's Name"
[presentation]
theme = "night"
You can now supply slide content via markdown (in haml..). It looks like:
%section
:markdown
# Hey Now
## Alright
reveal-ck works by unpacking an embedded version of reveal.js when creating slides. In prior versions, this was locked at a commit dating to January 2013. It's now been updated to around the end of June 2013.
In short, it was: f3b488. And now it is: 7d19b4.
- Avoid 'desc is not a method' error when running reveal-ck generate. There was an unexpected interaction between Rake and GLI 2.7.
- Additional Documentation
- Swapped out .rvmrc for .ruby-version
- Moved from Jeweler to Bundler for Gem Management
- Move generated slides.html to slides/slides.html