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.
-
Install the LTS version of NodeJS. An easy way to do so is with
nvm
. (Mac and Linux: here, Windows: here)$ nvm install --lts
-
Install Grow:
$ curl https://install.growsdk.org | bash
-
Install the stable version of Yarn. (Mac and Linux: here, Windows: here)
curl -o- -L https://yarnpkg.com/install.sh | bash
-
Install the dependencies for the project:
$ yarn
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.
- 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.)
- In your shell, export the generated personal access token as
AMP_DOC_TOKEN
If you prefer not to use a personal access token, you can also create a GitHub application and use its id and secret.
- Register for a GitHub application.
- In your shell, export the application client id as
AMP_DOC_ID
and the client secret asAMP_DOC_SECRET
.
$ grow build
This will generate a static, complete build of the site into the *build folder.
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.
If you've found an error or inconsistency, please file an issue.
Patches are encouraged. See Contributing for 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.
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.