Skip to content

Commit 52635e6

Browse files
Currents state of staging (#141)
* feat(): Introduce styleguide page * feat(): Introduce base typography and fonts * feat(): Prepare colors palette (#67) * feat(): Introduce image object (#70) * fix(styleguide): Use page layout directly as styleguide template * feat(): Introduce anchor component (#73) * refactor(): Rename gray colors so we can have more names in a future * feat(): Introduce headings (#68) * feat(): Introduce unordered list (#72) * fix(): Add breakpoints sizes map variable * feat(): Introduce ordered list (#71) * refactor(variables): Use color form colors map for text * feat(): Introduce flex, gutter and waffle components * fix(): Script tags should be before closing body tag * refactor(flex): Use 24col based grid * feat(): Introduce button link (#76) * Revert "refactor(flex): Use 24col based grid" This reverts commit 7109ae1. * wip(): Working on default layout structure * feat(): Introduce Note component (#77) * feat(): Introduce alert component (#75) * refactor(): Refactor in stage and docs components * 11 table (#74) * wip(): Structure and imports * refactor() * Revert "refactor()" This reverts commit 2f47eb0. * feat(): Introduce table * fix(): Resolve conflicts * wip(): WOrking on general layouts * feat(): Introduce media icon (#78) * feat(): Introduce list steps (#80) * feat(): Introduce refactored table (#79) * refactor(): Remove redundant data attr * feat(): Introduce field and input components * fix(): Adjust width of general 3 column layout * wip(): Navbar spacings * refactor(): Move stylized elements to markdown scope so it wont affect layput styles * wip(): Working on page content * feat(): Buttons (#81) * fix(nav): Justify buttons in navbar * feat(): Introduce code, pre and its highlighting * fix(navbar): Enable searching of swiftsearch * Update README.md Update README.md Update README.md add buildprocess add buildprocess add buildprocess update update update add s3 upload add s3 upload add s3 upload update build update build update build update build update build update build update build update build update build update build update build update build update build update build update build update build update build update build update build update build update build update build update build update build use upload/assets use upload/assets use upload/assets use upload/assets use stage credentials instead update build test update build process update build process update build process update build process update build process use sync to upload resolve conflict use sync to upload resolve conflict resolve conflict update update update update resolve conflict resolve conflict resolve conflict test test resolve conflict clean up makefile remove upload/assets update yarn dependencies update s3 bucket being used fixing vendor/bundle caching issues resolve conflict update pipeline resolve conflict build(): Fix livereloading after changes in UNIX OSs (#69) try new permalinks resolve conflict try accessing aws resolve conflict try accessing aws resolve conflict add new hook add new hook test test resolve conflict fix makefile issue cleanup buildkite process fix broken conditional adjust if statement fix conditional statement resolve conflict rebase commits * squash commits * remove chmod command * resolve conflict squash commits remove chmod command add permission update test workdir change test workdir change test workdir change test workdir change * update permissions of build process" * clean up build process * feat(): breadcrumbs (#82) * fix(): Move icons to the includes directory (#84) * feat(): Side menu and sidebar * feat(): Introduce Footer (#88) * feat(): Introduce Thumbnail Integration component; Create Destination Catalog list (#83) * feat(): Introduce new styles for search (#86) * fix(markdown): Limit width of images * feat(): Panel component (#85) * feat(): Callout (#87) * wip(): Introduce accordion module and menu structure * fix(config): Remove rendering limiting to specified pages * fix trailing slashes in links, and delete CI * feat(): Introduce new footer for mobile devices (#91) * Fix list steps styling (#94) * fix(): Remove redundant line height * fix(): Headings in markdown * refactor(): Use flex for creating alert layout (#93) * feat(): Introduce new search navbar for mobile devices (#90) * feat(): Introduce new search navbar for mobile devices * fix(): Search displaying on mobile * feat(): Menu (#95) * fix(): Spacing in nested menu items * fix(): Markdown output fixes * fix(): Bring back autogenerated data files * Homepage (#97) * feat(): Introduce landing section * feat(): Introduce Homepage integration * Rename Homepage file * feat(): Add rest of items to menu * fix(): Max-width set for desktop viewport * fix(): Replace href links in landing section (#98) * feat(): Introduce close icon (#99) * Feat menu active (#100) * feat(): Introduce active state for menu items * refactor(): Use button in menu item elementf for better usability * fix(breadcumbs): Hide overflow * fix(menu-item): Color of a link * fix(menu-item): Links should have pointer cursor * fix(menu-side): Font size of links * refactor(media-icon): Extract small variant to new media-thumbnail component * fix(): Fix config * fix(): Feedback box font sizes changes; Content alignment * fix(): Social list svg color * refactor(media-thumbnail): Hover state and fill of icons * fix(): Heading space on mobile viewport * fix(): Space between copy * fix(meda-thumbnail): Mobile padding * fix(): Remove unnecessary params in feedback include * fix(): Remove unnecessary params from the callout * fix(): Too large spacing inside the feedback boxes; Add border to the button * fix(): Set a different breakpoint for media thumbnail component * refactor(): Clean up unused files * feat(): Introduce mobile panel for Home (#101) * fix(): Thumbnail border color * fix(): Wrong bg color, paddings and inset shadow * feat(): Introduce destinations catalog (#102) * fix(): Sticky sidebar top space * fix(): Apply styles for search results in dropdown, not the modal * feat(): Introduce navbar mobile (#103) * feat(markdown): Add responsive spaces for markdown elements * fix(logo): Add slash to home link * fix(markdown): Internal spacing in table * feat(): Introduce Avatar component (#105) * feat(): Introduce accordion component (#106) * fix(layout): Include navbar-mobile partial in destination layout * fix(): Add missing links to CTA Banner component (#110) * feat(): Add link to consent manage (#111) * fix(): Suport for mobile Safari, add anchor indicator, centering icons (#108) * fix(): restriction of box height (#109) * fix(): Change color of heading and fix spaces (#114) * fix(faq): Add missing link (#115) * feat(): Introduce new design for feedback widget (#113) * feat(): Introduce example of Single Page (#116) * fix(): Heading overlapping (#117) * refactor(): Remove duplicated consent manager script * feat(): Introduce 404 page (#118) * fix(): FAQ read more link (#120) * feat(): Introduce the article page (#119) * fix(alert): Place flex inside the component to prevent background sticking out * fix(note): Add spacing inside the content * fix(menu-side): Add active state * fix(): Change page structure; Add new anchors to related items & faq * fix(): Add missing links to the faq items * feat(): Introduce code example component * fix(menu-item): Add missing back button * feat(): Introduce new Graphik font * fix(): Font weights * fix(list-steps): Align the number * feat() Introduce single integration page (#121) * feat(): Introduce single integration page * feat(): Add default layout for all integrations * fix(): Change background to gray (#122) * fix(): Change position of icon (#124) * fix(): Add space in callout component (#125) * fix(): Make clicable headings (#123) * fix(list-steps): Align steps icons * fix(note): Align note icon * feat(): Introudce popover (#128) * feat(): Introduce catalog layout for warehouses catalog page (#127) * fix(menu-item): Allow fot 3rd nested menu * feat(): Introduce search bar for 404 page (#129) * fix(warehauses): Proper links to single warehouse integration on catalgon view * fix(menu-item): Introduce a new active color for nested menu items (#131) * fix(): Add pointer cursor for headings (#132) * feat(): Introduce missing mobile nav based on desktop sidebar (#133) * fix(): Remove link to nonexistent file (#134) * fix(home): Missing spacing between the heading and the paragraph * feat(breadcrumbs): Introduce new effect for mobile breadcrumbs (#138) * fix(): Change styles for note (#135) * fix(): Add author and callout panel (#136) * fix(): Missing mobile nav for integration page (#137) * fix(popover): Set new z-index * fix(): Change line-eight of heading, align symbol to right (#140) * fix(): Fix detection of the active section (#142) * feat(): Introduce catalog layout for sources catalog page (#126) * fix(landing): Links for the pages media thubnails * feat(): Introduce new approach to displaying ordinal numbers in dates * feat(): Introduce back to top button (#143) * refactor(): New js scripts to replace rakefile (#112) * fix(data): Bring back proper catalog yaml files * fix(data): Bring back old data files * refactor(destinations): Introduce another loop based on new data files (#146) * refactor(destinations): Introduce another loop based on new data files * fix(destinations): Use slug instead of display name * fix(destinations): Move the content to the layout * feat(menu): Introduce destination and sources catalog menus * fix(integration): Links in menu * fix(): urls * feat(): Mobile menu panels (#139) * refactor(sources): Introduce another loop based on new data files (#147)
1 parent 865335e commit 52635e6

File tree

309 files changed

+9936
-19976
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

309 files changed

+9936
-19976
lines changed

Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@ docker-build:
7171
@$(DOCKER_TTY) make build
7272
bundle install
7373

74-
7574
#.PHONY: docs
7675
#docs: node_modules
7776
# $(BIN)/webpack --mode=production

README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ You will need to have Docker installed https://docs.docker.com/install/
99

1010
* If using Linux, run `docker-compose up`
1111

12-
* Visit http://localhost:4000/docsv2/
13-
1412
# Local development with `ruby` and `node`, without platform-api
1513

1614
* If using OSX, install command line tools, `xcode-select --install`

_config.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ baseurl: "/docsv2" # the subpath of your site, e.g. /blog
44
url: "http://0.0.0.0:4000" # the base hostname & protocol for your site, e.g. http://example.com
55
source: ./src
66

7+
permalink: /:categories/:title/
8+
79
# Build settings
810
markdown: kramdown
911
highlighter: rouge
@@ -20,12 +22,17 @@ defaults:
2022
path: "connections/destinations"
2123
values:
2224
integration_type: destination
25+
layout: integration
2326
- scope:
2427
path: "connections/sources/catalog"
2528
values:
2629
integration_type: source
30+
- scope:
31+
path: "connections/warehouses/catalog"
32+
values:
33+
integration_type: warehouse
2734

28-
permalink: /:categories/:title/
35+
plugins_dir: ./_plugins
2936
plugins:
3037
- jekyll-sitemap
3138
- jekyll-redirect-from

_plugins/jekyll-code-example.rb

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
require "erb"
2+
3+
module Jekyll
4+
module CodeExample
5+
class CodeExample < Liquid::Block
6+
def render(context)
7+
environment = context.environments.first
8+
environment['codeexample'] = {} # reset each time
9+
super
10+
template = ERB.new <<-EOF
11+
<div class="code-example" data-code-example>
12+
<div class="code-example__nav flex" data-ref="code-example[nav]">
13+
<% environment['codeexample'].each_with_index do |(key, _), index| %>
14+
<div class="code-example__nav-item flex__column flex__column--shrink" data-class-active="code-example__nav-item--active">
15+
<a href="#" class="code-example__nav-link"><%= key %></a>
16+
</div>
17+
<% end %>
18+
</div>
19+
20+
<div class="code-example__body" data-ref="code-example[body]">
21+
<% environment['codeexample'].each do |_, value| %>
22+
<div class="code-example__tab" data-class-active="code-example__tab--active"><%= value %></div>
23+
<% end %>
24+
</div>
25+
</div>
26+
EOF
27+
template.result(binding)
28+
end
29+
end
30+
31+
class CodeExampleTab < Liquid::Block
32+
alias_method :render_block, :render
33+
34+
def initialize(tag_name, markup, tokens)
35+
super
36+
if markup == ""
37+
raise SyntaxError.new("No toggle name given in #{tag_name} tag")
38+
end
39+
@toggle = markup.strip
40+
end
41+
42+
def render(context)
43+
site = context.registers[:site]
44+
converter = site.find_converter_instance(::Jekyll::Converters::Markdown)
45+
environment = context.environments.first
46+
environment['codeexample'] ||= {}
47+
environment['codeexample'][@toggle] = converter.convert(render_block(context))
48+
end
49+
end
50+
end
51+
end
52+
53+
Liquid::Template.register_tag("codeexampletab", Jekyll::CodeExample::CodeExampleTab)
54+
Liquid::Template.register_tag("codeexample", Jekyll::CodeExample::CodeExample)

_plugins/jekyll-humanize.rb

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
module Jekyll
2+
3+
module Humanize
4+
##
5+
# This is a port of the Django app `humanize` which adds a "human touch"
6+
# to data. Given that Jekyll produces static sites, some of the original
7+
# methods do not make logical sense (e.g. naturaltime).
8+
#
9+
# Source code can be viewed here:
10+
# https://github.com/django/django
11+
#
12+
# Copyright (c) Django Software Foundation and individual contributors.
13+
# All rights reserved.
14+
15+
####################
16+
# PUBLIC METHODS #
17+
####################
18+
19+
def ordinal(value, flag=nil)
20+
##
21+
# Converts an integer to its ordinal as a string. 1 is '1st', 2 is '2nd',
22+
# 3 is '3rd', etc. Works for any integer.
23+
#
24+
# Usage:
25+
# {{ somenum }} >>> 3
26+
# {{ somenum | ordinal }} >>> '3rd'
27+
# {{ somenum | ordinal: "super" }} >>> '3<sup>rd</sup>'
28+
29+
begin
30+
value = value.to_i
31+
flag.to_s.downcase!
32+
rescue Exception => e
33+
puts "#{e.class} #{e}"
34+
return value
35+
end
36+
37+
suffix = ""
38+
suffixes = ["th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th"]
39+
unless [11, 12, 13].include? value % 100 then
40+
suffix = suffixes[value % 10]
41+
else
42+
suffix = suffixes[0]
43+
end
44+
45+
unless flag and flag == "super"
46+
return "#{value}%s" % suffix
47+
else
48+
return "#{value}<sup>%s</sup>" % suffix
49+
end
50+
51+
end
52+
53+
#####################
54+
# PRIVATE METHODS #
55+
#####################
56+
57+
private
58+
def time(input)
59+
case input
60+
when Time
61+
input
62+
when String
63+
Time.parse(input)
64+
else
65+
Jekyll.logger.error "Invalid Date:", "'#{input}' not valid datetime."
66+
exit(1)
67+
end
68+
end
69+
70+
end
71+
72+
end
73+
74+
Liquid::Template.register_filter(Jekyll::Humanize)

js/accordion-group/index.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
const COMPONENT_NAME = 'data-accordion-group'
2+
const COMPONENT_SELECTOR = `[${COMPONENT_NAME}]`
3+
const ACCORDION_SELECTOR = `[data-accordion]`
4+
5+
export default function () {
6+
const components = document.querySelectorAll(COMPONENT_SELECTOR)
7+
8+
components.forEach(component => {
9+
const accordions = component.querySelectorAll(ACCORDION_SELECTOR)
10+
11+
accordions.forEach(currentAccordion => {
12+
currentAccordion.addEventListener('accordion.triggered', () => {
13+
accordions.forEach(accordion => {
14+
let activeClass = accordion.getAttribute('data-class-active') || 'active'
15+
16+
if (accordion.classList.contains(activeClass) && accordion != currentAccordion) {
17+
accordion.classList.remove(activeClass)
18+
}
19+
})
20+
})
21+
})
22+
})
23+
}

js/accordion/events.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* Creates a custom DOM event.
3+
*
4+
* @param {String} name
5+
* @return {Event}
6+
*/
7+
function createEvent (name) {
8+
const event = document.createEvent('Event')
9+
10+
event.initEvent(name, true, true)
11+
12+
return event
13+
}
14+
15+
/**
16+
* First visit
17+
*
18+
* Example:
19+
* el.addEventListener('cookies.firstVisit', () => { ... })
20+
*
21+
* @type {Event}
22+
*/
23+
const accordionTriggered = createEvent('accordion.triggered')
24+
25+
26+
27+
export {
28+
accordionTriggered
29+
}

js/accordion/index.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import { accordionTriggered } from './events'
2+
3+
const COMPONENT_NAME = 'data-accordion'
4+
const COMPONENT_SELECTOR = `[${COMPONENT_NAME}]`
5+
const TRIGGER_SELECTOR = `[data-ref="accordion[trigger]"]`
6+
const BODY_SELECTOR = `[data-ref="accordion[body]"]`
7+
8+
export default function () {
9+
const components = document.querySelectorAll(COMPONENT_SELECTOR)
10+
11+
for (let i = 0; i < components.length; i++) {
12+
let body = components[i].querySelector(BODY_SELECTOR)
13+
let trigger = components[i].querySelector(TRIGGER_SELECTOR)
14+
15+
if (body) {
16+
let activeClass = components[i].getAttribute('data-class-active') || 'active'
17+
18+
if (trigger) {
19+
trigger.addEventListener('click', (event) => {
20+
event.preventDefault()
21+
22+
components[i].dispatchEvent(accordionTriggered)
23+
components[i].classList.toggle(activeClass)
24+
})
25+
}
26+
}
27+
}
28+
}

js/anchors-indicator/index.js

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
2+
const COMPONENT_SELECTOR = '[data-anchors-indicator]'
3+
const ACTIVE_CLASS = 'data-active-class'
4+
const SECTION_ATTR= 'data-sections'
5+
const options = {
6+
rootMargin: 50
7+
}
8+
9+
const throttle = (fn, wait) => {
10+
var time = Date.now();
11+
return function() {
12+
if ((time + wait - Date.now()) < 0) {
13+
fn();
14+
time = Date.now();
15+
}
16+
}
17+
}
18+
19+
export default () => {
20+
const components = document.querySelectorAll(COMPONENT_SELECTOR)
21+
22+
components.forEach(component => {
23+
const sectionSelector = component.getAttribute(SECTION_ATTR)
24+
const activeClass = component.getAttribute(ACTIVE_CLASS)
25+
const sections = document.querySelectorAll(`${sectionSelector}`)
26+
const allLinks = component.querySelectorAll("a");
27+
28+
function scrollspy() {
29+
sections.forEach(current => {
30+
let currentElementOffset = current.offsetTop;
31+
let scrollPosition =
32+
document.documentElement.scrollTop || document.body.scrollTop;
33+
if (currentElementOffset <= scrollPosition + options.rootMargin) {
34+
allLinks.forEach(currentLink => {
35+
currentLink.classList.remove(activeClass);
36+
});
37+
const currentID = current.getAttribute("id");
38+
39+
if ( currentID ) {
40+
component
41+
.querySelector(`a[href="#${currentID}"]`)
42+
.classList.add(activeClass);
43+
}
44+
}
45+
});
46+
}
47+
window.addEventListener("scroll", throttle(scrollspy, 200))
48+
})
49+
}

js/back-scrolling/index.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
const COMPONENT_SELECTOR = '[data-back-scrolling]'
2+
3+
export default function () {
4+
const components = document.querySelectorAll(COMPONENT_SELECTOR)
5+
6+
for (let i = 0; i < components.length; i++) {
7+
window.onscroll = () => {
8+
if (document.body.scrollTop > 30 || document.documentElement.scrollTop > 30) {
9+
components[i].classList.add(components[i].dataset.activeClass)
10+
} else {
11+
components[i].classList.remove(components[i].dataset.activeClass)
12+
}
13+
}
14+
15+
components[i].addEventListener('click', e => {
16+
e.preventDefault()
17+
18+
window.scrollTo({top: 0, behavior: 'smooth'})
19+
})
20+
}
21+
}

js/code-example/index.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
const COMPONENT_SELECTOR = '[data-code-example]'
2+
const NAV_SELECTOR = '[data-ref*="code-example[nav]"]'
3+
const BODY_SELECTOR = '[data-ref*="code-example[body]"]'
4+
5+
export default function () {
6+
const components = document.querySelectorAll(COMPONENT_SELECTOR)
7+
8+
for (let i = 0; i < components.length; i++) {
9+
const tabs = components[i].querySelector(BODY_SELECTOR).children
10+
const triggers = components[i].querySelector(NAV_SELECTOR).children
11+
12+
tabs[0].classList.add(tabs[0].getAttribute('data-class-active'))
13+
triggers[0].classList.add(triggers[0].getAttribute('data-class-active'))
14+
15+
for (let i = 0; i < triggers.length; i++) {
16+
triggers[i].addEventListener('click', (event) => {
17+
event.preventDefault()
18+
19+
let tabActiveClass = tabs[i].getAttribute('data-class-active')
20+
let triggerActiveClass = triggers[i].getAttribute('data-class-active')
21+
22+
for (let t = 0; t < triggers.length; t++) {
23+
triggers[t].classList.remove(triggerActiveClass)
24+
}
25+
26+
for (let t = 0; t < tabs.length; t++) {
27+
tabs[t].classList.remove(tabActiveClass)
28+
}
29+
30+
tabs[i].classList.add(tabActiveClass)
31+
triggers[i].classList.add(triggerActiveClass)
32+
})
33+
}
34+
}
35+
}

0 commit comments

Comments
 (0)