exposition 0.0.3.pre.alpha

Sign up to get free protection for your applications and to get access to all the features.
Files changed (165) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +25 -0
  4. data/app/assets/images/exposition/twitter.svg +10 -0
  5. data/app/assets/javascripts/exposition/admin/application.js +3 -0
  6. data/app/assets/stylesheets/exposition/_breakpoints.scss +5 -0
  7. data/app/assets/stylesheets/exposition/_code.scss +83 -0
  8. data/app/assets/stylesheets/exposition/_footer.scss +9 -0
  9. data/app/assets/stylesheets/exposition/_header.scss +62 -0
  10. data/app/assets/stylesheets/exposition/_layout.scss +28 -0
  11. data/app/assets/stylesheets/exposition/_mixins.scss +4 -0
  12. data/app/assets/stylesheets/exposition/_normalize.scss +427 -0
  13. data/app/assets/stylesheets/exposition/_pagination.scss +18 -0
  14. data/app/assets/stylesheets/exposition/_posts.scss +96 -0
  15. data/app/assets/stylesheets/exposition/_tags.scss +12 -0
  16. data/app/assets/stylesheets/exposition/_variables.scss +16 -0
  17. data/app/assets/stylesheets/exposition/admin/_layout.scss +58 -0
  18. data/app/assets/stylesheets/exposition/admin/_mixins.scss +3 -0
  19. data/app/assets/stylesheets/exposition/admin/_notifications.scss +46 -0
  20. data/app/assets/stylesheets/exposition/admin/_pagination.scss +12 -0
  21. data/app/assets/stylesheets/exposition/admin/_posts.scss +7 -0
  22. data/app/assets/stylesheets/exposition/admin/application.scss +9 -0
  23. data/app/assets/stylesheets/exposition/admin/base/_base.scss +15 -0
  24. data/app/assets/stylesheets/exposition/admin/base/_buttons.scss +31 -0
  25. data/app/assets/stylesheets/exposition/admin/base/_forms.scss +78 -0
  26. data/app/assets/stylesheets/exposition/admin/base/_grid-settings.scss +14 -0
  27. data/app/assets/stylesheets/exposition/admin/base/_lists.scss +31 -0
  28. data/app/assets/stylesheets/exposition/admin/base/_tables.scss +25 -0
  29. data/app/assets/stylesheets/exposition/admin/base/_typography.scss +55 -0
  30. data/app/assets/stylesheets/exposition/admin/base/_variables.scss +35 -0
  31. data/app/assets/stylesheets/exposition/admin/normalize.scss +427 -0
  32. data/app/assets/stylesheets/exposition/application.scss +17 -0
  33. data/app/controllers/exposition/admin/admin_controller.rb +5 -0
  34. data/app/controllers/exposition/admin/posts_controller.rb +5 -0
  35. data/app/controllers/exposition/admin/sessions_controller.rb +31 -0
  36. data/app/controllers/exposition/admin/tags_controller.rb +5 -0
  37. data/app/controllers/exposition/application_controller.rb +8 -0
  38. data/app/controllers/exposition/posts_controller.rb +5 -0
  39. data/app/controllers/exposition/tags_controller.rb +5 -0
  40. data/app/helpers/exposition/admin/flashes_helper.rb +7 -0
  41. data/app/helpers/exposition/admin/sessions_helper.rb +20 -0
  42. data/app/helpers/exposition/markdown_helper.rb +21 -0
  43. data/app/models/categorical/tag.rb +6 -0
  44. data/app/models/exposition/encryptor.rb +10 -0
  45. data/app/models/exposition/post.rb +5 -0
  46. data/app/models/exposition/user.rb +5 -0
  47. data/app/views/exposition/admin/images/index.html.haml +12 -0
  48. data/app/views/exposition/admin/images/new.html.haml +0 -0
  49. data/app/views/exposition/admin/posts/_error_handler.html.haml +8 -0
  50. data/app/views/exposition/admin/posts/_form_fields.html.haml +23 -0
  51. data/app/views/exposition/admin/posts/edit.html.haml +5 -0
  52. data/app/views/exposition/admin/posts/index.html.haml +23 -0
  53. data/app/views/exposition/admin/posts/new.html.haml +7 -0
  54. data/app/views/exposition/admin/posts/update.html.haml +2 -0
  55. data/app/views/exposition/admin/sessions/new.html.haml +10 -0
  56. data/app/views/exposition/admin/tags/_error_handler.html.haml +8 -0
  57. data/app/views/exposition/admin/tags/edit.html.haml +10 -0
  58. data/app/views/exposition/admin/tags/index.html.haml +18 -0
  59. data/app/views/exposition/admin/tags/new.html.haml +10 -0
  60. data/app/views/exposition/posts/_post.html.haml +8 -0
  61. data/app/views/exposition/posts/_tags.html.haml +6 -0
  62. data/app/views/exposition/posts/index.html.haml +8 -0
  63. data/app/views/exposition/posts/show.html.haml +5 -0
  64. data/app/views/exposition/tags/show.html.haml +6 -0
  65. data/app/views/layouts/exposition/admin.html.haml +22 -0
  66. data/app/views/layouts/exposition/application.html.haml +20 -0
  67. data/config/locales/en.yml +37 -0
  68. data/config/routes.rb +14 -0
  69. data/db/migrate/20160106220615_create_exposition_posters.rb +12 -0
  70. data/db/migrate/20160112194424_add_author_id_to_posts.rb +5 -0
  71. data/db/migrate/20160112200248_create_exposition_users.rb +14 -0
  72. data/db/migrate/20160112202302_add_slug_to_expositon_posts.rb +7 -0
  73. data/db/migrate/20160112204019_add_categorial_tags.rb +17 -0
  74. data/db/migrate/20160225203524_add_summary_to_posts.rb +5 -0
  75. data/db/migrate/20160226035733_convert_published_at_to_datetime.rb +9 -0
  76. data/lib/exposition.rb +19 -0
  77. data/lib/exposition/concerns/controllers/admin/admin_controller.rb +39 -0
  78. data/lib/exposition/concerns/controllers/admin/posts_controller.rb +70 -0
  79. data/lib/exposition/concerns/controllers/admin/tags_controller.rb +63 -0
  80. data/lib/exposition/concerns/controllers/posts_controller.rb +19 -0
  81. data/lib/exposition/concerns/controllers/tags_controller.rb +31 -0
  82. data/lib/exposition/concerns/models/post.rb +52 -0
  83. data/lib/exposition/concerns/models/user.rb +43 -0
  84. data/lib/exposition/engine.rb +14 -0
  85. data/lib/exposition/setup.rb +15 -0
  86. data/lib/exposition/version.rb +3 -0
  87. data/lib/tasks/exposition_tasks.rake +4 -0
  88. data/lib/tasks/setup.rb +17 -0
  89. data/spec/controllers/exposition/admin/admin_controller_spec.rb +88 -0
  90. data/spec/controllers/exposition/admin/posts_controller_spec.rb +153 -0
  91. data/spec/controllers/exposition/admin/sessions_controller_spec.rb +46 -0
  92. data/spec/controllers/exposition/admin/tags_controller_spec.rb +106 -0
  93. data/spec/controllers/exposition/posts_controller_spec.rb +43 -0
  94. data/spec/controllers/exposition/tags_controller_spec.rb +40 -0
  95. data/spec/dummy/Gemfile +5 -0
  96. data/spec/dummy/Gemfile.lock +173 -0
  97. data/spec/dummy/README.rdoc +28 -0
  98. data/spec/dummy/Rakefile +6 -0
  99. data/spec/dummy/Thorfile +1 -0
  100. data/spec/dummy/app/assets/javascripts/application.js +1 -0
  101. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  102. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  103. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  104. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  105. data/spec/dummy/bin/bundle +3 -0
  106. data/spec/dummy/bin/rails +9 -0
  107. data/spec/dummy/bin/rake +9 -0
  108. data/spec/dummy/bin/setup +29 -0
  109. data/spec/dummy/bin/spring +15 -0
  110. data/spec/dummy/bin/thor +16 -0
  111. data/spec/dummy/config.ru +4 -0
  112. data/spec/dummy/config/application.rb +26 -0
  113. data/spec/dummy/config/boot.rb +3 -0
  114. data/spec/dummy/config/database.yml +12 -0
  115. data/spec/dummy/config/environment.rb +5 -0
  116. data/spec/dummy/config/environments/development.rb +41 -0
  117. data/spec/dummy/config/environments/production.rb +79 -0
  118. data/spec/dummy/config/environments/test.rb +42 -0
  119. data/spec/dummy/config/initializers/assets.rb +11 -0
  120. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  121. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  122. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  123. data/spec/dummy/config/initializers/inflections.rb +16 -0
  124. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  125. data/spec/dummy/config/initializers/session_store.rb +3 -0
  126. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  127. data/spec/dummy/config/locales/en.yml +23 -0
  128. data/spec/dummy/config/routes.rb +3 -0
  129. data/spec/dummy/config/secrets.yml +22 -0
  130. data/spec/dummy/db/schema.rb +62 -0
  131. data/spec/dummy/db/seeds.rb +22 -0
  132. data/spec/dummy/public/404.html +67 -0
  133. data/spec/dummy/public/422.html +67 -0
  134. data/spec/dummy/public/500.html +66 -0
  135. data/spec/dummy/public/favicon.ico +0 -0
  136. data/spec/dummy/public/robots.txt +5 -0
  137. data/spec/factories/categorical/tags.rb +5 -0
  138. data/spec/factories/posts.rb +8 -0
  139. data/spec/factories/taggings.rb +7 -0
  140. data/spec/factories/users.rb +7 -0
  141. data/spec/features/admin/post_management_spec.rb +95 -0
  142. data/spec/features/admin/session_management_spec.rb +40 -0
  143. data/spec/features/admin/tags_management_spec.rb +59 -0
  144. data/spec/features/posts_index_spec.rb +28 -0
  145. data/spec/features/viewing_a_post_spec.rb +21 -0
  146. data/spec/features/viewing_posts_by_tag_spec.rb +17 -0
  147. data/spec/helpers/admin/flashes_helper_spec.rb +29 -0
  148. data/spec/helpers/admin/sessions_helper_spec.rb +56 -0
  149. data/spec/helpers/markdown_helper_spec.rb +10 -0
  150. data/spec/models/categorical/tag_spec.rb +35 -0
  151. data/spec/models/exposition/post_spec.rb +123 -0
  152. data/spec/models/exposition/user_spec.rb +15 -0
  153. data/spec/rails_helper.rb +47 -0
  154. data/spec/spec_helper.rb +11 -0
  155. data/spec/support/controllers.rb +6 -0
  156. data/spec/support/controllers/pagination.rb +17 -0
  157. data/spec/support/controllers/session_management.rb +20 -0
  158. data/spec/support/features.rb +6 -0
  159. data/spec/support/features/pagination.rb +22 -0
  160. data/spec/support/features/session_management.rb +17 -0
  161. data/spec/support/models.rb +5 -0
  162. data/spec/support/models/sluggable.rb +11 -0
  163. data/spec/tasks/setup_spec.rb +32 -0
  164. data/spec/views/admin/posts/index.html.haml_spec.rb +16 -0
  165. metadata +619 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 910edd0922c44bf285e82ae92b5100ba30b75db6
