21 | :ET
--------------------------------------------------------------------------------
/website/_sass/partials/_mixins.scss:
--------------------------------------------------------------------------------
1 | // List your mixins in here to keep things tidy
2 |
3 | // A basic button
4 | @mixin button($btn-bg, $btn-text) {
5 | font-weight: $bold-font-weight;
6 | padding: 0.8rem;
7 | border-radius: 3px;
8 | line-height: $base-line-height;
9 | color: $btn-text;
10 | background-color: $btn-bg;
11 | border: 3px solid $btn-bg;
12 | }
13 |
14 | // Disable text selection
15 | @mixin user-select($argument: none){
16 | -webkit-user-select: $argument;
17 | -moz-user-select: $argument;
18 | -ms-user-select: $argument;
19 | user-select: $argument;
20 | }
21 |
--------------------------------------------------------------------------------
/v0.1/README.md:
--------------------------------------------------------------------------------
1 | #### Welcome to the first release, v0.1, of RubyGalaxy 👽🖖
2 |
3 | - **Release Party**: Jan 28th, 2020 12pm PST on **RubyGalaxy Twitch**
4 | - **Release URL**: rubygalaxy.io/0.1
5 |
6 | To submit a talk, please open a pull request into this repository with
7 | - A markdown file with your talk title (ex. MyJourneyWithJekyll_DannyRamos)
8 | - Information about you in the description
9 | - Name: Danny Ramos
10 | - Title: Associate Developer Relations Engineer
11 | - Twitter (Optional): @muydanny
12 | - Email (Optional): dramos@newrelic.com
13 | - Company(Optional): New Relic
14 |
15 |
--------------------------------------------------------------------------------
/v0.2/README.md:
--------------------------------------------------------------------------------
1 | #### Welcome to the first release, v0.2 of RubyGalaxy 👽🖖
2 |
3 | - **Release Party**: Feb 28th, 2020 12pm PST on [RubyGalaxy Twitch](https://twitch.tv/therubygalaxy)
4 | - **Release URL**: rubygalaxy.io/0.2
5 |
6 | To submit a talk, please open a pull request into this repository with
7 | - A markdown file with your talk title (ex. MyJourneyWithJekyll_DannyRamos)
8 | - Information about you in the description
9 | - Name: Danny Ramos
10 | - Title: Associate Developer Relations Engineer
11 | - Twitter (Optional): @muydanny
12 | - Email (Optional): dramos@newrelic.com
13 | - Company(Optional): New Relic
14 |
--------------------------------------------------------------------------------
/v0.1/playing_a_hand_with_ruby_pattern_matching_brandon_weaver.md:
--------------------------------------------------------------------------------
1 | * Name: Brandon Weaver
2 | * Title: Playing a Hand with Ruby Pattern Matching
3 | * Twitter (Optional): @keystonelemur
4 | * Email (Optional): keystonelemur@gmail.com
5 | * Company (Optional): Square
6 | ---
7 | Talk Title: Playing a Hand with Ruby Pattern Matching
8 | Talk Synopsis (< 250 words):
9 | Ruby 2.7 introduced Pattern Matching, but what can you use it for? How about we play
10 | a few hands of poker to find out.
11 |
12 | This talk explores Pattern Matching patterns through scoring poker hands. If you've
13 | been waiting for some practical examples of Pattern Matching this is your talk/
--------------------------------------------------------------------------------
/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/63/7e252fa8460c2278df772e6dfbf4934329e2f03a9174070b70d0883886b435:
--------------------------------------------------------------------------------
1 | I"
This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at jekyllrb.com
2 |
3 |
You can find the source code for Minima at GitHub:
4 | jekyll /
5 | minima
6 |
7 |
You can find the source code for Jekyll at GitHub:
8 | jekyll /
9 | jekyll
10 |
11 | :ET
--------------------------------------------------------------------------------
/v0.1/git_rebase.md:
--------------------------------------------------------------------------------
1 | - Name: Brooke Kuhlmann
2 | - Title: Git Rebase
3 | - [Web](https://www.alchemists.io)
4 |
5 | **Synopsis**
6 |
7 | Git is the dominant tool for version management. Misunderstanding and misusing Git can cost
8 | development teams time, energy, and money. Few better examples exist than Git's default merge
9 | workflow which creates repositories that are hard to read, debug, and maintain. In this talk, I'll
10 | show how to use the Rebase Workflow instead, which puts Git to work for you to produce quality code
11 | that's easy to handle and kicks your team into high gear. We'll also get a chance to look at [Git
12 | Lint](https://www.alchemists.io/projects/git-lint) which is a linter for your Git commits written in
13 | Ruby!
14 |
--------------------------------------------------------------------------------
/website/pages/about.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: page
3 | title: About
4 | meta_description: This sets the meta description in the head of the page. You
5 | can watch the output in the browser or in the generated file _site/about.html.
6 | permalink: /about
7 | section: about
8 | intro_paragraph: Create an inclusive and intentional space for Ruby enthusiasts
9 | to share their experiences from all around the world.
10 | ---
11 | ### What makes our galaxy special
12 |
13 | We are a monthly virtual meetup that allows Ruby developers of all skillsets to share their experience with the language. First time speakers are encouraged to come talk at our meetup!
14 |
15 | Catch us every last Thursday of the month at 19:00 UTC on our [Twitch](https://www.twitch.tv/therubygalaxy) channel 🌌
16 |
--------------------------------------------------------------------------------
/abstract_template_example.md:
--------------------------------------------------------------------------------
1 | * **Name**: Danny Ramos
2 | * **Title**: Associate Developer Relations Engineer
3 | * **Twitter (Optional)**: @muydanny
4 | * **Email (Optional)**: dramos@newrelic.com
5 | * **Company (Optional)**: New Relic
6 |
7 | ---
8 | * **Talk Title**: Trapped in the Jekyll-Space Continuum
9 | * **Talk Synopsis (< 250 words)**:
10 | Building lightweight sites is part of the daily routine of any junior software developer. This talk explores the trials and tribulations of trying to build a simple website for Ruby Galaxy first in Ruby on Rails, and then stumbling upon Jekyll, a static site generator powered by Ruby. Most importantly, the talk will include the problems encountered along the way, and why Jekyll was the perfect fit to build Ruby Galaxy's homepage.
11 |
--------------------------------------------------------------------------------
/website/_layouts/Talks.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 |
5 |
6 | by {{ page.author }}
7 |
8 |
9 |
10 |
11 | {% include page-intro.html %}
12 |
13 | {{ content }}
14 |
15 |
29 |
--------------------------------------------------------------------------------
/v0.1/okuramasafumi_kaigi_on_rails.md:
--------------------------------------------------------------------------------
1 | * Name: OKURA Masafumi
2 | * Title: Kaigi on Rails - creating a tech conference in the era of online
3 | * Twitter (Optional): @okuramasafumi
4 | * Email (Optional): masafumi.o1988@gmail.com
5 |
6 | ---
7 | Talk Title: Kaigi on Rails - creating a tech conference in the era of online
8 | Talk Synopsis (< 250 words):
9 | I'm the chief organizer of [Kaigi on Rails](https://kaigionrails.org), a new tech conference from Japan.
10 | It launched last year and started its history as an online conference, apart from its original idea.
11 | I'm planning to improve it to be a better online conference this year to empower more people,
12 | from newbies to experienced devs.
13 | Kaigi on Rails is currently a domestic conference, but will hopefully be an international from next year.
14 | In this talk, I'm going to talk briefly about Kaigi on Rails and some ideas around it,
15 | and propose the audience to be part of it.
16 |
--------------------------------------------------------------------------------
/website/_includes/event.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
{{include.event.name}} Launched on {{include.event.date}} - {{include.event.event_text }}
4 | {% include host_header.html hosts=include.event.hosts %}
5 |
6 |
7 |
8 | {% for talk in include.event.talks %}
9 |
10 |
23 |
24 |
25 | {% endfor %}
26 |
--------------------------------------------------------------------------------
/website/assets/img/twitter-brands.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/website/Gemfile:
--------------------------------------------------------------------------------
1 | source "https://rubygems.org"
2 |
3 | # Hello! This is where you manage which Jekyll version is used to run.
4 | # When you want to use a different version, change it below, save the
5 | # file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
6 | #
7 | # bundle exec jekyll serve
8 | #
9 | # This will help ensure the proper Jekyll version is running.
10 | # Happy Jekylling!
11 | gem "jekyll", "~> 3.8"
12 |
13 | # If you want to use GitHub Pages, remove the "gem "jekyll"" above and
14 | # uncomment the line below. To upgrade, run `bundle update github-pages`.
15 | # gem "github-pages", group: :jekyll_plugins
16 |
17 | # If you have any plugins, put them here!
18 | group :jekyll_plugins do
19 | gem 'jekyll-seo-tag'
20 | gem 'jekyll-youtube', '~> 1.0'
21 | end
22 |
23 | # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
24 | gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
25 |
26 | # Performance-booster for watching directories on Windows
27 | gem "wdm", "~> 0.1.0" if Gem.win_platform?
28 |
--------------------------------------------------------------------------------
/v0.1/debugging_your_brain.md:
--------------------------------------------------------------------------------
1 | * Name: Casey Watts
2 | * Title: Debugging Your Brain Workshop
3 | * Twitter (Optional): @kyloma
4 | * Email (Optional): casey.s.watts@gmail.com
5 |
6 | ---
7 | Talk Title: Debugging Your Brain Workshop
8 | Talk Synopsis (< 250 words):
9 | The human brain is buggy. Sometimes your mind distorts reality, gets frustrated with shortcomings, and spirals out of control. With practice, you can debug your brain. Catch those distortions of reality, transform those frustrations into insight, and short-circuit those downward spirals.
10 |
11 | In this workshop you will get a chance to practice each core idea from Casey’s book [Debugging Your Brain](https://www.debuggingyourbrain.com): Modeling The Brain, Cognitive Behavioral Therapy, Introspection, Identifying Inputs, Experience Processing, Experience Validation, and Cognitive Restructuring.
12 |
13 | Debugging Your Brain is a clear applied psychology book and a concise self-help book, available in all three formats: printed book, eBook and audiobook: [debuggingyourbrain.com](https://www.debuggingyourbrain.com)
14 |
--------------------------------------------------------------------------------
/website/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Dan Urbanowicz
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/website/admin/preview-templates/post.js:
--------------------------------------------------------------------------------
1 | import htm from "https://unpkg.com/htm?module";
2 | import format from "https://unpkg.com/date-fns@2.7.0/esm/format/index.js?module";
3 |
4 | const html = htm.bind(h);
5 |
6 | // Preview component for a Post
7 | const Post = createClass({
8 | render() {
9 | const entry = this.props.entry;
10 |
11 | return html`
12 |
13 |
14 |
42 |
43 |
44 | `;
45 | }
46 | });
47 |
48 | export default Post;
49 |
--------------------------------------------------------------------------------
/v0.1/kindness_matters_stella_bonnie.md:
--------------------------------------------------------------------------------
1 | * **Name: Stella Bonnie**
2 | * **Title: Junior Engineer and Technical Writer/MA Religious Studies**
3 | * **Twitter (Optional):@Stellllllllaaaa**
4 | * **Email (Optional): stella@hey.com**
5 | * **Company (Optional):Blinker**
6 |
7 | ---
8 | * **Talk Title**: Kindness Matters: The Case for Ruby as a Superior Programming Language
9 | * **Talk Synopsis (< 250 words)**:
10 | Language is about communication and connection, and programming languages are more about communicating with other developers than they are about communicating with machines. People dismiss Ruby as a "great first language" but in this talk I will make the case for Ruby as the supreme programming language because it is the kindest programming language when it comes to human communication.
11 |
12 | Writing unreadable code for the sake of brevity is a form of gate keeping. It is a feature of engineering culture that preserves homogeny and creates unnecessary barriers to entry for marginalized groups who may be newer to the field, and may think and communicate differently. Software engineering as a discipline has been dominated by white cis-gendered males as long as it has been a practice. As the field becomes more diverse, the languages will necessarily need to evolve to accommodate new perspectives and experiences. In a time such as this, Ruby is the premier language because it is was designed with kindness in mind.
13 |
--------------------------------------------------------------------------------
/website/netlify.toml:
--------------------------------------------------------------------------------
1 | [build]
2 | command = "jekyll build"
3 | publish = "_site"
4 |
5 | [build.environment]
6 | JEKYLL_ENV = "production"
7 |
8 | # REDIRECT and HEADERS examples.
9 | # Uncomment to use. Directives in this file will ALWAYS override any identical
10 | # directives present in either _redirects and _headers files, and also any
11 | # settings added in Netlify's admin interface.
12 |
13 | # Redirects and headers are GLOBAL for all builds – they do not get scoped to
14 | # contexts no matter where you define them in the file.
15 | # For context-specific rules, use _headers or _redirects files, which are
16 | # applied PER-DEPLOY.
17 |
18 | # For more information see:- https://www.netlify.com/docs/netlify-toml-reference/
19 |
20 | # Redirect rule example
21 |
22 | #[[redirects]]
23 | # from = "/*"
24 | # to = "/Talks/:splat"
25 |
26 | # The default HTTP status code is always 301, but you can define a different
27 | # one e.g. status = 302
28 |
29 | # Headers rule example
30 | # For more information see:- https://www.netlify.com/docs/netlify-toml-reference/
31 |
32 | #[[headers]]
33 | # Define which paths this specific [[headers]] block will cover.
34 | # for = "/*"
35 |
36 | #[headers.values]
37 | # X-Frame-Options = "DENY"
38 | # X-XSS-Protection = "1; mode=block"
39 | # Content-Security-Policy = "frame-ancestors https://www.facebook.com"
40 |
41 | # For more information see:- https://www.netlify.com/docs/netlify-toml-reference/
42 |
--------------------------------------------------------------------------------
/website/_data/guests.yml:
--------------------------------------------------------------------------------
1 | # Guest List
2 |
3 | megan_tiu:
4 | name: Megan Tiu
5 | twitter: https://twitter.com/megantiu
6 |
7 | ramon_huidobro:
8 | name: Ramón Huidobro
9 | twitter: https://twitter.com/hola_soy_milk
10 |
11 | aaron_patterson:
12 | name: Aaron Patterson
13 | description: Ruby on Rails author
14 | twitter: https://twitter.com/tenderlove
15 |
16 | amir_rajan:
17 | name: Amir Rajan
18 | twitter: http://twitter.com/amirrajan
19 |
20 | brian_douglas:
21 | name: Brian Douglas
22 | headshot: /assets/img/bdougie.png
23 | twitter: http://twitter.com/bdougieYO
24 |
25 | brooke_kuhlmann:
26 | name: Brooke Kuhlmann
27 | twitter: https://twitter.com/bkuhlmann
28 |
29 | casey_watts:
30 | name: Casey Watts
31 | twitter: https://twitter.com/heycaseywattsup
32 |
33 | christina_gorton:
34 | name: Christina Gorton
35 | twitter: https://twitter.com/coffeecraftcode
36 | description: Open Source Community Manager at Forem
37 |
38 | corey_haines:
39 | name: Corey Haines
40 | twitter: http://twitter.com/coreyhaines
41 |
42 | dan_moore:
43 | name: Dan Moore
44 | headshot: /assets/img/dan_moore.png
45 | twitter: https://twitter.com/mooreds
46 |
47 | joel_hawksley:
48 | name: joel_hawksley
49 | headshot: /assets/img/joel_h.png
50 | twitter: https://hawksley.org/
51 |
52 | matz:
53 | name: Yukihiro "Matz" Matsumoto
54 | headshot: /assets/img/matz.jpg
55 | twitter: https://twitter.com/yukihiro_matz
56 |
57 | mike_perham:
58 | name: Mike Perham
59 | twitter: https://twitter.com/getajobmike
60 | description: Author of Sidekiq and Faktory
61 |
62 | okura_masafumi:
63 | name: Okura Masafumi
64 | twitter: https://twitter.com/okuramasafumi
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/.jekyll-cache/Jekyll/Cache/Jekyll--Cache/b7/9606fb3afea5bd1609ed40b622142f1c98125abcfe89a76a661b0e8e343910:
--------------------------------------------------------------------------------
1 | I"{"source"=>"/Users/dannyramos/devrel/rubygalaxy", "destination"=>"/Users/dannyramos/devrel/rubygalaxy/_site", "collections_dir"=>"", "cache_dir"=>".jekyll-cache", "plugins_dir"=>"_plugins", "layouts_dir"=>"_layouts", "data_dir"=>"_data", "includes_dir"=>"_includes", "collections"=>{"posts"=>{"output"=>true, "permalink"=>"/:categories/:year/:month/:day/:title:output_ext"}}, "safe"=>false, "include"=>[".htaccess"], "exclude"=>[".sass-cache", ".jekyll-cache", "gemfiles", "Gemfile", "Gemfile.lock", "node_modules", "vendor/bundle/", "vendor/cache/", "vendor/gems/", "vendor/ruby/"], "keep_files"=>[".git", ".svn"], "encoding"=>"utf-8", "markdown_ext"=>"markdown,mkdown,mkdn,mkd,md", "strict_front_matter"=>false, "show_drafts"=>nil, "limit_posts"=>0, "future"=>false, "unpublished"=>false, "whitelist"=>[], "plugins"=>[], "markdown"=>"kramdown", "highlighter"=>"rouge", "lsi"=>false, "excerpt_separator"=>"\n\n", "incremental"=>false, "detach"=>false, "port"=>"4000", "host"=>"127.0.0.1", "baseurl"=>nil, "show_dir_listing"=>false, "permalink"=>"date", "paginate_path"=>"/page:num", "timezone"=>nil, "quiet"=>false, "verbose"=>false, "defaults"=>[], "liquid"=>{"error_mode"=>"warn", "strict_filters"=>false, "strict_variables"=>false}, "kramdown"=>{"auto_ids"=>true, "toc_levels"=>[1, 2, 3, 4, 5, 6], "entity_output"=>"as_char", "smart_quotes"=>"lsquo,rsquo,ldquo,rdquo", "input"=>"GFM", "hard_wrap"=>false, "guess_lang"=>true, "footnote_nr"=>1, "show_warnings"=>false, "syntax_highlighter"=>"rouge", "syntax_highlighter_opts"=>{:default_lang=>"plaintext", :guess_lang=>true}, "coderay"=>{}}, "livereload_port"=>35729, "serving"=>true, "watch"=>true, "url"=>nil}:ET
--------------------------------------------------------------------------------
/website/_site/404.html:
--------------------------------------------------------------------------------
1 | Page not found
We are always interested in talks of all sorts, whether you are an experienced presenter, or are looking for a great place to give your first talk ever.
" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " ;; ;" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %}
Step
Bytes
raw
{{ content | size }}{% if _profile_endings %}
endings
{{ _profile_endings }}{% endif %}{% if _profile_startings %}
startings
{{ _profile_startings }}{% endif %}{% if _profile_comments %}
comments
{{ _profile_comments }}{% endif %}{% if _profile_collapse %}
collapse
{{ _profile_collapse }}{% endif %}{% if _profile_clippings %}
clippings
{{ _profile_clippings }}{% endif %}
{% endif %}{% endif %}
11 |
--------------------------------------------------------------------------------
/website/README.md:
--------------------------------------------------------------------------------
1 | # Jekyll Netlify Boilerplate
2 |
3 | *Note: Check out my [Eleventy Netlify Boilerplate](https://github.com/danurbanowicz/eleventy-netlify-boilerplate). It does pretty much the same as this project but uses the [Eleventy](https://www.11ty.io/) static site generator. It's fast, flexible and doesn't require Ruby.*
4 |
5 | **A really simple Jekyll template for creating a fast, static website on Netlify with
6 | a continuous deployment workflow.**
7 |
8 | 🔥 **This project is featured on Netlify's official [template showcase](http://templates.netlify.com/template/jekyll-with-netlify-cms-boilerplate/) and Talks: [The top 10 Static Site Generators to watch in 2018](http://templates.netlify.com/template/jekyll-with-netlify-cms-boilerplate/)** 🔥
9 |
10 | * Minimal styling, ready to make your own
11 | * Example Talks posts, pages and contact form
12 | * Responsive CSS Grid layout with fallbacks for older browsers
13 | * Continuous Deployment workflow via Netlify and Github
14 | * Netlify CMS for managing content
15 | * Netlify Identity for authenticating users
16 | * Netlify Forms for processing your static HTML forms with reCAPTCHA
17 | * Optional Netlify `_redirects` and `_headers` files ready to use
18 | * Jekyll SASS pipeline
19 | * Minified HTML and CSS
20 |
21 | Based on Netlify's [Jekyll + Netlify CMS](https://github.com/netlify-templates/jekyll-netlify-cms) starter template, head over there for more details on deployment and build settings or to get help with setting up Netlify.
22 |
23 | For help with templates, local development and other Jekyll related stuff, check out the excellent [Jekyll Docs](https://jekyllrb.com/docs/home/).
24 |
25 | ## [View Demo](https://jekyll-netlify-boilerplate.netlify.com/)
26 |
27 | ## Performance
28 |
29 | You can test the demo site's TTFB (Time To First Byte) at [testmysite.io](https://testmysite.io/5b50abe51f12b74b81dd5442/jekyll-netlify-boilerplate.netlify.com)
30 |
31 | ## Getting started
32 |
33 | Simply click the deploy button to get your own copy of the repository deployed to Netlify:
34 |
35 | [](https://app.netlify.com/start/deploy?repository=https://github.com/danurbanowicz/jekyll-netlify-boilerplate&stack=cms)
36 |
37 | This will setup everything needed for running the CMS:
38 |
39 | * A new repository in your GitHub account with the code
40 | * Full Continuous Deployment to Netlify's global CDN network
41 | * Control users and access with Netlify Identity
42 | * Manage content with Netlify CMS
43 |
44 | ### Setup authentication
45 |
46 | After deploying this project, Netlify Identity will add you as a CMS user and
47 | will email you an invite. It is not necessary to accept this invite if you wish
48 | to use an
49 | [OAuth provider](https://www.netlify.com/docs/identity/#external-provider-login)
50 | (e.g. Github) to manage authentication for your CMS.
51 | It is recommended to use this method of authentication as it removes the need
52 | for an email & password to log in to the CMS and is generally more secure. You
53 | will need to add an OAuth provider in your Netlify app settings under
54 | "Settings" > "Identity" > "External providers".
55 |
56 | Next, navigate to `/admin` on your site, choose your OAuth provider from the
57 | login box and you should then be logged into your CMS.
58 |
59 | Now you're all set, and you can start editing content!
60 |
61 | **Note:** if you switch the repo that was created to private, you'll need to regenerate your token,
62 | as the token generated using the deploy to Netlify button can only access public repositories. To
63 | regenerate your token, head to "Settings" in your Netlify site dashboard, go to the "Identity"
64 | section, then scroll to "Services" where you'll see an "Edit settings" button. Click that and you'll
65 | see a text link to "Generate access token in GitHub".
66 |
67 | ## Local Development
68 |
69 | Clone this repository and run:
70 |
71 | ```bash
72 | bundle install
73 | bundle exec jekyll server --watch
74 | ```
75 |
76 | In case you don't want to install ruby-bundler you can use docker:
77 |
78 | ```bash
79 | docker-compose up
80 | ```
81 |
82 | Jekyll will watch your project folder for changes.
83 |
84 | Now navigate to [localhost:4000](http://localhost:4000/) to preview the site, and
85 | [localhost:4000/admin](http://localhost:4000/admin) to log into the CMS.
86 |
87 | ## Bug reports, feature requests, etc
88 |
89 | This is an ongoing project and I welcome contributions. Feel free to submit a PR.
90 |
91 | If you need any help with setting up Netlify CMS, you can reach out to the Netlify team in the [Netlify CMS Gitter](https://gitter.im/netlify/netlifycms).
92 |
--------------------------------------------------------------------------------
/website/_sass/partials/_app.scss:
--------------------------------------------------------------------------------
1 | // Main Styles
2 |
3 | // See the other SASS partials for typography, variables etc.
4 | // CSS Grid is used for the layout with fallbacks for less capable browsers
5 | // declared beforehand, and a @supports feature query to reset fallbacks when
6 | // necessary. https://rachelandrew.co.uk/css/cheatsheets/grid-fallbacks
7 |
8 | // the body element is our primary layout grid
9 |
10 | body {
11 | height: 100vh;
12 | display: grid;
13 | grid-template-rows: auto 1fr auto;
14 | grid-template-columns:
15 | [full-start] minmax(1rem, 1fr)
16 | [main-start] minmax(0, 52rem) [main-end]
17 | minmax(1rem, 1fr) [full-end];
18 | background: #0a101d;
19 | // background: rgb(14,23,42) original background;
20 | }
21 |
22 | // by default, make any new children of body to span the full track
23 | body > * {
24 | grid-column: full;
25 | }
26 |
27 | // header, the first grid row
28 | // it is also a grid for the logo and nav
29 | header {
30 | grid-column: full;
31 | display: grid;
32 | background-color: #0a101d;
33 | padding: 2rem;
34 | @media screen and (min-width: $screen-sm-min) {
35 | grid-template-columns: 1fr auto;
36 | grid-column-gap: 1rem;
37 | }
38 | }
39 |
40 | // logo, is a grid item
41 | header > h1 {
42 | display: inline-block;
43 | padding-bottom: 1rem;
44 | @media screen and (min-width: $screen-sm-min) {
45 | padding-bottom: 0;
46 | }
47 | a,
48 | a:visited {
49 | text-decoration: none;
50 | border: 0;
51 | color: white;
52 | @media screen and (min-width: $screen-sm-min) {
53 | padding: 1rem;
54 | }
55 | }
56 | a:hover {
57 | color: white;
58 | }
59 | }
60 |
61 | // main menu, is a grid item
62 | header > nav {
63 | @media screen and (min-width: $screen-sm-min) {
64 | float: right;
65 | }
66 | ul {
67 | // flexbox is better than grid for distributing an unknown qty of children
68 | display: flex;
69 | li {
70 | margin-right: 2rem;
71 | display: inline-block;
72 | @media screen and (min-width: $screen-sm-min) {
73 | margin-right: 0;
74 | }
75 | a,
76 | a:visited {
77 | color: white;
78 | text-decoration: none;
79 | border: 0;
80 | @media screen and (min-width: $screen-sm-min) {
81 | padding: 1rem;
82 | }
83 | &[data-current="current page"] {
84 | // you can add an active nav item style here
85 | }
86 | }
87 | a:hover {
88 | color: white;
89 | }
90 | }
91 | }
92 | }
93 |
94 | // our main content wrapper, the width scales with font size
95 | main {
96 | width: 100%;
97 | max-width: 52rem;
98 | margin-right: auto;
99 | margin-left: auto;
100 | grid-column: main;
101 | display: grid;
102 | padding-top: 8rem;
103 | padding-bottom: 8rem;
104 | @media screen and (min-width: $screen-md-min) {
105 | align-content: start;
106 | }
107 | }
108 |
109 | #header-logo {
110 | max-height: 40px;
111 | width: auto;
112 | }
113 |
114 | #logo {
115 | height: 60px;
116 | width: auto;
117 | margin-bottom: 20px;
118 | }
119 |
120 | // reset breaking fallbacks (e.g. widths) if CSS Grid is supported
121 | // float, inline-block, table properties are already ignored by CSS Grid
122 | @supports (display: grid) {
123 | main {
124 | width: auto;
125 | max-width: none;
126 | }
127 | }
128 |
129 | // Talks posts list
130 | html[data-current="Talks"] main > section {
131 | ul {
132 | display: grid;
133 | grid-template-columns: 1fr 1fr;
134 | grid-gap: 25px;
135 | // border-bottom: 0.05em solid $hairline-color;
136 | p {
137 | padding-bottom: 0;
138 | }
139 |
140 | }
141 | li {
142 | color: #fff !important;
143 | padding: 2rem;
144 | width: 100%;
145 | background-color:rgba(255, 255, 255, 0.05);
146 | border-radius: 5px;
147 | transition: 0.3s;
148 | }
149 |
150 | li:hover {
151 | background-color:rgba(255, 255, 255, 0.1);
152 | }
153 | }
154 |
155 | // adjacent Talks posts links
156 | nav[aria-label="Adjacent Posts"] {
157 | padding: 4rem 0;
158 | ul {
159 | display: flex;
160 | li {
161 | flex: 0 0 50%;
162 | width: auto;
163 | &:nth-child(2) {
164 | text-align: right;
165 | }
166 | }
167 | }
168 | }
169 |
170 | // contact form
171 | html[data-current="contact"] main > form {
172 | display: grid;
173 | label {
174 | display: none;
175 | }
176 | input,
177 | textarea {
178 | width: 100%;
179 | padding: 1rem;
180 | margin-bottom: 2rem;
181 | }
182 | button {
183 | width: 100%;
184 | }
185 | }
186 |
187 | // reset CSS Grid fallbacks when they aren't required
188 | @supports (display: grid) {
189 | html[data-current="contact"] main > form {
190 | input,
191 | textarea,
192 | button {
193 | width: auto;
194 | max-width: none;
195 | }
196 | }
197 | }
198 |
199 | footer {
200 | text-align: center;
201 | background-color: #000;
202 | }
203 |
204 | ul.twocolumns {
205 | display: inline-block;
206 | }
207 |
208 | ul.twocolumns li {
209 | padding-top: 20px;
210 | float: left;
211 | list-style: outside none none;
212 | width: 50%;
213 | }
214 |
--------------------------------------------------------------------------------
/code_of_conduct.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | We as members, contributors, and leaders pledge to make participation in our
6 | community a harassment-free experience for everyone, regardless of age, body
7 | size, visible or invisible disability, ethnicity, sex characteristics, gender
8 | identity and expression, level of experience, education, socio-economic status,
9 | nationality, personal appearance, race, religion, or sexual identity
10 | and orientation.
11 |
12 | We pledge to act and interact in ways that contribute to an open, welcoming,
13 | diverse, inclusive, and healthy community.
14 |
15 | ## Our Standards
16 |
17 | Examples of behavior that contributes to a positive environment for our
18 | community include:
19 |
20 | * Demonstrating empathy and kindness toward other people
21 | * Being respectful of differing opinions, viewpoints, and experiences
22 | * Giving and gracefully accepting constructive feedback
23 | * Accepting responsibility and apologizing to those affected by our mistakes,
24 | and learning from the experience
25 | * Focusing on what is best not just for us as individuals, but for the
26 | overall community
27 |
28 | Examples of unacceptable behavior include:
29 |
30 | * The use of sexualized language or imagery, and sexual attention or
31 | advances of any kind
32 | * Trolling, insulting or derogatory comments, and personal or political attacks
33 | * Public or private harassment
34 | * Publishing others' private information, such as a physical or email
35 | address, without their explicit permission
36 | * Other conduct which could reasonably be considered inappropriate in a
37 | professional setting
38 |
39 | ## Enforcement Responsibilities
40 |
41 | Community leaders are responsible for clarifying and enforcing our standards of
42 | acceptable behavior and will take appropriate and fair corrective action in
43 | response to any behavior that they deem inappropriate, threatening, offensive,
44 | or harmful.
45 |
46 | Community leaders have the right and responsibility to remove, edit, or reject
47 | comments, commits, code, wiki edits, issues, and other contributions that are
48 | not aligned to this Code of Conduct, and will communicate reasons for moderation
49 | decisions when appropriate.
50 |
51 | ## Scope
52 |
53 | This Code of Conduct applies within all community spaces, and also applies when
54 | an individual is officially representing the community in public spaces.
55 | Examples of representing our community include using an official e-mail address,
56 | posting via an official social media account, or acting as an appointed
57 | representative at an online or offline event.
58 |
59 | ## Enforcement
60 |
61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be
62 | reported to the community leaders responsible for enforcement at
63 | [INSERT CONTACT METHOD].
64 | All complaints will be reviewed and investigated promptly and fairly.
65 |
66 | All community leaders are obligated to respect the privacy and security of the
67 | reporter of any incident.
68 |
69 | ## Enforcement Guidelines
70 |
71 | Community leaders will follow these Community Impact Guidelines in determining
72 | the consequences for any action they deem in violation of this Code of Conduct:
73 |
74 | ### 1. Correction
75 |
76 | **Community Impact**: Use of inappropriate language or other behavior deemed
77 | unprofessional or unwelcome in the community.
78 |
79 | **Consequence**: A private, written warning from community leaders, providing
80 | clarity around the nature of the violation and an explanation of why the
81 | behavior was inappropriate. A public apology may be requested.
82 |
83 | ### 2. Warning
84 |
85 | **Community Impact**: A violation through a single incident or series
86 | of actions.
87 |
88 | **Consequence**: A warning with consequences for continued behavior. No
89 | interaction with the people involved, including unsolicited interaction with
90 | those enforcing the Code of Conduct, for a specified period of time. This
91 | includes avoiding interactions in community spaces as well as external channels
92 | like social media. Violating these terms may lead to a temporary or
93 | permanent ban.
94 |
95 | ### 3. Temporary Ban
96 |
97 | **Community Impact**: A serious violation of community standards, including
98 | sustained inappropriate behavior.
99 |
100 | **Consequence**: A temporary ban from any sort of interaction or public
101 | communication with the community for a specified period of time. No public or
102 | private interaction with the people involved, including unsolicited interaction
103 | with those enforcing the Code of Conduct, is allowed during this period.
104 | Violating these terms may lead to a permanent ban.
105 |
106 | ### 4. Permanent Ban
107 |
108 | **Community Impact**: Demonstrating a pattern of violation of community
109 | standards, including sustained inappropriate behavior, harassment of an
110 | individual, or aggression toward or disparagement of classes of individuals.
111 |
112 | **Consequence**: A permanent ban from any sort of public interaction within
113 | the community.
114 |
115 | ## Attribution
116 |
117 | This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118 | version 2.0, available at
119 | [https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0].
120 |
121 | Community Impact Guidelines were inspired by
122 | [Mozilla's code of conduct enforcement ladder][Mozilla CoC].
123 |
124 | For answers to common questions about this code of conduct, see the FAQ at
125 | [https://www.contributor-covenant.org/faq][FAQ]. Translations are available
126 | at [https://www.contributor-covenant.org/translations][translations].
127 |
128 | [homepage]: https://www.contributor-covenant.org
129 | [v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
130 | [Mozilla CoC]: https://github.com/mozilla/diversity
131 | [FAQ]: https://www.contributor-covenant.org/faq
132 | [translations]: https://www.contributor-covenant.org/translations
133 |
--------------------------------------------------------------------------------
/website/_site/index.html:
--------------------------------------------------------------------------------
1 | Ruby Galaxy
An online meetup for Ruby enthusiasts from around the world, and if we’re lucky - the galaxy.
We are always interested in talks of all sorts, whether you are an experienced presenter, or are looking for a great place to give your first talk ever.
Brought to you by
2 |
--------------------------------------------------------------------------------
/website/_data/events.yml:
--------------------------------------------------------------------------------
1 | - dot_one:
2 | date: Jan 28th, 2021
3 | hosts:
4 | - daniel_kim
5 | - danny_ramos
6 | - mayra_navarro
7 | name: 🎂 v0.1
8 | event_text: The first Ruby Galaxy
9 | talks:
10 | - name: Beyond Ruby3
11 | author: Yukihiro "Matz" Matsumoto
12 | author_twitter: https://twitter.com/yukihiro_matz
13 | recording: https://www.youtube.com/watch?v=buhig8jr-Mo
14 | - name: Debugging Your Brain
15 | author: Casey Watts
16 | author_twitter: https://twitter.com/heycaseywattsup
17 | recording: https://www.youtube.com/watch?v=4OWxVtfM1U4
18 | - name: Git Rebase
19 | author: Brooke Kuhlmann
20 | author_twitter: https://twitter.com/bkuhlmann
21 | recording: https://www.youtube.com/watch?v=6NbtaML8GAg
22 | - name: Kaigi on Rails
23 | author: Okura Masafumi
24 | author_twitter: https://twitter.com/okuramasafumi
25 | recording: https://www.youtube.com/watch?v=QpuaX8N19no
26 | - name: Playing a Hand with Ruby Pattern Matching
27 | author: Brandon Weaver
28 | author_twitter: https://twitter.com/keystonelemur
29 | recording: https://www.youtube.com/watch?v=bO1bKuKclJs
30 | - dot_two:
31 | date: Feb 25th, 2021
32 | event_text: Interviews with OSS Maintainers
33 | hosts:
34 | - jonan_scheffler
35 | - rachael_wright_munn
36 | image: /assets/img/feb21social.jpg
37 | name: ✨ v0.2
38 | recording: https://www.twitch.tv/videos/928356075
39 | talks:
40 | - name: Open-Source Contributing
41 | author: Aaron Patterson
42 | author_twitter: https://twitter.com/tenderlove
43 | recording: https://www.youtube.com/watch?v=58N38JgpivQ
44 | - name: Sidekiq and Faktory
45 | author: Mike Perham
46 | author_twitter: https://twitter.com/getajobmike
47 | recording: https://www.youtube.com/watch?v=N5isXYght4Q
48 | - name: Being an Open Source Community Manager
49 | author: Christina Gorton
50 | author_twitter: https://twitter.com/coffeecraftcode
51 | recording: https://www.youtube.com/watch?v=xtJsvR_Lk98
52 | - dot_three:
53 | date: March 25th, 2021
54 | event_text: Ruby off the Rails
55 | description: This version will be all about "Ruby off the Rails"!
56 | hosts:
57 | - danny_ramos
58 | - rachael_wright_munn
59 | guests:
60 | - corey_haines
61 | - amir_rajan
62 | name: 🛸 v0.3
63 | talks:
64 | - name: Automate with Ruby
65 | author: Corey Haines
66 | author_twitter: https://twitter.com/coreyhaines
67 | recording: https://www.youtube.com/watch?v=bj-Wtk40gE8
68 | - name: DragonRuby Game Engine
69 | author: Amir Rajan
70 | author_twitter: https://twitter.com/amirrajan
71 | recording: https://www.youtube.com/watch?v=4_dqKoRUtDw
72 | - dot_four:
73 | name: v0.4
74 | date: April 29th, 2021 19:00 UTC
75 | description: CFP is closed.
76 | event_text: Ruby Galaxy April 🌌
77 | hosts:
78 | - danny_ramos
79 | - rachael_wright_munn
80 | guests:
81 | - joel_hawksley
82 | - brian_douglas
83 | - dan_moore
84 | talks:
85 | - name: ViewComponents in the Real World
86 | abstract: Rails 6.1 added support for rendering objects such as ViewComponents. In this talk, we’ll share what we’ve learned scaling to hundreds of ViewComponents in the GitHub application, open sourcing a library of ViewComponents, and nurturing a community around the project.
87 | author: Joel Hawksley
88 | author_bio: Joel is a software engineer at GitHub and the creator of ViewComponent.
89 | author_headshot: /assets/img/joel_h.png
90 | author_twitter: https://hawksley.org/
91 | - name: Setup Ruby for GitHub Actions and MySpace
92 | abstract: DevOps goals have stayed the same over the year, but our tools, infrastructure, and operating models have changed. To support modern software delivery, organizations must establish and share proven developer workflows. This talk will focus on building an automated README with GitHub Actions. Plan to leave this talk with ideas on how you can automate new portions of your software development workflows, outside of CI/CD.
93 | author: Brian Douglas
94 | author_bio: Brian Douglas is a Developer Advocate at GitHub where he works on increasing use of the GitHub’s platform specific features (Ask him about GitHub Actions!) through technical content distributed on the internet. In addition to that, Brian has a passion open source and loves mentoring new contributors.
95 | author_headshot: /assets/img/bdougie.png
96 | author_twitter: https://twitter.com/bdougieYO
97 | - name: JSON Web Tokens and Decentralized Identity - What Ruby Developers Need To Know
98 | abstract: JSON Web Tokens (JWTs) provide verifiable identity in distributed systems and are usually generated by centralized identity providers. I’ll walk though how JWTs solve the decentralized identity problem for Ruby devs. Learn about JWT structure, how to use them and mistakes to avoid.
99 | author: Dan Moore
100 | author_bio: Dan is a developer of nearly 20 years. He's supported business critical applications as a team member, a contractor and a manager across a number of domains including real estate, horse racing and oil and gas. He's participated on five startups as a co-founder, employee or contractor (Homesphones, Formatdynamics, Vu, Katasi, The Food Corridor). He's helped organize Boulder Ruby since 2019. He's been an authorized Amazon Web Services instructor. He's worked with very small startups and companies like Oracle and Level 3.
101 | author_headshot: /assets/img/dan_moore.png
102 | author_twitter: https://twitter.com/mooreds
103 | - dot_five:
104 | name: v0.5
105 | date: May 27th, 2021 19:00 UTC
106 | description: CFP is open!
107 | event_text: Ruby Galaxy May 🌌
108 | hosts:
109 | - danny_ramos
110 | - rachael_wright_munn
111 | guests:
112 | talks:
113 | - dot_six:
114 | name: v0.6
115 | date: June 24th, 2021 19:00 UTC
116 | description: RubyCentral, RailsGirls, and mentorship.
117 | event_text: Ruby Galaxy July 🌌
118 | hosts:
119 | - rachael_wright_munn
120 | - kirk_haines
121 | guests:
122 | - megan_tiu
123 | - ramon_huidobro
124 | talks:
125 | - name: Ruby Central, Apprenticeships, and Ruby
126 | abstract: Megan Tiu talks about RubyCentral, Apprenticeships, Ruby, and their work with RailsGirls
127 | author: Megan Tiu
128 | author_headshot: /assets/img/megan_tiu.jpg
129 | author_twitter: https://twitter.com/megantiu
130 | - name: Conversation with Rails Girls Mentors
131 | abstract: Megan Tiu and Ramón Huidobro talk about RailsGirls and their mentorship experiences.
132 | author: Megan Tiu and Ramón Huidobro
133 | - name: "New Dev, Old Codebase: A Series of Mentorship Stories"
134 | abstract: Ramón Huidobro talks about his experiences with mentorship.
135 | author: Ramón Huidobro
136 | author_headshot: /assets/img/ramon_huidobro.jpg
137 | author_twitter: https://twitter.com/hola_soy_milk
138 | upcoming: true
139 |
--------------------------------------------------------------------------------
/website/_sass/partials/_normalize.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * 1. Set default font family to sans-serif.
3 | * 2. Prevent iOS and IE text size adjust after device orientation change,
4 | * without disabling user zoom.
5 | */
6 |
7 | html {
8 | font-family: sans-serif; /* 1 */
9 | -ms-text-size-adjust: 100%; /* 2 */
10 | -webkit-text-size-adjust: 100%; /* 2 */
11 | }
12 |
13 | /**
14 | * Remove default margin.
15 | */
16 |
17 | body {
18 | margin: 0;
19 | }
20 |
21 | /* HTML5 display definitions
22 | ========================================================================== */
23 |
24 | /**
25 | * Correct `block` display not defined for any HTML5 element in IE 8/9.
26 | * Correct `block` display not defined for `details` or `summary` in IE 10/11
27 | * and Firefox.
28 | * Correct `block` display not defined for `main` in IE 11.
29 | */
30 |
31 | article,
32 | aside,
33 | details,
34 | figcaption,
35 | figure,
36 | footer,
37 | header,
38 | hgroup,
39 | main,
40 | menu,
41 | nav,
42 | picture,
43 | section,
44 | summary {
45 | display: block;
46 | }
47 |
48 | /**
49 | * 1. Correct `inline-block` display not defined in IE 8/9.
50 | * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
51 | */
52 |
53 | audio,
54 | canvas,
55 | progress,
56 | video {
57 | display: inline-block; /* 1 */
58 | vertical-align: baseline; /* 2 */
59 | }
60 |
61 | /**
62 | * Prevent modern browsers from displaying `audio` without controls.
63 | * Remove excess height in iOS 5 devices.
64 | */
65 |
66 | audio:not([controls]) {
67 | display: none;
68 | height: 0;
69 | }
70 |
71 | /**
72 | * Address `[hidden]` styling not present in IE 8/9/10.
73 | * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
74 | */
75 |
76 | [hidden],
77 | template {
78 | display: none;
79 | }
80 |
81 | /* Links
82 | ========================================================================== */
83 |
84 | /**
85 | * Remove the gray background color from active links in IE 10.
86 | */
87 |
88 | a {
89 | background-color: transparent;
90 | }
91 |
92 | /**
93 | * Improve readability of focused elements when they are also in an
94 | * active/hover state.
95 | */
96 |
97 | a:active,
98 | a:hover {
99 | outline: 0;
100 | }
101 |
102 | /* Text-level semantics
103 | ========================================================================== */
104 |
105 | /**
106 | * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
107 | */
108 |
109 | abbr[title] {
110 | border-bottom: 1px dotted;
111 | }
112 |
113 | /**
114 | * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
115 | */
116 |
117 | b,
118 | strong {
119 | font-weight: bold;
120 | }
121 |
122 | /**
123 | * Address styling not present in Safari and Chrome.
124 | */
125 |
126 | dfn {
127 | font-style: italic;
128 | }
129 |
130 | /**
131 | * Address variable `h1` font-size and margin within `section` and `article`
132 | * contexts in Firefox 4+, Safari, and Chrome.
133 | */
134 |
135 | h1 {
136 | font-size: 2em;
137 | margin: 0.67em 0;
138 | }
139 |
140 | /**
141 | * Address styling not present in IE 8/9.
142 | */
143 |
144 | mark {
145 | background: #ff0;
146 | color: #000;
147 | }
148 |
149 | /**
150 | * Address inconsistent and variable font size in all browsers.
151 | */
152 |
153 | small {
154 | font-size: 80%;
155 | }
156 |
157 | /**
158 | * Prevent `sub` and `sup` affecting `line-height` in all browsers.
159 | */
160 |
161 | sub,
162 | sup {
163 | font-size: 75%;
164 | line-height: 0;
165 | position: relative;
166 | vertical-align: baseline;
167 | }
168 |
169 | sup {
170 | top: -0.5em;
171 | }
172 |
173 | sub {
174 | bottom: -0.25em;
175 | }
176 |
177 | /* Embedded content
178 | ========================================================================== */
179 |
180 | /**
181 | * Remove border when inside `a` element in IE 8/9/10.
182 | */
183 |
184 | img {
185 | border: 0;
186 | }
187 |
188 | /**
189 | * Correct overflow not hidden in IE 9/10/11.
190 | */
191 |
192 | svg:not(:root) {
193 | overflow: hidden;
194 | }
195 |
196 | /* Grouping content
197 | ========================================================================== */
198 |
199 | /**
200 | * Address margin not present in IE 8/9 and Safari.
201 | */
202 |
203 | figure {
204 | margin: 1em 40px;
205 | }
206 |
207 | /**
208 | * Address differences between Firefox and other browsers.
209 | */
210 |
211 | hr {
212 | -webkit-box-sizing: content-box;
213 | box-sizing: content-box;
214 | height: 0;
215 | }
216 |
217 | /**
218 | * Contain overflow in all browsers.
219 | */
220 |
221 | pre {
222 | overflow: auto;
223 | }
224 |
225 | /**
226 | * Address odd `em`-unit font size rendering in all browsers.
227 | */
228 |
229 | code,
230 | kbd,
231 | pre,
232 | samp {
233 | font-family: monospace, monospace;
234 | font-size: 1em;
235 | }
236 |
237 | /* Forms
238 | ========================================================================== */
239 |
240 | /**
241 | * Known limitation: by default, Chrome and Safari on OS X allow very limited
242 | * styling of `select`, unless a `border` property is set.
243 | */
244 |
245 | /**
246 | * 1. Correct color not being inherited.
247 | * Known issue: affects color of disabled elements.
248 | * 2. Correct font properties not being inherited.
249 | * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
250 | */
251 |
252 | button,
253 | input,
254 | optgroup,
255 | select,
256 | textarea {
257 | color: inherit; /* 1 */
258 | font: inherit; /* 2 */
259 | margin: 0; /* 3 */
260 | border-radius: 5px;
261 | }
262 |
263 | /**
264 | * Address `overflow` set to `hidden` in IE 8/9/10/11.
265 | */
266 |
267 | button {
268 | overflow: visible;
269 | }
270 |
271 | /**
272 | * Address inconsistent `text-transform` inheritance for `button` and `select`.
273 | * All other form control elements do not inherit `text-transform` values.
274 | * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
275 | * Correct `select` style inheritance in Firefox.
276 | */
277 |
278 | button,
279 | select {
280 | text-transform: none;
281 | }
282 |
283 | /**
284 | * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
285 | * and `video` controls.
286 | * 2. Correct inability to style clickable `input` types in iOS.
287 | * 3. Improve usability and consistency of cursor style between image-type
288 | * `input` and others.
289 | */
290 |
291 | button,
292 | html input[type="button"], /* 1 */
293 | input[type="reset"],
294 | input[type="submit"] {
295 | -webkit-appearance: button; /* 2 */
296 | cursor: pointer; /* 3 */
297 | }
298 |
299 | /**
300 | * Re-set default cursor for disabled elements.
301 | */
302 |
303 | button[disabled],
304 | html input[disabled] {
305 | cursor: default;
306 | }
307 |
308 | /**
309 | * Remove inner padding and border in Firefox 4+.
310 | */
311 |
312 | button::-moz-focus-inner,
313 | input::-moz-focus-inner {
314 | border: 0;
315 | padding: 0;
316 | }
317 |
318 | /**
319 | * Address Firefox 4+ setting `line-height` on `input` using `!important` in
320 | * the UA stylesheet.
321 | */
322 |
323 | input {
324 | line-height: normal;
325 | }
326 |
327 | /**
328 | * It's recommended that you don't attempt to style these elements.
329 | * Firefox's implementation doesn't respect box-sizing, padding, or width.
330 | *
331 | * 1. Address box sizing set to `content-box` in IE 8/9/10.
332 | * 2. Remove excess padding in IE 8/9/10.
333 | */
334 |
335 | input[type="checkbox"],
336 | input[type="radio"] {
337 | -webkit-box-sizing: border-box;
338 | box-sizing: border-box; /* 1 */
339 | padding: 0; /* 2 */
340 | }
341 |
342 | /**
343 | * Fix the cursor style for Chrome's increment/decrement buttons. For certain
344 | * `font-size` values of the `input`, it causes the cursor style of the
345 | * decrement button to change from `default` to `text`.
346 | */
347 |
348 | input[type="number"]::-webkit-inner-adjust-hue-button,
349 | input[type="number"]::-webkit-outer-adjust-hue-button {
350 | height: auto;
351 | }
352 |
353 | /**
354 | * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
355 | * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
356 | */
357 |
358 | input[type="search"] {
359 | -webkit-appearance: textfield; /* 1 */
360 | -webkit-box-sizing: content-box;
361 | box-sizing: content-box; /* 2 */
362 | }
363 |
364 | /**
365 | * Remove inner padding and search cancel button in Safari and Chrome on OS X.
366 | * Safari (but not Chrome) clips the cancel button when the search input has
367 | * padding (and `textfield` appearance).
368 | */
369 |
370 | input[type="search"]::-webkit-search-cancel-button,
371 | input[type="search"]::-webkit-search-decoration {
372 | -webkit-appearance: none;
373 | }
374 |
375 | /**
376 | * Define consistent border, margin, and padding.
377 | */
378 |
379 | fieldset {
380 | border: 1px solid #c0c0c0;
381 | margin: 0 2px;
382 | padding: 0.35em 0.625em 0.75em;
383 | }
384 |
385 | /**
386 | * 1. Correct `color` not being inherited in IE 8/9/10/11.
387 | * 2. Remove padding so people aren't caught out if they zero out fieldsets.
388 | */
389 |
390 | legend {
391 | border: 0; /* 1 */
392 | padding: 0; /* 2 */
393 | }
394 |
395 | /**
396 | * Remove default vertical scrollbar in IE 8/9/10/11.
397 | */
398 |
399 | textarea {
400 | overflow: auto;
401 | }
402 |
403 | /**
404 | * Don't inherit the `font-weight` (applied by a rule above).
405 | * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
406 | */
407 |
408 | optgroup {
409 | font-weight: bold;
410 | }
411 |
412 | /* Tables
413 | ========================================================================== */
414 |
415 | /**
416 | * Remove most spacing between table cells.
417 | */
418 |
419 | table {
420 | border-collapse: collapse;
421 | border-spacing: 0;
422 | }
423 |
424 | td,
425 | th {
426 | padding: 0;
427 | }
428 |
--------------------------------------------------------------------------------