Skip to content

Instantly share code, notes, and snippets.

@westonruter
Last active November 21, 2019 02:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save westonruter/8e6a8ca427c69b23cdd8e26dcccbfc3d to your computer and use it in GitHub Desktop.
Save westonruter/8e6a8ca427c69b23cdd8e26dcccbfc3d to your computer and use it in GitHub Desktop.
a
abbr
acronym
address
amp-3d-gltf
amp-3q-player
amp-access extension .json script
amp-accordion
amp-accordion > section
amp-action-macro
amp-ad
amp-ad extension .js script
amp-ad with data-enable-refresh attribute
amp-ad with data-multi-size attribute
amp-ad with type=custom
amp-ad-custom
amp-ad-custom extension .js script
amp-addthis
amp-analytics
amp-analytics extension .json script
amp-anim
amp-animation
amp-animation extension .json script
amp-apester-media
amp-app-banner
amp-app-banner button[open-button]
amp-audio
amp-audio > source
amp-audio > track
amp-audio > track[kind=subtitles]
amp-auto-ads
amp-autocomplete
amp-autocomplete > input
amp-autocomplete json
amp-base-carousel
amp-base-carousel [lightbox]
amp-beopinion
amp-bind extension .json script
amp-bind-macro
amp-bodymovin-animation
amp-brid-player
amp-brightcove
amp-byside-content
amp-call-tracking
amp-carousel
amp-carousel lightbox
amp-connatix-player
amp-consent
amp-consent [type]
amp-consent extension .json script
amp-dailymotion
amp-date-countdown
amp-date-display
amp-date-picker > template [date-template]
amp-date-picker > template [info-template]
amp-date-picker[type=range][mode=overlay]
amp-date-picker[type=range][mode=static]
amp-date-picker[type=single][mode=overlay]
amp-date-picker[type=single][mode=static]
amp-delight-player
amp-embed
amp-embed with data-multi-size attribute
amp-embedly-card
amp-embedly-key
amp-experiment
amp-experiment extension .json script
amp-experiment story extension .json script
amp-facebook
amp-facebook-comments
amp-facebook-like
amp-facebook-page
amp-fit-text
amp-font
amp-fx-flying-carpet
amp-geo
amp-geo extension .json script
amp-gfycat
amp-gist
amp-google-document-embed
amp-hulu
amp-iframe
amp-ima-video
amp-ima-video > script[type=application/json]
amp-ima-video > source
amp-ima-video > track
amp-ima-video > track[kind=subtitles]
amp-image-lightbox
amp-image-slider
amp-image-slider > div [first]
amp-image-slider > div [second]
amp-img
amp-imgur
amp-instagram
amp-install-serviceworker
amp-izlesene
amp-jwplayer
amp-kaltura-player
amp-layout
amp-lightbox
amp-link-rewriter
amp-link-rewriter extension .json script
amp-list
amp-list div [fetch-error]
amp-list-load-more
amp-list-load-more button[load-more-clickable]
amp-live-list
amp-mathml
amp-megaphone [data-episode]
amp-megaphone [data-playlist]
amp-minute-media-player
amp-mowplayer
amp-next-page [type=adsense]
amp-next-page extension .json configuration
amp-next-page with inline config
amp-next-page with src attribute
amp-nexxtv-player
amp-o2-player
amp-ooyala-player
amp-orientation-observer
amp-pan-zoom
amp-pinterest
amp-pixel
amp-playbuzz
amp-position-observer
amp-powr-player
amp-reach-player
amp-recaptcha-input
amp-reddit
amp-riddle-quiz
amp-script
amp-script extension local script
amp-selector
amp-sidebar
amp-sidebar > nav
amp-skimlinks
amp-smartlinks
amp-social-share
amp-soundcloud
amp-springboard-player
amp-state
amp-sticky-ad
amp-story
amp-story >> amp-audio
amp-story >> amp-sidebar
amp-story >> amp-story-page-attachment >> amp-video
amp-story >> amp-video
amp-story-access
amp-story-auto-ads
amp-story-auto-ads > template
amp-story-auto-ads config script
amp-story-bookend
amp-story-bookend extension .json script
amp-story-consent
amp-story-consent extension .json script
amp-story-cta-layer
amp-story-grid-layer
amp-story-page
amp-story-page-attachment
amp-subscriptions extension .json script
amp-timeago
amp-truncate-text
amp-twitter
amp-user-location
amp-user-location extension .json script
amp-user-notification
amp-video
amp-video > source
amp-video > track
amp-video > track[kind=subtitles]
amp-video extension .js script
amp-video-docking
amp-video-iframe with [placeholder]
amp-video-iframe[poster]
amp-vimeo
amp-vine
amp-viqeo-player
amp-vk
amp-web-push
amp-web-push-widget
amp-wistia-player
amp-yotpo
amp-youtube
amphtml engine v0.js script
article
aside
audio
audio > source
audio > track
audio > track[kind=subtitles]
b
base
bdi
bdo
big
blockquote
body
br
button
canvas
caption
center
circle
cite
clippath
code
col
colgroup
data
datalist
dd
defs
del
desc
details
dfn
dir
div
dl
dt
ellipse
em
fecolormatrix
fecomposite
feflood
fegaussianblur
femerge
femergenode
feoffset
fieldset
figcaption
figure
filter
footer
form [method=get]
form [method=post]
form div [submit-error]
form div [submit-error][template]
form div [submit-success]
form div [submit-success][template]
form div [submitting]
form div [submitting][template]
form div [verify-error]
form div [verify-error][template]
g
glyph
glyphref
h1
h2
h3
h4
h5
h6
head
head > style[amp-boilerplate]
header
hgroup
hkern
hr
html
i
iframe
image
img
input
input [mask=date-dd-mm-yyyy]
input [mask=date-mm-dd-yyyy]
input [mask=date-mm-yy]
input [mask=date-yyyy-mm-dd]
input [mask=payment-card]
input [mask] (custom mask)
input [type=file]
input [type=password]
ins
kbd
label
legend
li
line
lineargradient
lineargradient > stop
link itemprop=
link itemprop=sameas
link property=
link rel=
link rel=canonical
link rel=manifest
link rel=preload
link rel=stylesheet for fonts
listing
main
mark
marker
mask
meta charset=utf-8
meta http-equiv=content-language
meta http-equiv=content-script-type
meta http-equiv=content-style-type
meta http-equiv=content-type
meta http-equiv=imagetoolbar
meta http-equiv=origin-trial
meta http-equiv=pics-label
meta http-equiv=resource-type
meta http-equiv=x-dns-prefetch-control
meta http-equiv=x-ua-compatible
meta name= and content=
meta name=amp-3p-iframe-src
meta name=amp-ad-doubleclick-sra
meta name=amp-ad-enable-refresh
meta name=amp-consent-blocking
meta name=amp-experiment-token
meta name=amp-experiments-opt-in
meta name=amp-google-clientid-id-api
meta name=amp-link-variable-allowed-origin
meta name=amp-list-load-more
meta name=amp-recaptcha-input
meta name=amp-script-src
meta name=amp-to-amp-navigation
meta name=apple-itunes-app
meta name=viewport
metadata
meter
multicol
nav
nextid
nobr
noscript
noscript > style[amp-boilerplate]
noscript enclosure for boilerplate
o:p
ol
optgroup
option
output
p
path
pattern
picture
picture > source
polygon
polyline
pre
progress
q
radialgradient
radialgradient > stop
rb
rect
rp
rt
rtc
ruby
s
samp
script id=amp-rtc
script type=application/ld+json
script type=text/plain
script[custom-element=amp-3d-gltf]
script[custom-element=amp-3q-player]
script[custom-element=amp-access-laterpay]
script[custom-element=amp-access-poool]
script[custom-element=amp-access-scroll]
script[custom-element=amp-access]
script[custom-element=amp-accordion]
script[custom-element=amp-action-macro]
script[custom-element=amp-addthis]
script[custom-element=amp-analytics]
script[custom-element=amp-anim]
script[custom-element=amp-animation]
script[custom-element=amp-apester-media]
script[custom-element=amp-app-banner]
script[custom-element=amp-audio]
script[custom-element=amp-auto-ads]
script[custom-element=amp-autocomplete]
script[custom-element=amp-base-carousel]
script[custom-element=amp-beopinion]
script[custom-element=amp-bind]
script[custom-element=amp-bodymovin-animation]
script[custom-element=amp-brid-player]
script[custom-element=amp-brightcove]
script[custom-element=amp-byside-content]
script[custom-element=amp-call-tracking]
script[custom-element=amp-carousel]
script[custom-element=amp-connatix-player]
script[custom-element=amp-consent]
script[custom-element=amp-dailymotion]
script[custom-element=amp-date-countdown]
script[custom-element=amp-date-display]
script[custom-element=amp-date-picker]
script[custom-element=amp-delight-player]
script[custom-element=amp-dynamic-css-classes]
script[custom-element=amp-embedly-card]
script[custom-element=amp-experiment]
script[custom-element=amp-facebook-comments]
script[custom-element=amp-facebook-like]
script[custom-element=amp-facebook-page]
script[custom-element=amp-facebook]
script[custom-element=amp-fit-text]
script[custom-element=amp-font]
script[custom-element=amp-form]
script[custom-element=amp-fx-collection]
script[custom-element=amp-fx-flying-carpet]
script[custom-element=amp-geo]
script[custom-element=amp-gfycat]
script[custom-element=amp-gist]
script[custom-element=amp-google-document-embed]
script[custom-element=amp-hulu]
script[custom-element=amp-iframe]
script[custom-element=amp-ima-video]
script[custom-element=amp-image-lightbox]
script[custom-element=amp-image-slider]
script[custom-element=amp-imgur]
script[custom-element=amp-inputmask]
script[custom-element=amp-instagram]
script[custom-element=amp-install-serviceworker]
script[custom-element=amp-izlesene]
script[custom-element=amp-jwplayer]
script[custom-element=amp-kaltura-player]
script[custom-element=amp-lightbox-gallery]
script[custom-element=amp-lightbox]
script[custom-element=amp-link-rewriter]
script[custom-element=amp-list]
script[custom-element=amp-live-list]
script[custom-element=amp-mathml]
script[custom-element=amp-megaphone]
script[custom-element=amp-minute-media-player]
script[custom-element=amp-mowplayer]
script[custom-element=amp-next-page]
script[custom-element=amp-nexxtv-player]
script[custom-element=amp-o2-player]
script[custom-element=amp-ooyala-player]
script[custom-element=amp-orientation-observer]
script[custom-element=amp-pan-zoom]
script[custom-element=amp-pinterest]
script[custom-element=amp-playbuzz]
script[custom-element=amp-position-observer]
script[custom-element=amp-powr-player]
script[custom-element=amp-reach-player]
script[custom-element=amp-recaptcha-input]
script[custom-element=amp-reddit]
script[custom-element=amp-riddle-quiz]
script[custom-element=amp-script]
script[custom-element=amp-selector]
script[custom-element=amp-sidebar]
script[custom-element=amp-skimlinks]
script[custom-element=amp-smartlinks]
script[custom-element=amp-social-share]
script[custom-element=amp-soundcloud]
script[custom-element=amp-springboard-player]
script[custom-element=amp-sticky-ad]
script[custom-element=amp-story-auto-ads]
script[custom-element=amp-story]
script[custom-element=amp-subscriptions-google]
script[custom-element=amp-subscriptions]
script[custom-element=amp-timeago]
script[custom-element=amp-truncate-text]
script[custom-element=amp-twitter]
script[custom-element=amp-user-location]
script[custom-element=amp-user-notification]
script[custom-element=amp-video-iframe]
script[custom-element=amp-vimeo]
script[custom-element=amp-vine]
script[custom-element=amp-viqeo-player]
script[custom-element=amp-vk]
script[custom-element=amp-web-push]
script[custom-element=amp-wistia-player]
script[custom-element=amp-yotpo]
script[custom-element=amp-youtube]
script[custom-template=amp-mustache]
section
select
slot
small
solidcolor
spacer
span
strike
strong
style amp-custom
style[amp-keyframes]
sub
summary
sup
svg
svg title
switch
symbol
table
tbody
td
template
text
textarea
textpath
tfoot
th
thead
time
title
tr
tref
tspan
tt
u
ul
use
var
video
video > source
video > track
video > track[kind=subtitles]
view
vkern
wbr
<?php
$spec_names = [];
foreach ( AMP_Allowed_Tags_Generated::get_allowed_tags() as $tag => $tag_rules ) {
foreach ( $tag_rules as $tag_rule ) {
if ( isset( $tag_rule['tag_spec']['spec_name'] ) ) {
$spec_name = strtolower( $tag_rule['tag_spec']['spec_name'] );
} elseif ( isset( $tag_rule['tag_spec']['extension_spec']['name'] ) ) {
$spec_name = sprintf(
'script[%s=%s]',
'amp-mustache' === $tag_rule['tag_spec']['extension_spec']['name'] ? 'custom-template' : 'custom-element',
strtolower( $tag_rule['tag_spec']['extension_spec']['name'] )
);
} else {
$spec_name = $tag;
}
if ( isset( $spec_names[ $spec_name ] ) ) {
echo "Duplicate found: $spec_name";
exit( 1 );
}
$spec_names[ $spec_name ] = true;
}
}
$spec_names = array_keys( $spec_names );
sort( $spec_names );
echo implode( "\n", $spec_names );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment