silverstripers / amp
Provide AMP HTML conversion to your SilverStripe project
Installs: 354
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 3
Forks: 3
Open Issues: 0
Type:silverstripe-vendormodule
Requires
- deimosindustries/lullabot-amp: dev-main
- lullabot/amp: ^2.0
- masterminds/html5: ^2.8.1
- silverstripe/framework: 4.* | 5.*
- silverstripers/seo: *
This package is auto-updated.
Last update: 2024-12-05 01:55:48 UTC
README
AMP HTML⚡ Bundle - provide AMP HTML conversion to your SilverStripe website.
Requirements
- lullabot/amp ^1.1.3
- silverstripe/framework 4+
Installation & Usage
Install with composer
composer require silverstripers/amp dev-master
Configurations
Clearing Caches
To clear the amp caches you need to set up an RSA Key.
Follow the instructions on the AMP Cache guide on Generating Keys.
To set up the private key use the following YAML configutation
SilverStripers\AMP\Control\AMPCache:
key_file: 'PATH_TO_YOUR_PRIVATE_KEY'
Setting up class names
The module allows you to set up class name of pages which are supported by AMPs.
---
Name: amps
---
SilverStripers\AMP\Control\AMPDirector:
allowed_classes:
- SilverStripe\Blog\Model\Blog
- SilverStripe\Blog\Model\BlogPost
The configs above limits the amps support to Blog and BlogPost pages.
This module adds extensions on for your controllers where the pages will have an AMP based version with a URL suffix for each page.
EG:
/home/ will have /home/amp.html /about-us/ will have /about-us/amp.html
The mobile also provides a template global $IsAMP
which you can use on any template to add specific HTML segments for the AMP version of the website.
The module adds cannonical URLs and amphtml links for the sites as well.
$IsAMP
In order to determine whether the current request is in AMP or not you can use $IsAMP
variable.
<% if $IsAMP %>
<!-- YOUR AMP CODES HERE -->
<% end_if %>
Same way you can use the not as well
<% if not $IsAMP %>
<!-- YOUR NONE AMP CODES HERE -->
<% end_if %>
Elemental
The module supports elemental module.
If you are having to override the templates for Elemental objects you can have templates with _AMP suffix, when those templates are found the elements gets rendered using those.
Reporting Issues
Please create an issue for any bugs, or submit merge requests.