From fcabc909285f9dcf4ef7ae4ec8106b8f2daf7347 Mon Sep 17 00:00:00 2001 From: Andriy Parashchuk Date: Tue, 16 Nov 2021 12:53:20 +0200 Subject: [PATCH] Add jekyll-datapage-generator for generating dynamic pages form data file --- Gemfile | 1 + Gemfile.lock | 2 + _assets/css/layout/_header.scss | 5 + _assets/css/layout/_vacancies.scss | 12 ++- _config.yml | 8 ++ _data/careers/careers.yml | 117 --------------------- _data/careers/vacancies.yml | 118 ++++++++++++++++++++++ _data/services/outstaffing.yml | 2 +- _includes/careers/vacancies.html | 51 +++++----- _includes/careers/vacancy.html | 32 ++++++ _includes/header.html | 2 +- _includes/services/services-sections.html | 4 +- _layouts/vacancy.html | 10 ++ 13 files changed, 216 insertions(+), 148 deletions(-) create mode 100644 _data/careers/vacancies.yml create mode 100644 _includes/careers/vacancy.html create mode 100644 _layouts/vacancy.html diff --git a/Gemfile b/Gemfile index 1bf6a96b..0315b98f 100644 --- a/Gemfile +++ b/Gemfile @@ -15,6 +15,7 @@ group :jekyll_plugins do gem 'jekyll-minifier' gem 'jekyll-redirect-from' gem 'jekyll-sitemap' + gem 'jekyll-datapage-generator' end gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] diff --git a/Gemfile.lock b/Gemfile.lock index 924eb96b..37e7aa6f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -71,6 +71,7 @@ GEM rouge (~> 3.0) safe_yaml (~> 1.0) terminal-table (~> 1.8) + jekyll-datapage-generator (1.4.0) jekyll-feed (0.15.1) jekyll (>= 3.7, < 5.0) jekyll-minifier (0.1.10) @@ -152,6 +153,7 @@ DEPENDENCIES autoprefixer-rails jekyll (>= 4) jekyll-assets! + jekyll-datapage-generator jekyll-feed jekyll-minifier jekyll-redirect-from diff --git a/_assets/css/layout/_header.scss b/_assets/css/layout/_header.scss index ecd24c42..2eae0199 100755 --- a/_assets/css/layout/_header.scss +++ b/_assets/css/layout/_header.scss @@ -59,6 +59,11 @@ .menu-opener { display: none !important; } + + &.-black .header { + background: #1b1b1f; + position: relative; + } } .hide-text { diff --git a/_assets/css/layout/_vacancies.scss b/_assets/css/layout/_vacancies.scss index 49db2f7a..dda2ca5b 100644 --- a/_assets/css/layout/_vacancies.scss +++ b/_assets/css/layout/_vacancies.scss @@ -27,7 +27,6 @@ .vacancy { box-shadow: 0 0 32px rgba(21,21,21,0.11); margin: 0 0 30px; - padding: 30px 20px; text-align: left; position: relative; @@ -48,6 +47,11 @@ margin: 0; } + .link { + padding: 30px 20px; + display: block; + } + .remote { padding: 5px 15px; color: #fff; @@ -119,8 +123,10 @@ } &.-open { - .arrow { - transform: rotate(180deg); + padding: 30px 20px; + + .details { + display: block; } } diff --git a/_config.yml b/_config.yml index ee6815e1..a257583d 100755 --- a/_config.yml +++ b/_config.yml @@ -26,6 +26,7 @@ plugins: - jekyll-redirect-from - jekyll-sitemap - amp-jekyll + - jekyll-datapage-generator exclude: - Gemfile - Gemfile.lock @@ -36,6 +37,13 @@ exclude: - yarn - src +page_gen: +- data: 'careers.vacancies' + template: 'vacancy' + dir: 'careers' + name: 'name' + name_expr: record['link'] + jekyll-minifier: uglifier_args: harmony: true diff --git a/_data/careers/careers.yml b/_data/careers/careers.yml index e64e27a3..5333bedf 100644 --- a/_data/careers/careers.yml +++ b/_data/careers/careers.yml @@ -5,123 +5,6 @@ description: careers: title: We are looking for subtitle: '' - vacancies: - - label: Software development - name: Ruby on Rails developer - location: Ukraine - additional_location: Remote - remote_allowed: true - hot: true - details: - - heading: Skills - fields: - - "— 5+ years of experience in designing and developing web applications from - the front-end and back-end side." - - "— Good understanding of HTML, CSS, JavaScript." - - "— Experience in working with DevOps tools like Jenkins, Docker, AWS." - - "— Proficiency with EmberJS, ReactJS or AngularJS." - - "— Proficiency with Ruby on Rails." - - "— Familiarity with database technology such as PostgreSQL or MySQL or Oracle - or MongoDB." - - "— At least an Intermediate level of English." - - "— Understands how to provide Proactive communication." - - heading: Nice to have - fields: - - "— Experience working remotely" - - "— Good communication skills" - - "— Experience working directly with English speaking Managers" - - "— Develop projects from scratch" - - heading: We offer - fields: - - "— NO BURNOUT, NO DEADLINES, and NO ASAP shit." - - "— Relaxed company environment" - - "— Flexible hours. Just set up your time to work efficiently" - - "— Work remotely from anywhere you want" - - "— Great work-life balance with flexible working hours" - - "— Mentoring and personal growth, by Open Source Contributors" - - "— Performance review every 12 months" - - heading: Responsibilities - fields: - - "— Work both with a complete set of requirements, sometimes directly with - stakeholders" - - "— Design and develop well-tested code" - - "— Increase overall code quality across all our products" - - label: Software development - name: Middle/Senior Ruby Software Engineer - location: Ukraine - additional_location: Remote - remote_allowed: true - hot: true - details: - - heading: Skills - fields: - - Solid experience in Ruby/Rails (4+ years) - - Experience with unit testing - - Strong SQL knowledge - - Experience with RESTful web services - - Good knowledge of HTML, CSS, Modern JavaScript - - Passion about writing well designed, testable, efficient code - - At least an Intermediate level of English is a must - - Understands how to provide Proactive communication - - heading: Nice to have - fields: - - Experience working remotely - - Experience working directly with English speaking Managers - - Develop projects from scratch - - heading: We offer - fields: - - NO BURNOUT, NO DEADLINES, and NO ASAP shit - - Relaxed company environment - - Flexible hours. Just set up your time to work efficiently - - Work remotely from anywhere you want - - Great work-life balance with flexible working hours - - Mentoring and personal growth, by Open Source Contributors - - Performance review every 12 months - - heading: Responsibilities - fields: - - Work both with a complete set of requirements, sometimes directly with stakeholders - - Design and develop well-tested code - - Increase overall code quality across all our products - - label: Software development - name: Intern/Junior Ruby on Rails Developer - location: Ukraine - additional_location: Remote - remote_allowed: true - hot: false - details: - - heading: Skills - fields: - - Experience with the Ruby language and the Ruby on Rails framework - - Experience with JavaScript - - Experience with minitest - - Experience with MySQL databases - - Experience with Git and Bitbucket - - Eager to learn about the tech stack that powers the project - - Intermediate English level - - heading: Nice to have - fields: - - A team player who loves to collaborate on projects - - Understanding and experience in the Agile/Lean environments - - Experience with Continuous Integration (CI) and Continuous Delivery (CD) - - Familiarity with Test-Driven Development (TDD) - - Solid knowledge of object-oriented programming (OOP) and design - - Someone detail-oriented, but also pragmatic - - heading: We offer - fields: - - NO BURNOUT, NO DEADLINES, and NO ASAP shit - - Relaxed company environment - - Flexible hours. Just set up your time to work efficiently - - Work remotely from anywhere you want - - Great work-life balance with flexible working hours - - Mentoring and personal growth, by Open Source Contributors - - Performance review every 12 months - - heading: Responsibilities - fields: - - Help maintain a large-scale Ruby on Rails application - - Help upgrade and test a large-scale Ruby on Rails application - - Refactor existing code following the TDD principles - - Pair programming with Developers - - Code review pull requests why_us: title: Why us? items: diff --git a/_data/careers/vacancies.yml b/_data/careers/vacancies.yml new file mode 100644 index 00000000..9b5dd4ad --- /dev/null +++ b/_data/careers/vacancies.yml @@ -0,0 +1,118 @@ +- label: Software development + link: ruby-on-rails-developer + name: Ruby on Rails developer + location: Ukraine + additional_location: Remote + remote_allowed: true + hot: true + details: + - heading: Skills + fields: + - "— 5+ years of experience in designing and developing web applications from + the front-end and back-end side." + - "— Good understanding of HTML, CSS, JavaScript." + - "— Experience in working with DevOps tools like Jenkins, Docker, AWS." + - "— Proficiency with EmberJS, ReactJS or AngularJS." + - "— Proficiency with Ruby on Rails." + - "— Familiarity with database technology such as PostgreSQL or MySQL or Oracle or MongoDB." + - "— At least an Intermediate level of English." + - "— Understands how to provide Proactive communication." + - heading: Nice to have + fields: + - "— Experience working remotely" + - "— Good communication skills" + - "— Experience working directly with English speaking Managers" + - "— Develop projects from scratch" + - heading: We offer + fields: + - "— NO BURNOUT, NO DEADLINES, and NO ASAP shit." + - "— Relaxed company environment" + - "— Flexible hours. Just set up your time to work efficiently" + - "— Work remotely from anywhere you want" + - "— Great work-life balance with flexible working hours" + - "— Mentoring and personal growth, by Open Source Contributors" + - "— Performance review every 12 months" + - heading: Responsibilities + fields: + - "— Work both with a complete set of requirements, sometimes directly with + stakeholders" + - "— Design and develop well-tested code" + - "— Increase overall code quality across all our products" +- label: Software development + link: middle-senior-ruby-software-engineer + name: Middle/Senior Ruby Software Engineer + location: Ukraine + additional_location: Remote + remote_allowed: true + hot: true + details: + - heading: Skills + fields: + - Solid experience in Ruby/Rails (4+ years) + - Experience with unit testing + - Strong SQL knowledge + - Experience with RESTful web services + - Good knowledge of HTML, CSS, Modern JavaScript + - Passion about writing well designed, testable, efficient code + - At least an Intermediate level of English is a must + - Understands how to provide Proactive communication + - heading: Nice to have + fields: + - Experience working remotely + - Experience working directly with English speaking Managers + - Develop projects from scratch + - heading: We offer + fields: + - NO BURNOUT, NO DEADLINES, and NO ASAP shit + - Relaxed company environment + - Flexible hours. Just set up your time to work efficiently + - Work remotely from anywhere you want + - Great work-life balance with flexible working hours + - Mentoring and personal growth, by Open Source Contributors + - Performance review every 12 months + - heading: Responsibilities + fields: + - Work both with a complete set of requirements, sometimes directly with stakeholders + - Design and develop well-tested code + - Increase overall code quality across all our products +- label: Software development + link: intern-junior-ruby-on-rails-developer + name: Intern/Junior Ruby on Rails Developer + location: Ukraine + additional_location: Remote + remote_allowed: true + hot: false + details: + - heading: Skills + fields: + - Experience with the Ruby language and the Ruby on Rails framework + - Experience with JavaScript + - Experience with minitest + - Experience with MySQL databases + - Experience with Git and Bitbucket + - Eager to learn about the tech stack that powers the project + - Intermediate English level + - heading: Nice to have + fields: + - A team player who loves to collaborate on projects + - Understanding and experience in the Agile/Lean environments + - Experience with Continuous Integration (CI) and Continuous Delivery (CD) + - Familiarity with Test-Driven Development (TDD) + - Solid knowledge of object-oriented programming (OOP) and design + - Someone detail-oriented, but also pragmatic + - heading: We offer + fields: + - NO BURNOUT, NO DEADLINES, and NO ASAP shit + - Relaxed company environment + - Flexible hours. Just set up your time to work efficiently + - Work remotely from anywhere you want + - Great work-life balance with flexible working hours + - Mentoring and personal growth, by Open Source Contributors + - Performance review every 12 months + - heading: Responsibilities + fields: + - Help maintain a large-scale Ruby on Rails application + - Help upgrade and test a large-scale Ruby on Rails application + - Refactor existing code following the TDD principles + - Pair programming with Developers + - Code review pull requests diff --git a/_data/services/outstaffing.yml b/_data/services/outstaffing.yml index 304427ad..61958e6b 100644 --- a/_data/services/outstaffing.yml +++ b/_data/services/outstaffing.yml @@ -18,7 +18,7 @@ services_sections: image: oa-advantages-img-03.png - title: " Talent Acquisition and Administrating" description: '' - image: '' + image: oa-advantages-img-03.png benefits: title: Benefits of the outstaffing model items: diff --git a/_includes/careers/vacancies.html b/_includes/careers/vacancies.html index b6adaeec..3c347c50 100644 --- a/_includes/careers/vacancies.html +++ b/_includes/careers/vacancies.html @@ -1,39 +1,40 @@
{% assign careers = site.data.careers.careers.careers %} + {% assign vacancies = site.data.careers.vacancies %}

{{ careers.title }}

{{ careers.subtitle }}

    {% assign delay = 2 %} - {% for vacancy in careers.vacancies %} + {% for vacancy in vacancies %} {% assign delay = delay | plus: 1 %}
  • -
    -
    {{ vacancy.label }}
    -
    - {% if vacancy.remote_allowed %} - Remote Allowed - {% endif %} - {% if vacancy.hot %} - Hot - {% endif %} -
    -
    -

    {{ vacancy.name }}

    -
    {{ vacancy.location }} | {{ vacancy.additional_location }}
    -
    - {% for item in vacancy.details %} - +

    {{ vacancy.name }}

    +
    {{ vacancy.location }} | {{ vacancy.additional_location }}
    +
    + {% for item in vacancy.details %} +
    + {{ item.heading }} + {% for field in item.fields %} +

    - {{ field }}

    + {% endfor %} +
    + {% endfor %} +
    +
  • {% endfor %}
diff --git a/_includes/careers/vacancy.html b/_includes/careers/vacancy.html new file mode 100644 index 00000000..c398941a --- /dev/null +++ b/_includes/careers/vacancy.html @@ -0,0 +1,32 @@ +
+
+
    +
  • +
    +
    {{ page.label }}
    +
    + {% if page.remote_allowed %} + Remote Allowed + {% endif %} + {% if page.hot %} + Hot + {% endif %} +
    +
    +

    {{ page.name }}

    +
    {{ page.location }} | {{ page.additional_location }}
    +
    + {% for item in page.details %} +
    + {{ item.heading }} + {% for field in item.fields %} +

    - {{ field }}

    + {% endfor %} +
    + {% endfor %} +
    + Apply +
  • +
+
+
diff --git a/_includes/header.html b/_includes/header.html index 08d1536e..68055340 100755 --- a/_includes/header.html +++ b/_includes/header.html @@ -1,4 +1,4 @@ -
+