├── .gitignore ├── config.ru ├── public └── stylesheets │ ├── sass │ ├── bourbon │ │ ├── settings │ │ │ ├── _px-to-em.scss │ │ │ ├── _asset-pipeline.scss │ │ │ └── _prefixer.scss │ │ ├── css3 │ │ │ ├── _appearance.scss │ │ │ ├── _user-select.scss │ │ │ ├── _calc.scss │ │ │ ├── _backface-visibility.scss │ │ │ ├── _hyphens.scss │ │ │ ├── _filter.scss │ │ │ ├── _font-feature-settings.scss │ │ │ ├── _placeholder.scss │ │ │ ├── _perspective.scss │ │ │ ├── _image-rendering.scss │ │ │ ├── _hidpi-media-query.scss │ │ │ ├── _transform.scss │ │ │ ├── _font-face.scss │ │ │ ├── _text-decoration.scss │ │ │ ├── _selection.scss │ │ │ ├── _keyframes.scss │ │ │ ├── _columns.scss │ │ │ ├── _linear-gradient.scss │ │ │ ├── _background-image.scss │ │ │ ├── _radial-gradient.scss │ │ │ ├── _animation.scss │ │ │ ├── _background.scss │ │ │ ├── _border-image.scss │ │ │ └── _transition.scss │ │ ├── functions │ │ │ ├── _is-number.scss │ │ │ ├── _assign-inputs.scss │ │ │ ├── _is-size.scss │ │ │ ├── _is-length.scss │ │ │ ├── _contains-falsy.scss │ │ │ ├── _px-to-rem.scss │ │ │ ├── _strip-units.scss │ │ │ ├── _px-to-em.scss │ │ │ ├── _tint.scss │ │ │ ├── _shade.scss │ │ │ ├── _contains.scss │ │ │ ├── _is-light.scss │ │ │ ├── _transition-property-name.scss │ │ │ ├── _unpack.scss │ │ │ └── _modular-scale.scss │ │ ├── helpers │ │ │ ├── _shape-size-stripper.scss │ │ │ ├── _gradient-positions-parser.scss │ │ │ ├── _radial-positions-parser.scss │ │ │ ├── _linear-angle-parser.scss │ │ │ ├── _convert-units.scss │ │ │ ├── _render-gradients.scss │ │ │ ├── _linear-side-corner-parser.scss │ │ │ ├── _font-source-declaration.scss │ │ │ ├── _linear-gradient-parser.scss │ │ │ ├── _str-to-num.scss │ │ │ ├── _radial-gradient-parser.scss │ │ │ ├── _radial-arg-parser.scss │ │ │ └── _linear-positions-parser.scss │ │ └── addons │ │ │ ├── _clearfix.scss │ │ │ ├── _margin.scss │ │ │ ├── _border-width.scss │ │ │ ├── _padding.scss │ │ │ ├── _border-style.scss │ │ │ ├── _font-stacks.scss │ │ │ ├── _word-wrap.scss │ │ │ ├── _border-color.scss │ │ │ ├── _ellipsis.scss │ │ │ ├── _hide-text.scss │ │ │ ├── _retina-image.scss │ │ │ ├── _border-radius.scss │ │ │ ├── _size.scss │ │ │ ├── _position.scss │ │ │ ├── _timing-functions.scss │ │ │ ├── _prefixer.scss │ │ │ └── _buttons.scss │ ├── neat │ │ ├── _neat-helpers.scss │ │ ├── grid │ │ │ ├── _box-sizing.scss │ │ │ ├── _fill-parent.scss │ │ │ ├── _pad.scss │ │ │ ├── _display-context.scss │ │ │ ├── _direction-context.scss │ │ │ ├── _outer-container.scss │ │ │ ├── _private.scss │ │ │ ├── _visual-grid.scss │ │ │ ├── _shift.scss │ │ │ └── _row.scss │ │ ├── settings │ │ │ ├── _disable-warnings.scss │ │ │ ├── _visual-grid.scss │ │ │ └── _grid.scss │ │ ├── _neat.scss │ │ └── functions │ │ │ └── _new-breakpoint.scss │ ├── _variables.scss │ ├── _grid-settings.scss │ ├── base.scss │ ├── _navigation.scss │ └── application.scss │ ├── highlightjs │ ├── pojoaque.jpg │ ├── school_book.png │ ├── brown_papersq.png │ ├── androidstudio.css │ ├── ascetic.css │ ├── mono-blue.css │ ├── codepen-embed.css │ ├── tomorrow.css │ ├── vs.css │ ├── paraiso.dark.css │ ├── paraiso.light.css │ ├── kimbie.dark.css │ ├── kimbie.light.css │ ├── ir_black.css │ ├── tomorrow-night-bright.css │ ├── tomorrow-night-eighties.css │ ├── rainbow.css │ ├── atelier-dune.dark.css │ ├── atelier-dune.light.css │ ├── tomorrow-night.css │ ├── atelier-heath.dark.css │ ├── tomorrow-night-blue.css │ ├── atelier-heath.light.css │ ├── atelier-forest.dark.css │ ├── atelier-forest.light.css │ ├── atelier-seaside.dark.css │ ├── atelier-seaside.light.css │ ├── atelier-lakeside.dark.css │ ├── atelier-lakeside.light.css │ ├── atelier-sulphurpool.dark.css │ ├── atelier-sulphurpool.light.css │ ├── solarized_dark.css │ ├── solarized_light.css │ ├── pojoaque.css │ ├── dark.css │ ├── brown_paper.css │ ├── github.css │ ├── far.css │ ├── foundation.css │ ├── idea.css │ ├── zenburn.css │ ├── magula.css │ ├── school_book.css │ ├── atelier-cave.dark.css │ ├── atelier-cave.light.css │ ├── docco.css │ ├── atelier-estuary.dark.css │ ├── atelier-estuary.light.css │ ├── atelier-plateau.dark.css │ └── atelier-plateau.light.css │ ├── base.css.map │ └── base.css ├── views ├── styleguide │ ├── metaprogramming.haml │ ├── strings.haml │ ├── layout.haml │ ├── comments.haml │ ├── modules.haml │ ├── suggested_alternatives.haml │ ├── comment_annotations.haml │ └── naming.haml ├── meetups │ ├── de.haml │ ├── dk.haml │ ├── uk.haml │ └── us.haml ├── meetups.haml ├── index.haml ├── layout.haml ├── talk.haml ├── styleguide.haml └── materials.haml ├── Gemfile ├── config └── deploy.rb ├── README.md ├── website.rb └── Gemfile.lock /.gitignore: -------------------------------------------------------------------------------- 1 | .sass-cache/ 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /config.ru: -------------------------------------------------------------------------------- 1 | require './website' 2 | 3 | run Website 4 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/settings/_px-to-em.scss: -------------------------------------------------------------------------------- 1 | $em-base: 16px !default; 2 | -------------------------------------------------------------------------------- /views/styleguide/metaprogramming.haml: -------------------------------------------------------------------------------- 1 | %section 2 | %p Avoid needless metaprogramming. 3 | 4 | 5 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gem 'bourbon' 4 | gem 'neat' 5 | gem 'sinatra' 6 | gem 'haml' 7 | gem 'shotgun' 8 | -------------------------------------------------------------------------------- /config/deploy.rb: -------------------------------------------------------------------------------- 1 | require 's3-static-site' 2 | 3 | set :bucket, "www.lols.com" 4 | set :access_key_id, 'abcde' 5 | set :secret_access_key, 'abcde' 6 | 7 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/pojoaque.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elixir-community/elixir.community/HEAD/public/stylesheets/highlightjs/pojoaque.jpg -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_appearance.scss: -------------------------------------------------------------------------------- 1 | @mixin appearance($value) { 2 | @include prefixer(appearance, $value, webkit moz ms o spec); 3 | } 4 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/school_book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elixir-community/elixir.community/HEAD/public/stylesheets/highlightjs/school_book.png -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/brown_papersq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elixir-community/elixir.community/HEAD/public/stylesheets/highlightjs/brown_papersq.png -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_user-select.scss: -------------------------------------------------------------------------------- 1 | @mixin user-select($value: none) { 2 | @include prefixer(user-select, $value, webkit moz ms spec); 3 | } 4 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_calc.scss: -------------------------------------------------------------------------------- 1 | @mixin calc($property, $value) { 2 | #{$property}: -webkit-calc(#{$value}); 3 | #{$property}: calc(#{$value}); 4 | } 5 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_backface-visibility.scss: -------------------------------------------------------------------------------- 1 | @mixin backface-visibility($visibility) { 2 | @include prefixer(backface-visibility, $visibility, webkit spec); 3 | } 4 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_hyphens.scss: -------------------------------------------------------------------------------- 1 | @mixin hyphens($hyphenation: none) { 2 | // none | manual | auto 3 | @include prefixer(hyphens, $hyphenation, webkit moz ms spec); 4 | } 5 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_filter.scss: -------------------------------------------------------------------------------- 1 | @mixin filter($function: none) { 2 | // [ 3 | @include prefixer(perspective, $depth, webkit moz spec); 4 | } 5 | 6 | @mixin perspective-origin($value: 50% 50%) { 7 | @include prefixer(perspective-origin, $value, webkit moz spec); 8 | } 9 | -------------------------------------------------------------------------------- /public/stylesheets/sass/neat/grid/_box-sizing.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | @if $border-box-sizing == true { 4 | html { // http://bit.ly/1qk2tVR 5 | box-sizing: border-box; 6 | } 7 | 8 | * { 9 | &, 10 | &::after, 11 | &::before { 12 | box-sizing: inherit; 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /public/stylesheets/sass/_grid-settings.scss: -------------------------------------------------------------------------------- 1 | @import "neat/neat-helpers"; 2 | 3 | // Default grid settings 4 | $column: 90px; 5 | $gutter: 30px; 6 | $grid-columns: 10; 7 | $max-width: 2400px; 8 | 9 | // Breakpoints for different views 10 | $tablet: new-breakpoint(max-width 768px 8); 11 | $mobile: new-breakpoint(max-width 480px 4); 12 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/functions/_is-number.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Checks for a valid number. 4 | /// 5 | /// @param {Number} $value 6 | /// 7 | /// @require {function} contains 8 | 9 | @function is-number($value) { 10 | @return contains("0" "1" "2" "3" "4" "5" "6" "7" "8" "9" 0 1 2 3 4 5 6 7 8 9, $value); 11 | } 12 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/functions/_assign-inputs.scss: -------------------------------------------------------------------------------- 1 | @function assign-inputs($inputs, $pseudo: null) { 2 | $list: (); 3 | 4 | @each $input in $inputs { 5 | $input: unquote($input); 6 | $input: if($pseudo, $input + ":" + $pseudo, $input); 7 | $list: append($list, $input, comma); 8 | } 9 | 10 | @return $list; 11 | } 12 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/settings/_prefixer.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Global variables to enable or disable vendor prefixes 4 | 5 | $prefix-for-webkit: true !default; 6 | $prefix-for-mozilla: true !default; 7 | $prefix-for-microsoft: true !default; 8 | $prefix-for-opera: true !default; 9 | $prefix-for-spec: true !default; 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # elixir.community 2 | 3 | This repo houses the website for [elixir.community](http://elixir.community), please 4 | feel free to contribute in any way that you see fit! 5 | 6 | This project is hastily thrown together using [Sinatra](http://www.sinatrarb.com/), 7 | [HAML](http://haml.info/), [Bourbon](http://bourbon.io/) and 8 | [Neat](http://neat.bourbon.io/). 9 | -------------------------------------------------------------------------------- /public/stylesheets/sass/neat/settings/_disable-warnings.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Disable all deprecation warnings. Defaults to `false`. Set with a `!global` flag. 4 | /// 5 | /// @type Bool 6 | 7 | $disable-warnings: false !default; 8 | 9 | @mixin -neat-warn($message) { 10 | @if $disable-warnings == false { 11 | @warn "#{$message}"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/helpers/_shape-size-stripper.scss: -------------------------------------------------------------------------------- 1 | @function _shape-size-stripper($shape-size) { 2 | $shape-size-spec: null; 3 | @each $value in $shape-size { 4 | @if ($value == "cover") or ($value == "contain") { 5 | $value: null; 6 | } 7 | $shape-size-spec: "#{$shape-size-spec} #{$value}"; 8 | } 9 | @return $shape-size-spec; 10 | } 11 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/functions/_is-size.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Checks for a valid CSS size. 4 | /// 5 | /// @param {String} $value 6 | /// 7 | /// @require {function} contains 8 | /// @require {function} is-length 9 | 10 | @function is-size($value) { 11 | @return is-length($value) 12 | or contains("fill" "fit-content" "min-content" "max-content", $value); 13 | } 14 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/functions/_is-length.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Checks for a valid CSS length. 4 | /// 5 | /// @param {String} $value 6 | 7 | @function is-length($value) { 8 | @return type-of($value) != "null" and (str-slice($value + "", 1, 4) == "calc" 9 | or index(auto inherit initial 0, $value) 10 | or (type-of($value) == "number" and not(unitless($value)))); 11 | } 12 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_image-rendering.scss: -------------------------------------------------------------------------------- 1 | @mixin image-rendering ($mode:auto) { 2 | 3 | @if ($mode == crisp-edges) { 4 | -ms-interpolation-mode: nearest-neighbor; // IE8+ 5 | image-rendering: -moz-crisp-edges; 6 | image-rendering: -o-crisp-edges; 7 | image-rendering: -webkit-optimize-contrast; 8 | image-rendering: crisp-edges; 9 | } 10 | 11 | @else { 12 | image-rendering: $mode; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /views/styleguide/strings.haml: -------------------------------------------------------------------------------- 1 | %section 2 | %p Match strings using the string concatenator rather than binary patterns: 3 | 4 | .not-preferred 5 | %pre 6 | %code.language-elixir{:'data-lang' => 'elixir'} 7 | :preserve 8 | <<"my"::utf8, _rest>> = "my string" 9 | .preferred 10 | %pre 11 | %code.language-elixir{:'data-lang' => 'elixir'} 12 | :preserve 13 | "my" <> _rest = "my string" 14 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/functions/_contains-falsy.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Checks if a list does not contains a value. 4 | /// 5 | /// @access private 6 | /// 7 | /// @param {List} $list 8 | /// The list to check against. 9 | /// 10 | /// @return {Bool} 11 | 12 | @function contains-falsy($list) { 13 | @each $item in $list { 14 | @if not $item { 15 | @return true; 16 | } 17 | } 18 | 19 | @return false; 20 | } 21 | -------------------------------------------------------------------------------- /public/stylesheets/base.css.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "mappings": "AAEA,IAAK;EACH,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,CAAC;EACT,gBAAgB,ECLC,OAAO;EDMxB,WAAW,EAAE,4DAA4D;EACzE,WAAW,EAAE,GAAG;EAChB,SAAS,EAAE,GAAG;;AAGhB,EAAG;EACD,MAAM,EAAE,CAAC;EACT,SAAS,EAAE,KAAK;EAChB,OAAO,EAAE,SAAS;;AAGpB,MAAO;EACL,MAAM,EAAE,iBAAiB;;AAG3B,CAAE;EACA,MAAM,EAAE,iBAAiB;EACzB,SAAS,EAAE,KAAK", 4 | "sources": ["sass/base.scss","sass/_variables.scss"], 5 | "names": [], 6 | "file": "base.css" 7 | } -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/functions/_px-to-rem.scss: -------------------------------------------------------------------------------- 1 | // Convert pixels to rems 2 | // eg. for a relational value of 12px write rem(12) 3 | // Assumes $em-base is the font-size of 4 | 5 | @function rem($pxval) { 6 | @if not unitless($pxval) { 7 | $pxval: strip-units($pxval); 8 | } 9 | 10 | $base: $em-base; 11 | @if not unitless($base) { 12 | $base: strip-units($base); 13 | } 14 | @return ($pxval / $base) * 1rem; 15 | } 16 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/functions/_strip-units.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Strips the unit from a number. 4 | /// 5 | /// @param {Number (With Unit)} $value 6 | /// 7 | /// @example scss - Usage 8 | /// $dimension: strip-units(10em); 9 | /// 10 | /// @example css - CSS Output 11 | /// $dimension: 10; 12 | /// 13 | /// @return {Number (Unitless)} 14 | 15 | @function strip-units($value) { 16 | @return ($value / ($value * 0 + 1)); 17 | } 18 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/functions/_px-to-em.scss: -------------------------------------------------------------------------------- 1 | // Convert pixels to ems 2 | // eg. for a relational value of 12px write em(12) when the parent is 16px 3 | // if the parent is another value say 24px write em(12, 24) 4 | 5 | @function em($pxval, $base: $em-base) { 6 | @if not unitless($pxval) { 7 | $pxval: strip-units($pxval); 8 | } 9 | @if not unitless($base) { 10 | $base: strip-units($base); 11 | } 12 | @return ($pxval / $base) * 1em; 13 | } 14 | -------------------------------------------------------------------------------- /views/styleguide/layout.haml: -------------------------------------------------------------------------------- 1 | %p You should use two spaces spaces per indentation level. No hard tabs. 2 | 3 | .not-preferred 4 | %pre 5 | %code.language-elixir{:'data-lang' => 'elixir'} 6 | :preserve 7 | def some_function do 8 | do_something 9 | end 10 | .preferred 11 | %pre 12 | %code.language-elixir{:'data-lang' => 'elixir'} 13 | :preserve 14 | def some_function do 15 | do_something 16 | end 17 | -------------------------------------------------------------------------------- /views/meetups/uk.haml: -------------------------------------------------------------------------------- 1 | %ul 2 | %li 3 | Elixir London Meetup 4 | %ul 5 | %li 6 | Usually the last Thursday of the month, hosted at the 7 | %a{href: 'https://www.google.co.uk/maps/place/GoCardless/@51.5305125,-0.1032854,15z/data=!4m2!3m1!1s0x0:0x50df67c6c5283ed?sa=X&ei=K7WRVcHaFMPfU4D1icAO&ved=0CH8Q_BIwDQ'} GoCardless 8 | offices 9 | %li 10 | RSVP on 11 | %a{href: 'http://www.meetup.com/Elixir-London/'} meetup.com 12 | 13 | -------------------------------------------------------------------------------- /public/stylesheets/base.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding: 0; 3 | margin: 0; 4 | background-color: #F2F2F2; 5 | font-family: "Fira Sans", "Source Sans Pro", Helvetica, Arial, sans-serif; 6 | line-height: 1.5; 7 | font-size: 1em; } 8 | 9 | h1 { 10 | margin: 0; 11 | font-size: 2.5em; 12 | padding: 0.5em 0em; } 13 | 14 | h2, h3 { 15 | margin: 1.2em 0em 0em 0em; } 16 | 17 | p { 18 | margin: 0.5em 0em 0em 0em; 19 | font-size: 1.1em; } 20 | 21 | /*# sourceMappingURL=base.css.map */ 22 | -------------------------------------------------------------------------------- /public/stylesheets/sass/base.scss: -------------------------------------------------------------------------------- 1 | @import "variables"; 2 | 3 | body { 4 | padding: 0; 5 | margin: 0; 6 | background-color: $background-color; 7 | font-family: "Fira Sans", "Source Sans Pro", Helvetica, Arial, sans-serif; 8 | line-height: 1.5; 9 | font-size: 1em; 10 | } 11 | 12 | h1 { 13 | margin: 0; 14 | font-size: 2.5em; 15 | padding: 0.5em 0em; 16 | } 17 | 18 | h2, h3 { 19 | margin: 1.2em 0em 0em 0em; 20 | } 21 | 22 | p { 23 | margin: 0.5em 0em 0em 0em; 24 | font-size: 1.1em; 25 | } 26 | 27 | -------------------------------------------------------------------------------- /public/stylesheets/sass/neat/grid/_fill-parent.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Forces the element to fill its parent container. 4 | /// 5 | /// @example scss - Usage 6 | /// .element { 7 | /// @include fill-parent; 8 | /// } 9 | /// 10 | /// @example css - CSS Output 11 | /// .element { 12 | /// width: 100%; 13 | /// box-sizing: border-box; 14 | /// } 15 | 16 | @mixin fill-parent() { 17 | width: 100%; 18 | 19 | @if $border-box-sizing == false { 20 | box-sizing: border-box; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_hidpi-media-query.scss: -------------------------------------------------------------------------------- 1 | // HiDPI mixin. Default value set to 1.3 to target Google Nexus 7 (http://bjango.com/articles/min-device-pixel-ratio/) 2 | @mixin hidpi($ratio: 1.3) { 3 | @media only screen and (-webkit-min-device-pixel-ratio: $ratio), 4 | only screen and (min--moz-device-pixel-ratio: $ratio), 5 | only screen and (-o-min-device-pixel-ratio: #{$ratio}/1), 6 | only screen and (min-resolution: round($ratio * 96dpi)), 7 | only screen and (min-resolution: $ratio * 1dppx) { 8 | @content; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /website.rb: -------------------------------------------------------------------------------- 1 | require 'sinatra/base' 2 | require 'haml' 3 | 4 | class Website < Sinatra::Base 5 | get '/' do 6 | haml :index, locals: {title: '{:ok, "welcome"}'} 7 | end 8 | 9 | get '/styleguide' do 10 | haml :styleguide, locals: {title: 'styleguide'} 11 | end 12 | 13 | get '/talk' do 14 | haml :talk, locals: {title: 'talk'} 15 | end 16 | 17 | get '/materials' do 18 | haml :materials, locals: {title: 'materials'} 19 | end 20 | 21 | get '/meetups' do 22 | haml :meetups, locals: {title: 'meetups'} 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/helpers/_gradient-positions-parser.scss: -------------------------------------------------------------------------------- 1 | @function _gradient-positions-parser($gradient-type, $gradient-positions) { 2 | @if $gradient-positions 3 | and ($gradient-type == linear) 4 | and (type-of($gradient-positions) != color) { 5 | $gradient-positions: _linear-positions-parser($gradient-positions); 6 | } 7 | @else if $gradient-positions 8 | and ($gradient-type == radial) 9 | and (type-of($gradient-positions) != color) { 10 | $gradient-positions: _radial-positions-parser($gradient-positions); 11 | } 12 | @return $gradient-positions; 13 | } 14 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_transform.scss: -------------------------------------------------------------------------------- 1 | @mixin transform($property: none) { 2 | // none | 3 | @include prefixer(transform, $property, webkit moz ms o spec); 4 | } 5 | 6 | @mixin transform-origin($axes: 50%) { 7 | // x-axis - left | center | right | length | % 8 | // y-axis - top | center | bottom | length | % 9 | // z-axis - length 10 | @include prefixer(transform-origin, $axes, webkit moz ms o spec); 11 | } 12 | 13 | @mixin transform-style($style: flat) { 14 | @include prefixer(transform-style, $style, webkit moz ms o spec); 15 | } 16 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/addons/_clearfix.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides an easy way to include a clearfix for containing floats. 4 | /// 5 | /// @link http://cssmojo.com/latest_new_clearfix_so_far/ 6 | /// 7 | /// @example scss - Usage 8 | /// .element { 9 | /// @include clearfix; 10 | /// } 11 | /// 12 | /// @example css - CSS Output 13 | /// .element::after { 14 | /// clear: both; 15 | /// content: ""; 16 | /// display: table; 17 | /// } 18 | 19 | @mixin clearfix { 20 | &::after { 21 | clear: both; 22 | content: ""; 23 | display: table; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/functions/_tint.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Mixes a color with white. 4 | /// 5 | /// @param {Color} $color 6 | /// 7 | /// @param {Number (Percentage)} $percent 8 | /// The amount of white to be mixed in. 9 | /// 10 | /// @example scss - Usage 11 | /// .element { 12 | /// background-color: tint(#6ecaa6, 40%); 13 | /// } 14 | /// 15 | /// @example css - CSS Output 16 | /// .element { 17 | /// background-color: #a8dfc9; 18 | /// } 19 | /// 20 | /// @return {Color} 21 | 22 | @function tint($color, $percent) { 23 | @return mix(#fff, $color, $percent); 24 | } 25 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/functions/_shade.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Mixes a color with black. 4 | /// 5 | /// @param {Color} $color 6 | /// 7 | /// @param {Number (Percentage)} $percent 8 | /// The amount of black to be mixed in. 9 | /// 10 | /// @example scss - Usage 11 | /// .element { 12 | /// background-color: shade(#ffbb52, 60%); 13 | /// } 14 | /// 15 | /// @example css - CSS Output 16 | /// .element { 17 | /// background-color: #664a20; 18 | /// } 19 | /// 20 | /// @return {Color} 21 | 22 | @function shade($color, $percent) { 23 | @return mix(#000, $color, $percent); 24 | } 25 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_font-face.scss: -------------------------------------------------------------------------------- 1 | @mixin font-face( 2 | $font-family, 3 | $file-path, 4 | $weight: normal, 5 | $style: normal, 6 | $asset-pipeline: $asset-pipeline, 7 | $file-formats: eot woff2 woff ttf svg) { 8 | 9 | $font-url-prefix: font-url-prefixer($asset-pipeline); 10 | 11 | @font-face { 12 | font-family: $font-family; 13 | font-style: $style; 14 | font-weight: $weight; 15 | 16 | src: font-source-declaration( 17 | $font-family, 18 | $file-path, 19 | $asset-pipeline, 20 | $file-formats, 21 | $font-url-prefix 22 | ); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/helpers/_radial-positions-parser.scss: -------------------------------------------------------------------------------- 1 | @function _radial-positions-parser($gradient-pos) { 2 | $shape-size: nth($gradient-pos, 1); 3 | $pos: nth($gradient-pos, 2); 4 | $shape-size-spec: _shape-size-stripper($shape-size); 5 | 6 | $pre-spec: unquote(if($pos, "#{$pos}, ", null)) 7 | unquote(if($shape-size, "#{$shape-size},", null)); 8 | $pos-spec: if($pos, "at #{$pos}", null); 9 | 10 | $spec: "#{$shape-size-spec} #{$pos-spec}"; 11 | 12 | // Add comma 13 | @if ($spec != " ") { 14 | $spec: "#{$spec},"; 15 | } 16 | 17 | @return $pre-spec $spec; 18 | } 19 | -------------------------------------------------------------------------------- /public/stylesheets/sass/neat/_neat.scss: -------------------------------------------------------------------------------- 1 | // Neat 1.7.2 2 | // http://neat.bourbon.io 3 | // Copyright 2012-2015 thoughtbot, inc. 4 | // MIT License 5 | 6 | // Helpers 7 | @import "neat-helpers"; 8 | 9 | // Grid 10 | @import "grid/private"; 11 | @import "grid/box-sizing"; 12 | @import "grid/omega"; 13 | @import "grid/outer-container"; 14 | @import "grid/span-columns"; 15 | @import "grid/row"; 16 | @import "grid/shift"; 17 | @import "grid/pad"; 18 | @import "grid/fill-parent"; 19 | @import "grid/media"; 20 | @import "grid/to-deprecate"; 21 | @import "grid/visual-grid"; 22 | @import "grid/display-context"; 23 | @import "grid/direction-context"; 24 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/functions/_contains.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Checks if a list contains a value(s). 4 | /// 5 | /// @access private 6 | /// 7 | /// @param {List} $list 8 | /// The list to check against. 9 | /// 10 | /// @param {List} $values 11 | /// A single value or list of values to check for. 12 | /// 13 | /// @example scss - Usage 14 | /// contains($list, $value) 15 | /// 16 | /// @return {Bool} 17 | 18 | @function contains($list, $values...) { 19 | @each $value in $values { 20 | @if type-of(index($list, $value)) != "number" { 21 | @return false; 22 | } 23 | } 24 | 25 | @return true; 26 | } 27 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | bourbon (4.2.3) 5 | sass (~> 3.4) 6 | thor 7 | haml (4.0.6) 8 | tilt 9 | neat (1.7.2) 10 | bourbon (>= 4.0) 11 | sass (>= 3.3) 12 | rack (1.6.4) 13 | rack-protection (1.5.3) 14 | rack 15 | sass (3.4.15) 16 | shotgun (0.9.1) 17 | rack (>= 1.0) 18 | sinatra (1.4.6) 19 | rack (~> 1.4) 20 | rack-protection (~> 1.4) 21 | tilt (>= 1.3, < 3) 22 | thor (0.19.1) 23 | tilt (2.0.1) 24 | 25 | PLATFORMS 26 | ruby 27 | 28 | DEPENDENCIES 29 | bourbon 30 | haml 31 | neat 32 | shotgun 33 | sinatra 34 | 35 | BUNDLED WITH 36 | 1.10.3 37 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/functions/_is-light.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Programatically determines whether a color is light or dark. 4 | /// 5 | /// @link http://robots.thoughtbot.com/closer-look-color-lightness 6 | /// 7 | /// @param {Color (Hex)} $color 8 | /// 9 | /// @example scss - Usage 10 | /// is-light($color) 11 | /// 12 | /// @return {Bool} 13 | 14 | @function is-light($hex-color) { 15 | $-local-red: red(rgba($hex-color, 1)); 16 | $-local-green: green(rgba($hex-color, 1)); 17 | $-local-blue: blue(rgba($hex-color, 1)); 18 | $-local-lightness: ($-local-red * 0.2126 + $-local-green * 0.7152 + $-local-blue * 0.0722) / 255; 19 | 20 | @return $-local-lightness > 0.6; 21 | } 22 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/addons/_margin.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for targeting `margin` on specific sides of a box. Use a `null` value to “skip” a side. 4 | /// 5 | /// @param {Arglist} $vals 6 | /// List of arguments 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include margin(null 10px 3em 20vh); 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .element { 15 | /// margin-bottom: 3em; 16 | /// margin-left: 20vh; 17 | /// margin-right: 10px; 18 | /// } 19 | /// 20 | /// @require {mixin} directional-property 21 | /// 22 | /// @output `margin` 23 | 24 | @mixin margin($vals...) { 25 | @include directional-property(margin, false, $vals...); 26 | } 27 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_text-decoration.scss: -------------------------------------------------------------------------------- 1 | @mixin text-decoration($value) { 2 | // || || 3 | @include prefixer(text-decoration, $value, moz); 4 | } 5 | 6 | @mixin text-decoration-line($line: none) { 7 | // none || underline || overline || line-through 8 | @include prefixer(text-decoration-line, $line, moz); 9 | } 10 | 11 | @mixin text-decoration-style($style: solid) { 12 | // solid || double || dotted || dashed || wavy 13 | @include prefixer(text-decoration-style, $style, moz webkit); 14 | } 15 | 16 | @mixin text-decoration-color($color: currentColor) { 17 | // currentColor || 18 | @include prefixer(text-decoration-color, $color, moz); 19 | } 20 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/addons/_border-width.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for targeting `border-width` on specific sides of a box. Use a `null` value to “skip” a side. 4 | /// 5 | /// @param {Arglist} $vals 6 | /// List of arguments 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include border-width(1em null 20px); 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .element { 15 | /// border-bottom-width: 20px; 16 | /// border-top-width: 1em; 17 | /// } 18 | /// 19 | /// @require {mixin} directional-property 20 | /// 21 | /// @output `border-width` 22 | 23 | @mixin border-width($vals...) { 24 | @include directional-property(border, width, $vals...); 25 | } 26 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/addons/_padding.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for targeting `padding` on specific sides of a box. Use a `null` value to “skip” a side. 4 | /// 5 | /// @param {Arglist} $vals 6 | /// List of arguments 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include padding(12vh null 10px 5%); 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .element { 15 | /// padding-bottom: 10px; 16 | /// padding-left: 5%; 17 | /// padding-top: 12vh; 18 | /// } 19 | /// 20 | /// @require {mixin} directional-property 21 | /// 22 | /// @output `padding` 23 | 24 | @mixin padding($vals...) { 25 | @include directional-property(padding, false, $vals...); 26 | } 27 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/addons/_border-style.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for targeting `border-style` on specific sides of a box. Use a `null` value to “skip” a side. 4 | /// 5 | /// @param {Arglist} $vals 6 | /// List of arguments 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include border-style(dashed null solid); 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .element { 15 | /// border-bottom-style: solid; 16 | /// border-top-style: dashed; 17 | /// } 18 | /// 19 | /// @require {mixin} directional-property 20 | /// 21 | /// @output `border-style` 22 | 23 | @mixin border-style($vals...) { 24 | @include directional-property(border, style, $vals...); 25 | } 26 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/addons/_font-stacks.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Georgia font stack. 4 | /// 5 | /// @type List 6 | 7 | $georgia: "Georgia", "Cambria", "Times New Roman", "Times", serif; 8 | 9 | /// Helvetica font stack. 10 | /// 11 | /// @type List 12 | 13 | $helvetica: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; 14 | 15 | /// Lucida Grande font stack. 16 | /// 17 | /// @type List 18 | 19 | $lucida-grande: "Lucida Grande", "Tahoma", "Verdana", "Arial", sans-serif; 20 | 21 | /// Monospace font stack. 22 | /// 23 | /// @type List 24 | 25 | $monospace: "Bitstream Vera Sans Mono", "Consolas", "Courier", monospace; 26 | 27 | /// Verdana font stack. 28 | /// 29 | /// @type List 30 | 31 | $verdana: "Verdana", "Geneva", sans-serif; 32 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/addons/_word-wrap.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides an easy way to change the `word-wrap` property. 4 | /// 5 | /// @param {String} $wrap [break-word] 6 | /// Value for the `word-break` property. 7 | /// 8 | /// @example scss - Usage 9 | /// .wrapper { 10 | /// @include word-wrap(break-word); 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .wrapper { 15 | /// overflow-wrap: break-word; 16 | /// word-break: break-all; 17 | /// word-wrap: break-word; 18 | /// } 19 | 20 | @mixin word-wrap($wrap: break-word) { 21 | overflow-wrap: $wrap; 22 | word-wrap: $wrap; 23 | 24 | @if $wrap == break-word { 25 | word-break: break-all; 26 | } @else { 27 | word-break: $wrap; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /public/stylesheets/sass/neat/grid/_pad.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Adds padding to the element. 4 | /// 5 | /// @param {List} $padding [flex-gutter()] 6 | /// A list of padding value(s) to use. Passing `default` in the list will result in using the gutter width as a padding value. 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include pad(30px -20px 10px default); 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .element { 15 | /// padding: 30px -20px 10px 2.35765%; 16 | /// } 17 | 18 | @mixin pad($padding: flex-gutter()) { 19 | $padding-list: null; 20 | @each $value in $padding { 21 | $value: if($value == 'default', flex-gutter(), $value); 22 | $padding-list: join($padding-list, $value); 23 | } 24 | padding: $padding-list; 25 | } 26 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/addons/_border-color.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for targeting `border-color` on specific sides of a box. Use a `null` value to “skip” a side. 4 | /// 5 | /// @param {Arglist} $vals 6 | /// List of arguments 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include border-color(#a60b55 #76cd9c null #e8ae1a); 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .element { 15 | /// border-left-color: #e8ae1a; 16 | /// border-right-color: #76cd9c; 17 | /// border-top-color: #a60b55; 18 | /// } 19 | /// 20 | /// @require {mixin} directional-property 21 | /// 22 | /// @output `border-color` 23 | 24 | @mixin border-color($vals...) { 25 | @include directional-property(border, color, $vals...); 26 | } 27 | -------------------------------------------------------------------------------- /views/styleguide/comments.haml: -------------------------------------------------------------------------------- 1 | %section 2 | %ul 3 | %li 4 | Write self-documenting code and ignore the rest of this section. Seriously! 5 | %li 6 | Use one space between the leading # character of the comment and the text of 7 | the comment. 8 | %li 9 | Comments longer than a word are capitalized and use punctuation. Use one space 10 | after periods. 11 | 12 | .example 13 | %pre 14 | %code.language-elixir{:'data-lang' => 'elixir'} 15 | :preserve 16 | String.upcase(some_string) # Capitalize string 17 | 18 | %section 19 | %ul 20 | %li 21 | Keep existing comments up-to-date. An outdated comment is worse than no comment at all. 22 | %li 23 | Avoid writing comments to explain bad code. Refactor the code to make it 24 | self-explanatory. 25 | -------------------------------------------------------------------------------- /public/stylesheets/sass/neat/grid/_display-context.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Changes the display property used by other mixins called in the code block argument. 4 | /// 5 | /// @param {String} $display [block] 6 | /// Display value to be used within the block. Can be `table` or `block`. 7 | /// 8 | /// @example scss 9 | /// @include display-context(table) { 10 | /// .display-table { 11 | /// @include span-columns(6); 12 | /// } 13 | /// } 14 | /// 15 | /// @example css 16 | /// .display-table { 17 | /// display: table-cell; 18 | /// ... 19 | /// } 20 | 21 | @mixin display-context($display: block) { 22 | $scope-display: $container-display-table; 23 | $container-display-table: $display == table !global; 24 | 25 | @content; 26 | 27 | $container-display-table: $scope-display !global; 28 | } 29 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/addons/_ellipsis.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Truncates text and adds an ellipsis to represent overflow. 4 | /// 5 | /// @param {Number} $width [100%] 6 | /// Max-width for the string to respect before being truncated 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include ellipsis; 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .element { 15 | /// display: inline-block; 16 | /// max-width: 100%; 17 | /// overflow: hidden; 18 | /// text-overflow: ellipsis; 19 | /// white-space: nowrap; 20 | /// word-wrap: normal; 21 | /// } 22 | 23 | @mixin ellipsis($width: 100%) { 24 | display: inline-block; 25 | max-width: $width; 26 | overflow: hidden; 27 | text-overflow: ellipsis; 28 | white-space: nowrap; 29 | word-wrap: normal; 30 | } 31 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/functions/_transition-property-name.scss: -------------------------------------------------------------------------------- 1 | // Return vendor-prefixed property names if appropriate 2 | // Example: transition-property-names((transform, color, background), moz) -> -moz-transform, color, background 3 | //************************************************************************// 4 | @function transition-property-names($props, $vendor: false) { 5 | $new-props: (); 6 | 7 | @each $prop in $props { 8 | $new-props: append($new-props, transition-property-name($prop, $vendor), comma); 9 | } 10 | 11 | @return $new-props; 12 | } 13 | 14 | @function transition-property-name($prop, $vendor: false) { 15 | // put other properties that need to be prefixed here aswell 16 | @if $vendor and $prop == transform { 17 | @return unquote('-'+$vendor+'-'+$prop); 18 | } 19 | @else { 20 | @return $prop; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/functions/_unpack.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Converts shorthand to the 4-value syntax. 4 | /// 5 | /// @param {List} $shorthand 6 | /// 7 | /// @example scss - Usage 8 | /// .element { 9 | /// margin: unpack(1em 2em); 10 | /// } 11 | /// 12 | /// @example css - CSS Output 13 | /// .element { 14 | /// margin: 1em 2em 1em 2em; 15 | /// } 16 | 17 | @function unpack($shorthand) { 18 | @if length($shorthand) == 1 { 19 | @return nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1); 20 | } @else if length($shorthand) == 2 { 21 | @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 1) nth($shorthand, 2); 22 | } @else if length($shorthand) == 3 { 23 | @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 3) nth($shorthand, 2); 24 | } @else { 25 | @return $shorthand; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/addons/_hide-text.scss: -------------------------------------------------------------------------------- 1 | /// Hides the text in an element, commonly used to show an image. Some elements will need block-level styles applied. 2 | /// 3 | /// @link http://zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement 4 | /// 5 | /// @example scss - Usage 6 | /// .element { 7 | /// @include hide-text; 8 | /// } 9 | /// 10 | /// @example css - CSS Output 11 | /// .element { 12 | /// overflow: hidden; 13 | /// text-indent: 101%; 14 | /// white-space: nowrap; 15 | /// } 16 | /// 17 | /// @todo Remove height argument in v5.0.0 18 | 19 | @mixin hide-text($height: null) { 20 | overflow: hidden; 21 | text-indent: 101%; 22 | white-space: nowrap; 23 | 24 | @if $height { 25 | @warn "The `hide-text` mixin has changed and no longer requires a height. The height argument will no longer be accepted in v5.0.0"; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/helpers/_linear-angle-parser.scss: -------------------------------------------------------------------------------- 1 | // Private function for linear-gradient-parser 2 | @function _linear-angle-parser($image, $first-val, $prefix, $suffix) { 3 | $offset: null; 4 | $unit-short: str-slice($first-val, str-length($first-val) - 2, str-length($first-val)); 5 | $unit-long: str-slice($first-val, str-length($first-val) - 3, str-length($first-val)); 6 | 7 | @if ($unit-long == "grad") or 8 | ($unit-long == "turn") { 9 | $offset: if($unit-long == "grad", -100grad * 3, -0.75turn); 10 | } 11 | 12 | @else if ($unit-short == "deg") or 13 | ($unit-short == "rad") { 14 | $offset: if($unit-short == "deg", -90 * 3, 1.6rad); 15 | } 16 | 17 | @if $offset { 18 | $num: _str-to-num($first-val); 19 | 20 | @return ( 21 | webkit-image: -webkit- + $prefix + ($offset - $num) + $suffix, 22 | spec-image: $image 23 | ); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /public/stylesheets/sass/neat/settings/_visual-grid.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Displays the visual grid when set to true. The overlaid grid may be few pixels off depending on the browser's rendering engine and pixel rounding algorithm. Set with the `!global` flag. 4 | /// 5 | /// @type Bool 6 | 7 | $visual-grid: false !default; 8 | 9 | /// Sets the visual grid color. Set with `!global` flag. 10 | /// 11 | /// @type Color 12 | 13 | $visual-grid-color: #eee !default; 14 | 15 | /// Sets the `z-index` property of the visual grid. Can be `back` (behind content) or `front` (in front of content). Set with `!global` flag. 16 | /// 17 | /// @type String 18 | 19 | $visual-grid-index: back !default; 20 | 21 | /// Sets the opacity property of the visual grid. Set with `!global` flag. 22 | /// 23 | /// @type Number (unitless) 24 | 25 | $visual-grid-opacity: 0.4 !default; 26 | 27 | $visual-grid-breakpoints: () !default; 28 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/androidstudio.css: -------------------------------------------------------------------------------- 1 | /* 2 | Date: 24 Fev 2015 3 | Author: Pedro Oliveira 4 | */ 5 | 6 | .hljs { 7 | color: #a9b7c6; 8 | background: #282b2e; 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | -webkit-text-size-adjust: none; 13 | } 14 | 15 | .hljs-number { 16 | color: #6897BB; 17 | } 18 | 19 | .hljs-keyword, 20 | .hljs-deletion { 21 | color: #cc7832; 22 | } 23 | 24 | .hljs-comment { 25 | color: #808080; 26 | } 27 | 28 | .hljs-annotation { 29 | color: #bbb529; 30 | } 31 | 32 | .hljs-string, 33 | .hljs-addition { 34 | color: #6A8759; 35 | } 36 | 37 | .hljs-function .hljs-title, 38 | .hljs-change { 39 | color: #ffc66d; 40 | } 41 | 42 | .hljs-tag .hljs-title, 43 | .hljs-doctype { 44 | color: #e8bf6a; 45 | } 46 | 47 | .hljs-tag .hljs-attribute { 48 | color: #bababa; 49 | } 50 | 51 | .hljs-tag .hljs-value { 52 | color: #a5c261; 53 | } 54 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/helpers/_convert-units.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // Helper function for str-to-num fn. 3 | // Source: http://sassmeister.com/gist/9647408 4 | //************************************************************************// 5 | @function _convert-units($number, $unit) { 6 | $strings: "px", "cm", "mm", "%", "ch", "pica", "in", "em", "rem", "pt", "pc", "ex", "vw", "vh", "vmin", "vmax", "deg", "rad", "grad", "turn"; 7 | $units: 1px, 1cm, 1mm, 1%, 1ch, 1pica, 1in, 1em, 1rem, 1pt, 1pc, 1ex, 1vw, 1vh, 1vmin, 1vmax, 1deg, 1rad, 1grad, 1turn; 8 | $index: index($strings, $unit); 9 | 10 | @if not $index { 11 | @warn "Unknown unit `#{$unit}`."; 12 | @return false; 13 | } 14 | 15 | @if type-of($number) != "number" { 16 | @warn "`#{$number} is not a number`"; 17 | @return false; 18 | } 19 | 20 | @return $number * nth($units, $index); 21 | } 22 | -------------------------------------------------------------------------------- /views/styleguide/modules.haml: -------------------------------------------------------------------------------- 1 | %section 2 | %p 3 | Use one module per file unless the module is only used internally by another module (such as a test). 4 | Use underscored file names for CamelCase module names. 5 | 6 | .example 7 | %pre 8 | %code.language-elixir{:'data-lang' => 'elixir'} 9 | :preserve 10 | # filename is some_module.ex 11 | defmodule SomeModule do 12 | end 13 | 14 | %p Represent each level of nesting within a module name as a directory. 15 | 16 | .example 17 | %pre 18 | %code.language-elixir{:'data-lang' => 'elixir'} 19 | :preserve 20 | # filepath is parser/core/xml_parser.ex 21 | defmodule Parser.Core.XMLParser do 22 | end 23 | 24 | %section 25 | %ul 26 | %li 27 | No newline after 28 | %span.keyword defmodule 29 | %li No newline before first function def. 30 | %li Newline after "module-level-code-blocks". 31 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/addons/_retina-image.scss: -------------------------------------------------------------------------------- 1 | @mixin retina-image($filename, $background-size, $extension: png, $retina-filename: null, $retina-suffix: _2x, $asset-pipeline: $asset-pipeline) { 2 | @if $asset-pipeline { 3 | background-image: image-url("#{$filename}.#{$extension}"); 4 | } @else { 5 | background-image: url("#{$filename}.#{$extension}"); 6 | } 7 | 8 | @include hidpi { 9 | @if $asset-pipeline { 10 | @if $retina-filename { 11 | background-image: image-url("#{$retina-filename}.#{$extension}"); 12 | } @else { 13 | background-image: image-url("#{$filename}#{$retina-suffix}.#{$extension}"); 14 | } 15 | } @else { 16 | @if $retina-filename { 17 | background-image: url("#{$retina-filename}.#{$extension}"); 18 | } @else { 19 | background-image: url("#{$filename}#{$retina-suffix}.#{$extension}"); 20 | } 21 | } 22 | 23 | background-size: $background-size; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/helpers/_render-gradients.scss: -------------------------------------------------------------------------------- 1 | // User for linear and radial gradients within background-image or border-image properties 2 | 3 | @function _render-gradients($gradient-positions, $gradients, $gradient-type, $vendor: false) { 4 | $pre-spec: null; 5 | $spec: null; 6 | $vendor-gradients: null; 7 | @if $gradient-type == linear { 8 | @if $gradient-positions { 9 | $pre-spec: nth($gradient-positions, 1); 10 | $spec: nth($gradient-positions, 2); 11 | } 12 | } 13 | @else if $gradient-type == radial { 14 | $pre-spec: nth($gradient-positions, 1); 15 | $spec: nth($gradient-positions, 2); 16 | } 17 | 18 | @if $vendor { 19 | $vendor-gradients: -#{$vendor}-#{$gradient-type}-gradient(#{$pre-spec} $gradients); 20 | } 21 | @else if $vendor == false { 22 | $vendor-gradients: "#{$gradient-type}-gradient(#{$spec} #{$gradients})"; 23 | $vendor-gradients: unquote($vendor-gradients); 24 | } 25 | @return $vendor-gradients; 26 | } 27 | -------------------------------------------------------------------------------- /views/styleguide/suggested_alternatives.haml: -------------------------------------------------------------------------------- 1 | %section 2 | %p 3 | Suggested alternatives are styles that haven't been seen much in the community yet 4 | but might provide some value. 5 | 6 | %h3 Cond 7 | %p 8 | An atom can be used as a catch-all expression in a 9 | %span.keyword cond 10 | as it evaluates to a truthy 11 | value. Suggested atoms are 12 | %span.keyword :else 13 | or 14 | %span.keyword :otherwise 15 | \. 16 | 17 | .example 18 | %pre 19 | %code.language-elixir{:'data-lang' => 'elixir'} 20 | :preserve 21 | cond do 22 | 1 + 2 == 5 -> 23 | "Nope" 24 | 1 + 3 == 5 -> 25 | "Uh, uh" 26 | :else -> 27 | "OK" 28 | end 29 | 30 | # is the same as 31 | cond do 32 | 1 + 2 == 5 -> 33 | "Nope" 34 | 1 + 3 == 5 -> 35 | "Uh, uh" 36 | true -> 37 | "OK" 38 | end 39 | -------------------------------------------------------------------------------- /public/stylesheets/sass/_navigation.scss: -------------------------------------------------------------------------------- 1 | nav { 2 | background-color: $primary-color; 3 | display: block; 4 | min-height: 60px; 5 | border-bottom: 2px solid $nav-hover-color; 6 | float:left; 7 | width: 100%; 8 | } 9 | 10 | nav ul { 11 | display: block; 12 | float: left; 13 | text-align: left; 14 | list-style-type: none; 15 | margin: 0px; 16 | padding: 0px; 17 | } 18 | 19 | nav ul li { 20 | display: block; 21 | list-style-type: none; 22 | float:left; 23 | } 24 | 25 | nav ul li a { 26 | color: $nav-link-color; 27 | display: inline-block; 28 | line-height: 60px; 29 | text-decoration: none; 30 | padding: 0em 1.0em; 31 | } 32 | 33 | nav ul li a:hover { 34 | // @include span-columns(5) 35 | background-color: $nav-hover-color; 36 | } 37 | 38 | i.icon { 39 | font-size: 1.5em; 40 | padding-right: 0.1em; 41 | } 42 | 43 | .menu { 44 | width: 100%; 45 | background-color: red; 46 | float: left; 47 | } 48 | 49 | .item { 50 | width: 300px; 51 | height: 30px; 52 | float: left; 53 | } 54 | -------------------------------------------------------------------------------- /views/meetups/us.haml: -------------------------------------------------------------------------------- 1 | %ul 2 | %li 3 | Bay Area Elixir Meetup 4 | %ul 5 | %li 6 | Join enthusiastic Elixir programmers in a supportive community. We'll learn from 7 | companies using Elixir in production, collaborate on open-source projects, and 8 | explore the nuances of Elixir essentials like OTP, Phoenix, macros, and ETS. 9 | Whether you're just getting curious about the language or a long-time user 10 | looking for a supportive and like-minded community, come join us for a night of 11 | short talks, programming, and concurrent networking. 12 | %li 13 | RSVP on 14 | %a{href: 'www.meetup.com/Bay-Area-Elixir-Meetup/'} meetup.com 15 | %li 16 | Boston Elixir 17 | %ul 18 | %li 19 | Meet other Elixir enthusiasts! This meetup will try to meet on a regular basis to 20 | share knowledge on the Elixir programming language. 21 | %li 22 | RSVP on 23 | %a{href: 'www.meetup.com/Boston-Elixir/'} meetup.com 24 | -------------------------------------------------------------------------------- /public/stylesheets/sass/neat/grid/_direction-context.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Changes the direction property used by other mixins called in the code block argument. 4 | /// 5 | /// @param {String} $direction [left-to-right] 6 | /// Layout direction to be used within the block. Can be `left-to-right` or `right-to-left`. 7 | /// 8 | /// @example scss - Usage 9 | /// @include direction-context(right-to-left) { 10 | /// .right-to-left-block { 11 | /// @include span-columns(6); 12 | /// } 13 | /// } 14 | /// 15 | /// @example css - CSS Output 16 | /// .right-to-left-block { 17 | /// float: right; 18 | /// ... 19 | /// } 20 | 21 | @mixin direction-context($direction: left-to-right) { 22 | $scope-direction: $layout-direction; 23 | 24 | @if to-lower-case($direction) == "left-to-right" { 25 | $layout-direction: LTR !global; 26 | } @else if to-lower-case($direction) == "right-to-left" { 27 | $layout-direction: RTL !global; 28 | } 29 | 30 | @content; 31 | 32 | $layout-direction: $scope-direction !global; 33 | } 34 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_selection.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Outputs the spec and prefixed versions of the `::selection` pseudo-element. 4 | /// 5 | /// @param {Bool} $current-selector [false] 6 | /// If set to `true`, it takes the current element into consideration. 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include selection(true) { 11 | /// background-color: #ffbb52; 12 | /// } 13 | /// } 14 | /// 15 | /// @example css - CSS Output 16 | /// .element::-moz-selection { 17 | /// background-color: #ffbb52; 18 | /// } 19 | /// 20 | /// .element::selection { 21 | /// background-color: #ffbb52; 22 | /// } 23 | 24 | @mixin selection($current-selector: false) { 25 | @if $current-selector { 26 | &::-moz-selection { 27 | @content; 28 | } 29 | 30 | &::selection { 31 | @content; 32 | } 33 | } @else { 34 | ::-moz-selection { 35 | @content; 36 | } 37 | 38 | ::selection { 39 | @content; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/ascetic.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Original style from softwaremaniacs.org (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: white; 12 | color: black; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | .hljs-string, 17 | .hljs-tag .hljs-value, 18 | .hljs-filter .hljs-argument, 19 | .hljs-addition, 20 | .hljs-change, 21 | .hljs-name, 22 | .apache .hljs-tag, 23 | .apache .hljs-cbracket, 24 | .nginx .hljs-built_in, 25 | .tex .hljs-formula { 26 | color: #888; 27 | } 28 | 29 | .hljs-comment, 30 | .hljs-shebang, 31 | .hljs-doctype, 32 | .hljs-pi, 33 | .hljs-deletion, 34 | .apache .hljs-sqbracket { 35 | color: #ccc; 36 | } 37 | 38 | .hljs-keyword, 39 | .hljs-tag .hljs-title, 40 | .ini .hljs-title, 41 | .lisp .hljs-title, 42 | .http .hljs-title, 43 | .nginx .hljs-title, 44 | .css .hljs-tag, 45 | .hljs-winutils, 46 | .hljs-flow, 47 | .apache .hljs-tag, 48 | .tex .hljs-command, 49 | .hljs-request, 50 | .hljs-status { 51 | font-weight: bold; 52 | } 53 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/helpers/_linear-side-corner-parser.scss: -------------------------------------------------------------------------------- 1 | // Private function for linear-gradient-parser 2 | @function _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals) { 3 | $val-1: str-slice($first-val, 0, $has-multiple-vals - 1 ); 4 | $val-2: str-slice($first-val, $has-multiple-vals + 1, str-length($first-val)); 5 | $val-3: null; 6 | $has-val-3: str-index($val-2, " "); 7 | 8 | @if $has-val-3 { 9 | $val-3: str-slice($val-2, $has-val-3 + 1, str-length($val-2)); 10 | $val-2: str-slice($val-2, 0, $has-val-3 - 1); 11 | } 12 | 13 | $pos: _position-flipper($val-1) _position-flipper($val-2) _position-flipper($val-3); 14 | $pos: unquote($pos + ""); 15 | 16 | // Use old spec for webkit 17 | @if $val-1 == "to" { 18 | @return ( 19 | webkit-image: -webkit- + $prefix + $pos + $suffix, 20 | spec-image: $image 21 | ); 22 | } 23 | 24 | // Bring the code up to spec 25 | @else { 26 | @return ( 27 | webkit-image: -webkit- + $image, 28 | spec-image: $prefix + "to " + $pos + $suffix 29 | ); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /public/stylesheets/sass/neat/grid/_outer-container.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Makes an element a outer container by centring it in the viewport, clearing its floats, and setting its `max-width`. 4 | /// Although optional, using `outer-container` is recommended. The mixin can be called on more than one element per page, as long as they are not nested. 5 | /// 6 | /// @param {Number [unit]} $local-max-width [$max-width] 7 | /// Max width to be applied to the element. Can be a percentage or a measure. 8 | /// 9 | /// @example scss - Usage 10 | /// .element { 11 | /// @include outer-container(100%); 12 | /// } 13 | /// 14 | /// @example css - CSS Output 15 | /// .element { 16 | /// *zoom: 1; 17 | /// max-width: 100%; 18 | /// margin-left: auto; 19 | /// margin-right: auto; 20 | /// } 21 | /// 22 | /// .element:before, .element:after { 23 | /// content: " "; 24 | /// display: table; 25 | /// } 26 | /// 27 | /// .element:after { 28 | /// clear: both; 29 | /// } 30 | 31 | @mixin outer-container($local-max-width: $max-width) { 32 | @include clearfix; 33 | max-width: $local-max-width; 34 | margin: { 35 | left: auto; 36 | right: auto; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/mono-blue.css: -------------------------------------------------------------------------------- 1 | /* 2 | Five-color theme from a single blue hue. 3 | */ 4 | .hljs { 5 | display: block; 6 | overflow-x: auto; 7 | padding: 0.5em; 8 | background: #eaeef3; 9 | -webkit-text-size-adjust: none; 10 | } 11 | 12 | .hljs, 13 | .hljs-list .hljs-built_in { 14 | color: #00193a; 15 | } 16 | 17 | .hljs-keyword, 18 | .hljs-title, 19 | .hljs-important, 20 | .hljs-request, 21 | .hljs-header, 22 | .hljs-doctag { 23 | font-weight: bold; 24 | } 25 | 26 | .hljs-comment, 27 | .hljs-chunk { 28 | color: #738191; 29 | } 30 | 31 | .hljs-string, 32 | .hljs-title, 33 | .hljs-parent, 34 | .hljs-built_in, 35 | .hljs-literal, 36 | .hljs-filename, 37 | .hljs-value, 38 | .hljs-addition, 39 | .hljs-tag, 40 | .hljs-argument, 41 | .hljs-link_label, 42 | .hljs-blockquote, 43 | .hljs-header, 44 | .hljs-name { 45 | color: #0048ab; 46 | } 47 | 48 | .hljs-decorator, 49 | .hljs-prompt, 50 | .hljs-subst, 51 | .hljs-symbol, 52 | .hljs-doctype, 53 | .hljs-regexp, 54 | .hljs-preprocessor, 55 | .hljs-pragma, 56 | .hljs-pi, 57 | .hljs-attribute, 58 | .hljs-attr_selector, 59 | .hljs-xmlDocTag, 60 | .hljs-deletion, 61 | .hljs-shebang, 62 | .hljs-string .hljs-variable, 63 | .hljs-link_url, 64 | .hljs-bullet, 65 | .hljs-sqbracket, 66 | .hljs-phony { 67 | color: #4c81c9; 68 | } 69 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/helpers/_font-source-declaration.scss: -------------------------------------------------------------------------------- 1 | // Used for creating the source string for fonts using @font-face 2 | // Reference: http://goo.gl/Ru1bKP 3 | 4 | @function font-url-prefixer($asset-pipeline) { 5 | @if $asset-pipeline == true { 6 | @return font-url; 7 | } @else { 8 | @return url; 9 | } 10 | } 11 | 12 | @function font-source-declaration( 13 | $font-family, 14 | $file-path, 15 | $asset-pipeline, 16 | $file-formats, 17 | $font-url) { 18 | 19 | $src: (); 20 | 21 | $formats-map: ( 22 | eot: "#{$file-path}.eot?#iefix" format("embedded-opentype"), 23 | woff2: "#{$file-path}.woff2" format("woff2"), 24 | woff: "#{$file-path}.woff" format("woff"), 25 | ttf: "#{$file-path}.ttf" format("truetype"), 26 | svg: "#{$file-path}.svg##{$font-family}" format("svg") 27 | ); 28 | 29 | @each $key, $values in $formats-map { 30 | @if contains($file-formats, $key) { 31 | $file-path: nth($values, 1); 32 | $font-format: nth($values, 2); 33 | 34 | @if $asset-pipeline == true { 35 | $src: append($src, font-url($file-path) $font-format, comma); 36 | } @else { 37 | $src: append($src, url($file-path) $font-format, comma); 38 | } 39 | } 40 | } 41 | 42 | @return $src; 43 | } 44 | -------------------------------------------------------------------------------- /public/stylesheets/sass/neat/grid/_private.scss: -------------------------------------------------------------------------------- 1 | $parent-columns: $grid-columns !default; 2 | $fg-column: $column; 3 | $fg-gutter: $gutter; 4 | $fg-max-columns: $grid-columns; 5 | $container-display-table: false !default; 6 | $layout-direction: LTR !default; 7 | 8 | @function flex-grid($columns, $container-columns: $fg-max-columns) { 9 | $width: $columns * $fg-column + ($columns - 1) * $fg-gutter; 10 | $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; 11 | @return percentage($width / $container-width); 12 | } 13 | 14 | @function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) { 15 | $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; 16 | @return percentage($gutter / $container-width); 17 | } 18 | 19 | @function grid-width($n) { 20 | @return $n * $gw-column + ($n - 1) * $gw-gutter; 21 | } 22 | 23 | @function get-parent-columns($columns) { 24 | @if $columns != $grid-columns { 25 | $parent-columns: $columns !global; 26 | } @else { 27 | $parent-columns: $grid-columns !global; 28 | } 29 | 30 | @return $parent-columns; 31 | } 32 | 33 | @function is-display-table($container-is-display-table, $display) { 34 | @return $container-is-display-table == true or $display == table; 35 | } 36 | -------------------------------------------------------------------------------- /public/stylesheets/sass/neat/grid/_visual-grid.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | @mixin grid-column-gradient($values...) { 4 | background-image: -webkit-linear-gradient(left, $values); 5 | background-image: -moz-linear-gradient(left, $values); 6 | background-image: -ms-linear-gradient(left, $values); 7 | background-image: -o-linear-gradient(left, $values); 8 | background-image: unquote("linear-gradient(to left, #{$values})"); 9 | } 10 | 11 | @if $visual-grid == true or $visual-grid == yes { 12 | body:before { 13 | @include grid-column-gradient(gradient-stops($grid-columns)); 14 | content: ""; 15 | display: inline-block; 16 | height: 100%; 17 | left: 0; 18 | margin: 0 auto; 19 | max-width: $max-width; 20 | opacity: $visual-grid-opacity; 21 | pointer-events: none; 22 | position: fixed; 23 | right: 0; 24 | width: 100%; 25 | 26 | @if $visual-grid-index == back { 27 | z-index: -1; 28 | } 29 | 30 | @else if $visual-grid-index == front { 31 | z-index: 9999; 32 | } 33 | 34 | @each $breakpoint in $visual-grid-breakpoints { 35 | @if $breakpoint { 36 | @include media($breakpoint) { 37 | @include grid-column-gradient(gradient-stops($grid-columns)); 38 | } 39 | } 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/helpers/_linear-gradient-parser.scss: -------------------------------------------------------------------------------- 1 | @function _linear-gradient-parser($image) { 2 | $image: unquote($image); 3 | $gradients: (); 4 | $start: str-index($image, "("); 5 | $end: str-index($image, ","); 6 | $first-val: str-slice($image, $start + 1, $end - 1); 7 | 8 | $prefix: str-slice($image, 0, $start); 9 | $suffix: str-slice($image, $end, str-length($image)); 10 | 11 | $has-multiple-vals: str-index($first-val, " "); 12 | $has-single-position: unquote(_position-flipper($first-val) + ""); 13 | $has-angle: is-number(str-slice($first-val, 0, 0)); 14 | 15 | @if $has-multiple-vals { 16 | $gradients: _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals); 17 | } 18 | 19 | @else if $has-single-position != "" { 20 | $pos: unquote($has-single-position + ""); 21 | 22 | $gradients: ( 23 | webkit-image: -webkit- + $image, 24 | spec-image: $prefix + "to " + $pos + $suffix 25 | ); 26 | } 27 | 28 | @else if $has-angle { 29 | // Rotate degree for webkit 30 | $gradients: _linear-angle-parser($image, $first-val, $prefix, $suffix); 31 | } 32 | 33 | @else { 34 | $gradients: ( 35 | webkit-image: -webkit- + $image, 36 | spec-image: $image 37 | ); 38 | } 39 | 40 | @return $gradients; 41 | } 42 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/addons/_border-radius.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for targeting `border-radius` on both corners on the side of a box. 4 | /// 5 | /// @param {Number} $radii 6 | /// List of arguments 7 | /// 8 | /// @example scss - Usage 9 | /// .element-one { 10 | /// @include border-top-radius(5px); 11 | /// } 12 | /// 13 | /// .element-two { 14 | /// @include border-left-radius(3px); 15 | /// } 16 | /// 17 | /// @example css - CSS Output 18 | /// .element-one { 19 | /// border-top-left-radius: 5px; 20 | /// border-top-right-radius: 5px; 21 | /// } 22 | /// 23 | /// .element-two { 24 | /// border-bottom-left-radius: 3px; 25 | /// border-top-left-radius: 3px; 26 | /// } 27 | /// 28 | /// @output `border-radius` 29 | 30 | @mixin border-top-radius($radii) { 31 | border-top-left-radius: $radii; 32 | border-top-right-radius: $radii; 33 | } 34 | 35 | @mixin border-right-radius($radii) { 36 | border-bottom-right-radius: $radii; 37 | border-top-right-radius: $radii; 38 | } 39 | 40 | @mixin border-bottom-radius($radii) { 41 | border-bottom-left-radius: $radii; 42 | border-bottom-right-radius: $radii; 43 | } 44 | 45 | @mixin border-left-radius($radii) { 46 | border-bottom-left-radius: $radii; 47 | border-top-left-radius: $radii; 48 | } 49 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_keyframes.scss: -------------------------------------------------------------------------------- 1 | // Adds keyframes blocks for supported prefixes, removing redundant prefixes in the block's content 2 | @mixin keyframes($name) { 3 | $original-prefix-for-webkit: $prefix-for-webkit; 4 | $original-prefix-for-mozilla: $prefix-for-mozilla; 5 | $original-prefix-for-microsoft: $prefix-for-microsoft; 6 | $original-prefix-for-opera: $prefix-for-opera; 7 | $original-prefix-for-spec: $prefix-for-spec; 8 | 9 | @if $original-prefix-for-webkit { 10 | @include disable-prefix-for-all(); 11 | $prefix-for-webkit: true !global; 12 | @-webkit-keyframes #{$name} { 13 | @content; 14 | } 15 | } 16 | 17 | @if $original-prefix-for-mozilla { 18 | @include disable-prefix-for-all(); 19 | $prefix-for-mozilla: true !global; 20 | @-moz-keyframes #{$name} { 21 | @content; 22 | } 23 | } 24 | 25 | $prefix-for-webkit: $original-prefix-for-webkit !global; 26 | $prefix-for-mozilla: $original-prefix-for-mozilla !global; 27 | $prefix-for-microsoft: $original-prefix-for-microsoft !global; 28 | $prefix-for-opera: $original-prefix-for-opera !global; 29 | $prefix-for-spec: $original-prefix-for-spec !global; 30 | 31 | @if $original-prefix-for-spec { 32 | @keyframes #{$name} { 33 | @content; 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/addons/_size.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Sets the `width` and `height` of the element. 4 | /// 5 | /// @param {List} $size 6 | /// A list of at most 2 size values. 7 | /// 8 | /// If there is only a single value in `$size` it is used for both width and height. All units are supported. 9 | /// 10 | /// @example scss - Usage 11 | /// .first-element { 12 | /// @include size(2em); 13 | /// } 14 | /// 15 | /// .second-element { 16 | /// @include size(auto 10em); 17 | /// } 18 | /// 19 | /// @example css - CSS Output 20 | /// .first-element { 21 | /// width: 2em; 22 | /// height: 2em; 23 | /// } 24 | /// 25 | /// .second-element { 26 | /// width: auto; 27 | /// height: 10em; 28 | /// } 29 | /// 30 | /// @todo Refactor in 5.0.0 to use a comma-separated argument 31 | 32 | @mixin size($value) { 33 | $width: nth($value, 1); 34 | $height: $width; 35 | 36 | @if length($value) > 1 { 37 | $height: nth($value, 2); 38 | } 39 | 40 | @if is-size($height) { 41 | height: $height; 42 | } @else { 43 | @warn "`#{$height}` is not a valid length for the `$height` parameter in the `size` mixin."; 44 | } 45 | 46 | @if is-size($width) { 47 | width: $width; 48 | } @else { 49 | @warn "`#{$width}` is not a valid length for the `$width` parameter in the `size` mixin."; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/addons/_position.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for setting an element’s position. Use a `null` value to “skip” a side. 4 | /// 5 | /// @param {Position} $position [relative] 6 | /// A CSS position value 7 | /// 8 | /// @param {Arglist} $coordinates [null null null null] 9 | /// List of values that correspond to the 4-value syntax for the edges of a box 10 | /// 11 | /// @example scss - Usage 12 | /// .element { 13 | /// @include position(absolute, 0 null null 10em); 14 | /// } 15 | /// 16 | /// @example css - CSS Output 17 | /// .element { 18 | /// left: 10em; 19 | /// position: absolute; 20 | /// top: 0; 21 | /// } 22 | /// 23 | /// @require {function} is-length 24 | /// @require {function} unpack 25 | 26 | @mixin position($position: relative, $coordinates: null null null null) { 27 | @if type-of($position) == list { 28 | $coordinates: $position; 29 | $position: relative; 30 | } 31 | 32 | $coordinates: unpack($coordinates); 33 | 34 | $offsets: ( 35 | top: nth($coordinates, 1), 36 | right: nth($coordinates, 2), 37 | bottom: nth($coordinates, 3), 38 | left: nth($coordinates, 4) 39 | ); 40 | 41 | position: $position; 42 | 43 | @each $offset, $value in $offsets { 44 | @if is-length($value) { 45 | #{$offset}: $value; 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /views/index.haml: -------------------------------------------------------------------------------- 1 | %h2 Welcome to the Elixir Community 2 | 3 | %p 4 | Elixir is a wonderful language, it's complimented by an interesting and vibrant 5 | community. 6 | But like most passionate enterprises, organisation is a secondary (and less 7 | interesting) concern. It's not hard to miss out on useful information and resources. 8 | 9 | %p 10 | This site is an experiment in trying to remedy that problem. It's a small project by 11 | the community, for the community. Anyone is welcome to pitch in, help set direction or 12 | provide feedback. Nothing is sacrosanct! 13 | 14 | 15 | %h2 Contributing 16 | 17 | %p 18 | You can contribute to 19 | %a{href: 'https://github.com/elixir-community/elixir.community'} the GitHub project 20 | in any way that you would like. Add a meetup for your city, send a 21 | pull-request that fixes my terrible markup, 22 | %a{href: 'https://github.com/elixir-community/elixir.community/issues'} raise an issue 23 | to tell me the font sucks. 24 | If you'd rather fire off an email or jump on the 25 | %span.keyword #community 26 | slack channel, go right ahead. 27 | 28 | %p 29 | Here are some things that might be nice: 30 | 31 | %ul 32 | %li Content from the community! 33 | %li A better design, maybe responsive too. 34 | %li Convert the sinatra app to a static site hosted on S3. 35 | %li Some kind of job board? 36 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_columns.scss: -------------------------------------------------------------------------------- 1 | @mixin columns($arg: auto) { 2 | // || 3 | @include prefixer(columns, $arg, webkit moz spec); 4 | } 5 | 6 | @mixin column-count($int: auto) { 7 | // auto || integer 8 | @include prefixer(column-count, $int, webkit moz spec); 9 | } 10 | 11 | @mixin column-gap($length: normal) { 12 | // normal || length 13 | @include prefixer(column-gap, $length, webkit moz spec); 14 | } 15 | 16 | @mixin column-fill($arg: auto) { 17 | // auto || length 18 | @include prefixer(column-fill, $arg, webkit moz spec); 19 | } 20 | 21 | @mixin column-rule($arg) { 22 | // || || 23 | @include prefixer(column-rule, $arg, webkit moz spec); 24 | } 25 | 26 | @mixin column-rule-color($color) { 27 | @include prefixer(column-rule-color, $color, webkit moz spec); 28 | } 29 | 30 | @mixin column-rule-style($style: none) { 31 | // none | hidden | dashed | dotted | double | groove | inset | inset | outset | ridge | solid 32 | @include prefixer(column-rule-style, $style, webkit moz spec); 33 | } 34 | 35 | @mixin column-rule-width ($width: none) { 36 | @include prefixer(column-rule-width, $width, webkit moz spec); 37 | } 38 | 39 | @mixin column-span($arg: none) { 40 | // none || all 41 | @include prefixer(column-span, $arg, webkit moz spec); 42 | } 43 | 44 | @mixin column-width($length: auto) { 45 | // auto || length 46 | @include prefixer(column-width, $length, webkit moz spec); 47 | } 48 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/helpers/_str-to-num.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // Helper function for linear/radial-gradient-parsers. 3 | // Source: http://sassmeister.com/gist/9647408 4 | //************************************************************************// 5 | @function _str-to-num($string) { 6 | // Matrices 7 | $strings: "0" "1" "2" "3" "4" "5" "6" "7" "8" "9"; 8 | $numbers: 0 1 2 3 4 5 6 7 8 9; 9 | 10 | // Result 11 | $result: 0; 12 | $divider: 0; 13 | $minus: false; 14 | 15 | // Looping through all characters 16 | @for $i from 1 through str-length($string) { 17 | $character: str-slice($string, $i, $i); 18 | $index: index($strings, $character); 19 | 20 | @if $character == "-" { 21 | $minus: true; 22 | } 23 | 24 | @else if $character == "." { 25 | $divider: 1; 26 | } 27 | 28 | @else { 29 | @if not $index { 30 | $result: if($minus, $result * -1, $result); 31 | @return _convert-units($result, str-slice($string, $i)); 32 | } 33 | 34 | $number: nth($numbers, $index); 35 | 36 | @if $divider == 0 { 37 | $result: $result * 10; 38 | } 39 | 40 | @else { 41 | // Move the decimal dot to the left 42 | $divider: $divider * 10; 43 | $number: $number / $divider; 44 | } 45 | 46 | $result: $result + $number; 47 | } 48 | } 49 | @return if($minus, $result * -1, $result); 50 | } 51 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_linear-gradient.scss: -------------------------------------------------------------------------------- 1 | @mixin linear-gradient($pos, $g1, $g2: null, 2 | $g3: null, $g4: null, 3 | $g5: null, $g6: null, 4 | $g7: null, $g8: null, 5 | $g9: null, $g10: null, 6 | $fallback: null) { 7 | // Detect what type of value exists in $pos 8 | $pos-type: type-of(nth($pos, 1)); 9 | $pos-spec: null; 10 | $pos-degree: null; 11 | 12 | // If $pos is missing from mixin, reassign vars and add default position 13 | @if ($pos-type == color) or (nth($pos, 1) == "transparent") { 14 | $g10: $g9; $g9: $g8; $g8: $g7; $g7: $g6; $g6: $g5; 15 | $g5: $g4; $g4: $g3; $g3: $g2; $g2: $g1; $g1: $pos; 16 | $pos: null; 17 | } 18 | 19 | @if $pos { 20 | $positions: _linear-positions-parser($pos); 21 | $pos-degree: nth($positions, 1); 22 | $pos-spec: nth($positions, 2); 23 | } 24 | 25 | $full: $g1, $g2, $g3, $g4, $g5, $g6, $g7, $g8, $g9, $g10; 26 | 27 | // Set $g1 as the default fallback color 28 | $fallback-color: nth($g1, 1); 29 | 30 | // If $fallback is a color use that color as the fallback color 31 | @if (type-of($fallback) == color) or ($fallback == "transparent") { 32 | $fallback-color: $fallback; 33 | } 34 | 35 | background-color: $fallback-color; 36 | background-image: -webkit-linear-gradient($pos-degree $full); // Safari 5.1+, Chrome 37 | background-image: unquote("linear-gradient(#{$pos-spec}#{$full})"); 38 | } 39 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_background-image.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // Background-image property for adding multiple background images with 3 | // gradients, or for stringing multiple gradients together. 4 | //************************************************************************// 5 | 6 | @mixin background-image($images...) { 7 | $webkit-images: (); 8 | $spec-images: (); 9 | 10 | @each $image in $images { 11 | $webkit-image: (); 12 | $spec-image: (); 13 | 14 | @if (type-of($image) == string) { 15 | $url-str: str-slice($image, 0, 3); 16 | $gradient-type: str-slice($image, 0, 6); 17 | 18 | @if $url-str == "url" { 19 | $webkit-image: $image; 20 | $spec-image: $image; 21 | } 22 | 23 | @else if $gradient-type == "linear" { 24 | $gradients: _linear-gradient-parser($image); 25 | $webkit-image: map-get($gradients, webkit-image); 26 | $spec-image: map-get($gradients, spec-image); 27 | } 28 | 29 | @else if $gradient-type == "radial" { 30 | $gradients: _radial-gradient-parser($image); 31 | $webkit-image: map-get($gradients, webkit-image); 32 | $spec-image: map-get($gradients, spec-image); 33 | } 34 | } 35 | 36 | $webkit-images: append($webkit-images, $webkit-image, comma); 37 | $spec-images: append($spec-images, $spec-image, comma); 38 | } 39 | 40 | background-image: $webkit-images; 41 | background-image: $spec-images; 42 | } 43 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/helpers/_radial-gradient-parser.scss: -------------------------------------------------------------------------------- 1 | @function _radial-gradient-parser($image) { 2 | $image: unquote($image); 3 | $gradients: (); 4 | $start: str-index($image, "("); 5 | $end: str-index($image, ","); 6 | $first-val: str-slice($image, $start + 1, $end - 1); 7 | 8 | $prefix: str-slice($image, 0, $start); 9 | $suffix: str-slice($image, $end, str-length($image)); 10 | 11 | $is-spec-syntax: str-index($first-val, "at"); 12 | 13 | @if $is-spec-syntax and $is-spec-syntax > 1 { 14 | $keyword: str-slice($first-val, 1, $is-spec-syntax - 2); 15 | $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val)); 16 | $pos: append($pos, $keyword, comma); 17 | 18 | $gradients: ( 19 | webkit-image: -webkit- + $prefix + $pos + $suffix, 20 | spec-image: $image 21 | ); 22 | } 23 | 24 | @else if $is-spec-syntax == 1 { 25 | $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val)); 26 | 27 | $gradients: ( 28 | webkit-image: -webkit- + $prefix + $pos + $suffix, 29 | spec-image: $image 30 | ); 31 | } 32 | 33 | @else if str-index($image, "cover") or str-index($image, "contain") { 34 | @warn "Radial-gradient needs to be updated to conform to latest spec."; 35 | 36 | $gradients: ( 37 | webkit-image: null, 38 | spec-image: $image 39 | ); 40 | } 41 | 42 | @else { 43 | $gradients: ( 44 | webkit-image: -webkit- + $image, 45 | spec-image: $image 46 | ); 47 | } 48 | 49 | @return $gradients; 50 | } 51 | -------------------------------------------------------------------------------- /views/styleguide/comment_annotations.haml: -------------------------------------------------------------------------------- 1 | %section 2 | %ul 3 | %li 4 | Annotations should usually be written on the line immediately above the relevant code. 5 | %li 6 | The annotation keyword is followed by a colon and a space, then a note describing the problem. 7 | %li 8 | If multiple lines are required to describe the problem, subsequent lines should be indented two spaces after the #. 9 | %li 10 | In cases where the problem is so obvious that any documentation would be redundant, annotations may be left at the end of the offending line with no note. This usage should be the exception and not the rule. 11 | %li 12 | Use 13 | %span.keyword TODO 14 | to note missing features or functionality that should be added at a later date. 15 | %li 16 | Use 17 | %span.keyword FIXME 18 | to note broken code that needs to be fixed. 19 | %li 20 | Use 21 | %span.keyword OPTIMIZE 22 | to note slow or inefficient code that may cause performance problems. 23 | %li 24 | Use 25 | %span.keyword HACK 26 | to note code smells where questionable coding practices were used and should be refactored away. 27 | %li 28 | Use 29 | %span.keyword REVIEW 30 | to note anything that should be looked at to confirm it is working as intended. For example: REVIEW: Are we sure this is how the client does X currently? 31 | %li 32 | Use other custom annotation keywords if it feels appropriate, but be sure to document them in your project's 33 | %span.keyword README 34 | or similar. 35 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_radial-gradient.scss: -------------------------------------------------------------------------------- 1 | // Requires Sass 3.1+ 2 | @mixin radial-gradient($g1, $g2, 3 | $g3: null, $g4: null, 4 | $g5: null, $g6: null, 5 | $g7: null, $g8: null, 6 | $g9: null, $g10: null, 7 | $pos: null, 8 | $shape-size: null, 9 | $fallback: null) { 10 | 11 | $data: _radial-arg-parser($g1, $g2, $pos, $shape-size); 12 | $g1: nth($data, 1); 13 | $g2: nth($data, 2); 14 | $pos: nth($data, 3); 15 | $shape-size: nth($data, 4); 16 | 17 | $full: $g1, $g2, $g3, $g4, $g5, $g6, $g7, $g8, $g9, $g10; 18 | 19 | // Strip deprecated cover/contain for spec 20 | $shape-size-spec: _shape-size-stripper($shape-size); 21 | 22 | // Set $g1 as the default fallback color 23 | $first-color: nth($full, 1); 24 | $fallback-color: nth($first-color, 1); 25 | 26 | @if (type-of($fallback) == color) or ($fallback == "transparent") { 27 | $fallback-color: $fallback; 28 | } 29 | 30 | // Add Commas and spaces 31 | $shape-size: if($shape-size, "#{$shape-size}, ", null); 32 | $pos: if($pos, "#{$pos}, ", null); 33 | $pos-spec: if($pos, "at #{$pos}", null); 34 | $shape-size-spec: if(($shape-size-spec != " ") and ($pos == null), "#{$shape-size-spec}, ", "#{$shape-size-spec} "); 35 | 36 | background-color: $fallback-color; 37 | background-image: -webkit-radial-gradient(unquote(#{$pos}#{$shape-size}#{$full})); 38 | background-image: unquote("radial-gradient(#{$shape-size-spec}#{$pos-spec}#{$full})"); 39 | } 40 | -------------------------------------------------------------------------------- /public/stylesheets/sass/application.scss: -------------------------------------------------------------------------------- 1 | @import "bourbon/bourbon"; 2 | @import "grid-settings"; 3 | @import "neat/neat"; 4 | @import "variables"; 5 | @import "navigation"; 6 | @import "base"; 7 | 8 | h2 a { 9 | text-decoration: none; 10 | color: $link-color; 11 | } 12 | 13 | p a, section ul li a { 14 | text-decoration: none; 15 | font-weight: bold; 16 | color: $link-color; 17 | } 18 | 19 | p a:hover, h2 a:hover, section ul li a:hover { 20 | color: $link-hover-color; 21 | } 22 | 23 | span.keyword { 24 | @include border-top-radius(4px); 25 | @include border-bottom-radius(4px); 26 | border: 2px solid $link-hover-color; 27 | color: $nav-link-color; 28 | background-color: $link-hover-color; 29 | } 30 | 31 | section.hero { 32 | background: $hero-background-color; 33 | height: 100px; 34 | @include span-columns(10); 35 | } 36 | 37 | section { 38 | @include span-columns(10); 39 | } 40 | 41 | .middle { 42 | @include shift(2); 43 | @include span-columns(6); 44 | } 45 | 46 | .container { 47 | @include outer-container; 48 | } 49 | 50 | 51 | .preferred { 52 | padding: 0px; 53 | margin: 0px; 54 | @include span-columns(5); 55 | } 56 | 57 | .example { 58 | @include span-columns(10); 59 | } 60 | 61 | .not-preferred { 62 | padding: 0px; 63 | margin: 0px; 64 | @include span-columns(5); 65 | } 66 | 67 | .example pre { 68 | border-top: 6px solid black; 69 | @include border-top-radius(5px); 70 | } 71 | 72 | .preferred pre { 73 | border-top: 6px solid green; 74 | @include border-top-radius(5px); 75 | } 76 | 77 | .not-preferred pre { 78 | border-top: 6px solid red; 79 | @include border-top-radius(5px); 80 | } 81 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_animation.scss: -------------------------------------------------------------------------------- 1 | // http://www.w3.org/TR/css3-animations/#the-animation-name-property- 2 | // Each of these mixins support comma separated lists of values, which allows different transitions for individual properties to be described in a single style rule. Each value in the list corresponds to the value at that same position in the other properties. 3 | 4 | @mixin animation($animations...) { 5 | @include prefixer(animation, $animations, webkit moz spec); 6 | } 7 | 8 | @mixin animation-name($names...) { 9 | @include prefixer(animation-name, $names, webkit moz spec); 10 | } 11 | 12 | @mixin animation-duration($times...) { 13 | @include prefixer(animation-duration, $times, webkit moz spec); 14 | } 15 | 16 | @mixin animation-timing-function($motions...) { 17 | // ease | linear | ease-in | ease-out | ease-in-out 18 | @include prefixer(animation-timing-function, $motions, webkit moz spec); 19 | } 20 | 21 | @mixin animation-iteration-count($values...) { 22 | // infinite | 23 | @include prefixer(animation-iteration-count, $values, webkit moz spec); 24 | } 25 | 26 | @mixin animation-direction($directions...) { 27 | // normal | alternate 28 | @include prefixer(animation-direction, $directions, webkit moz spec); 29 | } 30 | 31 | @mixin animation-play-state($states...) { 32 | // running | paused 33 | @include prefixer(animation-play-state, $states, webkit moz spec); 34 | } 35 | 36 | @mixin animation-delay($times...) { 37 | @include prefixer(animation-delay, $times, webkit moz spec); 38 | } 39 | 40 | @mixin animation-fill-mode($modes...) { 41 | // none | forwards | backwards | both 42 | @include prefixer(animation-fill-mode, $modes, webkit moz spec); 43 | } 44 | -------------------------------------------------------------------------------- /views/layout.haml: -------------------------------------------------------------------------------- 1 | %html 2 | %head 3 | %title elixir-community 4 | %link{type: 'text/css', rel: 'stylesheet', href: '/stylesheets/application.css'} 5 | %script{src:'https://use.fonticons.com/3bba9b78.js'} 6 | %script{src:'/javascripts/highlight.pack.js'} 7 | %link{rel:'stylesheet', href:'/stylesheets/highlightjs/tomorrow-night-eighties.css'} 8 | %body 9 | :javascript 10 | (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 11 | (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 12 | m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 13 | })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 14 | 15 | ga('create', 'UA-64630421-1', 'auto'); 16 | ga('send', 'pageview'); 17 | 18 | .container 19 | %nav 20 | .middle 21 | %ul 22 | %li 23 | %a{href: '/'} 24 | %i.icon.icon-heart 25 | welcome 26 | %li 27 | %a{href: '/talk'} 28 | %i.icon.icon-bubble 29 | talk 30 | %li 31 | %a{href: '/styleguide'} 32 | %i.icon.icon-t-shirt 33 | styleguide 34 | %li 35 | %a{href: '/materials'} 36 | %i.icon.icon-study 37 | materials 38 | %li 39 | %a{href: '/meetups'} 40 | %i.icon.icon-location 41 | meetups 42 | 43 | %section.hero 44 | .middle 45 | %h1= locals[:title] || 'Elixir.community/0' 46 | .middle 47 | = yield 48 | 49 | 50 | :javascript 51 | hljs.initHighlightingOnLoad(); 52 | -------------------------------------------------------------------------------- /public/stylesheets/sass/neat/grid/_shift.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Translates an element horizontally by a number of columns. Positive arguments shift the element to the active layout direction, while negative ones shift it to the opposite direction. 4 | /// 5 | /// @param {Number (unitless)} $n-columns [1] 6 | /// Number of columns by which the element shifts. 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include shift(-3); 11 | /// } 12 | /// 13 | /// @example css - CSS output 14 | /// .element { 15 | /// margin-left: -25.58941%; 16 | /// } 17 | 18 | @mixin shift($n-columns: 1) { 19 | @include shift-in-context($n-columns); 20 | } 21 | 22 | /// Translates an element horizontally by a number of columns, in a specific nesting context. 23 | /// 24 | /// @param {List} $shift 25 | /// A list containing the number of columns to shift (`$columns`) and the number of columns of the parent element (`$container-columns`). 26 | /// 27 | /// The two values can be separated with any string such as `of`, `/`, etc. 28 | /// 29 | /// @example scss - Usage 30 | /// .element { 31 | /// @include shift(-3 of 6); 32 | /// } 33 | /// 34 | /// @example css - CSS output 35 | /// .element { 36 | /// margin-left: -52.41458%; 37 | /// } 38 | 39 | @mixin shift-in-context($shift: $columns of $container-columns) { 40 | $n-columns: nth($shift, 1); 41 | $parent-columns: container-shift($shift) !global; 42 | 43 | $direction: get-direction($layout-direction, $default-layout-direction); 44 | $opposite-direction: get-opposite-direction($direction); 45 | 46 | margin-#{$opposite-direction}: $n-columns * flex-grid(1, $parent-columns) + $n-columns * flex-gutter($parent-columns); 47 | 48 | // Reset nesting context 49 | $parent-columns: $grid-columns !global; 50 | } 51 | -------------------------------------------------------------------------------- /public/stylesheets/sass/neat/grid/_row.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Designates the element as a row of columns in the grid layout. It clears the floats on the element and sets its display property. Rows can't be nested, but there can be more than one row element—with different display properties—per layout. 4 | /// 5 | /// @param {String} $display [default] 6 | /// Sets the display property of the element and the display context that will be used by its children. Can be `block` or `table`. 7 | /// 8 | /// @param {String} $direction [$default-layout-direction] 9 | /// Sets the layout direction. Can be `LTR` (left-to-right) or `RTL` (right-to-left). 10 | /// 11 | /// @example scss - Usage 12 | /// .element { 13 | /// @include row(); 14 | /// } 15 | /// 16 | /// @example css - CSS Output 17 | /// .element { 18 | /// *zoom: 1; 19 | /// display: block; 20 | /// } 21 | /// 22 | /// .element:before, .element:after { 23 | /// content: " "; 24 | /// display: table; 25 | /// } 26 | /// 27 | /// .element:after { 28 | /// clear: both; 29 | /// } 30 | 31 | @mixin row($display: default, $direction: $default-layout-direction) { 32 | @if $direction != $default-layout-direction { 33 | @include -neat-warn("The $direction argument will be deprecated in future versions in favor of the direction(){...} mixin."); 34 | } 35 | 36 | $layout-direction: $direction !global; 37 | 38 | @if $display != default { 39 | @include -neat-warn("The $display argument will be deprecated in future versions in favor of the display(){...} mixin."); 40 | } 41 | 42 | @if $display == table { 43 | display: table; 44 | @include fill-parent; 45 | table-layout: fixed; 46 | $container-display-table: true !global; 47 | } @else { 48 | @include clearfix; 49 | display: block; 50 | $container-display-table: false !global; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/codepen-embed.css: -------------------------------------------------------------------------------- 1 | /* 2 | codepen.io Embed Theme 3 | Author: Justin Perry 4 | Original theme - https://github.com/chriskempson/tomorrow-theme 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #222; 12 | color: #fff; 13 | font-family: Menlo, Monaco, 'Andale Mono', 'Lucida Console', 'Courier New', monospace; 14 | -webkit-text-size-adjust: none; 15 | } 16 | 17 | .hljs-comment, 18 | .hljs-title { 19 | color: #777; 20 | } 21 | 22 | .hljs-variable, 23 | .hljs-attribute, 24 | .hljs-tag, 25 | .hljs-regexp, 26 | .hljs-name, 27 | .ruby .constant, 28 | .xml .tag .title, 29 | .xml .pi, 30 | .xml .doctype, 31 | .html .doctype { 32 | color: #ab875d; 33 | } 34 | 35 | .css .value { 36 | color: #cd6a51; 37 | } 38 | 39 | .css .value .function, 40 | .css .value .string { 41 | color: #a67f59; 42 | } 43 | 44 | .css .value .number { 45 | color: #9b869c; 46 | } 47 | 48 | .css .id, 49 | .css .class, 50 | .css-pseudo, 51 | .css .selector, 52 | .css .tag { 53 | color: #dfc48c; 54 | } 55 | 56 | .hljs-number, 57 | .hljs-preprocessor, 58 | .hljs-built_in, 59 | .hljs-literal, 60 | .hljs-params, 61 | .hljs-constant { 62 | color: #ab875d; 63 | } 64 | 65 | .ruby .class .title, 66 | .css .rules .attribute { 67 | color: #9b869b; 68 | } 69 | 70 | .hljs-string, 71 | .hljs-value, 72 | .hljs-inheritance, 73 | .hljs-header, 74 | .ruby .symbol, 75 | .xml .cdata { 76 | color: #8f9c6c; 77 | } 78 | 79 | .css .hexcolor { 80 | color: #cd6a51; 81 | } 82 | 83 | .function, 84 | .python .decorator, 85 | .python .title, 86 | .ruby .function .title, 87 | .ruby .title .keyword, 88 | .perl .sub, 89 | .javascript .title, 90 | .coffeescript .title { 91 | color: #fff; 92 | } 93 | 94 | .hljs-keyword, 95 | .javascript .function { 96 | color: #8f9c6c; 97 | } 98 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/tomorrow.css: -------------------------------------------------------------------------------- 1 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 2 | 3 | /* Tomorrow Comment */ 4 | .hljs-comment { 5 | color: #8e908c; 6 | } 7 | 8 | /* Tomorrow Red */ 9 | .hljs-variable, 10 | .hljs-attribute, 11 | .hljs-tag, 12 | .hljs-regexp, 13 | .ruby .hljs-constant, 14 | .xml .hljs-tag .hljs-title, 15 | .xml .hljs-pi, 16 | .xml .hljs-doctype, 17 | .html .hljs-doctype, 18 | .css .hljs-id, 19 | .css .hljs-class, 20 | .css .hljs-pseudo { 21 | color: #c82829; 22 | } 23 | 24 | /* Tomorrow Orange */ 25 | .hljs-number, 26 | .hljs-preprocessor, 27 | .hljs-pragma, 28 | .hljs-built_in, 29 | .hljs-literal, 30 | .hljs-params, 31 | .hljs-constant { 32 | color: #f5871f; 33 | } 34 | 35 | /* Tomorrow Yellow */ 36 | .ruby .hljs-class .hljs-title, 37 | .css .hljs-rule .hljs-attribute { 38 | color: #eab700; 39 | } 40 | 41 | /* Tomorrow Green */ 42 | .hljs-string, 43 | .hljs-value, 44 | .hljs-inheritance, 45 | .hljs-header, 46 | .hljs-name, 47 | .ruby .hljs-symbol, 48 | .xml .hljs-cdata { 49 | color: #718c00; 50 | } 51 | 52 | /* Tomorrow Aqua */ 53 | .hljs-title, 54 | .css .hljs-hexcolor { 55 | color: #3e999f; 56 | } 57 | 58 | /* Tomorrow Blue */ 59 | .hljs-function, 60 | .python .hljs-decorator, 61 | .python .hljs-title, 62 | .ruby .hljs-function .hljs-title, 63 | .ruby .hljs-title .hljs-keyword, 64 | .perl .hljs-sub, 65 | .javascript .hljs-title, 66 | .coffeescript .hljs-title { 67 | color: #4271ae; 68 | } 69 | 70 | /* Tomorrow Purple */ 71 | .hljs-keyword, 72 | .javascript .hljs-function { 73 | color: #8959a8; 74 | } 75 | 76 | .hljs { 77 | display: block; 78 | overflow-x: auto; 79 | background: white; 80 | color: #4d4d4c; 81 | padding: 0.5em; 82 | -webkit-text-size-adjust: none; 83 | } 84 | 85 | .coffeescript .javascript, 86 | .javascript .xml, 87 | .tex .hljs-formula, 88 | .xml .javascript, 89 | .xml .vbscript, 90 | .xml .css, 91 | .xml .hljs-cdata { 92 | opacity: 0.5; 93 | } 94 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/addons/_timing-functions.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// CSS cubic-bezier timing functions. Timing functions courtesy of jquery.easie (github.com/jaukia/easie) 4 | /// 5 | /// Timing functions are the same as demoed here: http://jqueryui.com/resources/demos/effect/easing.html 6 | /// 7 | /// @type cubic-bezier 8 | 9 | $ease-in-quad: cubic-bezier(0.550, 0.085, 0.680, 0.530); 10 | $ease-in-cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190); 11 | $ease-in-quart: cubic-bezier(0.895, 0.030, 0.685, 0.220); 12 | $ease-in-quint: cubic-bezier(0.755, 0.050, 0.855, 0.060); 13 | $ease-in-sine: cubic-bezier(0.470, 0.000, 0.745, 0.715); 14 | $ease-in-expo: cubic-bezier(0.950, 0.050, 0.795, 0.035); 15 | $ease-in-circ: cubic-bezier(0.600, 0.040, 0.980, 0.335); 16 | $ease-in-back: cubic-bezier(0.600, -0.280, 0.735, 0.045); 17 | 18 | $ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940); 19 | $ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000); 20 | $ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000); 21 | $ease-out-quint: cubic-bezier(0.230, 1.000, 0.320, 1.000); 22 | $ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000); 23 | $ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000); 24 | $ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000); 25 | $ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275); 26 | 27 | $ease-in-out-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955); 28 | $ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000); 29 | $ease-in-out-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000); 30 | $ease-in-out-quint: cubic-bezier(0.860, 0.000, 0.070, 1.000); 31 | $ease-in-out-sine: cubic-bezier(0.445, 0.050, 0.550, 0.950); 32 | $ease-in-out-expo: cubic-bezier(1.000, 0.000, 0.000, 1.000); 33 | $ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.150, 0.860); 34 | $ease-in-out-back: cubic-bezier(0.680, -0.550, 0.265, 1.550); 35 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/functions/_modular-scale.scss: -------------------------------------------------------------------------------- 1 | // Scaling Variables 2 | $golden: 1.618; 3 | $minor-second: 1.067; 4 | $major-second: 1.125; 5 | $minor-third: 1.2; 6 | $major-third: 1.25; 7 | $perfect-fourth: 1.333; 8 | $augmented-fourth: 1.414; 9 | $perfect-fifth: 1.5; 10 | $minor-sixth: 1.6; 11 | $major-sixth: 1.667; 12 | $minor-seventh: 1.778; 13 | $major-seventh: 1.875; 14 | $octave: 2; 15 | $major-tenth: 2.5; 16 | $major-eleventh: 2.667; 17 | $major-twelfth: 3; 18 | $double-octave: 4; 19 | 20 | $modular-scale-ratio: $perfect-fourth !default; 21 | $modular-scale-base: em($em-base) !default; 22 | 23 | @function modular-scale($increment, $value: $modular-scale-base, $ratio: $modular-scale-ratio) { 24 | $v1: nth($value, 1); 25 | $v2: nth($value, length($value)); 26 | $value: $v1; 27 | 28 | // scale $v2 to just above $v1 29 | @while $v2 > $v1 { 30 | $v2: ($v2 / $ratio); // will be off-by-1 31 | } 32 | @while $v2 < $v1 { 33 | $v2: ($v2 * $ratio); // will fix off-by-1 34 | } 35 | 36 | // check AFTER scaling $v2 to prevent double-counting corner-case 37 | $double-stranded: $v2 > $v1; 38 | 39 | @if $increment > 0 { 40 | @for $i from 1 through $increment { 41 | @if $double-stranded and ($v1 * $ratio) > $v2 { 42 | $value: $v2; 43 | $v2: ($v2 * $ratio); 44 | } @else { 45 | $v1: ($v1 * $ratio); 46 | $value: $v1; 47 | } 48 | } 49 | } 50 | 51 | @if $increment < 0 { 52 | // adjust $v2 to just below $v1 53 | @if $double-stranded { 54 | $v2: ($v2 / $ratio); 55 | } 56 | 57 | @for $i from $increment through -1 { 58 | @if $double-stranded and ($v1 / $ratio) < $v2 { 59 | $value: $v2; 60 | $v2: ($v2 / $ratio); 61 | } @else { 62 | $v1: ($v1 / $ratio); 63 | $value: $v1; 64 | } 65 | } 66 | } 67 | 68 | @return $value; 69 | } 70 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/vs.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Visual Studio-like style based on original C# coloring by Jason Diamond 4 | 5 | */ 6 | .hljs { 7 | display: block; 8 | overflow-x: auto; 9 | padding: 0.5em; 10 | background: white; 11 | color: black; 12 | -webkit-text-size-adjust: none; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-annotation, 17 | .diff .hljs-header, 18 | .hljs-chunk, 19 | .apache .hljs-cbracket { 20 | color: #008000; 21 | } 22 | 23 | .hljs-keyword, 24 | .hljs-id, 25 | .hljs-built_in, 26 | .smalltalk .hljs-class, 27 | .hljs-winutils, 28 | .bash .hljs-variable, 29 | .tex .hljs-command, 30 | .hljs-request, 31 | .hljs-status, 32 | .nginx .hljs-title, 33 | .xml .hljs-tag, 34 | .xml .hljs-tag .hljs-value { 35 | color: #00f; 36 | } 37 | 38 | .hljs-string, 39 | .hljs-title, 40 | .hljs-parent, 41 | .hljs-tag .hljs-value, 42 | .hljs-rule .hljs-value, 43 | .ruby .hljs-symbol, 44 | .ruby .hljs-symbol .hljs-string, 45 | .hljs-template_tag, 46 | .django .hljs-variable, 47 | .hljs-addition, 48 | .hljs-flow, 49 | .hljs-stream, 50 | .apache .hljs-tag, 51 | .hljs-date, 52 | .tex .hljs-formula, 53 | .coffeescript .hljs-attribute, 54 | .hljs-name { 55 | color: #a31515; 56 | } 57 | 58 | .ruby .hljs-string, 59 | .hljs-decorator, 60 | .hljs-filter .hljs-argument, 61 | .hljs-localvars, 62 | .hljs-array, 63 | .hljs-attr_selector, 64 | .hljs-pseudo, 65 | .hljs-pi, 66 | .hljs-doctype, 67 | .hljs-deletion, 68 | .hljs-envvar, 69 | .hljs-shebang, 70 | .hljs-preprocessor, 71 | .hljs-pragma, 72 | .userType, 73 | .apache .hljs-sqbracket, 74 | .nginx .hljs-built_in, 75 | .tex .hljs-special, 76 | .hljs-prompt { 77 | color: #2b91af; 78 | } 79 | 80 | .hljs-doctag, 81 | .hljs-xmlDocTag { 82 | color: #808080; 83 | } 84 | 85 | .hljs-type, 86 | .hljs-typename { font-weight: bold; } 87 | 88 | .vhdl .hljs-string { color: #666666; } 89 | .vhdl .hljs-literal { color: #a31515; } 90 | .vhdl .hljs-attribute { color: #00b0e8; } 91 | 92 | .xml .hljs-attribute { color: #f00; } 93 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/addons/_prefixer.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// A mixin for generating vendor prefixes on non-standardized properties. 4 | /// 5 | /// @param {String} $property 6 | /// Property to prefix 7 | /// 8 | /// @param {*} $value 9 | /// Value to use 10 | /// 11 | /// @param {List} $prefixes 12 | /// Prefixes to define 13 | /// 14 | /// @example scss - Usage 15 | /// .element { 16 | /// @include prefixer(border-radius, 10px, webkit ms spec); 17 | /// } 18 | /// 19 | /// @example css - CSS Output 20 | /// .element { 21 | /// -webkit-border-radius: 10px; 22 | /// -moz-border-radius: 10px; 23 | /// border-radius: 10px; 24 | /// } 25 | /// 26 | /// @require {variable} $prefix-for-webkit 27 | /// @require {variable} $prefix-for-mozilla 28 | /// @require {variable} $prefix-for-microsoft 29 | /// @require {variable} $prefix-for-opera 30 | /// @require {variable} $prefix-for-spec 31 | 32 | @mixin prefixer($property, $value, $prefixes) { 33 | @each $prefix in $prefixes { 34 | @if $prefix == webkit { 35 | @if $prefix-for-webkit { 36 | -webkit-#{$property}: $value; 37 | } 38 | } @else if $prefix == moz { 39 | @if $prefix-for-mozilla { 40 | -moz-#{$property}: $value; 41 | } 42 | } @else if $prefix == ms { 43 | @if $prefix-for-microsoft { 44 | -ms-#{$property}: $value; 45 | } 46 | } @else if $prefix == o { 47 | @if $prefix-for-opera { 48 | -o-#{$property}: $value; 49 | } 50 | } @else if $prefix == spec { 51 | @if $prefix-for-spec { 52 | #{$property}: $value; 53 | } 54 | } @else { 55 | @warn "Unrecognized prefix: #{$prefix}"; 56 | } 57 | } 58 | } 59 | 60 | @mixin disable-prefix-for-all() { 61 | $prefix-for-webkit: false !global; 62 | $prefix-for-mozilla: false !global; 63 | $prefix-for-microsoft: false !global; 64 | $prefix-for-opera: false !global; 65 | $prefix-for-spec: false !global; 66 | } 67 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/paraiso.dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | Paraíso (dark) 3 | Created by Jan T. Sott (http://github.com/idleberg) 4 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br) 5 | */ 6 | 7 | /* Paraíso Comment */ 8 | .hljs-comment, 9 | .hljs-title { 10 | color: #8d8687; 11 | } 12 | 13 | /* Paraíso Red */ 14 | .hljs-variable, 15 | .hljs-attribute, 16 | .hljs-tag, 17 | .hljs-regexp, 18 | .hljs-name, 19 | .ruby .hljs-constant, 20 | .xml .hljs-tag .hljs-title, 21 | .xml .hljs-pi, 22 | .xml .hljs-doctype, 23 | .html .hljs-doctype, 24 | .css .hljs-id, 25 | .css .hljs-class, 26 | .css .hljs-pseudo { 27 | color: #ef6155; 28 | } 29 | 30 | /* Paraíso Orange */ 31 | .hljs-number, 32 | .hljs-preprocessor, 33 | .hljs-built_in, 34 | .hljs-literal, 35 | .hljs-params, 36 | .hljs-constant { 37 | color: #f99b15; 38 | } 39 | 40 | /* Paraíso Yellow */ 41 | .ruby .hljs-class .hljs-title, 42 | .css .hljs-rule .hljs-attribute { 43 | color: #fec418; 44 | } 45 | 46 | /* Paraíso Green */ 47 | .hljs-string, 48 | .hljs-value, 49 | .hljs-inheritance, 50 | .hljs-header, 51 | .ruby .hljs-symbol, 52 | .xml .hljs-cdata { 53 | color: #48b685; 54 | } 55 | 56 | /* Paraíso Aqua */ 57 | .css .hljs-hexcolor { 58 | color: #5bc4bf; 59 | } 60 | 61 | /* Paraíso Blue */ 62 | .hljs-function, 63 | .python .hljs-decorator, 64 | .python .hljs-title, 65 | .ruby .hljs-function .hljs-title, 66 | .ruby .hljs-title .hljs-keyword, 67 | .perl .hljs-sub, 68 | .javascript .hljs-title, 69 | .coffeescript .hljs-title { 70 | color: #06b6ef; 71 | } 72 | 73 | /* Paraíso Purple */ 74 | .hljs-keyword, 75 | .javascript .hljs-function { 76 | color: #815ba4; 77 | } 78 | 79 | .hljs { 80 | display: block; 81 | overflow-x: auto; 82 | background: #2f1e2e; 83 | color: #a39e9b; 84 | padding: 0.5em; 85 | -webkit-text-size-adjust: none; 86 | } 87 | 88 | .coffeescript .javascript, 89 | .javascript .xml, 90 | .tex .hljs-formula, 91 | .xml .javascript, 92 | .xml .vbscript, 93 | .xml .css, 94 | .xml .hljs-cdata { 95 | opacity: 0.5; 96 | } 97 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/paraiso.light.css: -------------------------------------------------------------------------------- 1 | /* 2 | Paraíso (light) 3 | Created by Jan T. Sott (http://github.com/idleberg) 4 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br) 5 | */ 6 | 7 | /* Paraíso Comment */ 8 | .hljs-comment, 9 | .hljs-title { 10 | color: #776e71; 11 | } 12 | 13 | /* Paraíso Red */ 14 | .hljs-variable, 15 | .hljs-attribute, 16 | .hljs-tag, 17 | .hljs-regexp, 18 | .hljs-name, 19 | .ruby .hljs-constant, 20 | .xml .hljs-tag .hljs-title, 21 | .xml .hljs-pi, 22 | .xml .hljs-doctype, 23 | .html .hljs-doctype, 24 | .css .hljs-id, 25 | .css .hljs-class, 26 | .css .hljs-pseudo { 27 | color: #ef6155; 28 | } 29 | 30 | /* Paraíso Orange */ 31 | .hljs-number, 32 | .hljs-preprocessor, 33 | .hljs-built_in, 34 | .hljs-literal, 35 | .hljs-params, 36 | .hljs-constant { 37 | color: #f99b15; 38 | } 39 | 40 | /* Paraíso Yellow */ 41 | .ruby .hljs-class .hljs-title, 42 | .css .hljs-rule .hljs-attribute { 43 | color: #fec418; 44 | } 45 | 46 | /* Paraíso Green */ 47 | .hljs-string, 48 | .hljs-value, 49 | .hljs-inheritance, 50 | .hljs-header, 51 | .ruby .hljs-symbol, 52 | .xml .hljs-cdata { 53 | color: #48b685; 54 | } 55 | 56 | /* Paraíso Aqua */ 57 | .css .hljs-hexcolor { 58 | color: #5bc4bf; 59 | } 60 | 61 | /* Paraíso Blue */ 62 | .hljs-function, 63 | .python .hljs-decorator, 64 | .python .hljs-title, 65 | .ruby .hljs-function .hljs-title, 66 | .ruby .hljs-title .hljs-keyword, 67 | .perl .hljs-sub, 68 | .javascript .hljs-title, 69 | .coffeescript .hljs-title { 70 | color: #06b6ef; 71 | } 72 | 73 | /* Paraíso Purple */ 74 | .hljs-keyword, 75 | .javascript .hljs-function { 76 | color: #815ba4; 77 | } 78 | 79 | .hljs { 80 | display: block; 81 | overflow-x: auto; 82 | background: #e7e9db; 83 | color: #4f424c; 84 | padding: 0.5em; 85 | -webkit-text-size-adjust: none; 86 | } 87 | 88 | .coffeescript .javascript, 89 | .javascript .xml, 90 | .tex .hljs-formula, 91 | .xml .javascript, 92 | .xml .vbscript, 93 | .xml .css, 94 | .xml .hljs-cdata { 95 | opacity: 0.5; 96 | } 97 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/addons/_buttons.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Generates variables for all buttons. Please note that you must use interpolation on the variable: `#{$all-buttons}`. 4 | /// 5 | /// @example scss - Usage 6 | /// #{$all-buttons} { 7 | /// background-color: #f00; 8 | /// } 9 | /// 10 | /// #{$all-buttons-focus}, 11 | /// #{$all-buttons-hover} { 12 | /// background-color: #0f0; 13 | /// } 14 | /// 15 | /// #{$all-buttons-active} { 16 | /// background-color: #00f; 17 | /// } 18 | /// 19 | /// @example css - CSS Output 20 | /// button, 21 | /// input[type="button"], 22 | /// input[type="reset"], 23 | /// input[type="submit"] { 24 | /// background-color: #f00; 25 | /// } 26 | /// 27 | /// button:focus, 28 | /// input[type="button"]:focus, 29 | /// input[type="reset"]:focus, 30 | /// input[type="submit"]:focus, 31 | /// button:hover, 32 | /// input[type="button"]:hover, 33 | /// input[type="reset"]:hover, 34 | /// input[type="submit"]:hover { 35 | /// background-color: #0f0; 36 | /// } 37 | /// 38 | /// button:active, 39 | /// input[type="button"]:active, 40 | /// input[type="reset"]:active, 41 | /// input[type="submit"]:active { 42 | /// background-color: #00f; 43 | /// } 44 | /// 45 | /// @require assign-inputs 46 | /// 47 | /// @type List 48 | /// 49 | /// @todo Remove double assigned variables (Lines 59–62) in v5.0.0 50 | 51 | $buttons-list: 'button', 52 | 'input[type="button"]', 53 | 'input[type="reset"]', 54 | 'input[type="submit"]'; 55 | 56 | $all-buttons: assign-inputs($buttons-list); 57 | $all-buttons-active: assign-inputs($buttons-list, active); 58 | $all-buttons-focus: assign-inputs($buttons-list, focus); 59 | $all-buttons-hover: assign-inputs($buttons-list, hover); 60 | 61 | $all-button-inputs: $all-buttons; 62 | $all-button-inputs-active: $all-buttons-active; 63 | $all-button-inputs-focus: $all-buttons-focus; 64 | $all-button-inputs-hover: $all-buttons-hover; 65 | -------------------------------------------------------------------------------- /views/styleguide/naming.haml: -------------------------------------------------------------------------------- 1 | %section 2 | %p Use snake_case for atoms, functions and variables. 3 | 4 | .not-preferred 5 | %pre 6 | %code.language-elixir{:'data-lang' => 'elixir'} 7 | :preserve 8 | :"some atom" 9 | :SomeAtom 10 | :someAtom 11 | 12 | someVar = 5 13 | 14 | def someFunction do 15 | ... 16 | end 17 | 18 | def SomeFunction do 19 | ... 20 | end 21 | .preferred 22 | %pre 23 | %code.language-elixir{:'data-lang' => 'elixir'} 24 | :preserve 25 | :some_atom 26 | 27 | 28 | 29 | some_var = 5 30 | 31 | def some_function do 32 | ... 33 | end 34 | 35 | 36 | 37 | 38 | 39 | %section 40 | %p 41 | Use CamelCase for modules (Keep acronyms like HTTP, RFC, XML uppercase). 42 | 43 | .not-preferred 44 | %pre 45 | %code.language-elixir{:'data-lang' => 'elixir'} 46 | :preserve 47 | defmodule Somemodule do 48 | ... 49 | end 50 | 51 | defmodule Some_Module do 52 | ... 53 | end 54 | 55 | defmodule SomeXml do 56 | ... 57 | end 58 | .preferred 59 | %pre 60 | %code.language-elixir{:'data-lang' => 'elixir'} 61 | :preserve 62 | defmodule SomeModule do 63 | ... 64 | end 65 | 66 | defmodule SomeXML do 67 | ... 68 | end 69 | 70 | 71 | 72 | 73 | 74 | %section 75 | %p 76 | The names of predicate functions (a function that return a boolean value) should 77 | have a trailing question mark rather than a leading 78 | %span.keyword is_ 79 | or similar. 80 | 81 | .preferred 82 | %pre 83 | %code.language-elixir{:'data-lang' => 'elixir'} 84 | :preserve 85 | def cool?(var) do 86 | # checks if var is cool 87 | end 88 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_background.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // Background property for adding multiple backgrounds using shorthand 3 | // notation. 4 | //************************************************************************// 5 | 6 | @mixin background($backgrounds...) { 7 | $webkit-backgrounds: (); 8 | $spec-backgrounds: (); 9 | 10 | @each $background in $backgrounds { 11 | $webkit-background: (); 12 | $spec-background: (); 13 | $background-type: type-of($background); 14 | 15 | @if $background-type == string or $background-type == list { 16 | $background-str: if($background-type == list, nth($background, 1), $background); 17 | 18 | $url-str: str-slice($background-str, 0, 3); 19 | $gradient-type: str-slice($background-str, 0, 6); 20 | 21 | @if $url-str == "url" { 22 | $webkit-background: $background; 23 | $spec-background: $background; 24 | } 25 | 26 | @else if $gradient-type == "linear" { 27 | $gradients: _linear-gradient-parser("#{$background}"); 28 | $webkit-background: map-get($gradients, webkit-image); 29 | $spec-background: map-get($gradients, spec-image); 30 | } 31 | 32 | @else if $gradient-type == "radial" { 33 | $gradients: _radial-gradient-parser("#{$background}"); 34 | $webkit-background: map-get($gradients, webkit-image); 35 | $spec-background: map-get($gradients, spec-image); 36 | } 37 | 38 | @else { 39 | $webkit-background: $background; 40 | $spec-background: $background; 41 | } 42 | } 43 | 44 | @else { 45 | $webkit-background: $background; 46 | $spec-background: $background; 47 | } 48 | 49 | $webkit-backgrounds: append($webkit-backgrounds, $webkit-background, comma); 50 | $spec-backgrounds: append($spec-backgrounds, $spec-background, comma); 51 | } 52 | 53 | background: $webkit-backgrounds; 54 | background: $spec-backgrounds; 55 | } 56 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/kimbie.dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | Name: Kimbie (dark) 3 | Author: Jan T. Sott 4 | License: Creative Commons Attribution-ShareAlike 4.0 Unported License 5 | URL: https://github.com/idleberg/Kimbie-highlight.js 6 | */ 7 | 8 | /* Kimbie Comment */ 9 | .hljs-comment, 10 | .hljs-title { 11 | color: #d6baad; 12 | } 13 | 14 | /* Kimbie Red */ 15 | .hljs-variable, 16 | .hljs-attribute, 17 | .hljs-tag, 18 | .hljs-regexp, 19 | .hljs-name, 20 | .ruby .hljs-constant, 21 | .xml .hljs-tag .hljs-title, 22 | .xml .hljs-pi, 23 | .xml .hljs-doctype, 24 | .html .hljs-doctype, 25 | .css .hljs-id, 26 | .css .hljs-class, 27 | .css .hljs-pseudo { 28 | color: #dc3958; 29 | } 30 | 31 | /* Kimbie Orange */ 32 | .hljs-number, 33 | .hljs-preprocessor, 34 | .hljs-built_in, 35 | .hljs-literal, 36 | .hljs-params, 37 | .hljs-constant { 38 | color: #f79a32; 39 | } 40 | 41 | /* Kimbie Yellow */ 42 | .ruby .hljs-class .hljs-title, 43 | .css .hljs-rule .hljs-attribute { 44 | color: #f06431; 45 | } 46 | 47 | /* Kimbie Green */ 48 | .hljs-string, 49 | .hljs-value, 50 | .hljs-inheritance, 51 | .hljs-header, 52 | .ruby .hljs-symbol, 53 | .xml .hljs-cdata { 54 | color: #889b4a; 55 | } 56 | 57 | /* Kimbie Aqua */ 58 | .css .hljs-hexcolor { 59 | color: #088649; 60 | } 61 | 62 | /* Kimbie Blue */ 63 | .hljs-function, 64 | .python .hljs-decorator, 65 | .python .hljs-title, 66 | .ruby .hljs-function .hljs-title, 67 | .ruby .hljs-title .hljs-keyword, 68 | .perl .hljs-sub, 69 | .javascript .hljs-title, 70 | .coffeescript .hljs-title { 71 | color: #8ab1b0; 72 | } 73 | 74 | /* Kimbie Purple */ 75 | .hljs-keyword, 76 | .javascript .hljs-function { 77 | color: #98676a; 78 | } 79 | 80 | .hljs { 81 | display: block; 82 | overflow-x: auto; 83 | background: #221a0f; 84 | color: #d3af86; 85 | padding: 0.5em; 86 | -webkit-text-size-adjust: none; 87 | } 88 | 89 | .coffeescript .javascript, 90 | .javascript .xml, 91 | .tex .hljs-formula, 92 | .xml .javascript, 93 | .xml .vbscript, 94 | .xml .css, 95 | .xml .hljs-cdata { 96 | opacity: 0.5; 97 | } 98 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/kimbie.light.css: -------------------------------------------------------------------------------- 1 | /* 2 | Name: Kimbie (light) 3 | Author: Jan T. Sott 4 | License: Creative Commons Attribution-ShareAlike 4.0 Unported License 5 | URL: https://github.com/idleberg/Kimbie-highlight.js 6 | */ 7 | 8 | /* Kimbie Comment */ 9 | .hljs-comment, 10 | .hljs-title { 11 | color: #a57a4c; 12 | } 13 | 14 | /* Kimbie Red */ 15 | .hljs-variable, 16 | .hljs-attribute, 17 | .hljs-tag, 18 | .hljs-regexp, 19 | .hljs-name, 20 | .ruby .hljs-constant, 21 | .xml .hljs-tag .hljs-title, 22 | .xml .hljs-pi, 23 | .xml .hljs-doctype, 24 | .html .hljs-doctype, 25 | .css .hljs-id, 26 | .css .hljs-class, 27 | .css .hljs-pseudo { 28 | color: #dc3958; 29 | } 30 | 31 | /* Kimbie Orange */ 32 | .hljs-number, 33 | .hljs-preprocessor, 34 | .hljs-built_in, 35 | .hljs-literal, 36 | .hljs-params, 37 | .hljs-constant { 38 | color: #f79a32; 39 | } 40 | 41 | /* Kimbie Yellow */ 42 | .ruby .hljs-class .hljs-title, 43 | .css .hljs-rule .hljs-attribute { 44 | color: #f06431; 45 | } 46 | 47 | /* Kimbie Green */ 48 | .hljs-string, 49 | .hljs-value, 50 | .hljs-inheritance, 51 | .hljs-header, 52 | .ruby .hljs-symbol, 53 | .xml .hljs-cdata { 54 | color: #889b4a; 55 | } 56 | 57 | /* Kimbie Aqua */ 58 | .css .hljs-hexcolor { 59 | color: #088649; 60 | } 61 | 62 | /* Kimbie Blue */ 63 | .hljs-function, 64 | .python .hljs-decorator, 65 | .python .hljs-title, 66 | .ruby .hljs-function .hljs-title, 67 | .ruby .hljs-title .hljs-keyword, 68 | .perl .hljs-sub, 69 | .javascript .hljs-title, 70 | .coffeescript .hljs-title { 71 | color: #8ab1b0; 72 | } 73 | 74 | /* Kimbie Purple */ 75 | .hljs-keyword, 76 | .javascript .hljs-function { 77 | color: #98676a; 78 | } 79 | 80 | .hljs { 81 | display: block; 82 | overflow-x: auto; 83 | background: #fbebd4; 84 | color: #84613d; 85 | padding: 0.5em; 86 | -webkit-text-size-adjust: none; 87 | } 88 | 89 | .coffeescript .javascript, 90 | .javascript .xml, 91 | .tex .hljs-formula, 92 | .xml .javascript, 93 | .xml .vbscript, 94 | .xml .css, 95 | .xml .hljs-cdata { 96 | opacity: 0.5; 97 | } 98 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/ir_black.css: -------------------------------------------------------------------------------- 1 | /* 2 | IR_Black style (c) Vasily Mikhailitchenko 3 | */ 4 | 5 | .hljs { 6 | display: block; 7 | overflow-x: auto; 8 | padding: 0.5em; 9 | background: #000; 10 | color: #f8f8f8; 11 | -webkit-text-size-adjust: none; 12 | } 13 | 14 | .hljs-shebang, 15 | .hljs-comment { 16 | color: #7c7c7c; 17 | } 18 | 19 | .hljs-keyword, 20 | .hljs-tag, 21 | .tex .hljs-command, 22 | .hljs-request, 23 | .hljs-status, 24 | .clojure .hljs-attribute { 25 | color: #96cbfe; 26 | } 27 | 28 | .hljs-sub .hljs-keyword, 29 | .method, 30 | .hljs-list .hljs-title, 31 | .nginx .hljs-title { 32 | color: #ffffb6; 33 | } 34 | 35 | .hljs-string, 36 | .hljs-tag .hljs-value, 37 | .hljs-cdata, 38 | .hljs-filter .hljs-argument, 39 | .hljs-attr_selector, 40 | .apache .hljs-cbracket, 41 | .hljs-date, 42 | .coffeescript .hljs-attribute { 43 | color: #a8ff60; 44 | } 45 | 46 | .hljs-subst { 47 | color: #daefa3; 48 | } 49 | 50 | .hljs-regexp { 51 | color: #e9c062; 52 | } 53 | 54 | .hljs-title, 55 | .hljs-sub .hljs-identifier, 56 | .hljs-pi, 57 | .hljs-decorator, 58 | .tex .hljs-special, 59 | .hljs-type, 60 | .hljs-constant, 61 | .smalltalk .hljs-class, 62 | .hljs-doctag, 63 | .nginx .hljs-built_in { 64 | color: #ffffb6; 65 | } 66 | 67 | .hljs-symbol, 68 | .ruby .hljs-symbol .hljs-string, 69 | .hljs-number, 70 | .hljs-variable, 71 | .vbscript, 72 | .hljs-literal, 73 | .hljs-name { 74 | color: #c6c5fe; 75 | } 76 | 77 | .css .hljs-tag { 78 | color: #96cbfe; 79 | } 80 | 81 | .css .hljs-rule .hljs-property, 82 | .css .hljs-id { 83 | color: #ffffb6; 84 | } 85 | 86 | .css .hljs-class { 87 | color: #fff; 88 | } 89 | 90 | .hljs-hexcolor { 91 | color: #c6c5fe; 92 | } 93 | 94 | .hljs-number { 95 | color:#ff73fd; 96 | } 97 | 98 | .coffeescript .javascript, 99 | .javascript .xml, 100 | .tex .hljs-formula, 101 | .xml .javascript, 102 | .xml .vbscript, 103 | .xml .css, 104 | .xml .hljs-cdata { 105 | opacity: 0.7; 106 | } 107 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/tomorrow-night-bright.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Bright Theme */ 2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 3 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 4 | 5 | /* Tomorrow Comment */ 6 | .hljs-comment { 7 | color: #969896; 8 | } 9 | 10 | /* Tomorrow Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .ruby .hljs-constant, 16 | .xml .hljs-tag .hljs-title, 17 | .xml .hljs-pi, 18 | .xml .hljs-doctype, 19 | .html .hljs-doctype, 20 | .css .hljs-id, 21 | .css .hljs-class, 22 | .css .hljs-pseudo { 23 | color: #d54e53; 24 | } 25 | 26 | /* Tomorrow Orange */ 27 | .hljs-number, 28 | .hljs-preprocessor, 29 | .hljs-pragma, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #e78c45; 35 | } 36 | 37 | /* Tomorrow Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #e7c547; 41 | } 42 | 43 | /* Tomorrow Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .hljs-name, 49 | .ruby .hljs-symbol, 50 | .xml .hljs-cdata { 51 | color: #b9ca4a; 52 | } 53 | 54 | /* Tomorrow Aqua */ 55 | .hljs-title, 56 | .css .hljs-hexcolor { 57 | color: #70c0b1; 58 | } 59 | 60 | /* Tomorrow Blue */ 61 | .hljs-function, 62 | .python .hljs-decorator, 63 | .python .hljs-title, 64 | .ruby .hljs-function .hljs-title, 65 | .ruby .hljs-title .hljs-keyword, 66 | .perl .hljs-sub, 67 | .javascript .hljs-title, 68 | .coffeescript .hljs-title { 69 | color: #7aa6da; 70 | } 71 | 72 | /* Tomorrow Purple */ 73 | .hljs-keyword, 74 | .javascript .hljs-function { 75 | color: #c397d8; 76 | } 77 | 78 | .hljs { 79 | display: block; 80 | overflow-x: auto; 81 | background: black; 82 | color: #eaeaea; 83 | padding: 0.5em; 84 | -webkit-text-size-adjust: none; 85 | } 86 | 87 | .coffeescript .javascript, 88 | .javascript .xml, 89 | .tex .hljs-formula, 90 | .xml .javascript, 91 | .xml .vbscript, 92 | .xml .css, 93 | .xml .hljs-cdata { 94 | opacity: 0.5; 95 | } 96 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/tomorrow-night-eighties.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Eighties Theme */ 2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 3 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 4 | 5 | /* Tomorrow Comment */ 6 | .hljs-comment { 7 | color: #999999; 8 | } 9 | 10 | /* Tomorrow Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .ruby .hljs-constant, 16 | .xml .hljs-tag .hljs-title, 17 | .xml .hljs-pi, 18 | .xml .hljs-doctype, 19 | .html .hljs-doctype, 20 | .css .hljs-id, 21 | .css .hljs-class, 22 | .css .hljs-pseudo { 23 | color: #f2777a; 24 | } 25 | 26 | /* Tomorrow Orange */ 27 | .hljs-number, 28 | .hljs-preprocessor, 29 | .hljs-pragma, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #f99157; 35 | } 36 | 37 | /* Tomorrow Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #ffcc66; 41 | } 42 | 43 | /* Tomorrow Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .hljs-name, 49 | .ruby .hljs-symbol, 50 | .xml .hljs-cdata { 51 | color: #99cc99; 52 | } 53 | 54 | /* Tomorrow Aqua */ 55 | .hljs-title, 56 | .css .hljs-hexcolor { 57 | color: #66cccc; 58 | } 59 | 60 | /* Tomorrow Blue */ 61 | .hljs-function, 62 | .python .hljs-decorator, 63 | .python .hljs-title, 64 | .ruby .hljs-function .hljs-title, 65 | .ruby .hljs-title .hljs-keyword, 66 | .perl .hljs-sub, 67 | .javascript .hljs-title, 68 | .coffeescript .hljs-title { 69 | color: #6699cc; 70 | } 71 | 72 | /* Tomorrow Purple */ 73 | .hljs-keyword, 74 | .javascript .hljs-function { 75 | color: #cc99cc; 76 | } 77 | 78 | .hljs { 79 | display: block; 80 | overflow-x: auto; 81 | background: #2d2d2d; 82 | color: #cccccc; 83 | padding: 0.5em; 84 | -webkit-text-size-adjust: none; 85 | } 86 | 87 | .coffeescript .javascript, 88 | .javascript .xml, 89 | .tex .hljs-formula, 90 | .xml .javascript, 91 | .xml .vbscript, 92 | .xml .css, 93 | .xml .hljs-cdata { 94 | opacity: 0.5; 95 | } 96 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/rainbow.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Style with support for rainbow parens 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #474949; 12 | color: #d1d9e1; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | 17 | .hljs-body, 18 | .hljs-collection { 19 | color: #d1d9e1; 20 | } 21 | 22 | .hljs-comment, 23 | .diff .hljs-header, 24 | .hljs-doctype, 25 | .lisp .hljs-string { 26 | color: #969896; 27 | font-style: italic; 28 | } 29 | 30 | .hljs-keyword, 31 | .clojure .hljs-attribute, 32 | .hljs-winutils, 33 | .javascript .hljs-title, 34 | .hljs-addition, 35 | .css .hljs-tag { 36 | color: #cc99cc; 37 | } 38 | 39 | .hljs-number { color: #f99157; } 40 | 41 | .hljs-command, 42 | .hljs-string, 43 | .hljs-tag .hljs-value, 44 | .hljs-doctag, 45 | .tex .hljs-formula, 46 | .hljs-regexp, 47 | .hljs-hexcolor { 48 | color: #8abeb7; 49 | } 50 | 51 | .hljs-title, 52 | .hljs-localvars, 53 | .hljs-function .hljs-title, 54 | .hljs-chunk, 55 | .hljs-decorator, 56 | .hljs-built_in, 57 | .hljs-identifier { 58 | color: #b5bd68; 59 | } 60 | 61 | .hljs-class .hljs-keyword { 62 | color: #f2777a; 63 | } 64 | 65 | .hljs-variable, 66 | .smalltalk .hljs-number, 67 | .hljs-constant, 68 | .hljs-class .hljs-title, 69 | .hljs-parent, 70 | .haskell .hljs-label, 71 | .hljs-id, 72 | .hljs-name { 73 | color: #ffcc66; 74 | } 75 | 76 | .hljs-tag .hljs-title, 77 | .hljs-rule .hljs-property, 78 | .django .hljs-tag .hljs-keyword { 79 | font-weight: bold; 80 | } 81 | 82 | .hljs-attribute { 83 | color: #81a2be; 84 | } 85 | 86 | .hljs-preprocessor, 87 | .hljs-pragma, 88 | .hljs-pi, 89 | .hljs-shebang, 90 | .hljs-symbol, 91 | .hljs-symbol .hljs-string, 92 | .diff .hljs-change, 93 | .hljs-special, 94 | .hljs-attr_selector, 95 | .hljs-important, 96 | .hljs-subst, 97 | .hljs-cdata { 98 | color: #f99157; 99 | } 100 | 101 | .hljs-deletion { 102 | color: #dc322f; 103 | } 104 | 105 | .tex .hljs-formula { 106 | background: #eee8d5; 107 | } 108 | -------------------------------------------------------------------------------- /public/stylesheets/sass/neat/functions/_new-breakpoint.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Returns a media context (media query / grid context) that can be stored in a variable and passed to `media()` as a single-keyword argument. Media contexts defined using `new-breakpoint` are used by the visual grid, as long as they are defined before importing Neat. 4 | /// 5 | /// @param {List} $query 6 | /// A list of media query features and values. Each `$feature` should have a corresponding `$value`. 7 | /// 8 | /// If there is only a single `$value` in `$query`, `$default-feature` is going to be used. 9 | /// 10 | /// The number of total columns in the grid can be set by passing `$columns` at the end of the list (overrides `$total-columns`). For a list of valid values for `$feature`, click [here](http://www.w3.org/TR/css3-mediaqueries/#media1). 11 | /// 12 | /// @param {Number (unitless)} $total-columns [$grid-columns] 13 | /// - Number of columns to use in the new grid context. Can be set as a shorthand in the first parameter. 14 | /// 15 | /// @example scss - Usage 16 | /// $mobile: new-breakpoint(max-width 480px 4); 17 | /// 18 | /// .element { 19 | /// @include media($mobile) { 20 | /// @include span-columns(4); 21 | /// } 22 | /// } 23 | /// 24 | /// @example css - CSS Output 25 | /// @media screen and (max-width: 480px) { 26 | /// .element { 27 | /// display: block; 28 | /// float: left; 29 | /// margin-right: 7.42297%; 30 | /// width: 100%; 31 | /// } 32 | /// .element:last-child { 33 | /// margin-right: 0; 34 | /// } 35 | /// } 36 | 37 | @function new-breakpoint($query: $feature $value $columns, $total-columns: $grid-columns) { 38 | @if length($query) == 1 { 39 | $query: $default-feature nth($query, 1) $total-columns; 40 | } @else if is-even(length($query)) { 41 | $query: append($query, $total-columns); 42 | } 43 | 44 | @if is-not(belongs-to($query, $visual-grid-breakpoints)) { 45 | $visual-grid-breakpoints: append($visual-grid-breakpoints, $query, comma) !global; 46 | } 47 | 48 | @return $query; 49 | } 50 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_border-image.scss: -------------------------------------------------------------------------------- 1 | @mixin border-image($borders...) { 2 | $webkit-borders: (); 3 | $spec-borders: (); 4 | 5 | @each $border in $borders { 6 | $webkit-border: (); 7 | $spec-border: (); 8 | $border-type: type-of($border); 9 | 10 | @if $border-type == string or list { 11 | $border-str: if($border-type == list, nth($border, 1), $border); 12 | 13 | $url-str: str-slice($border-str, 0, 3); 14 | $gradient-type: str-slice($border-str, 0, 6); 15 | 16 | @if $url-str == "url" { 17 | $webkit-border: $border; 18 | $spec-border: $border; 19 | } 20 | 21 | @else if $gradient-type == "linear" { 22 | $gradients: _linear-gradient-parser("#{$border}"); 23 | $webkit-border: map-get($gradients, webkit-image); 24 | $spec-border: map-get($gradients, spec-image); 25 | } 26 | 27 | @else if $gradient-type == "radial" { 28 | $gradients: _radial-gradient-parser("#{$border}"); 29 | $webkit-border: map-get($gradients, webkit-image); 30 | $spec-border: map-get($gradients, spec-image); 31 | } 32 | 33 | @else { 34 | $webkit-border: $border; 35 | $spec-border: $border; 36 | } 37 | } 38 | 39 | @else { 40 | $webkit-border: $border; 41 | $spec-border: $border; 42 | } 43 | 44 | $webkit-borders: append($webkit-borders, $webkit-border, comma); 45 | $spec-borders: append($spec-borders, $spec-border, comma); 46 | } 47 | 48 | -webkit-border-image: $webkit-borders; 49 | border-image: $spec-borders; 50 | border-style: solid; 51 | } 52 | 53 | //Examples: 54 | // @include border-image(url("image.png")); 55 | // @include border-image(url("image.png") 20 stretch); 56 | // @include border-image(linear-gradient(45deg, orange, yellow)); 57 | // @include border-image(linear-gradient(45deg, orange, yellow) stretch); 58 | // @include border-image(linear-gradient(45deg, orange, yellow) 20 30 40 50 stretch round); 59 | // @include border-image(radial-gradient(top, cover, orange, yellow, orange)); 60 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/atelier-dune.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Dune Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Dune Comment */ 6 | .hljs-comment { 7 | color: #999580; 8 | } 9 | 10 | /* Atelier-Dune Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #d73737; 25 | } 26 | 27 | /* Atelier-Dune Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #b65611; 35 | } 36 | 37 | /* Atelier-Dune Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #ae9513; 41 | } 42 | 43 | /* Atelier-Dune Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #60ac39; 51 | } 52 | 53 | /* Atelier-Dune Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #1fad83; 57 | } 58 | 59 | /* Atelier-Dune Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #6684e1; 69 | } 70 | 71 | /* Atelier-Dune Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #b854d4; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #20201d; 81 | color: #a6a28c; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/atelier-dune.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Dune Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Dune Comment */ 6 | .hljs-comment { 7 | color: #7d7a68; 8 | } 9 | 10 | /* Atelier-Dune Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #d73737; 25 | } 26 | 27 | /* Atelier-Dune Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #b65611; 35 | } 36 | 37 | /* Atelier-Dune Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #ae9513; 41 | } 42 | 43 | /* Atelier-Dune Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #60ac39; 51 | } 52 | 53 | /* Atelier-Dune Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #1fad83; 57 | } 58 | 59 | /* Atelier-Dune Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #6684e1; 69 | } 70 | 71 | /* Atelier-Dune Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #b854d4; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #fefbec; 81 | color: #6e6b5e; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/tomorrow-night.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Theme */ 2 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 3 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 4 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 5 | 6 | /* Tomorrow Comment */ 7 | .hljs-comment { 8 | color: #969896; 9 | } 10 | 11 | /* Tomorrow Red */ 12 | .hljs-variable, 13 | .hljs-attribute, 14 | .hljs-tag, 15 | .hljs-regexp, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #cc6666; 25 | } 26 | 27 | /* Tomorrow Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-pragma, 31 | .hljs-built_in, 32 | .hljs-literal, 33 | .hljs-params, 34 | .hljs-constant { 35 | color: #de935f; 36 | } 37 | 38 | /* Tomorrow Yellow */ 39 | .ruby .hljs-class .hljs-title, 40 | .css .hljs-rule .hljs-attribute { 41 | color: #f0c674; 42 | } 43 | 44 | /* Tomorrow Green */ 45 | .hljs-string, 46 | .hljs-value, 47 | .hljs-inheritance, 48 | .hljs-header, 49 | .hljs-name, 50 | .ruby .hljs-symbol, 51 | .xml .hljs-cdata { 52 | color: #b5bd68; 53 | } 54 | 55 | /* Tomorrow Aqua */ 56 | .hljs-title, 57 | .css .hljs-hexcolor { 58 | color: #8abeb7; 59 | } 60 | 61 | /* Tomorrow Blue */ 62 | .hljs-function, 63 | .python .hljs-decorator, 64 | .python .hljs-title, 65 | .ruby .hljs-function .hljs-title, 66 | .ruby .hljs-title .hljs-keyword, 67 | .perl .hljs-sub, 68 | .javascript .hljs-title, 69 | .coffeescript .hljs-title { 70 | color: #81a2be; 71 | } 72 | 73 | /* Tomorrow Purple */ 74 | .hljs-keyword, 75 | .javascript .hljs-function { 76 | color: #b294bb; 77 | } 78 | 79 | .hljs { 80 | display: block; 81 | overflow-x: auto; 82 | background: #1d1f21; 83 | color: #c5c8c6; 84 | padding: 0.5em; 85 | -webkit-text-size-adjust: none; 86 | } 87 | 88 | .coffeescript .javascript, 89 | .javascript .xml, 90 | .tex .hljs-formula, 91 | .xml .javascript, 92 | .xml .vbscript, 93 | .xml .css, 94 | .xml .hljs-cdata { 95 | opacity: 0.5; 96 | } 97 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/atelier-heath.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Heath Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Heath Comment */ 6 | .hljs-comment { 7 | color: #9e8f9e; 8 | } 9 | 10 | /* Atelier-Heath Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #ca402b; 25 | } 26 | 27 | /* Atelier-Heath Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #a65926; 35 | } 36 | 37 | /* Atelier-Heath Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #bb8a35; 41 | } 42 | 43 | /* Atelier-Heath Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #918b3b; 51 | } 52 | 53 | /* Atelier-Heath Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #159393; 57 | } 58 | 59 | /* Atelier-Heath Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #516aec; 69 | } 70 | 71 | /* Atelier-Heath Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #7b59c0; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #1b181b; 81 | color: #ab9bab; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/tomorrow-night-blue.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Blue Theme */ 2 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 3 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 4 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 5 | 6 | /* Tomorrow Comment */ 7 | .hljs-comment { 8 | color: #7285b7; 9 | } 10 | 11 | /* Tomorrow Red */ 12 | .hljs-variable, 13 | .hljs-attribute, 14 | .hljs-tag, 15 | .hljs-regexp, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #ff9da4; 25 | } 26 | 27 | /* Tomorrow Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-pragma, 31 | .hljs-built_in, 32 | .hljs-literal, 33 | .hljs-params, 34 | .hljs-constant { 35 | color: #ffc58f; 36 | } 37 | 38 | /* Tomorrow Yellow */ 39 | .ruby .hljs-class .hljs-title, 40 | .css .hljs-rule .hljs-attribute { 41 | color: #ffeead; 42 | } 43 | 44 | /* Tomorrow Green */ 45 | .hljs-string, 46 | .hljs-value, 47 | .hljs-inheritance, 48 | .hljs-header, 49 | .hljs-name, 50 | .ruby .hljs-symbol, 51 | .xml .hljs-cdata { 52 | color: #d1f1a9; 53 | } 54 | 55 | /* Tomorrow Aqua */ 56 | .hljs-title, 57 | .css .hljs-hexcolor { 58 | color: #99ffff; 59 | } 60 | 61 | /* Tomorrow Blue */ 62 | .hljs-function, 63 | .python .hljs-decorator, 64 | .python .hljs-title, 65 | .ruby .hljs-function .hljs-title, 66 | .ruby .hljs-title .hljs-keyword, 67 | .perl .hljs-sub, 68 | .javascript .hljs-title, 69 | .coffeescript .hljs-title { 70 | color: #bbdaff; 71 | } 72 | 73 | /* Tomorrow Purple */ 74 | .hljs-keyword, 75 | .javascript .hljs-function { 76 | color: #ebbbff; 77 | } 78 | 79 | .hljs { 80 | display: block; 81 | overflow-x: auto; 82 | background: #002451; 83 | color: white; 84 | padding: 0.5em; 85 | -webkit-text-size-adjust: none; 86 | } 87 | 88 | .coffeescript .javascript, 89 | .javascript .xml, 90 | .tex .hljs-formula, 91 | .xml .javascript, 92 | .xml .vbscript, 93 | .xml .css, 94 | .xml .hljs-cdata { 95 | opacity: 0.5; 96 | } 97 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/atelier-heath.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Heath Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Heath Comment */ 6 | .hljs-comment { 7 | color: #776977; 8 | } 9 | 10 | /* Atelier-Heath Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #ca402b; 25 | } 26 | 27 | /* Atelier-Heath Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #a65926; 35 | } 36 | 37 | /* Atelier-Heath Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #bb8a35; 41 | } 42 | 43 | /* Atelier-Heath Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #918b3b; 51 | } 52 | 53 | /* Atelier-Heath Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #159393; 57 | } 58 | 59 | /* Atelier-Heath Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #516aec; 69 | } 70 | 71 | /* Atelier-Heath Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #7b59c0; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #f7f3f7; 81 | color: #695d69; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/atelier-forest.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Forest Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Forest Comment */ 6 | .hljs-comment { 7 | color: #9c9491; 8 | } 9 | 10 | /* Atelier-Forest Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #f22c40; 25 | } 26 | 27 | /* Atelier-Forest Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #df5320; 35 | } 36 | 37 | /* Atelier-Forest Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #c38418; 41 | } 42 | 43 | /* Atelier-Forest Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #7b9726; 51 | } 52 | 53 | /* Atelier-Forest Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #3d97b8; 57 | } 58 | 59 | /* Atelier-Forest Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #407ee7; 69 | } 70 | 71 | /* Atelier-Forest Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #6666ea; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #1b1918; 81 | color: #a8a19f; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/atelier-forest.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Forest Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Forest Comment */ 6 | .hljs-comment { 7 | color: #766e6b; 8 | } 9 | 10 | /* Atelier-Forest Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #f22c40; 25 | } 26 | 27 | /* Atelier-Forest Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #df5320; 35 | } 36 | 37 | /* Atelier-Forest Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #c38418; 41 | } 42 | 43 | /* Atelier-Forest Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #7b9726; 51 | } 52 | 53 | /* Atelier-Forest Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #3d97b8; 57 | } 58 | 59 | /* Atelier-Forest Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #407ee7; 69 | } 70 | 71 | /* Atelier-Forest Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #6666ea; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #f1efee; 81 | color: #68615e; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /public/stylesheets/sass/neat/settings/_grid.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Sets the relative width of a single grid column. The unit used should be the same one used to define `$gutter`. To learn more about modular-scale() see [Bourbon docs](http://bourbon.io/docs/#modular-scale). Set with a `!global` flag. 4 | /// 5 | /// @type Number (Unit) 6 | 7 | $column: modular-scale(3, 1em, $golden) !default; 8 | 9 | /// Sets the relative width of a single grid gutter. The unit used should be the same one used to define `$column`. To learn more about modular-scale() see [Bourbon docs](http://bourbon.io/docs/#modular-scale). Set with the `!global` flag. 10 | /// 11 | /// @type Number (Unit) 12 | 13 | $gutter: modular-scale(1, 1em, $golden) !default; 14 | 15 | /// Sets the total number of columns in the grid. Its value can be overridden inside a media query using the `media()` mixin. Set with the `!global` flag. 16 | /// 17 | /// @type Number (Unitless) 18 | 19 | $grid-columns: 12 !default; 20 | 21 | /// Sets the max-width property of the element that includes `outer-container()`. To learn more about `em()` see [Bourbon docs](http://bourbon.io/docs/#px-to-em). Set with the `!global` flag. 22 | /// 23 | /// @type Number (Unit) 24 | /// 25 | $max-width: em(1088) !default; 26 | 27 | /// When set to true, it sets the box-sizing property of all elements to `border-box`. Set with a `!global` flag. 28 | /// 29 | /// @type Bool 30 | /// 31 | /// @example css - CSS Output 32 | /// html { 33 | /// box-sizing: border-box; } 34 | /// 35 | /// *, *::after, *::before { 36 | /// box-sizing: inherit; 37 | /// } 38 | 39 | $border-box-sizing: true !default; 40 | 41 | /// Sets the default [media feature](http://www.w3.org/TR/css3-mediaqueries/#media) that `media()` and `new-breakpoint()` revert to when only a breakpoint value is passed. Set with a `!global` flag. 42 | /// 43 | /// @type String 44 | 45 | $default-feature: min-width; // Default @media feature for the breakpoint() mixin 46 | 47 | ///Sets the default layout direction of the grid. Can be `LTR` or `RTL`. Set with a `!global` flag. 48 | /// 49 | ///@type String 50 | 51 | $default-layout-direction: LTR !default; 52 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/atelier-seaside.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Seaside Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Seaside Comment */ 6 | .hljs-comment { 7 | color: #809980; 8 | } 9 | 10 | /* Atelier-Seaside Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #e6193c; 25 | } 26 | 27 | /* Atelier-Seaside Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #87711d; 35 | } 36 | 37 | /* Atelier-Seaside Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #98981b; 41 | } 42 | 43 | /* Atelier-Seaside Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #29a329; 51 | } 52 | 53 | /* Atelier-Seaside Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #1999b3; 57 | } 58 | 59 | /* Atelier-Seaside Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #3d62f5; 69 | } 70 | 71 | /* Atelier-Seaside Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #ad2bee; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #131513; 81 | color: #8ca68c; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/atelier-seaside.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Seaside Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Seaside Comment */ 6 | .hljs-comment { 7 | color: #687d68; 8 | } 9 | 10 | /* Atelier-Seaside Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #e6193c; 25 | } 26 | 27 | /* Atelier-Seaside Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #87711d; 35 | } 36 | 37 | /* Atelier-Seaside Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #98981b; 41 | } 42 | 43 | /* Atelier-Seaside Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #29a329; 51 | } 52 | 53 | /* Atelier-Seaside Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #1999b3; 57 | } 58 | 59 | /* Atelier-Seaside Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #3d62f5; 69 | } 70 | 71 | /* Atelier-Seaside Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #ad2bee; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #f4fbf4; 81 | color: #5e6e5e; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /views/talk.haml: -------------------------------------------------------------------------------- 1 | %p 2 | Sometimes you get stuck, or you have an idea you want to voice, or you just feel like 3 | having a chat. The Elixir community already provides several options. 4 | 5 | 6 | %h2 Freenode 7 | 8 | %p 9 | Freenode is an IRC network that allows users to register and create public rooms around 10 | any topic they might like. There's been an 11 | %span.keyword #elixir-lang 12 | channel for quite some time now 13 | and it features many of the developers that work directly on Elixir itself. 14 | It's a great place to listen to Jose and the others talk about the implementation and 15 | evolution of the language, as well as ask for help. 16 | Another channel of note is 17 | %span.keyword #phoenix 18 | where you can discuss and get support for the 19 | %a{href: 'http://www.phoenixframework.org'} Phoenix 20 | web framework by Chris McCord. 21 | 22 | %p 23 | If you're not sure about how to use IRC, you can try something like 24 | %a{href: 'https://www.irccloud.com/'} IRCCloud 25 | which will get you started with a lower overhead. 26 | 27 | 28 | %h2 Slack 29 | 30 | %p 31 | The 32 | %a{href: 'https://elixir-slackin.herokuapp.com/'} elixir-lang 33 | slack group has been operating for a few months but it's growing in size very 34 | quickly. There's some crossover with IRC but the interface is much more accessible. 35 | The slack group is also home to chat for several of the global meetups, such as 36 | %span.keyword #london 37 | for example. Channels are centered around topics, but 38 | %span.keyword #general 39 | is a good place to start if you have questions or need help. 40 | 41 | 42 | %h2 Mailing Lists 43 | 44 | %p 45 | If you prefer something a little more passive you can always join the mailing lists. 46 | The language maintainers provide two, the 47 | %a{href: 'https://groups.google.com/forum/#!forum/elixir-lang-core'} core mailing list 48 | for updates and discussions around the language itself, including any features or 49 | patches. 50 | Or the 51 | %a{href: 'https://groups.google.com/forum/#!forum/elixir-lang-talk'} talk mailing list 52 | for everything else related to Elixir. 53 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/atelier-lakeside.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Lakeside Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Lakeside Comment */ 6 | .hljs-comment { 7 | color: #7195a8; 8 | } 9 | 10 | /* Atelier-Lakeside Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #d22d72; 25 | } 26 | 27 | /* Atelier-Lakeside Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #935c25; 35 | } 36 | 37 | /* Atelier-Lakeside Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #8a8a0f; 41 | } 42 | 43 | /* Atelier-Lakeside Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #568c3b; 51 | } 52 | 53 | /* Atelier-Lakeside Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #2d8f6f; 57 | } 58 | 59 | /* Atelier-Lakeside Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #257fad; 69 | } 70 | 71 | /* Atelier-Lakeside Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #6b6bb8; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #161b1d; 81 | color: #7ea2b4; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/atelier-lakeside.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Lakeside Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Lakeside Comment */ 6 | .hljs-comment { 7 | color: #5a7b8c; 8 | } 9 | 10 | /* Atelier-Lakeside Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #d22d72; 25 | } 26 | 27 | /* Atelier-Lakeside Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #935c25; 35 | } 36 | 37 | /* Atelier-Lakeside Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #8a8a0f; 41 | } 42 | 43 | /* Atelier-Lakeside Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #568c3b; 51 | } 52 | 53 | /* Atelier-Lakeside Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #2d8f6f; 57 | } 58 | 59 | /* Atelier-Lakeside Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #257fad; 69 | } 70 | 71 | /* Atelier-Lakeside Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #6b6bb8; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #ebf8ff; 81 | color: #516d7b; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/helpers/_radial-arg-parser.scss: -------------------------------------------------------------------------------- 1 | @function _radial-arg-parser($g1, $g2, $pos, $shape-size) { 2 | @each $value in $g1, $g2 { 3 | $first-val: nth($value, 1); 4 | $pos-type: type-of($first-val); 5 | $spec-at-index: null; 6 | 7 | // Determine if spec was passed to mixin 8 | @if type-of($value) == list { 9 | $spec-at-index: if(index($value, at), index($value, at), false); 10 | } 11 | @if $spec-at-index { 12 | @if $spec-at-index > 1 { 13 | @for $i from 1 through ($spec-at-index - 1) { 14 | $shape-size: $shape-size nth($value, $i); 15 | } 16 | @for $i from ($spec-at-index + 1) through length($value) { 17 | $pos: $pos nth($value, $i); 18 | } 19 | } 20 | @else if $spec-at-index == 1 { 21 | @for $i from ($spec-at-index + 1) through length($value) { 22 | $pos: $pos nth($value, $i); 23 | } 24 | } 25 | $g1: null; 26 | } 27 | 28 | // If not spec calculate correct values 29 | @else { 30 | @if ($pos-type != color) or ($first-val != "transparent") { 31 | @if ($pos-type == number) 32 | or ($first-val == "center") 33 | or ($first-val == "top") 34 | or ($first-val == "right") 35 | or ($first-val == "bottom") 36 | or ($first-val == "left") { 37 | 38 | $pos: $value; 39 | 40 | @if $pos == $g1 { 41 | $g1: null; 42 | } 43 | } 44 | 45 | @else if 46 | ($first-val == "ellipse") 47 | or ($first-val == "circle") 48 | or ($first-val == "closest-side") 49 | or ($first-val == "closest-corner") 50 | or ($first-val == "farthest-side") 51 | or ($first-val == "farthest-corner") 52 | or ($first-val == "contain") 53 | or ($first-val == "cover") { 54 | 55 | $shape-size: $value; 56 | 57 | @if $value == $g1 { 58 | $g1: null; 59 | } 60 | 61 | @else if $value == $g2 { 62 | $g2: null; 63 | } 64 | } 65 | } 66 | } 67 | } 68 | @return $g1, $g2, $pos, $shape-size; 69 | } 70 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/atelier-sulphurpool.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Sulphurpool Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Sulphurpool Comment */ 6 | .hljs-comment { 7 | color: #898ea4; 8 | } 9 | 10 | /* Atelier-Sulphurpool Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #c94922; 25 | } 26 | 27 | /* Atelier-Sulphurpool Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #c76b29; 35 | } 36 | 37 | /* Atelier-Sulphurpool Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #c08b30; 41 | } 42 | 43 | /* Atelier-Sulphurpool Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #ac9739; 51 | } 52 | 53 | /* Atelier-Sulphurpool Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #22a2c9; 57 | } 58 | 59 | /* Atelier-Sulphurpool Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #3d8fd1; 69 | } 70 | 71 | /* Atelier-Sulphurpool Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #6679cc; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #202746; 81 | color: #979db4; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/atelier-sulphurpool.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Sulphurpool Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Sulphurpool Comment */ 6 | .hljs-comment { 7 | color: #6b7394; 8 | } 9 | 10 | /* Atelier-Sulphurpool Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #c94922; 25 | } 26 | 27 | /* Atelier-Sulphurpool Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #c76b29; 35 | } 36 | 37 | /* Atelier-Sulphurpool Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #c08b30; 41 | } 42 | 43 | /* Atelier-Sulphurpool Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #ac9739; 51 | } 52 | 53 | /* Atelier-Sulphurpool Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #22a2c9; 57 | } 58 | 59 | /* Atelier-Sulphurpool Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #3d8fd1; 69 | } 70 | 71 | /* Atelier-Sulphurpool Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #6679cc; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | overflow-x: auto; 80 | background: #f5f7ff; 81 | color: #5e6687; 82 | padding: 0.5em; 83 | -webkit-text-size-adjust: none; 84 | } 85 | 86 | .coffeescript .javascript, 87 | .javascript .xml, 88 | .tex .hljs-formula, 89 | .xml .javascript, 90 | .xml .vbscript, 91 | .xml .css, 92 | .xml .hljs-cdata { 93 | opacity: 0.5; 94 | } 95 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/solarized_dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #002b36; 12 | color: #839496; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | .hljs-comment, 17 | .diff .hljs-header, 18 | .hljs-doctype, 19 | .hljs-pi, 20 | .lisp .hljs-string { 21 | color: #586e75; 22 | } 23 | 24 | /* Solarized Green */ 25 | .hljs-keyword, 26 | .hljs-winutils, 27 | .method, 28 | .hljs-addition, 29 | .css .hljs-tag, 30 | .hljs-request, 31 | .hljs-status, 32 | .nginx .hljs-title { 33 | color: #859900; 34 | } 35 | 36 | /* Solarized Cyan */ 37 | .hljs-number, 38 | .hljs-command, 39 | .hljs-string, 40 | .hljs-tag .hljs-value, 41 | .hljs-rule .hljs-value, 42 | .hljs-doctag, 43 | .tex .hljs-formula, 44 | .hljs-regexp, 45 | .hljs-hexcolor, 46 | .hljs-link_url { 47 | color: #2aa198; 48 | } 49 | 50 | /* Solarized Blue */ 51 | .hljs-title, 52 | .hljs-localvars, 53 | .hljs-chunk, 54 | .hljs-decorator, 55 | .hljs-built_in, 56 | .hljs-identifier, 57 | .vhdl .hljs-literal, 58 | .hljs-id, 59 | .css .hljs-function, 60 | .hljs-name { 61 | color: #268bd2; 62 | } 63 | 64 | /* Solarized Yellow */ 65 | .hljs-attribute, 66 | .hljs-variable, 67 | .lisp .hljs-body, 68 | .smalltalk .hljs-number, 69 | .hljs-constant, 70 | .hljs-class .hljs-title, 71 | .hljs-parent, 72 | .hljs-type, 73 | .hljs-link_reference { 74 | color: #b58900; 75 | } 76 | 77 | /* Solarized Orange */ 78 | .hljs-preprocessor, 79 | .hljs-preprocessor .hljs-keyword, 80 | .hljs-pragma, 81 | .hljs-shebang, 82 | .hljs-symbol, 83 | .hljs-symbol .hljs-string, 84 | .diff .hljs-change, 85 | .hljs-special, 86 | .hljs-attr_selector, 87 | .hljs-subst, 88 | .hljs-cdata, 89 | .css .hljs-pseudo, 90 | .hljs-header { 91 | color: #cb4b16; 92 | } 93 | 94 | /* Solarized Red */ 95 | .hljs-deletion, 96 | .hljs-important { 97 | color: #dc322f; 98 | } 99 | 100 | /* Solarized Violet */ 101 | .hljs-link_label { 102 | color: #6c71c4; 103 | } 104 | 105 | .tex .hljs-formula { 106 | background: #073642; 107 | } 108 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/solarized_light.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #fdf6e3; 12 | color: #657b83; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | .hljs-comment, 17 | .diff .hljs-header, 18 | .hljs-doctype, 19 | .hljs-pi, 20 | .lisp .hljs-string { 21 | color: #93a1a1; 22 | } 23 | 24 | /* Solarized Green */ 25 | .hljs-keyword, 26 | .hljs-winutils, 27 | .method, 28 | .hljs-addition, 29 | .css .hljs-tag, 30 | .hljs-request, 31 | .hljs-status, 32 | .nginx .hljs-title { 33 | color: #859900; 34 | } 35 | 36 | /* Solarized Cyan */ 37 | .hljs-number, 38 | .hljs-command, 39 | .hljs-string, 40 | .hljs-tag .hljs-value, 41 | .hljs-rule .hljs-value, 42 | .hljs-doctag, 43 | .tex .hljs-formula, 44 | .hljs-regexp, 45 | .hljs-hexcolor, 46 | .hljs-link_url { 47 | color: #2aa198; 48 | } 49 | 50 | /* Solarized Blue */ 51 | .hljs-title, 52 | .hljs-localvars, 53 | .hljs-chunk, 54 | .hljs-decorator, 55 | .hljs-built_in, 56 | .hljs-identifier, 57 | .vhdl .hljs-literal, 58 | .hljs-id, 59 | .css .hljs-function, 60 | .hljs-name { 61 | color: #268bd2; 62 | } 63 | 64 | /* Solarized Yellow */ 65 | .hljs-attribute, 66 | .hljs-variable, 67 | .lisp .hljs-body, 68 | .smalltalk .hljs-number, 69 | .hljs-constant, 70 | .hljs-class .hljs-title, 71 | .hljs-parent, 72 | .hljs-type, 73 | .hljs-link_reference { 74 | color: #b58900; 75 | } 76 | 77 | /* Solarized Orange */ 78 | .hljs-preprocessor, 79 | .hljs-preprocessor .hljs-keyword, 80 | .hljs-pragma, 81 | .hljs-shebang, 82 | .hljs-symbol, 83 | .hljs-symbol .hljs-string, 84 | .diff .hljs-change, 85 | .hljs-special, 86 | .hljs-attr_selector, 87 | .hljs-subst, 88 | .hljs-cdata, 89 | .css .hljs-pseudo, 90 | .hljs-header { 91 | color: #cb4b16; 92 | } 93 | 94 | /* Solarized Red */ 95 | .hljs-deletion, 96 | .hljs-important { 97 | color: #dc322f; 98 | } 99 | 100 | /* Solarized Violet */ 101 | .hljs-link_label { 102 | color: #6c71c4; 103 | } 104 | 105 | .tex .hljs-formula { 106 | background: #eee8d5; 107 | } 108 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/pojoaque.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Pojoaque Style by Jason Tate 4 | http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html 5 | Based on Solarized Style from http://ethanschoonover.com/solarized 6 | 7 | */ 8 | 9 | .hljs { 10 | display: block; 11 | overflow-x: auto; 12 | padding: 0.5em; 13 | color: #dccf8f; 14 | background: url(./pojoaque.jpg) repeat scroll left top #181914; 15 | -webkit-text-size-adjust: none; 16 | } 17 | 18 | .hljs-comment, 19 | .diff .hljs-header, 20 | .hljs-doctype, 21 | .lisp .hljs-string { 22 | color: #586e75; 23 | font-style: italic; 24 | } 25 | 26 | .hljs-keyword, 27 | .css .rule .hljs-keyword, 28 | .hljs-winutils, 29 | .javascript .hljs-title, 30 | .method, 31 | .hljs-addition, 32 | .css .hljs-tag, 33 | .hljs-list .hljs-keyword, 34 | .nginx .hljs-title { 35 | color: #b64926; 36 | } 37 | 38 | .hljs-number, 39 | .hljs-command, 40 | .hljs-string, 41 | .hljs-tag .hljs-value, 42 | .hljs-doctag, 43 | .tex .hljs-formula, 44 | .hljs-regexp, 45 | .hljs-hexcolor { 46 | color: #468966; 47 | } 48 | 49 | .hljs-title, 50 | .hljs-localvars, 51 | .hljs-function .hljs-title, 52 | .hljs-chunk, 53 | .hljs-decorator, 54 | .hljs-built_in, 55 | .hljs-identifier, 56 | .hljs-name, 57 | .hljs-id { 58 | color: #ffb03b; 59 | } 60 | 61 | .hljs-attribute, 62 | .hljs-variable, 63 | .lisp .hljs-body, 64 | .smalltalk .hljs-number, 65 | .hljs-constant, 66 | .hljs-class .hljs-title, 67 | .hljs-parent, 68 | .hljs-type { 69 | color: #b58900; 70 | } 71 | 72 | .css .hljs-attribute { 73 | color: #b89859; 74 | } 75 | 76 | .css .hljs-number, 77 | .css .hljs-hexcolor { 78 | color: #dccf8f; 79 | } 80 | 81 | .css .hljs-class { 82 | color: #d3a60c; 83 | } 84 | 85 | .hljs-preprocessor, 86 | .hljs-pragma, 87 | .hljs-pi, 88 | .hljs-shebang, 89 | .hljs-symbol, 90 | .hljs-symbol .hljs-string, 91 | .diff .hljs-change, 92 | .hljs-special, 93 | .hljs-attr_selector, 94 | .hljs-important, 95 | .hljs-subst, 96 | .hljs-cdata { 97 | color: #cb4b16; 98 | } 99 | 100 | .hljs-deletion { 101 | color: #dc322f; 102 | } 103 | 104 | .tex .hljs-formula { 105 | background: #073642; 106 | } 107 | -------------------------------------------------------------------------------- /views/styleguide.haml: -------------------------------------------------------------------------------- 1 | %section 2 | %p 3 | Elixir is a lot like Ruby on the surface, but there are some big differences. It can 4 | be a struggle to know how to style your code. Thankfully 5 | %a{href: 'https://github.com/niftyn8'} niftynate 6 | put together a style guide. I found it very helpful and have reproduced it here in a 7 | slightly friendlier format. All of the original work can be found 8 | %a{href:'https://github.com/niftyn8/elixir_style_guide'} in their repository. 9 | 10 | %section 11 | %ul 12 | %li 13 | %a{href: '#layout'} Layout 14 | %li 15 | %a{href: '#syntax'} Syntax 16 | %li 17 | %a{href: '#naming'} Naming 18 | %li 19 | %a{href: '#comments'} Comments 20 | %li 21 | %a{href: '#annotations'} Comment Annotations 22 | %li 23 | %a{href: '#modules'} Modules 24 | %li 25 | %a{href: '#documentation'} Documentation 26 | %li 27 | %a{href: '#strings'} Strings 28 | %li 29 | %a{href: '#metaprogramming'} Metaprogramming 30 | %li 31 | %a{href: '#alternatives'} Suggested Alternatives 32 | 33 | %section{height: '400px'} 34 | %a{name: 'layout'} 35 | %h2 Layout 36 | = haml :'styleguide/layout' 37 | 38 | %section 39 | %a{name: 'syntax'} 40 | %h2 Syntax 41 | = haml :'styleguide/syntax' 42 | 43 | %section 44 | %a{name: 'naming'} 45 | %h2 Naming 46 | = haml :'styleguide/naming' 47 | 48 | %section 49 | %a{name: 'comments'} 50 | %h2 Comments 51 | = haml :'styleguide/comments' 52 | 53 | %section 54 | %a{name: 'annotations'} 55 | %h2 Comment Annotations 56 | = haml :'styleguide/comment_annotations' 57 | 58 | %section 59 | %a{name: 'modules'} 60 | %h2 Modules 61 | = haml :'styleguide/modules' 62 | 63 | %section 64 | %a{name: 'documentation'} 65 | %h2 Documentation 66 | = haml :'styleguide/documentation' 67 | 68 | %section 69 | %a{name: 'strings'} 70 | %h2 Strings 71 | = haml :'styleguide/strings' 72 | 73 | %section 74 | %a{name: 'metaprogramming'} 75 | %h2 Metaprogramming 76 | = haml :'styleguide/metaprogramming' 77 | 78 | %section 79 | %a{name: 'alternatives'} 80 | %h2 Suggested Alternatives 81 | = haml :'styleguide/suggested_alternatives' 82 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Dark style from softwaremaniacs.org (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #444; 12 | -webkit-text-size-adjust: none; 13 | } 14 | 15 | .hljs-keyword, 16 | .hljs-literal, 17 | .hljs-change, 18 | .hljs-winutils, 19 | .hljs-flow, 20 | .nginx .hljs-title, 21 | .tex .hljs-special { 22 | color: white; 23 | } 24 | 25 | .hljs, 26 | .hljs-subst { 27 | color: #ddd; 28 | } 29 | 30 | .hljs-string, 31 | .hljs-title, 32 | .hljs-type, 33 | .ini .hljs-title, 34 | .hljs-tag .hljs-value, 35 | .css .hljs-rule .hljs-value, 36 | .hljs-preprocessor, 37 | .hljs-pragma, 38 | .ruby .hljs-symbol, 39 | .ruby .hljs-symbol .hljs-string, 40 | .ruby .hljs-class .hljs-parent, 41 | .hljs-built_in, 42 | .django .hljs-template_tag, 43 | .django .hljs-variable, 44 | .smalltalk .hljs-class, 45 | .ruby .hljs-string, 46 | .django .hljs-filter .hljs-argument, 47 | .smalltalk .hljs-localvars, 48 | .smalltalk .hljs-array, 49 | .hljs-attr_selector, 50 | .hljs-pseudo, 51 | .hljs-addition, 52 | .hljs-stream, 53 | .hljs-envvar, 54 | .apache .hljs-tag, 55 | .apache .hljs-cbracket, 56 | .tex .hljs-command, 57 | .hljs-prompt, 58 | .coffeescript .hljs-attribute, 59 | .hljs-name { 60 | color: #d88; 61 | } 62 | 63 | .hljs-comment, 64 | .hljs-annotation, 65 | .hljs-decorator, 66 | .hljs-pi, 67 | .hljs-doctype, 68 | .hljs-deletion, 69 | .hljs-shebang, 70 | .apache .hljs-sqbracket, 71 | .tex .hljs-formula { 72 | color: #777; 73 | } 74 | 75 | .hljs-keyword, 76 | .hljs-literal, 77 | .hljs-title, 78 | .css .hljs-id, 79 | .hljs-doctag, 80 | .hljs-type, 81 | .vbscript .hljs-built_in, 82 | .rsl .hljs-built_in, 83 | .smalltalk .hljs-class, 84 | .diff .hljs-header, 85 | .hljs-chunk, 86 | .hljs-winutils, 87 | .bash .hljs-variable, 88 | .apache .hljs-tag, 89 | .tex .hljs-special, 90 | .hljs-request, 91 | .hljs-status { 92 | font-weight: bold; 93 | } 94 | 95 | .coffeescript .javascript, 96 | .javascript .xml, 97 | .tex .hljs-formula, 98 | .xml .javascript, 99 | .xml .vbscript, 100 | .xml .css, 101 | .xml .hljs-cdata { 102 | opacity: 0.5; 103 | } 104 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/brown_paper.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Brown Paper style from goldblog.com.ua (c) Zaripov Yura 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background:#b7a68e url(./brown_papersq.png); 12 | -webkit-text-size-adjust: none; 13 | } 14 | 15 | .hljs-keyword, 16 | .hljs-literal, 17 | .hljs-change, 18 | .hljs-winutils, 19 | .hljs-flow, 20 | .nginx .hljs-title, 21 | .tex .hljs-special, 22 | .hljs-request, 23 | .hljs-status { 24 | color:#005599; 25 | font-weight:bold; 26 | } 27 | 28 | .hljs, 29 | .hljs-subst, 30 | .hljs-tag .hljs-keyword { 31 | color: #363c69; 32 | } 33 | 34 | .hljs-string, 35 | .hljs-title, 36 | .hljs-type, 37 | .hljs-tag .hljs-value, 38 | .css .hljs-rule .hljs-value, 39 | .hljs-preprocessor, 40 | .hljs-pragma, 41 | .ruby .hljs-symbol, 42 | .ruby .hljs-symbol .hljs-string, 43 | .ruby .hljs-class .hljs-parent, 44 | .hljs-built_in, 45 | .django .hljs-template_tag, 46 | .django .hljs-variable, 47 | .smalltalk .hljs-class, 48 | .ruby .hljs-string, 49 | .django .hljs-filter .hljs-argument, 50 | .smalltalk .hljs-localvars, 51 | .smalltalk .hljs-array, 52 | .hljs-attr_selector, 53 | .hljs-pseudo, 54 | .hljs-addition, 55 | .hljs-stream, 56 | .hljs-envvar, 57 | .apache .hljs-tag, 58 | .apache .hljs-cbracket, 59 | .tex .hljs-number, 60 | .hljs-name { 61 | color: #2c009f; 62 | } 63 | 64 | .hljs-comment, 65 | .hljs-annotation, 66 | .hljs-decorator, 67 | .hljs-pi, 68 | .hljs-doctype, 69 | .hljs-deletion, 70 | .hljs-shebang, 71 | .apache .hljs-sqbracket, 72 | .nginx .hljs-built_in, 73 | .tex .hljs-formula { 74 | color: #802022; 75 | } 76 | 77 | .hljs-keyword, 78 | .hljs-literal, 79 | .css .hljs-id, 80 | .hljs-doctag, 81 | .hljs-title, 82 | .hljs-type, 83 | .vbscript .hljs-built_in, 84 | .rsl .hljs-built_in, 85 | .smalltalk .hljs-class, 86 | .diff .hljs-header, 87 | .hljs-chunk, 88 | .hljs-winutils, 89 | .bash .hljs-variable, 90 | .apache .hljs-tag, 91 | .tex .hljs-command { 92 | font-weight: bold; 93 | } 94 | 95 | .coffeescript .javascript, 96 | .javascript .xml, 97 | .tex .hljs-formula, 98 | .xml .javascript, 99 | .xml .vbscript, 100 | .xml .css, 101 | .xml .hljs-cdata { 102 | opacity: 0.8; 103 | } 104 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/helpers/_linear-positions-parser.scss: -------------------------------------------------------------------------------- 1 | @function _linear-positions-parser($pos) { 2 | $type: type-of(nth($pos, 1)); 3 | $spec: null; 4 | $degree: null; 5 | $side: null; 6 | $corner: null; 7 | $length: length($pos); 8 | // Parse Side and corner positions 9 | @if ($length > 1) { 10 | @if nth($pos, 1) == "to" { // Newer syntax 11 | $side: nth($pos, 2); 12 | 13 | @if $length == 2 { // eg. to top 14 | // Swap for backwards compatability 15 | $degree: _position-flipper(nth($pos, 2)); 16 | } 17 | @else if $length == 3 { // eg. to top left 18 | $corner: nth($pos, 3); 19 | } 20 | } 21 | @else if $length == 2 { // Older syntax ("top left") 22 | $side: _position-flipper(nth($pos, 1)); 23 | $corner: _position-flipper(nth($pos, 2)); 24 | } 25 | 26 | @if ("#{$side} #{$corner}" == "left top") or ("#{$side} #{$corner}" == "top left") { 27 | $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); 28 | } 29 | @else if ("#{$side} #{$corner}" == "right top") or ("#{$side} #{$corner}" == "top right") { 30 | $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); 31 | } 32 | @else if ("#{$side} #{$corner}" == "right bottom") or ("#{$side} #{$corner}" == "bottom right") { 33 | $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); 34 | } 35 | @else if ("#{$side} #{$corner}" == "left bottom") or ("#{$side} #{$corner}" == "bottom left") { 36 | $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); 37 | } 38 | $spec: to $side $corner; 39 | } 40 | @else if $length == 1 { 41 | // Swap for backwards compatability 42 | @if $type == string { 43 | $degree: $pos; 44 | $spec: to _position-flipper($pos); 45 | } 46 | @else { 47 | $degree: -270 - $pos; //rotate the gradient opposite from spec 48 | $spec: $pos; 49 | } 50 | } 51 | $degree: unquote($degree + ","); 52 | $spec: unquote($spec + ","); 53 | @return $degree $spec; 54 | } 55 | 56 | @function _position-flipper($pos) { 57 | @return if($pos == left, right, null) 58 | if($pos == right, left, null) 59 | if($pos == top, bottom, null) 60 | if($pos == bottom, top, null); 61 | } 62 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/github.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | github.com style (c) Vasily Polovnyov 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | color: #333; 12 | background: #f8f8f8; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | .hljs-comment, 17 | .diff .hljs-header { 18 | color: #998; 19 | font-style: italic; 20 | } 21 | 22 | .hljs-keyword, 23 | .css .rule .hljs-keyword, 24 | .hljs-winutils, 25 | .nginx .hljs-title, 26 | .hljs-subst, 27 | .hljs-request, 28 | .hljs-status { 29 | color: #333; 30 | font-weight: bold; 31 | } 32 | 33 | .hljs-number, 34 | .hljs-hexcolor, 35 | .ruby .hljs-constant { 36 | color: #008080; 37 | } 38 | 39 | .hljs-string, 40 | .hljs-tag .hljs-value, 41 | .hljs-doctag, 42 | .tex .hljs-formula { 43 | color: #d14; 44 | } 45 | 46 | .hljs-title, 47 | .hljs-id, 48 | .scss .hljs-preprocessor { 49 | color: #900; 50 | font-weight: bold; 51 | } 52 | 53 | .hljs-list .hljs-keyword, 54 | .hljs-subst { 55 | font-weight: normal; 56 | } 57 | 58 | .hljs-class .hljs-title, 59 | .hljs-type, 60 | .vhdl .hljs-literal, 61 | .tex .hljs-command { 62 | color: #458; 63 | font-weight: bold; 64 | } 65 | 66 | .hljs-tag, 67 | .hljs-tag .hljs-title, 68 | .hljs-rule .hljs-property, 69 | .django .hljs-tag .hljs-keyword { 70 | color: #000080; 71 | font-weight: normal; 72 | } 73 | 74 | .hljs-attribute, 75 | .hljs-variable, 76 | .lisp .hljs-body, 77 | .hljs-name { 78 | color: #008080; 79 | } 80 | 81 | .hljs-regexp { 82 | color: #009926; 83 | } 84 | 85 | .hljs-symbol, 86 | .ruby .hljs-symbol .hljs-string, 87 | .lisp .hljs-keyword, 88 | .clojure .hljs-keyword, 89 | .scheme .hljs-keyword, 90 | .tex .hljs-special, 91 | .hljs-prompt { 92 | color: #990073; 93 | } 94 | 95 | .hljs-built_in { 96 | color: #0086b3; 97 | } 98 | 99 | .hljs-preprocessor, 100 | .hljs-pragma, 101 | .hljs-pi, 102 | .hljs-doctype, 103 | .hljs-shebang, 104 | .hljs-cdata { 105 | color: #999; 106 | font-weight: bold; 107 | } 108 | 109 | .hljs-deletion { 110 | background: #fdd; 111 | } 112 | 113 | .hljs-addition { 114 | background: #dfd; 115 | } 116 | 117 | .diff .hljs-change { 118 | background: #0086b3; 119 | } 120 | 121 | .hljs-chunk { 122 | color: #aaa; 123 | } 124 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/far.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | FAR Style (c) MajestiC 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #000080; 12 | -webkit-text-size-adjust: none; 13 | } 14 | 15 | .hljs, 16 | .hljs-subst { 17 | color: #0ff; 18 | } 19 | 20 | .hljs-string, 21 | .ruby .hljs-string, 22 | .haskell .hljs-type, 23 | .hljs-tag .hljs-value, 24 | .hljs-rule .hljs-value, 25 | .hljs-rule .hljs-value .hljs-number, 26 | .hljs-preprocessor, 27 | .hljs-pragma, 28 | .ruby .hljs-symbol, 29 | .ruby .hljs-symbol .hljs-string, 30 | .hljs-built_in, 31 | .django .hljs-template_tag, 32 | .django .hljs-variable, 33 | .smalltalk .hljs-class, 34 | .hljs-addition, 35 | .apache .hljs-tag, 36 | .apache .hljs-cbracket, 37 | .tex .hljs-command, 38 | .coffeescript .hljs-attribute { 39 | color: #ff0; 40 | } 41 | 42 | .hljs-keyword, 43 | .css .hljs-id, 44 | .hljs-title, 45 | .hljs-type, 46 | .vbscript .hljs-built_in, 47 | .rsl .hljs-built_in, 48 | .smalltalk .hljs-class, 49 | .xml .hljs-tag .hljs-title, 50 | .hljs-winutils, 51 | .hljs-flow, 52 | .hljs-change, 53 | .hljs-envvar, 54 | .bash .hljs-variable, 55 | .tex .hljs-special, 56 | .hljs-name { 57 | color: #fff; 58 | } 59 | 60 | .hljs-comment, 61 | .hljs-doctag, 62 | .hljs-annotation, 63 | .hljs-deletion, 64 | .apache .hljs-sqbracket, 65 | .tex .hljs-formula { 66 | color: #888; 67 | } 68 | 69 | .hljs-number, 70 | .hljs-date, 71 | .hljs-regexp, 72 | .hljs-literal, 73 | .smalltalk .hljs-symbol, 74 | .smalltalk .hljs-char, 75 | .clojure .hljs-attribute { 76 | color: #0f0; 77 | } 78 | 79 | .hljs-decorator, 80 | .django .hljs-filter .hljs-argument, 81 | .smalltalk .hljs-localvars, 82 | .smalltalk .hljs-array, 83 | .hljs-attr_selector, 84 | .hljs-pseudo, 85 | .xml .hljs-pi, 86 | .diff .hljs-header, 87 | .hljs-chunk, 88 | .hljs-shebang, 89 | .nginx .hljs-built_in, 90 | .hljs-prompt { 91 | color: #008080; 92 | } 93 | 94 | .hljs-keyword, 95 | .css .hljs-id, 96 | .hljs-title, 97 | .hljs-type, 98 | .vbscript .hljs-built_in, 99 | .rsl .hljs-built_in, 100 | .smalltalk .hljs-class, 101 | .hljs-winutils, 102 | .hljs-flow, 103 | .apache .hljs-tag, 104 | .nginx .hljs-built_in, 105 | .tex .hljs-command, 106 | .tex .hljs-special, 107 | .hljs-request, 108 | .hljs-status { 109 | font-weight: bold; 110 | } 111 | -------------------------------------------------------------------------------- /views/materials.haml: -------------------------------------------------------------------------------- 1 | %p 2 | There are plenty of good resources to get you started on your Elixir journey, this list 3 | is not exhaustive and there will certainly be plenty of things added to it over time. 4 | 5 | 6 | %h2 7 | %a{href: 'http://elixir-lang.org/getting-started/introduction.html'} Getting Started 8 | %p 9 | The languages own guide to getting started is actually pretty thorough, and it includes 10 | some concepts from OTP that you will want to learn more about later. 11 | 12 | 13 | %h2 14 | %a{href: 'http://elixirsips.com/'} Elixir Sips 15 | %p 16 | For a small monthly fee you can get access to over 19 hours of short screencasts that 17 | cover some detail about, or in, Elixir. A new one is added each week and they are 18 | usually small enough to squash into even the tightest of schedules. 19 | 20 | 21 | %h2 22 | %a{href: 'http://chimera.labs.oreilly.com/books/1234000001642/index.html'} Elixir Etudes 23 | %p 24 | A series of small examples that encourage practice in Elixir concepts, available online 25 | for free, but you can also purchase the book. 26 | 27 | 28 | %h2 29 | %a{href: 'http://plataformatec.com.br/elixir-radar'} Elixir Radar 30 | %p 31 | This is the 32 | %a{href: 'http://plataformatec.com.br'} Plataformatec 33 | mailing list for anything interesting about Elixir, ranging from blog posts, to 34 | libraries, to jobs. 35 | 36 | 37 | %h2 38 | %a{href: 'http://learnyousomeerlang.com/'} Learn You Some Erlang For Great Good 39 | %p 40 | Elixir provides great interoperability (it's actually a two-way-street) with Erlang, 41 | many of the libraries are wrappers around Erlang libraries. This book provides a great 42 | deal of content and a good overview of OTP. 43 | 44 | 45 | %h2 46 | %a{href: 'https://soundcloud.com/elixirfountain'} Elixir Fountain 47 | %p 48 | A great podcast that includes interviews with people throughout the Elixir community. 49 | 50 | 51 | %h2 52 | %a{href: 'https://github.com/h4cc/awesome-elixir'} Awesome Elixir 53 | %p 54 | One giant list of awesome Elixir libraries and projects, hand-curated by 55 | %a{href: 'https://github.com/h4cc'} h4cc 56 | 57 | %h2 58 | %a{href: 'http://exercism.io'} exercism.io 59 | %p 60 | Get a test, write a small piece of code to make it pass. Get helpful comments on your own code and review solutions from others. 61 | 62 | %h2 Something missing? 63 | %p 64 | Send a pull-request! 65 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/foundation.css: -------------------------------------------------------------------------------- 1 | /* 2 | Description: Foundation 4 docs style for highlight.js 3 | Author: Dan Allen 4 | Website: http://foundation.zurb.com/docs/ 5 | Version: 1.0 6 | Date: 2013-04-02 7 | */ 8 | 9 | .hljs { 10 | display: block; 11 | overflow-x: auto; 12 | padding: 0.5em; 13 | background: #eee; 14 | -webkit-text-size-adjust: none; 15 | } 16 | 17 | .hljs-header, 18 | .hljs-decorator, 19 | .hljs-annotation { 20 | color: #000077; 21 | } 22 | 23 | .hljs-horizontal_rule, 24 | .hljs-link_url, 25 | .hljs-emphasis, 26 | .hljs-attribute { 27 | color: #070; 28 | } 29 | 30 | .hljs-emphasis { 31 | font-style: italic; 32 | } 33 | 34 | .hljs-link_label, 35 | .hljs-strong, 36 | .hljs-value, 37 | .hljs-string, 38 | .scss .hljs-value .hljs-string { 39 | color: #d14; 40 | } 41 | 42 | .hljs-strong { 43 | font-weight: bold; 44 | } 45 | 46 | .hljs-blockquote, 47 | .hljs-comment { 48 | color: #998; 49 | font-style: italic; 50 | } 51 | 52 | .asciidoc .hljs-title, 53 | .hljs-function .hljs-title { 54 | color: #900; 55 | } 56 | 57 | .hljs-class { 58 | color: #458; 59 | } 60 | 61 | .hljs-id, 62 | .hljs-pseudo, 63 | .hljs-constant, 64 | .hljs-hexcolor { 65 | color: teal; 66 | } 67 | 68 | .hljs-variable { 69 | color: #336699; 70 | } 71 | 72 | .hljs-bullet { 73 | color: #997700; 74 | } 75 | 76 | .hljs-pi, 77 | .hljs-doctype { 78 | color: #3344bb; 79 | } 80 | 81 | .hljs-code, 82 | .hljs-number { 83 | color: #099; 84 | } 85 | 86 | .hljs-important { 87 | color: #f00; 88 | } 89 | 90 | .smartquote, 91 | .hljs-label { 92 | color: #970; 93 | } 94 | 95 | .hljs-preprocessor, 96 | .hljs-pragma { 97 | color: #579; 98 | } 99 | 100 | .hljs-reserved, 101 | .hljs-keyword, 102 | .scss .hljs-value { 103 | color: #000; 104 | } 105 | 106 | .hljs-regexp { 107 | background-color: #fff0ff; 108 | color: #880088; 109 | } 110 | 111 | .hljs-symbol { 112 | color: #990073; 113 | } 114 | 115 | .hljs-symbol .hljs-string { 116 | color: #a60; 117 | } 118 | 119 | .hljs-tag { 120 | color: #007700; 121 | } 122 | 123 | .hljs-at_rule, 124 | .hljs-at_rule .hljs-keyword { 125 | color: #088; 126 | } 127 | 128 | .hljs-at_rule .hljs-preprocessor { 129 | color: #808; 130 | } 131 | 132 | .scss .hljs-tag, 133 | .scss .hljs-attribute { 134 | color: #339; 135 | } 136 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/idea.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Intellij Idea-like styling (c) Vasily Polovnyov 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | color: #000; 12 | background: #fff; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | .hljs-subst, 17 | .hljs-title, 18 | .json .hljs-value { 19 | font-weight: normal; 20 | color: #000; 21 | } 22 | 23 | .hljs-comment, 24 | .diff .hljs-header { 25 | color: #808080; 26 | font-style: italic; 27 | } 28 | 29 | .hljs-annotation, 30 | .hljs-decorator, 31 | .hljs-preprocessor, 32 | .hljs-pragma, 33 | .hljs-doctype, 34 | .hljs-pi, 35 | .hljs-chunk, 36 | .hljs-shebang, 37 | .apache .hljs-cbracket, 38 | .hljs-prompt, 39 | .http .hljs-title { 40 | color: #808000; 41 | } 42 | 43 | .hljs-tag, 44 | .hljs-pi { 45 | background: #efefef; 46 | } 47 | 48 | .hljs-tag .hljs-title, 49 | .hljs-id, 50 | .hljs-attr_selector, 51 | .hljs-pseudo, 52 | .hljs-literal, 53 | .hljs-keyword, 54 | .hljs-hexcolor, 55 | .css .hljs-function, 56 | .ini .hljs-title, 57 | .css .hljs-class, 58 | .hljs-list .hljs-keyword, 59 | .nginx .hljs-title, 60 | .tex .hljs-command, 61 | .hljs-request, 62 | .hljs-status { 63 | font-weight: bold; 64 | color: #000080; 65 | } 66 | 67 | .hljs-attribute, 68 | .hljs-rule .hljs-keyword, 69 | .hljs-number, 70 | .hljs-date, 71 | .hljs-regexp, 72 | .tex .hljs-special { 73 | font-weight: bold; 74 | color: #0000ff; 75 | } 76 | 77 | .hljs-number, 78 | .hljs-regexp { 79 | font-weight: normal; 80 | } 81 | 82 | .hljs-string, 83 | .hljs-value, 84 | .hljs-filter .hljs-argument, 85 | .css .hljs-function .hljs-params, 86 | .apache .hljs-tag { 87 | color: #008000; 88 | font-weight: bold; 89 | } 90 | 91 | .hljs-symbol, 92 | .ruby .hljs-symbol .hljs-string, 93 | .hljs-char, 94 | .tex .hljs-formula { 95 | color: #000; 96 | background: #d0eded; 97 | font-style: italic; 98 | } 99 | 100 | .hljs-doctag { 101 | text-decoration: underline; 102 | } 103 | 104 | .hljs-variable, 105 | .hljs-envvar, 106 | .apache .hljs-sqbracket, 107 | .nginx .hljs-built_in, 108 | .hljs-name { 109 | color: #660e7a; 110 | } 111 | 112 | .hljs-addition { 113 | background: #baeeba; 114 | } 115 | 116 | .hljs-deletion { 117 | background: #ffc8bd; 118 | } 119 | 120 | .diff .hljs-change { 121 | background: #bccff9; 122 | } 123 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/zenburn.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Zenburn style from voldmar.ru (c) Vladimir Epifanov 4 | based on dark.css by Ivan Sagalaev 5 | 6 | */ 7 | 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #3f3f3f; 13 | color: #dcdcdc; 14 | -webkit-text-size-adjust: none; 15 | } 16 | 17 | .hljs-keyword, 18 | .hljs-tag, 19 | .css .hljs-class, 20 | .css .hljs-id, 21 | .lisp .hljs-title, 22 | .nginx .hljs-title, 23 | .hljs-request, 24 | .hljs-status, 25 | .clojure .hljs-attribute { 26 | color: #e3ceab; 27 | } 28 | 29 | .django .hljs-template_tag, 30 | .django .hljs-variable, 31 | .django .hljs-filter .hljs-argument { 32 | color: #dcdcdc; 33 | } 34 | 35 | .hljs-number, 36 | .hljs-date { 37 | color: #8cd0d3; 38 | } 39 | 40 | .dos .hljs-envvar, 41 | .dos .hljs-stream, 42 | .hljs-variable, 43 | .apache .hljs-sqbracket, 44 | .hljs-name { 45 | color: #efdcbc; 46 | } 47 | 48 | .dos .hljs-flow, 49 | .diff .hljs-change, 50 | .python .exception, 51 | .python .hljs-built_in, 52 | .hljs-literal, 53 | .tex .hljs-special { 54 | color: #efefaf; 55 | } 56 | 57 | .diff .hljs-chunk, 58 | .hljs-subst { 59 | color: #8f8f8f; 60 | } 61 | 62 | .dos .hljs-keyword, 63 | .hljs-decorator, 64 | .hljs-title, 65 | .hljs-type, 66 | .diff .hljs-header, 67 | .ruby .hljs-class .hljs-parent, 68 | .apache .hljs-tag, 69 | .nginx .hljs-built_in, 70 | .tex .hljs-command, 71 | .hljs-prompt { 72 | color: #efef8f; 73 | } 74 | 75 | .dos .hljs-winutils, 76 | .ruby .hljs-symbol, 77 | .ruby .hljs-symbol .hljs-string, 78 | .ruby .hljs-string { 79 | color: #dca3a3; 80 | } 81 | 82 | .diff .hljs-deletion, 83 | .hljs-string, 84 | .hljs-tag .hljs-value, 85 | .hljs-preprocessor, 86 | .hljs-pragma, 87 | .hljs-built_in, 88 | .smalltalk .hljs-class, 89 | .smalltalk .hljs-localvars, 90 | .smalltalk .hljs-array, 91 | .css .hljs-rule .hljs-value, 92 | .hljs-attr_selector, 93 | .hljs-pseudo, 94 | .apache .hljs-cbracket, 95 | .tex .hljs-formula, 96 | .coffeescript .hljs-attribute { 97 | color: #cc9393; 98 | } 99 | 100 | .hljs-shebang, 101 | .diff .hljs-addition, 102 | .hljs-comment, 103 | .hljs-annotation, 104 | .hljs-pi, 105 | .hljs-doctype { 106 | color: #7f9f7f; 107 | } 108 | 109 | .coffeescript .javascript, 110 | .javascript .xml, 111 | .tex .hljs-formula, 112 | .xml .javascript, 113 | .xml .vbscript, 114 | .xml .css, 115 | .xml .hljs-cdata { 116 | opacity: 0.5; 117 | } 118 | 119 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/magula.css: -------------------------------------------------------------------------------- 1 | /* 2 | Description: Magula style for highligh.js 3 | Author: Ruslan Keba 4 | Website: http://rukeba.com/ 5 | Version: 1.0 6 | Date: 2009-01-03 7 | Music: Aphex Twin / Xtal 8 | */ 9 | 10 | .hljs { 11 | display: block; 12 | overflow-x: auto; 13 | padding: 0.5em; 14 | background-color: #f4f4f4; 15 | -webkit-text-size-adjust: none; 16 | } 17 | 18 | .hljs, 19 | .hljs-subst { 20 | color: black; 21 | } 22 | 23 | .hljs-string, 24 | .hljs-title, 25 | .hljs-parent, 26 | .hljs-tag .hljs-value, 27 | .hljs-rule .hljs-value, 28 | .hljs-preprocessor, 29 | .hljs-pragma, 30 | .ruby .hljs-symbol, 31 | .ruby .hljs-symbol .hljs-string, 32 | .hljs-template_tag, 33 | .django .hljs-variable, 34 | .smalltalk .hljs-class, 35 | .hljs-addition, 36 | .hljs-flow, 37 | .hljs-stream, 38 | .bash .hljs-variable, 39 | .apache .hljs-cbracket, 40 | .coffeescript .hljs-attribute { 41 | color: #050; 42 | } 43 | 44 | .hljs-comment, 45 | .hljs-annotation, 46 | .diff .hljs-header, 47 | .hljs-chunk { 48 | color: #777; 49 | } 50 | 51 | .hljs-number, 52 | .hljs-date, 53 | .hljs-regexp, 54 | .hljs-literal, 55 | .hljs-name, 56 | .smalltalk .hljs-symbol, 57 | .smalltalk .hljs-char, 58 | .hljs-change, 59 | .tex .hljs-special { 60 | color: #800; 61 | } 62 | 63 | .hljs-label, 64 | .ruby .hljs-string, 65 | .hljs-decorator, 66 | .hljs-filter .hljs-argument, 67 | .hljs-localvars, 68 | .hljs-array, 69 | .hljs-attr_selector, 70 | .hljs-pseudo, 71 | .hljs-pi, 72 | .hljs-doctype, 73 | .hljs-deletion, 74 | .hljs-envvar, 75 | .hljs-shebang, 76 | .apache .hljs-sqbracket, 77 | .nginx .hljs-built_in, 78 | .tex .hljs-formula, 79 | .hljs-prompt, 80 | .clojure .hljs-attribute { 81 | color: #00e; 82 | } 83 | 84 | .hljs-keyword, 85 | .hljs-id, 86 | .hljs-doctag, 87 | .hljs-title, 88 | .hljs-built_in, 89 | .smalltalk .hljs-class, 90 | .hljs-winutils, 91 | .bash .hljs-variable, 92 | .apache .hljs-tag, 93 | .xml .hljs-tag, 94 | .tex .hljs-command, 95 | .hljs-request, 96 | .hljs-status { 97 | font-weight: bold; 98 | color: navy; 99 | } 100 | 101 | .nginx .hljs-built_in { 102 | font-weight: normal; 103 | } 104 | 105 | .coffeescript .javascript, 106 | .javascript .xml, 107 | .tex .hljs-formula, 108 | .xml .javascript, 109 | .xml .vbscript, 110 | .xml .css, 111 | .xml .hljs-cdata { 112 | opacity: 0.5; 113 | } 114 | 115 | /* --- */ 116 | .apache .hljs-tag { 117 | font-weight: bold; 118 | color: blue; 119 | } 120 | 121 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/school_book.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | School Book style from goldblog.com.ua (c) Zaripov Yura 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 15px 0.5em 0.5em 30px; 11 | font-size: 11px !important; 12 | line-height:16px !important; 13 | -webkit-text-size-adjust: none; 14 | } 15 | 16 | pre{ 17 | background:#f6f6ae url(./school_book.png); 18 | border-top: solid 2px #d2e8b9; 19 | border-bottom: solid 1px #d2e8b9; 20 | } 21 | 22 | .hljs-keyword, 23 | .hljs-literal, 24 | .hljs-change, 25 | .hljs-winutils, 26 | .hljs-flow, 27 | .nginx .hljs-title, 28 | .tex .hljs-special { 29 | color:#005599; 30 | font-weight:bold; 31 | } 32 | 33 | .hljs, 34 | .hljs-subst, 35 | .hljs-tag .hljs-keyword { 36 | color: #3e5915; 37 | } 38 | 39 | .hljs-string, 40 | .hljs-title, 41 | .hljs-type, 42 | .hljs-tag .hljs-value, 43 | .css .hljs-rule .hljs-value, 44 | .hljs-preprocessor, 45 | .hljs-pragma, 46 | .ruby .hljs-symbol, 47 | .ruby .hljs-symbol .hljs-string, 48 | .ruby .hljs-class .hljs-parent, 49 | .hljs-built_in, 50 | .django .hljs-template_tag, 51 | .django .hljs-variable, 52 | .smalltalk .hljs-class, 53 | .ruby .hljs-string, 54 | .django .hljs-filter .hljs-argument, 55 | .smalltalk .hljs-localvars, 56 | .smalltalk .hljs-array, 57 | .hljs-attr_selector, 58 | .hljs-pseudo, 59 | .hljs-addition, 60 | .hljs-stream, 61 | .hljs-envvar, 62 | .apache .hljs-tag, 63 | .apache .hljs-cbracket, 64 | .nginx .hljs-built_in, 65 | .tex .hljs-command, 66 | .coffeescript .hljs-attribute, 67 | .hljs-name { 68 | color: #2c009f; 69 | } 70 | 71 | .hljs-comment, 72 | .hljs-annotation, 73 | .hljs-decorator, 74 | .hljs-pi, 75 | .hljs-doctype, 76 | .hljs-deletion, 77 | .hljs-shebang, 78 | .apache .hljs-sqbracket { 79 | color: #e60415; 80 | } 81 | 82 | .hljs-keyword, 83 | .hljs-literal, 84 | .css .hljs-id, 85 | .hljs-doctag, 86 | .hljs-title, 87 | .hljs-type, 88 | .vbscript .hljs-built_in, 89 | .rsl .hljs-built_in, 90 | .smalltalk .hljs-class, 91 | .xml .hljs-tag .hljs-title, 92 | .diff .hljs-header, 93 | .hljs-chunk, 94 | .hljs-winutils, 95 | .bash .hljs-variable, 96 | .apache .hljs-tag, 97 | .tex .hljs-command, 98 | .hljs-request, 99 | .hljs-status { 100 | font-weight: bold; 101 | } 102 | 103 | .coffeescript .javascript, 104 | .javascript .xml, 105 | .tex .hljs-formula, 106 | .xml .javascript, 107 | .xml .vbscript, 108 | .xml .css, 109 | .xml .hljs-cdata { 110 | opacity: 0.5; 111 | } 112 | -------------------------------------------------------------------------------- /public/stylesheets/sass/bourbon/css3/_transition.scss: -------------------------------------------------------------------------------- 1 | // Shorthand mixin. Supports multiple parentheses-deliminated values for each variable. 2 | // Example: @include transition (all 2s ease-in-out); 3 | // @include transition (opacity 1s ease-in 2s, width 2s ease-out); 4 | // @include transition-property (transform, opacity); 5 | 6 | @mixin transition($properties...) { 7 | // Fix for vendor-prefix transform property 8 | $needs-prefixes: false; 9 | $webkit: (); 10 | $moz: (); 11 | $spec: (); 12 | 13 | // Create lists for vendor-prefixed transform 14 | @each $list in $properties { 15 | @if nth($list, 1) == "transform" { 16 | $needs-prefixes: true; 17 | $list1: -webkit-transform; 18 | $list2: -moz-transform; 19 | $list3: (); 20 | 21 | @each $var in $list { 22 | $list3: join($list3, $var); 23 | 24 | @if $var != "transform" { 25 | $list1: join($list1, $var); 26 | $list2: join($list2, $var); 27 | } 28 | } 29 | 30 | $webkit: append($webkit, $list1); 31 | $moz: append($moz, $list2); 32 | $spec: append($spec, $list3); 33 | } @else { 34 | $webkit: append($webkit, $list, comma); 35 | $moz: append($moz, $list, comma); 36 | $spec: append($spec, $list, comma); 37 | } 38 | } 39 | 40 | @if $needs-prefixes { 41 | -webkit-transition: $webkit; 42 | -moz-transition: $moz; 43 | transition: $spec; 44 | } @else { 45 | @if length($properties) >= 1 { 46 | @include prefixer(transition, $properties, webkit moz spec); 47 | } @else { 48 | $properties: all 0.15s ease-out 0s; 49 | @include prefixer(transition, $properties, webkit moz spec); 50 | } 51 | } 52 | } 53 | 54 | @mixin transition-property($properties...) { 55 | -webkit-transition-property: transition-property-names($properties, "webkit"); 56 | -moz-transition-property: transition-property-names($properties, "moz"); 57 | transition-property: transition-property-names($properties, false); 58 | } 59 | 60 | @mixin transition-duration($times...) { 61 | @include prefixer(transition-duration, $times, webkit moz spec); 62 | } 63 | 64 | @mixin transition-timing-function($motions...) { 65 | // ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier() 66 | @include prefixer(transition-timing-function, $motions, webkit moz spec); 67 | } 68 | 69 | @mixin transition-delay($times...) { 70 | @include prefixer(transition-delay, $times, webkit moz spec); 71 | } 72 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/atelier-cave.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Cave Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Cave Comment */ 6 | .hljs-comment { 7 | color: #7e7887; 8 | } 9 | 10 | /* Atelier-Cave Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #be4678; 25 | } 26 | 27 | /* Atelier-Cave Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #aa573c; 35 | } 36 | 37 | /* Atelier-Cave Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #a06e3b; 41 | } 42 | 43 | /* Atelier-Cave Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #2a9292; 51 | } 52 | 53 | /* Atelier-Cave Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #398bc6; 57 | } 58 | 59 | /* Atelier-Cave Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #576ddb; 69 | } 70 | 71 | /* Atelier-Cave Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #955ae7; 75 | } 76 | 77 | .diff .hljs-deletion, 78 | .diff .hljs-addition { 79 | color: #19171c; 80 | display: inline-block; 81 | width: 100%; 82 | } 83 | 84 | .diff .hljs-deletion { 85 | background-color: #be4678; 86 | } 87 | 88 | .diff .hljs-addition { 89 | background-color: #2a9292; 90 | } 91 | 92 | .diff .hljs-change { 93 | color: #576ddb; 94 | } 95 | 96 | .hljs { 97 | display: block; 98 | overflow-x: auto; 99 | background: #19171c; 100 | color: #8b8792; 101 | padding: 0.5em; 102 | -webkit-text-size-adjust: none; 103 | } 104 | 105 | .coffeescript .javascript, 106 | .javascript .xml, 107 | .tex .hljs-formula, 108 | .xml .javascript, 109 | .xml .vbscript, 110 | .xml .css, 111 | .xml .hljs-cdata { 112 | opacity: 0.5; 113 | } 114 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/atelier-cave.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Cave Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Cave Comment */ 6 | .hljs-comment { 7 | color: #655f6d; 8 | } 9 | 10 | /* Atelier-Cave Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #be4678; 25 | } 26 | 27 | /* Atelier-Cave Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #aa573c; 35 | } 36 | 37 | /* Atelier-Cave Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #a06e3b; 41 | } 42 | 43 | /* Atelier-Cave Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #2a9292; 51 | } 52 | 53 | /* Atelier-Cave Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #398bc6; 57 | } 58 | 59 | /* Atelier-Cave Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #576ddb; 69 | } 70 | 71 | /* Atelier-Cave Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #955ae7; 75 | } 76 | 77 | .diff .hljs-deletion, 78 | .diff .hljs-addition { 79 | color: #19171c; 80 | display: inline-block; 81 | width: 100%; 82 | } 83 | 84 | .diff .hljs-deletion { 85 | background-color: #be4678; 86 | } 87 | 88 | .diff .hljs-addition { 89 | background-color: #2a9292; 90 | } 91 | 92 | .diff .hljs-change { 93 | color: #576ddb; 94 | } 95 | 96 | .hljs { 97 | display: block; 98 | overflow-x: auto; 99 | background: #efecf4; 100 | color: #585260; 101 | padding: 0.5em; 102 | -webkit-text-size-adjust: none; 103 | } 104 | 105 | .coffeescript .javascript, 106 | .javascript .xml, 107 | .tex .hljs-formula, 108 | .xml .javascript, 109 | .xml .vbscript, 110 | .xml .css, 111 | .xml .hljs-cdata { 112 | opacity: 0.5; 113 | } 114 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/docco.css: -------------------------------------------------------------------------------- 1 | /* 2 | Docco style used in http://jashkenas.github.com/docco/ converted by Simon Madine (@thingsinjars) 3 | */ 4 | 5 | .hljs { 6 | display: block; 7 | overflow-x: auto; 8 | padding: 0.5em; 9 | color: #000; 10 | background: #f8f8ff; 11 | -webkit-text-size-adjust: none; 12 | } 13 | 14 | .hljs-comment, 15 | .diff .hljs-header { 16 | color: #408080; 17 | font-style: italic; 18 | } 19 | 20 | .hljs-keyword, 21 | .assignment, 22 | .hljs-literal, 23 | .css .rule .hljs-keyword, 24 | .hljs-winutils, 25 | .javascript .hljs-title, 26 | .lisp .hljs-title, 27 | .hljs-subst { 28 | color: #954121; 29 | } 30 | 31 | .hljs-number, 32 | .hljs-hexcolor { 33 | color: #40a070; 34 | } 35 | 36 | .hljs-string, 37 | .hljs-tag .hljs-value, 38 | .hljs-doctag, 39 | .tex .hljs-formula, 40 | .hljs-name { 41 | color: #219161; 42 | } 43 | 44 | .hljs-title, 45 | .hljs-id { 46 | color: #19469d; 47 | } 48 | .hljs-params { 49 | color: #00f; 50 | } 51 | 52 | .javascript .hljs-title, 53 | .lisp .hljs-title, 54 | .hljs-subst { 55 | font-weight: normal; 56 | } 57 | 58 | .hljs-class .hljs-title, 59 | .haskell .hljs-label, 60 | .tex .hljs-command { 61 | color: #458; 62 | font-weight: bold; 63 | } 64 | 65 | .hljs-tag, 66 | .hljs-tag .hljs-title, 67 | .hljs-rule .hljs-property, 68 | .django .hljs-tag .hljs-keyword { 69 | color: #000080; 70 | font-weight: normal; 71 | } 72 | 73 | .hljs-attribute, 74 | .hljs-variable, 75 | .instancevar, 76 | .lisp .hljs-body { 77 | color: #008080; 78 | } 79 | 80 | .hljs-regexp { 81 | color: #b68; 82 | } 83 | 84 | .hljs-class { 85 | color: #458; 86 | font-weight: bold; 87 | } 88 | 89 | .hljs-symbol, 90 | .ruby .hljs-symbol .hljs-string, 91 | .ruby .hljs-symbol .hljs-keyword, 92 | .ruby .hljs-symbol .keymethods, 93 | .lisp .hljs-keyword, 94 | .tex .hljs-special, 95 | .input_number { 96 | color: #990073; 97 | } 98 | 99 | .builtin, 100 | .constructor, 101 | .hljs-built_in, 102 | .lisp .hljs-title { 103 | color: #0086b3; 104 | } 105 | 106 | .hljs-preprocessor, 107 | .hljs-pragma, 108 | .hljs-pi, 109 | .hljs-doctype, 110 | .hljs-shebang, 111 | .hljs-cdata { 112 | color: #999; 113 | font-weight: bold; 114 | } 115 | 116 | .hljs-deletion { 117 | background: #fdd; 118 | } 119 | 120 | .hljs-addition { 121 | background: #dfd; 122 | } 123 | 124 | .diff .hljs-change { 125 | background: #0086b3; 126 | } 127 | 128 | .hljs-chunk { 129 | color: #aaa; 130 | } 131 | 132 | .tex .hljs-formula { 133 | opacity: 0.5; 134 | } 135 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/atelier-estuary.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Estuary Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Estuary Comment */ 6 | .hljs-comment { 7 | color: #878573; 8 | } 9 | 10 | /* Atelier-Estuary Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #ba6236; 25 | } 26 | 27 | /* Atelier-Estuary Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #ae7313; 35 | } 36 | 37 | /* Atelier-Estuary Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #a5980d; 41 | } 42 | 43 | /* Atelier-Estuary Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #7d9726; 51 | } 52 | 53 | /* Atelier-Estuary Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #5b9d48; 57 | } 58 | 59 | /* Atelier-Estuary Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #36a166; 69 | } 70 | 71 | /* Atelier-Estuary Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #5f9182; 75 | } 76 | 77 | .diff .hljs-deletion, 78 | .diff .hljs-addition { 79 | color: #22221b; 80 | display: inline-block; 81 | width: 100%; 82 | } 83 | 84 | .diff .hljs-deletion { 85 | background-color: #ba6236; 86 | } 87 | 88 | .diff .hljs-addition { 89 | background-color: #7d9726; 90 | } 91 | 92 | .diff .hljs-change { 93 | color: #36a166; 94 | } 95 | 96 | .hljs { 97 | display: block; 98 | overflow-x: auto; 99 | background: #22221b; 100 | color: #929181; 101 | padding: 0.5em; 102 | -webkit-text-size-adjust: none; 103 | } 104 | 105 | .coffeescript .javascript, 106 | .javascript .xml, 107 | .tex .hljs-formula, 108 | .xml .javascript, 109 | .xml .vbscript, 110 | .xml .css, 111 | .xml .hljs-cdata { 112 | opacity: 0.5; 113 | } 114 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/atelier-estuary.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Estuary Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Estuary Comment */ 6 | .hljs-comment { 7 | color: #6c6b5a; 8 | } 9 | 10 | /* Atelier-Estuary Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #ba6236; 25 | } 26 | 27 | /* Atelier-Estuary Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #ae7313; 35 | } 36 | 37 | /* Atelier-Estuary Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #a5980d; 41 | } 42 | 43 | /* Atelier-Estuary Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #7d9726; 51 | } 52 | 53 | /* Atelier-Estuary Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #5b9d48; 57 | } 58 | 59 | /* Atelier-Estuary Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #36a166; 69 | } 70 | 71 | /* Atelier-Estuary Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #5f9182; 75 | } 76 | 77 | .diff .hljs-deletion, 78 | .diff .hljs-addition { 79 | color: #22221b; 80 | display: inline-block; 81 | width: 100%; 82 | } 83 | 84 | .diff .hljs-deletion { 85 | background-color: #ba6236; 86 | } 87 | 88 | .diff .hljs-addition { 89 | background-color: #7d9726; 90 | } 91 | 92 | .diff .hljs-change { 93 | color: #36a166; 94 | } 95 | 96 | .hljs { 97 | display: block; 98 | overflow-x: auto; 99 | background: #f4f3ec; 100 | color: #5f5e4e; 101 | padding: 0.5em; 102 | -webkit-text-size-adjust: none; 103 | } 104 | 105 | .coffeescript .javascript, 106 | .javascript .xml, 107 | .tex .hljs-formula, 108 | .xml .javascript, 109 | .xml .vbscript, 110 | .xml .css, 111 | .xml .hljs-cdata { 112 | opacity: 0.5; 113 | } 114 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/atelier-plateau.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Plateau Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Plateau Comment */ 6 | .hljs-comment { 7 | color: #7e7777; 8 | } 9 | 10 | /* Atelier-Plateau Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #ca4949; 25 | } 26 | 27 | /* Atelier-Plateau Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #b45a3c; 35 | } 36 | 37 | /* Atelier-Plateau Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #a06e3b; 41 | } 42 | 43 | /* Atelier-Plateau Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #4b8b8b; 51 | } 52 | 53 | /* Atelier-Plateau Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #5485b6; 57 | } 58 | 59 | /* Atelier-Plateau Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #7272ca; 69 | } 70 | 71 | /* Atelier-Plateau Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #8464c4; 75 | } 76 | 77 | .diff .hljs-deletion, 78 | .diff .hljs-addition { 79 | color: #1b1818; 80 | display: inline-block; 81 | width: 100%; 82 | } 83 | 84 | .diff .hljs-deletion { 85 | background-color: #ca4949; 86 | } 87 | 88 | .diff .hljs-addition { 89 | background-color: #4b8b8b; 90 | } 91 | 92 | .diff .hljs-change { 93 | color: #7272ca; 94 | } 95 | 96 | .hljs { 97 | display: block; 98 | overflow-x: auto; 99 | background: #1b1818; 100 | color: #8a8585; 101 | padding: 0.5em; 102 | -webkit-text-size-adjust: none; 103 | } 104 | 105 | .coffeescript .javascript, 106 | .javascript .xml, 107 | .tex .hljs-formula, 108 | .xml .javascript, 109 | .xml .vbscript, 110 | .xml .css, 111 | .xml .hljs-cdata { 112 | opacity: 0.5; 113 | } 114 | -------------------------------------------------------------------------------- /public/stylesheets/highlightjs/atelier-plateau.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Plateau Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Plateau Comment */ 6 | .hljs-comment { 7 | color: #655d5d; 8 | } 9 | 10 | /* Atelier-Plateau Red */ 11 | .hljs-variable, 12 | .hljs-attribute, 13 | .hljs-tag, 14 | .hljs-regexp, 15 | .hljs-name, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #ca4949; 25 | } 26 | 27 | /* Atelier-Plateau Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-params, 33 | .hljs-constant { 34 | color: #b45a3c; 35 | } 36 | 37 | /* Atelier-Plateau Yellow */ 38 | .ruby .hljs-class .hljs-title, 39 | .css .hljs-rule .hljs-attribute { 40 | color: #a06e3b; 41 | } 42 | 43 | /* Atelier-Plateau Green */ 44 | .hljs-string, 45 | .hljs-value, 46 | .hljs-inheritance, 47 | .hljs-header, 48 | .ruby .hljs-symbol, 49 | .xml .hljs-cdata { 50 | color: #4b8b8b; 51 | } 52 | 53 | /* Atelier-Plateau Aqua */ 54 | .hljs-title, 55 | .css .hljs-hexcolor { 56 | color: #5485b6; 57 | } 58 | 59 | /* Atelier-Plateau Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #7272ca; 69 | } 70 | 71 | /* Atelier-Plateau Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #8464c4; 75 | } 76 | 77 | .diff .hljs-deletion, 78 | .diff .hljs-addition { 79 | color: #1b1818; 80 | display: inline-block; 81 | width: 100%; 82 | } 83 | 84 | .diff .hljs-deletion { 85 | background-color: #ca4949; 86 | } 87 | 88 | .diff .hljs-addition { 89 | background-color: #4b8b8b; 90 | } 91 | 92 | .diff .hljs-change { 93 | color: #7272ca; 94 | } 95 | 96 | .hljs { 97 | display: block; 98 | overflow-x: auto; 99 | background: #f4ecec; 100 | color: #585050; 101 | padding: 0.5em; 102 | -webkit-text-size-adjust: none; 103 | } 104 | 105 | .coffeescript .javascript, 106 | .javascript .xml, 107 | .tex .hljs-formula, 108 | .xml .javascript, 109 | .xml .vbscript, 110 | .xml .css, 111 | .xml .hljs-cdata { 112 | opacity: 0.5; 113 | } 114 | --------------------------------------------------------------------------------