Best practices for modern web development
HTML Python JavaScript Smarty CSS
Latest commit 9cb3a2f Jan 18, 2017 @petele petele committed on GitHub 404 fixes (#4058)
Failed to load latest commit information.
gae resource updates Nov 14, 2016
gulp-tasks Add test for js files. (#4018) Jan 10, 2017
src 404 fixes (#4058) Jan 18, 2017
tools Minor cleanup & update Oct 12, 2016
.csslintrc Just file moves: Jan 5, 2015
.dockerignore Alternative dev workflow based on Docker. Mar 20, 2015
.drone.sec ci: deploy to/from master instead of next-version Oct 13, 2016
.drone.yml ci: deploy to/from master instead of next-version Oct 13, 2016
.gitignore ignore update Oct 20, 2016
.gitmodules Fixing the build Sep 9, 2015
.jscsrc Moves next-version into master Oct 12, 2016
.jshintrc Removing existing files, will add under old/ Jun 30, 2015 style guide link has been broken(404). Jun 14, 2016
LICENSE Moves next-version into master Oct 12, 2016 Update Oct 25, 2016 Point to new translation guide Jul 6, 2016
app.yaml Revert "Refresh the Libraries landing page." (#3823) Nov 4, 2016 Moves next-version into master Oct 12, 2016 Redirect staging to DevSite (#4043) Jan 13, 2017 Remove extra double quote from framebox iframe (#3955) Dec 12, 2016 Live footer content support (#3839) Nov 10, 2016 Fixes a collection of 404s (#4055) Jan 17, 2017
gulpfile.js Fixes #3724 - makes default gulp task more obvious Oct 25, 2016
package.json Moves next-version into master Oct 12, 2016 Moves next-version into master Oct 12, 2016

Web Fundamentals on DevSite

Welcome to the new WebFundamentals! Build Status An effort to showcase best practices and tools for modern Web Development.

What's changed?

  • We're now using the DevSite infrastructure
    • New style guide
    • New widgets allow inline JavaScript, common links, related guide and more
  • Jekyll has been eliminated, instead pages are rendered at request time
  • Front-matter has been eliminated from the markdown, but files now require a simple set of tags

What stays the same?

Cloning the repo

If you have a high bandwidth connection, I recommend starting with a fresh clone of the repo.

git clone

Getting set up

The new DevSite infrastructure simplifies the dependencies a lot. Ensure you have a recent version of Node, Gulp and the AppEngine SDK for Python already installed.

  1. Run npm install (needed for the build process)

Build the auto-generated files

Some files (contributors includes, some pages for updates, showcases, etc) are automatically generated. The first time you clone the repo and run npm install, this is done for you. However, when you add a case study, update, etc., you'll need to re-build those files using:

gulp build

Update the code labs

To update the Code Labs, you'll need the claat tool, and access to the original Doc files. This will likely only work for Googlers.

  1. Download the claat tool and place it in your tools directory.
  2. Run tools/
  3. Check the latest changes into GitHub

Start the development server

  1. Run npm start

Test your changes before submitting a PR

Please run your changes through gulp test before submitting a PR. The test looks for things that may cause issues with DevSite and tries to keep our content consistent. It's part of the deployment process, so PRs will fail if there are any errors! To run:

gulp test