• Stars
    star
    101
  • Rank 337,140 (Top 7 %)
  • Language
    PHP
  • License
    Other
  • Created over 8 years ago
  • Updated almost 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

DEPRECATED Instant Analytics brings full Google Analytics support to your Twig templates and automatic Craft Commerce integration with Google Enhanced Ecommerce.

No Maintenance Intended

DEPRECATED

This Craft CMS 2.x plugin is no longer supported, but it is fully functional, and you may continue to use it as you see fit. The license also allows you to fork it and make changes as needed for legacy support reasons.

The Craft CMS 3.x version of this plugin can be found here: craft-instantanalytics and can also be installed via the Craft Plugin Store in the Craft CP.

Instant Analytics plugin for Craft CMS

Instant Analytics brings full Google Analytics support to your Twig templates and automatic Craft Commerce integration with Google Enhanced Ecommerce.

Related: Instant Analytics for Craft 3.x

Screenshot

Installation

To install Instant Analytics, follow these steps:

  1. Download & unzip the file and place the instantanalytics directory into your craft/plugins directory
  2. -OR- do a git clone https://github.com/nystudio107/instantanalytics.git directly into your craft/plugins folder. You can then update it with git pull
  3. -OR- install with Composer via composer require nystudio107/instantanalytics
  4. Install plugin in the Craft Control Panel under Settings > Plugins
  5. The plugin folder should be named instantanalytics for Craft to see it. GitHub recently started appending -master (the branch name) to the name of the folder for zip file downloads.

Instant Analytics works on Craft 2.4.x, Craft 2.5.x, and Craft 2.6.x. It requires at least PHP 5.5 or later to work.

N.B.: Version 1.1 of Instant Analytics has breaking API changes from the 1.0.x version. You will need to add {% hook 'iaSendPageView' %} to your templates to send Google Analytics data. In addition, the Twig tags sendEvent and sendPageView are deprecated; instead use eventAnalytics and pageViewAnalytics respectively to return an Analytics object (see below).

Instant Analytics Overview

Instant Analytics brings full Google Analytics support to your Twig templates and automatic Craft Commerce integration with Google Enhanced Ecommerce.

Instant Analytics also lets you track otherwise untrackable assets & events with Google Analytics, and eliminates the need for Javascript tracking.

You don't need to include the typical Google Analytics script tag on your pages, instead Instant Analytics will send page views when your front-end templates are rendered via the officially supported Google Measurement Protocol.

You can also track asset/media views in Google Analytics, either as PageViews or as Events. This lets you track otherwise untrackable things such as individual RSS feed accesses, images, PDF files, etc.

Instant Analytics is implemented on the demo site Brads for Men

Use Cases

Simple Page Tracking

If all you want is simple page tracking data sent to Google Analytics, Instant Analytics will do that for you automatically. Instant Analytics uses the Google Measurement Protocol to send PageViews to your Google Analytics account the same way the Google Analytics Tracking Code Javascript tag does.

In addition, Instant Analytics injects an instantAnalytics object into your templates, which you can manipulate as you see fit, adding Google Analytics properties to be sent along with your PageView.

It has the added benefit of not having to load any Javascript on the front-end to do this, which results in the following benefits:

  • Your pages will render quicker in-browser, with no external resources loaded just for PageView tracking
  • Pages will be tracked even if the client's browser has Javascript disabled or blocked
  • Javascript errors will not cause Google Analytics data to fail to be collected

Craft Commerce Integration with Google Enhanced Ecommerce

If you are using Craft Commerce, Instant Analytics will recognize this, and automatically send Google Enhanced Ecommerce data for the following actions:

  • Add to Cart - When someone adds an item from your Craft Commerce store to their cart. This will include data for the Product or Variant that was added to the cart.
  • Remove from Cart - When someone removes an item from your Craft Commerce store cart (requires Craft Commerce 1.2.x or later). This will include data for the Product or Variant that was removed from the cart.
  • Purchase - When someone completes a purchase in your Craft Commerce store. This will include all of the LineItems that were added to the cart, as well as the TransactionID, Revenue, Tax, Shipping, and Coupon Code used (if any).

Additionally, you can add simple Twig tags to your templates to track Product Impressions, Product Detail Views, and track each step of the Checkout process. In Google Analytics, you will be able to view detailed information on the sales from your Craft Commerce store, and other useful information such as where customers are abandoning their cart in the Checkout process.

