All Projects → ampproject → Amp Toolbox

ampproject / Amp Toolbox

Licence: apache-2.0
A collection of AMP tools making it easier to publish and host AMP pages.

Labels

Projects that are alternatives of or similar to Amp Toolbox

offline-first-sw
Service worker example with 404 handling, custom offline page and max TTL for specific file types.
Stars: ✭ 82 (-77.29%)
Mutual labels:  amp
ficus
Scala-friendly companion to Typesafe config
Stars: ✭ 321 (-11.08%)
Mutual labels:  amp
react-amp-components
A (hopefully) simple way to render AMP components via React on the server.
Stars: ✭ 30 (-91.69%)
Mutual labels:  amp
ampjucks
Boilerplate and base project to create static websites with AMP, Nunjucks and Gulp
Stars: ✭ 18 (-95.01%)
Mutual labels:  amp
gridd
Flexible grid-based WordPress theme
Stars: ✭ 38 (-89.47%)
Mutual labels:  amp
amp-mui
⚡ AMP MUI CSS Framework
Stars: ✭ 18 (-95.01%)
Mutual labels:  amp
AMP-dockerized
CubeCoders AMP in a Docker Image. Easily create game servers for games like Minecraft, GMod, TF2, Factorio, and StarBound!
Stars: ✭ 54 (-85.04%)
Mutual labels:  amp
Amp Jekyll
Build Accelerated Mobile Page versions of your Jekyll posts
Stars: ✭ 278 (-22.99%)
Mutual labels:  amp
awesome-milligram
A curated list of Milligram resources.
Stars: ✭ 76 (-78.95%)
Mutual labels:  amp
wordpress-amp-theme
A free WordPress theme for blogging built entirely on Google AMP
Stars: ✭ 22 (-93.91%)
Mutual labels:  amp
amp-surface
⚡ AMP Surface CSS Framework
Stars: ✭ 26 (-92.8%)
Mutual labels:  amp
MadelineProtoPluginSystem
A fully async plugin-friendly MadelineProto source base
Stars: ✭ 14 (-96.12%)
Mutual labels:  amp
amp-renderer
Server-side rendering for AMP in Python
Stars: ✭ 14 (-96.12%)
Mutual labels:  amp
web-stories-wp
Web Stories for WordPress
Stars: ✭ 695 (+92.52%)
Mutual labels:  amp
wp-gdpr-cookie-notice
Simple performant cookie consent notice that supports AMP, Web Stories, granular cookie control and live preview customization.
Stars: ✭ 17 (-95.29%)
Mutual labels:  amp
amp-converter
A PHP library to convert HTML articles, blog posts or similar content to AMP (Accelerated Mobile Pages).
Stars: ✭ 59 (-83.66%)
Mutual labels:  amp
amp-browser
AMP Browser
Stars: ✭ 39 (-89.2%)
Mutual labels:  amp
Vuefront
VueFront Core. Turn your old-fashioned CMS website in to a SPA & PWA in 5 minutes
Stars: ✭ 316 (-12.47%)
Mutual labels:  amp
Erpc
Embedded RPC
Stars: ✭ 262 (-27.42%)
Mutual labels:  amp
alfresco-mvc
Glue between SpringMVC @controllers and Alfresco
Stars: ✭ 22 (-93.91%)
Mutual labels:  amp

AMP Toolbox

A collection of AMP tools making it easier to publish and host AMP pages. The following tools are part of this project:

Development

Setting up your environment

After forking amp-toolbox to your own github org, do the following steps to get started:

# clone your fork to your local machine
git clone https://github.com/your-fork/amp-toolbox.git

# step into local repo
cd amp-toolbox

# install dependencies
npm install

# run tests
npm test

Adding new dependencies

amp-toolbox uses Lerna to manage it's packages. To keep build times low, devDependencies (but not CLI dependencies) must be added to the root package.json file. Runtime dependencies are managed for each package individually.

When adding a new package inside the packages directory, register the package via:

npm run bootstrap

Running Tests

The test suite runs for all packages and must be run from the root directory.

# run tests on node and browser
npm test

# run only in node (fastest)
npm run test:node

# run only in browser
npm run test:browser

Using additional arguments the node tests can generate a coverage report or run only for a specific package.

# generate a coverage report
npm run test:node -- --collectCoverage

# run only tests for AMP Optimizer
npm run test:node -- packages/optimizer

Style & Linting

This codebase adheres to the Google Javascript Styleguide and is enforced using ESLint. ESLint is run as part of the test suite, but you can also explicity run it via:

# run ESLint
npm run lint

# run ESLint with `--fix` option to automatically fix errors (if possible)
npm run lint:fix

Making a Release

Before publishing a release, make sure to have the lates changes from master and the changelog is up-to-date:

$ npm run changelog

This will print all changes since the previous release. For this to work, all PRs need to be correctly labeled as:

  • breaking (💥 Breaking Change)
  • enhancement (🚀 Enhancement)
  • bug (🐛 Bug Fix)
  • documentation (📝 Documentation)
  • internal (🏠 Internal)

Copy and prepend the new changes to CHANGELOG.md when you're about to make a release. Don't forget to update the version. Commit the updated changelog and run:

$ npm publish

to publish all changed packages to NPM. Pick the new version according to SemVer.

Contributing

Please see the CONTRIBUTING file for information on contributing to the AMP Project.

License

AMP Toolbox is made by the AMP Project, and is licensed under the Apache License, Version 2.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].