WebFundamentals 0,18,15,0,7,18,0,-121 editorconfig travis-ci docker ruby grunt npm

Best practices for modern web development

Web Fundamentals on DevSite

Build Status

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?

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 you have a recent version of Node 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:

npm run 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/update-codelabs.sh
  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 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

Related Repositories

web-starter-kit

web-starter-kit

Web Starter Kit - a workflow for multi-device websites ...

awesome-opensource-documents

awesome-opensource-documents

:blue_book: A curated list of awesome open source or open source licensed docume ...

bs-css-hacks

bs-css-hacks

Index of CSS bugs/quirks/incompatibilities that Bootstrap works around ...

awesome-best-practices

awesome-best-practices

A curated list of awesome best practices. ...


Top Contributors

petele PaulKinlan gauntface Meggin jpmedley peduarte samdutton pbakaus ianbarber antoinegrelard kaycebasques dgash joshua1988 beaufortfrancois chenxsan paullewis igrigorik jacquerie ebidel myakura wibblymat yoichiro jeffposnick agektmr x1ddos greenido dandv cwdoh Trott maxh

Dependencies

package version
chalk ^1.1.3
del ^2.2.2
github ^8.1.1
globule ^1.0.0
googleapis ^12.4.0
gulp ^3.9.1
gulp-rename ^1.2.2
gulp-util ^3.0.7
handlebars ^4.0.5
handlebars-helpers ^0.7.5
js-yaml ^3.6.1
marked ^0.3.6
mdast-util-to-string ^1.0.2
minimist ^1.2.0
mkdirp ^0.5.1
moment ^2.14.1
parse-diff ^0.4.0
remark ^6.2.0
remark-html ^5.1.0
remark-lint ^5.4.0
require-dir ^0.3.0
rsync ^0.5.0
run-sequence ^1.2.2
unist-util-visit ^1.1.1
vfile ^2.0.1
dev gulp-remark ^3.0.0

Releases

-   0.2 zip tar
-   0.1 zip tar