The jQuery Learning Site
The goal of this site is twofold:
- To remain a timely, vibrant, and community-driven reference with a low barrier to contribution.
Much of the initial content - and spirit - comes from jQuery Fundamentals, an open-source book about jQuery, originally written by Rebecca Murphey and released in 2010. In 2011, Rebecca bequeathed the book unto the jQuery Project to serve as the foundation for this site.
How This Site Works
This site's core content consists of Markdown files. We use nanoc, a Ruby-based static site generator, to process these files for previewing. For production on learn.jquery.com, a node.js script post-processes the nanoc results and puts them into the learning section of the jQuery Wordpress network.
All of the content lives inside of the subdirectories of the
content directory. Each of these subdirectories is considered a category, and contains one or more articles. Each category also contains a
dex.md file that contains the category's human-readable title and an overview, which will appear on the category's landing page.
order.yml file controls the order that categories and articles appear in the site. Categories or articles that do not appear in this file will not be published in the production site.
Each of the articles on the site has some YAML "Front Matter" that contains metadata. All articles should include the following:
- title - the title of the article as it will appear in the site. if it contains special characters, put the string in quotes
title: "jQuery Event Extensions"
- level - the approximate level of jQuery experience required to find the article useful. Options:
How Can I Help?
The entire site is managed via this Git repository. If you'd like to contribute new articles, make edits to existing content, or work on the site itself, the first thing you'll need is a fork. When you have changes you'd like to have reviewed for integration into the site, submit a pull request.
If you're unfamiliar with Git, you can still contribute by editing files directly via GitHub's in-browser editor. But you won't be able to create new content, and you'll still need a GitHub account and a fork of this repository. So we encourage you to learn how to use Git and GitHub; it'll probably pretty useful no matter what.
Building && Working Locally
As this site is part of the jQuery network of sites, its presentation is controlled by our web base template. To preview the site locally, first follow the instructions there to set up a local version of the jQuery WordPress network. Then, clone this repo and run the following steps (node.js required).
cp config-sample.json config.json
- Edit config.json to use the username and password for your local WordPress network
Windows note: Line endings need to be Unix-style (line-feed only). Make sure your text editor creates new files with Unix-style line endings. In addition, the following setting to your git config will keep the Unix-style line endings when pulling from the repository.
$ git config --global core.autocrlf true