Tracking Assets/Resources

Instant Analytics lets you track assets/resources that you can't normally track. For instance, you may have a collection of PDF documents that you'd like to know when they are viewed.

Using a simple {{ pageViewTrackingUrl(myAsset.url, myAsset.title) }} or {{ eventTrackingUrl(myAsset.url, myAsset.title, "action", "label", "value") }} Twig function, Instant Analytics will generate a public URL that will register a PageView in Google Analytics for the asset/resource, and then display or download the asset/resource.

Tracking RSS Feeds

Getting actual tracking statistics on RSS feeds can be notoriously difficult, because they are often consumed by clients that are not web browsers, and therefor will not run Javascript tracking code.

With Instant Analytics, if your RSS feed is a Twig template, accesses will automatically be tracked. Additionally, you can use the {{ pageViewTrackingUrl(myAsset.url, myAsset.title) }} or {{ eventTrackingUrl(myAsset.url, myAsset.title, "action", "label", "value") }} Twig functions to track individual episode accesses in Google Analytics.

Custom Tracking via Twig or Plugin

If your needs are more specialized, Instant Analytics will give your Twig templates or plugin full access to an Analytics object that allows you to send arbitrary Google Analytics tracking data to Google Analytics.

You can do anything from customized PageViews to complicated Google Enhanced eCommerce tracking,

Configuring Instant Analytics

Once you have installed Instant Analytics, you'll see a welcome screen. Click on Get Started to configure Instant Analytics:

  • Google Analytics Tracking ID: Enter your Google Analytics Tracking ID here. Only enter the ID, e.g.: UA-XXXXXX-XX, not the entire script code.
  • Strip Query String from PageView URLs: If this setting is on, the query string will be stripped from PageView URLs before being sent to Google Analytics. e.g.: /some/path?token=1235312 would be sent as just /some/path
  • Auto Send "Add To Cart" Events: If this setting is on, Google Analytics Enhanced Ecommerce events are automatically sent when an item is added to your Craft Commerce cart.
  • Auto Send "Remove From Cart" Events: If this setting is on, Google Analytics Enhanced Ecommerce events are automatically sent when an item is removed from your Craft Commerce cart.
  • Auto Send "Purchase Complete" Events: If this setting is on, Google Analytics Enhanced Ecommerce events are automatically sent a purchase is completed.
  • Commerce Product Category Field: Choose the field in your Product or Variant field layout that should be used for the product's Category field for Google Analytics Enhanced Ecommerce
  • Commerce Product Brand Field Choose the field in your Product or Variant field layout that should be used for the product's Brand field for Google Analytics Enhanced Ecommerce

If you have the SEOmatic plugin installed, Instant Analytics will automatically grab your Google Analytics Tracking ID: from it.

NOTE: Instant Analytics will work with the traditional Google Analytics Tracking Code Javascript tag; it's not an either/or, they can coexist. Instant Analytics is just a different way to send the same data to Google Analytics.

However, to prevent duplicate data from being sent, if you use Instant Analytics to send PageView data, you should turn off the Javascript sending PageViews automatically by:

  • In SEOmatic turn off Automatically send Google Analytics PageView
  • If you don't use SEOmatic, remove the line ga('send', 'pageview'); from your Google Analytics Tracking Code Javascript tag

Then you can still use the ga() calls to send events to Google Analytics. Or, if you don't send events via Javascript, you can just remove the Google Analytics tag/Javascript from your page entirely.

Customizing via the config.php file

Instant Analytics has a number of other configuration options that can be customized on a per-environment basis via the config.php file. Don't edit this file, instead copy it to craft/config as instantanalytics.php (rename it) and make your changes there.

Using Instant Analytics

Simple Page Tracking

Once you've entered your Google Analytics Tracking ID you just need to add a call to {% hook 'iaSendPageView' %} to your front-end templates to send PageView tracking to Google Analytics. We recommend that you do this in a block at the bottom of your layout.twig template that other templates extend, right before the </body> tag, like this:

{% block analytics %}
    {% hook 'iaSendPageView' %}
{% endblock %}

