/turbolinks-compatibility

A collection of tutorials for how to get your favorite javascript libraries, plugins, and snippets working with Turbolinks.

Primary LanguageCoffeeScriptMIT LicenseMIT

Turbolinks Compatibility

reed.github.com/turbolinks-compatibility


A collection of tutorials for how to get your favorite javascript libraries, plugins, and snippets working with Turbolinks.

All submissions are encouraged. To submit a change, fork this repo, commit your changes and send me a pull request.

Setup

The site is built with nanoc. Use bundler to install it along with the other necessary gems:

$ bundle install

You can see the available commands with nanoc:

$ nanoc -h

Check out the nanoc documentation to get started.

Ruby 1.9 is required to build the site.

Development

Nanoc compiles the site into static files living in ./output.

$ nanoc compile
Loading site data... done
Compiling site...
	create  [0.25s]  output/index.html
	create  [2.07s]  output/facebook.html
	create  [0.01s]  output/fancybox.html
	create  [0.01s]  output/google_analytics.html
	create  [0.03s]  output/map_generator.html
	create  [0.02s]  output/olark.html
	create  [0.01s]  output/stripe.html
	create  [0.02s]  output/twitter.html
	create  [0.00s]  output/css/bootstrap_custom.css
	create  [0.00s]  output/css/github.css
	create  [0.00s]  output/css/style.css
	create  [0.00s]  output/images/bg.gif

Site compiled in 2.47s.

To view the site, launch Webrick via nanoc:

$ nanoc view

If you get tired of manually compiling, use autocompile, which will launch the webserver and compile (or recompile) each file when you request it.

$ nanoc autocompile

Style Guide

The libraries folder contains a markdown file for each solution. There are a couple structural requirements for these files:

Page Title

The top of each file should include a nanoc title attribute declaration.

---
title: "Facebook"
---

This title will be used for the page's <title> element and the menu pane on the left side of the page.

Page Header

Begin the markup with a top-level header for the page header.

# Facebook Social Plugins

This element will receive special styling, as you can clearly see on the site.

All top-level headers in the markup will be wrapped inside a hero unit, so I recommend against using any after the page header.

Markdown

Markdown files are rendered with Redcarpet and the Github Flavored Markdown filter. Therefore, fenced code blocks with syntax highlighting are supported.

Deployment

The site is hosted with Github Pages.

After compiling the site, the contents of the ./output directory will be pushed to this repo's gh-pages branch.

Contributing

Having trouble getting a third-party javascript library to work with Turbolinks? Create an issue, and we'll see if we can come up with a solution together.

If you have a solution you would like added to the site, or know of a better way to implement an existing solution, submit a pull request for it. Please submit them to the master branch, not the gh-pages branch. After merging, I'll compile and deploy the site to gh-pages.