├── CNAME
├── Gemfile
├── .gitignore
├── assets
└── tangram-runner.png
├── _sass
├── _custom.scss
├── _syntax-highlighting.scss
├── _base.scss
└── _layout.scss
├── _layouts
├── page.html
├── default.html
└── post.html
├── README.md
├── _config.yml
├── _includes
├── head.html
├── header.html
└── footer.html
├── index.md
└── css
└── main.scss
/CNAME:
--------------------------------------------------------------------------------
1 | elm-community.org
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 | gem 'github-pages'
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | _site/
2 | .sass-cache/
3 | .jekyll-metadata
4 | Gemfile*
5 |
--------------------------------------------------------------------------------
/assets/tangram-runner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elm-community/elm-community.github.io/master/assets/tangram-runner.png
--------------------------------------------------------------------------------
/_sass/_custom.scss:
--------------------------------------------------------------------------------
1 | .precedence {
2 | td { padding: .5em; border-right: 1px solid lightgrey; }
3 | tr { margin: 0; padding: 0; }
4 | border-collapse: collapse;
5 | }
6 |
7 |
--------------------------------------------------------------------------------
/_layouts/page.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 |
5 |
6 |
9 |
10 |
11 | {{ content }}
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/_layouts/default.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {% include head.html %}
5 |
6 |
7 |
8 | {% include header.html %}
9 |
10 |
11 |
12 | {{ content }}
13 |
14 |
15 |
16 | {% include footer.html %}
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/_layouts/post.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 |
5 |
6 |
10 |
11 |
12 | {{ content }}
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Elm-Community
2 |
3 | ## Unofficial group for shared work on Elm packages and documentation
4 |
5 | ## Serving a development version of this document
6 |
7 | ### Setup
8 |
9 | ```bash
10 | sudo gem install bundler
11 | git clone git@github.com:elm-community/elm-community.github.io.git
12 | cd elm-community.github.io
13 | bundle install
14 | ```
15 |
16 | ### Serving
17 |
18 | ```bash
19 | cd elm-community.github.io
20 | bundle exec jekyll serve
21 | ```
22 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | # Site settings
2 |
3 | title: Elm Community
4 |
5 | description: > # this means to ignore newlines until "baseurl:"
6 | Unofficial group for shared work on Elm packages and documentation
7 |
8 | github_username: elm-community
9 |
10 | # Build settings
11 |
12 | markdown: kramdown
13 |
14 | # The following are supposed to be defaults per
15 | # https://help.github.com/articles/using-jekyll-with-pages/ but as of 2016-02-02
16 | # I have to set them explicitly for correct output. -@fredcy
17 | kramdown:
18 | input: GFM
19 | hard_wrap: false
20 |
21 |
--------------------------------------------------------------------------------
/_includes/head.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Elm Community
3 | layout: page
4 | ---
5 | This is the home page for the Elm-Community organization on Github.com.
6 |
7 | See the [Elm-Community Manifesto](https://github.com/elm-community/Manifesto) for a full description of what this organization is about.
8 |
9 | See [github.com/elm-community](https://github.com/elm-community) for a list of our repositories.
10 |
11 | General issues about this organization are managed in the [Manifesto issue tracker]( https://github.com/elm-community/Manifesto/issues).
12 |
13 | ## Information projects
14 |
15 | * [Built with Elm](http://builtwithelm.co/)
16 |
17 | * [Elm FAQ](http://elm-community.github.io/elm-faq/)
18 |
19 | ## Related (but unaffiliated) sites
20 |
21 | * [Elm-guides](https://github.com/elm-guides)
22 |
23 | * [Elm-hub](https://github.com/elm-hub)
24 |
25 |
26 |
--------------------------------------------------------------------------------
/css/main.scss:
--------------------------------------------------------------------------------
1 | ---
2 | # Only the main Sass file needs front matter (the dashes are enough)
3 | ---
4 | @charset "utf-8";
5 |
6 |
7 |
8 | // Our variables
9 | $base-font-family: Helvetica, Arial, sans-serif;
10 | $base-font-size: 16px;
11 | $small-font-size: $base-font-size * 0.875;
12 | $base-line-height: 1.5;
13 |
14 | $spacing-unit: 30px;
15 |
16 | $text-color: #111;
17 | $background-color: #fdfdfd;
18 | $brand-color: #2a7ae2;
19 |
20 | $grey-color: #828282;
21 | $grey-color-light: lighten($grey-color, 40%);
22 | $grey-color-dark: darken($grey-color, 25%);
23 |
24 | $on-palm: 600px;
25 | $on-laptop: 800px;
26 |
27 |
28 |
29 | // Using media queries with like this:
30 | // @include media-query($palm) {
31 | // .wrapper {
32 | // padding-right: $spacing-unit / 2;
33 | // padding-left: $spacing-unit / 2;
34 | // }
35 | // }
36 | @mixin media-query($device) {
37 | @media screen and (max-width: $device) {
38 | @content;
39 | }
40 | }
41 |
42 |
43 |
44 | // Import partials from `sass_dir` (defaults to `_sass`)
45 | @import
46 | "base",
47 | "layout",
48 | "syntax-highlighting"
49 | , "custom"
50 | ;
51 |
--------------------------------------------------------------------------------
/_includes/header.html:
--------------------------------------------------------------------------------
1 |
32 |
--------------------------------------------------------------------------------
/_includes/footer.html:
--------------------------------------------------------------------------------
1 |
56 |
--------------------------------------------------------------------------------
/_sass/_syntax-highlighting.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Syntax highlighting styles
3 | */
4 | .highlight {
5 | ////background: #fff;
6 | @extend %vertical-rhythm;
7 |
8 | .c { color: #998; font-style: italic } // Comment
9 | .err { color: #a61717; background-color: #e3d2d2 } // Error
10 | .k { font-weight: bold } // Keyword
11 | .o { font-weight: bold } // Operator
12 | .cm { color: #998; font-style: italic } // Comment.Multiline
13 | .cp { color: #999; font-weight: bold } // Comment.Preproc
14 | .c1 { color: #998; font-style: italic } // Comment.Single
15 | .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special
16 | .gd { color: #000; background-color: #fdd } // Generic.Deleted
17 | .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific
18 | .ge { font-style: italic } // Generic.Emph
19 | .gr { color: #a00 } // Generic.Error
20 | .gh { color: #999 } // Generic.Heading
21 | .gi { color: #000; background-color: #dfd } // Generic.Inserted
22 | .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific
23 | .go { color: #888 } // Generic.Output
24 | .gp { color: #555 } // Generic.Prompt
25 | .gs { font-weight: bold } // Generic.Strong
26 | .gu { color: #aaa } // Generic.Subheading
27 | .gt { color: #a00 } // Generic.Traceback
28 | .kc { font-weight: bold } // Keyword.Constant
29 | .kd { font-weight: bold } // Keyword.Declaration
30 | .kp { font-weight: bold } // Keyword.Pseudo
31 | .kr { font-weight: bold } // Keyword.Reserved
32 | .kt { color: #458; font-weight: bold } // Keyword.Type
33 | .m { color: #099 } // Literal.Number
34 | .s { color: #d14 } // Literal.String
35 | .na { color: #008080 } // Name.Attribute
36 | .nb { color: #0086B3 } // Name.Builtin
37 | .nc { color: #458; font-weight: bold } // Name.Class
38 | .no { color: #008080 } // Name.Constant
39 | .ni { color: #800080 } // Name.Entity
40 | .ne { color: #900; font-weight: bold } // Name.Exception
41 | .nf { color: #900; font-weight: bold } // Name.Function
42 | .nn { color: #555 } // Name.Namespace
43 | .nt { color: #000080 } // Name.Tag
44 | .nv { color: #008080 } // Name.Variable
45 | .ow { font-weight: bold } // Operator.Word
46 | .w { color: #bbb } // Text.Whitespace
47 | .mf { color: #099 } // Literal.Number.Float
48 | .mh { color: #099 } // Literal.Number.Hex
49 | .mi { color: #099 } // Literal.Number.Integer
50 | .mo { color: #099 } // Literal.Number.Oct
51 | .sb { color: #d14 } // Literal.String.Backtick
52 | .sc { color: #d14 } // Literal.String.Char
53 | .sd { color: #d14 } // Literal.String.Doc
54 | .s2 { color: #d14 } // Literal.String.Double
55 | .se { color: #d14 } // Literal.String.Escape
56 | .sh { color: #d14 } // Literal.String.Heredoc
57 | .si { color: #d14 } // Literal.String.Interpol
58 | .sx { color: #d14 } // Literal.String.Other
59 | .sr { color: #009926 } // Literal.String.Regex
60 | .s1 { color: #d14 } // Literal.String.Single
61 | .ss { color: #990073 } // Literal.String.Symbol
62 | .bp { color: #999 } // Name.Builtin.Pseudo
63 | .vc { color: #008080 } // Name.Variable.Class
64 | .vg { color: #008080 } // Name.Variable.Global
65 | .vi { color: #008080 } // Name.Variable.Instance
66 | .il { color: #099 } // Literal.Number.Integer.Long
67 | }
68 |
--------------------------------------------------------------------------------
/_sass/_base.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Reset some basic elements
3 | */
4 | body, h1, h2, h3, h4, h5, h6,
5 | p, blockquote, pre, hr,
6 | dl, dd, ol, ul, figure {
7 | margin: 0;
8 | padding: 0;
9 | }
10 |
11 |
12 |
13 | /**
14 | * Basic styling
15 | */
16 | body {
17 | font-family: $base-font-family;
18 | font-size: $base-font-size;
19 | line-height: $base-line-height;
20 | font-weight: 300;
21 | color: $text-color;
22 | background-color: $background-color;
23 | -webkit-text-size-adjust: 100%;
24 | }
25 |
26 |
27 |
28 | /**
29 | * Set `margin-bottom` to maintain vertical rhythm
30 | */
31 | h1, h2, h3, h4, h5, h6,
32 | p, blockquote, pre,
33 | ul, ol, dl, figure,
34 | %vertical-rhythm {
35 | margin-bottom: $spacing-unit / 2;
36 | }
37 |
38 |
39 |
40 | /**
41 | * Images
42 | */
43 | img {
44 | max-width: 100%;
45 | vertical-align: middle;
46 | }
47 |
48 |
49 |
50 | /**
51 | * Figures
52 | */
53 | figure > img {
54 | display: block;
55 | }
56 |
57 | figcaption {
58 | font-size: $small-font-size;
59 | }
60 |
61 |
62 |
63 | /**
64 | * Lists
65 | */
66 | ul, ol {
67 | margin-left: $spacing-unit;
68 | }
69 |
70 | li {
71 | > ul,
72 | > ol {
73 | margin-bottom: 0;
74 | }
75 | }
76 |
77 |
78 |
79 | /**
80 | * Headings
81 | */
82 | h1, h2, h3, h4, h5, h6 {
83 | font-weight: 300;
84 | }
85 |
86 |
87 |
88 | /**
89 | * Links
90 | */
91 | a {
92 | color: $brand-color;
93 | text-decoration: none;
94 |
95 | &:visited {
96 | color: darken($brand-color, 15%);
97 | }
98 |
99 | &:hover {
100 | color: $text-color;
101 | text-decoration: underline;
102 | }
103 | }
104 |
105 |
106 |
107 | /**
108 | * Blockquotes
109 | */
110 | blockquote {
111 | color: $grey-color;
112 | border-left: 4px solid $grey-color-light;
113 | padding-left: $spacing-unit / 2;
114 | font-size: 18px;
115 | letter-spacing: -1px;
116 | font-style: italic;
117 |
118 | > :last-child {
119 | margin-bottom: 0;
120 | }
121 | }
122 |
123 |
124 |
125 | /**
126 | * Code formatting
127 | */
128 | pre,
129 | code {
130 | font-size: 15px;
131 | /* border: 1px solid $grey-color-light; */
132 | border-radius: 3px;
133 | background-color: rgb(247, 247, 247);
134 | }
135 |
136 | code {
137 | padding: 1px 5px;
138 | }
139 |
140 | pre {
141 | padding: 8px 12px;
142 | overflow: auto;
143 |
144 | > code {
145 | border: 0;
146 | padding-right: 0;
147 | padding-left: 0;
148 | }
149 | }
150 |
151 |
152 |
153 | /**
154 | * Wrapper
155 | */
156 | .wrapper {
157 | max-width: -webkit-calc(800px - (#{$spacing-unit} * 2));
158 | max-width: calc(800px - (#{$spacing-unit} * 2));
159 | margin-right: auto;
160 | margin-left: auto;
161 | padding-right: $spacing-unit;
162 | padding-left: $spacing-unit;
163 | @extend %clearfix;
164 |
165 | @include media-query($on-laptop) {
166 | max-width: -webkit-calc(800px - (#{$spacing-unit}));
167 | max-width: calc(800px - (#{$spacing-unit}));
168 | padding-right: $spacing-unit / 2;
169 | padding-left: $spacing-unit / 2;
170 | }
171 | }
172 |
173 |
174 |
175 | /**
176 | * Clearfix
177 | */
178 | %clearfix {
179 |
180 | &:after {
181 | content: "";
182 | display: table;
183 | clear: both;
184 | }
185 | }
186 |
187 |
188 |
189 | /**
190 | * Icons
191 | */
192 | .icon {
193 |
194 | > svg {
195 | display: inline-block;
196 | width: 16px;
197 | height: 16px;
198 | vertical-align: middle;
199 |
200 | path {
201 | fill: $grey-color;
202 | }
203 | }
204 | }
205 |
--------------------------------------------------------------------------------
/_sass/_layout.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Site header
3 | */
4 | .site-header {
5 | border-top: 5px solid $grey-color-dark;
6 | border-bottom: 1px solid $grey-color-light;
7 | min-height: 56px;
8 |
9 | // Positioning context for the mobile navigation icon
10 | position: relative;
11 | }
12 |
13 | .site-title {
14 | font-size: 26px;
15 | line-height: 56px;
16 | letter-spacing: -1px;
17 | margin-bottom: 0;
18 | float: left;
19 |
20 | &,
21 | &:visited {
22 | color: $grey-color-dark;
23 | }
24 | }
25 |
26 | .site-nav {
27 | float: right;
28 | line-height: 56px;
29 |
30 | .menu-icon {
31 | display: none;
32 | }
33 |
34 | .page-link {
35 | color: $text-color;
36 | line-height: $base-line-height;
37 |
38 | // Gaps between nav items, but not on the first one
39 | &:not(:first-child) {
40 | margin-left: 20px;
41 | }
42 | }
43 |
44 | @include media-query($on-palm) {
45 | position: absolute;
46 | top: 9px;
47 | right: 30px;
48 | background-color: $background-color;
49 | border: 1px solid $grey-color-light;
50 | border-radius: 5px;
51 | text-align: right;
52 |
53 | .menu-icon {
54 | display: block;
55 | float: right;
56 | width: 36px;
57 | height: 26px;
58 | line-height: 0;
59 | padding-top: 10px;
60 | text-align: center;
61 |
62 | > svg {
63 | width: 18px;
64 | height: 15px;
65 |
66 | path {
67 | fill: $grey-color-dark;
68 | }
69 | }
70 | }
71 |
72 | .trigger {
73 | clear: both;
74 | display: none;
75 | }
76 |
77 | &:hover .trigger {
78 | display: block;
79 | padding-bottom: 5px;
80 | }
81 |
82 | .page-link {
83 | display: block;
84 | padding: 5px 10px;
85 | }
86 | }
87 | }
88 |
89 | .logo {
90 | float: left;
91 | padding-right: 20px;
92 | img {
93 | height: 80px;
94 | }
95 | }
96 |
97 | /**
98 | * Site footer
99 | */
100 | .site-footer {
101 | border-top: 1px solid $grey-color-light;
102 | padding: $spacing-unit 0;
103 | }
104 |
105 | .footer-heading {
106 | font-size: 18px;
107 | margin-bottom: $spacing-unit / 2;
108 | }
109 |
110 | .contact-list,
111 | .social-media-list {
112 | list-style: none;
113 | margin-left: 0;
114 | }
115 |
116 | .footer-col-wrapper {
117 | font-size: 15px;
118 | color: $grey-color;
119 | margin-left: -$spacing-unit / 2;
120 | @extend %clearfix;
121 | }
122 |
123 | .footer-col {
124 | float: left;
125 | margin-bottom: $spacing-unit / 2;
126 | padding-left: $spacing-unit / 2;
127 | }
128 |
129 | .footer-col-1 {
130 | width: -webkit-calc(35% - (#{$spacing-unit} / 2));
131 | width: calc(35% - (#{$spacing-unit} / 2));
132 | }
133 |
134 | .footer-col-2 {
135 | width: -webkit-calc(20% - (#{$spacing-unit} / 2));
136 | width: calc(20% - (#{$spacing-unit} / 2));
137 | }
138 |
139 | .footer-col-3 {
140 | width: -webkit-calc(45% - (#{$spacing-unit} / 2));
141 | width: calc(45% - (#{$spacing-unit} / 2));
142 | }
143 |
144 | @include media-query($on-laptop) {
145 | .footer-col-1,
146 | .footer-col-2 {
147 | width: -webkit-calc(50% - (#{$spacing-unit} / 2));
148 | width: calc(50% - (#{$spacing-unit} / 2));
149 | }
150 |
151 | .footer-col-3 {
152 | width: -webkit-calc(100% - (#{$spacing-unit} / 2));
153 | width: calc(100% - (#{$spacing-unit} / 2));
154 | }
155 | }
156 |
157 | @include media-query($on-palm) {
158 | .footer-col {
159 | float: none;
160 | width: -webkit-calc(100% - (#{$spacing-unit} / 2));
161 | width: calc(100% - (#{$spacing-unit} / 2));
162 | }
163 | }
164 |
165 |
166 |
167 | /**
168 | * Page content
169 | */
170 | .page-content {
171 | padding: $spacing-unit 0;
172 | }
173 |
174 | .page-heading {
175 | font-size: 20px;
176 | }
177 |
178 | .post-list {
179 | margin-left: 0;
180 | list-style: none;
181 |
182 | > li {
183 | margin-bottom: $spacing-unit;
184 | }
185 | }
186 |
187 | .post-meta {
188 | font-size: $small-font-size;
189 | color: $grey-color;
190 | }
191 |
192 | .post-link {
193 | display: block;
194 | font-size: 24px;
195 | }
196 |
197 |
198 |
199 | /**
200 | * Posts
201 | */
202 | .post-header {
203 | margin-bottom: $spacing-unit;
204 | }
205 |
206 | .post-title {
207 | font-size: 42px;
208 | letter-spacing: -1px;
209 | line-height: 1;
210 |
211 | @include media-query($on-laptop) {
212 | font-size: 36px;
213 | }
214 | }
215 |
216 | .post-content {
217 | margin-bottom: $spacing-unit;
218 |
219 | h2 {
220 | font-size: 32px;
221 |
222 | @include media-query($on-laptop) {
223 | font-size: 28px;
224 | }
225 | }
226 |
227 | h3 {
228 | font-size: 26px;
229 |
230 | @include media-query($on-laptop) {
231 | font-size: 22px;
232 | }
233 | }
234 |
235 | h4 {
236 | font-size: 20px;
237 |
238 | @include media-query($on-laptop) {
239 | font-size: 18px;
240 | }
241 | }
242 | }
243 |
--------------------------------------------------------------------------------