That's it! Once you have added this hook, Instant Analytics will start sending PageViews to Google Analytics. It does not send any Google Analytics data if:

  • You have not entered a valid Google Analytics Tracking ID:
  • You are viewing templates in Live Preview
  • The request is a CP or Console request
  • If you have sendAnalyticsData set to false in the config.php file

By default, the "title" used for your pages is the current template path; if you have SEOmatic installed, Instant Analytics will automatically grab the current page title from it.

Instant Analytics will also automatically parse and set any UTM query string parameters such as utm_campaign, utm_source, utm_medium, and utm_content in the analytics object.

Advanced Page Tracking

This is where the fun begins. Instant Analytics injects an instantAnalytics object into your templates, the same way that Craft injects an entry object or Craft Commerce injects a product object. This is the actual Analytics object that the {% hook 'iaSendPageView' %} will send to Google Analytics.

You can manipulate this object as you see fit, adding data to be sent to Google Analytics along with your PageView.

For example, let's say that you want to add an Affiliation:

{% do instantAnalytics.setAffiliation("Brads for Men") %}

Or perhaps for a particular page, you want to change the the Tracking ID used by Google Analytics:

{% do instantAnalytics.setTrackingId("UA-26293624-12") %}

Or do them both at the same time:

{% do instantAnalytics.setAffiliation("Brads for Men").setTrackingId("UA-26293624-12") %}

You can add or change any property defined in the Google Analytics Measurement Protocol library for PHP that Instant Analytics uses.

By default, the injected instantAnalytics object is filled in with the following info:

  • instantAnalytics.setProtocolVersion('1')
  • instantAnalytics.setTrackingId(YOUR_TRACKING_ID)
  • instantAnalytics.setIpOverride($_SERVER['REMOTE_ADDR'])
  • instantAnalytics.setUserAgentOverride($_SERVER['HTTP_USER_AGENT'])
  • instantAnalytics.setDocumentReferrer($_SERVER['HTTP_REFERER'])
  • instantAnalytics.setClientId(CID)
  • instantAnalytics.setDocumentPath(craft.request.url)
  • instantAnalytics.setDocumentTitle(TEMPLATE_PATH)

If the SEOmatic plugin is installed, then it is used to set the title:

  • instantAnalytics.setDocumentTitle(seomaticMeta.seoTitle)

If there is a gclid cookie (used for Google AdWords tracking), this will also be set:

  • instantAnalytics.setGoogleAdwordsId(GCLID)

Craft Commerce Tracking with Google Enhanced Ecommerce

If you are using Craft Commerce, Instant Analytics will recognize this, and automatically send Google Enhanced Ecommerce data for the following actions:

  • Add to Cart - When someone adds an item from your Craft Commerce store to their cart. This will include data for the Product or Variant that was added to the cart.
  • Remove from Cart - When someone removes an item from your Craft Commerce store cart (requires Craft Commerce 1.2.x or later). This will include data for the Product or Variant that was removed from the cart.
  • Purchase - When someone completes a purchase in your Craft Commerce store. This will include all of the LineItems that were added to the cart, as well as the TransactionID, Revenue, Tax, Shipping, and Coupon Code used (if any).

You simply need to enable Enhanced Ecommerce in your Google Analytics Admin area for your website's property:

Screenshot

That's it! It'll just work. In addition to the basic automatic tracking that Instant Analytics does, you can use the instantAnalytics object to send additional data to Google Analytics Enhanced Ecommerce:

  • {% do instantAnalytics.addCommerceProductImpression(PRODUCT_VARIANT, INDEX, LIST_NAME, LIST_INDEX) %} - This will add an impression for a given Craft Commerce Product or Variant (you can pass in either in PRODUCT_VARIANT). INDEX must be a number between 1-200, and is the position in the list of products where this product appears. This should be used on product listing pages that show a number of products, to indicate that the user has been shown a particular product. LIST_NAME and LIST_INDEX are optional; they let you set the product list name, and the index of that list, which is a number from 1-200, and should be unique to the list. LIST_NAME defaults to default and LIST_INDEX defaults to 1 if not specified.
  • {% do instantAnalytics.addCommerceProductDetailView(PRODUCT_VARIANT) %} - This will add a product detail view for a given Craft Commerce Product or Variant (you can pass in either in PRODUCT_VARIANT). This should be used when the user is shown the detail view of a product.
  • {% do instantAnalytics.addCommerceCheckoutStep(CART, STEP, OPTION) %} - This will add a checkout step for a given Craft Commerce CART (obtained via craft.commerce.cart). The STEP parameter lets you specify which step in the checkout process you are on, and the OPTION parameter is optional information you can associate with this checkout step, e.g.: Shipping Info or VISA.

