The AMP Project Website.
HTML CSS JavaScript Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github Update ISSUE_TEMPLATE Nov 21, 2017
assets Merge branch 'master' into roadshow-city-update Aug 7, 2018
build_scripts Remove combined secure token from .travis.yml, and add them individua… Aug 14, 2018
content Merge branch 'master' into amp-story-adjustment Aug 17, 2018
contributing More redirect fixes Jul 30, 2018
examples/src Correct layout for example Oct 13, 2017
pwa update generated stuff once in a while Mar 23, 2018
scripts Add new component to docs Aug 9, 2018
translations embellish Korean translation for the main page of AMP stories. Aug 17, 2018
tutorial_source Updates for stories bookend Jun 19, 2018
views Added meta tag for Client ID in GA Aug 3, 2018
.editorconfig Revert .editorconfig changes Mar 21, 2018
.eslintrc.json Rewritten roadmap to import its data from Github Jul 8, 2018
.firebaserc add new deploy target for special branch Dec 13, 2016
.gitignore Merge branch 'master' into new-roadmap Jul 19, 2018
.travis.yml Remove combined secure token from .travis.yml, and add them individua… Aug 14, 2018
CONTRIBUTING.md Update CONTRIBUTING.md Jan 29, 2018
LICENSE omg I merged the site Jun 11, 2016
README.md Parallelize the `ampproject/docs` build on Travis May 30, 2018
firebase.json Fix redirects to point to amp version of blog May 11, 2018
gulpfile.js roadmap: added filtering, better styling, added gulp task Jul 19, 2018
package.json fix(deps): pin dependency @octokit/rest to 15.9.4 Jul 19, 2018
podspec.yaml Deprecate lang DE May 18, 2018
renovate.json Add renovate.json Jun 19, 2018
yarn.lock fix(deps): pin dependency @octokit/rest to 15.9.4 Jul 19, 2018

README.md

AMPProject.org Build Status

You're looking at the source code of the official website of the AMP Project. Even if you don't plan on contributing, explore how we've built the site for a good example of how to build a canonical, responsive standalone AMP site.

How to build the site

Install

  1. Install the LTS version of NodeJS. An easy way to do so is with nvm. (Mac and Linux: here, Windows: here)

    $ nvm install --lts
  2. Install Grow:

    $ curl https://install.growsdk.org | bash
  3. Install the stable version of Yarn. (Mac and Linux: here, Windows: here)

    curl -o- -L https://yarnpkg.com/install.sh | bash
  4. Install the dependencies for the project:

    $ yarn

Get a GitHub token or app id/secret

The docs in the reference section of the AMP Project site are not part of this repository; instead they are read from the amphtml GitHub repository "source of truth." When building the site these docs are fetched via GitHub.

Due to GitHub quotas this fetching will quickly fail unless additional information is provided in the request. This can be either a personal access token or an application id/secret.

Personal access token

  1. Request a GitHub personal access token. Since the docs are fetched from a public repository you only need to select the "public_repo" scope when creating the token. (It's a good practice to limit the token to the scope you need.)
  2. In your shell, export the generated personal access token as AMP_DOC_TOKEN

Application client id and secret

If you prefer not to use a personal access token, you can also create a GitHub application and use its id and secret.

  1. Register for a GitHub application.
  2. In your shell, export the application client id as AMP_DOC_ID and the client secret as AMP_DOC_SECRET.

Build

$ grow build

This will generate a static, complete build of the site into the *build folder.

Develop

Note: Be sure to run grow build at least once to pull in reference docs before running the following command.

$ grow run

You can now open http://localhost:8080/ and continue working on the source files, then reload the page to see changes appear.

Support

If you've found an error or inconsistency, please file an issue.

Patches are encouraged. See Contributing for details.

Site details

If you're working with the ampproject.org site, see AMPProject.org files & build process for details on how the site is built, the purpose of certain files, and other important information.

License

All image and audio files except in folders "assets/img/partners", "assets/img/publishers", "assets/img/quotes", and ""assets/img/about" (including *.png, *.jpg, *.svg, *.mp3, *.wav and *.ogg) are licensed under the CC-BY-NC license. Images in the excluded folders are not licensed.

All other files are licensed under the Apache License, Version 2.0.


Copyright 2015 Google, Inc.

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.