This content is then synced to WordPress using grunt-wordpress. The content of each page is generated by grunt-jquery-content from HTML, XML or Markdown source depending on the repository. Storing the content of each site on GitHub gives us all the benefits of tracking tasks in issues, discussions on pull requests, visual diffs for changes, etc. We now manage our WordPress theme in jquery-wp-content, and the content for all of our sites are stored and managed in individual repositories on GitHub.
With his help, and the help of a few new projects – such as node-wordpress, grunt-wordpress, and grunt-jquery-content – we were able to build exactly what we wanted. Nacin played a key role in getting our new infrastructure set up and ensuring we were using WordPress as efficiently as possible. It started off pretty bumpy, but we managed to do just that! Things started to really pick up when we got the support of WordPress’ Lead Developer Andrew Nacin. In order to resolve these issues, we decided to find a way to bring these two products together and get the best of both worlds. Features like search and commenting either need to be added per site via client-side JavaScript or can’t be implemented at all. GitHub Pages have no built-in features and can’t have any server-side processing. While GitHub has tons of tools that we love, and they even have GitHub Pages, it lacked the infrastructure we need for managing our site content. Managing content on was an even bigger hassle because of our XML based workflow, which the WordPress editor clearly wasn’t designed for. Only a few people had access to edit content, and collaboration without pull requests is painful. Unfortunately, our WordPress experience lacked all the collaboration tools and workflow we love. WordPress provides tools which make managing this many sites with a common brand almost as simple as maintaining just one site with shared users, theme inheritance, and a great plugin architecture, providing even more hooks than GitHub.
Between project sites, API documentation, tutorials, contribution guides, events, and organization sites, the number of web sites we maintain rivals the number of code projects we maintain. We have a surprisingly large number of them. The API and service hooks provide a great way to automate various tasks.Įven longer than we’ve been using GitHub, we’ve been using WordPress to manage our various web sites. The interface renders almost every file exactly how we want it to, especially Markdown. Forks and pull requests provide a great mechanism for sharing code and peer code reviews.
Even within the team, the services provided by GitHub have provided a huge productivity boost. We’ve seen a massive uptick in community-provided bug fixes, refactors, new features, etc. The community collaboration has been phenomenal. We’ve been using and loving Git and GitHub for years now. Two of the products we rely on and enjoy the most are GitHub and WordPress.
Maintaining an open source project as big as jQuery requires the use of various software and services.