You can set up names for each of the Checkout Steps in your Google Analytics Admin area for your website's property:

Screenshot

Once you are using these tags in your templates, Google Analytics Enhanced Ecommerce will be able to provide you with extended analysis of things like at what step in your Checkout process people abandon their carts, which products people are looking at detailed views of, etc.:

Screenshot

In addition to the expected sales data:

Screenshot

Sending Events

You can obtain an Analytics object preloaded to send events to Google Analytics via either:

{% set myAnalytics = eventAnalytics(CATEGORY, ACTION, LABEL, VALUE) %}
-OR-
{% set myAnalytics = craft.instantAnalytics.eventAnalytics(CATEGORY, ACTION, LABEL, VALUE) %}

What CATEGORY, ACTION, LABEL, and VALUE are is completely up to you; you can provide whatever data makes sense for your application, and view it in Google Analytics. See Event Tracking for more information.

By default, the injected instantAnalytics object is filled in with the following info:

  • myAnalytics.setProtocolVersion('1')
  • myAnalytics.setTrackingId(YOUR_TRACKING_ID)
  • myAnalytics.setIpOverride($_SERVER['REMOTE_ADDR'])
  • myAnalytics.setUserAgentOverride($_SERVER['HTTP_USER_AGENT'])
  • myAnalytics.setDocumentHostName($_SERVER['SERVER_NAME'])
  • myAnalytics.setDocumentReferrer($_SERVER['HTTP_REFERER'])
  • myAnalytics.setClientId(CID)
  • myAnalytics.setEventCategory(CATEGORY)
  • myAnalytics.setEventAction(ACTION)
  • myAnalytics.setEventLabel(LABEL)
  • myAnalytics.setEventValue(VALUE)

If there is a gclid cookie (used for Google AdWords tracking), this will also be set:

  • myAnalytics.setGoogleAdwordsId(GCLID)

You manipulate the myAnalytics object as you see fit, adding or changing any property defined in the Google Analytics Measurement Protocol library for PHP that Instant Analytics uses.

However, the event will not be sent to Google Analytics until you tell it to via:

{% do myAnalytics.sendEvent() %}

A complete example might be:

{% set myAnalytics = eventAnalytics('UX', 'View Ad', entry.someAdName, entry.someImpressions) %}
{% do myAnalytics.setAffiliation(entry.someAffiliation).sendEvent() %}

Tracking Assets/Resources

Instant Analytics lets you track assets/resources that you can't normally track, by providing a tracking URL that you use in your front-end templates.

You can track as PageViews via either:

{{ pageViewTrackingUrl(URL, TITLE) }}
-OR-
{{ craft.instantAnalytics.pageViewTrackingUrl(URL, TITLE) }}

Or you can track as Events via either:

{{ eventTrackingUrl(URL, CATEGORY, ACTION, LABEL, VALUE) }}
-OR-
{{ craft.instantAnalytics.eventTrackingUrl(URL, CATEGORY, ACTION, LABEL, VALUE) }}

These can be wrapped around any URL, so you could wrap your tracking URL around an image, a PDF, or an externally linked file... whatever.

What happens when the link is clicked on is Instant Analytics sends the tracking PageView or Event to Google Analytics, and then the original URL is seamlessly accessed.

The URL that Instant Analytics generates will look like this:

http://yoursite.com/instantAnalytics/pageViewTrack/FILENAME.EXT?url=XXX&title=AAA
-OR-
http://yoursite.com/instantAnalytics/eventTrack/FILENAME.EXT?url=XXX&eventCategory=AAA&eventAction=BBB&eventLabel=CCC&eventValue=DDD

It's done this way so that the URL can be directly used in RSS feeds for the media object URLs, which require that the filename is in the URL path.

Custom Tracking via Twig or Plugin

If your needs are more specialized, you can build arbitrary Google Analytics data packets with Instant Analytics. To get an Analytics object do the following:

Twig:

{% set myAnalytics = craft.instantAnalytics.analytics() %}