4
+ data.tar.gz: c83dc154a37396ae7cdd559211755a81d389b81e
5
+ SHA512:
6
+ metadata.gz: 1e2194db1e37302a6e70f81360c73602c8739c068c55ab0ea37587e4c8c3a2afb319b33f66ed4ef01282e606d729463fdc68f869171f20c3e700b55227f852bc
7
+ data.tar.gz: 02339348afc53401bd919b8459ef2dd145cde1fc28c3dac0dc56101f94d70284edb2f4dd5750a4e2c7707569ccf8b022ca99b5e94b80915a13a422eb612a656b
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2016 Josh Klina
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile ADDED
@@ -0,0 +1,25 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+ require 'rdoc/task'
4
+ require 'rake'
5
+ require 'rspec/core'
6
+ require 'rspec/core/rake_task'
7
+
8
+ RDoc::Task.new(:rdoc) do |rdoc|
9
+ rdoc.rdoc_dir = 'rdoc'
10
+ rdoc.title = 'Exposition'
11
+ rdoc.options << '--line-numbers'
12
+ rdoc.rdoc_files.include('README.rdoc')
13
+ rdoc.rdoc_files.include('lib/**/*.rb')
14
+ end
15
+
16
+ APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
17
+ load 'rails/tasks/engine.rake'
18
+ load 'rails/tasks/statistics.rake'
19
+
20
+ Bundler::GemHelper.install_tasks
21
+
22
+
23
+ desc "Run all specs in spec directory (excluding plugin specs)"
24
+ RSpec::Core::RakeTask.new(:spec => 'app:db:test:prepare')
25
+ task :default => :spec
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg width="310px" height="310px" viewBox="0 0 310 310" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
3
+ <!-- Generator: Sketch 3.3.2 (12043) - http://www.bohemiancoding.com/sketch -->
4
+ <title>Untitled</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <defs></defs>
7
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
8
+ <path d="M155,310 C240.604136,310 310,240.604136 310,155 C310,69.3958638 240.604136,0 155,0 C69.3958638,0 0,69.3958638 0,155 C0,240.604136 69.3958638,310 155,310 Z M233.650474,106.568359 C227.886741,109.128933 221.69269,110.859516 215.191515,111.637848 C221.827343,107.653202 226.922967,101.343892 229.322661,93.8263318 C223.113139,97.5153722 216.234934,100.194762 208.91438,101.638924 C203.051518,95.3818475 194.699004,91.4718206 185.455485,91.4718206 C167.705891,91.4718206 153.315752,105.886457 153.315752,123.66583 C153.315752,126.189094 153.600529,128.64635 154.14831,131.002583 C127.437682,129.660018 103.756467,116.842798 87.9051971,97.3649865 C85.1387883,102.119928 83.5538905,107.650332 83.5538905,113.550386 C83.5538905,124.719677 89.2282372,134.573955 97.8517774,140.347157 C92.5831095,140.180126 87.6278686,138.731946 83.2943248,136.32061 C83.2920328,136.454924 83.2920328,136.589812 83.2920328,136.725274 C83.2920328,152.324054 94.3702737,165.33643 109.072693,168.293632 C106.375617,169.029489 103.536438,169.422673 100.605007,169.422673 C98.5342117,169.422673 96.5207153,169.221202 94.5587883,168.845238 C98.6482372,181.636054 110.517208,190.943892 124.580741,191.20391 C113.581573,199.838457 99.7237445,204.985435 84.6666423,204.985435 C82.0727044,204.985435 79.514292,204.833327 77,204.536 C91.2228248,213.670493 108.116369,219 126.265912,219 C185.380423,219 217.70638,169.942709 217.70638,127.399067 C217.70638,126.003121 217.675438,124.614637 217.613555,123.234188 C223.892409,118.695067 229.341569,113.02461 233.650474,106.568359 Z" id="Oval-1" fill="#000000" sketch:type="MSShapeGroup"></path>
9
+ </g>
10
+ </svg>
@@ -0,0 +1,3 @@
1
+ //= require jquery
2
+ //= require jquery_ujs
3
+ //= require_tree .
@@ -0,0 +1,5 @@
1
+ // Neat Breakpoints
2
+ $large-screen: 900px;
3
+
4
+ $small-screen-up: new-breakpoint(min-width 0px 4);
5
+ $large-screen-up: new-breakpoint(min-width $large-screen 12);
@@ -0,0 +1,83 @@
1
+ /* Solarized Dark
2
+
3
+ SOLARIZED HEX ROLE
4
+ --------- -------- ------------------------------------------
5
+ base03 #002b36 background
6
+ base01 #586e75 comments / secondary content
7
+ base1 #93a1a1 body text / default code / primary content
8
+ orange #cb4b16 constants
9
+ red #dc322f regex, special keywords
10
+ blue #268bd2 reserved keywords
11
+ cyan #2aa198 strings, numbers
12
+ green #859900 operators, other keywords
13
+ */
14
+
15
+ .highlight { background-color: #002b36; color: #93a1a1 }
16
+ .highlight .c { color: #586e75 } /* Comment */
17
+ .highlight .err { color: #93a1a1 } /* Error */
18
+ .highlight .g { color: #93a1a1 } /* Generic */
19
+ .highlight .k { color: #859900 } /* Keyword */
20
+ .highlight .l { color: #93a1a1 } /* Literal */
21
+ .highlight .n { color: #93a1a1 } /* Name */
22
+ .highlight .o { color: #859900 } /* Operator */
23
+ .highlight .x { color: #cb4b16 } /* Other */
24
+ .highlight .p { color: #93a1a1 } /* Punctuation */
25
+ .highlight .cm { color: #586e75 } /* Comment.Multiline */
26
+ .highlight .cp { color: #859900 } /* Comment.Preproc */
27
+ .highlight .c1 { color: #586e75 } /* Comment.Single */
28
+ .highlight .cs { color: #859900 } /* Comment.Special */
29
+ .highlight .gd { color: #2aa198 } /* Generic.Deleted */
30
+ .highlight .ge { color: #93a1a1; font-style: italic } /* Generic.Emph */
31
+ .highlight .gr { color: #dc322f } /* Generic.Error */
32
+ .highlight .gh { color: #cb4b16 } /* Generic.Heading */
33
+ .highlight .gi { color: #859900 } /* Generic.Inserted */
34
+ .highlight .go { color: #93a1a1 } /* Generic.Output */
35
+ .highlight .gp { color: #93a1a1 } /* Generic.Prompt */
36
+ .highlight .gs { color: #93a1a1; font-weight: bold } /* Generic.Strong */
37
+ .highlight .gu { color: #cb4b16 } /* Generic.Subheading */
38
+ .highlight .gt { color: #93a1a1 } /* Generic.Traceback */
39
+ .highlight .kc { color: #cb4b16 } /* Keyword.Constant */
40
+ .highlight .kd { color: #268bd2 } /* Keyword.Declaration */
41
+ .highlight .kn { color: #859900 } /* Keyword.Namespace */
42
+ .highlight .kp { color: #859900 } /* Keyword.Pseudo */
43
+ .highlight .kr { color: #268bd2 } /* Keyword.Reserved */
44
+ .highlight .kt { color: #dc322f } /* Keyword.Type */
45
+ .highlight .ld { color: #93a1a1 } /* Literal.Date */
46
+ .highlight .m { color: #2aa198 } /* Literal.Number */
47
+ .highlight .s { color: #2aa198 } /* Literal.String */
48
+ .highlight .na { color: #93a1a1 } /* Name.Attribute */
49
+ .highlight .nb { color: #B58900 } /* Name.Builtin */
50
+ .highlight .nc { color: #268bd2 } /* Name.Class */
51
+ .highlight .no { color: #cb4b16 } /* Name.Constant */
52
+ .highlight .nd { color: #268bd2 } /* Name.Decorator */
53
+ .highlight .ni { color: #cb4b16 } /* Name.Entity */
54
+ .highlight .ne { color: #cb4b16 } /* Name.Exception */
55
+ .highlight .nf { color: #268bd2 } /* Name.Function */
56
+ .highlight .nl { color: #93a1a1 } /* Name.Label */
57
+ .highlight .nn { color: #93a1a1 } /* Name.Namespace */
58
+ .highlight .nx { color: #93a1a1 } /* Name.Other */
59
+ .highlight .py { color: #93a1a1 } /* Name.Property */
60
+ .highlight .nt { color: #268bd2 } /* Name.Tag */
61
+ .highlight .nv { color: #268bd2 } /* Name.Variable */
62
+ .highlight .ow { color: #859900 } /* Operator.Word */
63
+ .highlight .w { color: #93a1a1 } /* Text.Whitespace */
64
+ .highlight .mf { color: #2aa198 } /* Literal.Number.Float */
65
+ .highlight .mh { color: #2aa198 } /* Literal.Number.Hex */
66
+ .highlight .mi { color: #2aa198 } /* Literal.Number.Integer */
67
+ .highlight .mo { color: #2aa198 } /* Literal.Number.Oct */
68
+ .highlight .sb { color: #586e75 } /* Literal.String.Backtick */
69
+ .highlight .sc { color: #2aa198 } /* Literal.String.Char */
70
+ .highlight .sd { color: #93a1a1 } /* Literal.String.Doc */
71
+ .highlight .s2 { color: #2aa198 } /* Literal.String.Double */
72
+ .highlight .se { color: #cb4b16 } /* Literal.String.Escape */
73
+ .highlight .sh { color: #93a1a1 } /* Literal.String.Heredoc */
74
+ .highlight .si { color: #2aa198 } /* Literal.String.Interpol */
75
+ .highlight .sx { color: #2aa198 } /* Literal.String.Other */
76
+ .highlight .sr { color: #dc322f } /* Literal.String.Regex */
77
+ .highlight .s1 { color: #2aa198 } /* Literal.String.Single */
78
+ .highlight .ss { color: #2aa198 } /* Literal.String.Symbol */
79
+ .highlight .bp { color: #268bd2 } /* Name.Builtin.Pseudo */
80
+ .highlight .vc { color: #268bd2 } /* Name.Variable.Class */
81
+ .highlight .vg { color: #268bd2 } /* Name.Variable.Global */
82
+ .highlight .vi { color: #268bd2 } /* Name.Variable.Instance */
83
+ .highlight .il { color: #2aa198 } /* Literal.Number.Integer.Long */
@@ -0,0 +1,9 @@
1
+ footer {
2
+ .info {
3
+ @include outer-container;
4
+ @include base-padding;
5
+ }
6
+ background-color: $dark-background-color;
7
+ border-top: 1px solid $border-color;
8
+ color: $header-text-color;
9
+ }
@@ -0,0 +1,62 @@
1
+ header {
2
+ background-color: $dark-background-color;
3
+ border-bottom: 1px solid $border-color;
4
+ color: $header-text-color;
5
+
6
+ h1 {
7
+ font-size: modular-scale(2);
8
+ text-align: center;
9
+ }
10
+
11
+ ul {
12
+ padding: 0;
13
+ text-align: center;
14
+ }
15
+
16
+ ul.social {
17
+ margin: modular-scale(0) 0;
18
+
19
+ .twitter {
20
+ height: modular-scale(3);
21
+ width: modular-scale(3);
22
+ }
23
+
24
+ li {
25
+ list-style: none;
26
+ display: inline;
27
+ }
28
+
29
+ }
30
+
31
+ .menu {
32
+ margin: 2em 1em 0 0;
33
+
34
+ li {
35
+ padding-right: 1em;
36
+ list-style: none;
37
+ display: inline;
38
+ text-align: left;
39
+ }
40
+ }
41
+
42
+
43
+ @include media($large-screen-up) {
44
+ h1 {
45
+ float: left;
46
+ }
47
+
48
+ ul.social {
49
+ float: right;
50
+ }
51
+
52
+ .menu {
53
+ float: right;
54
+ }
55
+ }
56
+
57
+ nav {
58
+ @include outer-container;
59
+ overflow: auto;
60
+ @include base-padding;
61
+ }
62
+ }
@@ -0,0 +1,28 @@
1
+ html {
2
+ background: $background-color;
3
+ }
4
+
5
+ body {
6
+ color: $text-color;
7
+ font-family: $sans-serif-font;
8
+ font-weight: 300;
9
+ }
10
+
11
+ h1, h2, h3, h4, h5, h6 {
12
+ font-family: $serif-font;
13
+ font-weight: 300;
14
+ color: $text-bold-color;
15
+ }
16
+
17
+
18
+ a {
19
+ text-decoration: none;
20
+ color: $header-text-color;
21
+
22
+ }
23
+
24
+ aside {
25
+ @include span-columns(4);
26
+ }
27
+
28
+
@@ -0,0 +1,4 @@
1
+ @mixin base-padding {
2
+ padding: modular-scale(0);
3
+ }
4
+
@@ -0,0 +1,427 @@
1
+ /*! normalize.css v3.0.2 | MIT License | git.io/normalize */
2
+
3
+ /**
4
+ * 1. Set default font family to sans-serif.
5
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
6
+ * user zoom.
7
+ */
8
+
9
+ html {
10
+ font-family: sans-serif; /* 1 */
11
+ -ms-text-size-adjust: 100%; /* 2 */
12
+ -webkit-text-size-adjust: 100%; /* 2 */
13
+ }
14
+
15
+ /**
16
+ * Remove default margin.
17
+ */
18
+
19
+ body {
20
+ margin: 0;
21
+ }
22
+
23
+ /* HTML5 display definitions
24
+ ========================================================================== */
25
+
26
+ /**
27
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
28
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11
29
+ * and Firefox.
30
+ * Correct `block` display not defined for `main` in IE 11.
31
+ */
32
+
33
+ article,
34
+ aside,
35
+ details,
36
+ figcaption,
37
+ figure,
38
+ footer,
39
+ header,
40
+ hgroup,
41
+ main,
42
+ menu,
43
+ nav,
44
+ section,
45
+ summary {
46
+ display: block;
47
+ }
48
+
49
+ /**
50
+ * 1. Correct `inline-block` display not defined in IE 8/9.
51
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
52
+ */
53
+
54
+ audio,
55
+ canvas,
56
+ progress,
57
+ video {
58
+ display: inline-block; /* 1 */
59
+ vertical-align: baseline; /* 2 */
60
+ }
61
+
62
+ /**
63
+ * Prevent modern browsers from displaying `audio` without controls.
64
+ * Remove excess height in iOS 5 devices.
65
+ */
66
+
67
+ audio:not([controls]) {
68
+ display: none;
69
+ height: 0;
70
+ }
71
+
72
+ /**
73
+ * Address `[hidden]` styling not present in IE 8/9/10.
74
+ * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
75
+ */
76
+
77
+ [hidden],
78
+ template {
79
+ display: none;
80
+ }
81
+
82
+ /* Links
83
+ ========================================================================== */
84
+
85
+ /**
86
+ * Remove the gray background color from active links in IE 10.
87
+ */
88
+
89
+ a {
90
+ background-color: transparent;
91
+ }
92
+
93
+ /**
94
+ * Improve readability when focused and also mouse hovered in all browsers.
95
+ */
96
+
97
+ a:active,
98
+ a:hover {
99
+ outline: 0;
100
+ }
101
+
102
+ /* Text-level semantics
103
+ ========================================================================== */
104
+
105
+ /**
106
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
107
+ */
108
+
109
+ abbr[title] {
110
+ border-bottom: 1px dotted;
111
+ }
112
+
113
+ /**
114
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
115
+ */
116
+
117
+ b,
118
+ strong {
119
+ font-weight: bold;
120
+ }
121
+
122
+ /**
123
+ * Address styling not present in Safari and Chrome.
124
+ */
125
+
126
+ dfn {
127
+ font-style: italic;
128
+ }
129
+
130
+ /**
131
+ * Address variable `h1` font-size and margin within `section` and `article`
132
+ * contexts in Firefox 4+, Safari, and Chrome.
133
+ */
134
+
135
+ h1 {
136
+ font-size: 2em;
137
+ margin: 0.67em 0;
138
+ }
139
+
140
+ /**
141
+ * Address styling not present in IE 8/9.
142
+ */
143
+
144
+ mark {
145
+ background: #ff0;
146
+ color: #000;
147
+ }
148
+
149
+ /**
150
+ * Address inconsistent and variable font size in all browsers.
151
+ */
152
+
153
+ small {
154
+ font-size: 80%;
155
+ }
156
+
157
+ /**
158
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
159
+ */
160
+
161
+ sub,
162
+ sup {
163
+ font-size: 75%;
164
+ line-height: 0;
165
+ position: relative;
166
+ vertical-align: baseline;
167
+ }
168
+
169
+ sup {
170
+ top: -0.5em;
171
+ }
172
+
173
+ sub {
174
+ bottom: -0.25em;
175
+ }
176
+
177
+ /* Embedded content
178
+ ========================================================================== */
179
+
180
+ /**
181
+ * Remove border when inside `a` element in IE 8/9/10.
182
+ */
183
+
184
+ img {
185
+ border: 0;
186
+ }
187
+
188
+ /**
189
+ * Correct overflow not hidden in IE 9/10/11.
190
+ */
191
+
192
+ svg:not(:root) {
193
+ overflow: hidden;
194
+ }
195
+
196
+ /* Grouping content
197
+ ========================================================================== */
198
+
199
+ /**
200
+ * Address margin not present in IE 8/9 and Safari.
201
+ */
202
+
203
+ figure {
204
+ margin: 1em 40px;
205
+ }
206
+
207
+ /**
208
+ * Address differences between Firefox and other browsers.
209
+ */
210
+
211
+ hr {
212
+ -moz-box-sizing: content-box;
213
+ box-sizing: content-box;
214
+ height: 0;
215
+ }
216
+
217
+ /**
218
+ * Contain overflow in all browsers.
219
+ */
220
+
221
+ pre {
222
+ overflow: auto;
223
+ }
224
+
225
+ /**
226
+ * Address odd `em`-unit font size rendering in all browsers.
227
+ */
228
+
229
+ code,
230
+ kbd,
231
+ pre,
232
+ samp {
233
+ font-family: monospace, monospace;
234
+ font-size: 1em;
235
+ }
236
+
237
+ /* Forms
238
+ ========================================================================== */
239
+
240
+ /**
241
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
242
+ * styling of `select`, unless a `border` property is set.
243
+ */
244
+
245
+ /**
246
+ * 1. Correct color not being inherited.
247
+ * Known issue: affects color of disabled elements.
248
+ * 2. Correct font properties not being inherited.
249
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
250
+ */
251
+
252
+ button,
253
+ input,
254
+ optgroup,
255
+ select,
256
+ textarea {
257
+ color: inherit; /* 1 */
258
+ font: inherit; /* 2 */
259
+ margin: 0; /* 3 */
260
+ }
261
+
262
+ /**
263
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
264
+ */
265
+
266
+ button {
267
+ overflow: visible;
268
+ }
269
+
270
+ /**
271
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
272
+ * All other form control elements do not inherit `text-transform` values.
273
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
274
+ * Correct `select` style inheritance in Firefox.
275
+ */
276
+
277
+ button,
278
+ select {
279
+ text-transform: none;
280
+ }
281
+
282
+ /**
283
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
284
+ * and `video` controls.
285
+ * 2. Correct inability to style clickable `input` types in iOS.
286
+ * 3. Improve usability and consistency of cursor style between image-type
287
+ * `input` and others.
288
+ */
289
+
290
+ button,
291
+ html input[type="button"], /* 1 */
292
+ input[type="reset"],
293
+ input[type="submit"] {
294
+ -webkit-appearance: button; /* 2 */
295
+ cursor: pointer; /* 3 */
296
+ }
297
+
298
+ /**
299
+ * Re-set default cursor for disabled elements.
300
+ */
301
+
302
+ button[disabled],
303
+ html input[disabled] {
304
+ cursor: default;
305
+ }
306
+
307
+ /**
308
+ * Remove inner padding and border in Firefox 4+.
309
+ */
310
+
311
+ button::-moz-focus-inner,
312
+ input::-moz-focus-inner {
313
+ border: 0;
314
+ padding: 0;
315
+ }
316
+
317
+ /**
318
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
319
+ * the UA stylesheet.
320
+ */
321
+
322
+ input {
323
+ line-height: normal;
324
+ }
325
+
326
+ /**
327
+ * It's recommended that you don't attempt to style these elements.
328
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
329
+ *
330
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
331
+ * 2. Remove excess padding in IE 8/9/10.
332
+ */
333
+
334
+ input[type="checkbox"],
335
+ input[type="radio"] {
336
+ box-sizing: border-box; /* 1 */
337
+ padding: 0; /* 2 */
338
+ }
339
+
340
+ /**
341
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
342
+ * `font-size` values of the `input`, it causes the cursor style of the
343
+ * decrement button to change from `default` to `text`.
344
+ */
345
+
346
+ input[type="number"]::-webkit-inner-spin-button,
347
+ input[type="number"]::-webkit-outer-spin-button {
348
+ height: auto;
349
+ }
350
+
351
+ /**
352
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
353
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
354
+ * (include `-moz` to future-proof).
355
+ */
356
+
357
+ input[type="search"] {
358
+ -webkit-appearance: textfield; /* 1 */
359
+ -moz-box-sizing: content-box;
360
+ -webkit-box-sizing: content-box; /* 2 */
361
+ box-sizing: content-box;
362
+ }
363
+
364
+ /**
365
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
366
+ * Safari (but not Chrome) clips the cancel button when the search input has
367
+ * padding (and `textfield` appearance).
368
+ */
369
+
370
+ input[type="search"]::-webkit-search-cancel-button,
371
+ input[type="search"]::-webkit-search-decoration {
372
+ -webkit-appearance: none;
373
+ }
374
+
375
+ /**
376
+ * Define consistent border, margin, and padding.
377
+ */
378
+
379
+ fieldset {
380
+ border: 1px solid #c0c0c0;
381
+ margin: 0 2px;
382
+ padding: 0.35em 0.625em 0.75em;
383
+ }
384
+
385
+ /**
386
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
387
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
388
+ */
389
+
390
+ legend {
391
+ border: 0; /* 1 */
392
+ padding: 0; /* 2 */
393
+ }
394
+
395
+ /**
396
+ * Remove default vertical scrollbar in IE 8/9/10/11.
397
+ */
398
+
399
+ textarea {
400
+ overflow: auto;
401
+ }
402
+
403
+ /**
404
+ * Don't inherit the `font-weight` (applied by a rule above).
405
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
406
+ */
407
+
408
+ optgroup {
409
+ font-weight: bold;
410
+ }
411
+
412
+ /* Tables
413
+ ========================================================================== */
414
+
415
+ /**
416
+ * Remove most spacing between table cells.
417
+ */
418
+
419
+ table {
420
+ border-collapse: collapse;
421
+ border-spacing: 0;
422
+ }
423
+
424
+ td,
425
+ th {
426
+ padding: 0;
427
+ }