neo-hpstr-jekyll-theme 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 +247 -0
- data/_includes/author.html +26 -0
- data/_includes/browser-upgrade.html +1 -0
- data/_includes/disqus_comments.html +23 -0
- data/_includes/feed-footer.html +1 -0
- data/_includes/footer.html +1 -0
- data/_includes/gallery +21 -0
- data/_includes/head.html +52 -0
- data/_includes/header.html +104 -0
- data/_includes/icons.html +13 -0
- data/_includes/pagination.html +66 -0
- data/_includes/read-more.html +19 -0
- data/_includes/scripts.html +28 -0
- data/_includes/social-share.html +7 -0
- data/_layouts/dark-post.html +49 -0
- data/_layouts/home.html +28 -0
- data/_layouts/page.html +38 -0
- data/_layouts/post.html +49 -0
- data/_sass/_animations.scss +327 -0
- data/_sass/_coderay.scss +66 -0
- data/_sass/_dl-menu.scss +370 -0
- data/_sass/_elements.scss +156 -0
- data/_sass/_grid.scss +47 -0
- data/_sass/_mixins.scss +315 -0
- data/_sass/_page.scss +674 -0
- data/_sass/_reset.scss +156 -0
- data/_sass/_rouge.scss +73 -0
- data/_sass/_site.scss +56 -0
- data/_sass/_typography.scss +125 -0
- data/_sass/_variables.scss +49 -0
- data/_sass/vendor/font-awesome/_animated.scss +34 -0
- data/_sass/vendor/font-awesome/_bordered-pulled.scss +25 -0
- data/_sass/vendor/font-awesome/_core.scss +12 -0
- data/_sass/vendor/font-awesome/_fixed-width.scss +6 -0
- data/_sass/vendor/font-awesome/_icons.scss +697 -0
- data/_sass/vendor/font-awesome/_larger.scss +13 -0
- data/_sass/vendor/font-awesome/_list.scss +19 -0
- data/_sass/vendor/font-awesome/_mixins.scss +26 -0
- data/_sass/vendor/font-awesome/_path.scss +15 -0
- data/_sass/vendor/font-awesome/_rotated-flipped.scss +20 -0
- data/_sass/vendor/font-awesome/_stacked.scss +20 -0
- data/_sass/vendor/font-awesome/_variables.scss +708 -0
- data/_sass/vendor/font-awesome/font-awesome.scss +17 -0
- data/_sass/vendor/magnific-popup/_settings.scss +46 -0
- data/_sass/vendor/magnific-popup/magnific-popup.scss +645 -0
- data/assets/css/jquery.floating-social-share.min.css +7 -0
- data/assets/css/jquery.mmenu.all.css +1504 -0
- data/assets/css/main.scss +28 -0
- data/assets/fonts/FontAwesome.otf +0 -0
- data/assets/fonts/fontawesome-webfont.eot +0 -0
- data/assets/fonts/fontawesome-webfont.svg +655 -0
- data/assets/fonts/fontawesome-webfont.ttf +0 -0
- data/assets/fonts/fontawesome-webfont.woff +0 -0
- data/assets/fonts/fontawesome-webfont.woff2 +0 -0
- data/assets/js/_main.js +97 -0
- data/assets/js/plugins/jekyll-search.js +1 -0
- data/assets/js/plugins/jquery.dlmenu.js +255 -0
- data/assets/js/plugins/jquery.fitvids.js +81 -0
- data/assets/js/plugins/jquery.floating-social-share.min.js +8 -0
- data/assets/js/plugins/jquery.magnific-popup.js +2026 -0
- data/assets/js/plugins/jquery.mmenu.min.all.js +133 -0
- data/assets/js/plugins/respond.js +342 -0
- data/assets/js/scripts.min.js +3 -0
- data/assets/js/vendor/jquery-1.9.1.min.js +5 -0
- data/assets/js/vendor/modernizr-2.6.2.custom.min.js +4 -0
- metadata +152 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 669737f5abac281a6ed74aab8ab2db4d52b64031
|
4
|
+
data.tar.gz: 6769b46e61d5fd65b5a059efc66456d13756d985
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a22c7f204a6b69f573b114350e79c881d1dbfc7ab11ec50e40d66fb1527cb00f667ccfc006dd039b5296a2cea2db0a52e322ca3eff26731c269e588472506569
|
7
|
+
data.tar.gz: 83a3019fc497c70a3362122b19d5c15ffcef1d31c105b371dacfeda1ffd5d8802a236e7f31e5f33e8d5cde814164c1944e5a4961f184d911b8eeeeabb9de9be1
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2016 Aron Bordin
|
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,247 @@
|
|
1
|
+
# [Neo-HPSTR Jekyll Theme](http://aronbordin.com/neo-hpstr-jekyll-theme)
|
2
|
+
|
3
|
+
Neo-HPSTR Jekyll is a responsive and modern blog template.
|
4
|
+
|
5
|
+
![Preview](http://aron-bordin.github.io/neo-hpstr-jekyll-theme/images/neo-hpstr-jekyll-theme-preview.png)
|
6
|
+
|
7
|
+
Demo: http://aronbordin.com/neo-hpstr-jekyll-theme
|
8
|
+
|
9
|
+
|
10
|
+
## Contents
|
11
|
+
|
12
|
+
- [Installation](#installation)
|
13
|
+
- [Features](#features)
|
14
|
+
- [Configuration](#configuration)
|
15
|
+
- [Questions](#questions)
|
16
|
+
- [Contributing](#contributing)
|
17
|
+
- [Development](#development)
|
18
|
+
- [License](#license)
|
19
|
+
|
20
|
+
## Installation
|
21
|
+
|
22
|
+
### As a Boilerplate / Fork
|
23
|
+
|
24
|
+
1. [Fork the repo](https://github.com/aron-bordin/neo-hpstr-jekyll-theme)
|
25
|
+
2. Clone down the repo with `$ git clone git@github.com:username/reponame.git`
|
26
|
+
3. Delete the `demo/` folder and `screenshot.png` files
|
27
|
+
4. Install bundler with `$ gem install bundler`
|
28
|
+
5. Install gems with `$ bundle install`
|
29
|
+
6. Run Jekyll with `$ bundle exec jekyll serve --watch`
|
30
|
+
7. Begin hacking for your project
|
31
|
+
|
32
|
+
(If you are serving your blog at github, make sure to enale the gh-pages at yout repo settings)
|
33
|
+
|
34
|
+
### As a Jekyll >= 3.3 theme gem
|
35
|
+
|
36
|
+
If you already have a jekyll project, jump to the instructions bellow. Otherwise, follow these steps:
|
37
|
+
|
38
|
+
1. Install jekyll and bundler with `$ gem install jekyll bundler`.
|
39
|
+
2. Create your website `jekyll new my-awesome-blog`.
|
40
|
+
3. `cd my-awesome-blog`
|
41
|
+
|
42
|
+
Inside the project folder, install the theme as follows:
|
43
|
+
|
44
|
+
1. Download the starter `/demo` content, [quick download link](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/daviddarnes/alembic/tree/master/demo) and extract the content to the blog folter.
|
45
|
+
2. Install bundler with `$ gem install bundler`
|
46
|
+
3. Install gems with `$ bundle install`
|
47
|
+
4. Run Jekyll with `$ bundle exec jekyll serve --watch`
|
48
|
+
5. Begin hacking for your project
|
49
|
+
|
50
|
+
|
51
|
+
### Boilerplate & Theme differences
|
52
|
+
|
53
|
+
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.
|
54
|
+
|
55
|
+
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.
|
56
|
+
|
57
|
+
## Features
|
58
|
+
|
59
|
+
* Modern design.
|
60
|
+
* Responsive templates for post, page, and home `_layouts`. Looks great on mobile, tablet, and desktop devices.
|
61
|
+
* Gracefully degrades in older browsers. Compatible with Internet Explorer 8+ and all modern browsers.
|
62
|
+
* Sweet topbar animated menu with support for drop-downs.
|
63
|
+
* Optional [Disqus](http://disqus.com) comments and social sharing links.
|
64
|
+
* [Open Graph](https://developers.facebook.com/docs/opengraph/) and [Twitter Cards](https://dev.twitter.com/docs/cards) support for a better social sharing experience.
|
65
|
+
* Simple [custom 404 page](x) to get you started.
|
66
|
+
* [Syntax highlighting](x) to make your code examples look snazzy
|
67
|
+
* Author panel, with social links
|
68
|
+
|
69
|
+
## Configuration
|
70
|
+
|
71
|
+
Here are some tips on how to customize your blog theme. If you have questions, just open a new issue :)
|
72
|
+
|
73
|
+
### Project tree
|
74
|
+
|
75
|
+
├── about.md # about page, /about/
|
76
|
+
├── assets/ # css, js, fonts, etc
|
77
|
+
├── categories.html
|
78
|
+
├── _config.yml # your blog configuration
|
79
|
+
├── demo/ # folder with quick start content
|
80
|
+
├── feed.xml # rss feed generator
|
81
|
+
├── Gemfile # project dependencies
|
82
|
+
├── Gruntfile.js # some grunt tasks, useful for theme developing
|
83
|
+
├── images/ # blog images
|
84
|
+
├── _includes
|
85
|
+
│ ├── author.html # author banner (at the end of post)
|
86
|
+
│ ├── browser-upgrade.html # ask for update
|
87
|
+
│ ├── disqus_comments.html # comments
|
88
|
+
│ ├── feed-footer.html # feed footers
|
89
|
+
│ ├── footer.html # page footer
|
90
|
+
│ ├── gallery # used for displaying images in a page
|
91
|
+
│ ├── header.html # header menu
|
92
|
+
│ ├── head.html # site head, with css includes and metadata
|
93
|
+
│ ├── icons.html # site icons
|
94
|
+
│ ├── pagination.html # pagination
|
95
|
+
│ ├── read-more.html # read-more banner, to recommend posts
|
96
|
+
│ ├── scripts.html # js scripts
|
97
|
+
│ └── social-share.html # floating social share integration
|
98
|
+
├── index.html # homepage
|
99
|
+
├── _layouts # blog layouts
|
100
|
+
│ ├── dark-post.html
|
101
|
+
│ ├── home.html
|
102
|
+
│ ├── page.html
|
103
|
+
│ └── post.html
|
104
|
+
├── LICENSE.txt
|
105
|
+
├── neo-hpstr.gemspec
|
106
|
+
├── package.json
|
107
|
+
├── _posts # sample posts
|
108
|
+
│ ├── 2016-11-26-sample-post-images.md
|
109
|
+
│ ├── 2016-11-27-video-post.md
|
110
|
+
│ ├── 2016-11-28-sample-link-post.md
|
111
|
+
│ ├── 2016-11-29-background-image.md
|
112
|
+
│ ├── 2016-11-30-dark-post.md
|
113
|
+
│ ├── 2016-12-01-code-highlighting-post.md
|
114
|
+
│ └── 2016-12-02-sample-post.md
|
115
|
+
├── posts.html # page for listing posts
|
116
|
+
├── README.md
|
117
|
+
├── _sass # blog style
|
118
|
+
├── screenshoot.png
|
119
|
+
├── search.html # search page
|
120
|
+
├── search.json
|
121
|
+
├── _site/
|
122
|
+
├── tags.html # tags page
|
123
|
+
|
124
|
+
|
125
|
+
### Disqus Comments
|
126
|
+
|
127
|
+
Create a [Disqus](http://disqus.com) account and change `disqus_shortname` in `_config.yml` to the Disqus *shortname* you just setup. By default comments appear on all post and pages if you assigned a shortname. To disable commenting on a post or page, add the following to its YAML Front Matter:
|
128
|
+
|
129
|
+
comments: false
|
130
|
+
|
131
|
+
### Social Share Links
|
132
|
+
|
133
|
+
To disable Facebook, Twitter, and Google+ share links on a post or page, add the following to its front matter:
|
134
|
+
|
135
|
+
share: false
|
136
|
+
|
137
|
+
### Floating Social Share Links
|
138
|
+
|
139
|
+
To enable floating share links on the left of the screen, edit it on `_config.yml`:
|
140
|
+
|
141
|
+
float_share: true
|
142
|
+
|
143
|
+
### Owner/Author Information
|
144
|
+
|
145
|
+
Change your name, and avatar photo (200x200 pixels or larger), email, and social networking URLs. If you want to link to an external image on Gravatar or something similar you'll need to edit the path in `_includes/author.html` since it assumes it is hosted on your site.
|
146
|
+
|
147
|
+
### Google Analytics and Webmaster Tools
|
148
|
+
|
149
|
+
Your Google Analytics ID goes here along with meta tags for [Google Webmaster Tools](http://support.google.com/webmasters/bin/answer.py?hl=en&answer=35179) and [Bing Webmaster Tools](https://ssl.bing.com/webmaster/configure/verify/ownershi) site verification.
|
150
|
+
|
151
|
+
### Top Menu - Navigation Links
|
152
|
+
|
153
|
+
To add additional links in the menu edit `_config.yml`. Use the following format to set the URL and title for as many links as you'd like. *External links will open in a new window..* You can create a sub-category using the `submenu` item. Also, you can list your post categories setting the `type: 'categories'`
|
154
|
+
|
155
|
+
|
156
|
+
menu:
|
157
|
+
- title: 'Home'
|
158
|
+
url: '/'
|
159
|
+
- title: 'Fork'
|
160
|
+
url: 'http://github.com/aron-bordin/neo-hpstr-jekyll-theme'
|
161
|
+
- title: 'Tags'
|
162
|
+
url: '/tags'
|
163
|
+
- title: 'Categories'
|
164
|
+
url: '/categories'
|
165
|
+
type: 'categories'
|
166
|
+
- title: 'Favorites'
|
167
|
+
url: '#'
|
168
|
+
submenu:
|
169
|
+
- title: 'highlighter'
|
170
|
+
url: '/code-highlighting-post/'
|
171
|
+
- title: 'intro'
|
172
|
+
url: '/sample-post/'
|
173
|
+
|
174
|
+
### Adding New Content with Octopress
|
175
|
+
|
176
|
+
While completely optional, I've included Octopress and some starter templates to automate the creation of new posts and pages. To take advantage of it start by installing the [Octopress](https://github.com/octopress/octopress) gem if it isn't already.
|
177
|
+
|
178
|
+
$ gem install octopress
|
179
|
+
|
180
|
+
#### New Post
|
181
|
+
|
182
|
+
Default command
|
183
|
+
|
184
|
+
$ octopress new post "Post Title"
|
185
|
+
|
186
|
+
Default works great if you want all your posts in one directory, but if you're like me and want to group them into subfolders like `/posts`, `/portfolio`, etc. Then this is the command for you. By specifying the DIR it will create a new post in that folder and populate the `categories:` YAML with the same value.
|
187
|
+
|
188
|
+
$ octopress new post "New Portfolio Post Title" --dir portfolio
|
189
|
+
|
190
|
+
#### New Page
|
191
|
+
|
192
|
+
To create a new page use the following command.
|
193
|
+
|
194
|
+
$ octopress new page new-page/
|
195
|
+
|
196
|
+
### Style Customization
|
197
|
+
|
198
|
+
Here you'll find some useful scss variables to help you to customize your Blog interface. All variables can be found at `_sass/_variables.scss`.
|
199
|
+
|
200
|
+
#### Top Navbar Size
|
201
|
+
|
202
|
+
To change its size, edit the **`$menu-height`** value. It's recommended a value between 50px and 100px. This variable will automatically update the icon and menu size for you.
|
203
|
+
|
204
|
+
#### Top Navbar Colors
|
205
|
+
|
206
|
+
The navbar uses two colors, the top color and overflow color. The top color represents the navbar color when the window is not scrolled and the overflow color represents the color when we have a sufficient scroll to change its color.
|
207
|
+
|
208
|
+
You can change these colors using the **`$menu-top`** and **`$menu-overflow`** variable values.
|
209
|
+
|
210
|
+
#### Top Navbar hover color
|
211
|
+
|
212
|
+
The color that you see in the item under the mouse can be changed in the **`$header-margin`** variable.
|
213
|
+
|
214
|
+
### Further Customization
|
215
|
+
|
216
|
+
Jekyll 2.x added support for Sass files making it much easier to modify a theme's fonts and colors. By editing values found in `_sass/variables.scss` you can fine tune the site's colors and typography.
|
217
|
+
|
218
|
+
For example if you wanted a red background instead of white you'd change `$bodycolor: #fff;` to `$bodycolor: $cc0033;`.
|
219
|
+
|
220
|
+
To modify the site's JavaScript files I setup a Grunt build script to lint/concatenate/minify all scripts into `scripts.min.js`. [Install Node.js](http://nodejs.org/), then [install Grunt](http://gruntjs.com/getting-started), and then finally install the dependencies for the theme contained in `package.json`:
|
221
|
+
|
222
|
+
npm install
|
223
|
+
|
224
|
+
From the theme's root, use `grunt` to concatenate JavaScript files and optimize `.jpg`, `.png` and `.svg` files in the `images/` folder.
|
225
|
+
|
226
|
+
You can also use `grunt dev` in combination with `bundle exec jekyll serve` to watch for updates in JS files that Grunt will then automatically re-build as you write your code, which will in turn auto-generate your Jekyll site when developing locally.
|
227
|
+
|
228
|
+
## Questions?
|
229
|
+
|
230
|
+
Having a problem getting something to work or want to know why I setup something in a certain way? [File a GitHub Issue](http://github.com/aron-bordin/neo-hpstr-jekyll-theme/issues/new). And if you make something cool with this theme feel free to let me know.
|
231
|
+
|
232
|
+
## Contributing
|
233
|
+
|
234
|
+
|
235
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/aron-bordin/neo-hpstr-jekyll-theme. 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.
|
236
|
+
|
237
|
+
## Development
|
238
|
+
|
239
|
+
To set up your environment to develop this theme, run `bundle install`.
|
240
|
+
|
241
|
+
Your theme is setup just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
|
242
|
+
|
243
|
+
When your theme is released, only the files in `_layouts`, `_includes`, and `_sass` tracked with Git will be released.
|
244
|
+
|
245
|
+
## License
|
246
|
+
|
247
|
+
The theme is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<div class="read-more">
|
2
|
+
<div class="read-more-header">
|
3
|
+
<a href="{{ site.owner.site }}" class="read-more-btn">About the Author</a>
|
4
|
+
</div><!-- /.read-more-header -->
|
5
|
+
<div class="read-more-content author-info">
|
6
|
+
<h3>{{site.owner.name}}</h3>
|
7
|
+
<div class="author-container">
|
8
|
+
<img class="author-img" src="{{site.url}}/{{site.owner.avatar}}" alt="{{site.owner.name}}" />
|
9
|
+
<div class="author-bio">{{site.owner.bio}}</div>
|
10
|
+
</div>
|
11
|
+
<div class="author-share">
|
12
|
+
<ul class="list-inline social-buttons">
|
13
|
+
{% for network in site.social %}
|
14
|
+
<li><a href="{{ network.url }}" target="_blank"><i class="fa fa-{{ network.title }} fa-fw"></i></a></li>
|
15
|
+
{% endfor %}
|
16
|
+
</ul>
|
17
|
+
{% if site.owner.github %}
|
18
|
+
<a aria-label="Follow @{{site.owner.github}} on GitHub" data-style="mega" href="https://github.com/{{site.owner.github}}" class="github-button">Follow @{{site.owner.github}}</a>
|
19
|
+
{% endif %}
|
20
|
+
<br>
|
21
|
+
{% if site.owner.twitter %}
|
22
|
+
<a href="https://twitter.com/{{site.owner.twitter}}" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @{{site.owner.twitter}}</a>
|
23
|
+
{% endif %}
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
</div>
|
@@ -0,0 +1 @@
|
|
1
|
+
<!--[if lt IE 9]><div class="upgrade"><strong><a href="http://whatbrowser.org/">Your browser is quite old!</strong> Why not upgrade to a different browser to better enjoy this site?</a></div><![endif]-->
|
@@ -0,0 +1,23 @@
|
|
1
|
+
{% if site.disqus_shortname %}
|
2
|
+
<script type="text/javascript">
|
3
|
+
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
|
4
|
+
var disqus_shortname = '{{ site.disqus_shortname }}'; // required: replace example with your forum shortname
|
5
|
+
|
6
|
+
/* * * DON'T EDIT BELOW THIS LINE * * */
|
7
|
+
(function() {
|
8
|
+
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
9
|
+
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
|
10
|
+
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
11
|
+
})();
|
12
|
+
|
13
|
+
/* * * DON'T EDIT BELOW THIS LINE * * */
|
14
|
+
(function () {
|
15
|
+
var s = document.createElement('script'); s.async = true;
|
16
|
+
s.type = 'text/javascript';
|
17
|
+
s.src = '//' + disqus_shortname + '.disqus.com/count.js';
|
18
|
+
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
|
19
|
+
}());
|
20
|
+
</script>
|
21
|
+
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
22
|
+
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
|
23
|
+
{% endif %}
|
@@ -0,0 +1 @@
|
|
1
|
+
<p><a href="{{ site.url }}{{ post.url }}">{{ post.title | xml_escape }}</a> was originally published by {{ site.owner.name }} at <a href="{{ site.url }}">{{ site.title }}</a> on {{ post.date | date: "%B %d, %Y" }}.</p>
|
@@ -0,0 +1 @@
|
|
1
|
+
<span>© {{ site.time | date: '%Y' }} {{ site.owner.name }}. Powered by <a href="http://jekyllrb.com" rel="nofollow">Jekyll</a> using the <a href="http://github.com/aron-bordin/neo-hpstr-jekyll-theme" rel="nofollow">Neo-HPSTR Theme</a>.</span>
|
data/_includes/gallery
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
{% assign images = include.images | split:" " %}
|
2
|
+
{% assign caption = include.caption %}
|
3
|
+
{% assign cols = include.cols %}
|
4
|
+
|
5
|
+
{% case cols %}
|
6
|
+
{% when 1 %}
|
7
|
+
{% assign class = "" %}
|
8
|
+
{% when 2 %}
|
9
|
+
{% assign class = "half" %}
|
10
|
+
{% when 3 %}
|
11
|
+
{% assign class = "third" %}
|
12
|
+
{% else %}
|
13
|
+
{% assign class = "" %}
|
14
|
+
{% endcase %}
|
15
|
+
|
16
|
+
<figure {% if class != "" %}class="{{ class }}"{% endif %}>
|
17
|
+
{% for image in images %}
|
18
|
+
<a href="{{ image }}"><img src="{{ image }}" alt=""></a>
|
19
|
+
{% endfor %}
|
20
|
+
<figcaption>{{ caption }}</figcaption>
|
21
|
+
</figure>
|
data/_includes/head.html
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
<meta charset="utf-8">
|
2
|
+
<title>{% if page.title %}{{ page.title }} – {% endif %}{{ site.title }}</title>
|
3
|
+
<meta name="description" content="{% if page.description %}{{ page.description }}{% else %}{{ site.description }}{% endif %}">
|
4
|
+
{% if page.tags %}<meta name="keywords" content="{{ page.tags | join: ', ' }}">{% endif %}
|
5
|
+
|
6
|
+
{% if site.owner.twitter or site.twitter %}<!-- Twitter Cards -->
|
7
|
+
{% if page.image.feature %}<meta name="twitter:card" content="summary_large_image">
|
8
|
+
{% else %}<meta name="twitter:card" content="summary">{% endif %}
|
9
|
+
<meta name="twitter:site" content="@{% if site.twitter %}{{ site.twitter }}{% else %}{{ site.owner.twitter }}{% endif %}">
|
10
|
+
<meta name="twitter:creator" content="@{% if site.owner.twitter %}{{ site.owner.twitter }}{% else %}{{ site.twitter }}{% endif %}">{% endif %}
|
11
|
+
|
12
|
+
<!-- Open Graph -->
|
13
|
+
<meta property="og:locale" content="{{ site.locale }}">
|
14
|
+
<meta property="og:type" content="article">
|
15
|
+
<meta property="og:title" content="{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}">
|
16
|
+
<meta property="og:description" content="{% if page.description %}{{ page.description }}{% else %}{{ site.description }}{% endif %}">
|
17
|
+
<meta property="og:url" content="{{ site.url }}{{ page.url }}">
|
18
|
+
<meta property="og:site_name" content="{{ site.title }}">
|
19
|
+
{% if page.image.feature %}<meta property="og:image" content="{{ site.url }}/images/{{ page.image.feature }}">
|
20
|
+
{% else %}<meta property="og:image" content="{% if page.image.thumb %}{{ site.url }}/images/{{ page.image.thumb }}{% else %}{{ site.url }}/images/{{ site.logo }}{% endif %}">{% endif %}
|
21
|
+
|
22
|
+
{% if site.google_verify %}<meta name="google-site-verification" content="{{ site.google_verify }}">{% endif %}
|
23
|
+
{% if site.bing_verify %}<meta name="msvalidate.01" content="{{ site.bing_verify }}">{% endif %}
|
24
|
+
|
25
|
+
{% capture canonical %}{{ site.url }}{% if site.permalink contains '.html' %}{{ page.url }}{% else %}{{ page.url | remove:'index.html' | strip_slash }}{% endif %}{% endcapture %}
|
26
|
+
<link rel="canonical" href="{{ canonical }}">
|
27
|
+
<link href="{{ site.url }}/feed.xml" type="application/atom+xml" rel="alternate" title="{{ site.title }} Feed">
|
28
|
+
|
29
|
+
<!-- http://t.co/dKP3o1e -->
|
30
|
+
<meta name="HandheldFriendly" content="True">
|
31
|
+
<meta name="MobileOptimized" content="320">
|
32
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no"/>
|
33
|
+
|
34
|
+
<!-- For all browsers -->
|
35
|
+
<link rel="stylesheet" href="{{ site.url }}/assets/css/main.css">
|
36
|
+
<link rel="stylesheet" href="{{ site.url }}/assets/css/jquery.mmenu.all.css">
|
37
|
+
<link rel="stylesheet" href="{{ site.url }}/assets/css/jquery.floating-social-share.min.css">
|
38
|
+
<!-- Webfonts -->
|
39
|
+
<link href="//fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic" rel="stylesheet" type="text/css">
|
40
|
+
|
41
|
+
<meta http-equiv="cleartype" content="on">
|
42
|
+
|
43
|
+
<!-- Load Modernizr -->
|
44
|
+
<script type="text/javascript" src="{{ site.url }}/assets/js/vendor/modernizr-2.6.2.custom.min.js"></script>
|
45
|
+
|
46
|
+
{% include icons.html %}
|
47
|
+
|
48
|
+
{% if page.image.background or site.background %}
|
49
|
+
{% capture background %}{% if page.image.background %}{{ page.image.background }}{% else %}{{ site.background }}{% endif %}{% endcapture %}
|
50
|
+
{% unless background contains 'http://' or background contains 'https://' %}{% capture background %}{{ site.url }}/images/{{ background }}{% endcapture %}{% endunless %}
|
51
|
+
<style type="text/css">body {background-image:url({{ background }});}</style>
|
52
|
+
{% endif %}
|
@@ -0,0 +1,104 @@
|
|
1
|
+
{% capture site_cats %}{% for cat in site.categories %}{{ cat | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
|
2
|
+
{% assign cats_list = site_cats | split:',' | sort %}
|
3
|
+
|
4
|
+
<div class="header-menu header-menu-top">
|
5
|
+
<ul class="header-item-container">
|
6
|
+
<li class="header-item-title header-toggle "><a href="#menu"><h2><i class="fa fa-bars"></i></h2></a></li>
|
7
|
+
<li class="header-item-title">
|
8
|
+
<a href="{{site.url}}/">
|
9
|
+
{% if site.logo %}
|
10
|
+
<img class="logo" src="{{site.url}}/{{ site.logo }}" alt="{{ site.title }}">
|
11
|
+
{% endif %}
|
12
|
+
<a href="{{site.url}}/" class="title"> {{ site.title }}</a>
|
13
|
+
</a>
|
14
|
+
</li>
|
15
|
+
{% for menu in site.menu reversed %}
|
16
|
+
{% assign class = nil %}
|
17
|
+
{% if ((page.url contains menu.url and menu.url != '/') or (page.url == '/index.html' and menu.url == '/')) %}
|
18
|
+
{% assign class = 'active' %}
|
19
|
+
{% endif %}
|
20
|
+
|
21
|
+
{% if menu.type == 'categories' %}
|
22
|
+
<li class="header-item {{class}}"><a href="{{site.url}}{{menu.url}}"><h3>{{ menu.title }}</h3></a>
|
23
|
+
<ul class="header-submenu">
|
24
|
+
{% for item in (0..site.categories.size) %}{% unless forloop.last %}
|
25
|
+
{% capture this_word %}{{ cats_list[item] | strip_newlines }}{% endcapture %}
|
26
|
+
<li class="sub-item"><a href="/categories/#{{this_word}}">{{this_word}}</a></li>
|
27
|
+
{% endunless %}{% endfor %}
|
28
|
+
</ul>
|
29
|
+
</li>
|
30
|
+
{% elsif menu.submenu %}
|
31
|
+
<li class="header-item {{class}}"><a href="{{site.url}}{{menu.url}}"><h3>{{ menu.title }}</h3></a>
|
32
|
+
<ul class="header-submenu">
|
33
|
+
{% for sub in menu.submenu %}
|
34
|
+
<li class="sub-item"><a href="{{site.url}}{{sub.url}}">{{sub.title}}</a></li>
|
35
|
+
{% endfor %}
|
36
|
+
</ul>
|
37
|
+
</li>
|
38
|
+
{% else %}
|
39
|
+
{% if menu.url contains 'http://' or menu.url contains 'https://' %}
|
40
|
+
<li class="header-item {{class}}"><a href="{{menu.url}}" target="_blank"><h3>{{ menu.title }}</h3></a></li>
|
41
|
+
{% else %}
|
42
|
+
<li class="header-item {{class}}"><a href="{{site.url}}{{menu.url}}"><h3>{{ menu.title }}</h3></a></li>
|
43
|
+
{% endif %}
|
44
|
+
{% endif %}
|
45
|
+
{% endfor %}
|
46
|
+
<li class="header-item"><a href="{{site.url}}/search"><h3><i class="fa fa-search"></i></h3></a></li>
|
47
|
+
</ul>
|
48
|
+
</div>
|
49
|
+
<div class="entry-header">
|
50
|
+
<div class="header-title">
|
51
|
+
<div class="header-title-wrap">
|
52
|
+
<h1>{{ page.title }}</h1>
|
53
|
+
{% if page.date %}
|
54
|
+
<h2><span class="entry-date date published updated"><time datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: "%B %d, %Y" }}</time></span></h2>
|
55
|
+
{% else %}
|
56
|
+
<h2><span class="entry-date"><time> </time></span></h2>
|
57
|
+
{% endif %}
|
58
|
+
|
59
|
+
{% if site.reading_time and page.layout == 'post' %}
|
60
|
+
<p class="entry-reading-time">
|
61
|
+
<i class="fa fa-clock-o"></i>
|
62
|
+
{% assign readtime = content | strip_html | number_of_words | divided_by:site.words_per_minute %}
|
63
|
+
Reading time ~{% if readtime <= 1 %}1 minute{% else %}{{ readtime }} minutes{% endif %}
|
64
|
+
</p><!-- /.entry-reading-time -->
|
65
|
+
{% else %}
|
66
|
+
<p class="entry-reading-time">
|
67
|
+
|
68
|
+
</p><!-- /.entry-reading-time -->
|
69
|
+
{% endif %}
|
70
|
+
</div><!-- /.header-title-wrap -->
|
71
|
+
</div><!-- /.header-title -->
|
72
|
+
</div><!-- /.entry-header -->
|
73
|
+
|
74
|
+
|
75
|
+
<nav id="menu" style="display: none">
|
76
|
+
<ul>
|
77
|
+
{% for menu in site.menu %}
|
78
|
+
{% if menu.type == 'categories' %}
|
79
|
+
<li><a href="{{site.url}}{{menu.url}}"><h3>{{ menu.title }}</h3></a>
|
80
|
+
<ul>
|
81
|
+
{% for item in (0..site.categories.size) %}{% unless forloop.last %}
|
82
|
+
{% capture this_word %}{{ cats_list[item] | strip_newlines }}{% endcapture %}
|
83
|
+
<li><a href="{{site.url}}/categories/#{{this_word}}">{{this_word}}</a></li>
|
84
|
+
{% endunless %}{% endfor %}
|
85
|
+
</ul>
|
86
|
+
</li>
|
87
|
+
{% elsif menu.submenu %}
|
88
|
+
<li><a href="{{site.url}}{{menu.url}}"><h3>{{ menu.title }}</h3></a>
|
89
|
+
<ul>
|
90
|
+
{% for sub in menu.submenu %}
|
91
|
+
<li><a href="{{site.url}}{{sub.url}}">{{sub.title}}</a></li>
|
92
|
+
{% endfor %}
|
93
|
+
</ul>
|
94
|
+
</li>
|
95
|
+
{% else %}
|
96
|
+
<li><a href="{{site.url}}{{menu.url}}"><h3>{{ menu.title }}</h3></a></li>
|
97
|
+
{% endif %}
|
98
|
+
{% endfor %}
|
99
|
+
</ul>
|
100
|
+
</nav>
|
101
|
+
|
102
|
+
{% if site.owner.twitter %}
|
103
|
+
<a href="https://twitter.com/{{site.owner.twitter}}" class="btn btn-info button-twitter" data-show-count="false" data-size="large"><i class="fa fa-twitter"></i> <span> | Follow @{{site.owner.twitter}}</span></a>
|
104
|
+
{% endif %}
|