PHP via Plugin:

$myAnalytics = craft()->instantAnalytics->analytics();

In either case, you will be returned an Analytics object that is initialized with the following settings for you:

$myAnalytics->setProtocolVersion('1')
    ->setTrackingId(YOUR_TRACKING_ID)
    ->setIpOverride($_SERVER['REMOTE_ADDR'])
    ->setAsyncRequest(false)
    ->setClientId(CID);
    ->setGoogleAdwordsId(GCLID);

You are then free to change any of the parameters as you see fit via the Google Analytics Measurement Protocol library for PHP

Here's a simple example where we send a PageView for a specific page (after adding an Affiliation):

Twig:

{% set myAnalytics = craft.instantAnalytics.analytics() %}
{% do myAnalytics.setDocumentPath('/some/page').setAffiliation('nystudio107').sendPageview() %}

PHP via Plugin:

$myAnalytics = craft()->instantAnalytics->analytics();
$myAnalytics->setDocumentPath('/some/page')
    ->setAffiliation('nystudio107')
    ->sendPageview();

The sky's the limit in either case, you can do anything from simple PageViews to complicated Google Enhanced eCommerce analytics tracking.

Instant Analytics Roadmap

Some things to do, and ideas for potential features:

  • Support for additional Craft Commerce data such as Refunds

Brought to you by nystudio107

More Repositories

1

annotated-webpack-config

This is the companion github repo for the "An Annotated webpack 4 Config for Frontend Web Development" article.
JavaScript
434
star
2

craft-scripts

Shell scripts to manage database backups, asset backups, file permissions, asset syncing, cache clearing, and database syncing between Craft CMS environments
Shell
364
star
3

seomatic

DEPRECATED A turnkey SEO implementation for Craft CMS 2.x that is comprehensive, powerful, and flexible
PHP
357
star
4

nginx-craft

An Nginx virtual host configuration for Craft CMS that implements a number of best-practices.
307
star
5

craft

nystudio107 Craft 3 CMS scaffolding project
Twig
289
star
6

craft-imageoptimize

Automatically create & optimize responsive image transforms, using either native Craft transforms or a service like Imgix, with zero template changes.
PHP
235
star
7

retour

DEPRECATED Retour allows you to intelligently redirect legacy URLs, so that you don't lose SEO value when rebuilding & restructuring a website.
PHP
168
star
8

craft-seomatic

SEOmatic facilitates modern SEO best practices & implementation for Craft CMS 3. It is a turnkey SEO system that is comprehensive, powerful, and flexible.
PHP
163
star
9

minify

DEPRECATED A simple plugin that allows you to minify blocks of HTML, CSS, and JS inline in Craft CMS templates
PHP
107
star
10

craft-twigpack

Twigpack is a bridge between Twig and webpack, with manifest.json & webpack-dev-server HMR support
PHP
97
star
11

rollup-plugin-critical

Vite.js & Rollup plugin for generating critical CSS
TypeScript
88
star
12

devmode

Website for the devMode.fm podcast
Twig
85
star
13

craft-multi-environment

Efficient and flexible multi-environment config for Craft CMS
PHP
83
star
14

vitejs-docker-dev

Local development environment for developing vite.js via Docker container
Makefile
80
star
15

generator-craftplugin

generator-craftplugin is a Yeoman generator for Craft CMS plugins
PHP
73
star
16

craft3-multi-environment

DEPRECATED Efficient and flexible multi-environment config for Craft CMS
72
star
17

craft-typogrify

Typogrify prettifies your web typography by preventing ugly quotes and 'widows' and more
PHP
70
star
18

cookies

DEPRECATED Secure Cookies for Twig Templates in Craft CMS
PHP
68
star
19

generator-craftinstall

DEPRECATED generator-craftinstall is a Yeoman generator for Craft CMS installs
JavaScript
57
star
20

craft-vite

Allows the use of the Vite.js next generation frontend tooling with Craft CMS
PHP
50
star
21

buffer

DEPRECATED Send social updates to Twitter, Facebook, etc. through Buffer.com via Twig templates, URLs, and plugins.
PHP
44
star
22

richvariables

DEPRECATED Allows you to easily use Craft Globals as variables in Rich Text fields
PHP
44
star
23

craft-transcoder

