mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-21 15:12:02 +00:00
Merge pull request #30077 from flickerbox/crb-careers-page
Add Greenhouse careers page to website
This commit is contained in:
commit
a980123a43
@ -14,6 +14,7 @@ module.exports = {
|
||||
|
||||
entry: [
|
||||
path.resolve(scssPath, 'bootstrap.scss'),
|
||||
path.resolve(scssPath, 'greenhouse.scss'),
|
||||
path.resolve(scssPath, 'main.scss'),
|
||||
path.resolve(jsPath, 'main.js'),
|
||||
],
|
||||
|
@ -231,6 +231,12 @@ def minify_file(path, css_digest, js_digest):
|
||||
|
||||
|
||||
def minify_website(args):
|
||||
# Output greenhouse css separately from main bundle to be included via the greenhouse iframe
|
||||
command = f"cat '{args.website_dir}/css/greenhouse.css' > '{args.output_dir}/css/greenhouse.css'"
|
||||
logging.info(command)
|
||||
output = subprocess.check_output(command, shell=True)
|
||||
logging.debug(output)
|
||||
|
||||
css_in = ' '.join(get_css_in(args))
|
||||
css_out = f'{args.output_dir}/css/base.css'
|
||||
if args.minify:
|
||||
|
26
website/careers/index.html
Normal file
26
website/careers/index.html
Normal file
@ -0,0 +1,26 @@
|
||||
{% set prefetch_items = [
|
||||
('/docs/en/', 'document')
|
||||
] %}
|
||||
|
||||
{% extends "templates/base.html" %}
|
||||
|
||||
{% block extra_meta %}
|
||||
{% include "templates/common_fonts.html" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block nav %}
|
||||
|
||||
{% include "templates/global/nav.html" %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% include "templates/careers/hero.html" %}
|
||||
{% include "templates/careers/overview.html" %}
|
||||
{% include "templates/careers/greenhouse.html" %}
|
||||
|
||||
{% include "templates/global/newsletter.html" %}
|
||||
{% include "templates/global/github_stars.html" %}
|
||||
|
||||
{% endblock %}
|
16035
website/css/bootstrap.css
vendored
16035
website/css/bootstrap.css
vendored
File diff suppressed because one or more lines are too long
1
website/css/greenhouse.css
Normal file
1
website/css/greenhouse.css
Normal file
@ -0,0 +1 @@
|
||||
#main{padding-bottom:0;padding-top:0}#wrapper{max-width:1078px;padding:0}body>#wrapper>#main>#wrapper>#content,body>#wrapper>#main>#wrapper>#logo,body>#wrapper>#main>#wrapper>h1{display:none}body>#wrapper>#main>#wrapper>#board_title{margin-top:0}body>#wrapper>#main>#logo{margin-top:80px}body>#wrapper>#main>:last-child{margin-bottom:120px}
|
1040
website/css/main.css
1040
website/css/main.css
File diff suppressed because one or more lines are too long
@ -1,158 +1 @@
|
||||
/******/ (function(modules) { // webpackBootstrap
|
||||
/******/ // The module cache
|
||||
/******/ var installedModules = {};
|
||||
/******/
|
||||
/******/ // The require function
|
||||
/******/ function __webpack_require__(moduleId) {
|
||||
/******/
|
||||
/******/ // Check if module is in cache
|
||||
/******/ if(installedModules[moduleId]) {
|
||||
/******/ return installedModules[moduleId].exports;
|
||||
/******/ }
|
||||
/******/ // Create a new module (and put it into the cache)
|
||||
/******/ var module = installedModules[moduleId] = {
|
||||
/******/ i: moduleId,
|
||||
/******/ l: false,
|
||||
/******/ exports: {}
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Execute the module function
|
||||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||||
/******/
|
||||
/******/ // Flag the module as loaded
|
||||
/******/ module.l = true;
|
||||
/******/
|
||||
/******/ // Return the exports of the module
|
||||
/******/ return module.exports;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/
|
||||
/******/ // expose the modules object (__webpack_modules__)
|
||||
/******/ __webpack_require__.m = modules;
|
||||
/******/
|
||||
/******/ // expose the module cache
|
||||
/******/ __webpack_require__.c = installedModules;
|
||||
/******/
|
||||
/******/ // define getter function for harmony exports
|
||||
/******/ __webpack_require__.d = function(exports, name, getter) {
|
||||
/******/ if(!__webpack_require__.o(exports, name)) {
|
||||
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
||||
/******/ }
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // define __esModule on exports
|
||||
/******/ __webpack_require__.r = function(exports) {
|
||||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||||
/******/ }
|
||||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // create a fake namespace object
|
||||
/******/ // mode & 1: value is a module id, require it
|
||||
/******/ // mode & 2: merge all properties of value into the ns
|
||||
/******/ // mode & 4: return value when already ns object
|
||||
/******/ // mode & 8|1: behave like require
|
||||
/******/ __webpack_require__.t = function(value, mode) {
|
||||
/******/ if(mode & 1) value = __webpack_require__(value);
|
||||
/******/ if(mode & 8) return value;
|
||||
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
||||
/******/ var ns = Object.create(null);
|
||||
/******/ __webpack_require__.r(ns);
|
||||
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
||||
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
||||
/******/ return ns;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||||
/******/ __webpack_require__.n = function(module) {
|
||||
/******/ var getter = module && module.__esModule ?
|
||||
/******/ function getDefault() { return module['default']; } :
|
||||
/******/ function getModuleExports() { return module; };
|
||||
/******/ __webpack_require__.d(getter, 'a', getter);
|
||||
/******/ return getter;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Object.prototype.hasOwnProperty.call
|
||||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
||||
/******/
|
||||
/******/ // __webpack_public_path__
|
||||
/******/ __webpack_require__.p = "";
|
||||
/******/
|
||||
/******/
|
||||
/******/ // Load entry module and return exports
|
||||
/******/ return __webpack_require__(__webpack_require__.s = 0);
|
||||
/******/ })
|
||||
/************************************************************************/
|
||||
/******/ ({
|
||||
|
||||
/***/ "../../website/src/js/components/case-study-card.js":
|
||||
/*!**************************************************************************************!*\
|
||||
!*** /Users/cody/Sites/tech.clickhouse/website/src/js/components/case-study-card.js ***!
|
||||
\**************************************************************************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
eval("function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar CaseStudyCard = /*#__PURE__*/function () {\n function CaseStudyCard($el) {\n _classCallCheck(this, CaseStudyCard);\n\n this.onOpen = this.onOpen.bind(this);\n this.onToggle = this.onToggle.bind(this);\n this.$el = $el;\n this.$el.addEventListener('click', this.onOpen);\n this.$el.querySelector('.case-study-card-toggle').addEventListener('click', this.onToggle);\n this.open = false;\n }\n\n _createClass(CaseStudyCard, [{\n key: \"onOpen\",\n value: function onOpen() {\n this.open = true;\n this.$el.classList.toggle('is-open', this.open);\n this.$el.classList.toggle('is-closing', !this.open);\n this.closeOthers();\n }\n }, {\n key: \"onToggle\",\n value: function onToggle(event) {\n event.stopPropagation();\n this.open = !this.$el.classList.contains('is-open');\n this.$el.classList.toggle('is-open', this.open);\n this.$el.classList.toggle('is-closing', !this.open);\n this.closeOthers();\n }\n }, {\n key: \"closeOthers\",\n value: function closeOthers() {\n var _this = this;\n\n if (this.open) {\n document.querySelectorAll('.case-study-card').forEach(function ($el) {\n if (!$el.isSameNode(_this.$el)) {\n $el.classList.toggle('is-closing', $el.classList.contains('is-open'));\n $el.classList.toggle('is-open', false);\n }\n });\n }\n }\n }]);\n\n return CaseStudyCard;\n}();\n\ndocument.querySelectorAll('.case-study-card').forEach(function ($el) {\n return new CaseStudyCard($el);\n});\n\n//# sourceURL=webpack:////Users/cody/Sites/tech.clickhouse/website/src/js/components/case-study-card.js?");
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "../../website/src/js/main.js":
|
||||
/*!****************************************************************!*\
|
||||
!*** /Users/cody/Sites/tech.clickhouse/website/src/js/main.js ***!
|
||||
\****************************************************************/
|
||||
/*! no exports provided */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_case_study_card__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/case-study-card */ \"../../website/src/js/components/case-study-card.js\");\n/* harmony import */ var _components_case_study_card__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_components_case_study_card__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utilities_equalize_heights__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utilities/equalize-heights */ \"../../website/src/js/utilities/equalize-heights.js\");\n/* harmony import */ var _utilities_equalize_heights__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_utilities_equalize_heights__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\n//# sourceURL=webpack:////Users/cody/Sites/tech.clickhouse/website/src/js/main.js?");
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "../../website/src/js/utilities/equalize-heights.js":
|
||||
/*!**************************************************************************************!*\
|
||||
!*** /Users/cody/Sites/tech.clickhouse/website/src/js/utilities/equalize-heights.js ***!
|
||||
\**************************************************************************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
eval("function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar $allElements = document.querySelectorAll('[equalize-heights]');\nvar groupedElements = {};\n$allElements.forEach(function ($el) {\n var group = $el.getAttribute('equalize-heights');\n groupedElements[group] = groupedElements[group] || [];\n groupedElements[group].push($el);\n});\n\nfunction resizeElements() {\n Object.entries(groupedElements).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n group = _ref2[0],\n $elements = _ref2[1];\n\n $elements.forEach(function ($el) {\n var styles = window.getComputedStyle($el);\n\n if ('none' === styles.getPropertyValue('display')) {\n $el.style.display = 'block';\n }\n\n $el.style.minHeight = 'auto';\n });\n var minHeight = $elements.reduce(function (max, $el) {\n if ($el.offsetHeight > max) {\n max = $el.offsetHeight;\n }\n\n return max;\n }, 0);\n $elements.forEach(function ($el) {\n $el.style.display = null;\n $el.style.minHeight = \"\".concat(minHeight, \"px\");\n });\n });\n}\n\nwindow.addEventListener('resize', resizeElements);\nwindow.addEventListener('orientationchange', resizeElements);\nresizeElements();\n\n//# sourceURL=webpack:////Users/cody/Sites/tech.clickhouse/website/src/js/utilities/equalize-heights.js?");
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "../../website/src/scss/bootstrap.scss":
|
||||
/*!*************************************************************************!*\
|
||||
!*** /Users/cody/Sites/tech.clickhouse/website/src/scss/bootstrap.scss ***!
|
||||
\*************************************************************************/
|
||||
/*! exports provided: default */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (__webpack_require__.p + \"./css//bootstrap.css\");\n\n//# sourceURL=webpack:////Users/cody/Sites/tech.clickhouse/website/src/scss/bootstrap.scss?");
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "../../website/src/scss/main.scss":
|
||||
/*!********************************************************************!*\
|
||||
!*** /Users/cody/Sites/tech.clickhouse/website/src/scss/main.scss ***!
|
||||
\********************************************************************/
|
||||
/*! exports provided: default */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (__webpack_require__.p + \"./css//main.css\");\n\n//# sourceURL=webpack:////Users/cody/Sites/tech.clickhouse/website/src/scss/main.scss?");
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 0:
|
||||
/*!*****************************************************************************************************************************************************************************************************!*\
|
||||
!*** multi /Users/cody/Sites/tech.clickhouse/website/src/scss/bootstrap.scss /Users/cody/Sites/tech.clickhouse/website/src/scss/main.scss /Users/cody/Sites/tech.clickhouse/website/src/js/main.js ***!
|
||||
\*****************************************************************************************************************************************************************************************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
eval("__webpack_require__(/*! /Users/cody/Sites/tech.clickhouse/website/src/scss/bootstrap.scss */\"../../website/src/scss/bootstrap.scss\");\n__webpack_require__(/*! /Users/cody/Sites/tech.clickhouse/website/src/scss/main.scss */\"../../website/src/scss/main.scss\");\nmodule.exports = __webpack_require__(/*! /Users/cody/Sites/tech.clickhouse/website/src/js/main.js */\"../../website/src/js/main.js\");\n\n\n//# sourceURL=webpack:///multi_/Users/cody/Sites/tech.clickhouse/website/src/scss/bootstrap.scss_/Users/cody/Sites/tech.clickhouse/website/src/scss/main.scss_/Users/cody/Sites/tech.clickhouse/website/src/js/main.js?");
|
||||
|
||||
/***/ })
|
||||
|
||||
/******/ });
|
||||
!function(t){var e={};function n(o){if(e[o])return e[o].exports;var r=e[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(o,r,function(e){return t[e]}.bind(null,r));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){n(1),n(2),n(3),t.exports=n(4)},function(t,e,n){"use strict";n.r(e),e.default=n.p+"./css//bootstrap.css"},function(t,e,n){"use strict";n.r(e),e.default=n.p+"./css//greenhouse.css"},function(t,e,n){"use strict";n.r(e),e.default=n.p+"./css//main.css"},function(t,e,n){"use strict";n.r(e);n(5),n(6),n(7)},function(t,e){function n(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}var o=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.onOpen=this.onOpen.bind(this),this.onToggle=this.onToggle.bind(this),this.$el=e,this.$el.addEventListener("click",this.onOpen),this.$el.querySelector(".case-study-card-toggle").addEventListener("click",this.onToggle),this.open=!1}var e,o,r;return e=t,(o=[{key:"onOpen",value:function(){this.open=!0,this.$el.classList.toggle("is-open",this.open),this.$el.classList.toggle("is-closing",!this.open),this.closeOthers()}},{key:"onToggle",value:function(t){t.stopPropagation(),this.open=!this.$el.classList.contains("is-open"),this.$el.classList.toggle("is-open",this.open),this.$el.classList.toggle("is-closing",!this.open),this.closeOthers()}},{key:"closeOthers",value:function(){var t=this;this.open&&document.querySelectorAll(".case-study-card").forEach((function(e){e.isSameNode(t.$el)||(e.classList.toggle("is-closing",e.classList.contains("is-open")),e.classList.toggle("is-open",!1))}))}}])&&n(e.prototype,o),r&&n(e,r),t}();document.querySelectorAll(".case-study-card").forEach((function(t){return new o(t)}))},function(t,e){function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null==n)return;var o,r,i=[],s=!0,l=!1;try{for(n=n.call(t);!(s=(o=n.next()).done)&&(i.push(o.value),!e||i.length!==e);s=!0);}catch(t){l=!0,r=t}finally{try{s||null==n.return||n.return()}finally{if(l)throw r}}return i}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return o(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n<e;n++)o[n]=t[n];return o}var r=document.querySelectorAll("[equalize-heights]"),i={};function s(){Object.entries(i).forEach((function(t){var e=n(t,2),o=(e[0],e[1]);o.forEach((function(t){"none"===window.getComputedStyle(t).getPropertyValue("display")&&(t.style.display="block"),t.style.minHeight="auto"}));var r=o.reduce((function(t,e){return e.offsetHeight>t&&(t=e.offsetHeight),t}),0);o.forEach((function(t){t.style.display=null,t.style.minHeight="".concat(r,"px")}))}))}r.forEach((function(t){var e=t.getAttribute("equalize-heights");i[e]=i[e]||[],i[e].push(t)})),window.addEventListener("resize",s),window.addEventListener("orientationchange",s),s()},function(t,e){window.addEventListener("load",(function(){if(-1!==window.location.search.indexOf("gh_jid=")){var t=window.scrollY,e=document.querySelector("#jobs").getBoundingClientRect().top;window.scrollTo({left:0,top:t+e}),window.setTimeout((function(){window.scrollTo({left:0,top:t+e-40})}),50)}}))}]);
|
@ -1,2 +1,3 @@
|
||||
import './components/case-study-card'
|
||||
import './utilities/equalize-heights'
|
||||
import './utilities/greenhouse'
|
||||
|
16
website/src/js/utilities/greenhouse.js
Normal file
16
website/src/js/utilities/greenhouse.js
Normal file
@ -0,0 +1,16 @@
|
||||
window.addEventListener('load', () => {
|
||||
if (-1 !== window.location.search.indexOf('gh_jid=')) {
|
||||
const scrollY = window.scrollY
|
||||
const offsetTop = document.querySelector('#jobs').getBoundingClientRect().top
|
||||
window.scrollTo({
|
||||
left: 0,
|
||||
top: scrollY + offsetTop,
|
||||
})
|
||||
window.setTimeout(() => {
|
||||
window.scrollTo({
|
||||
left: 0,
|
||||
top: scrollY + offsetTop - 40,
|
||||
})
|
||||
}, 50)
|
||||
}
|
||||
})
|
@ -28,3 +28,31 @@
|
||||
margin-bottom: -160px;
|
||||
padding-bottom: 160px;
|
||||
}
|
||||
|
||||
.base-hero {
|
||||
height:22.5vw;
|
||||
max-height:324px;
|
||||
min-height:280px;
|
||||
}
|
||||
.index-hero {
|
||||
background-image:url('/images/backgrounds/bg-hero-home.svg');
|
||||
height:68vw;
|
||||
max-height:980px;
|
||||
max-width:2448px;
|
||||
width:170vw;
|
||||
}
|
||||
.other-hero {
|
||||
background-image: url('/images/backgrounds/bg-hero.svg');
|
||||
max-width: 2448px;
|
||||
width: 170vw;
|
||||
}
|
||||
.bg-footer-cta {
|
||||
background-image:url('/images/backgrounds/bg-footer-cta.svg');
|
||||
width:2448px;
|
||||
}
|
||||
.quickstart-bg {
|
||||
background-image:url('/images/backgrounds/bg-quick-start.svg');
|
||||
height:40vw;
|
||||
top:220px;
|
||||
width:170vw;
|
||||
}
|
||||
|
@ -1,11 +1,13 @@
|
||||
.navbar {
|
||||
.navbar-clickhouse {
|
||||
border-bottom: 4px solid $gray-100;
|
||||
height: 142px;
|
||||
|
||||
> .container {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar {
|
||||
&-super {
|
||||
flex-shrink: 0;
|
||||
width: 100%;
|
||||
@ -38,8 +40,8 @@
|
||||
}
|
||||
}
|
||||
|
||||
&-brand {
|
||||
background: no-repeat url(#{"../images/logo.svg"});
|
||||
&-brand-clickhouse {
|
||||
background: no-repeat url(#{"../images/logo-clickhouse.svg"});
|
||||
background-size: contain;
|
||||
flex-shrink: 0;
|
||||
height: 28px;
|
||||
|
27
website/src/scss/greenhouse.scss
Normal file
27
website/src/scss/greenhouse.scss
Normal file
@ -0,0 +1,27 @@
|
||||
#main {
|
||||
padding-bottom: 0;
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
max-width: 1078px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body > #wrapper > #main > #wrapper > #logo,
|
||||
body > #wrapper > #main > #wrapper > h1,
|
||||
body > #wrapper > #main > #wrapper > #content {
|
||||
display: none;
|
||||
}
|
||||
|
||||
body > #wrapper > #main > #wrapper > #board_title {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
body > #wrapper > #main > #logo {
|
||||
margin-top: 80px;
|
||||
}
|
||||
|
||||
body > #wrapper > #main > :last-child {
|
||||
margin-bottom: 120px;
|
||||
}
|
8
website/templates/careers/greenhouse.html
Normal file
8
website/templates/careers/greenhouse.html
Normal file
@ -0,0 +1,8 @@
|
||||
<div id="jobs" class="section bg-white pb-10 pb-lg-15 pt-10 pt-lg-15">
|
||||
<div class="container">
|
||||
|
||||
<div id="grnhse_app"></div>
|
||||
<script src="https://boards.greenhouse.io/embed/job_board/js?for=clickhouse"></script>
|
||||
|
||||
</div>
|
||||
</div>
|
10
website/templates/careers/hero.html
Normal file
10
website/templates/careers/hero.html
Normal file
@ -0,0 +1,10 @@
|
||||
<div class="hero bg-primary-light d-flex align-items-center base-hero">
|
||||
<div class="hero-bg other-hero"></div>
|
||||
<div class="container pt-8 pt-lg-10 pt-xl-15 pb-8 pb-lg-10 pb-xl-15">
|
||||
|
||||
<h1 class="display-1 mb-0">
|
||||
{{ _('Careers') }}
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
</div>
|
11
website/templates/careers/overview.html
Normal file
11
website/templates/careers/overview.html
Normal file
@ -0,0 +1,11 @@
|
||||
<div class="section bg-white pt-10">
|
||||
<div class="container">
|
||||
|
||||
<p class="lead text-dark mb-6">
|
||||
ClickHouse is searching for individuals who are not just knowledgeable about what they do, but want to learn more. Our ideal candidates are thinkers and doers who are not afraid to take on various roles and responsibilities as they grow with the company. If you are looking for a place to build something new, be an agent of change, and have an opportunity to have a significant impact on the company’s success, this is the place for you.
|
||||
</p>
|
||||
|
||||
<hr class="is-yellow">
|
||||
|
||||
</div>
|
||||
</div>
|
@ -322,7 +322,7 @@
|
||||
</h3>
|
||||
|
||||
<div class="btns">
|
||||
<a href="mailto:careers@clickhouse.com" class="btn btn-outline-secondary" role="button">
|
||||
<a href="/careers/" class="btn btn-outline-secondary" role="button">
|
||||
{{ _('Apply Now') }}
|
||||
</a>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user