Skip to content

Commit d5d46d4

Browse files
committed
Revamp README: add badges, restructure content
Complete overhaul of README.md to modernize and reorganize project documentation: added npm badges and license badge, concise project summary, why/feature sections, and a formatted organizations table. Added Getting Started and Development instructions, repository structure (monorepo/packages), documentation and resource links, TidyContact integration details, and updated contact/title for Bryan Casler. Numerous legacy bullets and verbose client list were condensed or reformatted for clarity and easier consumption.
1 parent 6f807e8 commit d5d46d4

1 file changed

Lines changed: 162 additions & 129 deletions

File tree

README.md

Lines changed: 162 additions & 129 deletions
Original file line numberDiff line numberDiff line change
@@ -1,148 +1,181 @@
11
<img src="https://raw.githubusercontent.com/4site-interactive-studios/engrid/main/reference-materials/repo/repo-hero.jpg">
22

3-
# 4Site's ENgrid Page Template Framework
4-
5-
<!--- <img align="right" width="200" height="200" src="https://engagingnetworks.academy/wp-content/uploads/2019/09/D-D-Partner.png"> -->
6-
7-
This project started as a labor of love for our clients and ourselves. Originating in 2017 as a partnership between Engaging Networks and 4Site Studios to create the first freely available page templates for their platform, we created our first resuable Engaging Networks Page Template. That project was incredibly successful, and those templates are still used today for all new Engaging Networks clients. They're easy for junior developers and code dabblers to ease into, and they included Internet Explorer 11 support.
8-
9-
Since then, we've continued to enhance and refine our work, culminating in a complete re-write in late 2019 that was named "ENgrid". Using today's latest web technologies, Webpack, Typescript, ES6, SCSS, and CSS Grids, we've created a new framework for marketers, fundraisers, and everyone in between that will ensure your pages stand out and deliver the performance you're looking for.
10-
11-
Designed and Developed by [4Site Studios](https://www.4sitestudios.com/engaging-networks/?ms=github) while working with:
12-
13-
1. American Technion Society (ATS) - Launching Q4, 2025- Amnesty International USA (AIUSA)
14-
2. Catholic Extension
15-
3. Center for Science in Public Interest (CSPI)
16-
4. Earth Island Institute
17-
5. Engaging Networks - Free & Flexible templates
18-
6. Evangelical Lutheran Church in America (ELCA) - Launching Q4, 2025
19-
7. Food and Water Watch (FWW)
20-
8. Friends of Canadian Broadcasting
21-
9. Human Rights Campaign (HRC) via Lautman Maska Neill & Company
22-
10. International Fund for Animal Welfare (IFAW)
23-
11. Just Liberty
24-
12. Mercy for Animals
25-
13. National Parks Conservation Association (NPCA) via Avalon Consulting
26-
14. National Trust for Historic Preservation (NTHP) via Avalon Consulting
27-
15. National Wildlife Federation (NWF)
28-
16. Oceana
29-
17. Ocean Conservancy
30-
18. Organic Consumers
31-
19. Oxfam America
32-
20. Oxfam Canada
33-
21. People for the Ethical Treatment of Animals (PETA)
34-
22. Polaris Project
35-
23. Rainforest Action Network (RAN)
36-
24. Saint Anthony's Guild (Friar Works)
37-
25. Save the Children Action Network (SCAN)
38-
26. Save Tibet via Schultz and Williams
39-
27. Shatterproof
40-
28. SPCA International (SPCAI) - Launching Q4, 2025
41-
29. The Nature Conservancy (TNC)
42-
30. Turtle Island Restoration Network
43-
31. Van Andel Institute
44-
32. World Wildlife Fund (WWF)
45-
46-
## ENgrid Features
3+
# ENgrid — Page Template Framework for Engaging Networks
4+
5+
[![npm version - scripts](https://img.shields.io/npm/v/@4site/engrid-scripts?label=%404site%2Fengrid-scripts)](https://www.npmjs.com/package/@4site/engrid-scripts)
6+
[![npm version - styles](https://img.shields.io/npm/v/@4site/engrid-styles?label=%404site%2Fengrid-styles)](https://www.npmjs.com/package/@4site/engrid-styles)
7+
[![License: Unlicense](https://img.shields.io/badge/license-Unlicense-blue.svg)](https://github.com/4site-interactive-studios/engrid/blob/main/LICENSE)
8+
9+
ENgrid is an open-source page template framework built by [4Site Studios](https://www.4sitestudios.com/engaging-networks/?ms=github) for [Engaging Networks](https://www.engagingnetworks.net/). It provides mobile-first, accessible, conversion-optimized page templates for donation, advocacy, e-card, event, survey, premium, and other EN page types — with features that go well beyond what Engaging Networks offers out of the box.
10+
11+
## Why ENgrid?
12+
13+
- **Conversion-focused** — Smart donation amount handling, upsell lightboxes, live giving variables, and dozens of enhancements designed to increase completion rates and average gift size
14+
- **Accessible by default** — Skip links, ARIA attributes, keyboard focus management, and autocomplete attributes are applied automatically to help meet WCAG standards
15+
- **Content editor friendly** — All on-page content is editable through the EN page builder. Background images, layouts, click-to-expand sections, conditional content, media attribution, and more — all without developer involvement
16+
- **Developer extensible** — Built with TypeScript, SCSS, and Webpack. Per-client GitHub repos, 30+ body data attributes, sub-brand theming, a debug panel, and 35+ helper functions
17+
- **Fast** — Single CSS and JS file, prefetched render-critical assets, lazy loaded images — the fastest page load times possible on Engaging Networks
18+
- **Open source** — Released under [The Unlicense](https://github.com/4site-interactive-studios/engrid/blob/main/LICENSE). All code is published on GitHub with full release notes documenting every change
19+
20+
## Features
4721

4822
### Giving Pages
49-
- Comma and non-number handling in Other Donation Amount input field
50-
- Automatically change the Credit Card Expiration Year Field Options to include the current year and the next 19 years, removing past years
23+
- Smart donation amount handling (strips commas, non-numeric characters)
24+
- Auto-updated credit card expiration year options
5125
- Full VGS support with custom styling and error handling
52-
- Tip Jar / Additional Gift Checkbox that works in addition to ENs native processing fee checkbox
53-
- Donation Upsell Lightbox, an alternative to EN's native upsell lightbox that can be further customized
54-
- Conditional Hide/Show fields (e.g., In Honor of Giving Fields)
55-
- Give by Check, Card, Paypal, Apple Pay, Google Pay, and Venmo (Depends on Payment processor support)
56-
- Auto-update CC Expiration Date fields
57-
- Insert the currently selected giving amount and frequency anywhere on the page with our "Live giving variables" that act like live merge tags
58-
- CVV "What's this" tooltip
59-
- Conditionally hide/show content based on giving amount
60-
- Conditionally hide/show content based on giving frequency
61-
- Conditionally hide/show content based on the selected value of another radio or checkbox input
62-
- Optional "Remember Me" to save and pre-fill supporter info. Works cross-domain/sub-domain
63-
- More customizations for the Currency Selector, with the ability to change the amount buttons based on the selected currency
64-
-
65-
66-
### Advocacy Pages
67-
- Advocacy "Opt-in Upsell" Lightbox
68-
- Title field "Why is this required?" tooltip for Email to Senate target actions
69-
70-
### e-Card Pages
71-
- Tweaked UI / UX for an improved e-card "add recipient" experience
72-
73-
### Accessibility Enhancements
74-
- Skip content link accessibility enhancement
75-
- Accessible outlines around fields when you navigate to them with your keyboard
26+
- Tip Jar / Processing Fee checkbox
27+
- Donation Upsell Lightbox with customizable one-time to recurring upsells
28+
- Conditional hide/show fields (e.g., In Honor/Memorial giving)
29+
- Card, Check, PayPal, Apple Pay, Google Pay, Venmo, and DAF support (varies by payment processor)
30+
- Live giving variables — insert the selected amount and frequency anywhere on the page
31+
- CVV "What's this?" tooltip
32+
- Conditional content based on giving amount, frequency, or any selected radio/checkbox value
33+
- Remember Me — save and pre-fill supporter info across visits, cross-domain/subdomain
34+
- Enhanced currency selector with per-currency amount buttons
35+
- Premium gift displays with multiple themes
36+
- Post-donation donation embed for follow-up gifts on the thank you page
37+
38+
### Advocacy & e-Card
39+
- Advocacy opt-in upsell lightbox
40+
- Title field "Why is this required?" tooltip for Email-to-Senate actions
41+
- Improved e-card recipient UX
42+
- Ecard-to-target for sending ecards to advocacy targets
43+
44+
### Accessibility
45+
- Skip to main content link for keyboard navigation
46+
- Accessible outlines around fields when navigating by keyboard
7647
- Optional accessible drop-down menu
77-
- Automatically add the autocomplete attribute to the most common input elements
78-
- Automatically add the aria-required attribute to required fields
79-
- Automatically add the aria-labelledby attribute to input fields with labels
80-
- Automatically add the aria-label attribute to the other amount input field & split selets
81-
82-
### Improvements for Content Editors
83-
- All on-page content is editable; nothing hard coded into the page template
84-
- Per Page Background Images and Videos!
85-
- Per Page Layouts (Six Built-In)
86-
- Click-to-expand content sections can be opened with a click, touch, or by pressing "enter" or "spacebar" when focused with a keyboard.
87-
- Add an attribution overlay to images and videos to include the photographer's name, no more editing in Photoshop and hard coding it in. You can also optionally add a link
88-
- All pages using our page template can be seamlessly embedded in your website with Shortcodes using our WordPress iFrame embed plugin or our custom script
89-
- Inside page builder, hidden and conditional content is visually color-coded
90-
- Easy to add classes for visually hiding labels/fields while keeping in line with accessibility best practices
91-
- Easy to add classes for conditionally showing / hiding content based on gift amount (e.g., .showifamount-greaterthanorequalto-15)
92-
- Easy to add classes for conditionally showing / hiding content based on the selected value of another radio or checkbox input
93-
- Page template allows for default Facebook / Twitter social sharing meta tags with support for EN's per-page social sharing widget to override them
94-
- ENgrid content editor documentation
95-
- Support for custom merge tags in the page content, that can be replaced with dynamic values passed in the URL
96-
- Adjust an ecard form to target a specific recipient, defined in a code block
97-
- Ability to embed an ecard form into Donation/Advocacy pages
98-
- Easily get redirected to the page builder from any page by adding `?pbedit` to the URL
99-
100-
### Improvements for Developers
101-
- 30+ data attributes added to the body tag for more control over the styling and functionality of the page
102-
- Each client project gets its own GitHub repo containing all source code and assets
103-
- Works with all page types (e.g., Donation, Premium, e-Card, Email to Target, Event, etc.). We add coverage when any new page type or display scenario comes up.
104-
- Supports themes "Sub-Brand" theming and alternative brand theming for the ultimate setup and A/B testing scenario
48+
- Automatic `autocomplete` attributes on common input fields
49+
- Automatic `aria-required` on required fields
50+
- Automatic `aria-labelledby` on input fields with labels
51+
- Automatic `aria-label` on Other Amount input and split selects
52+
53+
### Content Editor Capabilities
54+
- All on-page content editable through the EN page builder — nothing hard-coded
55+
- Per-page background images and videos
56+
- Six built-in page layouts
57+
- Click-to-expand content sections (click, touch, or keyboard accessible)
58+
- Media attribution overlays for photographer/artist credits with optional links
59+
- Seamless WordPress embedding via the Promotions Plugin or shortcodes
60+
- Color-coded hidden and conditional content inside the page builder
61+
- Easy classes for visually hiding labels while maintaining accessibility
62+
- Simple CSS classes for conditional show/hide by amount, frequency, or selection
63+
- Default social sharing meta tags with per-page override support
64+
- Custom merge tags replaced with dynamic values from URL parameters
65+
- Ecard form embedding into donation/advocacy pages
66+
- Quick edit shortcut — add `?pbedit` to any page URL to jump to the page builder
67+
68+
### Developer Capabilities
69+
- 30+ data attributes on the `<body>` tag for granular styling and functional control
70+
- Per-client GitHub repos with all source code and assets
71+
- Works with all EN page types — donation, premium, e-card, email-to-target, event, survey, and more
72+
- Sub-brand theming and A/B testing support
10573
- Optional placeholder values in input fields
106-
- Address Form Field Internationalization - If the user is on a US / English page and selects "France" as their country, the Address Form fields will update their labels, change their ordering, and hide/show relevant fields for French Address formatting. Current address formatting support for (United States, Canada, United Kingdom, France, Germany, Netherlands, and Australia).
107-
- Hidden fields become visible when the debug mode is enabled
108-
- Debug panel that allows you to quick-fill form fields, change theme layouts, force form submission, and give you a shortcut to the EN page builder
109-
- Abstract class with more than 35 helper functions that tackle common EN tasks like getting/setting field values,
110-
- ENgrid developer documentation
111-
112-
### General Quality of Life Improvements
113-
- Added data attributes to form fields to help improve browser/password manager auto-fill completions
114-
- On page load auto select the users country based on IP address
115-
- Capitalize the first letter of First Name, Last Name, Address 1, City, and Region fields on the form submit
116-
- Lazy Load all image assets and moves them to their own CPU thread to prevent slowdowns in rendering the page when they include high-resolution imagery
117-
- Fastest page load times possible on Engaging Networks. All render critical assets are prefetched, and there is only a single CSS and JS file
118-
- Optional IE11 pop-up encouraging users to upgrade their browsers
119-
- Auto push events about page type, field interactions, and actions to Google Tag Manager
120-
121-
### TidyContct Paid Services integrated with ENgrid
122-
- TidyContact Address: Format all US addresses to the CASSI address standard in real-time on form submission
123-
- TidyContact Phone: Format mobile numbers to the Twilio E.164 format in real-time on form submission
124-
- TidyContact Email: Validate email addresses in real-time before the form is submitted
125-
- TidyContact QuickFill: "Remember Me" to save and pre-fill supporter info. Works cross-domain/sub-domain
74+
- International address formatting — fields update labels, ordering, and visibility based on selected country (US, CA, UK, FR, DE, NL, AU)
75+
- Debug panel for quick-filling forms, changing layouts, forcing submissions, and shortcuts to the page builder
76+
- 35+ helper functions for common EN tasks (getting/setting field values, etc.)
77+
78+
### Quality of Life
79+
- Exit intent lightbox to capture abandoning visitors
80+
- Enhanced browser and password manager autofill via data attributes
81+
- IP-based country auto-detection on page load
82+
- Auto-capitalization of First Name, Last Name, Address, City, and Region
83+
- Lazy loading with off-thread image rendering for high-resolution imagery
84+
- Single CSS + JS file with prefetched render-critical assets for fastest EN page loads
85+
- Automatic GTM Data Layer events for page type, field interactions, and form actions
86+
- Welcome Back returning supporter recognition
87+
- Multi-step form support controlled via content blocks in the page builder
88+
89+
### TidyContact Integration (Paid Add-on)
90+
- **TidyContact Address** — Format US addresses to the CASS standard in real time on form submission
91+
- **TidyContact Phone** — Format mobile numbers to the Twilio E.164 format in real time
92+
- **TidyContact Email** — Validate email addresses in real time before form submission
93+
- **TidyContact QuickFill** — Remember Me to save and pre-fill supporter info cross-domain/subdomain
94+
95+
## Organizations Using ENgrid
96+
97+
| | | |
98+
|---|---|---|
99+
| Amnesty International USA (AIUSA) | American Technion Society (ATS) | Catholic Extension |
100+
| Center for Science in the Public Interest (CSPI) | Earth Island Institute | Engaging Networks |
101+
| Evangelical Lutheran Church in America (ELCA) | Food and Water Watch (FWW) | Friends of Canadian Broadcasting |
102+
| Human Rights Campaign (HRC) | International Fund for Animal Welfare (IFAW) | Just Liberty |
103+
| Mercy for Animals | National Parks Conservation Association (NPCA) | National Trust for Historic Preservation (NTHP) |
104+
| National Wildlife Federation (NWF) | Oceana | Ocean Conservancy |
105+
| Organic Consumers Association | Oxfam America | Oxfam Canada |
106+
| People for the Ethical Treatment of Animals (PETA) | Polaris Project | Rainforest Action Network (RAN) |
107+
| Saint Anthony's Guild (Friar Works) | Save the Children Action Network (SCAN) | Save Tibet |
108+
| Shatterproof | SPCA International (SPCAI) | The Nature Conservancy (TNC) |
109+
| Turtle Island Restoration Network | Van Andel Institute | World Wildlife Fund (WWF) |
110+
111+
## Getting Started
112+
113+
Start a new client theme from the template repo:
114+
115+
```
116+
git clone https://github.com/4site-interactive-studios/engrid-template.git my-org-theme
117+
cd my-org-theme
118+
npm install
119+
npm run watch
120+
```
121+
122+
For full setup instructions, see [Creating an ENgrid Theme](https://engrid.4sitestudios.com/docs/v2/creating-an-engrid-theme) in the documentation.
123+
124+
## Documentation
125+
126+
- [Features Overview](https://engrid.4sitestudios.com/docs/v2/features-overview) — What ENgrid can do
127+
- [Content Editor Guide](https://engrid.4sitestudios.com/docs/v2/content-editor-guide) — For non-developers managing page content
128+
- [Developer Training Guide](https://engrid.4sitestudios.com/docs/v2/training) — Setup, theming, and development workflow
129+
- [Release Notes](https://www.4sitestudios.com/engrid-release-notes/) — What's new in each release
130+
131+
## Repository Structure
132+
133+
This is a Lerna monorepo containing two packages:
134+
135+
- **[@4site/engrid-scripts](https://www.npmjs.com/package/@4site/engrid-scripts)** — TypeScript framework powering ENgrid's functionality
136+
- **[@4site/engrid-styles](https://www.npmjs.com/package/@4site/engrid-styles)** — SCSS base styles for ENgrid page templates
137+
138+
Client themes install these as npm dependencies and extend them with organization-specific customizations.
139+
140+
## Development
141+
142+
```shell
143+
# Clone the repo
144+
git clone https://github.com/4site-interactive-studios/engrid.git
145+
cd engrid
146+
147+
# Install dependencies
148+
npm install
149+
150+
# Build all packages
151+
npm run build
152+
153+
# Watch for changes during development
154+
npm run watch
155+
```
126156

127157
## ENgrid Resources
128158

129-
- [ENgrid Template Github Repository](https://github.com/4site-interactive-studios/engrid-template/)
130159
- [ENgrid Documentation](https://engrid.4sitestudios.com/)
131-
- [Community Run EN Slack Channel](https://join.slack.com/t/endevelopers/shared_invite/enQtNTgyMDU5NDEzOTQxLWM1YjkwYmM2NjcxODdhNjI4MmRhMjI1ZTJlNzZlYTM5MmI4OTg3NTlhZTljMDMyMjczZmYyNTBjZmM4ZDY4MTA)
160+
- [ENgrid Template Repository](https://github.com/4site-interactive-studios/engrid-template/)
161+
- [ENgrid Release Notes](https://www.4sitestudios.com/engrid-release-notes/)
162+
- [Community EN Slack Channel](https://join.slack.com/t/endevelopers/shared_invite/enQtNTgyMDU5NDEzOTQxLWM1YjkwYmM2NjcxODdhNjI4MmRhMjI1ZTJlNzZlYTM5MmI4OTg3NTlhZTljMDMyMjczZmYyNTBjZmM4ZDY4MTA)
132163

133164
## Engaging Networks Resources
134165

135166
- [Engaging Networks Supportal](https://engagingnetworks.support/)
136-
- [Engaging Networks Acadmey](https://engagingnetworks.academy/)
137-
- [Engaging Networks Maintained Example Code Blocks](https://github.com/EngagingNetworks/page-builder-code-blocks)
138-
- [Engaging Networks Maintained Example Page Styles](https://github.com/EngagingNetworks/page-builder-css-styles)
167+
- [Engaging Networks Academy](https://engagingnetworks.academy/)
168+
- [Engaging Networks Code Blocks](https://github.com/EngagingNetworks/page-builder-code-blocks)
169+
- [Engaging Networks Page Styles](https://github.com/EngagingNetworks/page-builder-css-styles)
139170

140-
# Interested in a project or have questions?
171+
## Interested in ENgrid?
141172

142-
We would love to hear from you.
173+
We'd love to hear from you.
143174

144-
Bryan Casler
145-
Director of Digital Strategy
146-
4Site Interactive Studios
147-
Cell: (315) 877-3420
175+
**Bryan Casler**
176+
Vice President of Digital and AI Strategy
177+
4Site Interactive Studios
178+
Cell: (315) 877-3420
148179
Email: bryan@4sitestudios.com
180+
181+
[Contact 4Site Studios](https://www.4sitestudios.com/contact/) | [Learn more about ENgrid](https://www.4sitestudios.com/engaging-networks/?ms=github)

0 commit comments

Comments
 (0)