# learn.jquery.com: the content repository behind the jQuery learning site

> The jquery/learn.jquery.com repository holds the Markdown chapters and articles that make up the jQuery Learning Center, not the site software itself. It is a content repository with a JSON ordering file, YAML style front matter, a Grunt build and a child theme for presentation, which means contributing means writing Markdown and understanding a chapter and article hierarchy.

**jquery/learn.jquery.com** — jQuery Learning Center web site content

- Repository: https://github.com/jquery/learn.jquery.com
- Website: https://learn.jquery.com
- Stars: 914 · Forks: 472
- Language: JavaScript
- License: NOASSERTION
- Published: 2026-10-20 · Updated: 2026-10-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/jquery-learn-jquery-com

## A content repository, not the site

The repository description is simply that it contains the jQuery Learning Center web site content, and the README is careful to separate the two things people usually conflate.

The site itself is described as aiming to be an authoritative educational resource for those wishing to learn how to use jQuery, from beginners to more advanced users, driven by the jQuery community. The stated goal is twofold: to serve as a central, trustworthy, narrative compendium of information about how to use jQuery and JavaScript, and to remain a timely, community-driven reference with a relatively low barrier to contribution.

What this repository holds is the core content, which consists of Markdown files. The template that controls the appearance is a child theme of jquery-wp-content, and any issue with the presentation is to be directed at that other repository.

That split is the practical thing to understand before you contribute. If you want to change how the site looks, you are in the wrong repository. If you want to change what the site says, you are in the right one, and your change is a Markdown file plus a small amount of metadata.

## Chapters, articles and the ordering file

All of the content lives inside subdirectories of the page directory. Each subdirectory is a chapter, and contains one or more articles. There is also a top level file per chapter, which holds the human-readable title of that chapter and an overview, and that overview is what appears on the chapter landing page.

So the structure is two levels deep with a landing page per chapter, which is a familiar shape for a tutorial site and means adding an article means deciding which chapter it belongs to rather than inventing a new section.

The order that chapters and articles appear in the site is controlled by a single file, order.json at the repository root. That is worth knowing before you add anything, because a file that is not listed in order.json does not appear in the navigation, which is the most common way a new contribution ends up invisible.

The repository root also carries redirects.json, which handles URL changes, and a resources/ directory. Both are quiet files that matter for keeping old links alive, which is the kind of maintenance that only becomes visible when it is missing.

## Front matter is the only required metadata

Each article carries JSON front matter with metadata, and the README specifies two fields that all articles should include.

The first is title, the title of the article as it will appear in the site.

The title field looks like this in the file: `"title": "jQuery Event Extensions"`.

The second is level, the approximate level of jQuery experience required to find the article useful, with the options beginner, intermediate or advanced.

The level field is written the same way, as `"level": "advanced"`.

Two fields, both plain strings, both with an enumerated value in the case of level. That is a low bar, and it is deliberately so, because the project states that it wants to remain a reference with a relatively low barrier to contribution.

The level field does real work for readers. A reader looking for help with selectors should not have to open an article that assumes they already understand event delegation, and having the level in the metadata means the site can sort or filter by it without anyone having to write an extra field.

## The build is Grunt, and the theme does the rest

The site is built with Grunt, and the package file shows how small the toolchain is. The package is named learn.jquery.com, marked private, at version 0.6.33. There are two runtime dependencies, grunt at 1.6.3 and grunt-jquery-content at 3.3.4, and three development dependencies, eslint with the jquery config and the globals package.

That is the whole dependency list, which tells you the build is essentially a content transformation plus a lint pass. The content plugin, grunt-jquery-content, is what turns the Markdown and the front matter into the pages that the jquery-wp-content theme then renders.

The Gruntfile.js at the repository root holds the task definitions, eslint.config.js holds the lint configuration, and there is a .editorconfig and a .gitattributes for whitespace and line ending handling. A .mailmap file maps contributors to a canonical identity, which matters for a repository that has accumulated many outside contributions.

