diff --git a/.gitignore b/.gitignore index e06837b..f5f0ae3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,11 @@ node_modules Gemfile.lock .jekyll-metadata +.jekyll-cache _dist .awspublish* yarn.lock .yarnclean .bundle vendor/ -package-lock.json *.code-workspace diff --git a/.travis.yml b/.travis.yml index c705772..5a810d4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: ruby rvm: - - 2.5 + - 2.7 cache: bundler: true 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/_ci/build.sh b/_ci/build.sh index a5f325e..3841b33 100755 --- a/_ci/build.sh +++ b/_ci/build.sh @@ -28,7 +28,7 @@ echo "$(tput sgr0)" # reset ## if [ "$TRAVIS_PULL_REQUEST" != "false" ] && [ "$TRAVIS_BRANCH" == "master" ]; then - gulp build --staging + npm run build:staging ## @@ -36,11 +36,11 @@ if [ "$TRAVIS_PULL_REQUEST" != "false" ] && [ "$TRAVIS_BRANCH" == "master" ]; th ## elif [ "$TRAVIS_BRANCH" == "master" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then - gulp build --production + npm run build else - gulp build --production + npm run build fi; diff --git a/_ci/deploy.sh b/_ci/deploy.sh index 817393e..6c30101 100755 --- a/_ci/deploy.sh +++ b/_ci/deploy.sh @@ -14,14 +14,14 @@ set -e; ## if [ "$TRAVIS_PULL_REQUEST" != "false" ] && [ "$TRAVIS_BRANCH" == "master" ]; then - gulp deploy --beta; + npm run deploy:staging; ## ## check for master push which is no pull request ## elif [ "$TRAVIS_BRANCH" == "master" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then - gulp deploy --live; + npm run deploy; else diff --git a/_ci/setup.sh b/_ci/setup.sh index 7d0149d..2699741 100755 --- a/_ci/setup.sh +++ b/_ci/setup.sh @@ -7,7 +7,6 @@ echo " Installing dependencies " echo "=============================================" echo "$(tput sgr0)" # reset -npm install gulp@4.0.0 -g npm install # Travis does that automatically after selecting ruby diff --git a/_config.yml b/_config.yml index 2ccbbd7..1fc8bb4 100644 --- a/_config.yml +++ b/_config.yml @@ -12,12 +12,8 @@ hiring: false email: contact: contact@bigchaindb.com - contact_formspree: xgkblajx - contact_cc: "contact@bigchaindb.com" cla: xwojnopx - cla_cc: "troy@bigchaindb.com,upod-team@bigchaindb.com" - services: mdgvledx - services_cc: "contact@bigchaindb.com" + cla_cc: "upod-team@bigchaindb.com" gdpr: gdpr@bigchaindb.com social: @@ -69,14 +65,6 @@ typekitID: fih1ngo permalink: /:title/ -# Content Parsing -# -------------------- -markdown: redcarpet - -redcarpet: - extensions: ['no_intra_emphasis', 'autolink', 'tables', 'smart', 'hard_wrap', 'fenced_code_blocks', 'strikethrough', 'highlight', 'quote', 'footnotes', 'with_toc_data', 'space_after_headers', 'superscript', 'lax_spacing'] - - # Generator # -------------------- source: ./_src diff --git a/_src/_assets/javascripts/bigchain.js b/_src/_assets/javascripts/bigchain.js index 13c85d1..45927ad 100644 --- a/_src/_assets/javascripts/bigchain.js +++ b/_src/_assets/javascripts/bigchain.js @@ -1,5 +1,4 @@ -//=include svg4everybody/dist/svg4everybody.js //=include jquery/dist/jquery.js //=include smooth-scroll/dist/smooth-scroll.js //=include cookies-eu-banner/dist/cookies-eu-banner.js diff --git a/_src/_assets/javascripts/bigchain/analytics.js b/_src/_assets/javascripts/bigchain/analytics.js index 3c4fa3d..029d030 100644 --- a/_src/_assets/javascripts/bigchain/analytics.js +++ b/_src/_assets/javascripts/bigchain/analytics.js @@ -135,36 +135,12 @@ 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'); }, gaEventClaError: function() { ga('send', 'event', 'cla', 'cla_form', 'error'); - }, - - // Services form - gaEventServicesSuccess: function() { - ga('send', 'event', 'services', 'services_form', 'success'); - }, - gaEventServicesError: function() { - ga('send', 'event', 'services', 'services_form', 'error'); } }; 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/form-services.js b/_src/_assets/javascripts/bigchain/form-services.js deleted file mode 100644 index ff2961d..0000000 --- a/_src/_assets/javascripts/bigchain/form-services.js +++ /dev/null @@ -1,66 +0,0 @@ - -var FormServices = (function(w, d, $) { - - 'use strict'; - - var app, _private, _config; - - _config = { - form: $('#form-services'), - formBtn: $('#form-services').find('.btn'), - formURL: $('#form-services').attr('action'), - formMethod: $('#form-services').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.gaEventServicesSuccess(); - } - }, - error: function(err) { - _config.form.find('.alert--danger').removeClass('hide'); - _config.formBtn - .removeClass('disabled') - .attr('value', 'Send'); - - // send GA event - if (!_dntEnabled()) { - GoogleAnalytics.gaEventServicesError(); - } - } - }); - } - }); - } - }; - - app = { - init: function() { - _private.formSubmit() - } - }; - - return app; - -})(window, document, jQuery) diff --git a/_src/_assets/javascripts/bigchain/hero-video.js b/_src/_assets/javascripts/bigchain/hero-video.js deleted file mode 100644 index fb5d639..0000000 --- a/_src/_assets/javascripts/bigchain/hero-video.js +++ /dev/null @@ -1,45 +0,0 @@ -var HeroVideo = (function(w, d, $) { - - 'use strict' - - var app, _private, _config - - _config = { - heroVideo: $('.hero-video__video').get(0), - minWidth: 720 // $screen-md - } - - _private = { - play: function() { - if ( _config.heroVideo.paused ) { - if ( _config.heroVideo.readyState < 4 ) { - _config.heroVideo.load(); - } - _config.heroVideo.play(); - $(_config.heroVideo).addClass('enabled').removeClass('hide'); - } - }, - pause: function() { - _config.heroVideo.pause(); - $(_config.heroVideo).addClass('hide').removeClass('enabled'); - }, - isWide: function() { - return $(window).width() >= _config.minWidth; - }, - } - - app = { - init: function() { - $(window).on('load resize', function() { - if (_private.isWide()) { - _private.play() - } else { - _private.pause() - } - }) - } - } - - 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 5b108b0..16c0f43 100644 --- a/_src/_assets/javascripts/page-getstarted.js +++ b/_src/_assets/javascripts/page-getstarted.js @@ -1,25 +1,19 @@ //=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() - -}) +// }) // // Scrollspy // -gumshoe.init() +var spy = new Gumshoe('#gumshoe a'); // diff --git a/_src/_assets/javascripts/page-guide.js b/_src/_assets/javascripts/page-guide.js index 6543ffc..a3660b4 100644 --- a/_src/_assets/javascripts/page-guide.js +++ b/_src/_assets/javascripts/page-guide.js @@ -7,13 +7,14 @@ document.addEventListener('DOMContentLoaded', (event) => { const successImage = '' const clipboardButton = `` - const codeBlocks = document.querySelectorAll('.highlight') + const codeBlocks = document.querySelectorAll('div.highlighter-rouge') codeBlocks.forEach(codeBlock => { - const language = codeBlock.getElementsByTagName('code')[0].dataset.lang - - codeBlock.insertAdjacentHTML('afterbegin', clipboardButton) + const language = codeBlock.className.split(' ')[0].replace('language-', '') codeBlock.insertAdjacentHTML('afterbegin', `
${language}
`) + + const pre = codeBlock.querySelectorAll('div.highlight')[0] + pre.insertAdjacentHTML('afterbegin', clipboardButton) }) const buttons = document.querySelectorAll('.highlight .btn--clipboard') diff --git a/_src/_assets/javascripts/page-services.js b/_src/_assets/javascripts/page-services.js deleted file mode 100644 index 1d9de07..0000000 --- a/_src/_assets/javascripts/page-services.js +++ /dev/null @@ -1,6 +0,0 @@ -//=include bigchain/form-services.js - -jQuery(function($) { - - FormServices.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/_page-services.scss b/_src/_assets/styles/_page-services.scss deleted file mode 100644 index 0fb74c7..0000000 --- a/_src/_assets/styles/_page-services.scss +++ /dev/null @@ -1,142 +0,0 @@ -// -// Page: Services -// --- -// bigchaindb.com -// -.page-services { - // Different Features unit layout - .feature { - display: block; - } - - .feature__title { - margin-bottom: $spacer; - display: block; - - // the bottom line - &:after { - content: ''; - height: 2px; - width: 3rem; - display: block; - margin-top: $spacer * $line-height; - } - } - - .feature__icon { - margin-top: 0; - margin-bottom: $spacer / 6; - width: 2.2rem; - height: 2.2rem; - } -} - -.hero--services { - .logo--services { - display: inline-block; - opacity: .75; - fill: $brand-main-blue-light; - } - - .hero__title { - margin-top: $spacer; - } - - .hero__subtitle { - margin-bottom: $spacer * 3; - font-size: $font-size-h5; - - @media ($screen-sm) { - font-size: $font-size-h4; - } - } - - .hero__content { - margin-top: $spacer * 2; - margin-bottom: $spacer * 6; - } - - .btn { - min-width: 220px; - } -} - -.section--servicesdetail { - .feature__icon { - stroke: rgba($brand-main-gray, .65); - color: rgba($brand-main-violet, .65); - } - - .feature__title { - // the bottom line - &:after { - background: rgba($brand-main-gray, .2); - } - } - - .feature__text { - color: rgba($brand-main-blue, .65); - } - - .actions { - text-align: center; - padding-top: $spacer * 3; - border-top: 2px solid rgba($brand-main-gray, .1); - } -} - -.section--servicesintro { - .grid, - .feature { - margin-bottom: 0; - } - - .btn { - margin-top: $spacer * 2; - } - - h2 { - @extend .h3; - margin-bottom: $spacer; - } - - .feature__title { - // the bottom line - &:after { - background: rgba($gray-light, .4); - } - } -} - -.section--servicestestimonial { - .testimonial { - @extend .large; - margin: 0 auto; - - @media ($screen-sm) { - max-width: 66%; - } - } - - .testimonial__quote { - &:before { - margin-left: -1.3rem; - } - } -} - -.form--services { - background: darken($brand-main-blue, 5%); - - .grid { - @media ($screen-sm) { - justify-content: space-between; - } - } - - .grid__col { - @media ($screen-sm) { - flex-basis: 48%; - } - } -} diff --git a/_src/_assets/styles/_sections.scss b/_src/_assets/styles/_sections.scss index 44c0fbb..83f3838 100644 --- a/_src/_assets/styles/_sections.scss +++ b/_src/_assets/styles/_sections.scss @@ -86,8 +86,5 @@ // Specific sections // @import '_sections/section-cta-whitepaper'; -@import '_sections/section-cta-services'; @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-cta-services.scss b/_src/_assets/styles/_sections/_section-cta-services.scss deleted file mode 100644 index 6e74cc9..0000000 --- a/_src/_assets/styles/_sections/_section-cta-services.scss +++ /dev/null @@ -1,28 +0,0 @@ - -.section-cta--services { - @media ($screen-md) { - padding-top: $spacer * 7; - padding-bottom: $spacer * 7; - } - - .logo--services { - margin-bottom: $spacer; - transform: scale(.8); - transform-origin: left; - color: $brand-main-violet; - fill: rgba($brand-main-blue, .5); - } - - .section-header { - margin-bottom: 0; - } - - .section-title { - text-align: left; - margin-bottom: $spacer * 2.5; - - &:after { - display: none; - } - } -} 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 a678716..e2e3d42 100644 --- a/_src/_assets/styles/bigchain.scss +++ b/_src/_assets/styles/bigchain.scss @@ -62,7 +62,5 @@ @import 'page-contact'; @import 'page-cla'; @import 'page-partners'; -@import 'page-services'; @import 'oceanprotocol'; @import 'page-guide'; -@import 'page-newsletter'; diff --git a/_src/_assets/styles/bigchain/_code.scss b/_src/_assets/styles/bigchain/_code.scss index 7f8529f..739dad2 100644 --- a/_src/_assets/styles/bigchain/_code.scss +++ b/_src/_assets/styles/bigchain/_code.scss @@ -77,8 +77,9 @@ pre { .btn--clipboard, .success__text { position: absolute; - top: $spacer * 1.65; + top: .1rem; right: .1rem; + z-index: 10; } .success__text { diff --git a/_src/_assets/styles/bigchain/_variables.scss b/_src/_assets/styles/bigchain/_variables.scss index 363a948..6724680 100644 --- a/_src/_assets/styles/bigchain/_variables.scss +++ b/_src/_assets/styles/bigchain/_variables.scss @@ -34,7 +34,7 @@ $brand-danger: #c9726a !default; // Typography // $font-family-base: 'europa', 'Avenir Next', 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif !default; -$font-family-monospace: Menlo, Monaco, Consolas, 'Courier New', monospace !default; +$font-family-monospace: menlo, monaco, consolas, 'Courier New', monospace !default; $font-weight-light: 300 !default; $font-weight-normal: 400 !default; 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/_data/menus.yml b/_src/_data/menus.yml index 7e81f82..b3ac66b 100644 --- a/_src/_data/menus.yml +++ b/_src/_data/menus.yml @@ -12,8 +12,6 @@ main: - title: Docs url: https://docs.bigchaindb.com/ external: true - - title: Services - url: /services/ secondary: - title: About @@ -26,8 +24,6 @@ secondary: url: "/contact/" community: - - title: Gitter - url: https://gitter.im/bigchaindb/bigchaindb - title: GitHub url: https://github.com/bigchaindb - title: Twitter diff --git a/_src/_includes/banner.html b/_src/_includes/banner.html index fc782b6..7742fab 100644 --- a/_src/_includes/banner.html +++ b/_src/_includes/banner.html @@ -6,7 +6,7 @@ - Meet Ocean. A Decentralized Data Exchange Protocol + BigchainDB GmbH (the company) works on Ocean Protocol. IPDB Foundation (ipdb.io) oversees BigchainDB software and networks. 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/form-services.html b/_src/_includes/form-services.html deleted file mode 100644 index 944e2a9..0000000 --- a/_src/_includes/form-services.html +++ /dev/null @@ -1,116 +0,0 @@ - -
- -

- - -

- -
-
-

- - -

-
-
-

- - -

-
-
-

- - -

-
-
-

- - -

-
-
-

- - -

-
-
-

- - -

-
-
- -

- - -

-

- Fields marked with * 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/hero.html b/_src/_includes/hero.html index aad41a2..94dae23 100644 --- a/_src/_includes/hero.html +++ b/_src/_includes/hero.html @@ -20,26 +20,6 @@ Star - - - - Twitter - - Follow - - - - - Gitter - - Chat - - - - - - BigchainDB Meetup - diff --git a/_src/_includes/scripts.html b/_src/_includes/scripts.html index 48a9a9f..398d467 100644 --- a/_src/_includes/scripts.html +++ b/_src/_includes/scripts.html @@ -11,12 +11,6 @@ {% endif %} - - - - - {{ content }} - {% include banner.html %} + + {{ content }} {% include footer.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/_layouts/partner.html b/_src/_layouts/partner.html index c97c34a..a253d54 100644 --- a/_src/_layouts/partner.html +++ b/_src/_layouts/partner.html @@ -29,6 +29,4 @@ cta: -{% include sections/section-cta-services.html %} - {% include sections/section-cta.html %} diff --git a/_src/_layouts/usecase.html b/_src/_layouts/usecase.html index 511507a..0d3d901 100644 --- a/_src/_layouts/usecase.html +++ b/_src/_layouts/usecase.html @@ -89,6 +89,4 @@ cta: -{% include sections/section-cta-services.html %} - {% include sections/section-cta.html %} 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/about.md b/_src/about.md index 2c278c7..4f26371 100644 --- a/_src/about.md +++ b/_src/about.md @@ -15,16 +15,22 @@ mediakit: link: /mediakit.zip intro: > - BigchainDB is a blockchain database offering decentralization, immutability and native assets. BigchainDB allows for the deployment of large-scale applications in a variety of use cases and industries from intellectual property and identity to supply chain, IoT and artificial intelligence. BigchainDB provides unique solutions for developers, start-ups and enterprises to successfully build their concepts, platforms and applications as big as they can dream. + BigchainDB is a blockchain database offering decentralization, immutability and native assets. BigchainDB allows for the deployment of large-scale applications in a variety of use cases and industries from intellectual property and identity to supply chain, and Internet-of-Things. --- ## Our story -In the summer of 2013, we started working on a project that became ascribe, blockchain-based intellectual property (IP) attribution. We asked the question: how can creators of any digital IP get compensated? Why not own digital art the way you own Bitcoin? With a public store of attribution and provenance, blockchain technology could solve this. So we raised some money, hired a few early employees and kept working on the product until we were satisfied enough to release it, built on the Bitcoin blockchain. The product was basically in shape to serve larger-scale customers, with the glaring exception of the blockchain scalability. We found ourselves needing to turn down opportunities knowing that the Bitcoin blockchain wouldn’t be able to handle the throughput we needed to serve larger enterprises. +In summer 2013, we started working on a project that became [ascribe](www.ascribe.io). It started with problems in the art world: "how do you collect digital art?" and "how do digital artists get paid?". To address this, we wondered aloud: "what if you could own digital art the way you own Bitcoin?" We pulled on this thread further; the idea made sense. So we built early prototypes, raised money, hired a few early employees, and improved the product. We released in beta in 2014, and production in early 2015. We built on the Bitcoin blockchain. Alas, its scalability issues prevented us from serving larger customers. -With this as a starting point, we asked how do we “blockchain-ify” it? We drew on our experience in shipping blockchain products to define three specific characteristics: decentralized, immutable and the ability to register and transfer assets. With the definitions above as a starting point, we chose an enterprise-class distributed database and then built our own technology on top of that, adding those three key characteristics while improving base functionality, fault tolerance much more. See our [roadmap](https://github.com/bigchaindb/org/blob/master/ROADMAP.md). +We observed that MongoDB and other distributed databases (DBs) were powering webapps at internet scale. We asked: how do we “blockchain-ify” such a database? We saw that they'd need three new characteristics: decentralized, immutable, and the ability to "own" assets by holding the private key. So, we wrapped RethinkDB (and later MongoDB) with code to achieve the target characteristics. The result is BigchainDB software. -From the seed of the idea, to intense efforts starting late summer 2015, we made the announcement in February 2016. What initially started as a “let’s solve our own problem” approach almost immediately turned into something much bigger than we expected. With people and enterprises from across all industries reaching out looking to partner, collaborate, license or build on the technology, it became clear that we were solving much more than our own problem. The result is BigchainDB, a blockchain database for the world. +We started to build a prototype of BigchainDB in late summer 2015. It matured enough to open-source and announce BigchainDB in February 2016. What initially started as a “let’s solve our own problem” approach quickly turned into something much bigger than we expected. People and enterprises from across all industries reached out looking to build on the technology. It became clear that we were solving much more than our own problem. -[ascribe](https://www.ascribe.io/) and [WhereOnTheNet](https://www.whereonthe.net/) are all registered trademarks of BigchainDB. +We ran into another issue. Many people built prototypes on the technology, but there was no "live" network ready for them to use in production. Deploying their own became huge exercises and governance. So with others in the community, we initiated [IPDB Foundation](ipdb.io). Its mandate included running a live public BigchainDB network. We spent a lot of time designing governance. + +By early 2017, we'd spent nearly four years thinking about IP and big data. We started to see problems at the intersection of these topics: how can you securely "own" data, and sell it while avoiding "data escapes"? Modern artificial intelligence (AI) was on the rise, and with it, the demand for way more data. We realized that blockchain technology could help, especially decentralized data marketplaces. With Toyota Research Institute, we [built](https://techcrunch.com/2017/05/22/toyota-pushes-into-blockchain-tech-to-enable-the-next-generation-of-cars) a prototype data marketplace that used BigchainDB. + +This initial foray into decentralized data marketplaces grew into a much larger project: [Ocean Protocol](www.oceanprotocol.com). The team at BigchainDB GmbH (the company) is now focused on Ocean Protocol. [IPDB Foundation](ipdb.io) has [assumed governance](https://medium.com/ipdb-blog/ipdb-foundation-assumes-governance-of-bigchaindb-software-and-testnet-51235322e14c) of the BigchainDB software and networks. + +"ascribe" is a registered trademark of BigchainDB. diff --git a/_src/contact.html b/_src/contact.html index 0bf1151..ad6605d 100644 --- a/_src/contact.html +++ b/_src/contact.html @@ -1,71 +1,27 @@ --- layout: page -title: Contact +title: Contact BigchainDB GmbH tagline: Get In Touch js: page-contact.min.js ---
-
-
-
-

Have a technical question? Head to - - Gitter - to chat directly with our developers. -

- {% include/form-contact.html %} +
+
+

{{ site.address.company }}

+ +
+

{{ site.address.street }}

+

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

+

{{ site.address.country }}

-
-
-

{{ site.address.company }}

-
-

{{ 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 e8a954b..656c91e 100644 --- a/_src/developers/getstarted.html +++ b/_src/developers/getstarted.html @@ -124,9 +124,9 @@ conn.postTransactionCommit(txSigned) -