alembic-jekyll-theme 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +141 -0
  4. data/_includes/button.html +1 -0
  5. data/_includes/figure.html +4 -0
  6. data/_includes/icon.html +4 -0
  7. data/_includes/map.html +3 -0
  8. data/_includes/nav-default.html +11 -0
  9. data/_includes/nav-footer.html +13 -0
  10. data/_includes/nav-header.html +13 -0
  11. data/_includes/nav-social.html +8 -0
  12. data/_includes/post-comments.html +17 -0
  13. data/_includes/post-list.html +34 -0
  14. data/_includes/post-meta.html +3 -0
  15. data/_includes/post-pagination.html +17 -0
  16. data/_includes/post-related.html +14 -0
  17. data/_includes/post-share-buttons.html +12 -0
  18. data/_includes/site-aside.html +22 -0
  19. data/_includes/site-favicons.html +4 -0
  20. data/_includes/site-feature.html +17 -0
  21. data/_includes/site-footer.html +9 -0
  22. data/_includes/site-form.html +27 -0
  23. data/_includes/site-header.html +12 -0
  24. data/_includes/site-icons.svg +22 -0
  25. data/_includes/video.html +3 -0
  26. data/_layouts/blog.html +28 -0
  27. data/_layouts/default.html +30 -0
  28. data/_layouts/page-aside-left.html +21 -0
  29. data/_layouts/page-full.html +19 -0
  30. data/_layouts/page.html +21 -0
  31. data/_layouts/post.html +25 -0
  32. data/_sass/_flex.scss +394 -0
  33. data/_sass/_normalize.scss +419 -0
  34. data/_sass/_sassline-base.scss +7 -0
  35. data/_sass/_syntax.scss +61 -0
  36. data/_sass/sassline-base/_layouts.scss +282 -0
  37. data/_sass/sassline-base/_mixins.scss +420 -0
  38. data/_sass/sassline-base/_modular-scale.scss +66 -0
  39. data/_sass/sassline-base/_reset.scss +13 -0
  40. data/_sass/sassline-base/_typography.scss +363 -0
  41. data/_sass/sassline-base/_variables.scss +108 -0
  42. data/assets/placeholder-logo.png +0 -0
  43. data/assets/placeholder-social.png +0 -0
  44. data/assets/styles.scss +396 -0
  45. metadata +200 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 1823cb59eeb9ceeb05c70d54e577df1f2fcb5a45