The build and deployment instructions point at the workflow documentation for contributing to jQuery Foundation web sites, and the workflow is defined in terms of building and deploying your changes for previewing in a jquery-wp-content instance. That is the step that tells you whether your Markdown renders as intended before you propose it.

## Where the text came from

The history of the content is worth knowing, because it explains both the tone and the coverage.

Much of the initial content, and the 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 to the jQuery Foundation to serve as the basis for the site. The book was split into individual sections, which the project iterated on and improved over several months.

Early on the editors wanted to cover as many relevant topics as possible, and they reached out to writers in the community to ask permission to integrate some of their blog posts as well.

Two things follow from that history. First, the corpus is narrative rather than reference, which is the whole point of the goal statement, a compendium rather than an API listing. Second, the corpus is broad because it was assembled by reaching out, and some of it dates from a period when the jQuery API surface was different, which is the context in which the stated aim of remaining timely makes sense.

The project invites questions and contributions through its contributing guide at learn.jquery.com/contributing, and the README is direct that contribution is welcome from anyone.

## Licence, maintenance state and what this is not

The licence field on the repository records a custom type that GitHub cannot classify, and the tree contains LICENSE.txt. Read that file rather than assuming a standard grant, particularly if you plan to reuse the text elsewhere, because the text began as a book published under its own terms and was then donated.

On maintenance, the repository is not archived and the last push was on 2026-09-05, with no GitHub releases, so there is no tagged version to pin and no changelog of site releases to read.

It is worth being clear about what this project is not, because the name invites confusion. It is not the jQuery library itself, which lives in the separate jquery/jquery repository. It is not a plugin collection, since the site does not distribute code. It is not a build system for your own site, since the Grunt setup is configured for this particular content and theme pairing. And it is not a runtime dependency you would add to a project.

It is a documentation source tree. Its users are contributors writing tutorials, maintainers curating the corpus, and anyone who wants to read the pages in a form they can search, diff and fork, which is a fair description of why the content lives in Markdown under version control rather than only in a database behind a web server.

## Conclusion

Adopt this repository if you want to contribute to or reuse the jQuery Learning Center material, since the content is plain Markdown in a documented directory structure and the front matter rules are simple enough to follow without touching the site tooling. Do not expect it to be a jQuery library, a test runner or a component library, because nothing in it executes in the browser. Verify first that you have read the ordering file to understand where an article belongs, that your article front matter includes both a title and a level of beginner, intermediate or advanced, that you build with Grunt against the jquery-wp-content theme before opening a pull request, and that you check the LICENSE file, since the licence field on the repository records a custom type GitHub cannot classify.

## FAQ

### How do I add an article to the jQuery Learning Center content?

Create a Markdown file in the appropriate subdirectory of the page directory, where each subdirectory is a chapter, and give it JSON front matter with a title and a level of beginner, intermediate or advanced. Then make sure the article is listed in order.json, which controls the order chapters and articles appear in the site.

### What front matter fields does learn.jquery.com require?

Two. The title field holds the title of the article as it appears in the site, and the level field holds the approximate level of jQuery experience required, with the options beginner, intermediate or advanced.

### How is the jQuery Learning Center site built?

With Grunt, using grunt 1.6.3 and grunt-jquery-content 3.3.4 as the two runtime dependencies, with eslint and the jquery eslint config for linting. The Gruntfile.js at the repository root holds the tasks, and presentation comes from a child theme of the separate jquery-wp-content repository.

### Where did the content of the jQuery Learning Center come from?

Much of the initial content and spirit comes from jQuery Fundamentals, an open source book originally written by Rebecca Murphey and released in 2010, which was bequeathed to the jQuery Foundation in 2011 as the basis for the site and split into individual sections. Some blog posts from community writers were also integrated with their permission.

## Sources

- [Issues](https://github.com/jquery/learn.jquery.com/issues)
- [jquery/learn.jquery.com on GitHub](https://github.com/jquery/learn.jquery.com)
- [Project website](https://learn.jquery.com)
- [README](https://github.com/jquery/learn.jquery.com/blob/main/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/jquery-learn-jquery-com
