On Github jansete / dcamp2016-amp
jansete, mgzrobles
#DrupalCampES
Juanen Bernal - @jansev3n Drupal Developer en drupal.org/u/jansete
Martín González - @mgzrobles Drupal Leader en drupal.org/u/mgzrobles
Accelerated Mobile Pages ( AMP ) es un proyecto open source que pretende ayudar a los editores a crearcontenido optimizado para móviles y que pueda sercargado instantáneamente en todas partes.
Es HTML extendido con componentes AMP. Algunas etiquetas HTML se sustituyen por su equivalente AMP Por ejemplo img pasa a ser amp-img
<html ⚡> <head> <meta charset="utf-8"> <link rel="canonical" href="hello-world.html"> <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"> <style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript> <script async src="https://cdn.ampproject.org/v0.js"></script> </head> <body>Hello World!</body> </html>
Antes:
<img src="homer.jpg" alt="Homer" height="400" width="800">
Componente AMP:
<amp-img src="homer.jpg" alt="Homer" height="400" width="800"></amp-img>La mayoría de las etiquetas HTML se pueden usar directamente en AMP HTML, pero ciertas etiquetas como la etiqueta son reemplazadas por sus equivalentes como componentes AMP que se encargan de mejorar el rendimiento. Otras etiquetas no permitidas son: iframe, form, input elements, etc → (https://github.com/ampproject/amphtml/blob/master/spec/amp-html-format.md#html-tags )
AdSense, DoubleClick o Smart AdServer ya están en la lista de servicios compatibles.
Servicios soportadas actualmente: A9, Adform, AdReactor, AdSense, AdTech, Criteo, Dot and Media, DoubleClick, Flite, plista, Smart AdServer, Yieldmo, Revcontent, TripleLift, Teads, I-MobileCada componente tiene sus propios atributos y requieren de un script adicional.
Antes:
Script:
Componente AMP:
Antes:
AT Internet, Chartbeat, comScore, o Google Analytics ya están en la lista de servicios compatibles.
Como cualquier HTML podemos abrirlo directamente con el navegador pero es recomendable que corra bajo un servidor web.
Añadiendo #development=1
http://localhost:8000/released.amp.html#development=1
Ver otros navegadoresTambién puedes emular un dispositivo móvil desde Chrome y abrir https://g.co/ampdemo
Relacionamos la versión normal con la versión AMP
<link rel="amphtml" href="https://www.example.com/url/to/amp/document.html">
Relacionamos la versión AMP con la versión básica
<link rel="canonical" href="https://www.example.com/url/to/full/document.html">
Si sólo tienes versión AMP
<link rel="canonical" href="https://www.example.com/url/to/amp/document.html">
if (req.url ~ "^/(.*)[?|&]amp(.*)") { unset req.http.Cookie; } ... set beresp.ttl = 2w;
¡Aprovecha y contribuye!