4
+ data.tar.gz: c3883f77e44ada4e7db8e64b2d0f2704450a9420
5
+ SHA512:
6
+ metadata.gz: 5dfa02bffef4f039eab481fdb79422e5e49fd341997ccbe376f5683f744f951bc15343db9a479c99232576fcb03a4b002a6de45da8e1c85fd38548610940b245
7
+ data.tar.gz: 964a392c125d1f54cd9a3391ef01f5fbe475af73181b1b306a91d36e51a5565e41bf4d1d9604abc46fb4ad671db09d1e46b37765f3c51a61925426d7168e48a1
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2016 David Darnes
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,141 @@
1
+ # [Alembic](https://alembic.darn.es/)
2
+ ⚗ A Jekyll boilerplate designed to be a starting point for any Jekyll website.
3
+
4
+ ![Screenshot](https://raw.githubusercontent.com/daviddarnes/alembic/master/screenshot.png)
5
+
6
+ ## Contents
7
+ - [About](#about)
8
+ - [Features](#features)
9
+ - [Installation](#installation)
10
+ - [Configuration](#configuration)
11
+ - [Gem settings](#gem-settings)
12
+ - [Site settings](#site-settings)
13
+ - [Site navigation](#site-navigation)
14
+ - [Using includes](#using-includes)
15
+ - [Page layouts](#page-layouts)
16
+ - [Page and Post options](#page-and-post-options)
17
+ - [Credits](#credits)
18
+
19
+ ## About
20
+
21
+ Alembic is a starting point for [Jekyll](https://jekyllrb.com/) projects. Rather than starting from scratch, this boilerplate is designed to get the ball rolling immediately. Fork it, configure it, tweak it, push it.
22
+
23
+ ## Features
24
+
25
+ - Tested in all major browsers, that includes IE as well as Edge
26
+ - Extensive set of shortcodes to include various elements; such as buttons, icons, figure images and more
27
+ - Solid typographic framework from [Sassline](https://sassline.com/)
28
+ - Configurable navigation via a single file
29
+ - Modular Jekyll components
30
+ - Easily interchangeable sidebar
31
+ - Contact form built in using [Formspree](https://formspree.io/)
32
+ - Works on [GitHub Pages](https://pages.github.com/) out of the box
33
+ - Built with [Jekyll](https://jekyllrb.com/) 3.2
34
+ - Designed with [Siteleaf](http://www.siteleaf.com/) in mind
35
+ - Has documentation
36
+
37
+ ## Installation
38
+
39
+ 1. Fork the repo
40
+ 2. Clone down the repo with `$ git clone git@github.com:username/reponame.git`
41
+ 3. Open the `/_config.yml` file and change details to your own project details
42
+ 4. Install GitHub Pages locally with `$ gem install github-pages`
43
+ 5. Run Jekyll from inside the the root of the repo using `$ jekyll serve --watch`
44
+ 6. Begin hacking for your project
45
+
46
+ ## Configuration
47
+
48
+ There's a number of settings you'll need to change before you can start hacking away at files. Here's a run down of what you'll need to change:
49
+
50
+ ### Gem settings
51
+ `twitter`, `author` and `social` values will need to be changed to the projects' social information or removed. Look for the `Gem settings` comment within the `/_config.yml` file. These values are for the [jekyll-seo-tag](https://github.com/jekyll/jekyll-seo-tag) - follow the link to find out more.
52
+
53
+ ### Site settings
54
+ You'll need to change the `description`, `title` and `url` to match with the project. You'll also need to replace the `/assets/placeholder-logo.png` `/assets/placeholder-social.png` with project logo and default social image. The `email` needs to be changed to the email you want to receive contact form enquires with. The `disqus` value should be changed to your project username on [Disqus](https://disqus.com). Look for the `Site settings` comment within the `/_config.yml` file. The `repo` setting is optional, for now, and can be removed entirely, if you wish.
55
+
56
+ ### Site navigation
57
+ There are 3 different navigation types: one for the header, one for the footer and one for a set of social links shown in the aside (or sidebar). If the header or footer navigation are removed, they will fallback to a list of pages within the site. The `social_navigation` properties should either be one that is already in the list (so `Twitter` or `Facebook`) or simply `link`, This is so an icon can be set for the link. Look for the `Site navigation` comment within the `/_config.yml` file.
58
+
59
+ ## Using includes
60
+
61
+ There are 2 main types of includes: ones designed for the site and ones that are designed as shortcodes. Here are a list of the shortcode includes:
62
+
63
+ ### `button.html`
64
+ A button that can link to a page of any kind.
65
+
66
+ Example usage: `{% include button.html text="I'm a button" link="https://daviddarnes.com" %}`
67
+
68
+ Available options:
69
+ - `text`: The text of the button _required_
70
+ - `link`: The link that the button goes to _required_
71
+ - `icon`: The icon that is added to the end of the button text
72
+ - `color`: The color of the button
73
+
74
+ ### `figure.html`
75
+ An image with optional caption.
76
+
77
+ Example usage: `{% include figure.html image="/uploads/feature-image.jpg" caption="Check out my photo" %}`
78
+
79
+ Available options:
80
+ - `image`: The image shown _required_
81
+ - `caption`: A caption to explain the image
82
+ - `position`: The position of the image. `left`, `right` or `full`
83
+
84
+ ### `icon.html`
85
+ An icon.
86
+
87
+ Example usage: `{% include icon.html id="twitter" %}`
88
+
89
+ Available options:
90
+ - `id`: The reference for the icon _required_
91
+ - `title`: The accessible label for the icon
92
+ - `color`: The desired colour of the icon
93
+
94
+ ### `video.html`
95
+ A YouTube video.
96
+
97
+ Example usage: `{% include video.html id="zrkcGL5H3MU" %}`
98
+
99
+ Available options:
100
+ - `id`: The YouTube ID for the video _required_
101
+
102
+ ### `map.html`
103
+ A Google map. _See Google [My Maps](https://www.google.com/mymaps)_
104
+
105
+ Example usage: `{% include map.html id="1UT-2Z-Vg_MG_TrS5X2p8SthsJhc" %}`
106
+
107
+ Available options:
108
+ - `id`: The map ID for the video _required_
109
+
110
+ ### `site-form.html`
111
+ Adds a contact form to the page.
112
+
113
+ Example usage: `{% include site-form.html %}`
114
+
115
+ This include has no options. Use the `email` option in the `/_config.yml` to change to the desired email.
116
+
117
+ ## Page layouts
118
+
119
+ As well as `page`, `post`, `blog`, there are a few alternative layouts that can be used on pages:
120
+
121
+ - `page-aside-left`: Places the aside (sidebar) to the left of the content
122
+ - `page-full`: Removes the aside entirely, leaving the full width for the main content
123
+
124
+ ## Page and Post options
125
+
126
+ There are some more specific options you can apply when creating a page or a post:
127
+
128
+ - `comments: false`: Turns off comments for that post
129
+ - `feature_image: "/uploads/feature-image.jpg"`: Adds a full width feature image at the top of the page
130
+ - `feature_text: "Example text"`: Adds text to the top of the page as a full width feature with solid colour; supports markdown. This can be used in conjunction with the `feature_image` option to create a feature image with text over it
131
+ - `indexing: false`: Adds a `noindex` meta element to the `<head>` to stop crawler bots from indexing the page, used on the 404 page
132
+
133
+ > **Note:** The Post List Page options are actually in the collection data within the `_config.yml` file.
134
+
135
+ ## Credits
136
+
137
+ - Thanks to [Simple Icons](https://simpleicons.org/) for providing the brand icons, by [Dan Leech](https://twitter.com/bathtype)
138
+ - Thanks to [Sassline](https://sassline.com/) for the typographic basis, by [Jake Giltsoff](https://twitter.com/jakegiltsoff)
139
+ - Thanks to [Flexbox mixin](https://github.com/mastastealth/sass-flex-mixin) by [Brian Franco](https://twitter.com/brianfranco)
140
+ - Thanks to [Normalize](https://necolas.github.io/normalize.css/) by [Nicolas Gallagher](https://twitter.com/necolas) and [Jonathan Neal](https://twitter.com/jon_neal).
141
+ - Thanks to [pygments-css](http://richleland.github.io/pygments-css/) for the autumn syntax highlighting, by [Rich Leland](https://twitter.com/richleland)
@@ -0,0 +1 @@
1
+ <a class="button" href="{{ include.link }}" title="{{ include.text }}"{% if include.color %}style="background: {{ include.color }}"{% endif %}>{{ include.text }}{% if include.icon %}&nbsp; {% include icon.html id=include.icon %}{% endif %}</a>
@@ -0,0 +1,4 @@
1
+ <figure class="figure{% if include.position %} figure--{{ include.position }}{% endif %}">
2
+ <img class="image" src="{{ include.image }}">
3
+ {% if include.caption %}<figcaption class="caption">{{ include.caption }}</figcaption>{% endif %}
4
+ </figure>
@@ -0,0 +1,4 @@
1
+ <svg class="icon icon--{{ include.id }}" role="img"{% if include.title %} aria-label="{{ include.title }} icon"{% endif %}>
2
+ {% if include.title %}<title>{{ include.title }}</title>{% endif %}
3
+ <use xlink:href="#{{ include.id }}"{% if include.color %} fill="{{ include.color }}"{% endif %}></use>
4
+ </svg>
@@ -0,0 +1,3 @@
1
+ <div class="map">
2
+ <iframe src="https://www.google.com/maps/d/u/0/embed?mid={{ include.id }}"></iframe>
3
+ </div>
@@ -0,0 +1,11 @@
1
+ <nav class="nav">
2
+ <ul class="list list--nav">
3
+ {% for item in site.pages %}
4
+ {% unless item.styles == true %}
5
+ <li class="item item--nav{% if item[1] == page.url %} item--current{% endif %}">
6
+ <a href="{{ item.url }}">{{ item.title }}</a>
7
+ </li>
8
+ {% endunless %}
9
+ {% endfor %}
10
+ </ul>
11
+ </nav>
@@ -0,0 +1,13 @@
1
+ {% if site.navigation_footer %}
2
+ <nav class="nav nav--footer">
3
+ <ul class="list list--nav">
4
+ {% for item in site.navigation_footer %}
5
+ <li class="item item--nav{% if item[1] == page.url %} item--current{% endif %}">
6
+ <a href="{{ item[1] }}">{{ item[0] }}</a>
7
+ </li>
8
+ {% endfor %}
9
+ </ul>
10
+ </nav>
11
+ {% else %}
12
+ {% include nav-default.html %}
13
+ {% endif %}
@@ -0,0 +1,13 @@
1
+ {% if site.navigation_header %}
2
+ <nav class="nav nav--header">
3
+ <ul class="list list--nav">
4
+ {% for item in site.navigation_header %}
5
+ <li class="item item--nav{% if item[1] == page.url %} item--current{% endif %}">
6
+ <a href="{{ item[1] }}">{{ item[0] }}</a>
7
+ </li>
8
+ {% endfor %}
9
+ </ul>
10
+ </nav>
11
+ {% else %}
12
+ {% include nav-default.html %}
13
+ {% endif %}
@@ -0,0 +1,8 @@
1
+ <nav class="nav nav--social">
2
+ {% for link in site.social_links %}
3
+ {% assign id = link[0] | downcase %}
4
+ <a class="link" href="{{ link[1] }}" title="{{ link[0] }}">
5
+ {% include icon.html id=id %}
6
+ </a>
7
+ {% endfor %}
8
+ </nav>
@@ -0,0 +1,17 @@
1
+ {% if site.disqus and page.comments != false %}
2
+ <div id="disqus_thread"></div>
3
+ <script>
4
+ var disqus_config = function () {
5
+ this.page.url = "{{ site.url }}{{ page.url }}";
6
+ this.page.identifier = "{{ page.url }}";
7
+ };
8
+
9
+ (function() {
10
+ var d = document, s = d.createElement('script');
11
+ s.src = '//alembic-1.disqus.com/embed.js';
12
+ s.setAttribute('data-timestamp', +new Date());
13
+ (d.head || d.body).appendChild(s);
14
+ })();
15
+ </script>
16
+ <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
17
+ {% endif %}
@@ -0,0 +1,34 @@
1
+ {% if paginator.posts %}
2
+
3
+ <ul class="list list--posts">
4
+ {% for page in paginator.posts %}
5
+ <li class="item item--post">
6
+ <article class="article article--post typeset">
7
+
8
+ <h2><a href="{{ page.url }}" title="{{ page.title }}">{{ page.title }}</a></h2>
9
+ {% include post-meta.html %}
10
+ {{ page.excerpt | markdownify | truncatewords: 60 }}
11
+
12
+ </article>
13
+ </li>
14
+ {% endfor %}
15
+ </ul>
16
+ {% include post-pagination.html %}
17
+
18
+ {% else %}
19
+ <h2>Latest blog posts</h2>
20
+ <ul class="list list--posts">
21
+ {% for page in site.posts limit: 4 %}
22
+ <li class="item item--post">
23
+ <article class="article article--post typeset">
24
+
25
+ <h5><a href="{{ page.url }}" title="{{ page.title }}">{{ page.title }}</a></h5>
26
+ {% include post-meta.html %}
27
+ {{ page.excerpt | markdownify | truncatewords: 60 }}
28
+
29
+ </article>
30
+ </li>
31
+ {% endfor %}
32
+ </ul>
33
+
34
+ {% endif %}
@@ -0,0 +1,3 @@
1
+ <small class="small post-meta">
2
+ {% if page.category %}<span class="label label--category">{{ page.category }}</span>&nbsp;&nbsp;&middot;&nbsp;&nbsp;{% endif %}<time datetime="{{ page.date | date_to_xmlschema }}" class="time">{{ page.date | date_to_string }}</time>
3
+ </small>
@@ -0,0 +1,17 @@
1
+ <nav class="nav nav--paginator">
2
+
3
+ {% if paginator.previous_page %}
4
+ <a href="{{ paginator.previous_page_path }}" class="pagination pagination--previous">&larr; Previous</a>
5
+ {% else %}
6
+ <span class="pagination pagination--previous">&larr; Previous</span>
7
+ {% endif %}
8
+
9
+ <span class="pagination pagination--counter">Page: {{ paginator.page }} of {{ paginator.total_pages }}</span>
10
+
11
+ {% if paginator.next_page %}
12
+ <a href="{{ paginator.next_page_path }}" class="pagination pagination--next">Next &rarr;</a>
13
+ {% else %}
14
+ <span class="pagination pagination--next">Next &rarr;</span>
15
+ {% endif %}
16
+
17
+ </nav>
@@ -0,0 +1,14 @@
1
+ <h2>Related posts</h2>
2
+ <ul class="list list--posts">
3
+ {% for page in site.related_posts limit: 3 %}
4
+ <li class="item item--post">
5
+ <article class="article article--post typeset">
6
+
7
+ <h5><a href="{{ page.url }}" title="{{ page.title }}">{{ page.title }}</a></h5>
8
+ {% include post-meta.html %}
9
+ {{ page.excerpt | markdownify | truncatewords: 20 }}
10
+
11
+ </article>
12
+ </li>
13
+ {% endfor %}
14
+ </ul>
@@ -0,0 +1,12 @@
1
+ {% capture share_twitter %}
2
+ https://twitter.com/intent/tweet/?text={{ page.title | uri_escape }}&amp;url={{ site.url }}{{ page.url }}{% endcapture %}
3
+ {% capture share_facebook %}
4
+ https://facebook.com/sharer/sharer.php?u={{ site.url }}{{ page.url }}{% endcapture %}
5
+ {% capture share_google %}
6
+ https://plus.google.com/share?url={{ site.url }}{{ page.url }}{% endcapture %}
7
+
8
+ <div class="share">
9
+ {% include button.html text="Tweet" icon="twitter" link=share_twitter color="#1DA1F2" %}
10
+ {% include button.html text="Share on Facebook" icon="facebook" link=share_facebook color="#3B5998" %}
11
+ {% include button.html text="Share on Google+" icon="googleplus" link=share_google color="#DC4E41" %}
12
+ </div>
@@ -0,0 +1,22 @@
1
+ <aside class="aside typeset">
2
+ <h2>About this site</h2>
3
+ <p>{{ site.description }}</p>
4
+
5
+ {% include map.html id="1UT-2Z-Vg_MG_TrS5X2p8SthsJhc" %}
6
+ <br/>
7
+
8
+ {% if page.is_page %}
9
+ {% unless paginator.posts %}
10
+ {% include post-list.html %}
11
+ {% endunless %}
12
+ {% else %}
13
+ {% include post-related.html %}
14
+ {% endif %}
15
+
16
+ {% if page.is_post or paginator.posts %}
17
+ {% include button.html text="Subscribe to posts &nbsp;" icon="rss" link="/feed.xml" %}
18
+ {% endif %}
19
+
20
+ {% include nav-social.html %}
21
+
22
+ </aside>
@@ -0,0 +1,4 @@
1
+ <link rel="icon" type="image/png" href="{{ site.avatarurl }}?s=16" sizes="16x16">
2
+ <link rel="icon" type="image/png" href="{{ site.avatarurl }}?s=32" sizes="32x32">
3
+ <link rel="icon" type="image/png" href="{{ site.avatarurl }}?s=96" sizes="96x96">
4
+ <link rel="shortcut icon" href="{{ site.avatarurl }}">
@@ -0,0 +1,17 @@
1
+ {% assign feature_text = page.feature_text %}
2
+ {% assign feature_image = page.feature_image %}
3
+ {% if page.collection %}
4
+ {% assign collectiondata = site.collections | where: "label", page.collection | first %}
5
+ {% assign feature_text = collectiondata.feature_text %}
6
+ {% assign feature_image = collectiondata.feature_image %}
7
+ {% endif %}
8
+
9
+ {% if feature_text or feature_image or collection %}
10
+ <div class="feature"{% if feature_image %} style="background-image: url({{ feature_image }})"{% endif %}>
11
+ {% if feature_text %}
12
+ <div class="container typeset">
13
+ {{ feature_text | markdownify }}
14
+ </div>
15
+ {% endif %}
16
+ </div>
17
+ {% endif %}
@@ -0,0 +1,9 @@
1
+ <footer class="footer">
2
+ <div class="container">
3
+ {% include nav-footer.html %}
4
+
5
+ <div class="copyright typeset">
6
+ <small class="small">&copy; {{ site.title }} {{ site.time | date: '%Y' }}</small>
7
+ </div>
8
+ </div>
9
+ </footer>
@@ -0,0 +1,27 @@
1
+ <div class="form form--contact">
2
+ <form id="contact-form" action="" method="POST">
3
+ <label class="label" for="name">Name: <span class="required">*</span></label>
4
+ <input class="input" id="name" type="text" name="name" value="" placeholder="Your Name" required="required" />
5
+
6
+ <label class="label" for="_replyto">Email Address: <span class="required">*</span></label>
7
+ <input class="input" id="_replyto" type="email" name="_replyto" value="" placeholder="email@website.com" required="required" />
8
+
9
+ <label class="label" for="message">Message: <span class="required">*</span></label>
10
+ <textarea class="textarea" id="message" name="message" placeholder="Your message..." required="required"></textarea>
11
+
12
+ <input class="button" type="submit" value="Send message" />
13
+ <br/>
14
+ <small class="small"><span class="required">*</span> indicates a required field</small>
15
+
16
+ <input type="text" name="_gotcha" style="display:none">
17
+ <input type="hidden" name="_subject" value="Message from {{ site.name }} website">
18
+ <input type="hidden" name="_next" value="/thanks/" />
19
+ </form>
20
+ </div>
21
+ <script>
22
+ var email = "{{ site.email | split: "" | reverse | join: "" }}";
23
+ var unraveledEmail = email.split("").reverse().join("");
24
+ var form = document.getElementById("contact-form");
25
+ form.setAttribute("action", "://formspree.io/" + unraveledEmail);
26
+ </script>
27
+ <noscript>Please enable JavaScript to use the form.</noscript>