alembic-jekyll-theme 1.5.3 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: febc34aaac364870b5b4b25b60481a2c3b0cbcd2
4
- data.tar.gz: 6100552b2b71e516f94d9db31ad6a9472c5acf87
3
+ metadata.gz: 8d15229ed503c602eb02d030a471df0614ad9c0c
4
+ data.tar.gz: 9f5135283f74917bdd690977d27ea4fc95076c43
5
5
  SHA512:
6
- metadata.gz: ced7b7e03c165625105fe5ad2d7e921622ae2efa3d86716f11d581e99493033f190beddcc3923d1021bde46716cca1d4209926f949e98297be4d04dd2fb97075
7
- data.tar.gz: 722fef4bbbb52dfa97f3dfd35142ba4997366b52d3c930f0b64c668b2c9cda26a5be6e19378622c2c8fe4c1ba70abbae89bc5b6d323dde3679e1721f09b0ff2b
6
+ metadata.gz: 84f1f68866d0250febd7a0beb37e7cfa6b9aa4b14570722098ea007afc31b6de008e936e26dd9f14d8790b96fb93e8b24009c405ae5b7c57bc74ed7ff681fb73
7
+ data.tar.gz: cba5a0151614c046ad4f604054fb9948de40679c3b57830cd1e18053914351df80ad71e0d7af35f026d0d2d3554899ed530bb5bc111d46f458e1fa3d0a3bc5db
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2016 David Darnes
3
+ Copyright (c) 2017 David Darnes
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -25,18 +25,18 @@ Alembic is a starting point for [Jekyll](https://jekyllrb.com/) projects. Rather
25
25
 
26
26
  ## Features
27
27
 
28
- - Available as a starter kit or as [Jekyll 3.3 theme gem](http://jekyllrb.com/docs/themes/)
29
- - Tested in all major browsers, that includes IE as well as Edge
28
+ - Available as a starter kit or as [Jekyll theme gem](http://jekyllrb.com/docs/themes/)
29
+ - Simple and elegant design that can be used out of the box or as solid starting point
30
+ - Tested in all major browsers, including IE and Edge
31
+ - Configurable colours and typography in a single settings file
30
32
  - Extensive set of shortcodes to include various elements; such as buttons, icons, figure images and more
31
33
  - Solid typographic framework from [Sassline](https://sassline.com/)
32
34
  - Configurable navigation via a single file
33
35
  - Modular Jekyll components
34
- - Easily interchangeable sidebar
35
36
  - Post category support in the form of a single post index page grouped by category
36
37
  - Built in live search using JavaScript
37
38
  - Contact form built in using [Formspree](https://formspree.io/)
38
39
  - Works on [GitHub Pages](https://pages.github.com/) out of the box
39
- - Built with [Jekyll](https://jekyllrb.com/) 3.3
40
40
  - Designed with [Siteleaf](http://www.siteleaf.com/) in mind
41
41
  - Has 9 of the most popular networks as performant sharing buttons
42
42
  - Has documentation
@@ -53,6 +53,7 @@ Here are a few examples of Alembic out in the wild being used in a variety of wa
53
53
  - [www.10people.co.uk](http://www.10people.co.uk/)
54
54
  - [hrkeni.me](http://hrkeni.me/)
55
55
  - [venuthatikonda.github.io](https://venuthatikonda.github.io/)
56
+ - [ccs17.bsc.es](https://ccs17.bsc.es/)
56
57
 
57
58
  ## Installation
58
59
 
@@ -60,26 +61,30 @@ Here are a few examples of Alembic out in the wild being used in a variety of wa
60
61
 
61
62
  1. [Fork the repo](https://github.com/daviddarnes/alembic#fork-destination-box)
62
63
  2. Clone down the repo with `$ git clone git@github.com:username/reponame.git`
63
- 3. Delete the `demo/` folder and `screenshot.png` files
64
- 4. Change the `CNAME` record to your projects' record
65
- 5. Install bundler with `$ gem install bundler`
66
- 6. Install gems with `$ bundle install`
67
- 7. Run Jekyll with `$ bundle exec jekyll serve --watch`
68
- 8. Begin hacking for your project
64
+ 3. Delete the following unnecessary files/folders: `demo/`, `CODE_OF_CONDUCT.md`, `CONTRIBUTING.md`, `LICENSE`, `screenshot.png`
65
+ 4. Change the `placeholder-logo.svg` and `placeholder-social.png` in the `assets/` folder to your own branding
66
+ 5. Configure your site settings using the `_config.yml`, more info can be found in [Configuration](#configuration)
67
+ 5. Change the `CNAME` record to your projects' record
68
+ 6. Install bundler with `$ gem install bundler`
69
+ 7. Install gems with `$ bundle install`
70
+ 8. Run Jekyll with `$ bundle exec jekyll serve --watch`
71
+ 9. Begin hacking for your project
69
72
 
70
73
  ### As a Jekyll 3.3 theme gem
71
74
 
72
75
  1. Download the starter `/demo` content, [quick download link](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/daviddarnes/alembic/tree/master/demo)
73
- 2. Install bundler with `$ gem install bundler`
74
- 3. Install gems with `$ bundle install`
75
- 4. Run Jekyll with `$ bundle exec jekyll serve --watch`
76
- 5. Begin hacking for your project
76
+ 2. Configure your site settings using the `_config.yml`, more info can be found in [Configuration](#configuration)
77
+ 3. Create a `placeholder-logo.svg` and `placeholder-social.png` in a new `assets/` folder
78
+ 4. Install bundler with `$ gem install bundler`
79
+ 5. Install gems with `$ bundle install`
80
+ 6. Run Jekyll with `$ bundle exec jekyll serve --watch`
81
+ 7. Begin hacking for your project
77
82
 
78
83
  ### Boilerplate & Theme differences
79
84
 
80
85
  The boilerplate kit is better for more drastic hacking and changes, a project that's quite different to any other and needs a lot of custom work done. Additionally you'll only be able to use this method if you want to host it on GitHub Pages, as [themes can't be submitted](https://pages.github.com/themes/)... yet.
81
86
 
82
- Using the theme will allow you to receive updates made and will be more programmatic. To make your own changes you'll need to overwrite the files with your own. For example: If I want to change the colours of my site I'll need to copy the [`_colors.scss`](https://github.com/daviddarnes/alembic/blob/master/_sass/_colors.scss) file and create my own in `_sass/colors.scss` with my own changes. This is the same for all files within the theme, which means your own project will be more lean than if you were to use the boilerplate.
87
+ Using the theme will allow you to receive updates made and will be more programmatic. To make your own changes you'll need to overwrite the files with your own. For example: If I want to change the colours and typography of my site I'll need to copy the [`_settings.scss`](https://github.com/daviddarnes/alembic/blob/master/_sass/_settings.scss) file and create my own in `_sass/_settings.scss` with my own changes. This is the same for all files within the theme, which means your own project will be more lean than if you were to use the boilerplate.
83
88
 
84
89
  ## Configuration
85
90
 
@@ -92,7 +97,16 @@ There's a number of settings you'll need to change before you can start hacking
92
97
  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.svg` `/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.
93
98
 
94
99
  ### Site navigation
95
- 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.
100
+ There are a total of 4 different navigation types:
101
+
102
+ - `navigation_header`: The links shown in the header (it is also used on the 404 page)
103
+ - `navigation_footer`: The links shown in the footer
104
+ - `social_links`: The social icon links that are shown in the sidebar
105
+ - `sharing_links`: The social sharing buttons that are shown at the bottom of blog posts
106
+
107
+ All navigations can be edited using the `_config.yml` file. To see example usage either look for the `Site navigation` comment within the `/_config.yml` file or see [the nav-share.html include](#nav-sharehtml).
108
+
109
+ If there are no items for the `navigation_header` or `navigation_footer`, 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.
96
110
 
97
111
  ## Using includes
98
112
 
@@ -101,7 +115,7 @@ There are 2 main types of includes: ones designed for the site and ones that are
101
115
  ### `button.html`
102
116
  A button that can link to a page of any kind.
103
117
 
104
- Example usage: `{% include button.html text="I'm a button" link="https://daviddarnes.com" %}`
118
+ Example usage: `{% include button.html text="I'm a button" link="https://david.darn.es" %}`
105
119
 
106
120
  Available options:
107
121
  - `text`: The text of the button _required_
@@ -117,7 +131,7 @@ Example usage: `{% include figure.html image="/uploads/feature-image.jpg" captio
117
131
  Available options:
118
132
  - `image`: The image shown _required_
119
133
  - `caption`: A caption to explain the image
120
- - `position`: The position of the image. `left`, `right` or `full`
134
+ - `position`: The position of the image, `left` or `right`
121
135
 
122
136
  ### `icon.html`
123
137
  An icon.
@@ -184,8 +198,6 @@ This include has no options. This include will add a block of javascript to the
184
198
 
185
199
  As well as `page`, `post`, `blog`, there are a few alternative layouts that can be used on pages:
186
200
 
187
- - `page-aside-left`: Places the aside (sidebar) to the left of the content
188
- - `home`: Removes the aside entirely, leaving the full width for the main content (typically used for home page designs)
189
201
  - `categories`: Shows all posts grouped by category, with an index of categories in a left hand sidebar
190
202
  - `search`: Adds a search field to the page as well as a simplified version of the sidebar to allow more focus on the search results
191
203
 
@@ -193,6 +205,7 @@ As well as `page`, `post`, `blog`, there are a few alternative layouts that can
193
205
 
194
206
  There are some more specific options you can apply when creating a page or a post:
195
207
 
208
+ - `aside: true`: Adds a sidebar to the page or post, this is false by default and will not appear
196
209
  - `comments: false`: Turns off comments for that post
197
210
  - `feature_image: "/uploads/feature-image.jpg"`: Adds a full width feature image at the top of the page
198
211
  - `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
@@ -1,7 +1,7 @@
1
1
  <nav class="nav">
2
2
  <ul class="list list--nav">
3
3
  {% for item in site.pages %}
4
- {% unless item.title == false or item.url contains "/page" or item.url contains "/404.html" or item.url contains "/feed." %}
4
+ {% unless item.title == false or item.url contains "/page" or item.url contains "/404.html" or item.url contains "/feed." or item.url contains ".json" %}
5
5
  <li class="item item--nav{% if item.url == page.url %} item--current{% endif %}">
6
6
  {% if item.collectionpage %}
7
7
  {% assign collectiondata = site.collections | where: "label", item.collectionpage | first %}
@@ -1,6 +1,9 @@
1
1
  {% if site.navigation_header %}
2
2
  <nav class="nav nav--header">
3
- <ul class="list list--nav">
3
+ <button class="button button--nav">
4
+ {% include icon.html id="nav" %}
5
+ </button>
6
+ <ul class="list list--nav">
4
7
  {% for item in site.navigation_header %}
5
8
  <li class="item item--nav{% if item[1] == page.url %} item--current{% endif %}">
6
9
  <a href="{{ item[1] }}" title="Page - {{ item[0] }}">{{ item[0] }}</a>
@@ -11,3 +14,23 @@
11
14
  {% else %}
12
15
  {% include nav-default.html %}
13
16
  {% endif %}
17
+ <script type="text/javascript">
18
+ const applyToggle = (list, button, breakpoint, itemCount) => {
19
+ const navList = document.querySelector(list)
20
+ if (document.body.clientWidth < breakpoint && navList.childElementCount >= itemCount) {
21
+ const navHeight = navList.clientHeight
22
+ const navButton = document.querySelector(button)
23
+ navList.style.maxHeight = '0px'
24
+
25
+ navButton.onclick = () => {
26
+ if (navList.style.maxHeight == '0px') {
27
+ navList.style.maxHeight = `${navHeight}px`
28
+ } else {
29
+ navList.style.maxHeight = '0px'
30
+ }
31
+ }
32
+ }
33
+ }
34
+
35
+ applyToggle('.list--nav', '.button', 640, 6)
36
+ </script>
@@ -4,6 +4,7 @@
4
4
  <h2 id="{{ category_name | slugify }}">{{ category_name }}</h2>
5
5
  <ul class="list list--posts">
6
6
  {% for page in site.categories[category_name] %}
7
+ {% assign has_categories = true %}
7
8
  <li class="item item--post">
8
9
  <article class="article article--post typeset">
9
10
  <h3><a href="{{ page.url }}" title="Post - {{ page.title }}">{{ page.title }}</a></h3>
@@ -16,3 +17,9 @@
16
17
  {% unless forloop.last %}<hr/>{% endunless %}
17
18
  </section>
18
19
  {% endfor %}
20
+
21
+ {% if has_categories != true %}
22
+ <section class="section typeset">
23
+ <p>There are no categorised posts</p>
24
+ </section>
25
+ {% endif %}
@@ -1,5 +1,4 @@
1
1
  {% if paginator.posts %}
2
-
3
2
  <section class="section typeset">
4
3
  <ul class="list list--posts">
5
4
  {% for page in paginator.posts %}
@@ -16,21 +15,20 @@
16
15
  </ul>
17
16
  {% include post-pagination.html %}
18
17
  </section>
19
-
20
18
  {% else %}
21
- <h3>Latest blog posts</h3>
22
- <ul class="list list--posts">
23
- {% for page in site.posts limit: 4 %}
24
- <li class="item item--post">
25
- <article class="article article--post">
26
-
27
- <h4><a href="{{ page.url }}" title="Post - {{ page.title }}">{{ page.title }}</a></h4>
28
- {% include post-meta.html %}
29
- {{ page.excerpt | markdownify | truncatewords: 60 }}
19
+ <section class="section typeset">
20
+ <ul class="list list--posts">
21
+ {% for page in site.posts %}
22
+ <li class="item item--post">
23
+ <article class="article article--post">
30
24
 
31
- </article>
32
- </li>
33
- {% endfor %}
34
- </ul>
25
+ <h2><a href="{{ page.url }}" title="Post - {{ page.title }}">{{ page.title }}</a></h2>
26
+ {% include post-meta.html %}
27
+ {{ page.excerpt | markdownify | truncatewords: 60 }}
35
28
 
29
+ </article>
30
+ </li>
31
+ {% endfor %}
32
+ </ul>
33
+ </section>
36
34
  {% endif %}
@@ -1,6 +1,7 @@
1
1
  <h3>Related posts</h3>
2
2
  <ul class="list list--posts">
3
3
  {% for page in site.related_posts limit: 3 %}
4
+ {% assign has_related = true %}
4
5
  <li class="item item--post">
5
6
  <article class="article article--post typeset">
6
7
 
@@ -11,4 +12,8 @@
11
12
  </article>
12
13
  </li>
13
14
  {% endfor %}
15
+
16
+ {% if has_related != true %}
17
+ <p>There are no related posts</p>
18
+ {% endif %}
14
19
  </ul>
@@ -1,31 +1,23 @@
1
- <aside class="aside typeset">
1
+ <aside class="aside typeset{% if include.align == "left" %} aside--left{% endif %}">
2
2
 
3
- {% unless page.layout == "categories" or page.collection == "posts" %}
4
- <h3>About this site</h3>
5
- <p>{{ site.description }}</p>
6
- {% endunless %}
3
+ {% if page.layout == "post" %}
4
+ <section class="section section--related-posts">
5
+ {% include post-related.html %}
6
+ </section>
7
7
 
8
- {% unless page.layout == "categories" or page.layout == "search" or page.collection == "posts" or paginator.posts %}
9
- {% include post-list.html %}
10
- {% endunless %}
8
+ {% elsif page.layout == "page" or page.layout == "home" or page.layout == "blog" %}
9
+ <section class="section section--description">
10
+ <h3>About this site</h3>
11
+ <p>{{ site.description }}</p>
12
+ {% include nav-social.html %}
13
+ </section>
11
14
 
12
- {% if page.layout == "categories" %}
15
+ {% elsif page.layout == "categories" %}
13
16
  <section class="section section--category-index">
14
17
  <h3>Index</h3>
15
18
  {% include nav-categories.html %}
16
19
  </section>
17
- {% endif %}
18
20
 
19
- {% if page.collection == "posts" %}
20
- {% include post-related.html %}
21
21
  {% endif %}
22
22
 
23
- {% if page.collection == "posts" or paginator.posts %}
24
- {% include button.html text="Subscribe to posts &nbsp;" icon="rss" link="/feed.xml" %}
25
- {% endif %}
26
-
27
- {% unless page.layout == "categories" %}
28
- {% include nav-social.html %}
29
- {% endunless %}
30
-
31
23
  </aside>
@@ -1,9 +1,9 @@
1
1
  <footer class="footer">
2
2
  <div class="container">
3
- {% include nav-footer.html %}
4
-
5
3
  <div class="copyright typeset">
6
4
  <small class="small">&copy; {{ site.title }} {{ site.time | date: '%Y' }}</small>
7
5
  </div>
6
+
7
+ {% include nav-footer.html %}
8
8
  </div>
9
9
  </footer>
@@ -1,5 +1,5 @@
1
1
  <div class="form form--contact">
2
- <form id="contact-form" action="" method="POST">
2
+ <form class="contact-form" action="" method="POST">
3
3
  <label class="label" for="name">Name: <span class="required">*</span></label>
4
4
  <input class="input" id="name" type="text" name="name" value="" placeholder="Your Name" required="required" />
5
5
 
@@ -21,7 +21,7 @@
21
21
  <script>
22
22
  var email = "{{ site.email | split: "" | reverse | join: "" }}";
23
23
  var unraveledEmail = email.split("").reverse().join("");
24
- var form = document.getElementById("contact-form");
25
- form.setAttribute("action", "://formspree.io/" + unraveledEmail);
24
+ var form = document.querySelector(".contact-form");
25
+ form.setAttribute("action", "https://formspree.io/" + unraveledEmail);
26
26
  </script>
27
27
  <noscript>Please enable JavaScript to use the form.</noscript>
@@ -21,4 +21,5 @@
21
21
  <symbol id="youtube" viewBox="0 0 16 16"><path d="M0 7.345c0-1.294.16-2.59.16-2.59s.156-1.1.636-1.587c.608-.637 1.408-.617 1.764-.684C3.84 2.36 8 2.324 8 2.324s3.362.004 5.6.166c.314.038.996.04 1.604.678.48.486.636 1.588.636 1.588S16 6.05 16 7.346v1.258c0 1.296-.16 2.59-.16 2.59s-.156 1.102-.636 1.588c-.608.638-1.29.64-1.604.678-2.238.162-5.6.166-5.6.166s-4.16-.037-5.44-.16c-.356-.067-1.156-.047-1.764-.684-.48-.487-.636-1.587-.636-1.587S0 9.9 0 8.605v-1.26zm6.348 2.73V5.58l4.323 2.255-4.32 2.24h-.002z"/></symbol>
22
22
  <symbol id="link" viewBox="0 0 16 16"><path d="M5.86 12.7l-.81.8c-.7.7-1.84.7-2.54 0a1.75 1.75 0 0 1 0-2.5l2.98-2.96c.61-.61 1.77-1.52 2.62-.68a1 1 0 1 0 1.4-1.4c-1.44-1.43-3.57-1.17-5.42.67L1.1 9.6a3.72 3.72 0 0 0 0 5.32 3.78 3.78 0 0 0 5.34 0l.8-.8a1 1 0 1 0-1.39-1.42zm9.03-11.5c-1.55-1.53-3.7-1.6-5.14-.19l-1 1a1 1 0 1 0 1.39 1.41l1-1c.75-.74 1.72-.43 2.35.2a1.75 1.75 0 0 1 0 2.5l-3.17 3.15c-1.46 1.45-2.14.77-2.43.48a1 1 0 0 0-1.4 1.4c.67.67 1.43 1 2.23 1 .98 0 2.01-.5 3-1.47l3.17-3.15a3.72 3.72 0 0 0 0-5.32z"/></symbol>
23
23
  <symbol id="email" viewBox="0 0 16 11"><path fill-rule="evenodd" d="M1.33 0h13.34L8 5 1.33 0zM16 0v11H0V0l8 6 8-6z"/></symbol>
24
+ <symbol id="nav" viewBox="0 0 16 11"><path d="M0 12h16v-2H0v2zm0-5h16V5H0v2zm0-7v2h16V0H0z"/></symbol>
24
25
  </svg>
@@ -30,9 +30,9 @@
30
30
  const resultsArray = findResults(this.value, pages);
31
31
  const html = resultsArray.map(item => {
32
32
  return `
33
- <li class="item">
33
+ <li class="item item--result">
34
34
  <article class="article typeset">
35
- <h4><a href="{{ site.url }}${item.url}" title="Result - ${item.title}">${item.title}</a></h4>
35
+ <h4><a href="${item.url}" title="Result - ${item.title}">${item.title}</a></h4>
36
36
  <p>${item.excerpt}</p>
37
37
  </article>
38
38
  </li>`;
data/_layouts/blog.html CHANGED
@@ -10,10 +10,16 @@ layout: default
10
10
 
11
11
  <article class="article article--page typeset">
12
12
 
13
- {% assign collectiondata = site.collections | where: "label", page.collectionpage | first %}
14
- <h1>{{ collectiondata.title }}</h1>
13
+ {% if paginator.posts %}
14
+ {% assign collectiondata = site.collections | where: "label", page.collectionpage | first %}
15
+ <h1>{{ collectiondata.title }}</h1>
16
+ {{ collectiondata.description | markdownify }}
15
17
 
16
- {{ collectiondata.description | markdownify }}
18
+ {% else %}
19
+ <h1>{{ page.title }}</h1>
20
+ {{ content }}
21
+
22
+ {% endif %}
17
23
 
18
24
  </article>
19
25
 
@@ -21,7 +27,7 @@ layout: default
21
27
 
22
28
  </div>
23
29
 
24
- {% include site-aside.html %}
30
+ {% if page.aside == true %}{% include site-aside.html %}{% endif %}
25
31
 
26
32
  </main>
27
33
 
@@ -6,9 +6,9 @@ layout: default
6
6
 
7
7
  <main class="main container">
8
8
 
9
- <div class="content content--aside-left">
9
+ <div class="content">
10
10
 
11
- <article class="article article--page typeset">
11
+ <article class="article article--page typeset">
12
12
 
13
13
  <h1>{{ page.title }}</h1>
14
14
 
@@ -20,7 +20,7 @@ layout: default
20
20
 
21
21
  </div>
22
22
 
23
- {% include site-aside.html %}
23
+ {% if page.aside == true %}{% include site-aside.html align="left" %}{% endif %}
24
24
 
25
25
  </main>
26
26
 
@@ -24,7 +24,7 @@
24
24
 
25
25
  {% include site-favicons.html %}
26
26
  </head>
27
- <body class="layout-{{ page.layout }} {{ page.title | slugify }}">
27
+ <body class="layout-{{ page.layout }}{% if page.title %} {{ page.title | slugify }}{% endif %}">
28
28
  {% include site-icons.svg %}
29
29
 
30
30
  {{ content }}
data/_layouts/page.html CHANGED
@@ -14,7 +14,7 @@ layout: default
14
14
 
15
15
  </article>
16
16
 
17
- {% include site-aside.html %}
17
+ {% if page.aside == true %}{% include site-aside.html %}{% endif %}
18
18
 
19
19
  </main>
20
20
 
data/_layouts/post.html CHANGED
@@ -18,7 +18,7 @@ layout: default
18
18
 
19
19
  </article>
20
20
 
21
- {% include site-aside.html %}
21
+ {% if page.aside == true %}{% include site-aside.html %}{% endif %}
22
22
 
23
23
  </main>
24
24
 
@@ -0,0 +1,39 @@
1
+ // Background colours
2
+ $backgroundColour: #ffffff;
3
+ $codeBackgroundColour: #f4f4f4;
4
+ $featureBackgroundColour: #eeeeee;
5
+ $accentColour: #05bf85;
6
+
7
+ // Text colours
8
+ $headingColour: #333333;
9
+ $bodyColour: #555555;
10
+ $linkColour: #05bf85;
11
+ $hoverColour: #008000;
12
+ $focusColour: #fa407a;
13
+ $captionColour: #aaaaaa;
14
+ $white: #ffffff;
15
+
16
+ // Typography
17
+ $bodytype: (
18
+ font-family: 'Georgia, serif',
19
+ regular: 400,
20
+ bold: 700,
21
+ italic: italic,
22
+ cap-height: 0.75
23
+ );
24
+
25
+ $headingtype: (
26
+ font-family: '"Merriweather", serif',
27
+ regular: 400,
28
+ bold: 700,
29
+ cap-height: 0.75
30
+ );
31
+
32
+ $monospacetype: (
33
+ font-family: 'Menlo, monospace',
34
+ regular: 400,
35
+ cap-height: 0.68
36
+ );
37
+
38
+ // Font import, if you're using a non-standard web font
39
+ @import url('https://fonts.googleapis.com/css?family=Merriweather:400,700');
@@ -36,7 +36,7 @@ a {
36
36
 
37
37
  // Nice underlines for text links.
38
38
  p a, li a {
39
- background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0) 50%,lighten($linkColour,20%) 50%);
39
+ background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0) 50%,$linkColour 50%);
40
40
  background-position: 0 93%;
41
41
  background-repeat: repeat-x;
42
42
  background-size: 100% 0.15rem;
@@ -46,7 +46,7 @@ a {
46
46
  -0.15rem 0 $backgroundColour;
47
47
 
48
48
  &:hover, &:active, &:focus {
49
- background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0) 50%,lighten($hoverColour,20%) 50%);
49
+ background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0) 50%,$hoverColour 50%);
50
50
  }
51
51
  }
52
52
 
@@ -94,15 +94,3 @@ $white: #FFFFFF !default;
94
94
  // Background colours.
95
95
  $backgroundColour: #FCFCFC !default;
96
96
  $codeBackgroundColour: #F5F4F2 !default;
97
-
98
-
99
- // Alembic reassigned variables
100
- $headingColour: $color__site--heading;
101
- $bodyColour: $color__site--body;
102
- $linkColour: $color__site--link;
103
- $hoverColour: $color__site--link--hover;
104
- $captionColour: $color__site--captions;
105
- $white: #fff;
106
-
107
- $backgroundColour: $color__site--background;
108
- $codeBackgroundColour: darken($color__site--background, 5%);
data/assets/styles.scss CHANGED
@@ -2,10 +2,9 @@
2
2
  title: false
3
3
  ---
4
4
 
5
-
6
5
  // Frameworks & Imports
7
6
  @charset "utf-8";
8
- @import "colors";
7
+ @import "settings";
9
8
  @import "normalize";
10
9
  @import "sassline-base";
11
10
  @import "syntax";
@@ -14,8 +13,8 @@ title: false
14
13
 
15
14
  // Structural elements
16
15
  body {
17
- background: $color__site--background;
18
- color: $color__site--body;
16
+ background: $backgroundColour;
17
+ color: $bodyColour;
19
18
  height: 100%;
20
19
  display: flex;
21
20
  @include flex-direction(column);
@@ -32,18 +31,17 @@ body {
32
31
  // Header, feature and footer
33
32
  .header,
34
33
  .footer {
34
+ .nav {
35
+ text-align: right;
36
+ }
35
37
  .container {
36
- padding: 1rem 0;
37
38
  @include flexbox;
38
- @include flex-direction(column);
39
- @include align-items(center);
40
- text-align: center;
41
- }
42
- @include breakpoint(break-1) {
43
- .container {
44
- @include flex-direction(row);
45
- @include justify-content(space-between);
46
- text-align: inherit;
39
+ @include flex-direction(row);
40
+ @include justify-content(space-between);
41
+ padding: 1rem 0;
42
+ text-align: inherit;
43
+ @include breakpoint(break-1) {
44
+ @include align-items(center);
47
45
  }
48
46
  }
49
47
  }
@@ -52,7 +50,7 @@ body {
52
50
  padding-bottom: .4rem;
53
51
  margin-bottom: 1.6rem;
54
52
  text-align: center;
55
- background: $color__site--accent;
53
+ background: $featureBackgroundColour;
56
54
  background-size: cover;
57
55
  background-position: center;
58
56
  @include flexbox;
@@ -75,18 +73,25 @@ body {
75
73
 
76
74
  .small {
77
75
  padding-top: .8rem;
78
- color: $color__site--captions;
76
+ color: $captionColour;
79
77
  display: inline-block;
80
78
  }
81
79
 
82
80
  .footer {
83
- background: lighten(invert($color__site--background), 15%);
81
+ background: $headingColour;
82
+ color: $captionColour;
84
83
  a {
85
- color: invert($color__site--heading);
84
+ color: $captionColour;
86
85
  &:hover {
87
- color: lighten(invert($color__site--body), 15%);
86
+ color: $backgroundColour;
88
87
  }
89
88
  }
89
+ .container {
90
+ @include flex-wrap(wrap);
91
+ }
92
+ .small {
93
+ padding-top: 0;
94
+ }
90
95
  }
91
96
 
92
97
 
@@ -95,7 +100,7 @@ body {
95
100
  &--paginator {
96
101
  @include flexbox;
97
102
  @include justify-content(space-between);
98
- color: $color__site--captions;
103
+ color: $captionColour;
99
104
  text-align: center;
100
105
  }
101
106
  &--social {
@@ -107,27 +112,20 @@ body {
107
112
  min-width: 20%;
108
113
  }
109
114
 
110
- .copyright {
111
- @include breakpoint(break-1) {
112
- @include order(-1);
113
- }
114
- }
115
-
116
115
 
117
116
  // Main content
118
117
  .main {
119
118
  @include flexbox;
120
119
  @include flex-direction(column);
120
+ @include flex(1, 0, auto);
121
+ @include justify-content(flex-start);
121
122
  margin-bottom: 1.6rem;
122
123
  @include breakpoint(break-1) {
124
+ @include justify-content(center);
123
125
  @include flex-direction(row);
124
126
  }
125
127
  }
126
128
 
127
- .main {
128
- @include flex(1, 0, auto);
129
- }
130
-
131
129
  .header,
132
130
  .feature,
133
131
  .footer {
@@ -138,21 +136,9 @@ body {
138
136
  width: 100%;
139
137
  @include breakpoint(break-1) {
140
138
  width: 62%;
141
- margin-right: 4%;
142
139
  &--full {
143
140
  width: 100%;
144
141
  margin-right: 0%;
145
- .figure--full {
146
- left: 50%;
147
- }
148
- }
149
- &--aside-left {
150
- margin-right: 0;
151
- margin-left: 4%;
152
- @include order(2);
153
- .figure--full {
154
- left: 19.4%;
155
- }
156
142
  }
157
143
  }
158
144
  }
@@ -167,9 +153,19 @@ body {
167
153
  max-width: 100%;
168
154
  @include breakpoint(break-1) {
169
155
  max-width: 34%;
156
+ margin-left: 4%;
170
157
  @include flex(1, 0, auto);
171
158
  opacity: 0.5;
172
159
  transition: opacity .1s;
160
+ .section {
161
+ position: sticky;
162
+ top: 0;
163
+ }
164
+ &--left {
165
+ margin-left: 0;
166
+ margin-right: 4%;
167
+ order: -1;
168
+ }
173
169
  &:hover {
174
170
  opacity: 1;
175
171
  }
@@ -178,10 +174,6 @@ body {
178
174
 
179
175
  .section {
180
176
  margin: 0;
181
- &--category-index {
182
- position: sticky;
183
- top: 0;
184
- }
185
177
  }
186
178
 
187
179
 
@@ -195,7 +187,12 @@ body {
195
187
  &--categories {
196
188
  list-style: none;
197
189
  }
198
- .item--post {
190
+ &--nav {
191
+ overflow: hidden;
192
+ transition: .2s;
193
+ }
194
+ .item--post,
195
+ .item--result {
199
196
  margin-left: 0;
200
197
  }
201
198
  &--categories {
@@ -208,14 +205,18 @@ body {
208
205
  .item {
209
206
  &--nav {
210
207
  display: inline-block;
211
- margin-left: 1rem;
208
+ width: 100%;
209
+ @include breakpoint(break-1) {
210
+ width: auto;
211
+ margin-left: 1rem;
212
+ }
212
213
  &:first-of-type {
213
214
  margin-left: 0;
214
215
  }
215
216
  }
216
217
  &--current {
217
218
  a {
218
- color: $color__site--link--current;
219
+ opacity: 0.5;
219
220
  }
220
221
  }
221
222
  }
@@ -230,7 +231,7 @@ body {
230
231
  display: inline-block;
231
232
  transition: fill .1s;
232
233
  &:hover {
233
- fill: darken($color__site--link, 10%);
234
+ fill: $hoverColour;
234
235
  }
235
236
  }
236
237
  }
@@ -254,20 +255,7 @@ img {
254
255
 
255
256
  .figure {
256
257
  line-height: 0;
257
- &--full {
258
- width: 100vw;
259
- position: relative;
260
- left: 50%;
261
- margin-left: -50vw;
262
- .caption {
263
- padding-left: .8rem;
264
- padding-right: .8rem;
265
- }
266
- }
267
258
  @include breakpoint(break-1) {
268
- &--full {
269
- left: 80.6%;
270
- }
271
259
  &--left {
272
260
  float: left;
273
261
  padding-right: .8rem;
@@ -318,7 +306,9 @@ input[type="text"],
318
306
  input[type="email"],
319
307
  input[type="search"],
320
308
  input[type="submit"],
321
- textarea {
309
+ input[type="color"],
310
+ textarea,
311
+ select {
322
312
  padding: .6rem 1.2rem;
323
313
  margin-bottom: .6rem;
324
314
  transition: color .1s, background-color .1s, border .1s;
@@ -332,12 +322,27 @@ textarea {
332
322
  }
333
323
  }
334
324
 
325
+ input[type="color"] {
326
+ padding: 0;
327
+ height: 2.4rem;
328
+ &::-webkit-color-swatch-wrapper {
329
+ padding: 0;
330
+ &:after {
331
+ content: "Color";
332
+ }
333
+ }
334
+ &::-webkit-color-swatch {
335
+ border: none;
336
+ }
337
+ }
338
+
335
339
  input[type="submit"],
336
340
  button,
337
341
  .button {
338
342
  cursor: pointer;
339
343
  display: inline-block;
340
- background: $color__site--accent;
344
+ color: $backgroundColour;
345
+ background: $accentColour;
341
346
  position: relative;
342
347
  transition: box-shadow .1s;
343
348
  will-change: box-shadow;
@@ -351,14 +356,31 @@ button,
351
356
  }
352
357
  }
353
358
 
359
+ .button--nav {
360
+ @include breakpoint(break-1) {
361
+ display: none;
362
+ }
363
+ background: none;
364
+ color: $linkColour;
365
+ margin-bottom: 0;
366
+ min-height: 4rem;
367
+ min-width: 4rem;
368
+ &:hover,
369
+ &:focus {
370
+ box-shadow: none;
371
+ color: $hoverColour;
372
+ }
373
+ }
374
+
354
375
  a,
355
376
  button,
356
377
  .button,
357
378
  input,
358
- textarea {
379
+ textarea,
380
+ select {
359
381
  &:focus,
360
382
  &:hover:focus {
361
- outline: solid .12rem invert($color__site--accent);
383
+ outline: solid .12rem $focusColour;
362
384
  }
363
385
  }
364
386
 
@@ -369,14 +391,20 @@ a:hover:focus {
369
391
  input[type="text"],
370
392
  input[type="email"],
371
393
  input[type="search"],
372
- textarea {
394
+ input[type="color"],
395
+ textarea,
396
+ select {
373
397
  width: 100%;
374
- border: 1px solid $color__site--captions;
398
+ border: 1px solid $captionColour;
375
399
  &:hover {
376
- border-color: darken($color__site--captions, 20%);
400
+ border-color: $bodyColour;
377
401
  }
378
402
  }
379
403
 
404
+ select {
405
+ background: $codeBackgroundColour;
406
+ }
407
+
380
408
  textarea {
381
409
  resize: vertical;
382
410
  }
@@ -398,39 +426,46 @@ pre code {
398
426
  }
399
427
 
400
428
  ::-webkit-input-placeholder {
401
- color: darken($color__site--captions, 30%);
429
+ opacity: 0.5;
402
430
  }
403
431
  ::-moz-placeholder {
404
- color: darken($color__site--captions, 30%);
432
+ opacity: 0.5;
405
433
  }
406
434
  :-ms-input-placeholder {
407
- color: darken($color__site--captions, 30%);
435
+ opacity: 0.5;
408
436
  }
409
437
  :-moz-placeholder {
410
- color: darken($color__site--captions, 30%);
438
+ opacity: 0.5;
411
439
  }
412
440
 
413
441
  ::selection {
414
- background: $color__site--heading;
415
- color: $color__site--background;
442
+ background: $headingColour;
443
+ color: $backgroundColour;
416
444
  text-shadow: none;
417
445
  }
418
446
 
447
+
419
448
  // Sassline overrides
420
449
  .typeset {
421
450
  .button,
422
451
  button {
423
452
  background-image: none;
424
453
  text-shadow: none;
425
- color: lighten(invert($color__site--body), 15%);
454
+ color: $backgroundColour;
426
455
  &:hover,
427
456
  &:active,
428
457
  &:focus {
429
458
  background-image: none;
430
- color: lighten(invert($color__site--body), 15%);
459
+ color: $backgroundColour;
431
460
  }
432
461
  }
433
462
  hr {
434
463
  width: 100%;
435
464
  }
465
+ li {
466
+ > p {
467
+ padding: 0;
468
+ margin: 0;
469
+ }
470
+ }
436
471
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alembic-jekyll-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.3
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Darnes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-06 00:00:00.000000000 Z
11
+ date: 2017-05-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.3'
19
+ version: '3.4'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '3.3'
26
+ version: '3.4'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: jekyll-sitemap
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.10'
33
+ version: '0.13'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.10'
40
+ version: '0.13'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: jekyll-mentions
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -72,70 +72,70 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '2.0'
75
+ version: '2.2'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '2.0'
82
+ version: '2.2'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: jekyll-redirect-from
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0.11'
89
+ version: '0.12'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0.11'
96
+ version: '0.12'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: jekyll-feed
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0.5'
103
+ version: '0.9'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0.5'
110
+ version: '0.9'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: jemoji
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0.7'
117
+ version: '0.8'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0.7'
124
+ version: '0.8'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: bundler
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '1.12'
131
+ version: '1.14'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: '1.12'
138
+ version: '1.14'
139
139
  description: A Jekyll boilerplate theme designed to be a starting point for any Jekyll
140
140
  website. Rather than starting from scratch, this boilerplate is designed to get
141
141
  the ball rolling immediately.
@@ -176,15 +176,12 @@ files:
176
176
  - _layouts/blog.html
177
177
  - _layouts/categories.html
178
178
  - _layouts/default.html
179
- - _layouts/home.html
180
- - _layouts/page-aside-left.html
181
179
  - _layouts/page.html
182
180
  - _layouts/post.html
183
- - _layouts/search.html
184
- - _sass/_colors.scss
185
181
  - _sass/_flex.scss
186
182
  - _sass/_normalize.scss
187
183
  - _sass/_sassline-base.scss
184
+ - _sass/_settings.scss
188
185
  - _sass/_syntax.scss
189
186
  - _sass/sassline-base/_mixins.scss
190
187
  - _sass/sassline-base/_modular-scale.scss
data/_layouts/home.html DELETED
@@ -1,19 +0,0 @@
1
- ---
2
- layout: default
3
- ---
4
-
5
- {% include site-header.html %}
6
-
7
- <main class="main container">
8
-
9
- <article class="article article--page content content--full typeset">
10
-
11
- <h1>{{ page.title }}</h1>
12
-
13
- {{ content }}
14
-
15
- </article>
16
-
17
- </main>
18
-
19
- {% include site-footer.html %}
@@ -1,21 +0,0 @@
1
- ---
2
- layout: default
3
- ---
4
-
5
- {% include site-header.html %}
6
-
7
- <main class="main container">
8
-
9
- <article class="article article--page content content--aside-left typeset">
10
-
11
- <h1>{{ page.title }}</h1>
12
-
13
- {{ content }}
14
-
15
- </article>
16
-
17
- {% include site-aside.html %}
18
-
19
- </main>
20
-
21
- {% include site-footer.html %}
data/_layouts/search.html DELETED
@@ -1,27 +0,0 @@
1
- ---
2
- layout: default
3
- ---
4
-
5
- {% include site-header.html %}
6
-
7
- <main class="main container">
8
-
9
- <div class="content">
10
-
11
- <article class="article article--page typeset">
12
-
13
- <h1>{{ page.title }}</h1>
14
-
15
- {{ content }}
16
-
17
- </article>
18
-
19
- {% include site-search.html %}
20
-
21
- </div>
22
-
23
- {% include site-aside.html %}
24
-
25
- </main>
26
-
27
- {% include site-footer.html %}
data/_sass/_colors.scss DELETED
@@ -1,10 +0,0 @@
1
- // Colours
2
- $color__site--background: #fff;
3
- $color__site--heading: #333;
4
- $color__site--body: darken($color__site--heading, 10%);
5
- $color__feature--background: darken($color__site--background, 5%);
6
- $color__site--captions: lighten($color__site--heading, 50%);
7
- $color__site--link: #05bf85;
8
- $color__site--link--hover: darken($color__site--link, 10%);
9
- $color__site--link--current: desaturate($color__site--link, 100%);
10
- $color__site--accent: #05bf85;