diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml index 383e3db..f599e9e 100644 --- a/.github/workflows/static.yml +++ b/.github/workflows/static.yml @@ -22,21 +22,28 @@ concurrency: cancel-in-progress: false jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Pages + uses: actions/configure-pages@v3 + - name: Build with Jekyll + uses: actions/jekyll-build-pages@v1 + with: + source: ./ + destination: ./_site + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 # Single deploy job since we're just deploying deploy: environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest + needs: build steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup Pages - uses: actions/configure-pages@v3 - - name: Upload artifact - uses: actions/upload-pages-artifact@v2 - with: - path: "./dist" - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..45c1505 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +_site +.sass-cache +.jekyll-metadata diff --git a/404.html b/404.html new file mode 100644 index 0000000..c472b4e --- /dev/null +++ b/404.html @@ -0,0 +1,24 @@ +--- +layout: default +--- + + + +
+

404

+ +

Page not found :(

+

The requested page could not be found.

+
diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..37f5eaa --- /dev/null +++ b/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'github-pages', group: :jekyll_plugins diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..ec96086 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,270 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (7.1.1) + base64 + bigdecimal + concurrent-ruby (~> 1.0, >= 1.0.2) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + minitest (>= 5.1) + mutex_m + tzinfo (~> 2.0) + addressable (2.8.5) + public_suffix (>= 2.0.2, < 6.0) + base64 (0.1.1) + bigdecimal (3.1.4) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.11.1) + colorator (1.1.0) + commonmarker (0.23.10) + concurrent-ruby (1.2.2) + connection_pool (2.4.1) + dnsruby (1.70.0) + simpleidn (~> 0.2.1) + drb (2.1.1) + ruby2_keywords + em-websocket (0.5.3) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0) + ethon (0.16.0) + ffi (>= 1.15.0) + eventmachine (1.2.7) + execjs (2.9.1) + faraday (2.7.11) + base64 + faraday-net_http (>= 2.0, < 3.1) + ruby2_keywords (>= 0.0.4) + faraday-net_http (3.0.2) + ffi (1.16.3) + forwardable-extended (2.6.0) + gemoji (3.0.1) + github-pages (228) + github-pages-health-check (= 1.17.9) + jekyll (= 3.9.3) + jekyll-avatar (= 0.7.0) + jekyll-coffeescript (= 1.1.1) + jekyll-commonmark-ghpages (= 0.4.0) + jekyll-default-layout (= 0.1.4) + jekyll-feed (= 0.15.1) + jekyll-gist (= 1.5.0) + jekyll-github-metadata (= 2.13.0) + jekyll-include-cache (= 0.2.1) + jekyll-mentions (= 1.6.0) + jekyll-optional-front-matter (= 0.3.2) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.3.0) + jekyll-redirect-from (= 0.16.0) + jekyll-relative-links (= 0.6.1) + jekyll-remote-theme (= 0.4.3) + jekyll-sass-converter (= 1.5.2) + jekyll-seo-tag (= 2.8.0) + jekyll-sitemap (= 1.4.0) + jekyll-swiss (= 1.0.0) + jekyll-theme-architect (= 0.2.0) + jekyll-theme-cayman (= 0.2.0) + jekyll-theme-dinky (= 0.2.0) + jekyll-theme-hacker (= 0.2.0) + jekyll-theme-leap-day (= 0.2.0) + jekyll-theme-merlot (= 0.2.0) + jekyll-theme-midnight (= 0.2.0) + jekyll-theme-minimal (= 0.2.0) + jekyll-theme-modernist (= 0.2.0) + jekyll-theme-primer (= 0.6.0) + jekyll-theme-slate (= 0.2.0) + jekyll-theme-tactile (= 0.2.0) + jekyll-theme-time-machine (= 0.2.0) + jekyll-titles-from-headings (= 0.5.3) + jemoji (= 0.12.0) + kramdown (= 2.3.2) + kramdown-parser-gfm (= 1.1.0) + liquid (= 4.0.4) + mercenary (~> 0.3) + minima (= 2.5.1) + nokogiri (>= 1.13.6, < 2.0) + rouge (= 3.26.0) + terminal-table (~> 1.4) + github-pages-health-check (1.17.9) + addressable (~> 2.3) + dnsruby (~> 1.60) + octokit (~> 4.0) + public_suffix (>= 3.0, < 5.0) + typhoeus (~> 1.3) + html-pipeline (2.14.3) + activesupport (>= 2) + nokogiri (>= 1.4) + http_parser.rb (0.8.0) + i18n (1.14.1) + concurrent-ruby (~> 1.0) + jekyll (3.9.3) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (>= 0.7, < 2) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 2.0) + kramdown (>= 1.17, < 3) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) + safe_yaml (~> 1.0) + jekyll-avatar (0.7.0) + jekyll (>= 3.0, < 5.0) + jekyll-coffeescript (1.1.1) + coffee-script (~> 2.2) + coffee-script-source (~> 1.11.1) + jekyll-commonmark (1.4.0) + commonmarker (~> 0.22) + jekyll-commonmark-ghpages (0.4.0) + commonmarker (~> 0.23.7) + jekyll (~> 3.9.0) + jekyll-commonmark (~> 1.4.0) + rouge (>= 2.0, < 5.0) + jekyll-default-layout (0.1.4) + jekyll (~> 3.0) + jekyll-feed (0.15.1) + jekyll (>= 3.7, < 5.0) + jekyll-gist (1.5.0) + octokit (~> 4.2) + jekyll-github-metadata (2.13.0) + jekyll (>= 3.4, < 5.0) + octokit (~> 4.0, != 4.4.0) + jekyll-include-cache (0.2.1) + jekyll (>= 3.7, < 5.0) + jekyll-mentions (1.6.0) + html-pipeline (~> 2.3) + jekyll (>= 3.7, < 5.0) + jekyll-optional-front-matter (0.3.2) + jekyll (>= 3.0, < 5.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.3.0) + jekyll (>= 3.0, < 5.0) + jekyll-redirect-from (0.16.0) + jekyll (>= 3.3, < 5.0) + jekyll-relative-links (0.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-remote-theme (0.4.3) + addressable (~> 2.0) + jekyll (>= 3.5, < 5.0) + jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) + rubyzip (>= 1.3.0, < 3.0) + jekyll-sass-converter (1.5.2) + sass (~> 3.4) + jekyll-seo-tag (2.8.0) + jekyll (>= 3.8, < 5.0) + jekyll-sitemap (1.4.0) + jekyll (>= 3.7, < 5.0) + jekyll-swiss (1.0.0) + jekyll-theme-architect (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-cayman (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-dinky (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-hacker (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-leap-day (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-merlot (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-midnight (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-minimal (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-modernist (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-primer (0.6.0) + jekyll (> 3.5, < 5.0) + jekyll-github-metadata (~> 2.9) + jekyll-seo-tag (~> 2.0) + jekyll-theme-slate (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-tactile (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-time-machine (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-titles-from-headings (0.5.3) + jekyll (>= 3.3, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + jemoji (0.12.0) + gemoji (~> 3.0) + html-pipeline (~> 2.2) + jekyll (>= 3.0, < 5.0) + kramdown (2.3.2) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.4) + listen (3.8.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.3.6) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + minitest (5.20.0) + mutex_m (0.1.2) + nokogiri (1.15.4-x86_64-linux) + racc (~> 1.4) + octokit (4.25.1) + faraday (>= 1, < 3) + sawyer (~> 0.9) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (4.0.7) + racc (1.7.1) + rb-fsevent (0.11.2) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.6) + rouge (3.26.0) + ruby2_keywords (0.0.5) + rubyzip (2.3.2) + safe_yaml (1.0.5) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sawyer (0.9.2) + addressable (>= 2.3.5) + faraday (>= 0.17.3, < 3) + simpleidn (0.2.1) + unf (~> 0.1.4) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + typhoeus (1.4.0) + ethon (>= 0.9.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unf (0.1.4) + unf_ext + unf_ext (0.0.8.2) + unicode-display_width (1.8.0) + +PLATFORMS + x86_64-linux + +DEPENDENCIES + github-pages + +BUNDLED WITH + 2.4.20 diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..685cd20 --- /dev/null +++ b/_config.yml @@ -0,0 +1,43 @@ +# Welcome to Jekyll! +# +# This config file is meant for settings that affect your whole blog, values +# which you are expected to set up once and rarely edit after that. If you find +# yourself editing this file very often, consider using Jekyll's data files +# feature for the data you need to update frequently. +# +# For technical reasons, this file is *NOT* reloaded automatically when you use +# 'bundle exec jekyll serve'. If you change this file, please restart the server process. + +# Site settings +# These are used to personalize your new site. If you look in the HTML files, +# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. +# You can create any custom variable you would like, and they will be accessible +# in the templates via {{ site.myvariable }}. +title: EuRuKo 2024 +email: muhamed@euruko.com +description: >- # this means to ignore newlines until "baseurl:" + EuRuKo is the annual European Ruby Conference. Join us in Tuzla, Bosnia & Herzegovina on September 6-7, 2024. +baseurl: "" # the subpath of your site, e.g. /blog +url: "https://2024.euruko.org" # the base hostname & protocol for your site, e.g. http://example.com + +# Build settings +markdown: kramdown +theme: jekyll-theme-cayman +sass: + sass_dir: assets/css/lib + style: compressed +plugins: + - jekyll-feed + - jekyll-autoprefixer + +# Exclude from processing. +# The following items will not be processed, by default. Create a custom list +# to override the default setting. +# exclude: +# - Gemfile +# - Gemfile.lock +# - node_modules +# - vendor/bundle/ +# - vendor/cache/ +# - vendor/gems/ +# - vendor/ruby/ diff --git a/_data/sponsors.yml b/_data/sponsors.yml new file mode 100644 index 0000000..31ff241 --- /dev/null +++ b/_data/sponsors.yml @@ -0,0 +1,22 @@ +- name: BH Futures Foundation + key: bhff + logo: bhff.png + url: https://www.bhfuturesfoundation.org + description: By empowering the youth through education, technology and leadership, we shape the next generation of change makers. The foundation aims to transform Bosnia & Herzegovina into a prosperous nation that can respond to the challenges of the 21st century. It does this by empowering the youth through non-formal education, technology access and development of world class leadership skills. + facebook: https://www.facebook.com/Bosnia-Herzegovina-Futures-Foundation-1815662235379743/ + instagram: https://www.instagram.com/bhfuturesfoundation/ + linkedin: https://www.linkedin.com/company/bhfuturesfoundation + level: partner + has_jobs: false + +- name: Meister + key: meister + logo: meisterlabs.svg + url: https://www.meisterlabs.com + description: Meister develops smart and intuitive web apps that help teams of all sizes and industries turn ideas into reality. Our flagship products MindMeister and MeisterTask support a complete creative workflow - from collaborative brainstorming to agile task management. Founded in 2006, Meister has grown from a small German startup to an international tech company with offices in Munich, Vienna, and Seattle, and more than 11 million users globally. Our team is made up of around 30 enthusiastic people from all over the globe. What unites us is our love for technology, our passion for great design, and our goal to make collaboration as easy and fun as possible. When we’re not working, we also travel, play and party together. + twitter: https://twitter.com/mindmeister + facebook: https://www.facebook.com/mindmeister/ + instagram: https://www.instagram.com/meisterlobsters/ + linkedin: https://www.linkedin.com/company/meisterlabs-gmbh + level: partner + has_jobs: false diff --git a/_includes/footer.html b/_includes/footer.html new file mode 100644 index 0000000..3decd60 --- /dev/null +++ b/_includes/footer.html @@ -0,0 +1,11 @@ + diff --git a/_includes/html_defaults.html b/_includes/html_defaults.html new file mode 100644 index 0000000..bc6a80f --- /dev/null +++ b/_includes/html_defaults.html @@ -0,0 +1,3 @@ + + + diff --git a/_includes/logo.html b/_includes/logo.html new file mode 100644 index 0000000..aaff804 --- /dev/null +++ b/_includes/logo.html @@ -0,0 +1,3 @@ + diff --git a/_includes/navigation.html b/_includes/navigation.html new file mode 100644 index 0000000..0da5ed3 --- /dev/null +++ b/_includes/navigation.html @@ -0,0 +1,23 @@ + + + diff --git a/_includes/social_buttons.html b/_includes/social_buttons.html new file mode 100644 index 0000000..91d894d --- /dev/null +++ b/_includes/social_buttons.html @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/_includes/sponsor_list.html b/_includes/sponsor_list.html new file mode 100644 index 0000000..000fe06 --- /dev/null +++ b/_includes/sponsor_list.html @@ -0,0 +1,38 @@ + diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 0000000..4623c3d --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,32 @@ + + + + + + + + {% seo %} + {% include html_defaults.html %} + + + + + +{% include navigation.html %} + +{{ content }} + +{% include footer.html %} + + + + diff --git a/assets/css/blog.scss b/assets/css/blog.scss new file mode 100644 index 0000000..39390a7 --- /dev/null +++ b/assets/css/blog.scss @@ -0,0 +1,23 @@ +--- +--- + +@import "0-settings/config"; + +article { + p { + margin-bottom: 1em; + } + blockquote { + border-left: 4px solid $red; + padding: 0.8em 0.4em; + background-color: $grey3; + + p { + margin-bottom: 0; + } + } + + img[src*="sponsors"] { + max-width: 300px; + } +} diff --git a/assets/css/general.scss b/assets/css/general.scss new file mode 100644 index 0000000..b9462f9 --- /dev/null +++ b/assets/css/general.scss @@ -0,0 +1,55 @@ +--- +--- + +@import "main"; + +@import "modules/announcements"; + +@import "partials/navigation"; +@import "partials/sponsor-list"; +@import "partials/newsletter"; +@import "partials/footer"; + + +header { + background: linear-gradient(to top, #86e4ff, #ffffff); + min-height: 0; + + .layout-wrapper { + padding: 80px 0 0 0; + margin: 0; + flex-direction: column; + align-items: center; + } + + h1, h3 { + text-align: center; + text-transform: uppercase; + } + + h3 { + margin-bottom: 40px; + max-width: 70vw; + } + + img { + width: 100%; + } +} + +.description { + text-align: center; + padding: 0 10vw; +} + +content { + display: block; + margin-top: 40px; +} + + +@media (max-width: 980px) { + header .layout-wrapper { + padding: 40px 0 0 0; + } +} \ No newline at end of file diff --git a/assets/css/jobs.scss b/assets/css/jobs.scss new file mode 100644 index 0000000..596792a --- /dev/null +++ b/assets/css/jobs.scss @@ -0,0 +1,121 @@ +--- +--- + +@import "0-settings/config"; + +header { + background: none; + + .layout-wrapper { + align-items: center; + padding-right: 0px; + } + + h1 { + margin: 20px 0; + } + + h3 { + text-align: center; + padding: 0 10vw; + } + + img { + max-width: 700px; + width: 100%; + height: auto; + } +} + +content { + margin-top: 30px; +} + +.layout-wrapper { + flex-wrap: wrap; +} + +.job-header { + display: flex; + flex-direction: column; + align-items: center; + width: 100%; + + &:not(:first-child) { + margin-top: 50px; + } + + img { + width: 250px; + height: auto; + } + + p { + color: $grey1; + margin: 40px 0 60px 0; + text-align: center; + } +} + +.job-listing { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + flex-grow: 1; + + &:after { + content: ''; + max-width: 370px; + width: 100%; + } +} + +.jobs-tile { + display: flex; + flex-flow: column; + box-shadow: $bs-regular; + border-radius: 8px; + margin-bottom: 30px; + max-width: 370px; + padding: 25px; + align-items: flex-start; + + .company-logo { + max-width: 140px; + width: 100%; + height: auto; + } + + .job { + color: $red; + font-size: $fs-h3; + font-weight: $fw-bold; + margin-bottom: 20px; + } + + .description { + padding: 0px; + text-align: left; + margin-bottom: 20px; + } + + .button { + margin-top: auto; + } +} + +.links-wrapper { + display: flex; + align-items: center; + margin-bottom: 30px; + + a { + display: flex; + } + + img { + width: 32px; + height: 32px; + margin: 0 10px; + } +} diff --git a/assets/css/lib/0-settings/_config.scss b/assets/css/lib/0-settings/_config.scss new file mode 100644 index 0000000..0e4666e --- /dev/null +++ b/assets/css/lib/0-settings/_config.scss @@ -0,0 +1,35 @@ +$red: #ff564d; +$red1: #ff6a62; +$red2: #ff8680; +$red3: #ff9e99; + +$grey: #595959; +$grey1: #797979; +$grey2: #9e9e9e; +$grey3: #f1f1f1; + +$blue: #50c2ff; + +$blue-gradient: linear-gradient(to left, #0094e3, #50c2ff); + +$fs-h1: 40px; +$fs-h2: 32px; +$fs-h3: 24px; +$fs-h4: 20px; +$fs-h5: 18px; +$fs-p: 16px; + +$fw-bold: 700; +$fw-medium: 500; +$fw-regular: 400; + +$lh-regular: 160%; + +$font-family: "Raleway", Helvetica, sans-serif; + +$bs-regular: 0 2px 10px 0 rgba(89, 89, 89, 0.3); + +$page-width: 1200px; + + +// add gradients diff --git a/assets/css/lib/1-tools/_mixins.scss b/assets/css/lib/1-tools/_mixins.scss new file mode 100644 index 0000000..031e9a9 --- /dev/null +++ b/assets/css/lib/1-tools/_mixins.scss @@ -0,0 +1,5 @@ +@mixin hyphenation { + -ms-word-break: break-all; + word-break: break-word; + hyphens: auto; +} diff --git a/assets/css/lib/1-tools/_responsive.scss b/assets/css/lib/1-tools/_responsive.scss new file mode 100644 index 0000000..53db118 --- /dev/null +++ b/assets/css/lib/1-tools/_responsive.scss @@ -0,0 +1,192 @@ +$mq-mobile-portrait : 380px !default; +$mq-mobile-landscape : 680px !default; +$mq-tablet-portrait : 768px !default; +$mq-tablet-landscape : 1024px !default; +$mq-desktop : 1382px !default; + +// Both portrait and landscape +@mixin mobile-only { + @media (max-width : $mq-mobile-landscape) { + @content; + } +} + +// Everything up to and including the portrait width of the phone +// Since it's the smallest query it doesn't need a min +@mixin mobile-portrait-only { + @media (max-width : $mq-mobile-portrait) { + @content; + } +} + +// Everything up to and including the mobile portrait +@mixin mobile-portrait-and-below { + @media (max-width : $mq-mobile-portrait) { + @content; + } +} + +// Everything above and including the mobile portrait +@mixin mobile-portrait-and-up { + @media (min-width : $mq-mobile-portrait) { + @content; + } +} + +// Everthing larger than a portrait mobile up until mobile landscape +@mixin mobile-landscape-only { + @media only screen and (min-width : $mq-mobile-portrait + 1) and (max-width : $mq-mobile-landscape) { + @content; + } +} + +// Everything up to and including the mobile landscape width +@mixin mobile-landscape-and-below { + @media only screen and (max-width : $mq-mobile-landscape) { + @content; + } +} + +// Everything above and including the mobile landscape width +@mixin mobile-landscape-and-up { + @media only screen and (min-width : $mq-mobile-landscape + 1) { + @content; + } +} + +// Both the portrait and landscape width of the tablet +// Larger than a landscape mobile but less than or equal to a landscape tablet +@mixin tablet-only { + @media only screen and (min-width : $mq-mobile-landscape + 1) and (max-width : $mq-tablet-landscape) { + @content; + } +} + +// Everything larger than mobile landscape up until the portrait width of the tablet +@mixin tablet-portrait-only { + @media only screen and (min-width : $mq-mobile-landscape + 1) and (max-width : $mq-tablet-portrait) { + @content; + } +} + +// Everything below and including the portrait width of the tablet +@mixin tablet-portrait-and-below { + @media only screen and (max-width : $mq-tablet-portrait) { + @content; + } +} + +// Everything above and including the portrait width of the tablet +@mixin tablet-portrait-and-up { + @media only screen and (min-width : $mq-tablet-portrait + 1) { + @content; + } +} + +// Larger than portrait but less than or equal to the landscape width +@mixin tablet-landscape-only { + @media only screen and (min-width : $mq-tablet-portrait + 1) and (max-width : $mq-tablet-landscape) { + @content; + } +} + +// Up to and including the tablet landscape +@mixin tablet-landscape-and-below { + @media only screen and (max-width : $mq-tablet-landscape) { + @content; + } +} + +// Everything larger than portrait tablet +@mixin tablet-landscape-and-up { + @media only screen and (min-width : $mq-tablet-portrait + 1) { + @content; + } +} + +// Everything larger than a landscape tablet +@mixin desktop-and-up { + @media only screen and (min-width : $mq-tablet-landscape + 1) { + @content; + } +} + +// Everything below and including the desktop +@mixin desktop-and-below { + @media only screen and (max-width : $mq-desktop) { + @content; + } +} + +// Everything larger than a landscape tablet but less than or equal to the desktop +@mixin desktop-only { + @media only screen and (min-width : $mq-tablet-landscape + 1) and (max-width : $mq-desktop) { + @content; + } +} + +// Retina screens have a 1.5 pixel ratio, not 2 +@mixin retina { + @media only screen and (-webkit-min-device-pixel-ratio : 1.5), only screen and (min-device-pixel-ratio : 1.5) { + @content; + } +} + +@include tablet-landscape-and-up { + .h-hidden-above-tablet { + display: none !important; + } +} + +/* everything under 768px*/ +@include tablet-portrait-and-below { + .h-hidden-tablet { + display: none !important; + } + .h-show-tablet { + display: inline-block !important; + } + div.h-responsive-tablet > div, + row.h-responsive-tablet > cell { + width: 100% !important; + max-width: none; + min-width: 0px; + display: block; + } + .into-middle-tablet { + text-align: center !important; + } +} + +@include mobile-only { + .h-hidden-phone { + display: none !important; + } + .h-show-phone { + display: inline-block !important; + } + div.h-responsive > div, + row.h-responsive > cell, + grid.h-responsive > cell { + width: 100% !important; + max-width: none; + min-width: 0px; + display: block; + } + row.w-auto.h-responsive { + width: 100%; + } + .justify-center-phone { + justify-content: center; + } + .into-middle-phone { + text-align: center !important; + } + .into-left-phone { + text-align: left !important; + } + .ph-0-phone { + padding-left: 0 !important; + padding-right: 0 !important; + } +} diff --git a/assets/css/lib/2-generic/_reset.scss b/assets/css/lib/2-generic/_reset.scss new file mode 100644 index 0000000..dc8ccc6 --- /dev/null +++ b/assets/css/lib/2-generic/_reset.scss @@ -0,0 +1,19 @@ +* { + margin: 0; + padding: 0; +} + +*, +*:after, +*:before { + box-sizing: border-box; +} + +html { + width: 100%; + height: 100%; +} + +body { + min-height: 100%; +} diff --git a/assets/css/lib/3-base/_button.scss b/assets/css/lib/3-base/_button.scss new file mode 100644 index 0000000..ccb94c0 --- /dev/null +++ b/assets/css/lib/3-base/_button.scss @@ -0,0 +1,34 @@ +.button, +input[type=button], +input[type=submit] { + -webkit-appearance: none; + padding: 12px 20px; + font-size: $fs-p; + font-weight: $fw-medium; + border-radius: 5px; + white-space: nowrap; + display: inline-block; + color: white; + resize: none; + cursor: pointer; + text-decoration: none; + border: none; +} + +.button.large, +input[type=button].large, +input[type=submit].large { + padding: 14px 30px; + font-size: $fs-h3; + font-weight: $fw-bold; + border-radius: 8px; +} + +.button.small, +input[type=button].small, +input[type=submit].small { + padding: 8px 14px; + font-size: 14px; + font-weight: $fw-regular; + border-radius: 3px; +} diff --git a/assets/css/lib/3-base/_page.scss b/assets/css/lib/3-base/_page.scss new file mode 100644 index 0000000..0ca438a --- /dev/null +++ b/assets/css/lib/3-base/_page.scss @@ -0,0 +1,8 @@ +body { + background-color: white; + font-family: $font-family; + color: $grey; + font-size: $fs-p; + line-height: 140%; +} + diff --git a/assets/css/lib/3-base/_typography.scss b/assets/css/lib/3-base/_typography.scss new file mode 100644 index 0000000..1d007ae --- /dev/null +++ b/assets/css/lib/3-base/_typography.scss @@ -0,0 +1,35 @@ +h1, h2, h3, h4, h5, p, span, a, input { + font-family: $font-family; + line-height: $lh-regular; + margin: 0; + @include hyphenation; +} + +h1 { + font-size: $fs-h1; +} + +h2 { + font-size: $fs-h2; +} + +h3 { + font-size: $fs-h3; +} + +h4 { + font-size: $fs-h4; +} + +h5 { + font-size: $fs-h5; +} + +p, span, a { + font-size: $fs-p; +} + +a { + color: $blue; + text-decoration: underline; +} diff --git a/assets/css/lib/4-object/_flexbox.scss b/assets/css/lib/4-object/_flexbox.scss new file mode 100644 index 0000000..e165b38 --- /dev/null +++ b/assets/css/lib/4-object/_flexbox.scss @@ -0,0 +1,61 @@ +/* FLEXBOX HTML ATTRIBUTES */ + +view { + flex-basis: auto; + margin: 0; + min-height: 0; + min-width: 0; + position: relative; + word-wrap: break-word; + word-break: break-word; + display: flex; +} + +view[grid], +div[grid] { + flex-wrap: wrap; +} + +view[column], +div[column] { + flex-flow: column; +} + +view[row], +div[row] { + display: flex; +} + +view[grow], +div[grow] { + flex-grow: 1; +} + +view[shrink], +div[shrink] { + flex-shrink: 1; +} + +.justify-center { + justify-content: center; +} + +.justify-sb { + justify-content: space-between; +} + +.align-items-center { + align-items: center; +} + +.h-flex { + display: flex; +} + +.align-self-start { + align-self: flex-start; +} + +.h-flex-wrap { + flex-wrap: wrap; +} \ No newline at end of file diff --git a/assets/css/lib/4-object/_layout.scss b/assets/css/lib/4-object/_layout.scss new file mode 100644 index 0000000..caf2740 --- /dev/null +++ b/assets/css/lib/4-object/_layout.scss @@ -0,0 +1,25 @@ +section, +nav, +footer { + padding-right: 30px; + padding-left: 30px; + justify-content: center; + display: flex; + + .layout-wrapper { + flex-basis: $page-width; + } +} + +.section-spacing { + margin-top: 100px; +} + +@include mobile-only{ + section, + nav, + footer { + padding-right: 20px; + padding-left: 20px; + } +} diff --git a/assets/css/lib/4-object/_separator.scss b/assets/css/lib/4-object/_separator.scss new file mode 100644 index 0000000..70983d9 --- /dev/null +++ b/assets/css/lib/4-object/_separator.scss @@ -0,0 +1,6 @@ +hr { + width: 100%; + height: 2px; + border-radius: 1px; + border: none; +} diff --git a/assets/css/lib/4-object/_social_buttons.scss b/assets/css/lib/4-object/_social_buttons.scss new file mode 100644 index 0000000..b854aa4 --- /dev/null +++ b/assets/css/lib/4-object/_social_buttons.scss @@ -0,0 +1,13 @@ +.social-buttons { + align-items: center; + + a { + display: flex; + margin: 0 10px; + } + + img { + width: 28px; + height: 28px; + } +} diff --git a/assets/css/lib/5-components/_headings.scss b/assets/css/lib/5-components/_headings.scss new file mode 100644 index 0000000..9a95de5 --- /dev/null +++ b/assets/css/lib/5-components/_headings.scss @@ -0,0 +1,14 @@ +.section-header { + font-size: $fs-h2; + font-weight: $fw-bold; + padding-right: 40px; + border-bottom: 4px solid $red; + margin-bottom: 50px; +} + +@include mobile-only{ + .section-header { + padding-right: 0; + margin-bottom: 30px; + } +} diff --git a/assets/css/lib/6-trumps/_colors.scss b/assets/css/lib/6-trumps/_colors.scss new file mode 100644 index 0000000..958b92b --- /dev/null +++ b/assets/css/lib/6-trumps/_colors.scss @@ -0,0 +1,41 @@ +/* FONT COLOR */ + +.c-red { + color: $red; +} + +.c-grey { + color: $grey; +} + +.c-white { + color: white; +} + +.c-blue { + color: $blue; +} + +/* BACKGROUND COLOR */ + +.bg-red { + background-color: $red; +} + +.bg-grey { + background-color: $grey; +} + +.bg-white { + background-color: white; +} + +.bg-blue-gradient { + background: $blue-gradient; +} + +/* SHADOWS */ + +.bs-regular { + box-shadow: $bs-regular; +} diff --git a/assets/css/lib/6-trumps/_helpers.scss b/assets/css/lib/6-trumps/_helpers.scss new file mode 100644 index 0000000..0d9cb13 --- /dev/null +++ b/assets/css/lib/6-trumps/_helpers.scss @@ -0,0 +1,13 @@ +/* FONTW WEIGHT */ + +.fw-regular { + font-weight: $fw-regular; +} + +.fw-medium { + font-weight: $fw-medium; +} + +.fw-bold { + font-weight: $fw-bold; +} diff --git a/assets/css/lib/6-trumps/_responsive.scss b/assets/css/lib/6-trumps/_responsive.scss new file mode 100644 index 0000000..53a628c --- /dev/null +++ b/assets/css/lib/6-trumps/_responsive.scss @@ -0,0 +1,28 @@ +@include mobile-only { + + /* TYPOGRAPHY */ + + h1 { + font-size: $fs-h2; + } + + h2 { + font-size: $fs-h3; + } + + h3 { + font-size: $fs-h4; + } + + /* BUTTON */ + + .button.large, + input[type=button].large, + input[type=submit].large { + padding: 12px 20px; + font-size: $fs-p; + font-weight: $fw-medium; + border-radius: 5px; + } + +} diff --git a/assets/css/lib/includes.scss b/assets/css/lib/includes.scss new file mode 100644 index 0000000..3622a67 --- /dev/null +++ b/assets/css/lib/includes.scss @@ -0,0 +1,4 @@ +@import "0-settings/config"; + +@import "1-tools/mixins"; +@import "1-tools/responsive"; diff --git a/assets/css/lib/main.scss b/assets/css/lib/main.scss new file mode 100644 index 0000000..c19c833 --- /dev/null +++ b/assets/css/lib/main.scss @@ -0,0 +1,21 @@ +@import "0-settings/config"; + +@import "1-tools/responsive"; +@import "1-tools/mixins"; + +@import "2-generic/reset"; + +@import "3-base/page"; +@import "3-base/button"; +@import "3-base/typography"; + +@import "4-object/flexbox"; +@import "4-object/separator"; +@import "4-object/layout"; +@import "4-object/social_buttons"; + +@import "5-components/headings"; + +@import "6-trumps/colors"; +@import "6-trumps/helpers"; +@import "6-trumps/responsive"; diff --git a/assets/css/lib/modules/announcements.scss b/assets/css/lib/modules/announcements.scss new file mode 100644 index 0000000..580f3f9 --- /dev/null +++ b/assets/css/lib/modules/announcements.scss @@ -0,0 +1,49 @@ +@import "includes"; + +.announcements { + margin-bottom: 50px; + background-color: white; + box-shadow: $bs-regular; + border-radius: 8px; + overflow: hidden; + + &:last-child { + margin-bottom: 0px; + } + + .image { + background-repeat: no-repeat; + background-position: center center; + background-size: cover; + flex: 0 0 400px; + min-height: 260px; + clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 0% 100%); + } + + .text-wrapper { + flex-direction: column; + padding: 40px 50px; + } + + h3 { + margin-bottom: 10px; + } + + .button { + margin-top: 30px; + white-space: normal; + } + +} + +@include tablet-portrait-and-below { + .announcements { + flex-direction: column; + + .image { + min-height: 100%; + flex: 0 0 200px; + clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 90%); + } + } +} diff --git a/assets/css/lib/partials/footer.scss b/assets/css/lib/partials/footer.scss new file mode 100644 index 0000000..d01deb6 --- /dev/null +++ b/assets/css/lib/partials/footer.scss @@ -0,0 +1,36 @@ +@import "includes"; + +footer { + padding-bottom: 100px; + padding-top: 40px; + border-top: 1px solid $grey2; + + .subfooter { + margin-top: 50px; + align-items: center; + + p { + margin-right: 20px; + } + + a { + margin-right: 20px; + } + } + + .social-buttons a:last-child { + margin-right: 0; + } +} + +@include mobile-only { + footer { + .layout-wrapper > view { + flex-direction: column; + } + + .social-buttons { + margin-top: 30px; + } + } +} diff --git a/assets/css/lib/partials/navigation.scss b/assets/css/lib/partials/navigation.scss new file mode 100644 index 0000000..fbbd231 --- /dev/null +++ b/assets/css/lib/partials/navigation.scss @@ -0,0 +1,87 @@ +@import "includes"; + +nav { + padding-top: 30px; + padding-bottom: 30px; + position: relative; + box-shadow: 0 4px 2px -2px #eee; + + #menu-opener { + display: none; + } + + .responsive-wrapper { + flex-grow: 1; + } + + .menu { + margin: 0 50px; + flex-grow: 1; + align-items: center; + + a { + font-size: $fs-h4; + line-height: 40px; + font-weight: $fw-medium; + color: $grey; + text-decoration: none; + padding: 0 25px; + white-space: nowrap; + } + + a:hover { + box-shadow: 0px 3px 0 0 $red3; + } + + a.selected { + box-shadow: 0px 3px 0 0 $red; + } + + a:last-child { + margin-right: 0; + } + } + + .social-buttons a:last-child { + margin-right: 0; + } +} + +@media (max-width: 980px) { + nav { + transition: all 0.8s ease-out; + + #menu-opener { + margin-left: auto; + align-self: center; + display: flex; + cursor: pointer; + } + + .responsive-wrapper { + flex-direction: column; + overflow: hidden; + max-height: 0px; + width: 100%; + align-items: center; + transition: all 0.8s ease-out; + } + + &.active { + box-shadow: $bs-regular; + + .responsive-wrapper { + max-height: 500px; + } + } + + .menu { + flex-direction: column; + overflow: hidden; + + a { + margin: 15px 0 15px 0; + } + } + } +} diff --git a/assets/css/lib/partials/newsletter.scss b/assets/css/lib/partials/newsletter.scss new file mode 100644 index 0000000..a130be5 --- /dev/null +++ b/assets/css/lib/partials/newsletter.scss @@ -0,0 +1,73 @@ +@import "includes"; + +.newsletter { + padding-top: 80px; + padding-bottom: 80px; + background: $blue-gradient; + + .layout-wrapper > view { + padding: 20px 0; + } + + .image-wrapper { + justify-content: center; + flex: 1 1 250px; + + img { + width: 211px; + height: 206px; + } + } + + #mc_embed_signup { + flex: 7 1 400px; + + h2 { + margin-bottom: 10px; + } + + h3 { + margin-bottom: 50px; + } + + input[type=email]{ + background: none; + border-style: none; + border-bottom: 1px solid white; + font-size: $fs-h4; + font-weight: $fw-medium; + margin-right: 30px; + width: 300px; + color: white; + border-radius: 0; + } + + input { + margin-bottom: 20px; + } + + } + +} + + +/*since it's the only place we have form elements it doesn't have to be in main*/ + +* { + -webkit-tap-highlight-color: rgba(0,0,0,0); + } + ::-webkit-input-placeholder { /* WebKit browsers */ + color: white !important; + vertical-align: middle; + } + ::-moz-placeholder { /* Mozilla Firefox 19+ */ + color: white !important; + } + :-ms-input-placeholder { /* Internet Explorer 10+ */ + color: white !important; + } + + :focus { + outline-color: transparent; + outline-style: none; + } diff --git a/assets/css/lib/partials/sponsor-list.scss b/assets/css/lib/partials/sponsor-list.scss new file mode 100644 index 0000000..1c6f88d --- /dev/null +++ b/assets/css/lib/partials/sponsor-list.scss @@ -0,0 +1,51 @@ +@import "includes"; + +.sponsor-list { + + .sponsor-wrapper { + a { + margin: 40px 15px; + + img { + height: 50px; + } + } + + &.small { + a { + margin: 20px 5px; + + img { + height: 34px; + } + } + } + } +} + +@media (max-width: 980px) { + .sponsor-list { + .layout-wrapper > view { + justify-content: center; + } + .sponsor-wrapper { + a { + margin: 20px; + + img { + height: 30px; + } + } + + &.small { + a { + margin: 15px; + + img { + height: 20px; + } + } + } + } + } +} \ No newline at end of file diff --git a/assets/css/lib/readme.md b/assets/css/lib/readme.md new file mode 100644 index 0000000..187e4ff --- /dev/null +++ b/assets/css/lib/readme.md @@ -0,0 +1,25 @@ +0. Settings - imports, globals, colors + +1. Tools - mixins, global helpers + +2. Generic - normalize, reset + +3. Base - unclassed HTML elements + +4. Objects - classed elements, design patterns + +5. Components - reused UI elements + +6. Trumps - helpers and overrides + +------------------------------------ + +Modules - helper modules for specific elements, loaded on demand from partials + +Partials - page components, eg header and footer, included in layout CSS file + +------------------------------------ + +main.css: includes 0 - 6 + +includes.css: includes 0 - 1 diff --git a/assets/css/schedule.scss b/assets/css/schedule.scss new file mode 100644 index 0000000..b6b4838 --- /dev/null +++ b/assets/css/schedule.scss @@ -0,0 +1,37 @@ +--- +--- + +@import "0-settings/config"; + +.schedule-table { + width: 100%; + line-height: 30px; + + div[row] { + div { + border: 3px solid white; + background-color: #fafafa; + padding: 20px; + } + + div:first-child { + width: 100px; + font-weight: bold; + } + + div:last-child { + flex-grow: 1; + } + } + +} + +@media (max-width: 768px) { + .sponsor-table { + overflow-x: scroll; + } + + th, td { + white-space: nowrap; + } +} diff --git a/assets/css/speakers.scss b/assets/css/speakers.scss new file mode 100644 index 0000000..9d65ce4 --- /dev/null +++ b/assets/css/speakers.scss @@ -0,0 +1,62 @@ +--- +--- + +@import "0-settings/config"; + +.speakers-table { + width: 100%; + line-height: 30px; + display: flex; + + div.tile { + flex-flow: column; + box-shadow: $bs-regular; + border-radius: 8px; + margin-bottom: 30px; + margin-right: 30px; + max-width: 370px; + + + + div[row] { + border-bottom: 1px solid $grey3; + } + + .name, + .talk-name { + display: block; + font-weight: 500; + } + + .name { + color: $red; + } + .description { + padding: 20px; + text-align: left; + + a { + font-size: 80%; + } + } + } + + img { + height: 120px; + border-top-left-radius: 10px; + } + .img-placeholder { + width: 100px; + border: none !important; + } +} + +@media (max-width: 768px) { + .sponsor-table { + overflow-x: scroll; + } + + th, td { + white-space: nowrap; + } +} diff --git a/assets/css/sponsoring.scss b/assets/css/sponsoring.scss new file mode 100644 index 0000000..16da7d2 --- /dev/null +++ b/assets/css/sponsoring.scss @@ -0,0 +1,150 @@ +--- +--- + +@import "0-settings/config"; + + +.main-sponsor { + padding: 0px 10vw; + margin: 40px 0; + display: flex; + flex-direction: column; + align-items: center; + + a { + margin-bottom: 30px; + text-decoration: none; + + .logo { + height: 60px; + width: auto; + } + + .level { + font-weight: 700; + font-size: 18px; + text-transform: uppercase; + } + } + + p { + text-align: center; + } + + .links-wrapper { + display: flex; + align-items: center; + margin-top: 30px; + + a { + display: flex; + } + + img { + width: 32px; + height: 32px; + margin: 0 10px; + } + } +} + +.sponsor-level-list { + display: flex; + flex-direction: column; +} + +.sponsor-tile { + width: 100%; + display: flex; + background-color: white; + box-shadow: $bs-regular; + border-radius: 8px; + margin: 20px 0; + overflow: hidden; + + .content { + padding: 30px 30px; + display: flex; + flex-direction: column; + align-items: center; + } + + a { + display: flex; + align-self: center; + flex-direction: column; + align-items: center; + text-decoration: none; + } + + .level { + font-weight: 700; + font-size: 16px; + margin-top: 5px; + text-transform: uppercase; + } + + .logo { + width: 140px; + height: auto; + margin: 0 20px; + } + + p { + color: $grey; + margin: 20px 0; + } + + + .links-wrapper { + align-self: flex-end; + display: flex; + align-items: center; + } + + .links-wrapper img { + margin-left: 20px; + width: 24px; + height: 24px; + } + + .links-wrapper a { + display: flex; + } + +} + +.bg-partner { + background-color: $blue; +} +.c-partner { + color: $blue; +} + +.bg-platinum { + background-color: $grey; +} +.c-platinum { + color: $grey; +} + +.bg-gold { + background-color: #ffbf00; +} +.c-gold { + color: #ffbf00; +} + +.bg-silver { + background-color: $grey2; +} +.c-silver { + color: $grey2; +} + +.bg-bronze { + background-color: #b59473; +} +.c-bronze { + color: #b59473; +} \ No newline at end of file diff --git a/assets/images/heart.svg b/assets/images/heart.svg new file mode 100644 index 0000000..0a78fb4 --- /dev/null +++ b/assets/images/heart.svg @@ -0,0 +1,5 @@ + + + ❤️ + + diff --git a/dist/favicon.ico b/assets/images/icon.ico similarity index 100% rename from dist/favicon.ico rename to assets/images/icon.ico diff --git a/assets/images/link.svg b/assets/images/link.svg new file mode 100644 index 0000000..905e415 --- /dev/null +++ b/assets/images/link.svg @@ -0,0 +1,16 @@ + + + + link + Created with Sketch. + + + + + + + + + + + diff --git a/assets/images/services/facebook.svg b/assets/images/services/facebook.svg new file mode 100644 index 0000000..ff219f5 --- /dev/null +++ b/assets/images/services/facebook.svg @@ -0,0 +1,12 @@ + + + + Icons/facebook + Created with Sketch. + + + + + + + \ No newline at end of file diff --git a/assets/images/services/instagram.svg b/assets/images/services/instagram.svg new file mode 100644 index 0000000..210525f --- /dev/null +++ b/assets/images/services/instagram.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/assets/images/services/linkedin.svg b/assets/images/services/linkedin.svg new file mode 100644 index 0000000..7163524 --- /dev/null +++ b/assets/images/services/linkedin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/images/services/twitter.svg b/assets/images/services/twitter.svg new file mode 100644 index 0000000..ba44429 --- /dev/null +++ b/assets/images/services/twitter.svg @@ -0,0 +1,12 @@ + + + + Icons/twitter + Created with Sketch. + + + + + + + \ No newline at end of file diff --git a/assets/images/sponsors/bhff.png b/assets/images/sponsors/bhff.png new file mode 100644 index 0000000..1e3324b Binary files /dev/null and b/assets/images/sponsors/bhff.png differ diff --git a/assets/images/sponsors/meisterlabs.svg b/assets/images/sponsors/meisterlabs.svg new file mode 100644 index 0000000..d1854ae --- /dev/null +++ b/assets/images/sponsors/meisterlabs.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/assets/images/starterLogo.png b/assets/images/starterLogo.png new file mode 100644 index 0000000..2c20788 Binary files /dev/null and b/assets/images/starterLogo.png differ diff --git a/coc.html b/coc.html new file mode 100644 index 0000000..481cbc0 --- /dev/null +++ b/coc.html @@ -0,0 +1,58 @@ +--- +title: EuRuKo 2018 | Code of Conduct +permalink: /coc/ +layout: default +--- + +
+ +

+ Code of Conduct +

+

All attendees, speakers, sponsors and volunteers at our conference are required to agree with the following + code of conduct. Organizers will enforce this code throughout the event. We are expecting cooperation from + all participants to help ensuring a safe environment for everybody.

+
+
+
+ + +

The Quick Version

+

Our conference is dedicated to providing a harassment-free conference experience for everyone, + regardless of gender, gender identity and expression, age, sexual orientation, disability, physical + appearance, body size, race, ethnicity, religion (or lack thereof), or technology choices. We do not + tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate + for any conference venue, including talks, workshops, parties, Twitter and other online media. Conference + participants violating these rules may be sanctioned or expelled from the conference without a refund + at the discretion of the conference organisers.

+
+ + +

The Verbose Version

+ +

Harassment includes offensive verbal comments related to gender, gender identity and expression, age, + sexual orientation, disability, physical appearance, body size, race, ethnicity, religion, technology choices, + sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, + sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention.

+ +

Participants asked to stop any harassing behavior are expected to comply immediately.

+ +

Sponsors are also subject to the anti-harassment policy. In particular, sponsors should not use sexualized images, + activities, or other material. Booth staff (including volunteers) should not use sexualized clothing/uniforms/costumes, + or otherwise create a sexualized environment.

+ +

If a participant engages in harassing behavior, the conference organisers may take any action they deem appropriate, + including warning the offender or expulsion from the conference with no refund.

+ +

If you are being harassed, notice that someone else is being harassed, or have any other concerns, please + contact a member of conference staff immediately. Conference staff can be identified as they'll be wearing branded t-shirts.

+ +

Conference staff will be happy to help participants contact hotel/venue security or local law enforcement, + provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the conference. + We value your attendance.

+ +

We expect participants to follow these rules at conference and workshop venues and conference-related social events.

+
+
+
+
diff --git a/dist/index.html b/dist/index.html deleted file mode 100644 index 84d68d1..0000000 --- a/dist/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - Euruko 2024 - - - - - -
-

Euruko 2024

-

Tuzla, Bosnia & Herzegovina

-
- - diff --git a/index.html b/index.html new file mode 100644 index 0000000..0148a87 --- /dev/null +++ b/index.html @@ -0,0 +1,33 @@ +--- +layout: default +--- + +
+ +

+ Where Ruby Developers meet +

+

+ Tuzla, Bosnia & Herzegovina
+ Date TBD +

+
+
+ + + + + {% include sponsor_list.html %} + +
+ +

+ EuRuKo is the annual European conference that brings you all the good news about Ruby and its friends. Every year it takes + place in a different European city, the location being chosen by the participants. We are tremendously happy to be organising + this next edition. Join us and Ruby's creator, Matz, in Tuzla - Date TBD. +

+
+
+ +
+ diff --git a/sponsoring.html b/sponsoring.html new file mode 100644 index 0000000..334ea30 --- /dev/null +++ b/sponsoring.html @@ -0,0 +1,69 @@ +--- +title: EuRuKo 2024 | Sponsoring +permalink: /sponsoring/ +layout: default +--- + + + +
+ +

+ Our Sponsors +

+

+ A big thank you to our sponsors for their support of the Ruby community and the EuRuKo conference! +

+ +
+
+ + +
+ + + {% for sponsor in site.data.sponsors %} + {% if sponsor.level == 'partner' or sponsor.level == 'platinum' %} +
+ + +

{{ sponsor.level }}

+
+

{{ sponsor.description }}

+ +
+ + {% else %} + + + {% endif %} + {% endfor %} +
+
+