Transcode video & audio files to various formats, and provide video thumbnails
PHP
43
star
24

craft-autocomplete

Provides Twig template IDE autocomplete of Craft CMS & plugin variables
PHP
41
star
25

recipe

DEPRECATED A comprehensive recipe FieldType for Craft CMS that includes metric/imperial conversion, portion calculation, and JSON-LD microdata support
PHP
38
star
26

craft-cookies

A simple plugin for setting and getting cookies from within Craft CMS templates.
PHP
37
star
27

craft-retour

Retour allows you to intelligently redirect legacy URLs, so that you don't lose SEO value when rebuilding & restructuring a website
PHP
36
star
28

craft-minify

A simple plugin that allows you to minify blocks of HTML, CSS, and JS inline in Craft CMS templates
PHP
36
star
29

twig-bundle-installer

Install, update, and manage Twig template bundles via Composer
PHP
35
star
30

dotenvy

Speed up your production sites by ditching .env for key/value variable pairs as Apache, Nginx, and shell equivalents
PHP
32
star
31

spin-up-craft

Spin up a working Craft CMS instance quickly & easily with Docker
Dockerfile
31
star
32

craft-routemap

Returns a list of Craft/Vue/React route rules and element URLs for ServiceWorkers from Craft entries
PHP
31
star
33

craft-recipe

A comprehensive recipe FieldType for Craft CMS that includes metric/imperial conversion, portion calculation, and JSON-LD microdata support
PHP
28
star
34

routemap

DEPRECATED Returns a list of Craft/Vue/React route rules and entry & asset URLs for ServiceWorkers from Craft entries
PHP
28
star
35

craft-similar

Similar for Craft lets you find elements, Entries, Categories, Commerce Products, etc, that are similar, based on... other related elements.
PHP
26
star
36

disqus

DEPRECATED Integrate the Disqus commenting system into Craft CMS websites, including Single Sign On (SSO) and custom login/logout URLs.
PHP
26
star
37

craft-emptycoalesce

Empty Coalesce adds the ??? operator to Twig that will return the first thing that is defined, not null, and not empty
PHP
26
star
38

eagerbeaver

DEPRECATED Allows you to eager load elements from auto-injected Entry elements on demand from your templates.
PHP
25
star
39

transcoder

DEPRECATED Transcode videos to various formats, and provide thumbnails of the video
PHP
25
star
40

craft-richvariables

Allows you to easily use Craft Globals as variables in Rich Text fields
PHP
25
star
41

craft-webperf

Webperf helps you build & maintain high quality websites through Real User Measurement of your website's performance
PHP
25
star
42

plugindev

nystudio107 Craft CMS plugin development environment scaffolding
PHP
23
star
43

fastcgicachebust

DEPRECATED Bust the Nginx FastCGI Cache when entries are saved or created.
PHP
22
star
44

craft-closure

Allows you to use arrow function closures in Twig
PHP
22
star
45

craft-twigprofiler

Twig Profiler allows you to profile sections of your Twig templates, and see the resulting timings in the Yii2 Debug Toolbar
PHP
21
star
46

craft-templatecomments

Adds a HTML comment with performance timings to demarcate `{% block %}`s and each Twig template that is included or extended.
PHP
20
star
47

craft-instantanalytics

Instant Analytics brings full Google Analytics support to your Twig templates and automatic Craft Commerce integration with Google Enhanced Ecommerce.
PHP
20
star
48

pathtools

DEPRECATED This twig plugin for the Craft CMS brings convenient path & url manipulation functions & filters to your Twig templates.
PHP
20
star
49

craft-fastcgicachebust

Bust the Nginx FastCGI Cache when entries are saved or created.
PHP
20
star
50

spin-up-statamic

Spin up a working Statamic instance quickly & easily with Docker
PHP
18
star
51

site-module

An example module for Craft CMS 3 that lets you enhance your websites with a custom site module
PHP
18
star
52

save-remote-file-webpack-plugin

webpack 4 plugin to download remote files, and save them locally
JavaScript
17
star
53

craft-youtubeliveembed

This plugin allows you to embed a YouTube live stream and/or live chat on your webpage
PHP
17
star
54

craft-connect

Allows you to connect to external databases and perform db queries
PHP
16
star
55

craft-twigfield

DEPRECATED: Provides a twig editor field with Twig & Craft API autocomplete
PHP
15
star
56

