├── .ruby-version ├── .bowerrc ├── source ├── favicon.ico ├── assets │ ├── stylesheets │ │ ├── base │ │ │ ├── extends │ │ │ │ ├── _clearfix.scss │ │ │ │ ├── _hide-text.scss │ │ │ │ ├── _errors.scss │ │ │ │ ├── _button.scss │ │ │ │ └── _flashes.scss │ │ │ ├── _buttons.scss │ │ │ ├── _base.scss │ │ │ ├── _tables.scss │ │ │ ├── _lists.scss │ │ │ ├── _forms.scss │ │ │ ├── _typography.scss │ │ │ ├── _grids.scss │ │ │ └── _variables.scss │ │ ├── app.scss │ │ ├── patterns │ │ │ ├── _footer.scss │ │ │ ├── _signup.scss │ │ │ └── _families-list.scss │ │ └── pages │ │ │ └── _index.scss │ ├── images │ │ ├── icon.png │ │ └── github.svg │ └── javascripts │ │ └── all.coffee ├── partials │ ├── _footer.haml │ ├── _navigation.haml │ └── _ralph.erb ├── layouts │ └── layout.haml └── index.haml ├── Rakefile ├── gulpfile.js ├── lib ├── gallery.rb ├── foundry-fellowly │ ├── fellowly-017.svg │ ├── fellowly-068.svg │ ├── fellowly-054.svg │ ├── fellowly-067.svg │ ├── fellowly-012.svg │ ├── fellowly-060.svg │ ├── fellowly-022.svg │ ├── fellowly-055.svg │ ├── fellowly-071.svg │ ├── fellowly-016.svg │ ├── fellowly-088.svg │ ├── fellowly-036.svg │ ├── fellowly-096.svg │ ├── fellowly-081.svg │ ├── fellowly-009.svg │ ├── fellowly-011.svg │ ├── fellowly-044.svg │ ├── fellowly-031.svg │ ├── fellowly-019.svg │ ├── fellowly-062.svg │ ├── fellowly-040.svg │ ├── fellowly-065.svg │ ├── fellowly-026.svg │ ├── fellowly-056.svg │ ├── fellowly-015.svg │ ├── fellowly-053.svg │ ├── fellowly-050.svg │ ├── fellowly-014.svg │ ├── fellowly-092.svg │ ├── fellowly-079.svg │ ├── fellowly-005.svg │ ├── fellowly-073.svg │ ├── fellowly-028.svg │ ├── fellowly-058.svg │ ├── fellowly-091.svg │ ├── fellowly-024.svg │ ├── fellowly-041.svg │ ├── fellowly-075.svg │ └── fellowly-001.svg ├── family.rb ├── foundry-progress │ ├── progress-001.svg │ ├── progress-002.svg │ ├── progress-006.svg │ ├── progress-003.svg │ ├── progress-007.svg │ ├── progress-004.svg │ ├── progress-008.svg │ └── progress-005.svg └── foundry-core │ ├── core-004-a.svg │ ├── core-003-a.svg │ ├── core-013-a.svg │ ├── core-001-a.svg │ ├── core-002-a.svg │ ├── core-003-b.svg │ ├── core-005-a.svg │ ├── core-005-b.svg │ ├── core-015-a.svg │ ├── core-008-a.svg │ ├── core-011-a.svg │ ├── core-009-a.svg │ └── core-008-b.svg ├── bower.json ├── Gemfile ├── .gitignore ├── package.json ├── data └── library.yml ├── LICENSE ├── config.rb ├── Gemfile.lock └── README.md /.ruby-version: -------------------------------------------------------------------------------- 1 | 2.1.5 2 | -------------------------------------------------------------------------------- /.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "source/assets/components/", 3 | "analytics": false 4 | } 5 | -------------------------------------------------------------------------------- /source/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thoughtbot/foundry/HEAD/source/favicon.ico -------------------------------------------------------------------------------- /source/assets/stylesheets/base/extends/_clearfix.scss: -------------------------------------------------------------------------------- 1 | %clearfix { 2 | @include clearfix; 3 | } 4 | -------------------------------------------------------------------------------- /source/assets/stylesheets/base/extends/_hide-text.scss: -------------------------------------------------------------------------------- 1 | %hide-text { 2 | @include hide-text; 3 | } 4 | -------------------------------------------------------------------------------- /source/assets/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thoughtbot/foundry/HEAD/source/assets/images/icon.png -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | # Add your own tasks in files placed in lib/tasks ending in .rake, 2 | # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. 3 | 4 | require 'middleman-gh-pages' 5 | -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var svgo = require('gulp-svgo'); 3 | 4 | gulp.task('default', function () { 5 | gulp.src('lib/*/**.svg') 6 | .pipe(svgo()) 7 | .pipe(gulp.dest('dist')); 8 | }); 9 | -------------------------------------------------------------------------------- /source/partials/_footer.haml: -------------------------------------------------------------------------------- 1 | %footer.page-footer 2 | = partial "partials/ralph" 3 | %h1.footer-title 4 | For a better web, by thoughtbot 5 | %a.footer-title-link.thoughtbot{ href: "http://thoughtbot.com" } 6 | thoughtbot.com 7 | -------------------------------------------------------------------------------- /source/assets/stylesheets/base/extends/_errors.scss: -------------------------------------------------------------------------------- 1 | %error { 2 | color: darken($error-color, 60); 3 | } 4 | 5 | %warning { 6 | color: darken($alert-color, 60); 7 | } 8 | 9 | %notice { 10 | color: darken($notice-color, 60); 11 | } 12 | -------------------------------------------------------------------------------- /source/partials/_navigation.haml: -------------------------------------------------------------------------------- 1 | %nav.page-navigation 2 | %ul.navigation-list 3 | %li.navigation-list-item 4 | = link_to "https://github.com/thoughtbot/foundry", class: "navigation-list-item-link" do 5 | = image_tag "github.svg" 6 | -------------------------------------------------------------------------------- /lib/gallery.rb: -------------------------------------------------------------------------------- 1 | class Gallery < Middleman::Extension 2 | def initialize(app, options_hash={}, &block) 3 | super 4 | end 5 | 6 | helpers do 7 | def families 8 | data.library.families.map do |_, family| 9 | Family.new(family) 10 | end 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /source/assets/stylesheets/base/_buttons.scss: -------------------------------------------------------------------------------- 1 | button, 2 | .button, 3 | input[type="submit"] { 4 | @extend %button; 5 | @include appearance(none); 6 | border: none; 7 | cursor: pointer; 8 | font-weight: 300; 9 | user-select: none; 10 | vertical-align: middle; 11 | white-space: nowrap; 12 | } 13 | -------------------------------------------------------------------------------- /source/assets/stylesheets/app.scss: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | @import url(//fonts.googleapis.com/css?family=Merriweather:400italic,400,900,300italic,300,700,700italic,900italic|Montserrat:400,700&subset=latin,latin-ext); 3 | 4 | // Core 5 | @import 'bourbon'; 6 | @import 'base/base'; 7 | 8 | // Patterns 9 | @import 'patterns/**/*'; 10 | 11 | // Views 12 | @import 'pages/**/*'; 13 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Foundry", 3 | "version": "0.0.8", 4 | "homepage": "https://thoughtbot.github.io/foundry", 5 | "authors": [ 6 | "Will H McMahan " 7 | ], 8 | "license": "MIT", 9 | "dependencies": { 10 | "foundry-core": "https://github.com/thoughtbot/foundry-core.git", 11 | "foundry-fellowly": "https://github.com/thoughtbot/foundry-fellowly.git" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /source/assets/stylesheets/base/_base.scss: -------------------------------------------------------------------------------- 1 | // Variables 2 | @import "variables"; 3 | 4 | // Extends 5 | @import "extends/button"; 6 | @import "extends/clearfix"; 7 | @import "extends/errors"; 8 | @import "extends/flashes"; 9 | @import "extends/hide-text"; 10 | 11 | // Typography and Elements 12 | @import "typography"; 13 | @import "forms"; 14 | @import "tables"; 15 | @import "lists"; 16 | @import "buttons"; 17 | @import "grids"; 18 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | # If you do not have OpenSSL installed, update 2 | # the following line to use "http://" instead 3 | source 'https://rubygems.org' 4 | 5 | gem "middleman", "~>3.3.7" 6 | 7 | # Live-reloading plugin 8 | gem "middleman-livereload", "~> 3.1.0" 9 | 10 | # Middleman GH-Pages 11 | gem 'middleman-gh-pages' 12 | 13 | # Bourbon 14 | gem 'bourbon' 15 | 16 | # Autoprefixer 17 | gem 'middleman-autoprefixer' 18 | 19 | gem 'sprockets' 20 | 21 | gem 'bower' 22 | -------------------------------------------------------------------------------- /source/assets/stylesheets/patterns/_footer.scss: -------------------------------------------------------------------------------- 1 | .page-footer { 2 | background-color: $thoughtbot-gray; 3 | color: $base-background-color; 4 | padding: 5em; 5 | } 6 | 7 | .footer-title { 8 | font-family: $base-font-family; 9 | font-size: $h5-font-size; 10 | padding-top: 1em; 11 | } 12 | 13 | .footer-title-link { 14 | color: $base-background-color; 15 | display: block; 16 | } 17 | 18 | .ralph { 19 | float: left; 20 | height: 5em; 21 | margin-right: 1em; 22 | width: 5em; 23 | } 24 | -------------------------------------------------------------------------------- /source/assets/stylesheets/base/_tables.scss: -------------------------------------------------------------------------------- 1 | table { 2 | border-collapse: collapse; 3 | margin: ($base-spacing / 2) 0; 4 | table-layout: fixed; 5 | width: 100%; 6 | } 7 | 8 | th { 9 | border-bottom: 1px solid darken($base-border-color, 15); 10 | font-weight: bold; 11 | padding: ($base-spacing / 2) 0; 12 | text-align: left; 13 | } 14 | 15 | td { 16 | border-bottom: $base-border; 17 | padding: ($base-spacing / 2) 0; 18 | } 19 | 20 | tr, 21 | td, 22 | th { 23 | vertical-align: middle; 24 | } 25 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-017.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /source/assets/javascripts/all.coffee: -------------------------------------------------------------------------------- 1 | $ -> 2 | container = $("[data-toggle-container]") 3 | toggler = $("[data-toggle]") 4 | 5 | toggler.on "click", -> 6 | container.toggleClass("more") 7 | container.toggleClass("less") 8 | 9 | $("[data-toggle='more']").on "click", -> 10 | $("[data-toggle-content='less']").fadeOut(400) 11 | $("[data-toggle-content='more']").delay(400).fadeIn(400) 12 | 13 | $("[data-toggle='less']").on "click", -> 14 | $("[data-toggle-content='more']").fadeOut(400) 15 | $("[data-toggle-content='less']").delay(400).fadeIn(400) 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | # 3 | # If you find yourself ignoring temporary files generated by your text editor 4 | # or operating system, you probably want to add a global ignore instead: 5 | # git config --global core.excludesfile ~/.gitignore_global 6 | 7 | # Ignore bundler config 8 | /.bundle 9 | 10 | # Ignore the build directory 11 | /build 12 | 13 | # Ignore the components directory 14 | /source/assets/components 15 | 16 | # Ignore cache 17 | /.sass-cache 18 | /.cache 19 | 20 | # Ignore .DS_store file 21 | .DS_Store 22 | -------------------------------------------------------------------------------- /lib/family.rb: -------------------------------------------------------------------------------- 1 | class Family 2 | SVG_BASE = "lib/" 3 | 4 | attr_reader :name, :path, :repo_url, :description, :title, :author_handle, :author_url 5 | 6 | def initialize(attributes) 7 | @title = attributes.fetch("title") 8 | @path = attributes.fetch("path") 9 | @repo_url = attributes.fetch("repo_url") 10 | @description = attributes.fetch("description") 11 | @author_handle = attributes.fetch("author_handle") 12 | @author_url = attributes.fetch("author_url") 13 | end 14 | 15 | def files 16 | Dir.entries(SVG_BASE + path) - [".", ".."] 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /source/assets/stylesheets/base/extends/_button.scss: -------------------------------------------------------------------------------- 1 | %button { 2 | -webkit-font-smoothing: antialiased; 3 | background-color: $base-button-color; 4 | border-radius: 0; 5 | color: white; 6 | display: inline-block; 7 | font-family: $base-font-family; 8 | font-size: $base-font-size; 9 | font-weight: bold; 10 | line-height: 1; 11 | padding: 0.75em 1.5em; 12 | text-decoration: none; 13 | 14 | &:hover { 15 | background-color: $hover-button-color; 16 | color: white; 17 | } 18 | 19 | &:disabled { 20 | cursor: not-allowed; 21 | opacity: 0.5; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /lib/foundry-progress/progress-001.svg: -------------------------------------------------------------------------------- 1 | 8 | 12 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /source/assets/stylesheets/base/_lists.scss: -------------------------------------------------------------------------------- 1 | ul, 2 | ol { 3 | margin: 0; 4 | padding: 0; 5 | list-style-type: none; 6 | 7 | &%default-ul { 8 | list-style-type: disc; 9 | margin-bottom: $base-spacing / 2; 10 | padding-left: $base-spacing; 11 | } 12 | 13 | &%default-ol { 14 | list-style-type: decimal; 15 | margin-bottom: $base-spacing / 2; 16 | padding-left: $base-spacing; 17 | } 18 | } 19 | 20 | dl { 21 | margin-bottom: $base-spacing / 2; 22 | 23 | dt { 24 | font-weight: bold; 25 | margin-top: $base-spacing / 2; 26 | } 27 | 28 | dd { 29 | margin: 0; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Foundry", 3 | "version": "0.0.8", 4 | "description": "Providing a new generation of vector assets and infinite possibility for the interactive web and mobile applications", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/thoughtbot/foundry.git" 8 | }, 9 | "keywords": [ 10 | "svg", 11 | "illustration", 12 | "love" 13 | ], 14 | "authors": [ 15 | "Will H McMahan " 16 | ], 17 | "license": "MIT", 18 | "bugs": { 19 | "url": "https://github.com/thoughtbot/foundry/issues" 20 | }, 21 | "homepage": "https://thoughtbot.github.io/foundry" 22 | } 23 | -------------------------------------------------------------------------------- /lib/foundry-progress/progress-002.svg: -------------------------------------------------------------------------------- 1 | 8 | 12 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /source/assets/stylesheets/base/extends/_flashes.scss: -------------------------------------------------------------------------------- 1 | @mixin flash($color) { 2 | background: $color; 3 | color: darken($color, 60); 4 | 5 | a { 6 | color: darken($color, 70); 7 | 8 | &:hover { 9 | color: darken($color, 90); 10 | } 11 | } 12 | } 13 | 14 | %flash-base { 15 | font-weight: bold; 16 | margin-bottom: $base-spacing / 2; 17 | padding: $base-spacing / 2; 18 | } 19 | 20 | %flash-alert { 21 | @extend %flash-base; 22 | @include flash($alert-color); 23 | } 24 | 25 | %flash-error { 26 | @extend %flash-base; 27 | @include flash($error-color); 28 | } 29 | 30 | %flash-notice { 31 | @extend %flash-base; 32 | @include flash($notice-color); 33 | } 34 | 35 | %flash-success { 36 | @extend %flash-base; 37 | @include flash($success-color); 38 | } 39 | -------------------------------------------------------------------------------- /lib/foundry-core/core-004-a.svg: -------------------------------------------------------------------------------- 1 | 3 | Tablet 4 | A tablet computer with a blank screen 5 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /source/assets/stylesheets/patterns/_signup.scss: -------------------------------------------------------------------------------- 1 | .signup { 2 | border: 1px solid $page-header-color; 3 | color: $base-font-color; 4 | max-width: $row-width; 5 | padding-bottom: 4em; 6 | padding: 1em; 7 | position: relative; 8 | 9 | @media #{$small} { 10 | margin: 1em 1em 0 1em; 11 | padding: 3em; 12 | } 13 | 14 | @media #{$large} { 15 | margin: 1em auto 0; 16 | } 17 | 18 | &_form { 19 | max-width: 35em; 20 | margin: 0 auto; 21 | } 22 | 23 | &_label, 24 | input#{&}_input, 25 | input#{&}_submit { 26 | float: left; 27 | width: 100%; 28 | } 29 | 30 | @media #{$small} { 31 | 32 | input#{&}_input { 33 | line-height: 1.4; 34 | width: 66.66%; 35 | } 36 | 37 | input#{&}_submit { 38 | width: 33.33%; 39 | } 40 | } 41 | 42 | input#{&}_input { 43 | border-radius: 0; 44 | border: 1px solid $page-header-color; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /data/library.yml: -------------------------------------------------------------------------------- 1 | families: 2 | foundrycore: 3 | title: "Foundry Core" 4 | repo_url: "https://github.com/thoughtbot/foundry-core.git" 5 | description: "The first family of Foundry ∞." 6 | path: "/foundry-core/" 7 | author_handle: "@whmii" 8 | author_url: "https://twitter.com/whmii" 9 | foundry-progress: 10 | title: "Progress" 11 | repo_url: "https://github.com/thoughtbot/foundry-progress.git" 12 | description: "A family of animated spinners, loaders and progress bars." 13 | path: "/foundry-progress/" 14 | author_handle: "@joshuaogle" 15 | author_url: "https://twitter.com/joshuaogle" 16 | foundry-fellowly: 17 | title: "Fellowly" 18 | repo_url: "https://github.com/thoughtbot/foundry-fellowly.git" 19 | description: "The second family of Foundry ∞, built for health and happiness." 20 | path: "/foundry-fellowly/" 21 | author_handle: "@whmii" 22 | author_url: "https://twitter.com/whmii" 23 | -------------------------------------------------------------------------------- /lib/foundry-core/core-003-a.svg: -------------------------------------------------------------------------------- 1 | 3 | Computer monitor 4 | A computer monitor with a blank screen 5 | 7 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /lib/foundry-core/core-013-a.svg: -------------------------------------------------------------------------------- 1 | 3 | Folder 4 | An empty blue folder with a tab on the top left 5 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /lib/foundry-core/core-001-a.svg: -------------------------------------------------------------------------------- 1 | 3 | Laptop computer 4 | An open laptop computer with a blank screen 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-068.svg: -------------------------------------------------------------------------------- 1 | 3 | 5 | 7 | 9 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /lib/foundry-core/core-002-a.svg: -------------------------------------------------------------------------------- 1 | 3 | Desktop computer 4 | A desktop computer with a blank screen 5 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /lib/foundry-progress/progress-006.svg: -------------------------------------------------------------------------------- 1 | 8 | 14 | 21 | 22 | 28 | 35 | 36 | 42 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Foundry 2 | ======= 3 | 4 | Copyright © 2015 thoughtbot inc. 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-054.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 6 | 8 | 10 | 12 | 14 | 15 | -------------------------------------------------------------------------------- /source/layouts/layout.haml: -------------------------------------------------------------------------------- 1 | !!! 2 | %html 3 | %head 4 | %meta{ charset: "utf-8" } 5 | %meta{ content: "IE=edge,chrome=1", http: { equiv: "X-UA-Compatible" } } 6 | %meta{ name: "viewport", content: "width=device-width, initial-scale=1" } 7 | %meta{ name: "description", content: "A new generation of vector assets and infinite possibility for the interactive web." } 8 | %link{ rel: "icon", type: "image/png", href: "http://thoughtbot.github.io/foundry/assets/images/icon.png" } 9 | %title= current_page.data.title || "Foundry ∞" 10 | = stylesheet_link_tag "app" 11 | = javascript_include_tag "https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js" 12 | = javascript_include_tag "all" 13 | :javascript 14 | (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 15 | (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 16 | m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 17 | })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 18 | 19 | ga('create', 'UA-1485842-32', 'auto'); 20 | ga('send', 'pageview'); 21 | 22 | %body{ class: page_classes } 23 | = yield 24 | -------------------------------------------------------------------------------- /source/assets/images/github.svg: -------------------------------------------------------------------------------- 1 | 3 | GitHub 4 | The GitHub octocat logo> 5 | 6 | 7 | -------------------------------------------------------------------------------- /lib/foundry-progress/progress-003.svg: -------------------------------------------------------------------------------- 1 | 8 | 15 | 23 | 24 | 31 | 39 | 40 | 47 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-067.svg: -------------------------------------------------------------------------------- 1 | 3 | 5 | 7 | 9 | 10 | 11 | 13 | 14 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-012.svg: -------------------------------------------------------------------------------- 1 | 3 | 5 | 7 | 8 | 10 | 11 | 12 | 14 | 17 | 18 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-060.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-022.svg: -------------------------------------------------------------------------------- 1 | 2 | 6 | 10 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /lib/foundry-progress/progress-007.svg: -------------------------------------------------------------------------------- 1 | 8 | 14 | 21 | 28 | 29 | 35 | 42 | 49 | 50 | 56 | 63 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /source/assets/stylesheets/base/_forms.scss: -------------------------------------------------------------------------------- 1 | fieldset { 2 | background: lighten($base-border-color, 10); 3 | border: $base-border; 4 | margin: 0 0 ($base-spacing / 2) 0; 5 | padding: $base-spacing; 6 | } 7 | 8 | input, 9 | label, 10 | select { 11 | display: block; 12 | font-family: $form-font-family; 13 | font-size: $form-font-size; 14 | } 15 | 16 | label { 17 | font-weight: bold; 18 | margin-bottom: $base-spacing / 4; 19 | 20 | &.required:after { 21 | content: "*"; 22 | } 23 | 24 | abbr { 25 | display: none; 26 | } 27 | } 28 | 29 | textarea, 30 | #{$all-text-inputs}, 31 | select[multiple=multiple] { 32 | @include box-sizing(border-box); 33 | @include transition(border-color); 34 | background-color: white; 35 | border-radius: $form-border-radius; 36 | border: 1px solid $form-border-color; 37 | box-shadow: $form-box-shadow; 38 | font-family: $form-font-family; 39 | font-size: $form-font-size; 40 | margin-bottom: $base-spacing / 2; 41 | padding: ($base-spacing / 3) ($base-spacing / 3); 42 | width: 100%; 43 | 44 | &:hover { 45 | border-color: $form-border-color-hover; 46 | } 47 | 48 | &:focus { 49 | border-color: $form-border-color-focus; 50 | box-shadow: $form-box-shadow-focus; 51 | outline: none; 52 | } 53 | } 54 | 55 | textarea { 56 | resize: vertical; 57 | } 58 | 59 | input[type="search"] { 60 | @include appearance(none); 61 | } 62 | 63 | input[type="checkbox"], 64 | input[type="radio"] { 65 | display: inline; 66 | margin-right: $base-spacing / 4; 67 | } 68 | 69 | input[type="file"] { 70 | padding-bottom: $base-spacing / 2; 71 | width: 100%; 72 | } 73 | 74 | select { 75 | margin-bottom: $base-spacing; 76 | max-width: 100%; 77 | width: auto; 78 | } 79 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-055.svg: -------------------------------------------------------------------------------- 1 | 3 | 5 | 7 | 9 | 10 | 12 | 14 | 16 | 18 | 20 | 21 | -------------------------------------------------------------------------------- /lib/foundry-progress/progress-004.svg: -------------------------------------------------------------------------------- 1 | 8 | 15 | 22 | 29 | 30 | 37 | 44 | 51 | 52 | 59 | 66 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-071.svg: -------------------------------------------------------------------------------- 1 | 3 | 5 | 6 | 9 | 12 | 15 | 18 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /source/assets/stylesheets/base/_typography.scss: -------------------------------------------------------------------------------- 1 | body { 2 | -webkit-font-smoothing: antialiased; 3 | background-color: $base-background-color; 4 | color: $base-font-color; 5 | font-family: $base-font-family; 6 | font-size: $base-font-size; 7 | line-height: $base-line-height; 8 | margin: 0; 9 | } 10 | 11 | h1, 12 | h2, 13 | h3, 14 | h4, 15 | h5, 16 | h6 { 17 | font-family: $header-font-family; 18 | line-height: $header-line-height; 19 | margin: 0; 20 | text-rendering: optimizeLegibility; 21 | } 22 | 23 | h1 { 24 | font-size: $h1-font-size; 25 | } 26 | 27 | h2 { 28 | font-size: $h2-font-size; 29 | } 30 | 31 | h3 { 32 | font-size: $h3-font-size; 33 | } 34 | 35 | h4 { 36 | font-size: $h4-font-size; 37 | } 38 | 39 | h5 { 40 | font-size: $h5-font-size; 41 | } 42 | 43 | h6 { 44 | font-size: $h6-font-size; 45 | } 46 | 47 | p { 48 | margin: 0 0 ($base-spacing / 2); 49 | } 50 | 51 | a { 52 | @include transition(color 0.1s linear); 53 | color: $base-link-color; 54 | text-decoration: underline; 55 | 56 | &:hover { 57 | color: $hover-link-color; 58 | } 59 | 60 | &:active, &:focus { 61 | color: $hover-link-color; 62 | outline: none; 63 | } 64 | 65 | &.thoughtbot:hover { 66 | color: $thoughtbot-red; 67 | } 68 | } 69 | 70 | hr { 71 | border-bottom: $base-border; 72 | border-left: none; 73 | border-right: none; 74 | border-top: none; 75 | margin: ($base-spacing * 2) 0; 76 | } 77 | 78 | img, 79 | picture { 80 | margin: 0; 81 | max-width: 100%; 82 | } 83 | 84 | blockquote { 85 | border-left: 2px solid $base-border-color; 86 | color: lighten($base-font-color, 15); 87 | margin: $base-spacing 0; 88 | padding-left: $base-spacing / 2; 89 | } 90 | 91 | cite { 92 | color: lighten($base-font-color, 25); 93 | font-style: italic; 94 | 95 | &:before { 96 | content: "\2014 \00A0"; 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-016.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /source/partials/_ralph.erb: -------------------------------------------------------------------------------- 1 | 3 | 19 | 20 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-088.svg: -------------------------------------------------------------------------------- 1 | 3 | 10 | 14 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-036.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 27 | 28 | -------------------------------------------------------------------------------- /lib/foundry-core/core-003-b.svg: -------------------------------------------------------------------------------- 1 | 3 | Television 4 | A wide flat screen television 5 | 6 | 7 | 9 | 11 | 13 | 14 | 15 | 17 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /lib/foundry-core/core-005-a.svg: -------------------------------------------------------------------------------- 1 | 3 | Smart phone 4 | A modern smart phone with a blank screen 5 | 6 | 8 | 10 | 12 | 13 | 14 | 16 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /lib/foundry-progress/progress-008.svg: -------------------------------------------------------------------------------- 1 | 8 | 14 | 21 | 22 | 30 | 37 | 44 | 45 | 53 | 60 | 67 | 68 | 76 | 83 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-096.svg: -------------------------------------------------------------------------------- 1 | 3 | 9 | 15 | 17 | 20 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /lib/foundry-core/core-005-b.svg: -------------------------------------------------------------------------------- 1 | 3 | Smart phone 4 | The back view of a modern smart phone 5 | 6 | 8 | 10 | 12 | 14 | 15 | 16 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-081.svg: -------------------------------------------------------------------------------- 1 | 3 | 5 | 8 | 9 | 11 | 13 | 15 | 17 | 19 | 21 | 23 | 25 | 26 | -------------------------------------------------------------------------------- /config.rb: -------------------------------------------------------------------------------- 1 | require "lib/family" 2 | require "lib/gallery" 3 | ### 4 | # Page options, layouts, aliases and proxies 5 | ### 6 | 7 | # Per-page layout changes: 8 | # 9 | # With no layout 10 | # page "/path/to/file.html", :layout => false 11 | # 12 | # With alternative layout 13 | # page "/path/to/file.html", :layout => :otherlayout 14 | # 15 | # A path which all have the same layout 16 | # with_layout :admin do 17 | # page "/admin/*" 18 | # end 19 | 20 | # Proxy pages (http://middlemanapp.com/basics/dynamic-pages/) 21 | # proxy "/this-page-has-no-template.html", "/template-file.html", :locals => { 22 | # :which_fake_page => "Rendering a fake page with a local variable" } 23 | 24 | ### 25 | # Helpers 26 | ### 27 | 28 | # Automatic image dimensions on image_tag helper 29 | # activate :automatic_image_sizes 30 | 31 | # Reload the browser automatically whenever files change 32 | # configure :development do 33 | # activate :livereload 34 | # end 35 | 36 | # Methods defined in the helpers block are available in templates 37 | # helpers do 38 | # def some_helper 39 | # "Helping" 40 | # end 41 | # end 42 | 43 | set :css_dir, 'assets/stylesheets' 44 | 45 | set :js_dir, 'assets/javascripts' 46 | 47 | set :lib, '../lib' 48 | 49 | set :images_dir, 'assets/images' 50 | 51 | activate :relative_assets 52 | 53 | set :relative_links, true 54 | 55 | activate :autoprefixer 56 | 57 | set :haml, { :ugly => true, :format => :html5 } 58 | 59 | # Build-specific configuration 60 | configure :build do 61 | # For example, change the Compass output style for deployment 62 | # activate :minify_css 63 | 64 | # Minify Javascript on build 65 | # activate :minify_javascript 66 | 67 | # Enable cache buster 68 | # activate :asset_hash 69 | 70 | # Use relative URLs 71 | # activate :relative_assets 72 | 73 | # Or use a different image path 74 | # set :http_prefix, "/Content/images/" 75 | 76 | after_build do |builder| 77 | src = File.join(config[:source],"../lib/") 78 | puts "Hey there!" + src 79 | dst = File.join(config[:source],"assets/components/") 80 | puts "Hey there!" + dst 81 | builder.source_paths << File.dirname(__FILE__) 82 | puts "Hey there!" 83 | FileUtils.copy_entry src, dst 84 | end 85 | end 86 | 87 | ::Middleman::Extensions.register(:gallery, Gallery) 88 | activate :gallery 89 | -------------------------------------------------------------------------------- /source/index.haml: -------------------------------------------------------------------------------- 1 | --- 2 | title: Foundry ∞ 3 | --- 4 | 5 | %header.page-header.less{ data: { toggle_container: "container" } } 6 | .page-header-container 7 | = partial "partials/navigation" 8 | .header-image 9 | = image_tag "core-016-a.svg" 10 | %h1.header-logo 11 | Foundry ∞ 12 | %section.header-content 13 | %h2 14 | = succeed "." do 15 | Open source SVG illustrations from the designers at 16 | = link_to "thoughtbot", "http://thoughtbot.com" 17 | 18 | .signup 19 | %form#mc-embedded-subscribe-form.validate.signup_form{ action: "//thoughtbot.us11.list-manage.com/subscribe/post?u=04f9ab7c6af5b2f23b1545be2&id=8790e2dc86", method: "post", name: "mc-embedded-subscribe-form", novalidate: "", target: "_blank" } 20 | %label.signup_label{ for: "mce-EMAIL" } Subscribe for Updates 21 | %input#mce-EMAIL.email.signup_input{ name: "EMAIL", placeholder: "email address", required: "", type: "email", value: "" } 22 | %div{ style: "position: absolute; left: -5000px;" } 23 | %input{ name: "b_04f9ab7c6af5b2f23b1545be2_8790e2dc86", tabindex: "-1", type: "text", value: "" } 24 | %input#mc-embedded-subscribe.button.signup_button{ name: "subscribe", type: "submit", value: "Subscribe" } 25 | 26 | %main{ role:"main" } 27 | %section.page-section-families 28 | %ol.families-list#gallery 29 | - families.each do |family| 30 | %li.families-list-item 31 | %header.family-header 32 | %h3.family-title 33 | = family.title 34 | %h6.family-links 35 | = link_to "GitHub", family.repo_url 36 | = link_to family.author_handle, family.author_url 37 | %p.family-description 38 | = family.description 39 | %ul.families-list-item-gallery 40 | - family.files.each do |filename| 41 | %li.families-list-item-gallery-item 42 | %img{ src: "assets/components" + family.path + filename } 43 | .download 44 | = link_to "Download", 45 | "assets/components" + family.path + filename, 46 | download: filename, 47 | class: "download-link button", 48 | onclick: "ga('send','event','downloads','#{filename}')" 49 | 50 | = partial "partials/footer" 51 | -------------------------------------------------------------------------------- /lib/foundry-progress/progress-005.svg: -------------------------------------------------------------------------------- 1 | 8 | 15 | 22 | 29 | 36 | 37 | 44 | 51 | 58 | 65 | 66 | 73 | 80 | 87 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-009.svg: -------------------------------------------------------------------------------- 1 | 3 | 8 | 12 | 16 | 18 | 22 | 25 | 26 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-011.svg: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 9 | 11 | 13 | 15 | 25 | 26 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-044.svg: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 11 | 15 | 18 | 19 | 21 | 23 | 25 | 27 | 28 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-031.svg: -------------------------------------------------------------------------------- 1 | 3 | 5 | 9 | 11 | 15 | 17 | 19 | 21 | 23 | 24 | 26 | 28 | 29 | -------------------------------------------------------------------------------- /source/assets/stylesheets/patterns/_families-list.scss: -------------------------------------------------------------------------------- 1 | .families-list { 2 | max-width: $row-width; 3 | 4 | @media #{$large} { 5 | margin: 1em auto 0; 6 | } 7 | } 8 | 9 | .families-list-item { 10 | position: relative; 11 | } 12 | 13 | .families-list-item-gallery { 14 | @include clearfix; 15 | border-top: $base-border; 16 | } 17 | 18 | .family-header { 19 | @include clearfix; 20 | @include simple-column; 21 | padding-bottom: 2em; 22 | padding-top: 2.5em; 23 | width: 100%; 24 | 25 | @media #{$small} { 26 | padding-bottom: 4em; 27 | padding-top: 5em; 28 | text-align: center; 29 | } 30 | } 31 | 32 | .families-list-item-gallery-item { 33 | border-bottom: $base-border; 34 | border-right: $base-border; 35 | float: left; 36 | margin-bottom: 0; 37 | padding: 3em 2em; 38 | position: relative; 39 | text-align: center; 40 | width: 50%; 41 | 42 | @media #{$small} { 43 | padding: 3em 4em; 44 | width: percentage(1/3); 45 | } 46 | 47 | @media #{$medium} { 48 | width: percentage(1/4); 49 | } 50 | 51 | .centered-content-inner { 52 | @include position(absolute, 50% 0 null 0); 53 | transform: translateY(-50%); 54 | } 55 | 56 | img, 57 | .download { 58 | display: block; 59 | margin: 0 auto; 60 | width: 100%; 61 | } 62 | 63 | .download-link { 64 | margin-top: 0.5em; 65 | position: relative; 66 | transition: all 200ms ease-in-out; 67 | 68 | &:before { 69 | @include position(absolute, 0 0 null null); 70 | border-bottom-color: tint($base-button-color, 20); 71 | border-left-color: tint($base-button-color, 20); 72 | border-right-color: $base-background-color; 73 | border-style: solid; 74 | border-top-color: $base-background-color; 75 | border-width: 0.4em; 76 | box-shadow: 77 | -0.025em 0.075em 0.065em rgba(black, 0.065), 78 | 1px 0 0 white; 79 | content: ""; 80 | display: block; 81 | transition: all 200ms ease-in-out; 82 | } 83 | 84 | &:hover { 85 | background-color: $base-button-color; 86 | 87 | &:before { 88 | @include position(absolute, 0 0 null null); 89 | border-bottom-color: tint($base-button-color, 20); 90 | border-left-color: tint($base-button-color, 20); 91 | transform-origin: top right; 92 | transform: scale(1.4); 93 | transition: 94 | border-color 300ms ease, 95 | transform 300ms ease; 96 | } 97 | } 98 | } 99 | } 100 | 101 | .family-title, 102 | .family-links, 103 | .family-description { 104 | display: inline; 105 | } 106 | 107 | .family-description { 108 | display: block; 109 | } 110 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-019.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | 19 | 21 | 23 | 25 | 27 | 29 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-062.svg: -------------------------------------------------------------------------------- 1 | 3 | 5 | 7 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 26 | 27 | 29 | 31 | 33 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-040.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 12 | 14 | 16 | 18 | 20 | 22 | 24 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-065.svg: -------------------------------------------------------------------------------- 1 | 3 | 8 | 10 | 14 | 17 | 21 | 26 | 28 | 29 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-026.svg: -------------------------------------------------------------------------------- 1 | 3 | 7 | 10 | 13 | 16 | 18 | 22 | 25 | 28 | 31 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-056.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 9 | 10 | 11 | 13 | 15 | 17 | 19 | 21 | 23 | 25 | 27 | 29 | 31 | 32 | 33 | 35 | 37 | 38 | -------------------------------------------------------------------------------- /source/assets/stylesheets/base/_grids.scss: -------------------------------------------------------------------------------- 1 | // Grid Styles 2 | // ============================================================ 3 | 4 | *, *:before, *:after { 5 | box-sizing: border-box; 6 | } 7 | 8 | // Grid Variables 9 | 10 | $row-width: rem(1000) !default; 11 | $column-gutter: rem(30) !default; 12 | $total-columns: 12 !default; 13 | 14 | // Grid-Calc Function 15 | 16 | @function grid-calc($colNumber, $totalColumns) { 17 | @return percentage($colNumber / $totalColumns); 18 | } 19 | 20 | // ========= Grid Mixins ======== 21 | 22 | // Create default and collapsed rows 23 | 24 | // $behavior - Default: false. Options: nest, false. 25 | @mixin grid-row($behavior: false) { 26 | @if $behavior == collapse { 27 | // use @include grid-row(collapse) to collapsed a container row margins 28 | margin: 0; 29 | max-width: $row-width; 30 | padding: 0; 31 | width: 100%; 32 | } @else { 33 | // use @include grid-row to use a container row 34 | margin-#{$default-float}: auto; 35 | margin-#{$opposite-direction}: auto; 36 | max-width: $row-width; 37 | padding-left: $column-gutter / 2; 38 | padding-right: $column-gutter / 2; 39 | width: 100%; 40 | } 41 | 42 | @include clearfix; 43 | } 44 | 45 | // Creates a column, should be used inside of a media query to control layouts 46 | // 47 | // $columns - The number of columns this should be 48 | // $last - Is this the last column? Default: false. 49 | // $center - Center these columns? Default: false. 50 | // $collapse - Get rid of gutter padding on column? Default: false. 51 | // $float - Should this float? Default: true. Options: true, false, left, right. 52 | 53 | @mixin grid-column( 54 | $columns: false, 55 | $last: false, 56 | $center: false, 57 | $collapse: false, 58 | $float: true 59 | ) { 60 | 61 | @if $collapse == none { 62 | } @else if $collapse { 63 | // If collapsed, get rid of gutter padding 64 | padding-left: 0; 65 | padding-right: 0; 66 | } @else if $collapse == false { 67 | // Gutter padding whenever a column isn't set to collapse 68 | // Use $collapse:null to do nothing 69 | padding-left: $column-gutter / 2; 70 | padding-right: $column-gutter / 2; 71 | } 72 | 73 | @if $columns { 74 | // If a column number is given, calculate width 75 | width: grid-calc($columns, $total-columns); 76 | 77 | @if $last { 78 | // If last column, float naturally instead of to the right 79 | float: $opposite-direction; 80 | } 81 | } 82 | 83 | @if $center { 84 | margin-#{$default-float}: auto; 85 | margin-#{$opposite-direction}: auto; 86 | float: none !important; 87 | } 88 | 89 | @if $float { 90 | 91 | @if $float == left or $float == true { 92 | float: $default-float; 93 | } @else if $float == right { 94 | float: $opposite-direction; 95 | } @else { 96 | float: none; 97 | } 98 | } 99 | } 100 | 101 | @mixin simple-column() { 102 | max-width: $row-width; 103 | padding-left: $column-gutter; 104 | padding-right: $column-gutter; 105 | width: 100%; 106 | margin-left: auto; 107 | margin-right: auto; 108 | } 109 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-015.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 7 | 9 | 11 | 13 | 15 | 17 | 19 | 21 | 23 | 25 | 27 | 29 | 31 | 33 | 35 | 37 | 39 | 41 | 43 | 44 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-053.svg: -------------------------------------------------------------------------------- 1 | 3 | 9 | 11 | 13 | 15 | 17 | 20 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /lib/foundry-core/core-015-a.svg: -------------------------------------------------------------------------------- 1 | 3 | Microphone 4 | A studio microphone 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 22 | 25 | 26 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-050.svg: -------------------------------------------------------------------------------- 1 | 3 | 5 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-014.svg: -------------------------------------------------------------------------------- 1 | 3 | 8 | 9 | 10 | 13 | 16 | 17 | 19 | 21 | 23 | 25 | 28 | 32 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /source/assets/stylesheets/base/_variables.scss: -------------------------------------------------------------------------------- 1 | // Project Settings 2 | // ============================================================ 3 | 4 | $prefix-for-webkit: false; 5 | $prefix-for-mozilla: false; 6 | $prefix-for-microsoft: false; 7 | $prefix-for-opera: false; 8 | 9 | // ========= Typography & Metrics ========= 10 | 11 | $base-font-size: 1em; 12 | $base-line-height: 1.5; 13 | $header-line-height: 1.4; 14 | 15 | // Font Families 16 | $sans-serif: "Montserrat", sans-serif; 17 | $sans-serif-alt: $helvetica, sans-serif; 18 | $serif: "Merriweather", serif; 19 | $base-font-family: $sans-serif; 20 | $header-font-family: $serif; 21 | 22 | // ========= Grid Variables ========= 23 | 24 | $default-float: left; 25 | $text-direction: ltr; 26 | $opposite-direction: right; 27 | 28 | @if $text-direction == ltr { 29 | $default-float: left; 30 | $opposite-direction: right; 31 | } @else { 32 | $default-float: right; 33 | $opposite-direction: left; 34 | } 35 | 36 | $row-width: em(1600); 37 | $column-gutter: em(20); 38 | $total-columns: 12; 39 | 40 | // ========= Media Queries ========= 41 | 42 | // Media Queries 43 | 44 | $small-screen: 768px !default; 45 | $medium-screen: 1280px !default; 46 | $large-screen: 1600px !default; 47 | 48 | $screen: "only screen" !default; 49 | $small: "only screen and (min-width: #{$small-screen})" !default; 50 | $medium: "only screen and (min-width:#{$medium-screen})" !default; 51 | $large: "only screen and (min-width:#{$large-screen})" !default; 52 | $landscape: "only screen and (orientation: landscape)" !default; 53 | $portrait: "only screen and (orientation: portrait)" !default; 54 | 55 | // ========= Core Settings ========= 56 | 57 | // Font Sizes 58 | $h0-font-size: $base-font-size * 2.5; 59 | $h1-font-size: $base-font-size * 2; 60 | $h2-font-size: $base-font-size * 1.75; 61 | $h3-font-size: $base-font-size * 1.5; 62 | $h4-font-size: $base-font-size * 1.25; 63 | $h5-font-size: $base-font-size * 1.125; 64 | $h6-font-size: $base-font-size; 65 | 66 | $small-font-size: 0.8em; 67 | 68 | // Other Sizes 69 | $base-border-radius: 3px; 70 | $base-spacing: $base-line-height * 1em; 71 | $base-z-index: 0; 72 | 73 | // Colors 74 | $sea: #3fa9f5; 75 | $foam: #86adbc; 76 | $gold: #eab111; 77 | $coal: #414042; 78 | $medium-gray: #999; 79 | $light-gray: #d8d8d8; 80 | $light-red: #fbe3e4; 81 | $light-yellow: #fff6bf; 82 | $light-green: #e6efc2; 83 | 84 | $thoughtbot-red: rgb(197, 45, 47); 85 | $thoughtbot-gray: rgba(46, 48, 58, 0.96); 86 | 87 | // Background Color 88 | $base-background-color: white; 89 | 90 | // Font Colors 91 | $base-font-color: $coal; 92 | $base-accent-color: $gold; 93 | 94 | // Link Colors 95 | $base-link-color: $base-font-color; 96 | $hover-link-color: $base-accent-color; 97 | $base-button-color: $base-accent-color; 98 | $hover-button-color: darken($base-accent-color, 15); 99 | 100 | // Flash Colors 101 | $alert-color: $light-yellow; 102 | $error-color: $light-red; 103 | $notice-color: lighten($base-accent-color, 40); 104 | $success-color: $light-green; 105 | 106 | // Border color 107 | $base-border-color: whitesmoke; 108 | $base-border: 1px solid $base-border-color; 109 | 110 | // Forms 111 | $form-border-color: $base-border-color; 112 | $form-border-color-hover: darken($base-border-color, 10); 113 | $form-border-color-focus: $base-accent-color; 114 | $form-border-radius: $base-border-radius; 115 | $form-box-shadow: inset 0 1px 3px rgba(black, 0.06); 116 | $form-box-shadow-focus: $form-box-shadow, 0 0 5px rgba(darken($form-border-color-focus, 5), 0.7); 117 | $form-font-size: $base-font-size; 118 | $form-font-family: $base-font-family; 119 | 120 | // Page Header 121 | $page-header-color: #f4bd0f; 122 | -------------------------------------------------------------------------------- /lib/foundry-core/core-008-a.svg: -------------------------------------------------------------------------------- 1 | 3 | Notebook 4 | A closed brown notebook with "Notes" written on the cover 5 | 7 | 9 | 10 | 12 | 14 | 15 | 17 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-092.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 7 | 10 | 12 | 13 | 14 | 17 | 20 | 23 | 26 | 29 | 30 | 31 | 34 | 37 | 40 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | activesupport (4.1.11) 5 | i18n (~> 0.6, >= 0.6.9) 6 | json (~> 1.7, >= 1.7.7) 7 | minitest (~> 5.1) 8 | thread_safe (~> 0.1) 9 | tzinfo (~> 1.1) 10 | autoprefixer-rails (5.2.0.1) 11 | execjs 12 | json 13 | bourbon (4.2.3) 14 | sass (~> 3.4) 15 | thor 16 | bower (0.0.5) 17 | multi_json 18 | celluloid (0.16.0) 19 | timers (~> 4.0.0) 20 | chunky_png (1.3.4) 21 | coffee-script (2.4.1) 22 | coffee-script-source 23 | execjs 24 | coffee-script-source (1.9.1.1) 25 | compass (1.0.3) 26 | chunky_png (~> 1.2) 27 | compass-core (~> 1.0.2) 28 | compass-import-once (~> 1.0.5) 29 | rb-fsevent (>= 0.9.3) 30 | rb-inotify (>= 0.9) 31 | sass (>= 3.3.13, < 3.5) 32 | compass-core (1.0.3) 33 | multi_json (~> 1.0) 34 | sass (>= 3.3.0, < 3.5) 35 | compass-import-once (1.0.5) 36 | sass (>= 3.2, < 3.5) 37 | em-websocket (0.5.1) 38 | eventmachine (>= 0.12.9) 39 | http_parser.rb (~> 0.6.0) 40 | erubis (2.7.0) 41 | eventmachine (1.0.7) 42 | execjs (2.5.2) 43 | ffi (1.9.8) 44 | haml (4.0.6) 45 | tilt 46 | hike (1.2.3) 47 | hitimes (1.2.2) 48 | hooks (0.4.0) 49 | uber (~> 0.0.4) 50 | http_parser.rb (0.6.0) 51 | i18n (0.7.0) 52 | json (1.8.3) 53 | kramdown (1.7.0) 54 | listen (2.10.1) 55 | celluloid (~> 0.16.0) 56 | rb-fsevent (>= 0.9.3) 57 | rb-inotify (>= 0.9) 58 | middleman (3.3.12) 59 | coffee-script (~> 2.2) 60 | compass (>= 1.0.0, < 2.0.0) 61 | compass-import-once (= 1.0.5) 62 | execjs (~> 2.0) 63 | haml (>= 4.0.5) 64 | kramdown (~> 1.2) 65 | middleman-core (= 3.3.12) 66 | middleman-sprockets (>= 3.1.2) 67 | sass (>= 3.4.0, < 4.0) 68 | uglifier (~> 2.5) 69 | middleman-autoprefixer (2.5.0) 70 | autoprefixer-rails (~> 5.2.0) 71 | middleman-core (>= 3.3.3) 72 | middleman-core (3.3.12) 73 | activesupport (~> 4.1.0) 74 | bundler (~> 1.1) 75 | erubis 76 | hooks (~> 0.3) 77 | i18n (~> 0.7.0) 78 | listen (>= 2.7.9, < 3.0) 79 | padrino-helpers (~> 0.12.3) 80 | rack (>= 1.4.5, < 2.0) 81 | rack-test (~> 0.6.2) 82 | thor (>= 0.15.2, < 2.0) 83 | tilt (~> 1.4.1, < 2.0) 84 | middleman-gh-pages (0.0.3) 85 | rake (> 0.9.3) 86 | middleman-livereload (3.1.1) 87 | em-websocket (>= 0.2.0) 88 | middleman-core (>= 3.0.2) 89 | multi_json (~> 1.0) 90 | rack-livereload 91 | middleman-sprockets (3.4.2) 92 | middleman-core (>= 3.3) 93 | sprockets (~> 2.12.1) 94 | sprockets-helpers (~> 1.1.0) 95 | sprockets-sass (~> 1.3.0) 96 | minitest (5.7.0) 97 | multi_json (1.11.1) 98 | padrino-helpers (0.12.5) 99 | i18n (~> 0.6, >= 0.6.7) 100 | padrino-support (= 0.12.5) 101 | tilt (~> 1.4.1) 102 | padrino-support (0.12.5) 103 | activesupport (>= 3.1) 104 | rack (1.6.4) 105 | rack-livereload (0.3.15) 106 | rack 107 | rack-test (0.6.3) 108 | rack (>= 1.0) 109 | rake (10.4.2) 110 | rb-fsevent (0.9.5) 111 | rb-inotify (0.9.5) 112 | ffi (>= 0.5.0) 113 | sass (3.4.14) 114 | sprockets (2.12.3) 115 | hike (~> 1.2) 116 | multi_json (~> 1.0) 117 | rack (~> 1.0) 118 | tilt (~> 1.1, != 1.3.0) 119 | sprockets-helpers (1.1.0) 120 | sprockets (~> 2.0) 121 | sprockets-sass (1.3.1) 122 | sprockets (~> 2.0) 123 | tilt (~> 1.1) 124 | thor (0.19.1) 125 | thread_safe (0.3.5) 126 | tilt (1.4.1) 127 | timers (4.0.1) 128 | hitimes 129 | tzinfo (1.2.2) 130 | thread_safe (~> 0.1) 131 | uber (0.0.13) 132 | uglifier (2.7.1) 133 | execjs (>= 0.3.0) 134 | json (>= 1.8.0) 135 | 136 | PLATFORMS 137 | ruby 138 | 139 | DEPENDENCIES 140 | bourbon 141 | bower 142 | middleman (~> 3.3.7) 143 | middleman-autoprefixer 144 | middleman-gh-pages 145 | middleman-livereload (~> 3.1.0) 146 | sprockets 147 | -------------------------------------------------------------------------------- /lib/foundry-core/core-011-a.svg: -------------------------------------------------------------------------------- 1 | 3 | Browser windor 4 | A blank browser window with two tabs 5 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 15 | 17 | 18 | 19 | 20 | 22 | 24 | 26 | 28 | 30 | 32 | 34 | 35 | 36 | 38 | 40 | 42 | 44 | 46 | 48 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Foundry ∞ 2 | ========= 3 | 4 | **Providing a new generation of vector assets and infinite possibility for the interactive web and mobile applications** 5 | 6 | SVGs are amazing. Finding new and interactive ways to share visual information, art, and fun is awesome and SVGs let us do this in ways that aren’t possible in raster art. 7 | 8 | Foundry is a new way of utilizing scalable vector graphics, giving designers the opportunity to contribute and collaborate on families of spot vector illustrations and icons and make them available for download/purchase. No more hunting around google for ten minutes to find just the right icon or wasting time recreating an iPhone when you know it’s already been done a thousand times. 9 | 10 | ### How is this going to be different from existing art and icon libraries? 11 | 12 | One of the most important aspects to the success of a project is focus. As with many existing libraries, they provide too much breadth and not enough depth. They have vector icons while, in the same breath, selling word press themes and business card templates. Many end up being filled with orphaned works, or arbitrary icon sets that are never updated, never improved, and never screened for quality. So too, to keep them versatile they offer their product in a generic format for whatever application. 13 | 14 | Others are simply aggregation services. They act as a portal and by which independent sources can submit their icons. Because they are made by numerous independents, they are comprised almost exclusively of small, arbitrary sets that lack depth of content and inconsistent quality. Like having a font with one weight or only capitals, its usefulness is minimal as compared to a fully developed set that could be used throughout a brand, system, or application. 15 | 16 | The distinction being that, like many of our products, it's a tool for professionals. Bourbon/Bitters, FormKeep and other front end tools created by thoughtbot are given focus and purpose with the basis that they are a set of tools for people looking to build web applications in the best way possible. This logic and focus could be carried over to Foundry. It's not a stock company, a theme forest, or an icon library. It’s another tool for making great web sites applications. 17 | 18 | ### Who will contribute the illustrations and icons to Foundry? 19 | 20 | With an initial seed of ~200 spot illustrations that exist as a cohesive set, named ‘Fellowly’. For the foreseeable future, contributors will be exclusively thoughtboters. Eventually each library will likely be its own repo, some open source, some not. This initial restriction will allow for the forming of an initial product vision around the kind of works to provide and the best way to maintain and deliver them. The biggest challenges of making icon or illustration sets is coherence. This project is also an experiment to see if and how a group of diverse artists can work together to create a cohesive yet diverse family of illustrations and icons. 21 | 22 | ### What is the structure of these libraries? 23 | 24 | Foundry's library architecture will be similar to that of a type foundry. As one foundry might have half a dozen font families, with weights and alternates within them, each foundry family can have a particular style, a set of goals, and potential applications. We could have a few established families or groups that are built out over time. Then, as the need and availability arises, more families will be added that blaze new territory in visual direction or theme. 25 | 26 | --- 27 | 28 | Foundry Progress 29 | =============== 30 | 31 | A family of animated spinners, loaders and progress bars for [Foundry ∞](https://github.com/thoughtbot/foundry). 32 | 33 | - The icons are pure SVG, no javascript and CSS required 34 | - They are all 50x50 pixels, ensuring that you can swap one spinner out for another 35 | - The markup is easy to edit and follows [thoughtbot's guides](http://github.com/thoughtbot/guides) 36 | - The `` includes an `id` and `class` matching the filename, for targetting with CSS 37 | - The paths inside (``, ``, ``, etc) include a class `shape` to make styling even easier 38 | 39 | --- 40 | 41 | ### How do I style the icons? 42 | 43 | By adding something like this to your CSS: 44 | ```css 45 | .progress-006 { 46 | height: 25px; 47 | width: 25px; 48 | } 49 | 50 | .progress-006 .shape { 51 | fill: #C32F34; 52 | } 53 | ``` 54 | -------------------------------------------------------------------------------- /source/assets/stylesheets/pages/_index.scss: -------------------------------------------------------------------------------- 1 | @keyframes wiggle { 2 | 20% { 3 | transform: rotate(5deg); 4 | } 5 | 6 | 40% { 7 | transform: rotate(-15deg); 8 | } 9 | 10 | 60% { 11 | transform: rotate(8deg); 12 | } 13 | 14 | 80% { 15 | transform: rotate(-5deg); 16 | } 17 | } 18 | 19 | .page-header { 20 | background-color: $page-header-color; 21 | color: $base-font-color; 22 | min-height: 80vh; 23 | padding-bottom: 4em; 24 | position: relative; 25 | 26 | @media #{$small} { 27 | margin: 1em 1em 0 1em; 28 | padding: 3em; 29 | 30 | &::before { 31 | @include position(absolute, 0 0 null null); 32 | border-bottom-color: tint($page-header-color, 30%); 33 | border-left-color: tint($page-header-color, 30%); 34 | border-right-color: $base-background-color; 35 | border-style: solid; 36 | border-top-color: $base-background-color; 37 | border-width: 2.75em; 38 | box-shadow: -0.025em 0.075em 0.065em rgba(black, 0.1); 39 | content: ""; 40 | display: block; 41 | } 42 | } 43 | 44 | img { 45 | display: block; 46 | } 47 | } 48 | 49 | .header-image { 50 | max-width: $row-width / 2; 51 | margin: 0 auto; 52 | } 53 | 54 | .header-logo { 55 | font-family: $sans-serif; 56 | font-size: $h0-font-size; 57 | font-weight: 400; 58 | text-align: center; 59 | color: $base-background-color; 60 | 61 | @media #{$small} { 62 | font-size: $h0-font-size * 1.5; 63 | } 64 | } 65 | 66 | .header-content { 67 | color: $base-background-color; 68 | margin: 0 auto; 69 | max-width: 35em; 70 | text-align: center; 71 | 72 | a { 73 | color: $base-background-color; 74 | } 75 | } 76 | 77 | .header-subtitle { 78 | font-weight: 400; 79 | 80 | @media #{$small} { 81 | font-size: $h0-font-size; 82 | margin-bottom: 0.25em; 83 | max-width: 24em; 84 | } 85 | } 86 | 87 | .subtitle-linktodescription { 88 | background: 0; 89 | color: $base-font-color; 90 | display: inline; 91 | font-family: $base-font-family; 92 | font-size: 1rem; 93 | margin: 0 1em; 94 | outline: none; 95 | padding: 0; 96 | vertical-align: baseline; 97 | 98 | &.more::after, 99 | &.less::before { 100 | display: inline-block; 101 | margin: 0 0.125em; 102 | outline: none; 103 | text-decoration: none; 104 | transition: transform 300ms ease-in-out; 105 | } 106 | 107 | &.more::after { 108 | content: "→"; 109 | } 110 | 111 | &.less::before { 112 | content: "←"; 113 | } 114 | 115 | &:hover { 116 | background-color: transparent; 117 | color: $base-font-color; 118 | } 119 | 120 | &.more:hover:after { 121 | transform: translate(0.5em); 122 | } 123 | 124 | &.less:hover:before { 125 | transform: translate(-0.5em); 126 | } 127 | } 128 | 129 | .header-description { 130 | display: none; 131 | max-width: 58em; 132 | } 133 | 134 | .header-linktogallery { 135 | font-size: $h4-font-size; 136 | margin-top: 0.5em; 137 | position: relative; 138 | transition: all 200ms ease-in-out; 139 | background-color: $base-font-color; 140 | 141 | &:before { 142 | @include position(absolute, 0 0 null null); 143 | border-bottom-color: tint($base-font-color, 20); 144 | border-left-color: tint($base-font-color, 20); 145 | border-right-color: $page-header-color; 146 | border-style: solid; 147 | border-top-color: $page-header-color; 148 | border-width: 0.4em; 149 | box-shadow: -0.025em 0.075em 0.065em rgba(black, 0.065); 150 | content: ""; 151 | display: block; 152 | transition: all 200ms ease-in-out; 153 | } 154 | 155 | &:hover { 156 | background-color: $base-font-color; 157 | 158 | &:before { 159 | @include position(absolute, 0 0 null null); 160 | border-bottom-color: tint($base-font-color, 20); 161 | border-left-color: tint($base-font-color, 20); 162 | transform-origin: top right; 163 | transform: scale(1.25); 164 | transition: 165 | border-color 300ms ease, 166 | transform 300ms ease; 167 | } 168 | } 169 | } 170 | 171 | .page-header-container { 172 | @include simple-column; 173 | } 174 | 175 | .page-navigation { 176 | float: right; 177 | padding: 0.125em 0.5em; 178 | position: absolute; 179 | top: 0.125rem; 180 | right: 0.125rem; 181 | 182 | @media #{$small} { 183 | top: 0.125rem; 184 | right: 0.125rem; 185 | } 186 | } 187 | 188 | .navigation-list-item-link { 189 | color: $base-background-color; 190 | font-size: $h4-font-size; 191 | text-decoration: none; 192 | width: 40px; 193 | display: block; 194 | 195 | &:hover { 196 | animation: wiggle .5s ease; 197 | } 198 | } 199 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-079.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | 9 | 17 | 20 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 33 | 37 | 38 | 41 | 42 | 43 | 46 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-005.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 9 | 12 | 15 | 17 | 34 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /lib/foundry-core/core-009-a.svg: -------------------------------------------------------------------------------- 1 | 3 | Mug 4 | A black mug with "Like a Boss" written on it. 5 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-073.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 9 | 13 | 17 | 18 | 19 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 54 | 57 | 60 | 61 | 62 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-028.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 8 | 11 | 13 | 14 | 17 | 20 | 21 | 22 | 26 | 29 | 32 | 35 | 38 | 41 | 44 | 47 | 50 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-058.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 29 | 30 | 32 | 34 | 36 | 38 | 40 | 42 | 44 | 46 | 48 | 50 | 51 | 53 | 55 | 57 | 59 | 60 | 62 | 64 | 66 | 68 | 70 | 71 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-091.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 25 | 26 | 28 | 30 | 32 | 34 | 36 | 38 | 40 | 42 | 44 | 46 | 48 | 53 | 55 | 56 | -------------------------------------------------------------------------------- /lib/foundry-core/core-008-b.svg: -------------------------------------------------------------------------------- 1 | 3 | Notebook 4 | An open brown notebook with lined paper 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-024.svg: -------------------------------------------------------------------------------- 1 | 3 | 8 | 11 | 13 | 15 | 17 | 18 | 23 | 25 | 27 | 28 | 33 | 35 | 37 | 38 | 42 | 44 | 46 | 48 | 50 | 55 | 57 | 61 | 62 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-041.svg: -------------------------------------------------------------------------------- 1 | 3 | 7 | 9 | 11 | 13 | 15 | 17 | 19 | 22 | 25 | 28 | 32 | 34 | 36 | 38 | 40 | 42 | 44 | 46 | 49 | 52 | 55 | 57 | 59 | 61 | 63 | 65 | 67 | 69 | 72 | 75 | 78 | 79 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-075.svg: -------------------------------------------------------------------------------- 1 | 3 | 7 | 10 | 13 | 18 | 19 | 21 | 23 | 25 | 26 | 31 | 33 | 35 | 36 | 41 | 43 | 44 | 49 | 51 | 52 | 57 | 59 | 61 | 62 | 65 | 67 | 69 | 71 | 73 | 76 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /lib/foundry-fellowly/fellowly-001.svg: -------------------------------------------------------------------------------- 1 | 3 | 16 | 42 | 44 | 45 | 48 | 50 | 52 | 55 | 57 | 60 | 62 | 64 | 67 | 70 | 74 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | --------------------------------------------------------------------------------