diff --git a/Gemfile b/Gemfile index 084fbd1..0ad28be 100644 --- a/Gemfile +++ b/Gemfile @@ -10,5 +10,4 @@ end group :jekyll_plugins do gem 'hash-joiner' - gem 'simple-rss' end diff --git a/_config.yml b/_config.yml index e125490..c9f7505 100644 --- a/_config.yml +++ b/_config.yml @@ -12,8 +12,6 @@ hiring: false email: contact: contact@bigchaindb.com - contact_formspree: xgkblajx - contact_cc: "contact@bigchaindb.com" cla: xwojnopx cla_cc: "upod-team@bigchaindb.com" gdpr: gdpr@bigchaindb.com diff --git a/_src/_assets/javascripts/bigchain/analytics.js b/_src/_assets/javascripts/bigchain/analytics.js index 1a2fc4b..029d030 100644 --- a/_src/_assets/javascripts/bigchain/analytics.js +++ b/_src/_assets/javascripts/bigchain/analytics.js @@ -135,22 +135,6 @@ var GoogleAnalytics = (function(w,d,$) { // All custom events // - // newsletter forms - gaEventNewsletterSuccess: function() { - ga('send', 'event', 'newsletter', 'subscribe', 'success'); - }, - gaEventNewsletterError: function() { - ga('send', 'event', 'newsletter', 'subscribe', 'error'); - }, - - // contact forms - gaEventContactSuccess: function() { - ga('send', 'event', 'contact', 'contact_form', 'success'); - }, - gaEventContactError: function() { - ga('send', 'event', 'contact', 'contact_form', 'error'); - }, - // CLA forms gaEventClaSuccess: function() { ga('send', 'event', 'cla', 'cla_form', 'success'); diff --git a/_src/_assets/javascripts/bigchain/form-contact.js b/_src/_assets/javascripts/bigchain/form-contact.js deleted file mode 100644 index 98e2a1f..0000000 --- a/_src/_assets/javascripts/bigchain/form-contact.js +++ /dev/null @@ -1,66 +0,0 @@ - -var FormContact = (function(w, d, $) { - - 'use strict'; - - var app, _private, _config; - - _config = { - form: $('#form-contact'), - formBtn: $('#form-contact').find('.btn'), - formURL: $('#form-contact').attr('action'), - formMethod: $('#form-contact').attr('method') - }; - - _private = { - formSubmit: function() { - _config.form.submit(function(e) { - e.preventDefault(); - - if ( $(this).parsley().isValid() ) { - $.ajax({ - url: _config.formURL, - method: _config.formMethod, - data: $(this).serialize(), - dataType: 'json', - beforeSend: function() { - _config.formBtn - .addClass('disabled') - .attr('value', 'Sending...'); - }, - success: function(data) { - _config.form.find('.form-group').addClass('hide'); - _config.form.find('.alert--success').removeClass('hide'); - _config.formBtn.removeClass('disabled'); - - // send GA event - if (!_dntEnabled()) { - GoogleAnalytics.gaEventContactSuccess(); - } - }, - error: function(err) { - _config.form.find('.alert--danger').removeClass('hide'); - _config.formBtn - .removeClass('disabled') - .attr('value', 'Send'); - - // send GA event - if (!_dntEnabled()) { - GoogleAnalytics.gaEventContactError(); - } - } - }); - } - }); - } - }; - - app = { - init: function() { - _private.formSubmit(); - } - }; - - return app; - -})(window, document, jQuery); diff --git a/_src/_assets/javascripts/bigchain/meetup.js b/_src/_assets/javascripts/bigchain/meetup.js deleted file mode 100644 index e8942c7..0000000 --- a/_src/_assets/javascripts/bigchain/meetup.js +++ /dev/null @@ -1,39 +0,0 @@ -document.addEventListener('DOMContentLoaded', function() { - - const url = 'https://bigchaindb-meetups.now.sh' - - function injectData(data) { - const events = data - - // just grab the first item of array - const nextEvent = events[0] - const element = document.getElementsByClassName('js-social-link--meetup')[0] - - if (nextEvent) { - const name = nextEvent.name - const link = nextEvent.link - const date = new Date(nextEvent.time).toLocaleDateString('en-us', { - month: 'short', - day: 'numeric' - }) - const elementTitle = document.getElementsByClassName('meetup-title')[0] - - elementTitle.innerHTML = `${date} ${name}` - elementTitle.style.opacity = 1 - element.href = link - } else { - element.classList.add('hide') - } - } - - fetch(url) - .then(function(response) { - return response.json() - }) - .then(function(data) { - injectData(data) - }) - .catch(function(error) { - console.log(error) - }) -}) diff --git a/_src/_assets/javascripts/bigchain/newsletter.js b/_src/_assets/javascripts/bigchain/newsletter.js deleted file mode 100644 index 16fffa2..0000000 --- a/_src/_assets/javascripts/bigchain/newsletter.js +++ /dev/null @@ -1,53 +0,0 @@ - -//=include vendor/jquery.ajaxchimp.js - -var Newsletter = (function(w, d, $) { - - 'use strict'; - - var app, _private, _config; - - _config = { - newsletter: $('#newsletter') - }, - - _private = { - ajaxChimp: function() { - _config.newsletter.ajaxChimp({ - callback: formCallback - }); - - function formCallback (resp) { - if (resp.result === 'success') { - - _config.newsletter.find('.input-group').addClass('hide'); - - // send GA event - if (!_dntEnabled()) { - GoogleAnalytics.gaEventNewsletterSuccess(); - } - - } - if (resp.result === 'error') { - _config.newsletter.find('.btn') - .removeClass('disabled') - .text('Subscribe'); - - // send GA event - if (!_dntEnabled()) { - GoogleAnalytics.gaEventNewsletterError(); - } - } - } - } - }; - - app = { - init: function() { - _private.ajaxChimp(); - } - }; - - return app; - -})(window, document, jQuery); diff --git a/_src/_assets/javascripts/page-contact.js b/_src/_assets/javascripts/page-contact.js deleted file mode 100644 index 330ad64..0000000 --- a/_src/_assets/javascripts/page-contact.js +++ /dev/null @@ -1,8 +0,0 @@ - -//=include bigchain/form-contact.js - -jQuery(function($) { - - // init form - FormContact.init() -}); diff --git a/_src/_assets/javascripts/page-front.js b/_src/_assets/javascripts/page-front.js index de5d9d2..9918655 100644 --- a/_src/_assets/javascripts/page-front.js +++ b/_src/_assets/javascripts/page-front.js @@ -1,9 +1,7 @@ -//=include bigchain/newsletter.js //=include bigchain/github.js -//=include bigchain/meetup.js -jQuery(function($) { +// jQuery(function($) { - Newsletter.init() -}) + +// }) diff --git a/_src/_assets/javascripts/page-getstarted.js b/_src/_assets/javascripts/page-getstarted.js index 9eb3d34..16c0f43 100644 --- a/_src/_assets/javascripts/page-getstarted.js +++ b/_src/_assets/javascripts/page-getstarted.js @@ -1,19 +1,13 @@ //=include gumshoejs/dist/gumshoe.js //=include bigchain/tab.js -//=include bigchain/newsletter.js const bigchaindbUrl = 'https://test.bigchaindb.com' const apiPath = '/api/v1/' -jQuery(function ($) { +// jQuery(function ($) { - // - // init modules - // - Newsletter.init() - -}) +// }) // diff --git a/_src/_assets/javascripts/page-usecases.js b/_src/_assets/javascripts/page-usecases.js deleted file mode 100644 index 4ac1750..0000000 --- a/_src/_assets/javascripts/page-usecases.js +++ /dev/null @@ -1,10 +0,0 @@ -//=include bigchain/newsletter.js - -jQuery(function($) { - - // - // init modules - // - Newsletter.init() - -}); diff --git a/_src/_assets/javascripts/vendor/jquery.ajaxchimp.js b/_src/_assets/javascripts/vendor/jquery.ajaxchimp.js deleted file mode 100644 index 4141e90..0000000 --- a/_src/_assets/javascripts/vendor/jquery.ajaxchimp.js +++ /dev/null @@ -1,158 +0,0 @@ -/*! -Mailchimp Ajax Submit -jQuery Plugin -Author: Siddharth Doshi -URL: https://github.com/scdoshi/jquery-ajaxchimp - ---- -Modified by: Matthias Kretschmann -- changes to work with our form control feedback styles -- changes to work with our parsley form validation ---- - -Use: -=== -$('#form_id').ajaxchimp(options); - -- Form should have one element with attribute 'type=email' -- Form should have one label element with attribute 'for=email_input_id' (used to display error/success message) -- All options are optional. - -Options: -======= -options = { - language: 'en', - callback: callbackFunction, - url: 'http://blahblah.us1.list-manage.com/subscribe/post?u=5afsdhfuhdsiufdba6f8802&id=4djhfdsh99f' -} - -Notes: -===== -To get the mailchimp JSONP url (undocumented), change 'post?' to 'post-json?' and add '&c=?' to the end. -For e.g. 'http://blahblah.us1.list-manage.com/subscribe/post-json?u=5afsdhfuhdsiufdba6f8802&id=4djhfdsh99f&c=?', -*/ - -(function ($) { - 'use strict'; - - $.ajaxChimp = { - responses: { - 'We have sent you a confirmation email' : 0, - 'Please enter a value' : 1, - 'An email address must contain a single @' : 2, - 'The domain portion of the email address is invalid (the portion after the @: )' : 3, - 'The username portion of the email address is invalid (the portion before the @: )' : 4, - 'This email address looks fake or invalid. Please enter a real email address' : 5 - }, - translations: { - 'en': null - }, - init: function (selector, options) { - $(selector).ajaxChimp(options); - } - }; - - $.fn.ajaxChimp = function (options) { - $(this).each(function(i, elem) { - var form = $(elem); - var email = form.find('input[type=email]'); - var feedback = form.find('.form-control-feedback'); - var formgroup = form.find('.input-group'); - - var settings = $.extend({ - 'url': form.attr('action'), - 'language': 'en' - }, options); - - var url = settings.url.replace('/post?', '/post-json?').concat('&c=?'); - - form.attr('novalidate', 'true'); - email.attr('name', 'EMAIL'); - - form.submit(function () { - var msg; - function successCallback(resp) { - if (resp.result === 'success') { - msg = 'We have sent you a confirmation email'; - formgroup.removeClass('has-error').addClass('has-success'); - } else { - formgroup.removeClass('has-success').addClass('has-error'); - email.removeClass('parsley-success'); - var index = -1; - try { - var parts = resp.msg.split(' - ', 2); - if (parts[1] === undefined) { - msg = resp.msg; - } else { - var i = parseInt(parts[0], 10); - if (i.toString() === parts[0]) { - index = parts[0]; - msg = parts[1]; - } else { - index = -1; - msg = resp.msg; - } - } - } - catch (e) { - index = -1; - msg = resp.msg; - } - } - - // Translate and display message - if ( - settings.language !== 'en' - && $.ajaxChimp.responses[msg] !== undefined - && $.ajaxChimp.translations - && $.ajaxChimp.translations[settings.language] - && $.ajaxChimp.translations[settings.language][$.ajaxChimp.responses[msg]] - ) { - msg = $.ajaxChimp.translations[settings.language][$.ajaxChimp.responses[msg]]; - } - feedback.html(msg); - - feedback.show(2000); - if (settings.callback) { - settings.callback(resp); - } - } - - var data = {}; - var dataArray = form.serializeArray(); - $.each(dataArray, function (index, item) { - data[item.name] = item.value; - }); - - $.ajax({ - url: url, - data: data, - success: successCallback, - dataType: 'jsonp', - error: function (resp, text) { - console.log('mailchimp ajax submit error: ' + text); - } - }); - - // Translate and display submit message - var submitMsg = 'Sending...'; - if( - settings.language !== 'en' - && $.ajaxChimp.translations - && $.ajaxChimp.translations[settings.language] - && $.ajaxChimp.translations[settings.language]['submit'] - ) { - submitMsg = $.ajaxChimp.translations[settings.language]['submit']; - } - form.find('.btn') - .addClass('disabled') - .text(submitMsg); - - //feedback.html(submitMsg).show(2000); - - return false; - }); - }); - return this; - }; -})(jQuery); diff --git a/_src/_assets/styles/_page-front.scss b/_src/_assets/styles/_page-front.scss index c8abf50..86e9e2d 100644 --- a/_src/_assets/styles/_page-front.scss +++ b/_src/_assets/styles/_page-front.scss @@ -6,7 +6,6 @@ .page-front { .section--guides, - .section--blog, .section-testimonials { @extend .background--darker; } diff --git a/_src/_assets/styles/_page-newsletter.scss b/_src/_assets/styles/_page-newsletter.scss deleted file mode 100644 index 2df2d58..0000000 --- a/_src/_assets/styles/_page-newsletter.scss +++ /dev/null @@ -1,63 +0,0 @@ -.page-newsletter { - .content--page--markdown { - padding-top: 0; - padding-bottom: 0; - } - - .section--newsletter { - width: 100vw; - position: relative; - left: 50%; - right: 50%; - margin-left: -50vw; - margin-right: -50vw; - display: flex; - align-items: center; - min-height: 60vh; - background: darken($body-bg, 5%); - - .form-control { - border-color: $gray-light; - - &:focus { - border-color: #fff; - } - } - - .btn { - @extend .btn-primary; - } - - .newsletter__title { - color: $brand-main-blue-light; - } - - // stylelint-disable selector-max-compound-selectors,max-nesting-depth - .form-label, - .form-control, - .form-control:focus ~ .form-label, - .newsletter__text, - .newsletter__gdpr { - color: $text-color; - } - - .newsletter__gdpr { - opacity: .6; - - .icon { - stroke: $gray-light; - color: $gray-light; - } - - a { - box-shadow: inset 0 -1px 0 $gray-light; - - &:hover, - &:focus { - background: $gray-light; - } - } - } - // stylelint-enable selector-max-compound-selectors,max-nesting-depth - } -} diff --git a/_src/_assets/styles/_sections.scss b/_src/_assets/styles/_sections.scss index 229205a..83f3838 100644 --- a/_src/_assets/styles/_sections.scss +++ b/_src/_assets/styles/_sections.scss @@ -87,6 +87,4 @@ // @import '_sections/section-cta-whitepaper'; @import '_sections/section-partners'; -@import '_sections/section-blog'; @import '_sections/section-getstarted'; -@import '_sections/section-newsletter'; diff --git a/_src/_assets/styles/_sections/_section-blog.scss b/_src/_assets/styles/_sections/_section-blog.scss deleted file mode 100644 index ac574a2..0000000 --- a/_src/_assets/styles/_sections/_section-blog.scss +++ /dev/null @@ -1,31 +0,0 @@ -.article { - @include color-overlay; - @include transition; - background-size: cover; - background-position: center; - padding: $spacer; - border-radius: $border-radius; - overflow: hidden; - box-shadow: none; - display: flex; - align-items: center; - min-height: 8rem; - - &:hover, - &:focus { - background-size: cover; - background-position: center; - box-shadow: 0 2px 5px rgba($brand-main-blue-dark, .2); - transform: translateY(-1px); - } -} - -.article__title, -h1.article__title { - font-size: $font-size-lg; - font-weight: $font-weight-normal; - margin: 0; - color: #fff; - position: relative; - z-index: 1; -} diff --git a/_src/_assets/styles/_sections/_section-newsletter.scss b/_src/_assets/styles/_sections/_section-newsletter.scss deleted file mode 100644 index 2f42bf1..0000000 --- a/_src/_assets/styles/_sections/_section-newsletter.scss +++ /dev/null @@ -1,75 +0,0 @@ - -.section--newsletter { - background: $brand-primary; - align-items: flex-start; - - .form-group, - .grid { margin-bottom: 0; } - - .form-control { - border-color: $gray-dark; - - &:focus { - border-color: #000; - } - - &.parsley-error { - border-color: $brand-danger !important; // stylelint-disable-line - } - } - - .btn { - background: $brand-main-blue; - } - - .form-label, - .form-control, - .form-control:focus ~ .form-label { - color: $gray-dark; - } - - .form-control-feedback { - @extend .bold; - margin-top: $spacer / 2; - } - - .form--newsletter { - margin-top: $spacer * 2; - } - - .parsley-errors-list { - right: auto; - left: 0; - bottom: -.25rem; - } -} - -.newsletter__title { - @extend .h5; - margin-top: 0; - margin-bottom: $spacer / 4; -} - -.newsletter__title, -.newsletter__text, -.newsletter__gdpr { - color: $gray-dark; -} - -.newsletter__gdpr { - opacity: .8; - - .icon { - stroke: $brand-main-blue; - color: $brand-main-blue; - } - - a { - box-shadow: inset 0 -1px 0 $brand-main-blue; - - &:hover, - &:focus { - background: $brand-main-blue; - } - } -} diff --git a/_src/_assets/styles/bigchain.scss b/_src/_assets/styles/bigchain.scss index 773d6ed..e2e3d42 100644 --- a/_src/_assets/styles/bigchain.scss +++ b/_src/_assets/styles/bigchain.scss @@ -64,4 +64,3 @@ @import 'page-partners'; @import 'oceanprotocol'; @import 'page-guide'; -@import 'page-newsletter'; diff --git a/_src/_data/gdpr.yml b/_src/_data/gdpr.yml index e2bccf2..a7fec32 100644 --- a/_src/_data/gdpr.yml +++ b/_src/_data/gdpr.yml @@ -5,11 +5,5 @@ general: > We use Formspree & Zapier to send this form and by submitting it, you acknowledge that the information you provide will be transferred to Formspree ([Privacy Policy](https://formspree.io/static/PrivacyPolicy.pdf)) & Zapier ([Privacy Policy](https://zapier.com/privacy/)) for processing. Don't want that? Send us an email at contact@bigchaindb.com. -newsletter: > - We will only use your email to send you our newsletter and by submitting this form you give us permission to do so. You can change your mind at any time by clicking the unsubscribe link of any newsletter you receive from us, deleting your data in the process. For more information visit our [Privacy Policy](/privacy/). - - - We use MailChimp for our newsletter and by submitting this form, you acknowledge that the information you provide will be transferred to MailChimp for processing in accordance with their their [Terms](https://mailchimp.com/legal/terms/) and [Privacy Policy](https://mailchimp.com/legal/privacy/). - cookies: > By continuing your visit to this site, you accept the use of cookies from Google Analytics so we can improve the site for you. diff --git a/_src/_includes/form-contact.html b/_src/_includes/form-contact.html deleted file mode 100644 index c96416f..0000000 --- a/_src/_includes/form-contact.html +++ /dev/null @@ -1,53 +0,0 @@ - -
-

- - -

-

- - -

-

- - -

-

- Fields marked with an * are required. -

-

- -

- -
- - - -

- Great to hear you’re interested! - We’ll get in touch soon. -

-
-
- - - -

- Ops, there was an error - Would you mind trying again? -

-
- - - - - -
- - - -
- {{ site.data.gdpr.general | markdownify }} -
-
-
diff --git a/_src/_includes/form-newsletter.html b/_src/_includes/form-newsletter.html deleted file mode 100644 index 8bcebdc..0000000 --- a/_src/_includes/form-newsletter.html +++ /dev/null @@ -1,23 +0,0 @@ -
- -
-
- - - - - - - - - -
- - -
-
diff --git a/_src/_includes/hero.html b/_src/_includes/hero.html index 1cf419d..94dae23 100644 --- a/_src/_includes/hero.html +++ b/_src/_includes/hero.html @@ -10,6 +10,19 @@ + + Learn More diff --git a/_src/_includes/sections/section-blog.html b/_src/_includes/sections/section-blog.html deleted file mode 100644 index a6c9300..0000000 --- a/_src/_includes/sections/section-blog.html +++ /dev/null @@ -1,27 +0,0 @@ -
-
- -
-

The BigchainDB Blog

-

Updates, stories and ideas from the people behind BigchainDB.

-
- -
- {% for article in site.articles | limit: 6 %} - - {% endfor %} -
- -

- Go to blog -

- -
-
diff --git a/_src/_includes/sections/section-newsletter.html b/_src/_includes/sections/section-newsletter.html deleted file mode 100644 index 33113e3..0000000 --- a/_src/_includes/sections/section-newsletter.html +++ /dev/null @@ -1,38 +0,0 @@ - -
-
- -
-
-

- {% if page.newsletter.title %} - {{ page.newsletter.title }} - {% else %} - Get updates delivered to your inbox - {% endif %} -

- - - {% include form-newsletter.html %} -
-
- - - -
-
-
-
diff --git a/_src/_layouts/page.html b/_src/_layouts/page.html index 50240bc..5d798e0 100644 --- a/_src/_layouts/page.html +++ b/_src/_layouts/page.html @@ -20,5 +20,4 @@ layout: base {% if page.path contains "whitepaper" %} {% include sections/section-whitepaper-download.html %} - {% include sections/section-newsletter.html %} {% endif %} diff --git a/_src/_plugins/blog.rb b/_src/_plugins/blog.rb deleted file mode 100644 index bbd7af1..0000000 --- a/_src/_plugins/blog.rb +++ /dev/null @@ -1,42 +0,0 @@ -# http://stackoverflow.com/a/27850727/733677 - -require 'open-uri' -require 'rss' -require 'simple-rss' - -module Jekyll - - # Runs during jekyll build - class RssFeedCollector < Generator - safe true - priority :high - def generate(site) - - rss_items = SimpleRSS.parse open('https://blog.bigchaindb.com/feed/') - - # Create a new on-the-fly Jekyll collection called "articles" - jekyll_items = Jekyll::Collection.new(site, 'articles') - site.collections['articles'] = jekyll_items - - # Add fake virtual documents to the collection - rss_items.items.each do |item| - title = item.title - link = item.link - - # Medium hack: get first image in content, then get smaller image size - image = item.content_encoded[/img.*?src="(.*?)"/i,1].gsub(/max\/(.*)\//, "max/500/") - - path = '_articles/' + title.to_s.gsub(':','_') + '.md' - path = site.in_source_dir(path) - doc = Jekyll::Document.new(path, site: site, collection: jekyll_items) - doc.data['title'] = title - doc.data['link'] = link - doc.data['image'] = image - jekyll_items.docs << doc - end - rescue - puts "Could not parse blog feed. Are you offline?" - end - end - -end diff --git a/_src/contact.html b/_src/contact.html index 2396b96..44a5039 100644 --- a/_src/contact.html +++ b/_src/contact.html @@ -9,17 +9,17 @@ js: page-contact.min.js
-
-

{{ site.address.company }}

+
+

{{ site.address.company }}

-
-

{{ site.address.street }}

-

{{ site.address.zip }} {{ site.address.city }}

-

{{ site.address.country }}

-
+
+

{{ site.address.street }}

+

{{ site.address.zip }} {{ site.address.city }}

+

{{ site.address.country }}

+
+ +

{{ site.url | remove: 'https://' }}

+

{{ site.email.contact }}

+
-

{{ site.url | remove: 'https://' }}

-

{{ site.email.contact }}

-
-
diff --git a/_src/developers/getstarted.html b/_src/developers/getstarted.html index f56c64d..49021a4 100644 --- a/_src/developers/getstarted.html +++ b/_src/developers/getstarted.html @@ -367,5 +367,3 @@ conn.postTransactionCommit(txSigned) - -{% include sections/section-newsletter.html %} diff --git a/_src/newsletter.md b/_src/newsletter.md deleted file mode 100644 index ad25472..0000000 --- a/_src/newsletter.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: page - -title: Newsletter -tagline: Stay in the loop about all things BigchainDB -description: Subscribe to our newsletter and stay in the loop about all things BigchainDB. ---- - -{% include sections/section-newsletter.html %} diff --git a/_src/privacy.md b/_src/privacy.md index bcae718..3907007 100644 --- a/_src/privacy.md +++ b/_src/privacy.md @@ -50,8 +50,6 @@ If you want to contribute to the project, you must complete our [Contributor Lic ​ If you want to sign the CLA form or contact us without using these forms, you can email {{ site.email.gdpr }}. -We use MailChimp for our newsletter, and the information you submit via our newsletter subscription form will be transferred to MailChimp for processing in accordance with their [Terms](https://mailchimp.com/legal/terms/) and [Privacy Policy](https://mailchimp.com/legal/privacy/). - ### BigchainDB Test Network Use of the BigchainDB Test Network available under [testnet.bigchaindb.com](https://testnet.bigchaindb.com) is subject to its own [Terms](https://testnet.bigchaindb.com/terms-network). Creating an account and using it submits your entered information to 3Scale according to their [Terms](https://www.3scale.net/terms-and-conditions/) and [Privacy Policy](https://www.redhat.com/en/about/privacy-policy). diff --git a/docs/forms.md b/docs/forms.md index 2f8f5d3..f88f62c 100644 --- a/docs/forms.md +++ b/docs/forms.md @@ -4,11 +4,9 @@ We have multiple forms collecting and processing data throughout the whole site Form | Actions ------------ |------------- -`/newsletter` | send data to MailChimp and subscribe to newsletter list (double opt-in) -`/contact` | send data to CC emails, Slack message `/cla` | 2 different forms, send data to CC emails -Initial form sending, except for newsletter, is handled via formspree.io with a Gold account. As form submissions arrive there, Formspree sends out the received data to the email addresses setup as CC in [our site config](../_config.yml). +Initial form sending is handled via formspree.io with a Gold account. As form submissions arrive there, Formspree sends out the received data to the email addresses setup as CC in [our site config](../_config.yml). Submissions are processed further like so: @@ -17,7 +15,3 @@ _Formspree -> Zapier Email Parser -> Zapier -> Slack & Google Sheets_ The Zapier email parser is a special mailbox provided by Zapier which receives form submissions from Formspree, parses the content of those emails and extracts data fields out of it. The parser as a source then provides the structured data to our Zapier tasks. The Slack message never contains personally identifiable information. Name and email are not transmitted. - -## Newsletter - -Newsletter submissions are sent directly to MailChimp via their undocumented `jsonp` functionality, NOT the MailChimp API. We use a local copy of [ajaxChimp](https://github.com/scdoshi/jquery-ajaxchimp) to send the data. Library is old and jQuery but it just works across a wide range of browsers, even older ones.