Introducing CodeFollow
CodeFollow is a tool that allows developers to create interactive code presentations and then share them with large user groups.
How It Works
It's fairly easy to setup a CodeFollow presentation. First, a developer creates an index
file that lays out how the order the presentation should be displayed. Each slide can be an external markdown file or just written inline.
A developer can also customize the theme of the presentation by providing their own css
file.
index The presentation structure
[title JavaScript Basics] # allows for custom presentation themes [theme style.css] # display a handful of slides using Markdown [slide introduction.md] [slide about_javascript.md] [slide declaring_variables.md] # executes the test in the 'declaring_variables' directory [test declaring_variables] # show the current rankings [rankings] # then wrap up [slide conclusion.md]
Adding Tests
Tests are a little more difficult to create and depends a lot on the language you're using. For example, if youre writing tests for a JavaScript
presentation, you use Jasmine
style tests.
For example, this was a test for checking if a user declared variables correctly.
// I'm still learning Jasmine, there are probably better // ways to do some of these thing describe('variable `a`', function() { it('should should exist', function() { expect ('a' in window ).toBe( true ); }); it('it should equal to `3`', function() { expect( a === 3 ).toBe( true ); }); }); describe('variable `b`', function() { it('it should exist', function() { expect ('b' in window ).toBe( true ); }); it('variable `b` should equal to `false`', function() { expect( b === false ).toBe( true ); }); }); describe('variable `c`', function() { it('it should exist', function() { expect ( 'c' in window ).toBe( true ); }); it('it should equal to `name`', function() { expect( c ).toBe( 'name' ); }); });
So far, CodeFollow is targeted more towards JavaScript, HTML and CSS testing, but some simple support for Ruby
is available (but needs a lot of works still)
What's Next?
I've only used CodeFollow for my own presentations, but I might release it for others to use before long. If you have any questions, feel free to contact me and I'll try my best to answer them.
July 4, 2013
Introducing CodeFollow
Introducing a new project I've been working on called CodeFollow