craft-eagerbeaver

DEPRECATED: Allows you to eager load elements from auto-injected Entry elements on demand from your templates.
PHP
14
star
57

tailwind-css-performance

Small repo to demonstrate the slow building of Tailwind CSS using `webpack-dev-server` HMR & PostCSS
JavaScript
13
star
58

docker-images

Docker image source files
Dockerfile
13
star
59

disclosedassets

DEPRECATED Allow your clients to find asset sub-folders by disclosing them by default
PHP
13
star
60

craft-disqus

Integrates the Disqus commenting system into Craft 3 websites, including Single Sign On (SSO) and custom login/logout URLs
PHP
12
star
61

vanillaforums

DEPRECATED Single Sign On plugin for VanillaForums/jsConnect and CraftCMS
PHP
11
star
62

craft-pathtools

This twig plugin for the Craft CMS brings convenient path & url manipulation functions & filters to your Twig templates.
PHP
11
star
63

craft-plugin-vite

Plugin Vite is the conduit between Craft CMS plugins and Vite, with manifest.json & HMR support
PHP
10
star
64

craft-units

Units is a plugin that can convert between any units of measure, and comes with a Field for content authors to use
PHP
9
star
65

craft-icalendar

Tools for parsing & formatting the RFC 2445 iCalendar (.ics) specification
PHP
8
star
66

gatsby-concurrent-mode

Enable Concurrent Mode in in React for Gatsby projects.
JavaScript
8
star
67

charcuterie-vue-vitest

charcuterie-vue-vitest
TypeScript
6
star
68

get-webpack-config

Utilities to help you modularize your webpack configs
JavaScript
6
star
69

craft-plugin-vite-buildchain

A drop-in buildchain for using Vite in your Craft CMS plugins or modules
TypeScript
6
star
70

create-symlink-webpack-plugin

webpack 4 plugin to generate symlinks
JavaScript
5
star
71

spin-up-statamic-starter

Starter kit to add Spin Up Statamic to your existing Statamic project
PHP
4
star
72

craft-code-field

Provides a Code Field that has a full-featured code editor with syntax highlighting & autocomplete
PHP
4
star
73

craft-code-editor

Provides a code editor field with Twig & Craft API autocomplete
PHP
4
star
74

craft-plugin-manifest

Plugin Manifest is the conduit between Craft CMS plugins and webpack, with manifest.json & webpack-dev-server HMR support
PHP
4
star
75

matrixfacades

This is a project demonstrates how to improve authoring experience Matrix Façades
PHP
4
star
76

.github

3
star
77

craft-vanillaforums

Single Sign On plugin for Vanilla Forums/jsConnect and CraftCMS
PHP
3
star
78

vitepress-starter

Starter repository for VitePress documenation
3
star
79

craft-twig-sandbox

Allows you to easily create a sandboxed Twig environment where you can control what tags, filters, functions, and object methods/properties are allowed
PHP
3
star
80

craft-twig-base-templates

Craft CMS Twig base templates
Twig
3
star
81

craft-instantanalytics-ga4

Instant Analytics brings full Google GA4 server-side analytics support to your Twig templates and automatic Craft Commerce integration
PHP
3
star
82

craft-imageoptimize-thumbor

Provides an Thumbor image transform type for the ImageOptimize plugin
PHP
2
star
83

craft-imageoptimize-imgix

Provides an Imgix image transform type for the ImageOptimize plugin.
PHP
2
star
84

docker-yeoman

node yeoman Docker images
Dockerfile
2
star
85

craft-imageoptimize-sharp

Provides an Sharp image transform type for the ImageOptimize plugin
PHP
2
star
86

fwt

Website for the Friends of Webster Trails website http://webstertrails.org/
Twig
2
star
87

test-twig-bundle

Test bundle of Twig templates for Bundle Installer
Twig
2
star
88

schemagen

Generates PHP models representing schema.org JSON-LD types
PHP
2
star
89

entitydecode

DEPRECATED Decodes HTML Entities
PHP
1
star
90

spin-up-statamic-peak

Spin up a working Statamic Peak quickly & easily with Docker
PHP
1
star
91

srcsetdev

TypeScript
1
star
92

craft-twig-base-components

Craft CMS Twig base components
Twig
1
star