JavaScript progressive-web-app web Chrome best-practices HTML Python CSS Shell html5 web-app mobile-web chrome-browser
Need help with WebFundamentals?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.
google

Description

Best practices for modern web development

11.6K Stars 2.5K Forks Apache License 2.0 11.1K Commits 1.1K Opened issues

Services available

Need anything else?

Web Fundamentals on DevSite

Build Status License

Welcome to the new WebFundamentals! 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?

  • GitHub is still our source of truth for content,
  • We want your contributions, either PRs, issues, whatever!
  • The latest is staged at https://web-central.appspot.com/web/

Cloning the repo

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

git clone https://github.com/google/WebFundamentals.git

Getting set up

The new DevSite infrastructure simplifies the dependencies a lot. Ensure that you have Python, Node 10-12, and the Google Cloud SDK already installed.

Login to Google Cloud via command line.

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

Building 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:
npm run build

Starting Local Server

To view the site locally, just run:

npm start

Note: The first time you start the server, you may need to run

start-appengine.sh
and answer any prompts provided by
dev_appserver.py
.

Updating 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/update-codelabs.sh
  3. Check the latest changes into GitHub

Starting the development server

  1. Run
    npm start
    in the terminal.

Testing your changes before submitting a PR

Please run your changes through npm 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:

npm test

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.