bubblin-jekyll 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +21 -0
- data/README.md +147 -0
- data/_includes/disqus_comments.html +20 -0
- data/_includes/footer.html +46 -0
- data/_includes/google-analytics.html +11 -0
- data/_includes/head.html +11 -0
- data/_includes/header.html +32 -0
- data/_includes/icon-github.html +1 -0
- data/_includes/icon-github.svg +1 -0
- data/_includes/icon-twitter.html +1 -0
- data/_includes/icon-twitter.svg +1 -0
- data/_layouts/default.html +20 -0
- data/_layouts/home.html +26 -0
- data/_layouts/page.html +14 -0
- data/_layouts/post.html +25 -0
- data/_sass/bubblin-jekyll.scss +43 -0
- data/_sass/bubblin-jekyll/_base.scss +245 -0
- data/_sass/bubblin-jekyll/_layout.scss +250 -0
- data/_sass/bubblin-jekyll/_syntax-highlighting.scss +71 -0
- data/assets/main.scss +5 -0
- metadata +121 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 0d4f86ef3869c8e7b7f381065a25e7dadafb7fb1
|
4
|
+
data.tar.gz: cc298fee0e6989bc11c18eefe3af03281be4d472
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 61140be72721059b5a90fc86c6869fc6ddfdd3f700234f4846af2883f664738b33ea0d3039c9c8dc604476368b991883eee852e0ae8bcdb5beae25e35c13fc80
|
7
|
+
data.tar.gz: 938dce2ffb81d49eedd0822fb62534311d380850491c0d7412a3e6f03e80a07f2a6e6602372229084062d82d2068f579dc92abda0f747ccb349ceca12c0f6d55
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2016 Parker Moore
|
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
|
13
|
+
all 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
|
21
|
+
THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,147 @@
|
|
1
|
+
# bubblin-jekyll
|
2
|
+
|
3
|
+
The *Bubblin-Jekyll* is the Jekyll theme in use at the Bubblin [blog](https://bubblin.io/blog/).
|
4
|
+
|
5
|
+
It's a fork off of [Minima](https://github.com/jekyll/minima)—the default theme gem of Jekyll.
|
6
|
+
|
7
|
+
[Theme preview](https://jekyll.github.io/bubblin-jekyll/)
|
8
|
+
|
9
|
+
![bubblin-jekyll theme preview](/screenshot.png)
|
10
|
+
|
11
|
+
## Installation
|
12
|
+
|
13
|
+
Add this line to your Jekyll site's Gemfile:
|
14
|
+
|
15
|
+
```ruby
|
16
|
+
gem "bubblin-jekyll"
|
17
|
+
```
|
18
|
+
|
19
|
+
And add this line to your Jekyll site:
|
20
|
+
|
21
|
+
```yaml
|
22
|
+
theme: bubblin-jekyll
|
23
|
+
```
|
24
|
+
|
25
|
+
And then execute:
|
26
|
+
|
27
|
+
$ bundle
|
28
|
+
|
29
|
+
### Layouts
|
30
|
+
|
31
|
+
Refers to files within the `_layouts` directory, that define the markup for your theme.
|
32
|
+
|
33
|
+
- `default.html` — The base layout that lays the foundation for subsequent layouts. The derived layouts inject their contents into this file at the line that says ` {{ content }} ` and are linked to this file via [FrontMatter](https://jekyllrb.com/docs/frontmatter/) declaration `layout: default`.
|
34
|
+
- `home.html` — The layout for your landing-page / home-page / index-page.
|
35
|
+
- `page.html` — The layout for your documents that contain FrontMatter, but are not posts.
|
36
|
+
- `post.html` — The layout for your posts.
|
37
|
+
|
38
|
+
### Includes
|
39
|
+
|
40
|
+
Refers to snippets of code within the `_includes` directory that can be inserted in multiple layouts (and another include-file as well) within the same theme-gem.
|
41
|
+
|
42
|
+
- `disqus_comments.html` — Code to markup disqus comment box.
|
43
|
+
- `footer.html` — Defines the site's footer section.
|
44
|
+
- `google-analytics.html` — Inserts Google Analytics module (active only in production environment).
|
45
|
+
- `head.html` — Code-block that defines the `<head></head>` in *default* layout.
|
46
|
+
- `header.html` — Defines the site's main header section. By default, pages with a defined `title` attribute will have links displayed here.
|
47
|
+
- `icon-* files` — Inserts github and twitter ids with respective icons.
|
48
|
+
|
49
|
+
### Sass
|
50
|
+
|
51
|
+
Refers to `.scss` files within the `_sass` directory that define the theme's styles.
|
52
|
+
|
53
|
+
- `bubblin-jekyll.scss` — The core file imported by preprocessed `main.scss`, it defines the variable defaults for the theme and also further imports sass partials to supplement itself.
|
54
|
+
- `bubblin-jekyll/_base.scss` — Resets and defines base styles for various HTML elements.
|
55
|
+
- `bubblin-jekyll/_layout.scss` — Defines the visual style for various layouts.
|
56
|
+
- `bubblin-jekyll/_syntax-highlighting.scss` — Defines the styles for syntax-highlighting.
|
57
|
+
|
58
|
+
### Assets
|
59
|
+
|
60
|
+
Refers to various asset files within the `assets` directory.
|
61
|
+
Contains the `main.scss` that imports sass files from within the `_sass` directory. This `main.scss` is what gets processed into the theme's main stylesheet `main.css` called by `_layouts/default.html` via `_includes/head.html`.
|
62
|
+
|
63
|
+
This directory can include sub-directories to manage assets of similar type, and will be copied over as is, to the final transformed site directory.
|
64
|
+
|
65
|
+
### Plugins
|
66
|
+
|
67
|
+
Bubblin-jekyll comes preinstalled with the [`jekyll-seo-tag`](https://github.com/jekyll/jekyll-seo-tag) plugin to make sure your website gets the most useful meta tags. See [usage](https://github.com/jekyll/jekyll-seo-tag#usage) to know how to set it up.
|
68
|
+
|
69
|
+
## Usage
|
70
|
+
|
71
|
+
### Customization
|
72
|
+
|
73
|
+
To override the default structure and style of bubblin-jekyll, simply create the concerned directory at the root of your site, copy the file you wish to customize to that directory, and then edit the file.
|
74
|
+
e.g., to override the [`_includes/head.html `](_includes/head.html) file to specify a custom style path, create an `_includes` directory, copy `_includes/head.html` from minima gem folder to `<yoursite>/_includes` and start editing that file.
|
75
|
+
|
76
|
+
The site's default CSS has now moved to a new place within the gem itself, [`assets/main.scss`](assets/main.scss). To **override the default CSS**, the file has to exist at your site source. Do either of the following:
|
77
|
+
- Create a new instance of `main.scss` at site source.
|
78
|
+
- Create a new file `main.scss` at `<your-site>/assets/`
|
79
|
+
- Add the frontmatter dashes, and
|
80
|
+
- Add `@import "bubblin-jekyll";`, to `<your-site>/assets/main.scss`
|
81
|
+
- Add your custom CSS.
|
82
|
+
- Download the file from this repo
|
83
|
+
- Create a new file `main.scss` at `<your-site>/assets/`
|
84
|
+
- Copy the contents at [assets/main.scss](assets/main.scss) onto the `main.scss` you just created, and edit away!
|
85
|
+
- Copy directly from Bubblin-Jekyll gem
|
86
|
+
- Go to your local bubblin-jekyll gem installation directory ( run `bundle show bubblin-jekyll` to get the path to it ).
|
87
|
+
- Copy the `assets/` folder from there into the root of `<your-site>`
|
88
|
+
- Change whatever values you want, inside `<your-site>/assets/main.scss`
|
89
|
+
|
90
|
+
--
|
91
|
+
|
92
|
+
### Change default date format
|
93
|
+
|
94
|
+
You can change the default date format by specifying `site.bubblin-jekyll.date_format`
|
95
|
+
in `_config.yml`.
|
96
|
+
|
97
|
+
```
|
98
|
+
# Bubblin-Jekyll date format
|
99
|
+
# Refer to http://shopify.github.io/liquid/filters/date/ to customize
|
100
|
+
bubblin-jekyll:
|
101
|
+
date_format: "%b %-d, %Y"
|
102
|
+
```
|
103
|
+
|
104
|
+
--
|
105
|
+
|
106
|
+
### Enabling comments (via Disqus)
|
107
|
+
|
108
|
+
Optionally, if you have a Disqus account, you can tell Jekyll to use it to show a comments section below each post.
|
109
|
+
|
110
|
+
To enable it, add the following lines to your Jekyll site:
|
111
|
+
|
112
|
+
```yaml
|
113
|
+
disqus:
|
114
|
+
shortname: my_disqus_shortname
|
115
|
+
```
|
116
|
+
|
117
|
+
You can find out more about Disqus' shortnames [here](https://help.disqus.com/customer/portal/articles/466208).
|
118
|
+
|
119
|
+
Comments are enabled by default and will only appear in production, i.e., `JEKYLL_ENV=production`
|
120
|
+
|
121
|
+
If you don't want to display comments for a particular post you can disable them by adding `comments: false` to that post's YAML Front Matter.
|
122
|
+
|
123
|
+
--
|
124
|
+
|
125
|
+
### Enabling Google Analytics
|
126
|
+
|
127
|
+
To enable Google Anaytics, add the following lines to your Jekyll site:
|
128
|
+
|
129
|
+
```yaml
|
130
|
+
google_analytics: UA-NNNNNNNN-N
|
131
|
+
```
|
132
|
+
|
133
|
+
Google Analytics will only appear in production, i.e., `JEKYLL_ENV=production`
|
134
|
+
|
135
|
+
## Contributing
|
136
|
+
|
137
|
+
Bug reports and pull requests are welcome on GitHub at . This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
138
|
+
|
139
|
+
## Development
|
140
|
+
|
141
|
+
To set up your environment to develop this theme, run `script/bootstrap`.
|
142
|
+
|
143
|
+
To test your theme, run `script/server` (or `bundle exec jekyll serve`) and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme and the contents. As you make modifications, your site will regenerate and you should see the changes in the browser after a refresh.
|
144
|
+
|
145
|
+
## License
|
146
|
+
|
147
|
+
The theme is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
@@ -0,0 +1,20 @@
|
|
1
|
+
{% if page.comments != false and jekyll.environment == "production" %}
|
2
|
+
|
3
|
+
<div id="disqus_thread"></div>
|
4
|
+
<script>
|
5
|
+
var disqus_config = function () {
|
6
|
+
this.page.url = '{{ page.url | absolute_url }}';
|
7
|
+
this.page.identifier = '{{ page.url | absolute_url }}';
|
8
|
+
};
|
9
|
+
|
10
|
+
(function() {
|
11
|
+
var d = document, s = d.createElement('script');
|
12
|
+
|
13
|
+
s.src = 'https://{{ site.disqus.shortname }}.disqus.com/embed.js';
|
14
|
+
|
15
|
+
s.setAttribute('data-timestamp', +new Date());
|
16
|
+
(d.head || d.body).appendChild(s);
|
17
|
+
})();
|
18
|
+
</script>
|
19
|
+
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>
|
20
|
+
{% endif %}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
<footer class="site-footer">
|
2
|
+
|
3
|
+
<div class="wrapper">
|
4
|
+
|
5
|
+
<h2 class="footer-heading">{{ site.title | escape }}</h2>
|
6
|
+
|
7
|
+
<div class="footer-col-wrapper">
|
8
|
+
<div class="footer-col footer-col-1">
|
9
|
+
<ul class="contact-list">
|
10
|
+
<li>
|
11
|
+
{% if site.author %}
|
12
|
+
{{ site.author | escape }}
|
13
|
+
{% else %}
|
14
|
+
{{ site.title | escape }}
|
15
|
+
{% endif %}
|
16
|
+
</li>
|
17
|
+
{% if site.email %}
|
18
|
+
<li><a href="mailto:{{ site.email }}">{{ site.email }}</a></li>
|
19
|
+
{% endif %}
|
20
|
+
</ul>
|
21
|
+
</div>
|
22
|
+
|
23
|
+
<div class="footer-col footer-col-2">
|
24
|
+
<ul class="social-media-list">
|
25
|
+
{% if site.github_username %}
|
26
|
+
<li>
|
27
|
+
{% include icon-github.html username=site.github_username %}
|
28
|
+
</li>
|
29
|
+
{% endif %}
|
30
|
+
|
31
|
+
{% if site.twitter_username %}
|
32
|
+
<li>
|
33
|
+
{% include icon-twitter.html username=site.twitter_username %}
|
34
|
+
</li>
|
35
|
+
{% endif %}
|
36
|
+
</ul>
|
37
|
+
</div>
|
38
|
+
|
39
|
+
<div class="footer-col footer-col-3">
|
40
|
+
<p>{{ site.description | escape }}</p>
|
41
|
+
</div>
|
42
|
+
</div>
|
43
|
+
|
44
|
+
</div>
|
45
|
+
|
46
|
+
</footer>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<script>
|
2
|
+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
3
|
+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
4
|
+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
5
|
+
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
6
|
+
|
7
|
+
ga('create', '{{ site.google_analytics }}', 'auto');
|
8
|
+
ga('send', 'pageview');
|
9
|
+
|
10
|
+
</script>
|
11
|
+
|
data/_includes/head.html
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
<head>
|
2
|
+
<meta charset="utf-8">
|
3
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
4
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
5
|
+
{% seo %}
|
6
|
+
<link rel="stylesheet" href="{{ "/assets/main.css" | relative_url }}">
|
7
|
+
<link rel="alternate" type="application/rss+xml" title="{{ site.title | escape }}" href="{{ "/feed.xml" | relative_url }}">
|
8
|
+
{% if jekyll.environment == 'production' and site.google_analytics %}
|
9
|
+
{% include google-analytics.html %}
|
10
|
+
{% endif %}
|
11
|
+
</head>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<header class="site-header" role="banner">
|
2
|
+
|
3
|
+
<div class="wrapper">
|
4
|
+
{% assign default_paths = site.pages | map: "path" %}
|
5
|
+
{% assign page_paths = site.header_pages | default: default_paths %}
|
6
|
+
<a class="site-title" href="{{ "/" | relative_url }}">{{ site.title | escape }}</a>
|
7
|
+
|
8
|
+
{% if page_paths %}
|
9
|
+
<nav class="site-nav">
|
10
|
+
<input type="checkbox" id="nav-trigger" class="nav-trigger" />
|
11
|
+
<label for="nav-trigger">
|
12
|
+
<span class="menu-icon">
|
13
|
+
<svg viewBox="0 0 18 15" width="18px" height="15px">
|
14
|
+
<path fill="#424242" d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.031C17.335,0,18,0.665,18,1.484L18,1.484z"/>
|
15
|
+
<path fill="#424242" d="M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0c0-0.82,0.665-1.484,1.484-1.484 h15.031C17.335,6.031,18,6.696,18,7.516L18,7.516z"/>
|
16
|
+
<path fill="#424242" d="M18,13.516C18,14.335,17.335,15,16.516,15H1.484C0.665,15,0,14.335,0,13.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.031C17.335,12.031,18,12.696,18,13.516L18,13.516z"/>
|
17
|
+
</svg>
|
18
|
+
</span>
|
19
|
+
</label>
|
20
|
+
|
21
|
+
<div class="trigger">
|
22
|
+
{% for path in page_paths %}
|
23
|
+
{% assign my_page = site.pages | where: "path", path | first %}
|
24
|
+
{% if my_page.title %}
|
25
|
+
<a class="page-link" href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a>
|
26
|
+
{% endif %}
|
27
|
+
{% endfor %}
|
28
|
+
</div>
|
29
|
+
</nav>
|
30
|
+
{% endif %}
|
31
|
+
</div>
|
32
|
+
</header>
|
@@ -0,0 +1 @@
|
|
1
|
+
<a href="https://github.com/{{ include.username }}"><span class="icon icon--github">{% include icon-github.svg %}</span><span class="username">{{ include.username }}</span></a>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="#828282" d="M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761 c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32 c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472 c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037 C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65 c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261 c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082 c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129 c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z"/></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<a href="https://twitter.com/{{ include.username }}"><span class="icon icon--twitter">{% include icon-twitter.svg %}</span><span class="username">{{ include.username }}</span></a>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="#828282" d="M15.969,3.058c-0.586,0.26-1.217,0.436-1.878,0.515c0.675-0.405,1.194-1.045,1.438-1.809c-0.632,0.375-1.332,0.647-2.076,0.793c-0.596-0.636-1.446-1.033-2.387-1.033c-1.806,0-3.27,1.464-3.27,3.27 c0,0.256,0.029,0.506,0.085,0.745C5.163,5.404,2.753,4.102,1.14,2.124C0.859,2.607,0.698,3.168,0.698,3.767 c0,1.134,0.577,2.135,1.455,2.722C1.616,6.472,1.112,6.325,0.671,6.08c0,0.014,0,0.027,0,0.041c0,1.584,1.127,2.906,2.623,3.206 C3.02,9.402,2.731,9.442,2.433,9.442c-0.211,0-0.416-0.021-0.615-0.059c0.416,1.299,1.624,2.245,3.055,2.271 c-1.119,0.877-2.529,1.4-4.061,1.4c-0.264,0-0.524-0.015-0.78-0.046c1.447,0.928,3.166,1.469,5.013,1.469 c6.015,0,9.304-4.983,9.304-9.304c0-0.142-0.003-0.283-0.009-0.423C14.976,4.29,15.531,3.714,15.969,3.058z"/></svg>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="{{ page.lang | default: site.lang | default: "en" }}">
|
3
|
+
|
4
|
+
{% include head.html %}
|
5
|
+
|
6
|
+
<body>
|
7
|
+
|
8
|
+
{% include header.html %}
|
9
|
+
|
10
|
+
<main class="page-content" aria-label="Content">
|
11
|
+
<div class="wrapper">
|
12
|
+
{{ content }}
|
13
|
+
</div>
|
14
|
+
</main>
|
15
|
+
|
16
|
+
{% include footer.html %}
|
17
|
+
|
18
|
+
</body>
|
19
|
+
|
20
|
+
</html>
|
data/_layouts/home.html
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
|
5
|
+
<div class="home">
|
6
|
+
|
7
|
+
{{ content }}
|
8
|
+
|
9
|
+
<h1 class="page-heading">Posts</h1>
|
10
|
+
|
11
|
+
<ul class="post-list">
|
12
|
+
{% for post in site.posts %}
|
13
|
+
<li>
|
14
|
+
{% assign date_format = site.minima.date_format | default: "%b %-d, %Y" %}
|
15
|
+
<span class="post-meta">{{ post.date | date: date_format }}</span>
|
16
|
+
|
17
|
+
<h2>
|
18
|
+
<a class="post-link" href="{{ post.url | relative_url }}">{{ post.title | escape }}</a>
|
19
|
+
</h2>
|
20
|
+
</li>
|
21
|
+
{% endfor %}
|
22
|
+
</ul>
|
23
|
+
|
24
|
+
<p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | relative_url }}">via RSS</a></p>
|
25
|
+
|
26
|
+
</div>
|
data/_layouts/page.html
ADDED
data/_layouts/post.html
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
<article class="post" itemscope itemtype="http://schema.org/BlogPosting">
|
5
|
+
|
6
|
+
<header class="post-header">
|
7
|
+
<h1 class="post-title" itemprop="name headline">{{ page.title | escape }}</h1>
|
8
|
+
<p class="post-meta">
|
9
|
+
<time datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
|
10
|
+
{% assign date_format = site.bubblin-jekyll.date_format | default: "%b %-d, %Y" %}
|
11
|
+
{{ page.date | date: date_format }}
|
12
|
+
</time>
|
13
|
+
{% if page.author %}
|
14
|
+
• <span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name">{{ page.author }}</span></span>
|
15
|
+
{% endif %}</p>
|
16
|
+
</header>
|
17
|
+
|
18
|
+
<div class="post-content" itemprop="articleBody">
|
19
|
+
{{ content }}
|
20
|
+
</div>
|
21
|
+
|
22
|
+
{% if site.disqus.shortname %}
|
23
|
+
{% include disqus_comments.html %}
|
24
|
+
{% endif %}
|
25
|
+
</article>
|
@@ -0,0 +1,43 @@
|
|
1
|
+
@charset "utf-8";
|
2
|
+
// Define defaults for each variable.
|
3
|
+
$base-font-family: "Helvetica Neue",
|
4
|
+
Helvetica,
|
5
|
+
Arial,
|
6
|
+
sans-serif !default;
|
7
|
+
$base-font-size: 16px !default;
|
8
|
+
$base-font-weight: 400 !default;
|
9
|
+
$small-font-size: $base-font-size * 0.875 !default;
|
10
|
+
$base-line-height: 1.5 !default;
|
11
|
+
$spacing-unit: 30px !default;
|
12
|
+
$text-color: #111 !default;
|
13
|
+
$background-color: #fdfdfd !default;
|
14
|
+
$brand-color: #2a7ae2 !default;
|
15
|
+
$grey-color: #828282 !default;
|
16
|
+
$grey-color-light: lighten($grey-color, 40%) !default;
|
17
|
+
$grey-color-dark: darken($grey-color, 25%) !default;
|
18
|
+
$table-text-align: left !default;
|
19
|
+
// Width of the content area
|
20
|
+
$content-width: 800px !default;
|
21
|
+
$on-palm: 600px !default;
|
22
|
+
$on-laptop: 800px !default;
|
23
|
+
// Use media queries like this:
|
24
|
+
// @include media-query($on-palm) {
|
25
|
+
// .wrapper {
|
26
|
+
// padding-right: $spacing-unit / 2;
|
27
|
+
// padding-left: $spacing-unit / 2;
|
28
|
+
// }
|
29
|
+
// }
|
30
|
+
@mixin media-query($device) {
|
31
|
+
@media screen and (max-width: $device) {
|
32
|
+
@content;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
|
36
|
+
@mixin relative-font-size($ratio) {
|
37
|
+
font-size: $base-font-size * $ratio;
|
38
|
+
}
|
39
|
+
|
40
|
+
// Import partials.
|
41
|
+
@import "bubblin-jekyll/base",
|
42
|
+
"bubblin-jekyll/layout",
|
43
|
+
"bubblin-jekyll/syntax-highlighting";
|
@@ -0,0 +1,245 @@
|
|
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: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family;
|
18
|
+
color: $text-color;
|
19
|
+
background-color: $background-color;
|
20
|
+
-webkit-text-size-adjust: 100%;
|
21
|
+
-webkit-font-feature-settings: "kern" 1;
|
22
|
+
-moz-font-feature-settings: "kern" 1;
|
23
|
+
-o-font-feature-settings: "kern" 1;
|
24
|
+
font-feature-settings: "kern" 1;
|
25
|
+
font-kerning: normal;
|
26
|
+
}
|
27
|
+
|
28
|
+
|
29
|
+
|
30
|
+
/**
|
31
|
+
* Set `margin-bottom` to maintain vertical rhythm
|
32
|
+
*/
|
33
|
+
h1, h2, h3, h4, h5, h6,
|
34
|
+
p, blockquote, pre,
|
35
|
+
ul, ol, dl, figure,
|
36
|
+
%vertical-rhythm {
|
37
|
+
margin-bottom: $spacing-unit / 2;
|
38
|
+
}
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
/**
|
43
|
+
* Images
|
44
|
+
*/
|
45
|
+
img {
|
46
|
+
max-width: 100%;
|
47
|
+
vertical-align: middle;
|
48
|
+
}
|
49
|
+
|
50
|
+
|
51
|
+
|
52
|
+
/**
|
53
|
+
* Figures
|
54
|
+
*/
|
55
|
+
figure > img {
|
56
|
+
display: block;
|
57
|
+
}
|
58
|
+
|
59
|
+
figcaption {
|
60
|
+
font-size: $small-font-size;
|
61
|
+
}
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
/**
|
66
|
+
* Lists
|
67
|
+
*/
|
68
|
+
ul, ol {
|
69
|
+
margin-left: $spacing-unit;
|
70
|
+
}
|
71
|
+
|
72
|
+
li {
|
73
|
+
> ul,
|
74
|
+
> ol {
|
75
|
+
margin-bottom: 0;
|
76
|
+
}
|
77
|
+
}
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
/**
|
82
|
+
* Headings
|
83
|
+
*/
|
84
|
+
h1, h2, h3, h4, h5, h6 {
|
85
|
+
font-weight: $base-font-weight;
|
86
|
+
}
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
/**
|
91
|
+
* Links
|
92
|
+
*/
|
93
|
+
a {
|
94
|
+
color: $brand-color;
|
95
|
+
text-decoration: none;
|
96
|
+
|
97
|
+
&:visited {
|
98
|
+
color: darken($brand-color, 15%);
|
99
|
+
}
|
100
|
+
|
101
|
+
&:hover {
|
102
|
+
color: $text-color;
|
103
|
+
text-decoration: underline;
|
104
|
+
}
|
105
|
+
|
106
|
+
.social-media-list &:hover {
|
107
|
+
text-decoration: none;
|
108
|
+
|
109
|
+
.username {
|
110
|
+
text-decoration: underline;
|
111
|
+
}
|
112
|
+
}
|
113
|
+
}
|
114
|
+
|
115
|
+
|
116
|
+
/**
|
117
|
+
* Blockquotes
|
118
|
+
*/
|
119
|
+
blockquote {
|
120
|
+
color: $grey-color;
|
121
|
+
border-left: 4px solid $grey-color-light;
|
122
|
+
padding-left: $spacing-unit / 2;
|
123
|
+
@include relative-font-size(1.125);
|
124
|
+
letter-spacing: -1px;
|
125
|
+
font-style: italic;
|
126
|
+
|
127
|
+
> :last-child {
|
128
|
+
margin-bottom: 0;
|
129
|
+
}
|
130
|
+
}
|
131
|
+
|
132
|
+
|
133
|
+
|
134
|
+
/**
|
135
|
+
* Code formatting
|
136
|
+
*/
|
137
|
+
pre,
|
138
|
+
code {
|
139
|
+
@include relative-font-size(0.9375);
|
140
|
+
border: 1px solid $grey-color-light;
|
141
|
+
border-radius: 3px;
|
142
|
+
background-color: #eef;
|
143
|
+
}
|
144
|
+
|
145
|
+
code {
|
146
|
+
padding: 1px 5px;
|
147
|
+
}
|
148
|
+
|
149
|
+
pre {
|
150
|
+
padding: 8px 12px;
|
151
|
+
overflow-x: auto;
|
152
|
+
|
153
|
+
> code {
|
154
|
+
border: 0;
|
155
|
+
padding-right: 0;
|
156
|
+
padding-left: 0;
|
157
|
+
}
|
158
|
+
}
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
/**
|
163
|
+
* Wrapper
|
164
|
+
*/
|
165
|
+
.wrapper {
|
166
|
+
max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2));
|
167
|
+
max-width: calc(#{$content-width} - (#{$spacing-unit} * 2));
|
168
|
+
margin-right: auto;
|
169
|
+
margin-left: auto;
|
170
|
+
padding-right: $spacing-unit;
|
171
|
+
padding-left: $spacing-unit;
|
172
|
+
@extend %clearfix;
|
173
|
+
|
174
|
+
@include media-query($on-laptop) {
|
175
|
+
max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit}));
|
176
|
+
max-width: calc(#{$content-width} - (#{$spacing-unit}));
|
177
|
+
padding-right: $spacing-unit / 2;
|
178
|
+
padding-left: $spacing-unit / 2;
|
179
|
+
}
|
180
|
+
}
|
181
|
+
|
182
|
+
|
183
|
+
|
184
|
+
/**
|
185
|
+
* Clearfix
|
186
|
+
*/
|
187
|
+
%clearfix:after {
|
188
|
+
content: "";
|
189
|
+
display: table;
|
190
|
+
clear: both;
|
191
|
+
}
|
192
|
+
|
193
|
+
|
194
|
+
|
195
|
+
/**
|
196
|
+
* Icons
|
197
|
+
*/
|
198
|
+
.icon > svg {
|
199
|
+
display: inline-block;
|
200
|
+
vertical-align: middle;
|
201
|
+
|
202
|
+
path {
|
203
|
+
fill: $grey-color;
|
204
|
+
}
|
205
|
+
}
|
206
|
+
|
207
|
+
.social-media-list {
|
208
|
+
.icon {
|
209
|
+
padding-right: 5px;
|
210
|
+
}
|
211
|
+
|
212
|
+
li + li {
|
213
|
+
padding-top: 5px;
|
214
|
+
}
|
215
|
+
}
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
/**
|
220
|
+
* Tables
|
221
|
+
*/
|
222
|
+
table {
|
223
|
+
margin-bottom: $spacing-unit;
|
224
|
+
width: 100%;
|
225
|
+
text-align: $table-text-align;
|
226
|
+
color: lighten($text-color, 18%);
|
227
|
+
border-collapse: collapse;
|
228
|
+
border: 1px solid $grey-color-light;
|
229
|
+
tr {
|
230
|
+
&:nth-child(even) {
|
231
|
+
background-color: lighten($grey-color-light, 6%);
|
232
|
+
}
|
233
|
+
}
|
234
|
+
th, td {
|
235
|
+
padding: ($spacing-unit / 3) ($spacing-unit / 2);
|
236
|
+
}
|
237
|
+
th {
|
238
|
+
background-color: lighten($grey-color-light, 3%);
|
239
|
+
border: 1px solid darken($grey-color-light, 4%);
|
240
|
+
border-bottom-color: darken($grey-color-light, 12%);
|
241
|
+
}
|
242
|
+
td {
|
243
|
+
border: 1px solid $grey-color-light;
|
244
|
+
}
|
245
|
+
}
|
@@ -0,0 +1,250 @@
|
|
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: $spacing-unit * 1.865;
|
8
|
+
|
9
|
+
// Positioning context for the mobile navigation icon
|
10
|
+
position: relative;
|
11
|
+
}
|
12
|
+
|
13
|
+
.site-title {
|
14
|
+
@include relative-font-size(1.625);
|
15
|
+
font-weight: 300;
|
16
|
+
line-height: $base-line-height * $base-font-size * 2.25;
|
17
|
+
letter-spacing: -1px;
|
18
|
+
margin-bottom: 0;
|
19
|
+
float: left;
|
20
|
+
|
21
|
+
&,
|
22
|
+
&:visited {
|
23
|
+
color: $grey-color-dark;
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
27
|
+
.site-nav {
|
28
|
+
float: right;
|
29
|
+
line-height: $base-line-height * $base-font-size * 2.25;
|
30
|
+
|
31
|
+
.nav-trigger {
|
32
|
+
display: none;
|
33
|
+
}
|
34
|
+
|
35
|
+
.menu-icon {
|
36
|
+
display: none;
|
37
|
+
}
|
38
|
+
|
39
|
+
.page-link {
|
40
|
+
color: $text-color;
|
41
|
+
line-height: $base-line-height;
|
42
|
+
|
43
|
+
// Gaps between nav items, but not on the last one
|
44
|
+
&:not(:last-child) {
|
45
|
+
margin-right: 20px;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
|
49
|
+
@include media-query($on-palm) {
|
50
|
+
position: absolute;
|
51
|
+
top: 9px;
|
52
|
+
right: $spacing-unit / 2;
|
53
|
+
background-color: $background-color;
|
54
|
+
border: 1px solid $grey-color-light;
|
55
|
+
border-radius: 5px;
|
56
|
+
text-align: right;
|
57
|
+
|
58
|
+
label[for="nav-trigger"] {
|
59
|
+
display: block;
|
60
|
+
float: right;
|
61
|
+
width: 36px;
|
62
|
+
height: 36px;
|
63
|
+
z-index: 2;
|
64
|
+
cursor: pointer;
|
65
|
+
}
|
66
|
+
|
67
|
+
.menu-icon {
|
68
|
+
display: block;
|
69
|
+
float: right;
|
70
|
+
width: 36px;
|
71
|
+
height: 26px;
|
72
|
+
line-height: 0;
|
73
|
+
padding-top: 10px;
|
74
|
+
text-align: center;
|
75
|
+
|
76
|
+
> svg path {
|
77
|
+
fill: $grey-color-dark;
|
78
|
+
}
|
79
|
+
}
|
80
|
+
|
81
|
+
input ~ .trigger {
|
82
|
+
clear: both;
|
83
|
+
display: none;
|
84
|
+
}
|
85
|
+
|
86
|
+
input:checked ~ .trigger {
|
87
|
+
display: block;
|
88
|
+
padding-bottom: 5px;
|
89
|
+
}
|
90
|
+
|
91
|
+
.page-link {
|
92
|
+
display: block;
|
93
|
+
padding: 5px 10px;
|
94
|
+
|
95
|
+
&:not(:last-child) {
|
96
|
+
margin-right: 0;
|
97
|
+
}
|
98
|
+
margin-left: 20px;
|
99
|
+
}
|
100
|
+
}
|
101
|
+
}
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
/**
|
106
|
+
* Site footer
|
107
|
+
*/
|
108
|
+
.site-footer {
|
109
|
+
border-top: 1px solid $grey-color-light;
|
110
|
+
padding: $spacing-unit 0;
|
111
|
+
}
|
112
|
+
|
113
|
+
.footer-heading {
|
114
|
+
@include relative-font-size(1.125);
|
115
|
+
margin-bottom: $spacing-unit / 2;
|
116
|
+
}
|
117
|
+
|
118
|
+
.contact-list,
|
119
|
+
.social-media-list {
|
120
|
+
list-style: none;
|
121
|
+
margin-left: 0;
|
122
|
+
}
|
123
|
+
|
124
|
+
.footer-col-wrapper {
|
125
|
+
@include relative-font-size(0.9375);
|
126
|
+
color: $grey-color;
|
127
|
+
margin-left: -$spacing-unit / 2;
|
128
|
+
@extend %clearfix;
|
129
|
+
}
|
130
|
+
|
131
|
+
.footer-col {
|
132
|
+
float: left;
|
133
|
+
margin-bottom: $spacing-unit / 2;
|
134
|
+
padding-left: $spacing-unit / 2;
|
135
|
+
}
|
136
|
+
|
137
|
+
.footer-col-1 {
|
138
|
+
width: -webkit-calc(35% - (#{$spacing-unit} / 2));
|
139
|
+
width: calc(35% - (#{$spacing-unit} / 2));
|
140
|
+
}
|
141
|
+
|
142
|
+
.footer-col-2 {
|
143
|
+
width: -webkit-calc(20% - (#{$spacing-unit} / 2));
|
144
|
+
width: calc(20% - (#{$spacing-unit} / 2));
|
145
|
+
}
|
146
|
+
|
147
|
+
.footer-col-3 {
|
148
|
+
width: -webkit-calc(45% - (#{$spacing-unit} / 2));
|
149
|
+
width: calc(45% - (#{$spacing-unit} / 2));
|
150
|
+
}
|
151
|
+
|
152
|
+
@include media-query($on-laptop) {
|
153
|
+
.footer-col-1,
|
154
|
+
.footer-col-2 {
|
155
|
+
width: -webkit-calc(50% - (#{$spacing-unit} / 2));
|
156
|
+
width: calc(50% - (#{$spacing-unit} / 2));
|
157
|
+
}
|
158
|
+
|
159
|
+
.footer-col-3 {
|
160
|
+
width: -webkit-calc(100% - (#{$spacing-unit} / 2));
|
161
|
+
width: calc(100% - (#{$spacing-unit} / 2));
|
162
|
+
}
|
163
|
+
}
|
164
|
+
|
165
|
+
@include media-query($on-palm) {
|
166
|
+
.footer-col {
|
167
|
+
float: none;
|
168
|
+
width: -webkit-calc(100% - (#{$spacing-unit} / 2));
|
169
|
+
width: calc(100% - (#{$spacing-unit} / 2));
|
170
|
+
}
|
171
|
+
}
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
/**
|
176
|
+
* Page content
|
177
|
+
*/
|
178
|
+
.page-content {
|
179
|
+
padding: $spacing-unit 0;
|
180
|
+
}
|
181
|
+
|
182
|
+
.page-heading {
|
183
|
+
@include relative-font-size(1.25);
|
184
|
+
}
|
185
|
+
|
186
|
+
.post-list {
|
187
|
+
margin-left: 0;
|
188
|
+
list-style: none;
|
189
|
+
|
190
|
+
> li {
|
191
|
+
margin-bottom: $spacing-unit;
|
192
|
+
}
|
193
|
+
}
|
194
|
+
|
195
|
+
.post-meta {
|
196
|
+
font-size: $small-font-size;
|
197
|
+
color: $grey-color;
|
198
|
+
}
|
199
|
+
|
200
|
+
.post-link {
|
201
|
+
display: block;
|
202
|
+
@include relative-font-size(1.5);
|
203
|
+
}
|
204
|
+
|
205
|
+
|
206
|
+
|
207
|
+
/**
|
208
|
+
* Posts
|
209
|
+
*/
|
210
|
+
.post-header {
|
211
|
+
margin-bottom: $spacing-unit;
|
212
|
+
}
|
213
|
+
|
214
|
+
.post-title {
|
215
|
+
@include relative-font-size(2.625);
|
216
|
+
letter-spacing: -1px;
|
217
|
+
line-height: 1;
|
218
|
+
|
219
|
+
@include media-query($on-laptop) {
|
220
|
+
@include relative-font-size(2.25);
|
221
|
+
}
|
222
|
+
}
|
223
|
+
|
224
|
+
.post-content {
|
225
|
+
margin-bottom: $spacing-unit;
|
226
|
+
|
227
|
+
h2 {
|
228
|
+
@include relative-font-size(2);
|
229
|
+
|
230
|
+
@include media-query($on-laptop) {
|
231
|
+
@include relative-font-size(1.75);
|
232
|
+
}
|
233
|
+
}
|
234
|
+
|
235
|
+
h3 {
|
236
|
+
@include relative-font-size(1.625);
|
237
|
+
|
238
|
+
@include media-query($on-laptop) {
|
239
|
+
@include relative-font-size(1.375);
|
240
|
+
}
|
241
|
+
}
|
242
|
+
|
243
|
+
h4 {
|
244
|
+
@include relative-font-size(1.25);
|
245
|
+
|
246
|
+
@include media-query($on-laptop) {
|
247
|
+
@include relative-font-size(1.125);
|
248
|
+
}
|
249
|
+
}
|
250
|
+
}
|
@@ -0,0 +1,71 @@
|
|
1
|
+
/**
|
2
|
+
* Syntax highlighting styles
|
3
|
+
*/
|
4
|
+
.highlight {
|
5
|
+
background: #fff;
|
6
|
+
@extend %vertical-rhythm;
|
7
|
+
|
8
|
+
.highlighter-rouge & {
|
9
|
+
background: #eef;
|
10
|
+
}
|
11
|
+
|
12
|
+
.c { color: #998; font-style: italic } // Comment
|
13
|
+
.err { color: #a61717; background-color: #e3d2d2 } // Error
|
14
|
+
.k { font-weight: bold } // Keyword
|
15
|
+
.o { font-weight: bold } // Operator
|
16
|
+
.cm { color: #998; font-style: italic } // Comment.Multiline
|
17
|
+
.cp { color: #999; font-weight: bold } // Comment.Preproc
|
18
|
+
.c1 { color: #998; font-style: italic } // Comment.Single
|
19
|
+
.cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special
|
20
|
+
.gd { color: #000; background-color: #fdd } // Generic.Deleted
|
21
|
+
.gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific
|
22
|
+
.ge { font-style: italic } // Generic.Emph
|
23
|
+
.gr { color: #a00 } // Generic.Error
|
24
|
+
.gh { color: #999 } // Generic.Heading
|
25
|
+
.gi { color: #000; background-color: #dfd } // Generic.Inserted
|
26
|
+
.gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific
|
27
|
+
.go { color: #888 } // Generic.Output
|
28
|
+
.gp { color: #555 } // Generic.Prompt
|
29
|
+
.gs { font-weight: bold } // Generic.Strong
|
30
|
+
.gu { color: #aaa } // Generic.Subheading
|
31
|
+
.gt { color: #a00 } // Generic.Traceback
|
32
|
+
.kc { font-weight: bold } // Keyword.Constant
|
33
|
+
.kd { font-weight: bold } // Keyword.Declaration
|
34
|
+
.kp { font-weight: bold } // Keyword.Pseudo
|
35
|
+
.kr { font-weight: bold } // Keyword.Reserved
|
36
|
+
.kt { color: #458; font-weight: bold } // Keyword.Type
|
37
|
+
.m { color: #099 } // Literal.Number
|
38
|
+
.s { color: #d14 } // Literal.String
|
39
|
+
.na { color: #008080 } // Name.Attribute
|
40
|
+
.nb { color: #0086B3 } // Name.Builtin
|
41
|
+
.nc { color: #458; font-weight: bold } // Name.Class
|
42
|
+
.no { color: #008080 } // Name.Constant
|
43
|
+
.ni { color: #800080 } // Name.Entity
|
44
|
+
.ne { color: #900; font-weight: bold } // Name.Exception
|
45
|
+
.nf { color: #900; font-weight: bold } // Name.Function
|
46
|
+
.nn { color: #555 } // Name.Namespace
|
47
|
+
.nt { color: #000080 } // Name.Tag
|
48
|
+
.nv { color: #008080 } // Name.Variable
|
49
|
+
.ow { font-weight: bold } // Operator.Word
|
50
|
+
.w { color: #bbb } // Text.Whitespace
|
51
|
+
.mf { color: #099 } // Literal.Number.Float
|
52
|
+
.mh { color: #099 } // Literal.Number.Hex
|
53
|
+
.mi { color: #099 } // Literal.Number.Integer
|
54
|
+
.mo { color: #099 } // Literal.Number.Oct
|
55
|
+
.sb { color: #d14 } // Literal.String.Backtick
|
56
|
+
.sc { color: #d14 } // Literal.String.Char
|
57
|
+
.sd { color: #d14 } // Literal.String.Doc
|
58
|
+
.s2 { color: #d14 } // Literal.String.Double
|
59
|
+
.se { color: #d14 } // Literal.String.Escape
|
60
|
+
.sh { color: #d14 } // Literal.String.Heredoc
|
61
|
+
.si { color: #d14 } // Literal.String.Interpol
|
62
|
+
.sx { color: #d14 } // Literal.String.Other
|
63
|
+
.sr { color: #009926 } // Literal.String.Regex
|
64
|
+
.s1 { color: #d14 } // Literal.String.Single
|
65
|
+
.ss { color: #990073 } // Literal.String.Symbol
|
66
|
+
.bp { color: #999 } // Name.Builtin.Pseudo
|
67
|
+
.vc { color: #008080 } // Name.Variable.Class
|
68
|
+
.vg { color: #008080 } // Name.Variable.Global
|
69
|
+
.vi { color: #008080 } // Name.Variable.Instance
|
70
|
+
.il { color: #099 } // Literal.Number.Integer.Long
|
71
|
+
}
|
data/assets/main.scss
ADDED
metadata
ADDED
@@ -0,0 +1,121 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: bubblin-jekyll
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Marvin Danig
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-10-04 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: jekyll
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.6'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3.6'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: jekyll-seo-tag
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.1'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '2.1'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.12'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.12'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '10.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '10.0'
|
69
|
+
description:
|
70
|
+
email:
|
71
|
+
- marvin@marvindanig.com
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- LICENSE.txt
|
77
|
+
- README.md
|
78
|
+
- _includes/disqus_comments.html
|
79
|
+
- _includes/footer.html
|
80
|
+
- _includes/google-analytics.html
|
81
|
+
- _includes/head.html
|
82
|
+
- _includes/header.html
|
83
|
+
- _includes/icon-github.html
|
84
|
+
- _includes/icon-github.svg
|
85
|
+
- _includes/icon-twitter.html
|
86
|
+
- _includes/icon-twitter.svg
|
87
|
+
- _layouts/default.html
|
88
|
+
- _layouts/home.html
|
89
|
+
- _layouts/page.html
|
90
|
+
- _layouts/post.html
|
91
|
+
- _sass/bubblin-jekyll.scss
|
92
|
+
- _sass/bubblin-jekyll/_base.scss
|
93
|
+
- _sass/bubblin-jekyll/_layout.scss
|
94
|
+
- _sass/bubblin-jekyll/_syntax-highlighting.scss
|
95
|
+
- assets/main.scss
|
96
|
+
homepage: https://github.com/marvindanig/bubblin-jekyll.git
|
97
|
+
licenses:
|
98
|
+
- MIT
|
99
|
+
metadata:
|
100
|
+
plugin_type: theme
|
101
|
+
post_install_message:
|
102
|
+
rdoc_options: []
|
103
|
+
require_paths:
|
104
|
+
- lib
|
105
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - ">="
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
111
|
+
requirements:
|
112
|
+
- - ">="
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: '0'
|
115
|
+
requirements: []
|
116
|
+
rubyforge_project:
|
117
|
+
rubygems_version: 2.6.13
|
118
|
+
signing_key:
|
119
|
+
specification_version: 4
|
120
|
+
summary: The official theme for blog at Bubblin Superbooks.
|
121
|
+
test_files: []
|