Compare commits

..
64 Commits
Author SHA1 Message Date
Michael Rose 76f919836c Add new icons and profile links to sidebar for Stackoverflow, Pinterest, Foursquare, Steam, and Dribbble. 2014-02-27 15:29:02 -05:00
Michael Rose a9a6db16db Decrease blockquote font-size 2014-02-27 15:27:19 -05:00
Michael Rose ed613744a7 Add category to rake new_post 2014-02-27 15:26:53 -05:00
Michael Rose 980538b7be Remove barely used tagline variable 2014-02-27 15:26:23 -05:00
Michael Rose ae66fce13c Cleanup documentation 2014-02-27 15:24:55 -05:00
Michael Rose b424332cc0 Update theme link in footer 2014-02-25 15:47:23 -05:00
Michael Rose f10fc64207 Remove {{ site.url }} reference to simplify example 2014-02-25 15:39:35 -05:00
Michael Rose ef374c6822 Update example HTML to include links to larger images to display via Magnific Popup script
Fixes #21
2014-02-25 15:37:51 -05:00
Michael Rose 6207f53db5 Correct broken link. Fixes #19 2014-02-20 14:55:37 -05:00
Michael Rose 61d297c7a9 Add pages to sitemap 2014-02-17 08:19:37 -05:00
Michael Rose d649f9b594 Update theme screenshot 2014-02-13 16:35:40 -05:00
Michael Rose e42e506fa9 Improve responsive nav experience 2014-02-13 14:40:10 -05:00
Michael Rose d5c04a17a7 Remove Modernizr script and add html5shiv and media query polyfill scripts for < IE9 2014-02-13 14:40:04 -05:00
Michael Rose d99ad52c31 Create media query mixins and consolidate .less files 2014-02-13 14:39:51 -05:00
Michael Rose b5aa534dd1 Shrink bio-photo size on large screens 2014-02-13 14:38:04 -05:00
Michael Rose 28a99e240e Cleanup table of contents styling 2014-02-13 14:37:31 -05:00
Michael Rose 2f3d4255ba Correct demo theme link 2014-02-13 14:37:22 -05:00
Michael Rose 2098fe54a3 Remove table of contents hover indent 2014-02-12 11:02:42 -05:00
Michael Rose 220c9b3d4a Add rake tasks for creating new posts/pages 2014-02-12 11:02:11 -05:00
Michael Rose 45b5db86c8 Remove category 2014-02-12 11:00:53 -05:00
Michael Rose acb0a2da3e Update Gemfile 2014-02-12 11:00:44 -05:00
Michael Rose 16fdb51e3a Remove schema reference 2014-01-20 10:42:10 -05:00
Elliot DeNolf ad43ca9164 Correct url to Last.fm profile 2014-01-20 10:26:26 -05:00
Daniel Tschinder d3b3d71120 Correct url to jekyll 2014-01-17 08:47:30 -05:00
Michael Rose f3a4dcad4c Update 2014-01-15 15:48:32 -05:00
Michael Rose 2bd80d115f Rename Articles to Posts to stay consistent with Jekyll naming conventions 2014-01-15 15:44:44 -05:00
Michael Rose 7f5d5d7d41 Rename Articles to Posts to stay consistent with Jekyll naming conventions 2014-01-15 15:37:26 -05:00
Michael Rose 5b8eb18f00 Decrease spacing between footnotes 2013-12-09 09:39:37 -05:00
Michael Rose f265b0dc72 Change footer from dark to light 2013-12-09 09:39:30 -05:00
Michael Rose 0941df2f58 Rename article-author-top class to article-author-side 2013-12-09 09:39:23 -05:00
Michael Rose 6cb5330abc Rename _includes 2013-12-09 09:39:16 -05:00
Michael Rose 6d0e28e380 Remove all CAPS styling on post headlines in index listing 2013-12-09 09:38:59 -05:00
Michael Rose e17d4d7d7f Size tables to fit content container 2013-12-09 08:38:38 -05:00
Michael Rose b293a7a0de Clear floats 2013-10-14 08:16:30 -04:00
Michael Rose cd42a5c9fd Remove line-wrap on top navigation links that may span two lines 2013-10-11 11:07:57 -04:00
Michael Rose 0e24536922 Correct top navigation link bug, fixes #10 2013-10-11 11:07:52 -04:00
Michael Rose 8d68abb6ff Update theme screenshot 2013-09-15 00:38:17 -04:00
Michael Rose 1bd5914140 Close if tag 2013-09-09 13:31:34 -04:00
Michael Rose 431ccd41a2 Update theme setup documentation 2013-09-09 12:24:38 -04:00
Michael Rose 0213d6a492 Darken code background 2013-09-09 12:24:32 -04:00
Michael Rose f44c18b2ea Add Twitter Card summary large image 2013-09-09 12:24:22 -04:00
Michael Rose 25e9416bb8 Optimize images 2013-09-09 12:23:43 -04:00
Michael Rose 06075d3dc8 Minor adjustments to TOC and author sidebar 2013-09-09 12:23:37 -04:00
Michael Rose bec2856cd8 Gruntify stylesheets 2013-09-09 12:23:33 -04:00
Michael Rose af644c4675 Update scripts 2013-09-09 12:23:28 -04:00
Michael Rose 12d65869da Init Gruntjs build script 2013-09-09 12:22:56 -04:00
Michael Rose 7d86b65866 Add custom 404 page 2013-09-07 13:08:23 -04:00
Michael Rose 96f0376de9 Improve typography of .article-author 2013-09-07 13:04:05 -04:00
Michael Rose cdc9a616e3 HTML cleanup 2013-09-07 13:03:52 -04:00
Michael Rose ded1bd8375 Improve style of highlighted syntax 2013-09-07 13:03:10 -04:00
Michael Rose 3d46ca3f30 Fix .image-pull-right overlap with paragraph text 2013-09-07 13:03:05 -04:00
Michael Rose 4aac685d3e Add image attribution 2013-09-07 13:02:59 -04:00
Michael Rose 69715005f2 Remove headline wrap and fix schema tag on post/page title's 2013-09-07 13:02:52 -04:00
Michael Rose 564fbefc61 Improve typography 2013-09-07 13:02:46 -04:00
Michael Rose f7f8b9312f Minor adjustments to author-bio typography 2013-09-07 13:02:40 -04:00
Michael Rose 29e66e6c4d Remove Typleplate styles 2013-09-07 13:02:34 -04:00
Michael Rose f560dc68fc Add global transition text and block elements 2013-09-07 13:02:28 -04:00
Michael Rose 24f5fa5f86 Remove Chrome Frame references 2013-09-07 13:02:15 -04:00
Michael Rose 677c560fec Update bio photo for author sidebar 2013-09-07 13:00:38 -04:00
Michael Rose 408e15472c Add image attribution for post and page feature images 2013-09-07 13:00:30 -04:00
Michael Rose b5451dd9f7 Cleanup LESS variable names 2013-09-07 13:00:22 -04:00
Michael Rose daf2dde15a Update README.md 2013-09-07 12:59:29 -04:00
Michael Rose 0566fb5118 Add Privacy and Disclosure Policies 2013-07-22 12:21:13 -04:00
Michael Rose db9122ebfe Add Google Adwords to footer 2013-07-19 08:41:30 -04:00
735 changed files with 6486 additions and 34004 deletions
-13
View File
@@ -1,13 +0,0 @@
# editorconfig.org
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = false
[*.md]
trim_trailing_whitespace = false
-6
View File
@@ -1,6 +0,0 @@
assets/fonts/* linguist-vendored
assets/js/main.min.js linguist-vendored
assets/js/lunr/* linguist-vendored
assets/js/plugins/* linguist-vendored
assets/js/vendor/* linguist-vendored
_sass/minimal-mistakes/vendor/* linguist-vendored
-15
View File
@@ -1,15 +0,0 @@
# Contributing
Having trouble working with the theme? Found a typo in the documentation? Interested in adding a feature or [fixing a bug](https://github.com/mmistakes/minimal-mistakes/issues)? Then by all means [submit an issue](https://github.com/mmistakes/minimal-mistakes/issues/new) or [pull request](https://help.github.com/articles/using-pull-requests/). If this is your first pull request, it may be helpful to read up on the [GitHub Flow](https://guides.github.com/introduction/flow/) first.
Minimal Mistakes has been designed as a base for you to customize and fit your site's unique needs. Please keep this in mind when requesting features and/or submitting pull requests. If it's not something that most people will use, I probably won't consider it. When in doubt ask.
This goes for author sidebar links and "share button" additions -- I have no intention of merging in every possibly option, the essentials are there to get you started :smile:.
## Pull Requests
When submitting a pull request:
1. Clone the repo.
2. Create a branch off of `master` and give it a meaningful name (e.g. `my-awesome-new-feature`) and describe the feature or fix.
3. Open a pull request on GitHub.
-58
View File
@@ -1,58 +0,0 @@
<!--
Before submitting please search open and closed issues at
https://github.com/mmistakes/minimal-mistakes/issues to avoid duplication.
Feel free to use the following as a template and remove or add fields as you
see fit. You can convert `[ ]` into `[x]` completed check boxes.
-->
- [ ] This is a question about using the theme.
- [ ] This is a feature request or enhancement.
- [ ] I believe this to be a bug with the theme.
- [ ] I am using the latest version of the theme.
- [ ] I have updated all gems with `bundle update`.
- [ ] I have tested locally with `bundle exec jekyll build`.
---
## Environment informations
<!--
Please include theme version, Jekyll version, whether you are hosting with
GitHub Pages, and the operating system you are on or tested with.
-->
- **Minimal Mistakes version:**
- **Jekyll version:**
- **GitHub Pages hosted:** yes/no
- **Operating system:**
---
## Expected behavior
<!--
Describe the intended output or what you expected to see.
-->
## Steps to reproduce the behavior
<!--
Include a link to a public repository or ZIP file so that the behavior or bug
can easily be reproduced. Being able to see your actual files helps with
troubleshooting as most issues stem from invalid/missing YAML Front Matter, a
mis-configured _config.sys file, or problematic site content.
Describe the steps you took for this problem to exist. Such as: you cloned the
theme, customized _config.yml, added your own posts, and started up a Jekyll
server locally.
If an error occurred on GitHub Pages when pushing, please test a local version
following these setup instructions:
https://help.github.com/articles/setting-up-your-github-pages-site-locally-with-jekyll/
Then provide a complete log by running `bundle exec jekyll build --trace --verbose`
and include this output in the filed issue.
Screenshots can also be included if they help illustrate a behavior.
-->
-22
View File
@@ -1,22 +0,0 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 30
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
- "Status: Accepted"
- "Status: Under Consideration"
- "Status: Review Needed"
# Label to use when marking an issue as stale
staleLabel: "Status: Stale"
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: |
This issue has been automatically marked as stale because it has not had recent activity.
If this is a **bug** and you can still reproduce this error on the `master` branch, please reply with any additional information you have about it in order to keep the issue open.
If this is a feature request, please consider whether it can be accomplished in another way. If it cannot, please elaborate on why it is core to this project and why you feel more than 80% of users would find this beneficial.
This issue will automatically be closed in 7 days if no further activity occurs. Thank you for all your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false
+3 -10
View File
@@ -1,14 +1,7 @@
*.gem _site
.DS_Store
*.sublime-project *.sublime-project
*.sublime-workspace *.sublime-workspace
.bundle
.DS_Store
.jekyll-metadata
.sass-cache
_asset_bundler_cache
_site
codekit-config.json codekit-config.json
example/_site
Gemfile.lock
node_modules node_modules
npm-debug.log* _asset_bundler_cache
+20
View File
@@ -0,0 +1,20 @@
{
"bitwise": true,
"browser": true,
"curly": true,
"eqeqeq": true,
"eqnull": true,
"es5": false,
"esnext": true,
"immed": true,
"jquery": true,
"latedef": true,
"newcap": true,
"noarg": true,
"node": true,
"strict": false,
"trailing": false,
"undef": true,
"multistr": true,
"expr": true
}
+7 -4
View File
@@ -1,8 +1,11 @@
--- ---
layout: page
title: "Page Not Found" title: "Page Not Found"
excerpt: "Page not found. Your pixels are in another canvas." description: "Page not found. Your pixels are in another canvas."
sitemap: false image:
permalink: /404.html feature: texture-feature-01.jpg
credit: Texture Lovers
creditlink: http://texturelovers.com
--- ---
Sorry, but the page you were trying to view does not exist --- perhaps you can try searching for it below. Sorry, but the page you were trying to view does not exist --- perhaps you can try searching for it below.
@@ -12,5 +15,5 @@ Sorry, but the page you were trying to view does not exist --- perhaps you can t
var GOOG_FIXURL_SITE = '{{ site.url }}' var GOOG_FIXURL_SITE = '{{ site.url }}'
</script> </script>
<script type="text/javascript" <script type="text/javascript"
src="//linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"> src="http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js">
</script> </script>
-1025
View File
File diff suppressed because it is too large Load Diff
-2
View File
@@ -1,2 +0,0 @@
source "https://rubygems.org"
gemspec
+106
View File
@@ -0,0 +1,106 @@
'use strict';
module.exports = function(grunt) {
grunt.initConfig({
jshint: {
options: {
jshintrc: '.jshintrc'
},
all: [
'Gruntfile.js',
'assets/js/*.js',
'!assets/js/plugins/*.js',
'!assets/js/scripts.min.js'
]
},
recess: {
dist: {
options: {
compile: true,
compress: true
},
files: {
'assets/css/main.min.css': [
'assets/less/main.less'
]
}
}
},
uglify: {
dist: {
files: {
'assets/js/scripts.min.js': [
'assets/js/plugins/*.js',
'assets/js/_*.js'
]
}
}
},
imagemin: {
dist: {
options: {
optimizationLevel: 7,
progressive: true
},
files: [{
expand: true,
cwd: 'images/',
src: '{,*/}*.{png,jpg,jpeg}',
dest: 'images/'
}]
}
},
svgmin: {
dist: {
files: [{
expand: true,
cwd: 'images/',
src: '{,*/}*.svg',
dest: 'images/'
}]
}
},
watch: {
less: {
files: [
'assets/less/*.less'
],
tasks: ['recess']
},
js: {
files: [
'<%= jshint.all %>'
],
tasks: ['jshint','uglify']
}
},
clean: {
dist: [
'assets/css/main.min.css',
'assets/js/scripts.min.js'
]
}
});
// Load tasks
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-recess');
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.loadNpmTasks('grunt-svgmin');
// Register tasks
grunt.registerTask('default', [
'clean',
'recess',
'uglify',
'imagemin',
'svgmin'
]);
grunt.registerTask('dev', [
'watch'
]);
};
+281
View File
@@ -0,0 +1,281 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
-63
View File
@@ -1,63 +0,0 @@
The MIT License (MIT)
Copyright (c) 2013-2018 Michael Rose and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Minimal Mistakes incorporates icons from [The Noun Project](https://thenounproject.com/)
creators Garrett Knoll, Arthur Shlain, and Tracy Tam.
Icons are distributed under Creative Commons Attribution 3.0 United States (CC BY 3.0 US).
Minimal Mistakes incorporates [Font Awesome](http://fontawesome.io/),
Copyright (c) 2017 Dave Gandy.
Font Awesome is distributed under the terms of the [SIL OFL 1.1](http://scripts.sil.org/OFL)
and [MIT License](http://opensource.org/licenses/MIT).
Minimal Mistakes incorporates photographs from [Unsplash](https://unsplash.com).
Minimal Mistakes incorporates [Susy](http://susy.oddbird.net/),
Copyright (c) 2017, Miriam Eric Suzanne.
Susy is distributed under the terms of the [BSD 3-clause "New" or "Revised" License](https://opensource.org/licenses/BSD-3-Clause).
Minimal Mistakes incorporates [Breakpoint](http://breakpoint-sass.com/).
Breakpoint is distributed under the terms of the [MIT/GPL Licenses](http://opensource.org/licenses/MIT).
Minimal Mistakes incorporates [FitVids.js](https://github.com/davatron5000/FitVids.js/),
Copyright (c) 2013 Dave Rubert and Chris Coyier.
FitVids is distributed under the terms of the [WTFPL License](http://sam.zoy.org/wtfpl/).
Minimal Mistakes incorporates [Magnific Popup](http://dimsemenov.com/plugins/magnific-popup/),
Copyright (c) 2014-2016 Dmitry Semenov, http://dimsemenov.com.
Magnific Popup is distributed under the terms of the MIT License.
Minimal Mistakes incorporates [jQuery Smooth Scroll](https://github.com/kswedberg/jquery-smooth-scroll),
Copyright (c) 2017 Karl Swedberg.
jQuery Smooth Scroll is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
Minimal Mistakes incorporates [GreedyNav.js](https://github.com/lukejacksonn/GreedyNav),
Copyright (c) 2015 Luke Jackson.
GreedyNav.js is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
Minimal Mistakes incorporates [Jekyll Group-By-Array](https://github.com/mushishi78/jekyll-group-by-array),
Copyright (c) 2015 Max White <mushishi78@gmail.com>.
Jekyll Group-By-Array is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
Minimal Mistakes incorporates [Lunr](http://lunrjs.com),
Copyright (c) 2017 Oliver Nightingale.
Lunr is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
+24 -225
View File
@@ -1,245 +1,44 @@
# [Minimal Mistakes Jekyll Theme](https://mmistakes.github.io/minimal-mistakes/) # Minimal Mistakes
[![LICENSE](https://img.shields.io/badge/license-MIT-lightgrey.svg)](https://raw.githubusercontent.com/mmistakes/minimal-mistakes/master/LICENSE.txt) **[Minimal Mistakes](http://mmistakes.github.io/minimal-mistakes)** is a two column responsive Jekyll theme perfect for powering your GitHub hosted blog.
[![Jekyll](https://img.shields.io/badge/jekyll-%3E%3D%203.6-blue.svg)](https://jekyllrb.com/)
[![Ruby gem](https://img.shields.io/gem/v/minimal-mistakes-jekyll.svg)](https://rubygems.org/gems/minimal-mistakes-jekyll)
[![Tip Me via PayPal](https://img.shields.io/badge/PayPal-tip%20me-green.svg?logo=paypal)](https://www.paypal.me/mmistakes)
Minimal Mistakes is a flexible two-column Jekyll theme. Perfect for hosting your personal site, blog, or portfolio on GitHub or self-hosting on your own server. As the name implies --- styling is purposely minimalistic to be enhanced and customized by you :smile:. ## Minimal Mistakes is all about:
:sparkles: See what's new in the [CHANGELOG](CHANGELOG.md). * Responsive templates. Looking good on mobile, tablet, and desktop.
* Gracefully degrading in older browsers. Compatible with Internet Explorer 8+ and all modern browsers.
* Minimal embellishments -- content first.
* Optional large feature images for posts and pages.
* Simple and clear permalink structure.
* [Custom 404 page](http://mmistakes.github.io/minimal-mistakes/404.html) to get you started.
* Stylesheets for Pygments and Coderay [syntax highlighting](http://mmistakes.github.io/articles/minimal-mistakes/code-highlighting-post/) to make your code examples look snazzy.
[![Minimal Mistakes live preview][2]][1] ![screenshot of Minimal Mistakes theme](http://mmistakes.github.io/minimal-mistakes/images/mm-theme-post-600.jpg)
[1]: https://mmistakes.github.io/minimal-mistakes/ ## Basic Setup for a new Jekyll site
[2]: screenshot.png (live preview)
![layout examples](screenshot-layouts.png) 1. [Install Bundler](http://bundler.io) `gem install bundler` and then install [Jekyll](http://jekyllrb.com) and all dependencies `bundle install`.
2. Fork the [Minimal Mistakes repo](http://github.com/mmistakes/minimal-mistakes/fork).
3. Clone the repo you just forked and rename it.
4. Edit `_config.yml` to personalize your site.
5. Check out the sample posts in `_posts` to see examples for pulling in large feature images, assigning categories and tags, and other YAML data.
## Notable Features [Demo the Theme](http://mmistakes.github.io/minimal-mistakes)
- Bundled as a "theme gem" for easier install/upgrading. **Pro-tip:** Delete the `gh-pages` branch after cloning and start fresh by branching off `master`. There is a bunch of garbage in `gh-pages` used for the theme's demo site that I'm guessing you don't need.
- Compatible with GitHub Pages.
- Support for Jekyll's built-in Sass/SCSS preprocessor.
- Nine different skins (color variations).
- Several responsive layout options (single, archive index, search, splash, and paginated home page).
- Optimized for search engines with support for [Twitter Cards](https://dev.twitter.com/cards/overview) and [Open Graph](http://ogp.me/) data
- Optional [header images](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#headers), [custom sidebars](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#sidebars), [table of contents](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#table-of-contents), [galleries](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#gallery), related posts, [breadcrumb links](https://mmistakes.github.io/minimal-mistakes/docs/configuration/#breadcrumb-navigation-beta), [navigation lists](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#navigation-list), and more.
- Commenting support (powered by [Disqus](https://disqus.com/), [Facebook](https://developers.facebook.com/docs/plugins/comments), Google+, [Discourse](https://www.discourse.org/), static-based via [Staticman v1 and v2](https://staticman.net/), and custom).
- [Google Analytics](https://www.google.com/analytics/) support.
- UI localized text in English (default), Brazilian Portuguese (Português brasileiro), Chinese, Danish, Dutch, French (Français), German (Deutsch), Greek, Indonesian, Italian (Italiano), Japanese, Korean, Nepali (Nepalese), Polish, Russian, Spanish (Español), Swedish, Turkish (Türkçe), and Vietnamese.
## Skins (Color Variations) ## More Theme Setup Goodness
This theme comes in nine different skins (including the default one). To learn more about how customize this theme, include feature images in posts, use the Grunt build scripts, and some other junk, [read up here](http://mmistakes.github.io/minimal-mistakes-theme/theme-setup/).
| `air` | `contrast` | `dark` |
| --- | --- | --- |
| ![air skin](https://mmistakes.github.io/minimal-mistakes/assets/images/air-skin-archive.png) | ![contrast skin](https://mmistakes.github.io/minimal-mistakes/assets/images/contrast-skin-archive.png) | ![dark skin](https://mmistakes.github.io/minimal-mistakes/assets/images/dark-skin-archive.png) |
| `dirt` | `mint` | `sunrise` |
| --- | --- | --- |
| ![dirt skin](https://mmistakes.github.io/minimal-mistakes/assets/images/dirt-skin-archive.png) | ![mint skin](https://mmistakes.github.io/minimal-mistakes/assets/images/mint-skin-archive.png) | ![sunrise skin](https://mmistakes.github.io/minimal-mistakes/assets/images/sunrise-skin-archive.png) |
| `aqua` | `neon` | `plum` |
| --- | --- | --- |
| ![aqua skin](https://mmistakes.github.io/minimal-mistakes/assets/images/aqua-skin-archive.png) | ![neon skin](https://mmistakes.github.io/minimal-mistakes/assets/images/neon-skin-archive.png) | ![plum skin](https://mmistakes.github.io/minimal-mistakes/assets/images/plum-skin-archive.png) |
## Demo Pages
| Name | Description |
| ------------------------------------------- | ----------------------------------------------------- |
| [Post with Header Image][header-image-post] | A post with a large header image. |
| [HTML Tags and Formatting Post][html-tags-post] | A variety of common markup showing how the theme styles them. |
| [Syntax Highlighting Post][syntax-post] | Post displaying highlighted code. |
| [Post with a Gallery][gallery-post] | A post showing several images wrapped in `<figure>` elements. |
| [Sample Collection Page][sample-collection] | Single page from a collection. |
| [Categories Archive][categories-archive] | Posts grouped by category. |
| [Tags Archive][tags-archive] | Posts grouped by tag. |
Additional sample posts are available under [posts archive][year-archive] on the demo site. Source files for these (and the entire demo site) can be found in [`/docs`](docs).
[header-image-post]: https://mmistakes.github.io/minimal-mistakes/layout-header-image-text-readability/
[gallery-post]: https://mmistakes.github.io/minimal-mistakes/post%20formats/post-gallery/
[html-tags-post]: https://mmistakes.github.io/minimal-mistakes/markup/markup-html-tags-and-formatting/
[syntax-post]: https://mmistakes.github.io/minimal-mistakes/markup-syntax-highlighting/
[sample-collection]: https://mmistakes.github.io/minimal-mistakes/recipes/chocolate-chip-cookies/
[categories-archive]: https://mmistakes.github.io/minimal-mistakes/categories/
[tags-archive]: https://mmistakes.github.io/minimal-mistakes/tags/
[year-archive]: https://mmistakes.github.io/minimal-mistakes/year-archive/
## Installation
There are three ways to install the theme: as a Ruby gem (for self-hosted sites), as a Ruby gem + jekyll-remote-theme plugin (GitHub Pages hosted sites), or forking/directly copying all of the theme files into your project.
### Ruby Gem Method
1. Install the theme as a Ruby Gem by adding it to your `Gemfile` like so:
```ruby
gem "minimal-mistakes-jekyll"
```
2. Fetch and update bundled gems by running the following [Bundler](http://bundler.io/) command:
```bash
bundle
```
3. Set the `theme` in your project's Jekyll `_config.yml` file:
```yaml
theme: minimal-mistakes-jekyll
```
To update the theme run `bundle update`.
### GitHub Pages Method
1. Create/replace the contents of your `Gemfile` with the following:
```ruby
source "https://rubygems.org"
gem "github-pages", group: :jekyll_plugins
```
2. Fetch and update bundled gems by running the following [Bundler](http://bundler.io/) command:
```bash
bundle
```
3. Add `remote_theme: "mmistakes/minimal-mistakes"` to your `_config.yml` file. Remove any other `theme:` or `remote_theme:` entry.
## Usage
For detailed instructions on how to configure, customize, add/migrate content, and more read the [theme's documentation](https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/).
--- ---
## Contributing ## Questions?
Having trouble working with the theme? Found a typo in the documentation? Interested in adding a feature or [fixing a bug](https://github.com/mmistakes/minimal-mistakes/issues)? Then by all means [submit an issue](https://github.com/mmistakes/minimal-mistakes/issues/new) or [pull request](https://help.github.com/articles/using-pull-requests/). If this is your first pull request, it may be helpful to read up on the [GitHub Flow](https://guides.github.com/introduction/flow/) first. Having a problem getting something to work or want to know why I setup something in a certain way? Ping me on Twitter [@mmistakes](http://twitter.com/mmistakes) or [file a GitHub Issue](https://github.com/mmistakes/minimal-mistakes/issues/new). And if you make something cool with this theme feel free to let me know.
Minimal Mistakes has been designed as a base for you to customize and fit your site's unique needs. Please keep this in mind when requesting features and/or submitting pull requests. If it's not something that most people will use, I probably won't consider it. When in doubt ask.
This goes for author sidebar links and "share button" additions -- I have no intention of merging in every possibly option, the essentials are there to get you started :smile:.
### Pull Requests
When submitting a pull request:
1. Clone the repo.
2. Create a branch off of `master` and give it a meaningful name (e.g. `my-awesome-new-feature`).
3. Open a pull request on GitHub and describe the feature or fix.
Theme documentation and demo pages can be found in the [`/docs`](docs) if submitting improvements, typo corrections, etc.
## Development
To set up your environment to develop this theme, run `bundle install`.
To test the theme, run `bundle exec rake preview` and open your browser at `http://localhost:4000/test/`. This starts a Jekyll server using content in the `test/` directory. As modifications are made to the theme and test site, it will regenerate and you should see the changes in the browser after a refresh.
---
## Credits
### Creator
**Michael Rose**
- <https://mademistakes.com>
- <https://twitter.com/mmistakes>
- <https://github.com/mmistakes>
### Icons + Demo Images:
- [The Noun Project](https://thenounproject.com) -- Garrett Knoll, Arthur Shlain, and [tracy tam](https://thenounproject.com/tracytam)
- [Font Awesome](http://fontawesome.io/)
- [Unsplash](https://unsplash.com/)
### Other:
- [Jekyll](http://jekyllrb.com/)
- [jQuery](http://jquery.com/)
- [Susy](http://susy.oddbird.net/)
- [Breakpoint](http://breakpoint-sass.com/)
- [Magnific Popup](http://dimsemenov.com/plugins/magnific-popup/)
- [FitVids.JS](http://fitvidsjs.com/)
- [GreedyNav.js](https://github.com/lukejacksonn/GreedyNav)
- [jQuery Smooth Scroll](https://github.com/kswedberg/jquery-smooth-scroll)
- [Lunr](http://lunrjs.com)
--- ---
## License ## License
The MIT License (MIT) This theme is free and open source software, distributed under the [GNU General Public License](http://mmistakes.github.io/minimal-mistakes/LICENSE) version 2 or later. So feel free to use this Jekyll theme on your site without linking back to me or including a disclaimer.
Copyright (c) 2013-2018 Michael Rose and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Minimal Mistakes incorporates icons from [The Noun Project](https://thenounproject.com/)
creators Garrett Knoll, Arthur Shlain, and tracy tam.
Icons are distributed under Creative Commons Attribution 3.0 United States (CC BY 3.0 US).
Minimal Mistakes incorporates [Font Awesome](http://fontawesome.io/),
Copyright (c) 2017 Dave Gandy.
Font Awesome is distributed under the terms of the [SIL OFL 1.1](http://scripts.sil.org/OFL)
and [MIT License](http://opensource.org/licenses/MIT).
Minimal Mistakes incorporates photographs from [Unsplash](https://unsplash.com).
Minimal Mistakes incorporates [Susy](http://susy.oddbird.net/),
Copyright (c) 2017, Miriam Eric Suzanne.
Susy is distributed under the terms of the [BSD 3-clause "New" or "Revised" License](https://opensource.org/licenses/BSD-3-Clause).
Minimal Mistakes incorporates [Breakpoint](http://breakpoint-sass.com/).
Breakpoint is distributed under the terms of the [MIT/GPL Licenses](http://opensource.org/licenses/MIT).
Minimal Mistakes incorporates [FitVids.js](https://github.com/davatron5000/FitVids.js/),
Copyright (c) 2013 Dave Rubert and Chris Coyier.
FitVids is distributed under the terms of the [WTFPL License](http://sam.zoy.org/wtfpl/).
Minimal Mistakes incorporates [Magnific Popup](http://dimsemenov.com/plugins/magnific-popup/),
Copyright (c) 2014-2016 Dmitry Semenov, http://dimsemenov.com.
Magnific Popup is distributed under the terms of the MIT License.
Minimal Mistakes incorporates [jQuery Smooth Scroll](https://github.com/kswedberg/jquery-smooth-scroll),
Copyright (c) 2017 Karl Swedberg.
jQuery Smooth Scroll is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
Minimal Mistakes incorporates [GreedyNav.js](https://github.com/lukejacksonn/GreedyNav),
Copyright (c) 2015 Luke Jackson.
GreedyNav.js is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
Minimal Mistakes incorporates [Jekyll Group-By-Array](https://github.com/mushishi78/jekyll-group-by-array),
Copyright (c) 2015 Max White <mushishi78@gmail.com>.
Jekyll Group-By-Array is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
Minimal Mistakes incorporates [@allejo's Pure Liquid Jekyll Table of Contents](https://allejo.io/blog/a-jekyll-toc-in-liquid-only/),
Copyright (c) 2017 Vladimir Jimenez.
Pure Liquid Jekyll Table of Contents is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
Minimal Mistakes incorporates [Lunr](http://lunrjs.com),
Copyright (c) 2017 Oliver Nightingale.
Lunr is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
-76
View File
@@ -1,76 +0,0 @@
require "bundler/gem_tasks"
require "jekyll"
require "listen"
def listen_ignore_paths(base, options)
[
/_config\.ya?ml/,
/_site/,
/\.jekyll-metadata/
]
end
def listen_handler(base, options)
site = Jekyll::Site.new(options)
Jekyll::Command.process_site(site)
proc do |modified, added, removed|
t = Time.now
c = modified + added + removed
n = c.length
relative_paths = c.map{ |p| Pathname.new(p).relative_path_from(base).to_s }
print Jekyll.logger.message("Regenerating:", "#{relative_paths.join(", ")} changed... ")
begin
Jekyll::Command.process_site(site)
puts "regenerated in #{Time.now - t} seconds."
rescue => e
puts "error:"
Jekyll.logger.warn "Error:", e.message
Jekyll.logger.warn "Error:", "Run jekyll build --trace for more information."
end
end
end
task :preview do
base = Pathname.new('.').expand_path
options = {
"source" => base.join('test').to_s,
"destination" => base.join('test/_site').to_s,
"force_polling" => false,
"serving" => true,
"theme" => "minimal-mistakes-jekyll"
}
options = Jekyll.configuration(options)
ENV["LISTEN_GEM_DEBUGGING"] = "1"
listener = Listen.to(
base.join("_data"),
base.join("_includes"),
base.join("_layouts"),
base.join("_sass"),
base.join("assets"),
options["source"],
:ignore => listen_ignore_paths(base, options),
:force_polling => options['force_polling'],
&(listen_handler(base, options))
)
begin
listener.start
Jekyll.logger.info "Auto-regeneration:", "enabled for '#{options["source"]}'"
unless options['serving']
trap("INT") do
listener.stop
puts " Halting auto-regeneration."
exit 0
end
loop { sleep 1000 }
end
rescue ThreadError
# You pressed Ctrl-C, oh my!
end
Jekyll::Commands::Serve.process(options)
end
+90
View File
@@ -0,0 +1,90 @@
require "rubygems"
require "bundler/setup"
require "stringex"
## -- Config -- ##
posts_dir = "_posts" # directory for blog files
new_post_ext = "md" # default new post file extension when using the new_post task
new_page_ext = "md" # default new page file extension when using the new_page task
#############################
# Create a new Post or Page #
#############################
# usage rake new_post
desc "Create a new post in #{posts_dir}"
task :new_post, :title do |t, args|
if args.title
title = args.title
else
title = get_stdin("Enter a title for your post: ")
end
filename = "#{posts_dir}/#{Time.now.strftime('%Y-%m-%d')}-#{title.to_url}.#{new_post_ext}"
if File.exist?(filename)
abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
end
category = get_stdin("Enter category name to group your post in (leave blank for none): ")
tags = get_stdin("Enter tags to classify your post (comma separated): ")
puts "Creating new post: #{filename}"
open(filename, 'w') do |post|
post.puts "---"
post.puts "layout: post"
post.puts "title: \"#{title.gsub(/&/,'&amp;')}\""
post.puts "modified: #{Time.now.strftime('%Y-%m-%d %H:%M:%S %z')}"
post.puts "category: [#{category}]"
post.puts "tags: [#{tags}]"
post.puts "image:"
post.puts " feature: "
post.puts " credit: "
post.puts " creditlink: "
post.puts "comments: "
post.puts "share: "
post.puts "---"
end
end
# usage rake new_page
desc "Create a new page"
task :new_page, :title do |t, args|
if args.title
title = args.title
else
title = get_stdin("Enter a title for your page: ")
end
filename = "#{title.to_url}.#{new_page_ext}"
if File.exist?(filename)
abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
end
tags = get_stdin("Enter tags to classify your page (comma separated): ")
puts "Creating new page: #{filename}"
open(filename, 'w') do |page|
page.puts "---"
page.puts "layout: page"
page.puts "permalink: /#{title.to_url}/"
page.puts "title: \"#{title}\""
page.puts "modified: #{Time.now.strftime('%Y-%m-%d %H:%M')}"
page.puts "tags: [#{tags}]"
page.puts "image:"
page.puts " feature: "
page.puts " credit: "
page.puts " creditlink: "
page.puts "share: "
page.puts "---"
end
end
def get_stdin(message)
print message
STDIN.gets.chomp
end
def ask(message, valid_options)
if valid_options
answer = get_stdin("#{message} #{valid_options.to_s.gsub(/"/, '').gsub(/, /,'/')} ") while !valid_options.include?(answer)
else
answer = get_stdin(message)
end
answer
end
+49 -248
View File
@@ -1,261 +1,62 @@
# Welcome to Jekyll! title: Minimal Mistakes
# description: A responsive Jekyll theme large featured images and solid typography.
# This config file is meant for settings that affect your entire site, values #Comment out url when working locally to resolve base urls correctly
# which you are expected to set up once and rarely need to edit after that. url: http://mmistakes.github.io/minimal-mistakes
# For technical reasons, this file is *NOT* reloaded automatically when you use
# `jekyll serve`. If you change this file, please restart the server process.
minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise" # Owner/author information
owner:
name: Michael Rose
avatar: bio-photo.jpg
bio: "Just another boring, time traveling, tattooed, designer from Buffalo New York."
email: michael@mademistakes.com
# Social networking links are used in author-bio sidebar. Update and remove as you like.
twitter: "mmistakes"
github: "mmistakes"
instagram: "mmistakes"
# For Google Authorship https://plus.google.com/authorship
google_plus: "http://plus.google.com/118238196859537351707"
# Site Settings # Analytics and webmaster tools stuff goes here
locale : "en-US" google_analytics: UA-2011187-3
title : "Site Title" google_verify: UQj93ERU9zgECodaaXgVpkjrFn9UrDMEzVamacSoQ8Y
title_separator : "-" # https://ssl.bing.com/webmaster/configure/verify/ownership Option 2 content= goes here
name : "Your Name" bing_verify: D81F4C18A6CB3018F64D7C827D953DFD
description : "An amazing website."
url : # the base hostname & protocol for your site e.g. "https://mmistakes.github.io"
baseurl : # the subpath of your site, e.g. "/blog"
repository : # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes"
teaser : # path of fallback teaser image, e.g. "/assets/images/500x300.png"
# breadcrumbs : false # true, false (default)
words_per_minute : 200
comments:
provider : # false (default), "disqus", "discourse", "facebook", "google-plus", "staticman", "staticman_v2" "custom"
disqus:
shortname : # https://help.disqus.com/customer/portal/articles/466208-what-s-a-shortname-
discourse:
server : # https://meta.discourse.org/t/embedding-discourse-comments-via-javascript/31963 , e.g.: meta.discourse.org
facebook:
# https://developers.facebook.com/docs/plugins/comments
appid :
num_posts : # 5 (default)
colorscheme : # "light" (default), "dark"
staticman:
allowedFields : # ['name', 'email', 'url', 'message']
branch : # "master"
commitMessage : # "New comment."
filename : # comment-{@timestamp}
format : # "yml"
moderation : # true
path : # "/_data/comments/{options.slug}" (default)
requiredFields : # ['name', 'email', 'message']
transforms:
email : # "md5"
generatedFields:
date:
type : # "date"
options:
format : # "iso8601" (default), "timestamp-seconds", "timestamp-milliseconds"
reCaptcha:
siteKey :
secret :
atom_feed:
path : # blank (default) uses feed.xml
search : # true, false (default)
search_full_content : # true, false (default)
search_provider : # lunr (default), algolia
algolia:
application_id : # YOUR_APPLICATION_ID
index_name : # YOUR_INDEX_NAME
search_only_api_key : # YOUR_SEARCH_ONLY_API_KEY
powered_by : # true (default), false
# SEO Related # Links to include in top navigation
google_site_verification : # For external links add external: true
bing_site_verification : links:
yandex_site_verification : - title: About
naver_site_verification : url: /about/
- title: Posts
url: /posts/
- title: Theme Setup
url: /theme-setup/
- title: Made Mistakes
url: http://mademistakes.com
external: true
# Social Sharing # http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
twitter: timezone: America/New_York
username : future: true
facebook: pygments: true
username : markdown: kramdown
app_id :
publisher :
og_image : # Open Graph/Twitter default site image
# For specifying social profiles
# - https://developers.google.com/structured-data/customize/social-profiles
social:
type : # Person or Organization (defaults to Person)
name : # If the user or organization name differs from the site's name
links: # An array of links to social media profiles
# Analytics # https://github.com/mojombo/jekyll/wiki/Permalinks
analytics: permalink: /:categories/:title/
provider : false # false (default), "google", "google-universal", "custom"
google:
tracking_id :
# Site Author
author:
name : "Your Name"
avatar : # path of avatar image, e.g. "/assets/images/bio-photo.jpg"
bio : "I am an amazing person."
location : "Somewhere"
email :
uri :
home : # null (default), "absolute or relative url to link to author home"
bitbucket :
codepen :
dribbble :
flickr :
facebook :
foursquare :
github :
gitlab :
google_plus :
keybase :
instagram :
lastfm :
linkedin : # "john-doe-12345678" (the last part of your profile url, e.g. https://www.linkedin.com/in/john-doe-12345678)
pinterest :
soundcloud :
stackoverflow : # "123456/username" (the last part of your profile url, e.g. https://stackoverflow.com/users/123456/username)
steam : # "steamId" (the last part of your profile url, e.g. https://steamcommunity.com/id/steamId/)
tumblr :
twitter :
vine :
weibo :
xing :
youtube : # "https://youtube.com/c/MichaelRoseDesign"
# Reading Files
include:
- .htaccess
- _pages
exclude:
- "*.sublime-project"
- "*.sublime-workspace"
- vendor
- .asset-cache
- .bundle
- .jekyll-assets-cache
- .sass-cache
- assets/js/plugins
- assets/js/_main.js
- assets/js/vendor
- Capfile
- CHANGELOG
- config
- Gemfile
- Gruntfile.js
- gulpfile.js
- LICENSE
- log
- node_modules
- package.json
- Rakefile
- README
- tmp
- /docs # ignore Minimal Mistakes /docs
- /test # ignore Minimal Mistakes /test
keep_files:
- .git
- .svn
encoding: "utf-8"
markdown_ext: "markdown,mkdown,mkdn,mkd,md"
# Conversion
markdown: kramdown
highlighter: rouge
lsi: false
excerpt_separator: "\n\n"
incremental: false
# Markdown Processing
kramdown: kramdown:
input: GFM
hard_wrap: false
auto_ids: true auto_ids: true
footnote_nr: 1 footnote_nr: 1
entity_output: as_char entity_output: as_char
toc_levels: 1..6 toc_levels: 1..6
smart_quotes: lsquo,rsquo,ldquo,rdquo use_coderay: false
enable_coderay: false
coderay:
coderay_line_numbers:
coderay_line_numbers_start: 1
coderay_tab_width: 4
coderay_bold_every: 10
coderay_css: class
# Sass/SCSS include: [".htaccess"]
sass: exclude: ["lib", "config.rb", "Capfile", "config", "log", "Rakefile", "Rakefile.rb", "tmp", "less", "*.sublime-project", "*.sublime-workspace", "test", "spec", "Gruntfile.js", "package.json", "node_modules"]
sass_dir: _sass
style: compressed # http://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style
# Outputting
permalink: /:categories/:title/
paginate: 5 # amount of posts to show
paginate_path: /page:num/
timezone: # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
# Plugins (previously gems:)
plugins:
- jekyll-paginate
- jekyll-sitemap
- jekyll-gist
- jekyll-feed
- jemoji
# mimic GitHub Pages with --safe
whitelist:
- jekyll-paginate
- jekyll-sitemap
- jekyll-gist
- jekyll-feed
- jemoji
# Archives
# Type
# - GitHub Pages compatible archive pages built with Liquid ~> type: liquid (default)
# - Jekyll Archives plugin archive pages ~> type: jekyll-archives
# Path (examples)
# - Archive page should exist at path when using Liquid method or you can
# expect broken links (especially with breadcrumbs enabled)
# - <base_path>/tags/my-awesome-tag/index.html ~> path: /tags/
# - <base_path/categories/my-awesome-category/index.html ~> path: /categories/
# - <base_path/my-awesome-category/index.html ~> path: /
category_archive:
type: liquid
path: /categories/
tag_archive:
type: liquid
path: /tags/
# https://github.com/jekyll/jekyll-archives
# jekyll-archives:
# enabled:
# - categories
# - tags
# layouts:
# category: archive-taxonomy
# tag: archive-taxonomy
# permalinks:
# category: /categories/:name/
# tag: /tags/:name/
# HTML Compression
# - http://jch.penibelst.de/
compress_html:
clippings: all
ignore:
envs: development
# Defaults
defaults:
# _posts
- scope:
path: ""
type: posts
values:
layout: single
author_profile: true
read_time: true
comments: # true
share: true
related: true
-12
View File
@@ -1,12 +0,0 @@
# main links
main:
- title: "Quick-Start Guide"
url: https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/
# - title: "About"
# url: https://mmistakes.github.io/minimal-mistakes/about/
# - title: "Sample Posts"
# url: /year-archive/
# - title: "Sample Collections"
# url: /collection-archive/
# - title: "Sitemap"
# url: /sitemap/
-983
View File
@@ -1,983 +0,0 @@
# User interface text and labels
# English (default)
# -----------------
en: &DEFAULT_EN
page : "Page"
pagination_previous : "Previous"
pagination_next : "Next"
breadcrumb_home_label : "Home"
breadcrumb_separator : "/"
menu_label : "Toggle Menu"
toc_label : "On This Page"
ext_link_label : "Direct Link"
less_than : "less than"
minute_read : "minute read"
share_on_label : "Share on"
meta_label :
tags_label : "Tags:"
categories_label : "Categories:"
date_label : "Updated:"
comments_label : "Leave a Comment"
comments_title : "Comments"
more_label : "Learn More"
related_label : "You May Also Enjoy"
follow_label : "Follow:"
feed_label : "Feed"
powered_by : "Powered by"
website_label : "Website"
email_label : "Email"
recent_posts : "Recent Posts"
undefined_wpm : "Undefined parameter words_per_minute at _config.yml"
comment_form_info : "Your email address will not be published. Required fields are marked"
comment_form_comment_label : "Comment"
comment_form_md_info : "Markdown is supported."
comment_form_name_label : "Name"
comment_form_email_label : "Email address"
comment_form_website_label : "Website (optional)"
comment_btn_submit : "Submit Comment"
comment_btn_submitted : "Submitted"
comment_success_msg : "Thanks for your comment! It will show on the site once it has been approved."
comment_error_msg : "Sorry, there was an error with your submission. Please make sure all required fields have been completed and try again."
loading_label : "Loading..."
search_placeholder_text : "Enter your search term..."
results_found : "Result(s) found"
en-US:
<<: *DEFAULT_EN
en-CA:
<<: *DEFAULT_EN
en-GB:
<<: *DEFAULT_EN
en-AU:
<<: *DEFAULT_EN
# Spanish
# --------------
es: &DEFAULT_ES
page : "Página"
pagination_previous : "Anterior"
pagination_next : "Siguiente"
breadcrumb_home_label : "Inicio"
breadcrumb_separator : "/"
menu_label :
toc_label : "Contenidos"
ext_link_label : "Enlace"
less_than : "menos de"
minute_read : "minuto de lectura"
share_on_label : "Compartir"
meta_label :
tags_label : "Etiquetas:"
categories_label : "Categorías:"
date_label : "Actualizado:"
comments_label : "Comentar"
comments_title :
more_label : "Ver más"
related_label : "Podrías ver también"
follow_label : "Seguir:"
feed_label : "Feed"
powered_by : "Powered by"
website_label : "Sitio web"
email_label : "Email"
recent_posts : "Entradas recientes"
undefined_wpm : "Parametro words_per_minute (Palabras por minuto) no definido en _config.yml"
comment_form_info : "Su dirección de correo no será publicada. Se han resaltado los campos requeridos"
comment_form_comment_label : "Comentario"
comment_form_md_info : "Markdown está soportado."
comment_form_name_label : "Nombre"
comment_form_email_label : "Dirección de E-mail"
comment_form_website_label : "Sitio web (opcional)"
comment_btn_submit : "Enviar Commentario"
comment_btn_submitted : "Enviado"
comment_success_msg : "Gracias por su comentario!, Este se visualizará en el sitio una vez haya sido aprobado"
comment_error_msg : "Lo sentimos, ha ocurrido un error al enviar su comentario. Por favor asegurese que todos los campos han sido diligenciados e intente de nuevo"
loading_label : "Cargando..."
es-ES:
<<: *DEFAULT_ES
es-CO:
<<: *DEFAULT_ES
# French
# -----------------
fr: &DEFAULT_FR
page : "Page"
pagination_previous : "Précédent"
pagination_next : "Suivant"
breadcrumb_home_label : "Accueil"
breadcrumb_separator : "/"
menu_label :
toc_label : "Sur cette page"
ext_link_label : "Lien direct"
less_than : "moins de"
minute_read : "minute de lecture"
share_on_label : "Partager sur"
meta_label :
tags_label : "Tags :"
categories_label : "Catégories :"
date_label : "Mis à jour :"
comments_label : "Laisser un commentaire"
comments_title :
more_label : "Lire plus"
related_label : "Vous pourriez aimer aussi"
follow_label : "Contact"
feed_label : "Flux"
powered_by : "Propulsé par"
website_label : "Site"
email_label : "Email"
recent_posts : "Posts récents"
undefined_wpm : "Le paramètre words_per_minute n'est pas défini dans _config.yml"
comments_title : "Commentaires"
comment_form_info : "Votre adresse email ne sera pas visible. Les champs obligatoires sont marqués"
comment_form_comment_label : "Commentaire"
comment_form_md_info : "Markdown est supporté."
comment_form_name_label : "Nom"
comment_form_email_label : "Adresse mail"
comment_form_website_label : "Site web (optionnel)"
comment_btn_submit : "Envoyer"
comment_btn_submitted : "Envoyé"
comment_success_msg : "Merci pour votre commentaire, il sera visible sur le site une fois approuvé."
comment_error_msg : "Désolé, une erreur est survenue lors de la soumission. Vérifiez que les champs obligatoires ont été remplis et réessayez."
loading_label : "Chargement..."
fr-FR:
<<: *DEFAULT_FR
fr-BE:
<<: *DEFAULT_FR
fr-CH:
<<: *DEFAULT_FR
# Turkish
# -----------------
tr: &DEFAULT_TR
page : "Sayfa"
pagination_previous : "Önceki"
pagination_next : "Sonraki"
breadcrumb_home_label : "Ana Sayfa"
breadcrumb_separator : "/"
menu_label :
toc_label : "İçindekiler"
ext_link_label : "Doğrudan Bağlantı"
less_than : "Şu süreden az: "
minute_read : "dakika tahmini okuma süresi"
share_on_label : "Paylaş"
meta_label :
tags_label : "Etiketler:"
categories_label : "Kategoriler:"
date_label : "Güncelleme tarihi:"
comments_label : "Yorum yapın"
comments_title : "Yorumlar"
more_label : "Daha fazlasını öğrenin"
related_label : "Bunlar ilginizi çekebilir:"
follow_label : "Takip et:"
feed_label : "RSS"
powered_by : "Emeği geçenler: "
website_label : "Web sayfası"
email_label : "E-posta"
recent_posts : "Son yazılar"
undefined_wpm : "_config.yml dosyasında tanımlanmamış words_per_minute parametresi"
comment_form_info : "Email adresiniz gösterilmeyecektir. Zorunlu alanlar işaretlenmiştir"
comment_form_comment_label : "Yorumunuz"
comment_form_md_info : "Markdown desteklenmektedir."
comment_form_name_label : "Adınız"
comment_form_email_label : "Email adresiniz"
comment_form_website_label : "Websiteniz (opsiyonel)"
comment_btn_submit : "Yorum Yap"
comment_btn_submitted : "Gönderildi"
comment_success_msg : "Yorumunuz için teşekkürler! Yorumunuz onaylandıktan sonra sitede gösterilecektir."
comment_error_msg : "Maalesef bir hata oluştu. Lütfen zorunlu olan tüm alanları doldurduğunuzdan emin olun ve sonrasında tekrar deneyin."
loading_label : "Yükleniyor..."
tr-TR:
<<: *DEFAULT_TR
# Portuguese
pt: &DEFAULT_PT
page : "Página"
pagination_previous : "Anterior"
pagination_next : "Seguinte"
breadcrumb_home_label : "Início"
breadcrumb_separator : "/"
menu_label :
toc_label : "Nesta Página"
ext_link_label : "Link Direto"
less_than : "menos de"
minute_read : "minutos de leitura"
share_on_label : "Partilhar no"
meta_label :
tags_label : "Etiquetas:"
categories_label : "Categorias:"
date_label : "Atualizado:"
comments_label : "Deixe um Comentário"
comments_title : "Comentários"
more_label : "Saber mais"
related_label : "Também pode gostar de"
follow_label : "Siga:"
feed_label : "Feed"
powered_by : "Feito com"
website_label : "Site"
email_label : "Email"
recent_posts : "Artigos Recentes"
undefined_wpm : "Parâmetro words_per_minute não definido em _config.yml"
comment_form_info : "O seu endereço email não será publicado. Os campos obrigatórios estão assinalados"
comment_form_comment_label : "Comentário"
comment_form_md_info : "Markdown é suportado."
comment_form_name_label : "Nome"
comment_form_email_label : "Endereço Email"
comment_form_website_label : "Site (opcional)"
comment_btn_submit : "Sumbeter Comentário"
comment_btn_submitted : "Submetido"
comment_success_msg : "Obrigado pelo seu comentário! Será visível no site logo que aprovado."
comment_error_msg : "Lamento, ocorreu um erro na sua submissão. Por favor verifique se todos os campos obrigatórios estão corretamente preenchidos e tente novamente."
loading_label : "A carregar..."
pt-PT:
<<: *DEFAULT_PT
# Brazilian Portuguese
pt-BR:
page : "Página"
pagination_previous : "Anterior"
pagination_next : "Próxima"
breadcrumb_home_label : "Home"
breadcrumb_separator : "/"
menu_label :
toc_label : "Nesta página"
ext_link_label : "Link direto"
less_than : "menos que"
minute_read : "minuto(s) de leitura"
share_on_label : "Compartilhe em"
meta_label :
tags_label : "Tags:"
categories_label : "Categorias:"
date_label : "Atualizado em:"
comments_label : "Deixe um comentário"
comments_title :
more_label : "Aprenda mais"
related_label : "Talvez você goste também"
follow_label : "Acompanhe em"
feed_label : "Feed"
powered_by : "Feito com"
website_label : "Site"
email_label : "Email"
recent_posts : "Postagens recentes"
undefined_wpm : "Parâmetro indefinido em words_per_minute no _config.yml"
comment_form_info : "Seu email não será publicado. Os campos obrigatórios estão marcados"
comment_form_comment_label : "Comentário"
comment_form_md_info : "Markdown é suportado."
comment_form_name_label : "Nome"
comment_form_email_label : "Email"
comment_form_website_label : "Site (opcional)"
comment_btn_submit : "Enviar Comentário"
comment_btn_submitted : "Enviado"
comment_success_msg : "Obrigado pelo seu comentário! Ele aparecerá no site assim que for aprovado."
comment_error_msg : "Desculpe, ocorreu um erro no envio. Por favor verifique se todos os campos obrigatórios foram preenchidos e tente novamente."
loading_label : "Carregando..."
# Italian
# -----------------
it: &DEFAULT_IT
page : "Pagina"
pagination_previous : "Precedente"
pagination_next : "Prossima"
breadcrumb_home_label : "Home"
breadcrumb_separator : "/"
menu_label :
toc_label : "Indice della pagina"
ext_link_label : "Link"
less_than : "meno di"
minute_read : "minuto/i di lettura"
share_on_label : "Condividi"
meta_label :
tags_label : "Tags:"
categories_label : "Categorie:"
date_label : "Aggiornato:"
comments_label : "Scrivi un commento"
comments_title :
more_label : "Scopri di più"
related_label : "Potrebbe Piacerti Anche"
follow_label : "Segui:"
feed_label : "Feed"
powered_by : "Powered by"
website_label : "Website"
email_label : "Email"
recent_posts : "Articoli Recenti"
undefined_wpm : "Parametro words_per_minute non definito in _config.yml"
comment_form_info : "Il tuo indirizzo email non sarà pubblicato. Sono segnati i campi obbligatori"
comment_form_comment_label : "Commenta"
comment_form_md_info : "Il linguaggio Markdown è supportato"
comment_form_name_label : "Nome"
comment_form_email_label : "Indirizzo email"
comment_form_website_label : "Sito Web (opzionale)"
comment_btn_submit : "Invia commento"
comment_btn_submitted : "Inviato"
comment_success_msg : "Grazie per il tuo commento! Verrà visualizzato nel sito una volta che sarà approvato."
comment_error_msg : "C'è stato un errore con il tuo invio. Assicurati che tutti i campi richiesti siano stati completati e riprova."
loading_label : "Caricamento..."
it-IT:
<<: *DEFAULT_IT
# Chinese (zh-CN Chinese - China)
# -----------------
zh: &DEFAULT_ZH_HANS
page : "页面"
pagination_previous : "向前"
pagination_next : "向后"
breadcrumb_home_label : "首页"
breadcrumb_separator : "/"
menu_label : "切换菜单"
toc_label : "在本页上"
ext_link_label : "直接链接"
less_than : "少于"
minute_read : "分钟读完"
share_on_label : "分享"
meta_label :
tags_label : "标签:"
categories_label : "分类:"
date_label : "更新时间:"
comments_label : "留下评论"
comments_title : "评论"
more_label : "了解更多"
related_label : "猜您还喜欢"
follow_label : "关注:"
feed_label : "Feed"
powered_by : "技术来自于"
website_label : "网站"
email_label : "电子邮箱"
recent_posts : "最新文章"
undefined_wpm : "_config.yml配置中words_per_minute字段未定义"
comment_form_info : "您的电子邮箱地址并不会被展示。请填写标记为必须的字段。"
comment_form_comment_label : "评论"
comment_form_md_info : "Markdown语法已支持。"
comment_form_name_label : "姓名"
comment_form_email_label : "电子邮箱"
comment_form_website_label : "网站(可选)"
comment_btn_submit : "提交评论"
comment_btn_submitted : "已提交"
comment_success_msg : "感谢您的评论!被批准后它会立即在此站点展示。"
comment_error_msg : "很抱歉,您的提交存在错误。请确保所有必填字段都已填写正确,然后再试一次。"
loading_label : "正在加载..."
zh-CN:
<<: *DEFAULT_ZH_HANS
zh-SG:
<<: *DEFAULT_ZH_HANS
# Taiwan (Traditional Chinese)
zh-TW: &DEFAULT_ZH_HANT
page : "頁面"
pagination_previous : "較舊"
pagination_next : "較新"
breadcrumb_home_label : "首頁"
breadcrumb_separator : "/"
menu_label : "切換選單"
toc_label : "本頁"
ext_link_label : "外部連結"
less_than : "少於"
minute_read : "分鐘閱讀"
share_on_label : "分享到"
meta_label :
tags_label : "標籤:"
categories_label : "分類:"
date_label : "更新時間:"
comments_label : "留言"
comments_title : "留言內容"
more_label : "了解更多"
related_label : "猜您有與趣"
follow_label : "追蹤:"
feed_label : "RSS Feed"
powered_by : "Powered by"
website_label : "網站"
email_label : "電子信箱"
recent_posts : "最新文章"
undefined_wpm : "_config.yml 中未定義 words_per_minute"
comment_form_info : "您的電子信箱不會被公開. 必填部份已標記"
comment_form_comment_label : "留言內容"
comment_form_md_info : "支援Markdown語法。"
comment_form_name_label : "名字"
comment_form_email_label : "電子信箱帳號"
comment_form_website_label : "網頁 (可選填)"
comment_btn_submit : "送出留言"
comment_btn_submitted : "已送出"
comment_success_msg : "感謝您的留言! 審核後將會顯示在站上。"
comment_error_msg : "抱歉,部份資料輸入有問題。請確認資料填寫正確後再試一次。"
loading_label : "載入中..."
zh-HK:
<<: *DEFAULT_ZH_HANT
# German / Deutsch
# -----------------
de: &DEFAULT_DE
page : "Seite"
pagination_previous : "Vorherige"
pagination_next : "Nächste"
breadcrumb_home_label : "Start"
breadcrumb_separator : "/"
menu_label : "Menü ein-/ausschalten"
toc_label : "Auf dieser Seite"
ext_link_label : "Direkter Link"
less_than : "weniger als"
minute_read : "Minuten zum lesen"
share_on_label : "Teilen auf"
meta_label :
tags_label : "Tags:"
categories_label : "Kategorien:"
date_label : "Aktualisiert:"
comments_label : "Hinterlassen Sie einen Kommentar"
comments_title : "Kommentare"
more_label : "Mehr anzeigen"
related_label : "Ihnen gefällt vielleicht auch"
follow_label : "Folgen:"
feed_label : "Feed"
powered_by : "Möglich durch"
website_label : "Webseite"
email_label : "E-Mail"
recent_posts : "Aktuelle Beiträge"
undefined_wpm : "Undefinierter Parameter words_per_minute in _config.yml"
comment_form_info : "Ihre E-Mail Adresse wird nicht veröffentlicht. Benötigte Felder sind markiert"
comment_form_comment_label : "Kommentar"
comment_form_md_info : "Markdown wird unterstützt."
comment_form_name_label : "Name"
comment_form_email_label : "E-Mail-Addresse"
comment_form_website_label : "Webseite (optional)"
comment_btn_submit : "Kommentar absenden"
comment_btn_submitted : "Versendet"
comment_success_msg : "Danke für Ihren Kommentar! Er wird auf der Seite angezeigt, nachdem er geprüft wurde."
comment_error_msg : "Entschuldigung, es gab einen Fehler. Bitte füllen Sie alle benötigten Felder aus und versuchen Sie es erneut."
loading_label : "Lade..."
de-DE:
<<: *DEFAULT_DE
de-AT:
<<: *DEFAULT_DE
de-CH:
<<: *DEFAULT_DE
de-BE:
<<: *DEFAULT_DE
de-LI:
<<: *DEFAULT_DE
de-LU:
<<: *DEFAULT_DE
# Nepali (Nepal)
# -----------------
ne: &DEFAULT_NE
page : "पृष्‍ठ"
pagination_previous : "अघिल्लो"
pagination_next : "अर्को"
breadcrumb_home_label : "गृह"
breadcrumb_separator : "/"
menu_label : "टगल मेनु"
toc_label : "यो पृष्‍ठमा"
ext_link_label : "सिधा सम्पर्क"
less_than : "कम्तिमा"
minute_read : "मिनेट पढ्नुहोस्"
share_on_label : "शेयर गर्नुहोस्"
meta_label :
tags_label : "ट्यागहरू:"
categories_label : "वर्गहरु:"
date_label : "अद्यावधिक:"
comments_label : "टिप्पणी दिनुहोस्"
comments_title : "टिप्पणीहरू"
more_label : "अझै सिक्नुहोस्"
related_label : "तपाईं रुचाउन सक्नुहुन्छ "
follow_label : "पछ्याउनुहोस्:"
feed_label : "फिड"
powered_by : "Powered by"
website_label : "वेबसाइट"
email_label : "इमेल"
recent_posts : "ताजा लेखहरु"
undefined_wpm : "अपरिभाषित प्यारामिटर शब्दहरू_प्रति_मिनेट at _config.yml"
comment_form_info : "तपाइँको इमेल ठेगाना प्रकाशित गरिने छैन।आवश्यक जानकारीहरुमा चिन्ह लगाइको छ"
comment_form_comment_label : "टिप्पणी"
comment_form_md_info : "मार्कडाउन समर्थित छ।"
comment_form_name_label : "नाम"
comment_form_email_label : "इमेल ठेगाना"
comment_form_website_label : "वेबसाइट (वैकल्पिक)"
comment_btn_submit : "टिप्पणी दिनुहोस् "
comment_btn_submitted : "टिप्पणी भयो"
comment_success_msg : "तपाईंको टिप्पणीको लागि धन्यवाद! एक पटक यो अनुमोदन गरेपछी यो साइटमा देखाउनेछ।"
comment_error_msg : "माफ गर्नुहोस्, तपाईंको टिप्पणी त्रुटि थियो।सबै आवश्यक जानकारीहरु पूरा गरिएको छ भने निश्चित गर्नुहोस् र फेरि प्रयास गर्नुहोस्।"
loading_label : "लोड हुँदैछ ..."
ne-NP:
<<: *DEFAULT_NE
# Korean
# --------------
ko: &DEFAULT_KO
page : "페이지"
pagination_previous : "이전"
pagination_next : "다음"
breadcrumb_home_label : "Home"
breadcrumb_separator : "/"
menu_label : "토글 메뉴"
toc_label : "On This Page"
ext_link_label : "직접 링크"
less_than : "최대"
minute_read : "분 소요"
share_on_label : "공유하기"
meta_label :
tags_label : "태그:"
categories_label : "카테고리:"
date_label : "업데이트:"
comments_label : "댓글남기기"
comments_title : "댓글"
more_label : "더 보기"
related_label : "참고"
follow_label : "팔로우:"
feed_label : "피드"
powered_by : "Powered by"
website_label : "웹사이트"
email_label : "이메일"
recent_posts : "최근 포스트"
undefined_wpm : "Undefined parameter words_per_minute at _config.yml"
comment_form_info : "이메일은 공개되지 않습니다. 작성 필요 필드:"
comment_form_comment_label : "댓글"
comment_form_md_info : "마크다운을 지원합니다."
comment_form_name_label : "이름"
comment_form_email_label : "이메일"
comment_form_website_label : "웹사이트(선택사항)"
comment_btn_submit : "댓글 등록"
comment_btn_submitted : "등록됨"
comment_success_msg : "감사합니다! 댓글이 머지된 후 확인하실 수 있습니다."
comment_error_msg : "댓글 등록에 문제가 있습니다. 필요 필드를 작성했는지 확인하고 다시 시도하세요."
loading_label : "로딩중..."
ko-KR:
<<: *DEFAULT_KO
# Russian / Русский
# -----------------
ru: &DEFAULT_RU
page : "Страница"
pagination_previous : "Предыдущая"
pagination_next : "Следующая"
breadcrumb_home_label : "Главная"
breadcrumb_separator : "/"
menu_label : "Выпадающее меню"
toc_label : "Содержание"
ext_link_label : "Прямая ссылка"
less_than : "менее"
minute_read : "мин на чтение"
share_on_label : "Поделиться"
meta_label :
tags_label : "Метки:"
categories_label : "Разделы:"
date_label : "Дата изменения:"
comments_label : "Оставить комментарий"
comments_title : "Комментарии"
more_label : "Читать далее"
related_label : "Вам также может понравиться"
follow_label : "Связаться со мной:"
feed_label : "RSS-лента"
powered_by : "Сайт работает на"
website_label : "Сайт"
email_label : "Электронная почта"
recent_posts : "Свежие записи"
undefined_wpm : "Не определён параметр words_per_minute в _config.yml"
comment_form_info : "Ваш адрес электронной почты не будет опубликован. Обязательные поля помечены"
comment_form_comment_label : "Комментарий"
comment_form_md_info : "Поддерживается синтаксис Markdown."
comment_form_name_label : "Имя"
comment_form_email_label : "Электронная почта"
comment_form_website_label : "Ссылка на сайт (необязательно)"
comment_btn_submit : "Оставить комментарий"
comment_btn_submitted : "Отправлено"
comment_success_msg : "Спасибо за Ваш комментарий! Он будет опубликован на сайте после проверки."
comment_error_msg : "К сожалению, произошла ошибка с отправкой комментария. Пожалуйста, убедитесь, что все обязательные поля заполнены и попытайтесь снова."
loading_label : "Отправка..."
search_placeholder_text : "Введите поисковый запрос..."
results_found : "Найдено"
ru-RU:
<<: *DEFAULT_RU
# Lithuanian / Lietuviškai
# -----------------
lt: &DEFAULT_LT
page : "Puslapis"
pagination_previous : "Ankstesnis"
pagination_next : "Sekantis"
breadcrumb_home_label : "Pagrindinis"
breadcrumb_separator : "/"
menu_label : "Meniu rodymas"
toc_label : "Turinys"
ext_link_label : "Tiesioginė nuoroda"
less_than : "mažiau nei"
minute_read : "min. skaitymo"
share_on_label : "Pasidalinti"
meta_label :
tags_label : "Žymės:"
categories_label : "Kategorijos:"
date_label : "Atnaujinta:"
comments_label : "Palikti komentarą"
comments_title : "Komentaras"
more_label : "Skaityti daugiau"
related_label : "Taip pat turėtų patikti"
follow_label : "Sekti:"
feed_label : "Šaltinis"
powered_by : "Sukurta su"
website_label : "Tinklapis"
email_label : "El. paštas"
recent_posts : "Naujausi įrašai"
undefined_wpm : "Nedeklaruotas parametras words_per_minute faile _config.yml"
comment_form_info : "El. pašto adresas nebus viešinamas. Būtini laukai pažymėti."
comment_form_comment_label : "Komentaras"
comment_form_md_info : "Markdown palaikomas."
comment_form_name_label : "Vardas"
comment_form_email_label : "El. paštas"
comment_form_website_label : "Tinklapis (nebūtina)"
comment_btn_submit : "Komentuoti"
comment_btn_submitted : "Įrašytas"
comment_success_msg : "Ačiū už komentarą! Jis bus parodytas kai bus patvirtintas."
comment_error_msg : "Atleiskite, įvyko netikėta klaida įrašant komentarą. Pasitikrinkite ar užpildėte visus būtinus laukus ir pamėginkite dar kartą."
loading_label : "Kraunama..."
lt-LT:
<<: *DEFAULT_LT
# Greek
# --------------
gr: &DEFAULT_GR
page : "Σελίδα"
pagination_previous : "Προηγούμενo"
pagination_next : "Επόμενo"
breadcrumb_home_label : "Αρχική"
breadcrumb_separator : "/"
menu_label : "Μενού"
toc_label : "Περιεχόμενα"
ext_link_label : "Εξωτερικός Σύνδεσμος"
less_than : "Λιγότερο από"
minute_read : "λεπτά ανάγνωσης"
share_on_label : "Μοιραστείτε το"
meta_label :
tags_label : "Ετικέτες:"
categories_label : "Κατηγορίες:"
date_label : "Ενημερώθηκε:"
comments_label : "Αφήστε ένα σχόλιο"
comments_title : "Σχόλια"
more_label : "Διάβαστε περισσότερα"
related_label : "Σχετικές αναρτήσεις"
follow_label : "Ακολουθήστε:"
feed_label : "RSS Feed"
powered_by : "Δημιουργήθηκε με"
website_label : "Ιστοσελίδα"
email_label : "Email"
recent_posts : "Τελευταίες αναρτήσεις"
undefined_wpm : "Δεν έχει οριστεί η παράμετρος words_per_minute στο αρχείο _config.yml"
comment_form_info : "Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα απαιτούμενα πεδία εμφανίζονται με αστερίσκο"
comment_form_comment_label : "Σχόλιο"
comment_form_md_info : "Το πεδίο υποστηρίζει Markdown."
comment_form_name_label : "Όνομα"
comment_form_email_label : "Διεύθυνση email"
comment_form_website_label : "Ιστοσελίδα (προαιρετικό)"
comment_btn_submit : "Υπόβαλε ένα σχόλιο"
comment_btn_submitted : "Έχει υποβληθεί"
comment_success_msg : "Ευχαριστούμε για το σχόλιό σας! Θα εμφανιστεί στην ιστοσελίδα αφού εγκριθεί."
comment_error_msg : "Λυπούμαστε, παρουσιάστηκε σφάλμα με την υποβολή σας. Παρακαλούμε βεβαιωθείτε ότι έχετε όλα τα απαιτούμενα πεδία συμπληρωμένα και δοκιμάστε ξανά."
loading_label : "Φόρτωση..."
search_placeholder_text : "Εισάγετε όρο αναζήτησης..."
results_found : "Αποτελέσματα"
gr-GR:
<<: *DEFAULT_GR
# Swedish
# -----------------
sv: &DEFAULT_SV
page : "Sidan"
pagination_previous : "Föregående"
pagination_next : "Nästa"
breadcrumb_home_label : "Hem"
breadcrumb_separator : "/"
menu_label : "Meny ridå"
toc_label : "På denna sida"
ext_link_label : "Direkt länk"
less_than : "mindre än"
minute_read : "minut läsning"
share_on_label : "Dela på"
meta_label :
tags_label : "Taggar:"
categories_label : "Kategorier:"
date_label : "Uppdaterades:"
comments_label : "Lämna en kommentar"
comments_title : "Kommentarer"
more_label : "Lär dig mer"
related_label : "Du kanske vill även läsa:"
follow_label : "Följ:"
feed_label : "Flöde"
powered_by : "Framställd med"
website_label : "Webbsida"
email_label : "E-post"
recent_posts : "Senaste inlägg"
undefined_wpm : "Odefinerade parametrar words_per_minute i _config.yml"
comment_form_info : "Din e-post adress kommer inte att publiceras. Obligatoriska fält är markerade."
comment_form_comment_label : "Kommentar"
comment_form_md_info : "Använd Markdown för text-formateringen."
comment_form_name_label : "Namn"
comment_form_email_label : "E-post adress"
comment_form_website_label : "Webdsida (valfritt)"
comment_btn_submit : "Skicka en kommentar"
comment_btn_submitted : "Kommentaren har tagits emot"
comment_success_msg : "Tack för din kommentar! Den kommer att visas på sidan så fort den har godkännts."
comment_error_msg : "Tyvärr det har blivit något fel i en av fälten, se till att du fyller i alla rutor och försök igen."
loading_label : "Laddar..."
sv-SE:
<<: *DEFAULT_SV
sv-FI:
<<: *DEFAULT_SV
# Dutch
# -----------------
nl: &DEFAULT_NL
page : "Pagina"
pagination_previous : "Vorige"
pagination_next : "Volgende"
breadcrumb_home_label : "Home"
breadcrumb_separator : "/"
menu_label : "Wissel Menu"
toc_label : "Op deze pagina"
ext_link_label : "Directe Link"
less_than : "minder dan"
minute_read : "minuut gelezen"
share_on_label : "Deel op"
meta_label :
tags_label : "Labels:"
categories_label : "Categorieën:"
date_label : "Bijgewerkt:"
comments_label : "Laat een reactie achter"
comments_title : "Commentaren"
more_label : "Meer informatie"
related_label : "Bekijk ook eens"
follow_label : "Volg:"
feed_label : "Feed"
powered_by : "Aangedreven door"
website_label : "Website"
email_label : "Email"
recent_posts : "Recente berichten"
undefined_wpm : "Niet gedefinieerde parameter words_per_minute bij _config.yml"
comment_form_info : "Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd"
comment_form_comment_label : "Commentaar"
comment_form_md_info : "Markdown wordt ondersteund."
comment_form_name_label : "Naam"
comment_form_email_label : "E-mailadres"
comment_form_website_label : "Website (optioneel)"
comment_btn_submit : "Commentaar toevoegen"
comment_btn_submitted : "Toegevoegd"
comment_success_msg : "Bedankt voor uw reactie! Het zal op de site worden weergegeven zodra het is goedgekeurd."
comment_error_msg : "Sorry, er is een fout opgetreden bij uw inzending. Zorg ervoor dat alle vereiste velden zijn voltooid en probeer het opnieuw."
loading_label : "Laden..."
nl-BE:
<<: *DEFAULT_NL
nl-NL:
<<: *DEFAULT_NL
# Indonesian
# -----------------
id: &DEFAULT_ID
page : "Halaman"
pagination_previous : "Kembali"
pagination_next : "Maju"
breadcrumb_home_label : "Home"
breadcrumb_separator : "/"
menu_label : "Menu Toggle"
toc_label : "Pada Halaman Ini"
ext_link_label : "Link langsung"
less_than : "Kurang dari"
minute_read : "Waktu baca"
share_on_label : "Berbagi di"
meta_label :
tags_label : "Golongan:"
categories_label : "Kategori:"
date_label : "Diupdate:"
comments_label : "Tinggalkan komentar"
comments_title : "Komentar"
more_label : "Pelajari lagi"
related_label : "Anda juga akan suka"
follow_label : "Ikuti:"
feed_label : "Feed"
powered_by : "Didukung oleh"
website_label : "Website"
email_label : "Email"
recent_posts : "Posting terbaru"
undefined_wpm : "Parameter terdeskripsi words_per_minute di _config.yml"
comment_form_info : "Email Anda tidak akan dipublish. Kolom yang diperlukan ditandai"
comment_form_comment_label : "Komentar"
comment_form_md_info : "Markdown disupport."
comment_form_name_label : "Nama"
comment_form_email_label : "Alamat email"
comment_form_website_label : "Website (opsional)"
comment_btn_submit : "Submit Komentar"
comment_btn_submitted : "Telah disubmit"
comment_success_msg : "Terimakasih atas komentar Anda! Komentar ini akan tampil setelah disetujui."
comment_error_msg : "Maaf, ada kesalahan pada submisi Anda. Pastikan seluruh kolom sudah dilengkapi dan coba kembali."
loading_label : "Sedang meload..."
id-ID:
<<: *DEFAULT_ID
# Vietnamese
# -----------------
vi: &DEFAULT_VI
page : "Trang"
pagination_previous : "Trước"
pagination_next : "Sau"
breadcrumb_home_label : "Trang chủ"
breadcrumb_separator : "/"
menu_label : "Menu"
toc_label : "Tại trang này"
ext_link_label : "Đường dẫn trực tiếp"
less_than : "nhỏ hơn"
minute_read : "phút đọc"
share_on_label : "Chia sẻ tại"
meta_label :
tags_label : "Nhãn:"
categories_label : "Chủ đề:"
date_label : "Cập nhật:"
comments_label : "Để lại bình luận"
comments_title : "Bình luận"
more_label : "Mở rộng"
related_label : "Có thể bạn cũng thích"
follow_label : "Theo dõi:"
feed_label : "Feed"
powered_by : "Được hỗ trợ bởi"
website_label : "Website"
email_label : "Email"
recent_posts : "Bài viết mới"
undefined_wpm : "Chưa định nghĩa thông số words_per_minute tại _config.yml"
comment_form_info : "Email của bạn sẽ được giữ bí mật. Các phần bắt buộc được đánh dấu."
comment_form_comment_label : "Bình luận"
comment_form_md_info : "Hỗ trợ Markdown."
comment_form_name_label : "Tên"
comment_form_email_label : "Địa chỉ email"
comment_form_website_label : "Website (không bắt buộc)"
comment_btn_submit : "Gửi bình luận"
comment_btn_submitted : "Đã được gửi"
comment_success_msg : "Cảm ơn bạn đã bình luận! Bình luận sẽ xuất hiện sau khi được duyệt."
comment_error_msg : "Rất tiếc, có lỗi trong việc gửi bình luận. Hãy đảm bảo toàn bộ các phần bắt buộc đã được điền đầy đủ và thử lại."
loading_label : "Đang tải..."
vi-VN:
<<: *DEFAULT_VI
# Danish
# ------
da: &DEFAULT_DA
page : "Side"
pagination_previous : "Forrige"
pagination_next : "Næste"
breadcrumb_home_label : "Home"
breadcrumb_separator : "/"
menu_label : "Vis/skjul menu"
toc_label : "På denne side"
ext_link_label : "Direkte link"
less_than : "mindre end"
minute_read : "minutters læsning"
share_on_label : "Del på"
meta_label :
tags_label : "Nøgleord:"
categories_label : "Kategorier:"
date_label : "Opdateret:"
comments_label : "Skriv en kommentar"
comments_title : "Kommentarer"
more_label : "Lær mere"
related_label : "Måske kan du også lide"
follow_label : "Følg:"
feed_label : "Feed"
powered_by : "Drives af"
website_label : "Website"
email_label : "E-mail"
recent_posts : "Seneste indlæg"
undefined_wpm : "Parameteren words_per_minute er ikke defineret i _config.yml"
comment_form_info : "Din e-mail bliver ikke offentliggjort. Obligatoriske felter er markeret"
comment_form_comment_label : "Kommentar"
comment_form_md_info : "Markdown er understøttet."
comment_form_name_label : "Navn"
comment_form_email_label : "E-mail"
comment_form_website_label : "Website (frivillig)"
comment_btn_submit : "Send kommentar"
comment_btn_submitted : "Sendt"
comment_success_msg : "Tak for din kommentar! Den bliver vist på siden, så snart den er godkendt."
comment_error_msg : "Desværre skete der en fejl. Prøv igen, mens du sørger for at alle obligatoriske felter er udfyldt."
loading_label : "Indlæser..."
search_placeholder_text : "Hvad leder du efter..."
results_found : "Resultat(er) fundet"
da-DK:
<<: *DEFAULT_DA
# Polish
# ------
pl: &DEFAULT_PL
page : "Strona"
pagination_previous : "Poprzednia"
pagination_next : "Następna"
breadcrumb_home_label : "Strona główna"
breadcrumb_separator : "/"
menu_label : "Przełącz menu"
toc_label : "Spis treści"
ext_link_label : "Link bezpośredni"
less_than : "mniej niż"
minute_read : "minut(y)"
share_on_label : "Udostępnij"
meta_label :
tags_label : "Tagi:"
categories_label : "Kategorie:"
date_label : "Ostatnia aktualizacja:"
comments_label : "Zostaw komentarz"
comments_title : "Komentarze"
more_label : "Dowiedz się więcej"
related_label : "Także może Ci się spodobać"
follow_label : "Śledź:"
feed_label : "Feed"
powered_by : "Powstało dzięki"
website_label : "Strona"
email_label : "Email"
recent_posts : "Najnowsze wpisy"
undefined_wpm : "Parametr words_per_minute nie został zdefiniowany w _config.yml."
comment_form_info : "Twój adres email nie będzie udostępiony. Wymagane pola są oznaczone."
comment_form_comment_label : "Skomentuj"
comment_form_md_info : "Markdown jest wspierany"
comment_form_name_label : "Imię"
comment_form_email_label : "Adres email"
comment_form_website_label : "Strona www (opcjonalna)"
comment_btn_submit : "Skomentuj"
comment_btn_submitted : "Komentarz dodany"
comment_success_msg : "Dziękuję za Twój komentarz! Zostanie dodany po akceptacji."
comment_error_msg : "Niestety wystąpił błąd. Proszę upewnij się, że wszystkie wymagane pola zostały wypełnione i spróbuj ponownie."
loading_label : "Trwa ładowanie strony..."
da-PL:
<<: *DEFAULT_PL
# Japanese
# -----------------
ja: &DEFAULT_JA
page : "ページ"
pagination_previous : "前へ"
pagination_next : "次へ"
breadcrumb_home_label : "ホーム"
breadcrumb_separator : "/"
menu_label : "メニュー"
toc_label : "目次"
ext_link_label : "リンク"
less_than :
minute_read :
share_on_label : "共有"
meta_label :
tags_label : "タグ:"
categories_label : "カテゴリー:"
date_label : "更新日時:"
comments_label : "コメントする"
comments_title : "コメント"
more_label : "さらに詳しく"
related_label : "関連記事"
follow_label : "フォロー"
feed_label :
powered_by :
website_label :
email_label :
recent_posts : "最近の投稿"
undefined_wpm : "パラメータ words_per_minute が _config.yml で定義されていません"
comment_form_info : "メールアドレスが公開されることはありません。次の印のある項目は必ず入力してください:"
comment_form_comment_label : "コメント"
comment_form_md_info : "Markdown を使用できます"
comment_form_name_label : "名前"
comment_form_email_label : "メールアドレス"
comment_form_website_label : "URL (任意)"
comment_btn_submit : "コメントを送信する"
comment_btn_submitted : "送信しました"
comment_success_msg : "コメントありがとうございます! コメントは承認されるとページに表示されます。"
comment_error_msg : "送信エラーです。必須項目がすべて入力されていることを確認して再送信してください。"
loading_label : "読み込み中..."
search_placeholder_text : "検索キーワードを入力してください..."
results_found : "件"
ja-JP:
<<: *DEFAULT_JA
# Another locale
# --------------
#
+16
View File
@@ -0,0 +1,16 @@
<img src="{{ site.url }}/images/{{ site.owner.avatar }}" class="bio-photo" alt="{{ site.owner.name }} bio photo"></a>
<h3>{{ site.owner.name }}</h3>
<p>{{ site.owner.bio }}</p>
{% if site.owner.twitter %}<a href="http://twitter.com/{{ site.owner.twitter }}" class="author-social" target="_blank"><i class="icon-twitter"></i> Twitter</a>{% endif %}
{% if site.owner.facebook %}<a href="http://facebook.com/{{ site.owner.facebook }}" class="author-social" target="_blank"><i class="icon-facebook"></i> Facebook</a>{% endif %}
{% if site.owner.google_plus %}<a href="{{ site.owner.google_plus }}" class="author-social" target="_blank"><i class="icon-google-plus"></i> Google+</a>{% endif %}
{% if site.owner.linkedin %}<a href="http://linkedin.com/in/{{ site.owner.linkedin }}" class="author-social" target="_blank"><i class="icon-linkedin"></i> LinkedIn</a>{% endif %}
{% if site.owner.instagram %}<a href="http://instagram.com/{{ site.owner.instagram }}" class="author-social" target="_blank"><i class="icon-instagram"></i> Instagram</a>{% endif %}
{% if site.owner.tumblr %}<a href="http://{{ site.owner.tumblr }}.tumblr.com" class="author-social" target="_blank"><i class="icon-tumblr"></i> Tumblr</a>{% endif %}
{% if site.owner.github %}<a href="http://github.com/{{ site.owner.github }}" class="author-social" target="_blank"><i class="icon-github"></i> Github</a>{% endif %}
{% if site.owner.stackoverflow %}<a href="http://stackoverflow.com/users/{{ site.owner.stackoverflow }}" class="author-social" target="_blank"><i class="icon-stackoverflow"></i> Stackoverflow</a>{% endif %}
{% if site.owner.lastfm %}<a href="http://lastfm.com/user/{{ site.owner.lastfm }}" class="author-social" target="_blank"><i class="icon-lastfm"></i> Last.fm</a>{% endif %}
{% if site.owner.dribbble %}<a href="http://dribbble.com/{{ site.owner.dribbble }}" class="author-social" target="_blank"><i class="icon-dribbble"></i> Dribbble</a>{% endif %}
{% if site.owner.pinterest %}<a href="http://www.pinterest.com/{{ site.owner.pinterest }}" class="author-social" target="_blank"><i class="icon-pinterest"></i> Pinterest</a>{% endif %}
{% if site.owner.foursquare %}<a href="http://foursquare.com/{{ site.owner.foursquare }}" class="author-social" target="_blank"><i class="icon-foursquare"></i> Foursquare</a>{% endif %}
{% if site.owner.steam %}<a href="http://steamcommunity.com/id/{{ site.owner.steam }}" class="author-social" target="_blank"><i class="icon-steam"></i> Steam</a>{% endif %}
+1
View File
@@ -0,0 +1 @@
<!--[if lt IE 9]><div class="browser-upgrade alert alert-info">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div><![endif]-->
+13
View File
@@ -0,0 +1,13 @@
<div class="google-ads">
<script async src="http://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Made Mistakes 320x50 -->
<ins class="adsbygoogle"
style="display:inline-block;width:320px;height:50px"
data-ad-client="ca-pub-7328585512091257"
data-ad-slot="7855747535"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div><!-- /.google-ads -->
<span>&copy; {{ site.time | date: '%Y' }} {{ site.owner.name }}. Powered by <a href="http://jekyllrb.com">Jekyll</a> using the <a href="http://mademistakes.com/minimal-mistakes/">Minimal Mistakes</a> theme.</span>
+64
View File
@@ -0,0 +1,64 @@
<meta charset="utf-8">
<title>{% if page.title %}{{ page.title }} &#8211; {% endif %}{{ site.title }}</title>
<meta name="description" content="{{ page.description }}">
<meta name="keywords" content="{{ page.tags | join: ', ' }}">
{% if site.owner.twitter %}<!-- Twitter Cards -->
{% if page.image.feature %}<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="{{ site.url }}/images/{{ page.image.feature }}">
{% else %}<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="{% if page.image.thumb %}{{ site.url }}/images/{{ page.image.thumb }}{% else %}{{ site.url }}/images/{{ site.logo }}{% endif %}">{% endif %}
<meta name="twitter:title" content="{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}">
<meta name="twitter:description" content="{% if page.description %}{{ page.description }}{% else %}{{ site.description }}{% endif %}">
<meta name="twitter:creator" content="@{{ site.owner.twitter }}">{% endif %}
<!-- Open Graph -->
<meta property="og:locale" content="en_US">
<meta property="og:type" content="article">
<meta property="og:title" content="{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}">
<meta property="og:description" content="{% if page.description %}{{ page.description }}{% else %}{{ site.description }}{% endif %}">
<meta property="og:url" content="{{ site.url }}{{ page.url }}">
<meta property="og:site_name" content="{{ site.title }}">
<!-- Webmaster Tools verfication -->
<meta name="google-site-verification" content="{{ site.google_verify }}">
<meta name="msvalidate.01" content="{{ site.bing_verify }}">
{% capture canonical %}{{ site.url }}{% if site.permalink contains '.html' %}{{ page.url }}{% else %}{{ page.url | remove:'index.html' | strip_slash }}{% endif %}{% endcapture %}
<link rel="canonical" href="{{ canonical }}">
<link href="{{ site.url }}/feed.xml" type="application/atom+xml" rel="alternate" title="{{ site.title }} Feed">
<link rel="author" href="{{ site.owner.google_plus }}?rel=author">
<!-- http://t.co/dKP3o1e -->
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Google Webfonts -->
<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow:400,700|PT+Serif:400,700,400italic' rel='stylesheet' type='text/css'>
<!-- For all browsers -->
<link rel="stylesheet" href="{{ site.url }}/assets/css/main.min.css">
<meta http-equiv="cleartype" content="on">
<!-- HTML5 Shiv and Media Query Support -->
<!--[if lt IE 9]>
<script src="{{ site.url }}/assets/js/vendor/html5shiv.min.js"></script>
<script src="{{ site.url }}/assets/js/vendor/respond.min.js"></script>
<![endif]-->
<!-- Modernizr -->
<script src="{{ site.url }}/assets/js/vendor/modernizr-2.7.1.custom.min.js"></script>
<!-- Icons -->
<!-- 16x16 -->
<link rel="shortcut icon" href="{{ site.url }}/favicon.ico">
<!-- 32x32 -->
<link rel="shortcut icon" href="{{ site.url }}/favicon.png">
<!-- 57x57 (precomposed) for iPhone 3GS, pre-2011 iPod Touch and older Android devices -->
<link rel="apple-touch-icon-precomposed" href="{{ site.url }}/images/apple-touch-icon-precomposed.png">
<!-- 72x72 (precomposed) for 1st generation iPad, iPad 2 and iPad mini -->
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="{{ site.url }}/images/apple-touch-icon-72x72-precomposed.png">
<!-- 114x114 (precomposed) for iPhone 4, 4S, 5 and post-2011 iPod Touch -->
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="{{ site.url }}/images/apple-touch-icon-114x114-precomposed.png">
<!-- 144x144 (precomposed) for iPad 3rd and 4th generation -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="{{ site.url }}/images/apple-touch-icon-144x144-precomposed.png">
+14
View File
@@ -0,0 +1,14 @@
<div class="navigation-wrapper">
<div class="site-name">
<a href="{{ site.url }}">{{ site.title }}</a>
</div><!-- /.site-name -->
<div class="top-navigation">
<nav role="navigation" id="site-nav" class="nav">
<ul>
{% for link in site.links %}
<li><a href="{% if link.external %}{{ link.url }}{% else %}{{ site.url }}{{ link.url }}{% endif %}" {% if link.external %}target="_blank"{% endif %}>{{ link.title }}</a></li>
{% endfor %}
</ul>
</nav>
</div><!-- /.top-navigation -->
</div><!-- /.navigation-wrapper -->
+20
View File
@@ -0,0 +1,20 @@
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="{{ site.url }}/assets/js/vendor/jquery-1.9.1.min.js"><\/script>')</script>
<script src="{{ site.url }}/assets/js/scripts.min.js"></script>
{% if site.google_analytics %}
<!-- Asynchronous Google Analytics snippet -->
<script>
var _gaq = _gaq || [];
var pluginUrl =
'//www.google-analytics.com/plugins/ga/inpage_linkid.js';
_gaq.push(['_require', 'inpage_linkid', pluginUrl]);
_gaq.push(['_setAccount', '{{ site.google_analytics }}']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
{% endif %}
@@ -1,3 +0,0 @@
<!-- start custom analytics snippet -->
<!-- end custom analytics snippet -->
@@ -1,9 +0,0 @@
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', '{{ site.analytics.google.tracking_id }}', 'auto');
ga('send', 'pageview');
</script>
-11
View File
@@ -1,11 +0,0 @@
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '{{ site.analytics.google.tracking_id }}']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
-12
View File
@@ -1,12 +0,0 @@
{% if jekyll.environment == 'production' and site.analytics.provider and page.analytics != false %}
{% case site.analytics.provider %}
{% when "google" %}
{% include /analytics-providers/google.html %}
{% when "google-universal" %}
{% include /analytics-providers/google-universal.html %}
{% when "custom" %}
{% include /analytics-providers/custom.html %}
{% endcase %}
{% endif %}
-38
View File
@@ -1,38 +0,0 @@
{% if post.header.teaser %}
{% capture teaser %}{{ post.header.teaser }}{% endcapture %}
{% else %}
{% assign teaser = site.teaser %}
{% endif %}
{% if post.id %}
{% assign title = post.title | markdownify | remove: "<p>" | remove: "</p>" %}
{% else %}
{% assign title = post.title %}
{% endif %}
<div class="{{ include.type | default: "list" }}__item">
<article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
{% if include.type == "grid" and teaser %}
<div class="archive__item-teaser">
<img src=
{% if teaser contains "://" %}
"{{ teaser }}"
{% else %}
"{{ teaser | absolute_url }}"
{% endif %}
alt="">
</div>
{% endif %}
<h2 class="archive__item-title" itemprop="headline">
{% if post.link %}
<a href="{{ post.link }}">{{ title }}</a> <a href="{{ post.url | absolute_url }}" rel="permalink"><i class="fas fa-link" aria-hidden="true" title="permalink"></i><span class="sr-only">Permalink</span></a>
{% else %}
<a href="{{ post.url | absolute_url }}" rel="permalink">{{ title }}</a>
{% endif %}
</h2>
{% if post.read_time %}
<p class="page__meta"><i class="far fa-clock" aria-hidden="true"></i> {% include read-time.html %}</p>
{% endif %}
{% if post.excerpt %}<p class="archive__item-excerpt" itemprop="description">{{ post.excerpt | markdownify | strip_html | truncate: 160 }}</p>{% endif %}
</article>
</div>
@@ -1,7 +0,0 @@
<!--
<li>
<a href="http://link-to-whatever-social-network.com/user/" itemprop="sameAs">
<i class="fas fa-fw" aria-hidden="true"></i> Custom Social Profile Link
</a>
</li>
-->
-263
View File
@@ -1,263 +0,0 @@
{% assign author = page.author | default: page.authors[0] | default: site.author %}
{% assign author = site.data.authors[author] | default: author %}
<div itemscope itemtype="http://schema.org/Person">
{% if author.avatar %}
<div class="author__avatar">
{% if author.avatar contains "://" %}
{% assign author_src = author.avatar %}
{% else %}
{% assign author_src = author.avatar | absolute_url %}
{% endif %}
{% if author.home %}
{% if author.home contains "://" %}
{% assign author_link = author.home %}
{% else %}
{% assign author_link = author.home | absolute_url %}
{% endif %}
<a href="{{ author_link }}">
<img src="{{ author_src }}" alt="{{ author.name }}" itemprop="image">
</a>
{% else %}
<img src="{{ author_src }}" alt="{{ author.name }}" itemprop="image">
{% endif %}
</div>
{% endif %}
<div class="author__content">
{% if author.home %}
<a href="{{ author_link }}"><h3 class="author__name" itemprop="name">{{ author.name }}</h3></a>
{% else %}
<h3 class="author__name" itemprop="name">{{ author.name }}</h3>
{% endif %}
{% if author.bio %}
<p class="author__bio" itemprop="description">
{{ author.bio }}
</p>
{% endif %}
</div>
<div class="author__urls-wrapper">
<button class="btn btn--inverse">{{ site.data.ui-text[site.locale].follow_label | remove: ":" | default: "Follow" }}</button>
<ul class="author__urls social-icons">
{% if author.location %}
<li itemprop="homeLocation" itemscope itemtype="http://schema.org/Place">
<i class="fas fa-fw fa-map-marker-alt" aria-hidden="true"></i> <span itemprop="name">{{ author.location }}</span>
</li>
{% endif %}
{% if author.uri %}
<li>
<a href="{{ author.uri }}" itemprop="url">
<i class="fas fa-fw fa-link" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].website_label | default: "Website" }}
</a>
</li>
{% endif %}
{% if author.email %}
<li>
<a href="mailto:{{ author.email }}">
<meta itemprop="email" content="{{ author.email }}" />
<i class="fas fa-fw fa-envelope-square" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].email_label | default: "Email" }}
</a>
</li>
{% endif %}
{% if author.keybase %}
<li>
<a href="https://keybase.io/{{ author.keybase }}" itemprop="sameAs">
<i class="fas fa-fw fa-key" aria-hidden="true"></i> Keybase
</a>
</li>
{% endif %}
{% if author.twitter %}
<li>
<a href="https://twitter.com/{{ author.twitter }}" itemprop="sameAs">
<i class="fab fa-fw fa-twitter-square" aria-hidden="true"></i> Twitter
</a>
</li>
{% endif %}
{% if author.facebook %}
<li>
<a href="https://www.facebook.com/{{ author.facebook }}" itemprop="sameAs">
<i class="fab fa-fw fa-facebook-square" aria-hidden="true"></i> Facebook
</a>
</li>
{% endif %}
{% if author.google_plus %}
<li>
<a href="https://plus.google.com/{{ author.google_plus }}" itemprop="sameAs">
<i class="fab fa-fw fa-google-plus-square" aria-hidden="true"></i> Google+
</a>
</li>
{% endif %}
{% if author.linkedin %}
<li>
<a href="https://www.linkedin.com/in/{{ author.linkedin }}" itemprop="sameAs">
<i class="fab fa-fw fa-linkedin" aria-hidden="true"></i> LinkedIn
</a>
</li>
{% endif %}
{% if author.xing %}
<li>
<a href="https://www.xing.com/profile/{{ author.xing }}" itemprop="sameAs">
<i class="fab fa-fw fa-xing-square" aria-hidden="true"></i> XING
</a>
</li>
{% endif %}
{% if author.instagram %}
<li>
<a href="https://instagram.com/{{ author.instagram }}" itemprop="sameAs">
<i class="fab fa-fw fa-instagram" aria-hidden="true"></i> Instagram
</a>
</li>
{% endif %}
{% if author.tumblr %}
<li>
<a href="https://{{ author.tumblr }}.tumblr.com" itemprop="sameAs">
<i class="fab fa-fw fa-tumblr-square" aria-hidden="true"></i> Tumblr
</a>
</li>
{% endif %}
{% if author.bitbucket %}
<li>
<a href="https://bitbucket.org/{{ author.bitbucket }}" itemprop="sameAs">
<i class="fab fa-fw fa-bitbucket" aria-hidden="true"></i> Bitbucket
</a>
</li>
{% endif %}
{% if author.github %}
<li>
<a href="https://github.com/{{ author.github }}" itemprop="sameAs">
<i class="fab fa-fw fa-github" aria-hidden="true"></i> GitHub
</a>
</li>
{% endif %}
{% if author.gitlab %}
<li>
<a href="https://gitlab.com/{{ author.gitlab }}" itemprop="sameAs">
<i class="fab fa-fw fa-gitlab" aria-hidden="true"></i> GitLab
</a>
</li>
{% endif %}
{% if author.stackoverflow %}
<li>
<a href="https://www.stackoverflow.com/users/{{ author.stackoverflow }}" itemprop="sameAs">
<i class="fab fa-fw fa-stack-overflow" aria-hidden="true"></i> Stack Overflow
</a>
</li>
{% endif %}
{% if author.lastfm %}
<li>
<a href="https://last.fm/user/{{ author.lastfm }}" itemprop="sameAs">
<i class="fab fa-fw fa-lastfm-square" aria-hidden="true"></i> Last.fm
</a>
</li>
{% endif %}
{% if author.dribbble %}
<li>
<a href="https://dribbble.com/{{ author.dribbble }}" itemprop="sameAs">
<i class="fab fa-fw fa-dribbble" aria-hidden="true"></i> Dribbble
</a>
</li>
{% endif %}
{% if author.pinterest %}
<li>
<a href="https://www.pinterest.com/{{ author.pinterest }}" itemprop="sameAs">
<i class="fab fa-fw fa-pinterest" aria-hidden="true"></i> Pinterest
</a>
</li>
{% endif %}
{% if author.foursquare %}
<li>
<a href="https://foursquare.com/{{ author.foursquare }}" itemprop="sameAs">
<i class="fab fa-fw fa-foursquare" aria-hidden="true"></i> Foursquare
</a>
</li>
{% endif %}
{% if author.steam %}
<li>
<a href="https://steamcommunity.com/id/{{ author.steam }}" itemprop="sameAs">
<i class="fab fa-fw fa-steam" aria-hidden="true"></i> Steam
</a>
</li>
{% endif %}
{% if author.youtube %}
{% if author.youtube contains "://" %}
<li>
<a href="{{ author.youtube }}" itemprop="sameAs">
<i class="fab fa-fw fa-youtube" aria-hidden="true"></i> YouTube
</a>
</li>
{% else author.youtube %}
<li>
<a href="https://www.youtube.com/user/{{ author.youtube }}" itemprop="sameAs">
<i class="fab fa-fw fa-youtube" aria-hidden="true"></i> YouTube
</a>
</li>
{% endif %}
{% endif %}
{% if author.soundcloud %}
<li>
<a href="https://soundcloud.com/{{ author.soundcloud }}" itemprop="sameAs">
<i class="fab fa-fw fa-soundcloud" aria-hidden="true"></i> SoundCloud
</a>
</li>
{% endif %}
{% if author.weibo %}
<li>
<a href="https://www.weibo.com/{{ author.weibo }}" itemprop="sameAs">
<i class="fab fa-fw fa-weibo" aria-hidden="true"></i> Weibo
</a>
</li>
{% endif %}
{% if author.flickr %}
<li>
<a href="https://www.flickr.com/{{ author.flickr }}" itemprop="sameAs">
<i class="fab fa-fw fa-flickr" aria-hidden="true"></i> Flickr
</a>
</li>
{% endif %}
{% if author.codepen %}
<li>
<a href="https://codepen.io/{{ author.codepen }}" itemprop="sameAs">
<i class="fab fa-fw fa-codepen" aria-hidden="true"></i> CodePen
</a>
</li>
{% endif %}
{% if author.vine %}
<li>
<a href="https://vine.co/u/{{ author.vine }}" itemprop="sameAs">
<i class="fab fa-fw fa-vine" aria-hidden="true"></i> Vine
</a>
</li>
{% endif %}
{% include author-profile-custom-links.html %}
</ul>
</div>
</div>
-5
View File
@@ -1,5 +0,0 @@
{% if site.url %}
{% assign base_path = site.url | append: site.baseurl %}
{% else %}
{% assign base_path = site.github.url %}
{% endif %}
-39
View File
@@ -1,39 +0,0 @@
{% case site.category_archive.type %}
{% when "liquid" %}
{% assign path_type = "#" %}
{% when "jekyll-archives" %}
{% assign path_type = nil %}
{% endcase %}
{% if page.collection != 'posts' %}
{% assign path_type = nil %}
{% assign crumb_path = '/' %}
{% else %}
{% assign crumb_path = site.category_archive.path %}
{% endif %}
<nav class="breadcrumbs">
<ol itemscope itemtype="http://schema.org/BreadcrumbList">
{% assign crumbs = page.url | split: '/' %}
{% assign i = 1 %}
{% for crumb in crumbs offset: 1 %}
{% if forloop.first %}
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<a href="{{ site.url }}{{ site.baseurl }}/" itemprop="item"><span itemprop="name">{{ site.data.ui-text[site.locale].breadcrumb_home_label | default: "Home" }}</span></a>
<meta itemprop="position" content="{{ i }}" />
</li>
<span class="sep">{{ site.data.ui-text[site.locale].breadcrumb_separator | default: "/" }}</span>
{% endif %}
{% if forloop.last %}
<li class="current">{{ page.title }}</li>
{% else %}
{% assign i = i | plus: 1 %}
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<a href="{{ crumb | downcase | replace: '%20', '-' | prepend: path_type | prepend: crumb_path | absolute_url }}" itemprop="item"><span itemprop="name">{{ crumb | replace: '-', ' ' | replace: '%20', ' ' | capitalize }}</span></a>
<meta itemprop="position" content="{{ i }}" />
</li>
<span class="sep">{{ site.data.ui-text[site.locale].breadcrumb_separator | default: "/" }}</span>
{% endif %}
{% endfor %}
</ol>
</nav>
-3
View File
@@ -1,3 +0,0 @@
<!--[if lt IE 9]>
<div class="notice--danger align-center" style="margin: 0;">You are using an <strong>outdated</strong> browser. Please <a href="https://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
<![endif]-->
-26
View File
@@ -1,26 +0,0 @@
{% case site.category_archive.type %}
{% when "liquid" %}
{% assign path_type = "#" %}
{% when "jekyll-archives" %}
{% assign path_type = nil %}
{% endcase %}
{% if site.category_archive.path %}
{% comment %}
<!-- Sort alphabetically regardless of case e.g. a B c d E -->
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
{% endcomment %}
{% capture page_categories %}{% for category in page.categories %}{{ category | downcase }}#{{ category }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
{% assign category_hashes = page_categories | split: ',' | sort %}
<p class="page__taxonomy">
<strong><i class="fas fa-fw fa-folder-open" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].categories_label | default: "Categories:" }} </strong>
<span itemprop="keywords">
{% for hash in category_hashes %}
{% assign keyValue = hash | split: '#' %}
{% capture category_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
<a href="{{ category_word | slugify | prepend: path_type | prepend: site.category_archive.path | absolute_url }}" class="page__taxonomy-item" rel="tag">{{ category_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
{% endfor %}
</span>
</p>
{% endif %}
-22
View File
@@ -1,22 +0,0 @@
<article id="comment{{ include.index }}" class="js-comment comment" itemprop="comment" itemscope itemtype="http://schema.org/Comment">
<div class="comment__avatar-wrapper">
<img class="comment__avatar" src="https://www.gravatar.com/avatar/{{ include.email }}?d=mm&s=80" alt="{{ include.name }}">
</div>
<div class="comment__content-wrapper">
<h3 class="comment__author" itemprop="author" itemscope itemtype="http://schema.org/Person">
{% unless include.url == blank %}
<span itemprop="name"><a rel="external nofollow" itemprop="url" href="{{ include.url }}">{{ include.name }}</a></span>
{% else %}
<span itemprop="name">{{ include.name }}</span>
{% endunless %}
</h3>
<p class="comment__date">
{% if include.date %}
{% if include.index %}<a href="#comment{{ include.index }}" itemprop="url">{% endif %}
<time datetime="{{ include.date | date_to_xmlschema }}" itemprop="datePublished">{{ include.date | date: "%B %d, %Y at %I:%M %p" }}</time>
{% if include.index %}</a>{% endif %}
{% endif %}
</p>
<div itemprop="text">{{ include.message | markdownify }}</div>
</div>
</article>
-3
View File
@@ -1,3 +0,0 @@
<!-- start custom comments snippet -->
<!-- end custom comments snippet -->
@@ -1,13 +0,0 @@
{% if site.comments.discourse.server %}
{% capture canonical %}{% if site.permalink contains '.html' %}{{ page.url | absolute_url }}{% else %}{{ page.url | absolute_url | remove:'index.html' | strip_slash }}{% endif %}{% endcapture %}
<script type="text/javascript">
DiscourseEmbed = { discourseUrl: '//{{ site.comments.discourse.server }}/',
discourseEmbedUrl: '{{ canonical }}' };
(function () {
var d = document.createElement('script'); d.type = 'text/javascript'; d.async = true;
d.src = DiscourseEmbed.discourseUrl + 'javascripts/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(d);
})();
</script>
<noscript>Please enable JavaScript to view the comments powered by <a href="https://www.discourse.org/">Discourse.</a></noscript>
{% endif %}
-15
View File
@@ -1,15 +0,0 @@
{% if site.comments.disqus.shortname %}
<script>
var disqus_config = function () {
this.page.url = "{{ page.url | absolute_url }}"; // Replace PAGE_URL with your page's canonical URL variable
this.page.identifier = "{{ page.id }}"; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
};
(function() { // DON'T EDIT BELOW THIS LINE
var d = document, s = d.createElement('script');
s.src = 'https://{{ site.comments.disqus.shortname }}.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
{% endif %}
@@ -1,8 +0,0 @@
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5{% if site.comments.facebook.appid %}&appId={{ site.comments.facebook.appid }}{% endif %}";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
@@ -1,2 +0,0 @@
<script async type="text/javascript" src="//apis.google.com/js/plusone.js?callback=gpcb"></script>
<noscript>Please enable JavaScript to view the <a href="https://plus.google.com/">comments powered by Google+.</a></noscript>
-18
View File
@@ -1,18 +0,0 @@
{% if site.comments.provider and page.comments %}
{% case site.comments.provider %}
{% when "disqus" %}
{% include /comments-providers/disqus.html %}
{% when "discourse" %}
{% include /comments-providers/discourse.html %}
{% when "facebook" %}
{% include /comments-providers/facebook.html %}
{% when "google-plus" %}
{% include /comments-providers/google-plus.html %}
{% when "staticman" %}
{% include /comments-providers/staticman.html %}
{% when "staticman_v2" %}
{% include /comments-providers/staticman_v2.html %}
{% when "custom" %}
{% include /comments-providers/custom.html %}
{% endcase %}
{% endif %}
@@ -1,42 +0,0 @@
{% if site.repository and site.staticman.branch %}
<script>
(function ($) {
var $comments = $('.js-comments');
$('#new_comment').submit(function () {
var form = this;
$(form).addClass('disabled');
$('#comment-form-submit').html('<i class="fas fa-spinner fa-spin fa-fw"></i> {{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }}');
$.ajax({
type: $(this).attr('method'),
url: $(this).attr('action'),
data: $(this).serialize(),
contentType: 'application/x-www-form-urlencoded',
success: function (data) {
$('#comment-form-submit').html('{{ site.data.ui-text[site.locale].comment_btn_submitted | default: "Submitted" }}');
$('.page__comments-form .js-notice').removeClass('notice--danger');
$('.page__comments-form .js-notice').addClass('notice--success');
showAlert('{{ site.data.ui-text[site.locale].comment_success_msg | default: "Thanks for your comment! It will show on the site once it has been approved." }}');
},
error: function (err) {
console.log(err);
$('#comment-form-submit').html('{{ site.data.ui-text[site.locale].comment_btn_submit | default: "Submit Comment" }}');
$('.page__comments-form .js-notice').removeClass('notice--success');
$('.page__comments-form .js-notice').addClass('notice--danger');
showAlert('{{ site.data.ui-text[site.locale].comment_error_msg | default: "Sorry, there was an error with your submission. Please make sure all required fields have been completed and try again." }}');
$(form).removeClass('disabled');
}
});
return false;
});
function showAlert(message) {
$('.page__comments-form .js-notice').removeClass('hidden');
$('.page__comments-form .js-notice-text').html(message);
}
})(jQuery);
</script>
{% endif %}
@@ -1,42 +0,0 @@
{% if site.repository and site.staticman.branch %}
<script>
(function ($) {
var $comments = $('.js-comments');
$('#new_comment').submit(function () {
var form = this;
$(form).addClass('disabled');
$('#comment-form-submit').html('<i class="fas fa-spinner fa-spin fa-fw"></i> {{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }}');
$.ajax({
type: $(this).attr('method'),
url: $(this).attr('action'),
data: $(this).serialize(),
contentType: 'application/x-www-form-urlencoded',
success: function (data) {
$('#comment-form-submit').html('{{ site.data.ui-text[site.locale].comment_btn_submitted | default: "Submitted" }}');
$('.page__comments-form .js-notice').removeClass('notice--danger');
$('.page__comments-form .js-notice').addClass('notice--success');
showAlert('{{ site.data.ui-text[site.locale].comment_success_msg | default: "Thanks for your comment! It will show on the site once it has been approved." }}');
},
error: function (err) {
console.log(err);
$('#comment-form-submit').html('{{ site.data.ui-text[site.locale].comment_btn_submit | default: "Submit Comment" }}');
$('.page__comments-form .js-notice').removeClass('notice--success');
$('.page__comments-form .js-notice').addClass('notice--danger');
showAlert('{{ site.data.ui-text[site.locale].comment_error_msg | default: "Sorry, there was an error with your submission. Please make sure all required fields have been completed and try again." }}');
$(form).removeClass('disabled');
}
});
return false;
});
function showAlert(message) {
$('.page__comments-form .js-notice').removeClass('hidden');
$('.page__comments-form .js-notice-text').html(message);
}
})(jQuery);
</script>
{% endif %}
-169
View File
@@ -1,169 +0,0 @@
<div class="page__comments">
{% capture comments_label %}{{ site.data.ui-text[site.locale].comments_label | default: "Comments" }}{% endcapture %}
{% case site.comments.provider %}
{% when "discourse" %}
<h4 class="page__comments-title">{{ comments_label }}</h4>
<section id="discourse-comments"></section>
{% when "disqus" %}
<h4 class="page__comments-title">{{ comments_label }}</h4>
<section id="disqus_thread"></section>
{% when "facebook" %}
<h4 class="page__comments-title">{{ comments_label }}</h4>
<section class="fb-comments" data-href="{{ page.url | absolute_url }}" data-mobile="true" data-num-posts="{{ site.comments.facebook.num_posts | default: 5 }}" data-width="100%" data-colorscheme="{{ site.comments.facebook.colorscheme | default: 'light' }}"></section>
{% when "google-plus" %}
<h4 class="page__comments-title">{{ comments_label }}</h4>
<section id="g-comments" class="g-comments">Loading Google+ Comments ...</section>
<script>
function initComment() {
gapi.comments.render("g-comments", {
href: "{{ page.url | absolute_url }}",
width: "624",
first_party_property: "BLOGGER",
view_type: "FILTERED_POSTMOD"
})
}
</script>
<script async type="text/javascript" src="https://apis.google.com/js/plusone.js" onload="initComment()" />
<noscript>Please enable JavaScript to view the <a href="https://plus.google.com/">comments powered by Google+.</a></noscript>-->
{% when "staticman_v2" %}
<section id="static-comments">
{% if site.repository and site.staticman.branch %}
<!-- Start static comments -->
<div class="js-comments">
{% if site.data.comments[page.slug] %}
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}</h4>
{% assign comments = site.data.comments[page.slug] | sort %}
{% for comment in comments %}
{% assign email = comment[1].email %}
{% assign name = comment[1].name %}
{% assign url = comment[1].url %}
{% assign date = comment[1].date %}
{% assign message = comment[1].message %}
{% include comment.html index=forloop.index email=email name=name url=url date=date message=message %}
{% endfor %}
{% endif %}
</div>
<!-- End static comments -->
<!-- Start new comment form -->
<div class="page__comments-form">
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_label | default: "Leave a Comment" }}</h4>
<p class="small">{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} <span class="required">*</span></p>
<form id="new_comment" class="page__comments-form js-form form" method="post" action="https://api.staticman.net/v2/entry/{{ site.repository }}/{{ site.staticman.branch }}/comments">
<div class="form__spinner">
<i class="fas fa-spinner fa-spin fa-3x fa-fw"></i>
<span class="sr-only">{{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }}</span>
</div>
<div class="form-group">
<label for="comment-form-message">{{ site.data.ui-text[site.locale].comment_form_comment_label | default: "Comment" }} <small class="required">*</small></label>
<textarea type="text" rows="3" id="comment-form-message" name="fields[message]" tabindex="1"></textarea>
<div class="small help-block"><a href="https://daringfireball.net/projects/markdown/">{{ site.data.ui-text[site.locale].comment_form_md_info | default: "Markdown is supported." }}</a></div>
</div>
<div class="form-group">
<label for="comment-form-name">{{ site.data.ui-text[site.locale].comment_form_name_label | default: "Name" }} <small class="required">*</small></label>
<input type="text" id="comment-form-name" name="fields[name]" tabindex="2" />
</div>
<div class="form-group">
<label for="comment-form-email">{{ site.data.ui-text[site.locale].comment_form_email_label | default: "Email address" }} <small class="required">*</small></label>
<input type="email" id="comment-form-email" name="fields[email]" tabindex="3" />
</div>
<div class="form-group">
<label for="comment-form-url">{{ site.data.ui-text[site.locale].comment_form_website_label | default: "Website (optional)" }}</label>
<input type="url" id="comment-form-url" name="fields[url]" tabindex="4"/>
</div>
<div class="form-group hidden" style="display: none;">
<input type="hidden" name="options[slug]" value="{{ page.slug }}">
<label for="comment-form-location">Not used. Leave blank if you are a human.</label>
<input type="text" id="comment-form-location" name="fields[hidden]" autocomplete="off"/>
<input type="hidden" name="options[reCaptcha][siteKey]" value="{{ site.reCaptcha.siteKey }}">
<input type="hidden" name="options[reCaptcha][secret]" value="{{ site.reCaptcha.secret }}">
</div>
<!-- Start comment form alert messaging -->
<p class="hidden js-notice">
<strong class="js-notice-text"></strong>
</p>
<!-- End comment form alert messaging -->
<div class="form-group">
<div class="g-recaptcha" data-sitekey="{{ site.reCaptcha.siteKey }}"></div>
</div>
<div class="form-group">
<button type="submit" id="comment-form-submit" tabindex="5" class="btn btn--primary btn--large">{{ site.data.ui-text[site.locale].comment_btn_submit | default: "Submit Comment" }}</button>
</div>
</form>
</div>
<!-- End new comment form -->
{% if site.reCaptcha.siteKey %}<script async src="https://www.google.com/recaptcha/api.js"></script>{% endif %}
{% endif %}
</section>
{% when "staticman" %}
<section id="static-comments">
{% if site.repository and site.staticman.branch %}
<!-- Start static comments -->
<div class="js-comments">
{% if site.data.comments[page.slug] %}
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}</h4>
{% assign comments = site.data.comments[page.slug] | sort %}
{% for comment in comments %}
{% assign email = comment[1].email %}
{% assign name = comment[1].name %}
{% assign url = comment[1].url %}
{% assign date = comment[1].date %}
{% assign message = comment[1].message %}
{% include comment.html index=forloop.index email=email name=name url=url date=date message=message %}
{% endfor %}
{% endif %}
</div>
<!-- End static comments -->
<!-- Start new comment form -->
<div class="page__comments-form">
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_label | default: "Leave a Comment" }}</h4>
<p class="small">{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} <span class="required">*</span></p>
<form id="new_comment" class="page__comments-form js-form form" method="post" action="https://api.staticman.net/v1/entry/{{ site.repository }}/{{ site.staticman.branch }}">
<div class="form__spinner">
<i class="fas fa-spinner fa-spin fa-3x fa-fw"></i>
<span class="sr-only">{{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }}</span>
</div>
<div class="form-group">
<label for="comment-form-message">{{ site.data.ui-text[site.locale].comment_form_comment_label | default: "Comment" }} <small class="required">*</small></label>
<textarea type="text" rows="3" id="comment-form-message" name="fields[message]" tabindex="1"></textarea>
<div class="small help-block"><a href="https://daringfireball.net/projects/markdown/">{{ site.data.ui-text[site.locale].comment_form_md_info | default: "Markdown is supported." }}</a></div>
</div>
<div class="form-group">
<label for="comment-form-name">{{ site.data.ui-text[site.locale].comment_form_name_label | default: "Name" }} <small class="required">*</small></label>
<input type="text" id="comment-form-name" name="fields[name]" tabindex="2" />
</div>
<div class="form-group">
<label for="comment-form-email">{{ site.data.ui-text[site.locale].comment_form_email_label | default: "Email address" }} <small class="required">*</small></label>
<input type="email" id="comment-form-email" name="fields[email]" tabindex="3" />
</div>
<div class="form-group">
<label for="comment-form-url">{{ site.data.ui-text[site.locale].comment_form_website_label | default: "Website (optional)" }}</label>
<input type="url" id="comment-form-url" name="fields[url]" tabindex="4"/>
</div>
<div class="form-group hidden" style="display: none;">
<input type="hidden" name="options[slug]" value="{{ page.slug }}">
<label for="comment-form-location">Not used. Leave blank if you are a human.</label>
<input type="text" id="comment-form-location" name="fields[hidden]" autocomplete="off"/>
</div>
<!-- Start comment form alert messaging -->
<p class="hidden js-notice">
<strong class="js-notice-text"></strong>
</p>
<!-- End comment form alert messaging -->
<div class="form-group">
<button type="submit" id="comment-form-submit" tabindex="5" class="btn btn--primary btn--large">{{ site.data.ui-text[site.locale].comment_btn_submit | default: "Submit Comment" }}</button>
</div>
</form>
</div>
<!-- End new comment form -->
{% endif %}
</section>
{% when "custom" %}
<section id="custom-comments"></section>
{% endcase %}
</div>
-50
View File
@@ -1,50 +0,0 @@
{% if include.id %}
{% assign feature_row = page[include.id] %}
{% else %}
{% assign feature_row = page.feature_row %}
{% endif %}
<div class="feature__wrapper">
{% for f in feature_row %}
{% if f.url contains "://" %}
{% capture f_url %}{{ f.url }}{% endcapture %}
{% else %}
{% capture f_url %}{{ f.url | absolute_url }}{% endcapture %}
{% endif %}
<div class="feature__item{% if include.type %}--{{ include.type }}{% endif %}">
<div class="archive__item">
{% if f.image_path %}
<div class="archive__item-teaser">
<img src=
{% if f.image_path contains "://" %}
"{{ f.image_path }}"
{% else %}
"{{ f.image_path | absolute_url }}"
{% endif %}
alt="{% if f.alt %}{{ f.alt }}{% endif %}">
</div>
{% endif %}
<div class="archive__item-body">
{% if f.title %}
<h2 class="archive__item-title">{{ f.title }}</h2>
{% endif %}
{% if f.excerpt %}
<div class="archive__item-excerpt">
{{ f.excerpt | markdownify }}
</div>
{% endif %}
{% if f.url %}
<p><a href="{{ f_url }}" class="btn {{ f.btn_class }}">{{ f.btn_label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}</a></p>
{% endif %}
</div>
</div>
</div>
{% endfor %}
</div>
-12
View File
@@ -1,12 +0,0 @@
<figure class="{{ include.class }}">
<img src=
{% if include.image_path contains "://" %}
"{{ include.image_path }}"
{% else %}
"{{ include.image_path | absolute_url }}"
{% endif %}
alt="{% if include.alt %}{{ include.alt }}{% endif %}">
{% if include.caption %}
<figcaption>{{ include.caption | markdownify | remove: "<p>" | remove: "</p>" }}</figcaption>
{% endif %}
</figure>
-25
View File
@@ -1,25 +0,0 @@
<div class="page__footer-follow">
<ul class="social-icons">
{% if site.data.ui-text[site.locale].follow_label %}
<li><strong>{{ site.data.ui-text[site.locale].follow_label }}</strong></li>
{% endif %}
{% if site.twitter.username %}
<li><a href="https://twitter.com/{{ site.twitter.username }}"><i class="fab fa-fw fa-twitter-square" aria-hidden="true"></i> Twitter</a></li>
{% endif %}
{% if site.facebook.username %}
<li><a href="https://www.facebook.com/{{ site.facebook.username }}"><i class="fab fa-fw fa-facebook-square" aria-hidden="true"></i> Facebook</a></li>
{% endif %}
{% if site.author.github %}
<li><a href="https://github.com/{{ site.author.github }}"><i class="fab fa-fw fa-github" aria-hidden="true"></i> GitHub</a></li>
{% endif %}
{% if site.author.gitlab %}
<li><a href="https://gitlab.com/{{ site.author.gitlab }}"><i class="fab fa-fw fa-gitlab" aria-hidden="true"></i> Gitlab</a></li>
{% endif %}
{% if site.author.bitbucket %}
<li><a href="https://bitbucket.org/{{ site.author.bitbucket }}"><i class="fab fa-fw fa-bitbucket" aria-hidden="true"></i> Bitbucket</a></li>
{% endif %}
<li><a href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | absolute_url }}{% endif %}"><i class="fas fa-fw fa-rss-square" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].feed_label | default: "Feed" }}</a></li>
</ul>
</div>
<div class="page__footer-copyright">&copy; {{ site.time | date: '%Y' }} {{ site.name | default: site.title }}. {{ site.data.ui-text[site.locale].powered_by | default: "Powered by" }} <a href="https://jekyllrb.com" rel="nofollow">Jekyll</a> &amp; <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</div>
-3
View File
@@ -1,3 +0,0 @@
<!-- start custom footer snippets -->
<!-- end custom footer snippets -->
-47
View File
@@ -1,47 +0,0 @@
{% if include.id %}
{% assign gallery = page[include.id] %}
{% else %}
{% assign gallery = page.gallery %}
{% endif %}
{% if gallery.size == 2 %}
{% assign gallery_layout = 'half' %}
{% elsif gallery.size >= 3 %}
{% assign gallery_layout = 'third' %}
{% else %}
{% assign gallery_layout = '' %}
{% endif %}
<figure class="{{ gallery_layout }} {{ include.class }}">
{% for img in gallery %}
{% if img.url %}
<a href=
{% if img.url contains "://" %}
"{{ img.url }}"
{% else %}
"{{ img.url | absolute_url }}"
{% endif %}
{% if img.title %}title="{{ img.title }}"{% endif %}
>
<img src=
{% if img.image_path contains "://" %}
"{{ img.image_path }}"
{% else %}
"{{ img.image_path | absolute_url }}"
{% endif %}
alt="{% if img.alt %}{{ img.alt }}{% endif %}">
</a>
{% else %}
<img src=
{% if img.image_path contains "://" %}
"{{ img.image_path }}"
{% else %}
"{{ img.image_path | absolute_url }}"
{% endif %}
alt="{% if img.alt %}{{ img.alt }}{% endif %}">
{% endif %}
{% endfor %}
{% if include.caption %}
<figcaption>{{ include.caption | markdownify | remove: "<p>" | remove: "</p>" }}</figcaption>
{% endif %}
</figure>
-47
View File
@@ -1,47 +0,0 @@
<!--
# Jekyll Group-By-Array 0.1.0
# https://github.com/mushishi78/jekyll-group-by-array
# © 2015 Max White <mushishi78@gmail.com>
# MIT License
-->
<!-- Initialize -->
{% assign __empty_array = '' | split: ',' %}
{% assign group_names = __empty_array %}
{% assign group_items = __empty_array %}
<!-- Map -->
{% assign __names = include.collection | map: include.field %}
<!-- Flatten -->
{% assign __names = __names | join: ',' | join: ',' | split: ',' %}
<!-- Uniq -->
{% assign __names = __names | sort %}
{% for name in __names %}
<!-- If not equal to previous then it must be unique as sorted -->
{% unless name == previous %}
<!-- Push to group_names -->
{% assign group_names = group_names | push: name %}
{% endunless %}
{% assign previous = name %}
{% endfor %}
<!-- group_items -->
{% for name in group_names %}
<!-- Collect if contains -->
{% assign __item = __empty_array %}
{% for __element in include.collection %}
{% if __element[include.field] contains name %}
{% assign __item = __item | push: __element %}
{% endif %}
{% endfor %}
<!-- Push to group_items -->
{% assign group_items = group_items | push: __item %}
{% endfor %}
-43
View File
@@ -1,43 +0,0 @@
<meta charset="utf-8">
{% include seo.html %}
<link href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | absolute_url }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ site.title }} Feed">
<!-- http://t.co/dKP3o1e -->
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script>
document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
</script>
<!-- For all browsers -->
<link rel="stylesheet" href="{{ '/assets/css/main.css' | absolute_url }}">
<!--[if lte IE 9]>
<style>
/* old IE unsupported flexbox fixes */
.greedy-nav .site-title {
padding-right: 3em;
}
.greedy-nav button {
position: absolute;
top: 0;
right: 0;
height: 100%;
}
</style>
<![endif]-->
{% if site.head_scripts %}
{% for script in site.head_scripts %}
{% if script contains "://" %}
{% capture script_path %}{{ script }}{% endcapture %}
{% else %}
{% capture script_path %}{{ script | absolute_url }}{% endcapture %}
{% endif %}
<script src="{{ script_path }}"></script>
{% endfor %}
{% endif %}
-5
View File
@@ -1,5 +0,0 @@
<!-- start custom head snippets -->
<!-- insert favicons. use http://realfavicongenerator.net/ -->
<!-- end custom head snippets -->
-33
View File
@@ -1,33 +0,0 @@
<div class="masthead">
<div class="masthead__inner-wrap">
<div class="masthead__menu">
<nav id="site-nav" class="greedy-nav">
<a class="site-title" href="{{ '/' | absolute_url }}">{{ site.title }}</a>
<ul class="visible-links">
{% for link in site.data.navigation.main %}
{% if link.url contains 'http' %}
{% assign domain = '' %}
{% else %}
{% assign domain = site.url | append: site.baseurl %}
{% endif %}
<li class="masthead__menu-item">
<a href="{{ domain }}{{ link.url }}" {% if link.description %}title="{{ link.description }}"{% endif %}>{{ link.title }}</a>
</li>
{% endfor %}
</ul>
{% if site.search == true %}
<button class="search__toggle" type="button">
<svg class="icon" width="16" height="16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15.99 16">
<path d="M15.5,13.12L13.19,10.8a1.69,1.69,0,0,0-1.28-.55l-0.06-.06A6.5,6.5,0,0,0,5.77,0,6.5,6.5,0,0,0,2.46,11.59a6.47,6.47,0,0,0,7.74.26l0.05,0.05a1.65,1.65,0,0,0,.5,1.24l2.38,2.38A1.68,1.68,0,0,0,15.5,13.12ZM6.4,2A4.41,4.41,0,1,1,2,6.4,4.43,4.43,0,0,1,6.4,2Z" transform="translate(-.01)"></path>
</svg>
</button>
{% endif %}
<button class="greedy-nav__toggle hidden" type="button">
<span class="visually-hidden">{{ site.data.ui-text[site.locale].menu_label | default: "Toggle Menu" }}</span>
<div class="navicon"></div>
</button>
<ul class="hidden-links hidden"></ul>
</nav>
</div>
</div>
</div>
-47
View File
@@ -1,47 +0,0 @@
{% assign navigation = site.data.navigation[include.nav] %}
<nav class="nav__list">
{% if page.sidebar.title %}<h3 class="nav__title" style="padding-left: 0;">{{ page.sidebar.title }}</h3>{% endif %}
<input id="ac-toc" name="accordion-toc" type="checkbox" />
<label for="ac-toc">{{ site.data.ui-text[site.locale].menu_label | default: "Toggle Menu" }}</label>
<ul class="nav__items">
{% for nav in navigation %}
<li>
{% if nav.url %}
{% comment %} internal/external URL check {% endcomment %}
{% if nav.url contains "://" %}
{% assign domain = "" %}
{% else %}
{% assign domain = site.url | append: site.baseurl %}
{% endif %}
<a href="{{ domain }}{{ nav.url }}"><span class="nav__sub-title">{{ nav.title }}</span></a>
{% else %}
<span class="nav__sub-title">{{ nav.title }}</span>
{% endif %}
{% if nav.children != null %}
<ul>
{% for child in nav.children %}
{% comment %} internal/external URL check {% endcomment %}
{% if child.url contains "://" %}
{% assign domain = "" %}
{% else %}
{% assign domain = site.url | append: site.baseurl %}
{% endif %}
{% comment %} set "active" class on current page {% endcomment %}
{% if child.url == page.url %}
{% assign active = "active" %}
{% else %}
{% assign active = "" %}
{% endif %}
<li><a href="{{ domain }}{{ child.url }}" class="{{ active }}">{{ child.title }}</a></li>
{% endfor %}
</ul>
{% endif %}
</li>
{% endfor %}
</ul>
</nav>
-61
View File
@@ -1,61 +0,0 @@
{% if page.header.image contains "://" %}
{% capture img_path %}{{ page.header.image }}{% endcapture %}
{% else %}
{% capture img_path %}{{ page.header.image | absolute_url }}{% endcapture %}
{% endif %}
{% if page.header.cta_url contains "://" %}
{% capture cta_path %}{{ page.header.cta_url }}{% endcapture %}
{% else %}
{% capture cta_path %}{{ page.header.cta_url | absolute_url }}{% endcapture %}
{% endif %}
{% if page.header.overlay_image contains "://" %}
{% capture overlay_img_path %}{{ page.header.overlay_image }}{% endcapture %}
{% elsif page.header.overlay_image %}
{% capture overlay_img_path %}{{ page.header.overlay_image | absolute_url }}{% endcapture %}
{% endif %}
{% if page.header.overlay_filter contains "rgba" %}
{% capture overlay_filter %}{{ page.header.overlay_filter }}{% endcapture %}
{% elsif page.header.overlay_filter %}
{% capture overlay_filter %}rgba(0, 0, 0, {{ page.header.overlay_filter }}){% endcapture %}
{% endif %}
{% if page.header.image_description %}
{% assign image_description = page.header.image_description %}
{% else %}
{% assign image_description = page.title %}
{% endif %}
{% assign image_description = image_description | markdownify | strip_html | strip_newlines | escape_once %}
<div class="page__hero{% if page.header.overlay_color or page.header.overlay_image %}--overlay{% endif %}"
style="{% if page.header.overlay_color %}background-color: {{ page.header.overlay_color | default: 'transparent' }};{% endif %} {% if overlay_img_path %}background-image: {% if overlay_filter %}linear-gradient({{ overlay_filter }}, {{ overlay_filter }}), {% endif %}url('{{ overlay_img_path }}');{% endif %}"
>
{% if page.header.overlay_color or page.header.overlay_image %}
<div class="wrapper">
<h1 class="page__title" itemprop="headline">
{% if paginator and site.paginate_show_page_num %}
{{ site.title }}{% unless paginator.page == 1 %} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %}
{% else %}
{{ page.title | default: site.title | markdownify | remove: "<p>" | remove: "</p>" }}
{% endif %}
</h1>
{% if page.header.show_overlay_excerpt != false and page.excerpt %}
<p class="page__lead">{{ page.excerpt | markdownify | remove: "<p>" | remove: "</p>" }}</p>
{% endif %}
{% if site.read_time and page.read_time %}
<p class="page__meta"><i class="far fa-clock" aria-hidden="true"></i> {% include read-time.html %}</p>
{% endif %}
{% if page.header.cta_url %}
<p><a href="{{ cta_path }}" class="btn btn--light-outline btn--large">{{ page.header.cta_label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}</a></p>
{% endif %}
</div>
{% else %}
<img src="{{ img_path }}" alt="{{ image_description }}" class="page__hero-image">
{% endif %}
{% if page.header.caption %}
<span class="page__hero-caption">{{ page.header.caption | markdownify | remove: "<p>" | remove: "</p>" }}</span>
{% endif %}
</div>
-4
View File
@@ -1,4 +0,0 @@
{% capture video_id %}{{ page.header.video.id }}{% endcapture %}
{% capture video_provider %}{{ page.header.video.provider }}{% endcapture %}
{% include video id=video_id provider=video_provider %}
-7
View File
@@ -1,7 +0,0 @@
{% if site.tag_archive.type and page.tags[0] %}
{% include tag-list.html %}
{% endif %}
{% if site.category_archive.type and page.categories[0] %}
{% include category-list.html %}
{% endif %}
-69
View File
@@ -1,69 +0,0 @@
{% if paginator.total_pages > 1 %}
<nav class="pagination">
{% assign first_page_path = site.paginate_path | replace: 'page:num', '' | replace: '//', '/' | absolute_url %}
<ul>
{% comment %} Link for previous page {% endcomment %}
{% if paginator.previous_page %}
{% if paginator.previous_page == 1 %}
<li><a href="{{ first_page_path }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
{% else %}
<li><a href="{{ site.paginate_path | replace: ':num', paginator.previous_page | replace: '//', '/' | absolute_url }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
{% endif %}
{% else %}
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</span></a></li>
{% endif %}
{% comment %} First page {% endcomment %}
{% if paginator.page == 1 %}
<li><a href="#" class="disabled current">1</a></li>
{% else %}
<li><a href="{{ first_page_path }}">1</a></li>
{% endif %}
{% assign page_start = 2 %}
{% if paginator.page > 4 %}
{% assign page_start = paginator.page | minus: 2 %}
{% comment %} Ellipsis for truncated links {% endcomment %}
<li><a href="#" class="disabled">&hellip;</a></li>
{% endif %}
{% assign page_end = paginator.total_pages | minus: 1 %}
{% assign pages_to_end = paginator.total_pages | minus: paginator.page %}
{% if pages_to_end > 4 %}
{% assign page_end = paginator.page | plus: 2 %}
{% endif %}
{% for index in (page_start..page_end) %}
{% if index == paginator.page %}
<li><a href="{{ site.paginate_path | replace: ':num', index | replace: '//', '/' | absolute_url }}" class="disabled current">{{ index }}</a></li>
{% else %}
{% comment %} Distance from current page and this link {% endcomment %}
{% assign dist = paginator.page | minus: index %}
{% if dist < 0 %}
{% comment %} Distance must be a positive value {% endcomment %}
{% assign dist = 0 | minus: dist %}
{% endif %}
<li><a href="{{ site.paginate_path | replace: ':num', index | absolute_url }}">{{ index }}</a></li>
{% endif %}
{% endfor %}
{% comment %} Ellipsis for truncated links {% endcomment %}
{% if pages_to_end > 3 %}
<li><a href="#" class="disabled">&hellip;</a></li>
{% endif %}
{% if paginator.page == paginator.total_pages %}
<li><a href="#" class="disabled current">{{ paginator.page }}</a></li>
{% else %}
<li><a href="{{ site.paginate_path | replace: ':num', paginator.total_pages | replace: '//', '/' | absolute_url }}">{{ paginator.total_pages }}</a></li>
{% endif %}
{% comment %} Link next page {% endcomment %}
{% if paginator.next_page %}
<li><a href="{{ site.paginate_path | replace: ':num', paginator.next_page | replace: '//', '/' | absolute_url }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a></li>
{% else %}
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</span></a></li>
{% endif %}
</ul>
</nav>
{% endif %}
-14
View File
@@ -1,14 +0,0 @@
{% if page.previous or page.next %}
<nav class="pagination">
{% if page.previous %}
<a href="{{ page.previous.url | absolute_url }}" class="pagination--pager" title="{{ page.previous.title | markdownify | strip_html }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a>
{% else %}
<a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a>
{% endif %}
{% if page.next %}
<a href="{{ page.next.url | absolute_url }}" class="pagination--pager" title="{{ page.next.title | markdownify | strip_html }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a>
{% else %}
<a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a>
{% endif %}
</nav>
{% endif %}
-15
View File
@@ -1,15 +0,0 @@
{% assign words_per_minute = site.words_per_minute | default: 200 %}
{% if post.read_time %}
{% assign words = post.content | strip_html | number_of_words %}
{% elsif page.read_time %}
{% assign words = page.content | strip_html | number_of_words %}
{% endif %}
{% if words < words_per_minute %}
{{ site.data.ui-text[site.locale].less_than | default: "less than" }} 1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
{% elsif words == words_per_minute %}
1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
{% else %}
{{ words | divided_by:words_per_minute }} {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
{% endif %}
-26
View File
@@ -1,26 +0,0 @@
{% if site.footer_scripts %}
{% for script in site.footer_scripts %}
{% if script contains "://" %}
{% capture script_path %}{{ script }}{% endcapture %}
{% else %}
{% capture script_path %}{{ script | absolute_url }}{% endcapture %}
{% endif %}
<script src="{{ script_path }}"></script>
{% endfor %}
{% else %}
<script src="{{ '/assets/js/main.min.js' | absolute_url }}"></script>
<script src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>
{% endif %}
{% if site.search == true or page.layout == "search" %}
{%- assign search_provider = site.search_provider | default: "lunr" -%}
{%- case search_provider -%}
{%- when "lunr" -%}
{% include search/lunr-search-scripts.html %}
{%- when "algolia" -%}
{% include search/algolia-search-scripts.html %}
{%- endcase -%}
{% endif %}
{% include analytics.html %}
{% include /comments-providers/scripts.html %}
@@ -1,54 +0,0 @@
<!-- Including InstantSearch.js library and styling -->
<script src="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch.min.css">
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch-theme-algolia.min.css">
<script>
// Instanciating InstantSearch.js with Algolia credentials
const search = instantsearch({
appId: '{{ site.algolia.application_id }}',
apiKey: '{{ site.algolia.search_only_api_key }}',
indexName: '{{ site.algolia.index_name }}',
searchParameters: {
restrictSearchableAttributes: [
'title',
'content'
]
}
});
const hitTemplate = function(hit) {
const url = hit.url;
const title = hit._highlightResult.title.value;
const content = hit._highlightResult.html.value;
return `
<div class="list__item">
<article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
<h2 class="archive__item-title" itemprop="headline"><a href="{{ site.baseurl }}${url}">${title}</a></h2>
<div class="archive__item-excerpt" itemprop="description">${content}</div>
</article>
</div>
`;
}
// Adding searchbar and results widgets
search.addWidget(
instantsearch.widgets.searchBox({
container: '.search-searchbar',
{% unless site.algolia.powered_by == false %}poweredBy: true,{% endunless %}
placeholder: '{{ site.data.ui-text[site.locale].search_placeholder_text | default: "Enter your search term..." }}'
})
);
search.addWidget(
instantsearch.widgets.hits({
container: '.search-hits',
templates: {
item: hitTemplate
}
})
);
// Starting the search
search.start();
</script>
-10
View File
@@ -1,10 +0,0 @@
{% assign lang = site.locale | slice: 0,2 | default: "en" %}
{% case lang %}
{% when "gr" %}
{% assign lang = "gr" %}
{% else %}
{% assign lang = "en" %}
{% endcase %}
<script src="{{ '/assets/js/lunr/lunr.min.js' | absolute_url }}"></script>
<script src="{{ '/assets/js/lunr/lunr-store.js' | absolute_url }}"></script>
<script src="{{ '/assets/js/lunr/lunr-' | append: lang | append: '.js' | absolute_url }}"></script>
-11
View File
@@ -1,11 +0,0 @@
<div class="search-content__inner-wrap">
{%- assign search_provider = site.search_provider | default: "lunr" -%}
{%- case search_provider -%}
{%- when "lunr" -%}
<input type="text" id="search" class="search-input" tabindex="-1" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
<div id="results" class="results"></div>
{%- when "algolia" -%}
<div class="search-searchbar"></div>
<div class="search-hits"></div>
{%- endcase -%}
</div>
-166
View File
@@ -1,166 +0,0 @@
<!-- begin _includes/seo.html -->
{%- if site.url -%}
{%- assign seo_url = site.url | append: site.baseurl -%}
{%- endif -%}
{%- assign seo_url = seo_url | default: site.github.url -%}
{% if site.title_separator %}
{% assign title_separator = site.title_separator | default: '-' | replace: '|', '&#124;' %}
{% endif %}
{%- if page.title -%}
{%- assign seo_title = page.title | append: " " | append: title_separator | append: " " | append: site.title -%}
{%- endif -%}
{%- if seo_title -%}
{%- assign seo_title = seo_title | markdownify | strip_html | strip_newlines | escape_once -%}
{%- endif -%}
{%- assign canonical_url = page.url | replace: "index.html", "" | absolute_url %}
{%- assign seo_description = page.description | default: page.excerpt | default: site.description -%}
{%- if seo_description -%}
{%- assign seo_description = seo_description | markdownify | strip_html | strip_newlines | escape_once -%}
{%- endif -%}
{%- assign author = page.author | default: page.authors[0] | default: site:author -%}
{%- assign author = site.data.authors[author] | default: author -%}
{%- if author.twitter -%}
{%- assign author_twitter = author.twitter | replace: "@", "" -%}
{%- endif -%}
{%- assign page_large_image = page.header.og_image | default: page.header.overlay_image | default: page.header.image -%}
{%- unless page_large_image contains '://' -%}
{%- assign page_large_image = page_large_image | absolute_url -%}
{%- endunless -%}
{%- assign page_large_image = page_large_image | escape -%}
{%- assign page_teaser_image = page.header.teaser | default: site.og_image -%}
{%- unless page_teaser_image contains '://' -%}
{%- assign page_teaser_image = page_teaser_image | absolute_url -%}
{%- endunless -%}
{%- assign page_teaser_image = page_teaser_image | escape -%}
{%- assign site_og_image = site.og_image -%}
{%- unless site_og_image contains '://' -%}
{%- assign site_og_image = site_og_image | absolute_url -%}
{%- endunless -%}
{%- assign site_og_image = site_og_image | escape -%}
{%- if page.date -%}
{%- assign og_type = "article" -%}
{%- else -%}
{%- assign og_type = "website" -%}
{%- endif -%}
<title>{{ seo_title | default: site.title }}{% if paginator %}{% unless paginator.page == 1 %} {{ title_separator }} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %}{% endif %}</title>
<meta name="description" content="{{ seo_description }}">
{% if author.name %}
<meta name="author" content="{{ author.name | default: author }}">
{% endif %}
<meta property="og:type" content="{{ og_type }}">
<meta property="og:locale" content="{{ site.locale | replace: "-", "_" | default: "en_US" }}">
<meta property="og:site_name" content="{{ site.title }}">
<meta property="og:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
<meta property="og:url" content="{{ canonical_url }}">
{% if page.excerpt %}
<meta property="og:description" content="{{ seo_description }}">
{% endif %}
{% if page_large_image %}
<meta property="og:image" content="{{ page_large_image }}">
{% elsif page_teaser_image %}
<meta property="og:image" content="{{ page_teaser_image }}">
{% endif %}
{% if site.twitter.username %}
<meta name="twitter:site" content="@{{ site.twitter.username | replace: "@", "" }}">
<meta name="twitter:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
<meta name="twitter:description" content="{{ seo_description }}">
<meta name="twitter:url" content="{{ canonical_url }}">
{% if page_large_image %}
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="{{ page_large_image }}">
{% else %}
<meta name="twitter:card" content="summary">
{% if page_teaser_image %}
<meta name="twitter:image" content="{{ page_teaser_image }}">
{% endif %}
{% endif %}
{% if author_twitter %}
<meta name="twitter:creator" content="@{{ author_twitter }}">
{% endif %}
{% endif %}
{% if page.date %}
<meta property="article:published_time" content="{{ page.date | date_to_xmlschema }}">
{% endif %}
{% if og_type == "article" and page.last_modified_at %}
<meta property="article:modified_time" content="{{ page.last_modified_at | date_to_xmlschema }}">
{% endif %}
{% if site.facebook %}
{% if site.facebook.publisher %}
<meta property="article:publisher" content="{{ site.facebook.publisher }}">
{% endif %}
{% if site.facebook.app_id %}
<meta property="fb:app_id" content="{{ site.facebook.app_id }}">
{% endif %}
{% endif %}
<link rel="canonical" href="{{ canonical_url }}">
{% if paginator.previous_page %}
<link rel="prev" href="{{ paginator.previous_page_path | absolute_url }}">
{% endif %}
{% if paginator.next_page %}
<link rel="next" href="{{ paginator.next_page_path | absolute_url }}">
{% endif %}
{% if site.og_image %}
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Organization",
"url": {{ seo_url | jsonify }},
"logo": {{ site_og_image | jsonify }}
}
</script>
{% endif %}
{% if site.social %}
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "{% if site.social.type %}{{ site.social.type }}{% else %}Person{% endif %}",
"name": {{ site.social.name | default: site.name | jsonify }},
"url": {{ seo_url | jsonify }},
"sameAs": {{ site.social.links | jsonify }}
}
</script>
{% endif %}
{% if site.google_site_verification %}
<meta name="google-site-verification" content="{{ site.google_site_verification }}" />
{% endif %}
{% if site.bing_site_verification %}
<meta name="msvalidate.01" content="{{ site.bing_site_verification }}">
{% endif %}
{% if site.alexa_site_verification %}
<meta name="alexaVerifyID" content="{{ site.alexa_site_verification }}">
{% endif %}
{% if site.yandex_site_verification %}
<meta name="yandex-verification" content="{{ site.yandex_site_verification }}">
{% endif %}
{% if site.naver-site-verification %}
<meta name="naver-site-verification" content="{{ site.naver-site-verification }}">
{% endif %}
<!-- end _includes/seo.html -->
-23
View File
@@ -1,23 +0,0 @@
{% if page.author_profile or layout.author_profile or page.sidebar %}
<div class="sidebar sticky">
{% if page.author_profile or layout.author_profile %}{% include author-profile.html %}{% endif %}
{% if page.sidebar %}
{% for s in page.sidebar %}
{% if s.image %}
<img src=
{% if s.image contains "://" %}
"{{ s.image }}"
{% else %}
"{{ s.image | absolute_url }}"
{% endif %}
alt="{% if s.image_alt %}{{ s.image_alt }}{% endif %}">
{% endif %}
{% if s.title %}<h3>{{ s.title }}</h3>{% endif %}
{% if s.text %}{{ s.text | markdownify }}{% endif %}
{% endfor %}
{% if page.sidebar.nav %}
{% include nav_list nav=page.sidebar.nav %}
{% endif %}
{% endif %}
</div>
{% endif %}
-13
View File
@@ -1,13 +0,0 @@
<section class="page__share">
{% if site.data.ui-text[site.locale].share_on_label %}
<h4 class="page__share-title">{{ site.data.ui-text[site.locale].share_on_label | default: "Share on" }}</h4>
{% endif %}
<a href="https://twitter.com/intent/tweet?{% if site.twitter.username %}via={{ site.twitter.username | url_encode }}&{% endif %}text={{ page.title | url_encode }}%20{{ page.url | absolute_url | url_encode }}" class="btn btn--twitter" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Twitter"><i class="fab fa-fw fa-twitter" aria-hidden="true"></i><span> Twitter</span></a>
<a href="https://www.facebook.com/sharer/sharer.php?u={{ page.url | absolute_url | url_encode }}" class="btn btn--facebook" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Facebook"><i class="fab fa-fw fa-facebook" aria-hidden="true"></i><span> Facebook</span></a>
<a href="https://plus.google.com/share?url={{ page.url | absolute_url | url_encode }}" class="btn btn--google-plus" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Google Plus"><i class="fab fa-fw fa-google-plus" aria-hidden="true"></i><span> Google+</span></a>
<a href="https://www.linkedin.com/shareArticle?mini=true&url={{ page.url | absolute_url | url_encode }}" class="btn btn--linkedin" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} LinkedIn"><i class="fab fa-fw fa-linkedin" aria-hidden="true"></i><span> LinkedIn</span></a>
</section>
-26
View File
@@ -1,26 +0,0 @@
{% case site.tag_archive.type %}
{% when "liquid" %}
{% assign path_type = "#" %}
{% when "jekyll-archives" %}
{% assign path_type = nil %}
{% endcase %}
{% if site.tag_archive.path %}
{% comment %}
<!-- Sort alphabetically regardless of case e.g. a B c d E -->
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
{% endcomment %}
{% capture page_tags %}{% for tag in page.tags %}{{ tag | downcase }}#{{ tag }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
{% assign tag_hashes = page_tags | split: ',' | sort %}
<p class="page__taxonomy">
<strong><i class="fas fa-fw fa-tags" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].tags_label | default: "Tags:" }} </strong>
<span itemprop="keywords">
{% for hash in tag_hashes %}
{% assign keyValue = hash | split: '#' %}
{% capture tag_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
<a href="{{ tag_word | slugify | prepend: path_type | prepend: site.tag_archive.path | absolute_url }}" class="page__taxonomy-item" rel="tag">{{ tag_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
{% endfor %}
</span>
</p>
{% endif %}
-7
View File
@@ -1,7 +0,0 @@
<aside class="sidebar__right">
<nav class="toc" markdown="1">
<header><h4 class="nav__title"><i class="fas fa-{{ include.icon | default: 'file-alt' }}"></i> {{ include.title | default: site.data.ui-text[site.locale].toc_label }}</h4></header>
* Auto generated table of contents
{:toc .toc__menu}
</nav>
</aside>
-75
View File
@@ -1,75 +0,0 @@
{% capture tocWorkspace %}
{%- comment -%}
Version 1.0.2
"...like all things liquid - where there's a will, and ~36 hours to spare, there's usually a/some way" ~jaybe
Usage:
{% include toc.html html=content sanitize=true class="inline_toc" id="my_toc" h_min=2 h_max=3 %}
Parameters:
* html (string) - the HTML of compiled markdown generated by kramdown in Jekyll
Optional Parameters:
* sanitize (bool) : false - when set to true, the headers will be stripped of any HTML in the TOC
* class (string) : '' - a CSS class assigned to the TOC
* id (string) : '' - an ID to assigned to the TOC
* h_min (int) : 1 - the minimum TOC header level to use; any header lower than this value will be ignored
* h_max (int) : 6 - the maximum TOC header level to use; any header greater than this value will be ignored
Output:
An unordered list representing the table of contents of a markdown block. This snippet will only generate the table of contents and will NOT output the markdown given to it
{%- endcomment -%}
{% capture my_toc %}{% endcapture %}
{% assign minHeader = include.h_min | default: 1 %}
{% assign maxHeader = include.h_max | default: 6 %}
{% assign nodes = include.html | split: '<h' %}
{% assign firstHeader = true %}
{% for node in nodes %}
{% if node == "" %}
{% continue %}
{% endif %}
{% assign headerLevel = node | replace: '"', '' | slice: 0, 1 | times: 1 %}
{% if headerLevel < minHeader or headerLevel > maxHeader %}
{% continue %}
{% endif %}
{% if firstHeader %}
{% assign firstHeader = false %}
{% assign minHeader = headerLevel %}
{% endif %}
{% assign indentAmount = headerLevel | minus: minHeader | add: 1 %}
{% assign _workspace = node | split: '</h' %}
{% assign _idWorkspace = _workspace[0] | split: 'id="' %}
{% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
{% assign html_id = _idWorkspace[0] %}
{% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %}
{% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
{% assign space = '' %}
{% for i in (1..indentAmount) %}
{% assign space = space | prepend: ' ' %}
{% endfor %}
{% capture my_toc %}{{ my_toc }}
{{ space }}- [{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}](#{{ html_id }}){% endcapture %}
{% endfor %}
{% if include.class %}
{% capture my_toc %}{:.{{ include.class }}}
{{ my_toc | lstrip }}{% endcapture %}
{% endif %}
{% if include.id %}
{% capture my_toc %}{: #{{ include.id }}}
{{ my_toc | lstrip }}{% endcapture %}
{% endif %}
{% endcapture %}{% assign tocWorkspace = '' %}{{ my_toc | markdownify | strip }}
-11
View File
@@ -1,11 +0,0 @@
{% capture video_id %}{{ include.id }}{% endcapture %}
{% capture video_provider %}{{ include.provider }}{% endcapture %}
<!-- Courtesy of embedresponsively.com //-->
<div class="responsive-video-container">
{% if video_provider == "vimeo" %}
<iframe src="https://player.vimeo.com/video/{{ video_id }}" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
{% elsif video_provider == "youtube" %}
<iframe src="https://www.youtube.com/embed/{{ video_id }}" frameborder="0" allowfullscreen></iframe>
{% endif %}
</div>
-15
View File
@@ -1,15 +0,0 @@
---
layout: default
author_profile: false
---
<div id="main" role="main">
{% include sidebar.html %}
<div class="archive">
<h1 class="page__title">{{ page.title }}</h1>
{% for post in page.posts %}
{% include archive-single.html %}
{% endfor %}
</div>
</div>
-26
View File
@@ -1,26 +0,0 @@
---
layout: default
---
{% if page.header.overlay_color or page.header.overlay_image or page.header.image %}
{% include page__hero.html %}
{% elsif page.header.video.id and page.header.video.provider %}
{% include page__hero_video.html %}
{% endif %}
{% if page.url != "/" and site.breadcrumbs %}
{% unless paginator %}
{% include breadcrumbs.html %}
{% endunless %}
{% endif %}
<div id="main" role="main">
{% include sidebar.html %}
<div class="archive">
{% unless page.header.overlay_color or page.header.overlay_image %}
<h1 class="page__title">{{ page.title }}</h1>
{% endunless %}
{{ content }}
</div>
</div>
-10
View File
@@ -1,10 +0,0 @@
---
# Jekyll layout that compresses HTML
# v3.0.2
# http://jch.penibelst.de/
# © 2014–2015 Anatol Broder
# MIT License
---
{% capture _LINE_FEED %}
{% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment %}{{ content }}{% else %}{% capture _content %}{{ content }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd p rt rp optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}</{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "<!-- -->" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "<pre" %}{% assign _content = "" %}{% for _pre_before in _pre_befores %}{% assign _pres = _pre_before | split: "</pre>" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "</pre>" %}<pre{{ _pres.first }}</pre>{% endif %}{% unless _pre_before contains "</pre>" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " <e;<e; </e>;</e>;</e> ;</e>" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %} <table id="compress_html_profile_{{ site.time | date: "%Y%m%d" }}" class="compress_html_profile"> <thead> <tr> <td>Step <td>Bytes <tbody> <tr> <td>raw <td>{{ content | size }}{% if _profile_endings %} <tr> <td>endings <td>{{ _profile_endings }}{% endif %}{% if _profile_startings %} <tr> <td>startings <td>{{ _profile_startings }}{% endif %}{% if _profile_comments %} <tr> <td>comments <td>{{ _profile_comments }}{% endif %}{% if _profile_collapse %} <tr> <td>collapse <td>{{ _profile_collapse }}{% endif %}{% if _profile_clippings %} <tr> <td>clippings <td>{{ _profile_clippings }}{% endif %} </table>{% endif %}{% endif %}
-42
View File
@@ -1,42 +0,0 @@
---
---
<!doctype html>
<!--
Minimal Mistakes Jekyll Theme 4.10.0 by Michael Rose
Copyright 2013-2018 Michael Rose - mademistakes.com | @mmistakes
Free for personal and commercial use under the MIT license
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt
-->
<html lang="{{ site.locale | slice: 0,2 | default: "en" }}" class="no-js">
<head>
{% include head.html %}
{% include head/custom.html %}
</head>
<body class="layout--{{ page.layout | default: layout.layout }}{% if page.classes or layout.classes %}{{ page.classes | default: layout.classes | join: ' ' | prepend: ' ' }}{% endif %}">
{% include browser-upgrade.html %}
{% include masthead.html %}
<div class="initial-content">
{{ content }}
</div>
{% if site.search == true %}
<div class="search-content">
{% include search/search_form.html %}
</div>
{% endif %}
<div class="page__footer">
<footer>
{% include footer/custom.html %}
{% include footer.html %}
</footer>
</div>
{% include scripts.html %}
</body>
</html>
+41 -8
View File
@@ -1,11 +1,44 @@
--- <!doctype html>
layout: archive <!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
--- <!--[if (IE 7)&!(IEMobile)]><html class="no-js lt-ie9 lt-ie8" lang="en"><![endif]-->
<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"><!--<![endif]-->
<head>
{% include _head.html %}
</head>
<h3 class="archive__subtitle">{{ site.data.ui-text[site.locale].recent_posts | default: "Recent Posts" }}</h3> <body class="home">
{% for post in paginator.posts %} {% include _browser-upgrade.html %}
{% include archive-single.html %}
{% endfor %}
{% include paginator.html %} {% include _navigation.html %}
{% if page.image.feature %}<div class="image-wrap">
<img src="{{ site.url }}/images/{{ page.image.feature }}" alt="{{ page.title }} feature image">
{% if page.image.credit %}<span class="image-credit">Photo Credit: <a href="{{ page.image.creditlink }}">{{ page.image.credit }}</a></span>{% endif %}
</div><!-- /.image-wrap -->{% endif %}
<div class="article-author-side">
{% include _author-bio.html %}
</div>
<div id="index">
<h3><a href="{{ site.url}}/posts/">Latest Posts</a></h3>
{% for post in site.posts limit:5 %}
<article>
<h2><a href="{{ site.url }}{{ post.url }}" title="{{ post.title }}">{{ post.title }}</a></h2>
<p>{% if post.description %}{{ post.description }}{% else %}{{ post.content | strip_html | strip_newlines | truncate: 120 }}{% endif %}</p>
</article>
{% endfor %}
</div><!-- /#index -->
<div class="footer-wrap">
<footer>
{% include _footer.html %}
</footer>
</div><!-- /.footer-wrap -->
{% include _scripts.html %}
</body>
</html>
+42
View File
@@ -0,0 +1,42 @@
<!doctype html>
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if (IE 7)&!(IEMobile)]><html class="no-js lt-ie9 lt-ie8" lang="en"><![endif]-->
<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"><!--<![endif]-->
<head>
{% include _head.html %}
</head>
<body class="page">
{% include _browser-upgrade.html %}
{% include _navigation.html %}
{% if page.image.feature %}<div class="image-wrap">
<img src="{{ site.url }}/images/{{ page.image.feature }}" alt="{{ page.title }} feature image">
{% if page.image.credit %}<span class="image-credit">Photo Credit: <a href="{{ page.image.creditlink }}">{{ page.image.credit }}</a></span>{% endif %}
</div><!-- /.image-wrap -->{% endif %}
<div id="main" role="main">
<div class="article-author-side">
{% include _author-bio.html %}
</div>
<article>
<h1>{{ page.title }}</h1>
<div class="article-wrap">
{{ content }}
</div><!-- /.article-wrap -->
</article>
</div><!-- /#index -->
<div class="footer-wrap">
<footer>
{% include _footer.html %}
</footer>
</div><!-- /.footer-wrap -->
{% include _scripts.html %}
</body>
</html>
+53
View File
@@ -0,0 +1,53 @@
<!doctype html>
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if (IE 7)&!(IEMobile)]><html class="no-js lt-ie9 lt-ie8" lang="en"><![endif]-->
<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"><!--<![endif]-->
<head>
{% include _head.html %}
</head>
<body class="post-index">
{% include _browser-upgrade.html %}
{% include _navigation.html %}
{% if page.image.feature %}<div class="image-wrap">
<img src="{{ site.url }}/images/{{ page.image.feature }}" alt="{{ page.title }} feature image" itemprop="primaryImageOfPage">
{% if page.image.credit %}<span class="image-credit">Photo Credit: <a href="{{ page.image.creditlink }}">{{ page.image.credit }}</a></span>{% endif %}
</div><!-- /.image-wrap -->{% endif %}
<div class="article-author-side">
{% include _author-bio.html %}
</div>
<div id="index">
<h1>{{ page.title }}</h1>
{% for post in site.posts %}
{% unless post.next %}
<h3>{{ post.date | date: '%Y' }}</h3>
{% else %}
{% capture year %}{{ post.date | date: '%Y' }}{% endcapture %}
{% capture nyear %}{{ post.next.date | date: '%Y' }}{% endcapture %}
{% if year != nyear %}
<h3>{{ post.date | date: '%Y' }}</h3>
{% endif %}
{% endunless %}
<article>
<h2><a href="{{ site.url }}{{ post.url }}" title="{{ post.title }}">{{ post.title }}</a></h2>
<p>{% if post.description %}{{ post.description }}{% else %}{{ post.content | strip_html | strip_newlines | truncate: 120 }}{% endif %}</p>
</article>
{% endfor %}
</div><!-- /#index -->
<div class="footer-wrap">
<footer>
{% include _footer.html %}
</footer>
</div><!-- /.footer-wrap -->
{% include _scripts.html %}
</body>
</html>
+60
View File
@@ -0,0 +1,60 @@
<!doctype html>
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if (IE 7)&!(IEMobile)]><html class="no-js lt-ie9 lt-ie8" lang="en"><![endif]-->
<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"><!--<![endif]-->
<head>
{% include _head.html %}
</head>
<body class="post">
{% include _browser-upgrade.html %}
{% include _navigation.html %}
{% if page.image.feature %}<div class="image-wrap">
<img src="{{ site.url }}/images/{{ page.image.feature }}" alt="{{ page.title }} feature image">
{% if page.image.credit %}<span class="image-credit">Photo Credit: <a href="{{ page.image.creditlink }}">{{ page.image.credit }}</a></span>{% endif %}
</div><!-- /.image-wrap -->{% endif %}
<div id="main" role="main">
<div class="article-author-side">
{% include _author-bio.html %}
</div>
<article>
<div class="headline-wrap">
<h1>{{ page.title }}</h1>
</div><!--/ .headline-wrap -->
<div class="article-wrap">
{{ content }}
<hr />
<footer role="contentinfo">
<div class="article-author-bottom">
{% include _author-bio.html %}
</div>
<p class="byline"><strong>{{ page.title }}</strong> was published on <time datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: "%B %d, %Y" }}</time>{% if page.modified %} and last modified on <time datetime="{{ page.modified | date: "%Y-%m-%d" }}">{{ page.modified | date: "%B %d, %Y" }}</time>{% endif %} by <a href="{{ site.url }}/about" title="About {{ site.owner.name }}">{{ site.owner.name }}</a>.</p>
</footer>
</div><!-- /.article-wrap -->
</article>
</div><!-- /#main -->
<div class="footer-wrap">
<div class="related-articles">
<h4>You might also enjoy <small class="pull-right">(<a href="{{ site.url }}/posts/">View all posts</a>)</small></h4>
<ul>
{% for post in site.related_posts limit:3 %}
<li><a href="{{ site.url }}{{ post.url }}" title="{{ post.title }}">{{ post.title }}</a></li>
{% endfor %}
</ul>
<hr />
</div><!-- /.related-articles -->
<footer>
{% include _footer.html %}
</footer>
</div><!-- /.footer-wrap -->
{% include _scripts.html %}
</body>
</html>
-35
View File
@@ -1,35 +0,0 @@
---
layout: default
---
{% if page.header.overlay_color or page.header.overlay_image or page.header.image %}
{% include page__hero.html %}
{% endif %}
{% if page.url != "/" and site.breadcrumbs %}
{% unless paginator %}
{% include breadcrumbs.html %}
{% endunless %}
{% endif %}
<div id="main" role="main">
{% include sidebar.html %}
<div class="archive">
{% unless page.header.overlay_color or page.header.overlay_image %}
<h1 class="page__title">{{ page.title }}</h1>
{% endunless %}
{{ content }}
{%- assign search_provider = site.search_provider | default: "lunr" -%}
{%- case search_provider -%}
{%- when "lunr" -%}
<input type="text" id="search" class="search-input" tabindex="-1" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
<div id="results" class="results"></div>
{%- when "algolia" -%}
<div class="search-searchbar"></div>
<div class="search-hits"></div>
{%- endcase -%}
</div>
</div>
-92
View File
@@ -1,92 +0,0 @@
---
layout: default
---
{% if page.header.overlay_color or page.header.overlay_image or page.header.image %}
{% include page__hero.html %}
{% elsif page.header.video.id and page.header.video.provider %}
{% include page__hero_video.html %}
{% endif %}
{% if page.url != "/" and site.breadcrumbs %}
{% unless paginator %}
{% include breadcrumbs.html %}
{% endunless %}
{% endif %}
<div id="main" role="main">
{% include sidebar.html %}
<article class="page" itemscope itemtype="http://schema.org/CreativeWork">
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date: "%B %d, %Y" }}">{% endif %}
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date: "%B %d, %Y" }}">{% endif %}
<div class="page__inner-wrap">
{% unless page.header.overlay_color or page.header.overlay_image %}
<header>
{% if page.title %}<h1 class="page__title" itemprop="headline">{{ page.title | markdownify | remove: "<p>" | remove: "</p>" }}</h1>{% endif %}
{% if page.read_time %}
<p class="page__meta"><i class="far fa-clock" aria-hidden="true"></i> {% include read-time.html %}</p>
{% endif %}
</header>
{% endunless %}
<section class="page__content" itemprop="text">
{% if page.toc %}
<aside class="sidebar__right">
<nav class="toc">
<header><h4 class="nav__title"><i class="fas fa-{{ page.toc_icon | default: 'file-alt' }}"></i> {{ page.toc_label | default: site.data.ui-text[site.locale].toc_label }}</h4></header>
{% include toc.html sanitize=true html=content h_min=2 h_max=3 class="toc__menu" %}
</nav>
</aside>
{% endif %}
{{ content }}
{% if page.link %}<div><a href="{{ page.link }}" class="btn btn--primary">{{ site.data.ui-text[site.locale].ext_link_label | default: "Direct Link" }}</a></div>{% endif %}
</section>
<footer class="page__meta">
{% if site.data.ui-text[site.locale].meta_label %}
<h4 class="page__meta-title">{{ site.data.ui-text[site.locale].meta_label }}</h4>
{% endif %}
{% include page__taxonomy.html %}
{% if page.last_modified_at %}
<p class="page__date"><strong><i class="fas fa-fw fa-calendar-alt" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.last_modified_at | date: "%Y-%m-%d" }}">{{ page.last_modified_at | date: "%B %d, %Y" }}</time></p>
{% elsif page.date %}
<p class="page__date"><strong><i class="fas fa-fw fa-calendar-alt" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: "%B %d, %Y" }}</time></p>
{% endif %}
</footer>
{% if page.share %}{% include social-share.html %}{% endif %}
{% include post_pagination.html %}
</div>
{% if jekyll.environment == 'production' and site.comments.provider and page.comments %}
{% include comments.html %}
{% endif %}
</article>
{% comment %}<!-- only show related on a post page when `related: true` -->{% endcomment %}
{% if page.id and page.related and site.related_posts.size > 0 %}
<div class="page__related">
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
<div class="grid__wrapper">
{% for post in site.related_posts limit:4 %}
{% include archive-single.html type="grid" %}
{% endfor %}
</div>
</div>
{% comment %}<!-- otherwise show recent posts if no related when `related: true` -->{% endcomment %}
{% elsif page.id and page.related %}
<div class="page__related">
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
<div class="grid__wrapper">
{% for post in site.posts limit:4 %}
{% include archive-single.html type="grid" %}
{% endfor %}
</div>
</div>
{% endif %}
</div>
-22
View File
@@ -1,22 +0,0 @@
---
layout: default
---
{% if page.header.overlay_color or page.header.overlay_image or page.header.image %}
{% include page__hero.html %}
{% elsif page.header.video.id and page.header.video.provider %}
{% include page__hero_video.html %}
{% endif %}
<div id="main" role="main">
<article class="splash" itemscope itemtype="http://schema.org/CreativeWork">
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date: "%B %d, %Y" }}">{% endif %}
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date: "%B %d, %Y" }}">{% endif %}
<section class="page__content" itemprop="text">
{{ content }}
</section>
</article>
</div>
@@ -1,35 +1,47 @@
--- ---
title: "Layout: Post with Table Of Contents" layout: post
header: title: Sample Post
image: assets/images/unsplash-image-9.jpg description: "Just about everything you'll need to style in the theme: headings, paragraphs, blockquotes, tables, code blocks, and more."
caption: "Photo credit: [**Unsplash**](https://unsplash.com)" modified: 2013-05-31
tags: tags: [intro, beginner, jekyll, tutorial]
- table of contents image:
toc: true feature: texture-feature-05.jpg
toc_label: "Unique Title" credit: Texture Lovers
toc_icon: "heart" creditlink: http://texturelovers.com
--- ---
Enable table of contents on post or page by adding `toc: true` to its YAML Front Matter. The title and icon can also be changed with: <section id="table-of-contents" class="toc">
<header>
```yaml <h3>Contents</h3>
--- </header>
toc: true <div id="drawer" markdown="1">
toc_label: "Unique Title" * Auto generated table of contents
toc_icon: "heart" # corresponding Font Awesome icon name (without fa prefix) {:toc}
--- </div>
``` </section><!-- /#table-of-contents -->
## HTML Elements ## HTML Elements
Below is just about everything you'll need to style in the theme. Check the source code to see the many embedded elements within paragraphs. Below is just about everything you'll need to style in the theme. Check the source code to see the many embedded elements within paragraphs.
## Body text # Heading 1
## Heading 2
### Heading 3
#### Heading 4
##### Heading 5
###### Heading 6
### Body text
Lorem ipsum dolor sit amet, test link adipiscing elit. **This is strong**. Nullam dignissim convallis est. Quisque aliquam. Lorem ipsum dolor sit amet, test link adipiscing elit. **This is strong**. Nullam dignissim convallis est. Quisque aliquam.
![Smithsonian Image]({{ site.url }}{{ site.baseurl }}/assets/images/3953273590_704e3899d5_m.jpg) ![Smithsonian Image]({{ site.url }}/images/3953273590_704e3899d5_m.jpg)
{: .image-right} {: .image-pull-right}
*This is emphasized*. Donec faucibus. Nunc iaculis suscipit dui. 53 = 125. Water is H2O. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. The New York Times (That’s a citation). Underline.Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus. *This is emphasized*. Donec faucibus. Nunc iaculis suscipit dui. 53 = 125. Water is H2O. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. The New York Times (That’s a citation). Underline.Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus.
@@ -70,29 +82,16 @@ HTML and CSS are our tools. Mauris a ante. Suspendisse quam sem, consequat at, c
## Code Snippets ## Code Snippets
```css {% highlight css %}
#container { #container {
float: left; float: left;
margin: 0 -240px 0 0; margin: 0 -240px 0 0;
width: 100%; width: 100%;
} }
``` {% endhighlight %}
## Buttons ## Buttons
Make any link standout more when applying the `.btn` class. Make any link standout more when applying the `.btn` class.
```html <div markdown="0"><a href="#" class="btn">This is a button</a></div>
<a href="#" class="btn btn--success">Success Button</a>
```
<div markdown="0"><a href="#" class="btn">Primary Button</a></div>
<div markdown="0"><a href="#" class="btn btn--success">Success Button</a></div>
<div markdown="0"><a href="#" class="btn btn--warning">Warning Button</a></div>
<div markdown="0"><a href="#" class="btn btn--danger">Danger Button</a></div>
<div markdown="0"><a href="#" class="btn btn--info">Info Button</a></div>
## Notices
**Watch out!** You can also add notices by appending `{: .notice}` to a paragraph.
{: .notice}
@@ -1,10 +1,8 @@
--- ---
title: "Markup: Text Readability Test" layout: post
excerpt: "A bunch of text to test readability." title: "Testing Readability with a Bunch of Text"
tags: description: "A ton of text to test readability."
- sample post tags: [sample post, readability, test]
- readability
- test
--- ---
Portland in shoreditch Vice, labore typewriter pariatur hoodie fap sartorial Austin. Pinterest literally occupy Schlitz forage. Odio ad blue bottle vinyl, 90's narwhal commodo bitters pour-over nostrud. Ugh est hashtag in, fingerstache adipisicing laboris esse Pinterest shabby chic Portland. Shoreditch bicycle rights anim, flexitarian laboris put a bird on it vinyl cupidatat narwhal. Hashtag artisan skateboard, flannel Bushwick nesciunt salvia aute fixie do plaid post-ironic dolor McSweeney's. Cliche pour-over chambray nulla four loko skateboard sapiente hashtag. Portland in shoreditch Vice, labore typewriter pariatur hoodie fap sartorial Austin. Pinterest literally occupy Schlitz forage. Odio ad blue bottle vinyl, 90's narwhal commodo bitters pour-over nostrud. Ugh est hashtag in, fingerstache adipisicing laboris esse Pinterest shabby chic Portland. Shoreditch bicycle rights anim, flexitarian laboris put a bird on it vinyl cupidatat narwhal. Hashtag artisan skateboard, flannel Bushwick nesciunt salvia aute fixie do plaid post-ironic dolor McSweeney's. Cliche pour-over chambray nulla four loko skateboard sapiente hashtag.
@@ -15,10 +13,10 @@ Vero laborum commodo occupy. Semiotics voluptate mumblecore pug. Cosby sweater u
In pug Portland incididunt mlkshk put a bird on it vinyl quinoa. Terry Richardson shabby chic +1, scenester Tonx excepteur tempor fugiat voluptate fingerstache aliquip nisi next level. Farm-to-table hashtag Truffaut, Odd Future ex meggings gentrify single-origin coffee try-hard 90's. In pug Portland incididunt mlkshk put a bird on it vinyl quinoa. Terry Richardson shabby chic +1, scenester Tonx excepteur tempor fugiat voluptate fingerstache aliquip nisi next level. Farm-to-table hashtag Truffaut, Odd Future ex meggings gentrify single-origin coffee try-hard 90's.
* Sartorial hoodie * Sartorial hoodie
* Labore viral forage * Labore viral forage
* Tote bag selvage * Tote bag selvage
* DIY exercitation et id ugh tumblr church-key * DIY exercitation et id ugh tumblr church-key
Incididunt umami sriracha, ethical fugiat VHS ex assumenda yr irure direct trade. Marfa Truffaut bicycle rights, kitsch placeat Etsy kogi asymmetrical. Beard locavore flexitarian, kitsch photo booth hoodie plaid ethical readymade leggings yr. Incididunt umami sriracha, ethical fugiat VHS ex assumenda yr irure direct trade. Marfa Truffaut bicycle rights, kitsch placeat Etsy kogi asymmetrical. Beard locavore flexitarian, kitsch photo booth hoodie plaid ethical readymade leggings yr.
@@ -1,12 +1,8 @@
--- ---
title: "Markup: Another Post with Images" layout: post
excerpt: "Examples and code for displaying images in posts." title: "A Post with Images"
header: description: "Examples and code for displaying images in posts."
teaser: "http://farm9.staticflickr.com/8426/7758832526_cc8f681e48_c.jpg" tags: [sample post, images, test]
tags:
- sample post
- images
- test
--- ---
Here are some examples of what a post with images might look like. If you want to display two or three images next to each other responsively use `figure` with the appropriate `class`. Each instance of `figure` is auto-numbered and displayed in the caption. Here are some examples of what a post with images might look like. If you want to display two or three images next to each other responsively use `figure` with the appropriate `class`. Each instance of `figure` is auto-numbered and displayed in the caption.
@@ -20,25 +16,23 @@ Here are some examples of what a post with images might look like. If you want t
<figcaption><a href="http://www.flickr.com/photos/80901381@N04/7758832526/" title="Morning Fog Emerging From Trees by A Guy Taking Pictures, on Flickr">Morning Fog Emerging From Trees by A Guy Taking Pictures, on Flickr</a>.</figcaption> <figcaption><a href="http://www.flickr.com/photos/80901381@N04/7758832526/" title="Morning Fog Emerging From Trees by A Guy Taking Pictures, on Flickr">Morning Fog Emerging From Trees by A Guy Taking Pictures, on Flickr</a>.</figcaption>
</figure> </figure>
Vero laborum commodo occupy. Semiotics voluptate mumblecore pug. Cosby sweater ullamco quinoa ennui assumenda, sapiente occupy delectus lo-fi. Ea fashion axe Marfa cillum aliquip. Retro Bushwick keytar cliche. Before they sold out sustainable gastropub Marfa readymade, ethical Williamsburg skateboard brunch qui consectetur gentrify semiotics. Mustache cillum irony, fingerstache magna pour-over keffiyeh tousled selfies.
#### Two Up #### Two Up
Apply the `half` class like so to display two images side by side that share the same caption. Apply the `half` class like so to display two images side by side that share the same caption.
```html {% highlight html %}
<figure class="half"> <figure class="half">
<a href="/assets/images/image-filename-1-large.jpg"><img src="/assets/images/image-filename-1.jpg"></a> <a href="/images/image-filename-1-large.jpg"><img src="/images/image-filename-1.jpg"></a>
<a href="/assets/images/image-filename-2-large.jpg"><img src="/assets/images/image-filename-2.jpg"></a> <a href="/images/image-filename-2-large.jpg"><img src="/images/image-filename-2.jpg"></a>
<figcaption>Caption describing these two images.</figcaption> <figcaption>Caption describing these two images.</figcaption>
</figure> </figure>
``` {% endhighlight %}
And you'll get something that looks like this: And you'll get something that looks like this:
<figure class="half"> <figure class="half">
<a href="http://placehold.it/1200x600.JPG"><img src="http://placehold.it/600x300.jpg"></a> <a href="http://placehold.it/1200x600.jpg"><img src="http://placehold.it/600x300.jpg"></a>
<a href="http://placehold.it/1200x600.jpeg"><img src="http://placehold.it/600x300.jpg"></a> <a href="http://placehold.it/1200x600.jpg"><img src="http://placehold.it/600x300.jpg"></a>
<figcaption>Two images.</figcaption> <figcaption>Two images.</figcaption>
</figure> </figure>
@@ -46,14 +40,14 @@ And you'll get something that looks like this:
Apply the `third` class like so to display three images side by side that share the same caption. Apply the `third` class like so to display three images side by side that share the same caption.
```html {% highlight html %}
<figure class="third"> <figure class="third">
<img src="/images/image-filename-1.jpg"> <img src="/images/image-filename-1.jpg">
<img src="/images/image-filename-2.jpg"> <img src="/images/image-filename-2.jpg">
<img src="/images/image-filename-3.jpg"> <img src="/images/image-filename-3.jpg">
<figcaption>Caption describing these three images.</figcaption> <figcaption>Caption describing these three images.</figcaption>
</figure> </figure>
``` {% endhighlight %}
And you'll get something that looks like this: And you'll get something that looks like this:
@@ -1,26 +1,26 @@
--- ---
title: "Layout: Header Image and Text Readability" layout: post
header: title: "Post with Large Feature Image and Text"
image: /assets/images/unsplash-image-4.jpg description: "Custom written post descriptions are the way to go... if you're not lazy."
caption: "Photo credit: [**Unsplash**](https://unsplash.com)" tags: [sample post, readability, test]
tags: image:
- sample post feature: texture-feature-04.jpg
- readability credit: Texture Lovers
- test creditlink: http://texturelovers.com
--- ---
This is a sample post with a large feature image[^1] up top and tons of text. Odio ad blue bottle vinyl, 90's narwhal commodo bitters pour-over nostrud. Ugh est hashtag in, fingerstache adipisicing laboris esse Pinterest shabby chic Portland. Shoreditch bicycle rights anim, flexitarian laboris put a bird on it vinyl cupidatat narwhal. Hashtag artisan skateboard, flannel Bushwick nesciunt salvia aute fixie do plaid post-ironic dolor McSweeney's. Cliche pour-over chambray nulla four loko skateboard sapiente hashtag. This is a sample post with a large feature image[^1] up top and tons of text. Odio ad blue bottle vinyl, 90's narwhal commodo bitters pour-over nostrud. Ugh est hashtag in, fingerstache adipisicing laboris esse Pinterest shabby chic Portland. Shoreditch bicycle rights anim, flexitarian laboris put a bird on it vinyl cupidatat narwhal. Hashtag artisan skateboard, flannel Bushwick nesciunt salvia aute fixie do plaid post-ironic dolor McSweeney's. Cliche pour-over chambray nulla four loko skateboard sapiente hashtag.
Vero laborum commodo occupy. Semiotics voluptate mumblecore pug. Cosby sweater ullamco quinoa ennui assumenda, sapiente occupy delectus lo-fi. *Ea fashion axe [Marfa cillum aliquip](#). Retro Bushwick keytar cliche.* Before they sold out sustainable gastropub Marfa readymade, ethical Williamsburg skateboard brunch qui consectetur gentrify semiotics. Mustache cillum irony, fingerstache magna pour-over keffiyeh tousled selfies. Vero laborum commodo occupy. Semiotics voluptate mumblecore pug. Cosby sweater ullamco quinoa ennui assumenda, sapiente occupy delectus lo-fi. Ea fashion axe Marfa cillum aliquip. Retro Bushwick keytar cliche. Before they sold out sustainable gastropub Marfa readymade, ethical Williamsburg skateboard brunch qui consectetur gentrify semiotics. Mustache cillum irony, fingerstache magna pour-over keffiyeh tousled selfies.
## Cupidatat 90's lo-fi authentic try-hard ## Cupidatat 90's lo-fi authentic try-hard
In pug Portland incididunt mlkshk put a bird on it vinyl quinoa. **[Terry Richardson](#) shabby chic +1**, scenester Tonx excepteur tempor fugiat voluptate fingerstache aliquip nisi next level. Farm-to-table hashtag Truffaut, Odd Future ex meggings gentrify single-origin coffee try-hard 90's. In pug Portland incididunt mlkshk put a bird on it vinyl quinoa. Terry Richardson shabby chic +1, scenester Tonx excepteur tempor fugiat voluptate fingerstache aliquip nisi next level. Farm-to-table hashtag Truffaut, Odd Future ex meggings gentrify single-origin coffee try-hard 90's.
* Sartorial hoodie * Sartorial hoodie
* Labore viral forage * Labore viral forage
* Tote bag selvage * Tote bag selvage
* DIY exercitation et id ugh tumblr church-key * DIY exercitation et id ugh tumblr church-key
Incididunt umami sriracha, ethical fugiat VHS ex assumenda yr irure direct trade. Marfa Truffaut bicycle rights, kitsch placeat Etsy kogi asymmetrical. Beard locavore flexitarian, kitsch photo booth hoodie plaid ethical readymade leggings yr. Incididunt umami sriracha, ethical fugiat VHS ex assumenda yr irure direct trade. Marfa Truffaut bicycle rights, kitsch placeat Etsy kogi asymmetrical. Beard locavore flexitarian, kitsch photo booth hoodie plaid ethical readymade leggings yr.
+113
View File
@@ -0,0 +1,113 @@
---
layout: post
title: Syntax Highlighting Post
description: "Demo post displaying the various ways of highlighting code in Markdown."
tags: [sample post, code, highlighting]
---
[Syntax highlighting](http://en.wikipedia.org/wiki/Syntax_highlighting) is a feature that displays source code, in different colors and fonts according to the category of terms. This feature facilitates writing in a structured language such as a programming language or a markup language as both structures and syntax errors are visually distinct. Highlighting does not affect the meaning of the text itself; it is intended only for human readers.
### Pygments Code Blocks
To modify styling and highlight colors edit `/assets/less/pygments.less` and compile `main.less` with your favorite preprocessor. Or edit `main.css` if that's your thing, the classes you want to modify all begin with `.highlight`.
{% highlight css %}
#container {
float: left;
margin: 0 -240px 0 0;
width: 100%;
}
{% endhighlight %}
Line numbering enabled:
{% highlight html linenos %}
{% raw %}
<nav class="pagination" role="navigation">
{% if page.previous %}
<a href="{{ site.url }}{{ page.previous.url }}" class="btn" title="{{ page.previous.title }}">Previous article</a>
{% endif %}
{% if page.next %}
<a href="{{ site.url }}{{ page.next.url }}" class="btn" title="{{ page.next.title }}">Next article</a>
{% endif %}
</nav><!-- /.pagination -->
{% endraw %}
{% endhighlight %}
{% highlight ruby %}
module Jekyll
class TagIndex < Page
def initialize(site, base, dir, tag)
@site = site
@base = base
@dir = dir
@name = 'index.html'
self.process(@name)
self.read_yaml(File.join(base, '_layouts'), 'tag_index.html')
self.data['tag'] = tag
tag_title_prefix = site.config['tag_title_prefix'] || 'Tagged: '
tag_title_suffix = site.config['tag_title_suffix'] || '&#8211;'
self.data['title'] = "#{tag_title_prefix}#{tag}"
self.data['description'] = "An archive of posts tagged #{tag}."
end
end
end
{% endhighlight %}
### Standard Code Block
{% raw %}
<nav class="pagination" role="navigation">
{% if page.previous %}
<a href="{{ site.url }}{{ page.previous.url }}" class="btn" title="{{ page.previous.title }}">Previous article</a>
{% endif %}
{% if page.next %}
<a href="{{ site.url }}{{ page.next.url }}" class="btn" title="{{ page.next.title }}">Next article</a>
{% endif %}
</nav><!-- /.pagination -->
{% endraw %}
### Fenced Code Blocks
To modify styling and highlight colors edit `/assets/less/coderay.less` and compile `main.less` with your favorite preprocessor. Or edit `main.css` if that's your thing, the classes you want to modify all begin with `.coderay`. Line numbers and a few other things can be modified in `_config.yml` under `coderay`.
~~~ css
#container {
float: left;
margin: 0 -240px 0 0;
width: 100%;
}
~~~
~~~ html
{% raw %}<nav class="pagination" role="navigation">
{% if page.previous %}
<a href="{{ site.url }}{{ page.previous.url }}" class="btn" title="{{ page.previous.title }}">Previous article</a>
{% endif %}
{% if page.next %}
<a href="{{ site.url }}{{ page.next.url }}" class="btn" title="{{ page.next.title }}">Next article</a>
{% endif %}
</nav><!-- /.pagination -->{% endraw %}
~~~
~~~ ruby
module Jekyll
class TagIndex < Page
def initialize(site, base, dir, tag)
@site = site
@base = base
@dir = dir
@name = 'index.html'
self.process(@name)
self.read_yaml(File.join(base, '_layouts'), 'tag_index.html')
self.data['tag'] = tag
tag_title_prefix = site.config['tag_title_prefix'] || 'Tagged: '
tag_title_suffix = site.config['tag_title_suffix'] || '&#8211;'
self.data['title'] = "#{tag_title_prefix}#{tag}"
self.data['description'] = "An archive of posts tagged #{tag}."
end
end
end
~~~
-40
View File
@@ -1,40 +0,0 @@
/*!
* Minimal Mistakes Jekyll Theme 4.10.0 by Michael Rose
* Copyright 2013-2018 Michael Rose - mademistakes.com | @mmistakes
* Licensed under MIT (https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt)
*/
/* Variables */
@import "minimal-mistakes/variables";
/* Mixins and functions */
@import "minimal-mistakes/vendor/breakpoint/breakpoint";
@include breakpoint-set("to ems", true);
@import "minimal-mistakes/vendor/magnific-popup/magnific-popup"; // Magnific Popup
@import "minimal-mistakes/vendor/susy/susy";
@import "minimal-mistakes/mixins";
/* Core CSS */
@import "minimal-mistakes/reset";
@import "minimal-mistakes/base";
@import "minimal-mistakes/forms";
@import "minimal-mistakes/tables";
@import "minimal-mistakes/animations";
/* Components */
@import "minimal-mistakes/buttons";
@import "minimal-mistakes/notices";
@import "minimal-mistakes/masthead";
@import "minimal-mistakes/navigation";
@import "minimal-mistakes/footer";
@import "minimal-mistakes/search";
@import "minimal-mistakes/syntax";
/* Utility classes */
@import "minimal-mistakes/utilities";
/* Layout specific */
@import "minimal-mistakes/page";
@import "minimal-mistakes/archive";
@import "minimal-mistakes/sidebar";
@import "minimal-mistakes/print";
-21
View File
@@ -1,21 +0,0 @@
/* ==========================================================================
ANIMATIONS
========================================================================== */
@-webkit-keyframes intro {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes intro {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
-319
View File
@@ -1,319 +0,0 @@
/* ==========================================================================
ARCHIVE
========================================================================== */
.archive {
margin-bottom: 2em;
@include breakpoint($large) {
float: right;
width: calc(100% - #{$right-sidebar-width-narrow});
padding-right: $right-sidebar-width-narrow;
}
@include breakpoint($x-large) {
width: calc(100% - #{$right-sidebar-width});
padding-right: $right-sidebar-width;
}
}
.archive__subtitle {
margin: 1.414em 0 0;
padding-bottom: 0.5em;
font-size: $type-size-5;
color: $muted-text-color;
border-bottom: 1px solid $border-color;
+ .list__item .archive__item-title {
margin-top: 0.5em;
}
}
.archive__item-title {
margin-bottom: 0.25em;
font-family: $sans-serif-narrow;
line-height: initial;
overflow: hidden;
text-overflow: ellipsis;
a {
color: inherit;
}
a + a {
opacity: 0.5;
}
}
/* remove border*/
.page__content {
.archive__item-title {
margin-top: 1em;
border-bottom: none;
}
}
.archive__item-excerpt {
margin-top: 0;
font-size: $type-size-6;
& + p {
text-indent: 0;
}
}
.archive__item-teaser {
border-radius: $border-radius;
overflow: hidden;
img {
width: 100%;
}
}
/*
List view
========================================================================== */
.list__item {
.page__meta {
margin: 0 0 4px;
font-size: 0.6em;
}
}
/*
Grid view
========================================================================== */
.archive {
.grid__wrapper {
/* extend grid elements to the right */
@include breakpoint($large) {
margin-right: -1 * $right-sidebar-width-narrow;
}
@include breakpoint($x-large) {
margin-right: -1 * $right-sidebar-width;
}
}
}
.grid__item {
margin-bottom: 2em;
@include breakpoint($small) {
float: left;
width: span(5 of 10);
&:nth-child(2n + 1) {
clear: both;
margin-left: 0;
}
&:nth-child(2n + 2) {
clear: none;
margin-left: gutter(of 10);
}
}
@include breakpoint($medium) {
margin-left: 0; /* override margin*/
margin-right: 0; /* override margin*/
width: span(3 of 12);
&:nth-child(2n + 1) {
clear: none;
}
&:nth-child(4n + 1) {
clear: both;
}
&:nth-child(4n + 2) {
clear: none;
margin-left: gutter(1 of 12);
}
&:nth-child(4n + 3) {
clear: none;
margin-left: gutter(1 of 12);
}
&:nth-child(4n + 4) {
clear: none;
margin-left: gutter(1 of 12);
}
}
.page__meta {
margin: 0 0 4px;
font-size: 0.6em;
}
.archive__item-title {
margin-top: 0.5em;
font-size: $type-size-5;
}
.archive__item-excerpt {
display: none;
@include breakpoint($medium) {
display: block;
font-size: $type-size-6;
}
}
.archive__item-teaser {
@include breakpoint($small) {
max-height: 200px;
}
@include breakpoint($medium) {
max-height: 120px;
}
}
}
/*
Features
========================================================================== */
.feature__wrapper {
@include clearfix();
margin-bottom: 2em;
border-bottom: 1px solid $border-color;
}
.feature__item {
margin-bottom: 2em;
font-size: 1.25rem;
@include breakpoint($small) {
float: left;
margin-bottom: 0;
width: span(4 of 12);
&:nth-child(3n + 1) {
clear: both;
margin-left: 0;
}
&:nth-child(3n + 2) {
clear: none;
margin-left: gutter(of 12);
}
&:nth-child(3n + 3) {
clear: none;
margin-left: gutter(of 12);
}
.feature__item-teaser {
max-height: 200px;
overflow: hidden;
}
}
&--left {
float: left;
margin-left: 0;
margin-right: 0;
width: 100%;
clear: both;
font-size: 1.25rem;
.archive__item-teaser {
margin-bottom: 2em;
}
@include breakpoint($small) {
.archive__item-teaser {
float: left;
width: span(5 of 12);
}
.archive__item-body {
float: right;
padding-left: gutter(0.5 of 12);
padding-right: gutter(1 of 12);
width: span(7 of 12);
}
}
}
&--right {
float: left;
margin-left: 0;
margin-right: 0;
width: 100%;
clear: both;
font-size: 1.25rem;
.archive__item-teaser {
margin-bottom: 2em;
}
@include breakpoint($small) {
text-align: right;
.archive__item-teaser {
float: right;
width: span(5 of 12);
}
.archive__item-body {
float: right;
width: span(7 of 12);
padding-left: gutter(0.5 of 12);
padding-right: gutter(1 of 12);
}
}
}
&--center {
float: left;
margin-left: 0;
margin-right: 0;
width: 100%;
clear: both;
font-size: 1.25rem;
.archive__item-teaser {
margin-bottom: 2em;
}
@include breakpoint($small) {
text-align: center;
.archive__item-teaser {
margin: 0 auto;
width: span(5 of 12);
}
.archive__item-body {
margin: 0 auto;
width: span(7 of 12);
}
}
}
}
/* Place inside an archive layout */
.archive {
.feature__wrapper {
.archive__item-title {
margin-top: 0.25em;
font-size: 1em;
}
}
.feature__item,
.feature__item--left,
.feature__item--center,
.feature__item--right {
font-size: 1em;
}
}
-358
View File
@@ -1,358 +0,0 @@
/* ==========================================================================
BASE ELEMENTS
========================================================================== */
html {
/* sticky footer fix */
position: relative;
min-height: 100%;
}
body {
margin: 0;
padding: 0;
color: $text-color;
font-family: $global-font-family;
line-height: 1.5;
&.overflow--hidden {
/* when primary navigation is visible, the content in the background won't scroll */
overflow: hidden;
}
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin: 2em 0 0.5em;
line-height: 1.2;
font-family: $header-font-family;
font-weight: bold;
}
h1 {
margin-top: 0;
font-size: $type-size-3;
}
h2 {
font-size: $type-size-4;
}
h3 {
font-size: $type-size-5;
}
h4 {
font-size: $type-size-6;
}
h5 {
font-size: $type-size-6;
}
h6 {
font-size: $type-size-6;
}
small,
.small {
font-size: $type-size-6;
}
p {
margin-bottom: 1.3em;
}
u,
ins {
text-decoration: none;
border-bottom: 1px solid $text-color;
a {
color: inherit;
}
}
del a {
color: inherit;
}
/* reduce orphans and widows when printing */
p,
pre,
blockquote,
ul,
ol,
dl,
figure,
table,
fieldset {
orphans: 3;
widows: 3;
}
/* abbreviations */
abbr[title],
abbr[data-original-title] {
text-decoration: none;
cursor: help;
border-bottom: 1px dotted $text-color;
}
/* blockquotes */
blockquote {
margin: 2em 1em 2em 0;
padding-left: 1em;
padding-right: 1em;
font-style: italic;
border-left: 0.25em solid $primary-color;
cite {
font-style: italic;
&:before {
content: "\2014";
padding-right: 5px;
}
}
}
/* links */
a {
&:focus {
@extend %tab-focus;
}
&:hover,
&:active {
color: $link-color-hover;
outline: 0;
}
&:visited {
color: $link-color-visited;
}
}
/* buttons */
button:focus {
@extend %tab-focus;
}
/* code */
tt,
code,
kbd,
samp,
pre {
font-family: $monospace;
}
pre {
overflow-x: auto; /* add scrollbars to wide code blocks*/
}
p > code,
a > code,
li > code,
figcaption > code,
td > code {
padding-top: 0.1rem;
padding-bottom: 0.1rem;
font-size: $type-size-6;
background: $code-background-color;
border-radius: $border-radius;
&:before,
&:after {
letter-spacing: -0.2em;
content: "\00a0"; /* non-breaking space*/
}
}
/* horizontal rule */
hr {
display: block;
margin: 1em 0;
border: 0;
border-top: 1px solid $border-color;
}
/* lists */
ul li,
ol li {
margin-bottom: 0.5em;
}
li ul,
li ol {
margin-top: 0.5em;
}
/*
Media and embeds
========================================================================== */
/* Figures and images */
figure {
display: -webkit-box;
display: flex;
-webkit-box-pack: justify;
justify-content: space-between;
-webkit-box-align: start;
align-items: flex-start;
flex-wrap: wrap;
margin: 2em 0;
img,
iframe,
.fluid-width-video-wrapper {
margin-bottom: 1em;
}
img {
width: 100%;
border-radius: $border-radius;
-webkit-transition: $global-transition;
transition: $global-transition;
}
> a {
display: block;
}
&.half {
> a,
> img {
@include breakpoint($small) {
width: calc(50% - 0.5em);
}
}
figcaption {
width: 100%;
}
}
&.third {
> a,
> img {
@include breakpoint($small) {
width: calc(33.3333% - 0.5em);
}
}
figcaption {
width: 100%;
}
}
}
/* Figure captions */
figcaption {
margin-bottom: 0.5em;
color: $muted-text-color;
font-family: $caption-font-family;
font-size: $type-size-6;
a {
-webkit-transition: $global-transition;
transition: $global-transition;
&:hover {
color: $link-color-hover;
}
}
}
/* Fix IE9 SVG bug */
svg:not(:root) {
overflow: hidden;
}
/*
Navigation lists
========================================================================== */
/**
* Removes margins, padding, and bullet points from navigation lists
*
* Example usage:
* <nav>
* <ul>
* <li><a href="#link-1">Link 1</a></li>
* <li><a href="#link-2">Link 2</a></li>
* <li><a href="#link-3">Link 3</a></li>
* </ul>
* </nav>
*/
nav {
ul {
margin: 0;
padding: 0;
}
li {
list-style: none;
}
a {
text-decoration: none;
}
/* override white-space for nested lists */
ul li,
ol li {
margin-bottom: 0;
}
li ul,
li ol {
margin-top: 0;
}
}
/*
Global animation transition
========================================================================== */
b,
i,
strong,
em,
blockquote,
p,
q,
span,
figure,
img,
h1,
h2,
header,
input,
a,
tr,
td,
form button,
input[type="submit"],
.btn,
.highlight,
.archive__item-teaser {
-webkit-transition: $global-transition;
transition: $global-transition;
}
-98
View File
@@ -1,98 +0,0 @@
/* ==========================================================================
BUTTONS
========================================================================== */
/*
Default button
========================================================================== */
.btn {
/* default */
display: inline-block;
margin-bottom: 0.25em;
padding: 0.5em 1em;
font-family: $sans-serif;
font-size: $type-size-6;
font-weight: bold;
text-align: center;
text-decoration: none;
border-width: 0;
border-radius: $border-radius;
cursor: pointer;
.icon {
margin-right: 0.5em;
}
.icon + .hidden {
margin-left: -0.5em; /* override for hidden text*/
}
/* button colors */
$buttoncolors:
(primary, $primary-color),
(inverse, #fff),
(light-outline, transparent),
(success, $success-color),
(warning, $warning-color),
(danger, $danger-color),
(info, $info-color),
(facebook, $facebook-color),
(twitter, $twitter-color),
(google-plus, $google-plus-color),
(linkedin, $linkedin-color);
@each $buttoncolor, $color in $buttoncolors {
&--#{$buttoncolor} {
@include yiq-contrasted($color);
@if ($buttoncolor == inverse) {
border: 1px solid $border-color;
}
@if ($buttoncolor == light-outline) {
border: 1px solid #fff;
}
&:hover {
@include yiq-contrasted(mix(#000, $color, 20%));
}
&:visited {
@include yiq-contrasted($color);
}
}
}
/* fills width of parent container */
&--block {
display: block;
width: 100%;
+ .btn--block {
margin-top: 0.25em;
}
}
/* disabled */
&--disabled {
pointer-events: none;
cursor: not-allowed;
filter: alpha(opacity=65);
box-shadow: none;
opacity: 0.65;
}
/* extra large button */
&--x-large {
font-size: $type-size-4;
}
/* large button */
&--large {
font-size: $type-size-5;
}
/* small button */
&--small {
font-size: $type-size-7;
}
}
-85
View File
@@ -1,85 +0,0 @@
/* ==========================================================================
FOOTER
========================================================================== */
.page__footer {
@include clearfix;
float: left;
margin-left: 0;
margin-right: 0;
width: 100%;
clear: both;
/* sticky footer fix start */
position: absolute;
bottom: 0;
height: auto;
/* sticky footer fix end */
margin-top: 3em;
color: $muted-text-color;
-webkit-animation: $intro-transition;
animation: $intro-transition;
-webkit-animation-delay: 0.45s;
animation-delay: 0.45s;
background-color: $footer-background-color;
footer {
@include clearfix;
margin-left: auto;
margin-right: auto;
margin-top: 2em;
max-width: 100%;
padding: 0 1em 2em;
@include breakpoint($x-large) {
max-width: $x-large;
}
}
a {
color: inherit;
text-decoration: none;
&:hover {
text-decoration: underline;
}
}
.fas,
.fab,
.far,
.fal {
color: $muted-text-color;
}
}
.page__footer-copyright {
font-family: $global-font-family;
font-size: $type-size-7;
}
.page__footer-follow {
ul {
margin: 0;
padding: 0;
list-style-type: none;
}
li {
display: inline-block;
padding-top: 5px;
padding-bottom: 5px;
font-family: $sans-serif-narrow;
font-size: $type-size-6;
text-transform: uppercase;
}
li + li:before {
content: "";
padding-right: 5px;
}
a {
padding-right: 10px;
font-weight: bold;
}
}
-393
View File
@@ -1,393 +0,0 @@
/* ==========================================================================
Forms
========================================================================== */
form {
margin: 0 0 5px 0;
padding: 1em;
background-color: $form-background-color;
fieldset {
margin-bottom: 5px;
padding: 0;
border-width: 0;
}
legend {
display: block;
width: 100%;
margin-bottom: 5px * 2;
*margin-left: -7px;
padding: 0;
color: $text-color;
border: 0;
white-space: normal;
}
p {
margin-bottom: 5px / 2;
}
ul {
list-style-type: none;
margin: 0 0 5px 0;
padding: 0;
}
br {
display: none;
}
}
label,
input,
button,
select,
textarea {
vertical-align: baseline;
*vertical-align: middle;
}
input,
button,
select,
textarea {
box-sizing: border-box;
font-family: $sans-serif;
}
label {
display: block;
margin-bottom: 0.25em;
color: $text-color;
cursor: pointer;
small {
font-size: $type-size-6;
}
input,
textarea,
select {
display: block;
}
}
input,
textarea,
select {
display: inline-block;
width: 100%;
padding: 0.25em;
margin-bottom: 0.5em;
color: $text-color;
background-color: $background-color;
border: $border-color;
border-radius: $border-radius;
box-shadow: $box-shadow;
}
.input-mini {
width: 60px;
}
.input-small {
width: 90px;
}
input[type="image"],
input[type="checkbox"],
input[type="radio"] {
width: auto;
height: auto;
padding: 0;
margin: 3px 0;
*margin-top: 0;
line-height: normal;
cursor: pointer;
border-radius: 0;
border: 0 \9;
}
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box;
padding: 0;
*width: 13px;
*height: 13px;
}
input[type="image"] {
border: 0;
box-shadow: none;
}
input[type="file"] {
width: auto;
padding: initial;
line-height: initial;
border: initial;
background-color: transparent;
background-color: initial;
box-shadow: none;
}
input[type="button"],
input[type="reset"],
input[type="submit"] {
width: auto;
height: auto;
cursor: pointer;
*overflow: visible;
}
select,
input[type="file"] {
*margin-top: 4px;
}
select {
width: auto;
background-color: #fff;
}
select[multiple],
select[size] {
height: auto;
}
textarea {
resize: vertical;
height: auto;
overflow: auto;
vertical-align: top;
}
input[type="hidden"] {
display: none;
}
.form {
position: relative;
}
.radio,
.checkbox {
padding-left: 18px;
font-weight: normal;
}
.radio input[type="radio"],
.checkbox input[type="checkbox"] {
float: left;
margin-left: -18px;
}
.radio.inline,
.checkbox.inline {
display: inline-block;
padding-top: 5px;
margin-bottom: 0;
vertical-align: middle;
}
.radio.inline + .radio.inline,
.checkbox.inline + .checkbox.inline {
margin-left: 10px;
}
/*
Disabled state
========================================================================== */
input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
opacity: 0.5;
cursor: not-allowed;
}
/*
Focus & active state
========================================================================== */
input:focus,
textarea:focus {
border-color: $primary-color;
outline: 0;
outline: thin dotted \9;
box-shadow: inset 0 1px 3px rgba($text-color, 0.06),
0 0 5px rgba($primary-color, 0.7);
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus,
select:focus {
box-shadow: none;
}
/*
Help text
========================================================================== */
.help-block,
.help-inline {
color: $muted-text-color;
}
.help-block {
display: block;
margin-bottom: 1em;
line-height: 1em;
}
.help-inline {
display: inline-block;
vertical-align: middle;
padding-left: 5px;
}
/*
.form-group
========================================================================== */
.form-group {
margin-bottom: 5px;
padding: 0;
border-width: 0;
}
/*
.form-inline
========================================================================== */
.form-inline input,
.form-inline textarea,
.form-inline select {
display: inline-block;
margin-bottom: 0;
}
.form-inline label {
display: inline-block;
}
.form-inline .radio,
.form-inline .checkbox,
.form-inline .radio {
padding-left: 0;
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
float: left;
margin-left: 0;
margin-right: 3px;
}
/*
.form-search
========================================================================== */
.form-search input,
.form-search textarea,
.form-search select {
display: inline-block;
margin-bottom: 0;
}
.form-search .search-query {
padding-left: 14px;
padding-right: 14px;
margin-bottom: 0;
border-radius: 14px;
}
.form-search label {
display: inline-block;
}
.form-search .radio,
.form-search .checkbox,
.form-inline .radio {
padding-left: 0;
margin-bottom: 0;
vertical-align: middle;
}
.form-search .radio input[type="radio"],
.form-search .checkbox input[type="checkbox"] {
float: left;
margin-left: 0;
margin-right: 3px;
}
/*
.form--loading
========================================================================== */
.form--loading:before {
content: "";
}
.form--loading .form__spinner {
display: block;
}
.form:before {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255, 255, 255, 0.7);
z-index: 10;
}
.form__spinner {
display: none;
position: absolute;
top: 50%;
left: 50%;
z-index: 11;
}
/*
Google search form
========================================================================== */
#goog-fixurl {
ul {
list-style: none;
margin-left: 0;
padding-left: 0;
li {
list-style-type: none;
}
}
}
#goog-wm-qt {
width: auto;
margin-right: 10px;
margin-bottom: 20px;
padding: 8px 20px;
display: inline-block;
font-size: $type-size-6;
background-color: #fff;
color: #000;
border-width: 2px !important;
border-style: solid !important;
border-color: $border-color;
border-radius: $border-radius;
}
#goog-wm-sb {
@extend .btn;
}
-83
View File
@@ -1,83 +0,0 @@
/* ==========================================================================
MASTHEAD
========================================================================== */
.masthead {
position: relative;
border-bottom: 1px solid $border-color;
-webkit-animation: $intro-transition;
animation: $intro-transition;
-webkit-animation-delay: 0.15s;
animation-delay: 0.15s;
z-index: 20;
&__inner-wrap {
@include clearfix;
margin-left: auto;
margin-right: auto;
padding: 1em;
max-width: 100%;
display: -webkit-box;
display: flex;
-webkit-box-pack: justify;
justify-content: space-between;
font-family: $sans-serif-narrow;
@include breakpoint($x-large) {
max-width: $x-large;
}
nav {
z-index: 10;
}
a {
text-decoration: none;
}
}
}
.site-title {
display: -webkit-box;
display: flex;
padding: 0.5rem 0;
align-self: stretch;
-webkit-box-align: center;
align-items: center;
font-weight: bold;
z-index: 20;
}
.masthead__menu {
float: left;
margin-left: 0;
margin-right: 0;
width: 100%;
clear: both;
.site-nav {
margin-left: 0;
@include breakpoint($small) {
float: right;
}
}
ul {
margin: 0;
padding: 0;
clear: both;
list-style-type: none;
}
}
.masthead__menu-item {
display: block;
list-style-type: none;
white-space: nowrap;
&--lg {
padding-right: 2em;
font-weight: 700;
}
}
-92
View File
@@ -1,92 +0,0 @@
/* ==========================================================================
MIXINS
========================================================================== */
%tab-focus {
/* Default*/
outline: thin dotted $warning-color;
/* Webkit*/
outline: 5px auto $warning-color;
outline-offset: -2px;
}
/*
em function
========================================================================== */
@function em($target, $context: $doc-font-size) {
@return ($target / $context) * 1em;
}
/*
Bourbon clearfix
========================================================================== */
/*
* Provides an easy way to include a clearfix for containing floats.
* link http://cssmojo.com/latest_new_clearfix_so_far/
*
* example scss - Usage
*
* .element {
* @include clearfix;
* }
*
* example css - CSS Output
*
* .element::after {
* clear: both;
* content: "";
* display: table;
* }
*/
@mixin clearfix {
clear: both;
&::after {
clear: both;
content: "";
display: table;
}
}
/*
Compass YIQ Color Contrast
https://github.com/easy-designs/yiq-color-contrast
========================================================================== */
@function yiq-is-light(
$color,
$threshold: $yiq-contrasted-threshold
) {
$red: red($color);
$green: green($color);
$blue: blue($color);
$yiq: (($red*299)+($green*587)+($blue*114))/1000;
@if $yiq-debug { @debug $yiq, $threshold; }
@return if($yiq >= $threshold, true, false);
}
@function yiq-contrast-color(
$color,
$dark: $yiq-contrasted-dark-default,
$light: $yiq-contrasted-light-default,
$threshold: $yiq-contrasted-threshold
) {
@return if(yiq-is-light($color, $threshold), $yiq-contrasted-dark-default, $yiq-contrasted-light-default);
}
@mixin yiq-contrasted(
$background-color,
$dark: $yiq-contrasted-dark-default,
$light: $yiq-contrasted-light-default,
$threshold: $yiq-contrasted-threshold
) {
background-color: $background-color;
color: yiq-contrast-color($background-color, $dark, $light, $threshold);
}
-550
View File
@@ -1,550 +0,0 @@
/* ==========================================================================
NAVIGATION
========================================================================== */
/*
Breadcrumb navigation links
========================================================================== */
.breadcrumbs {
@include clearfix;
margin: 0 auto;
max-width: 100%;
padding-left: 2em;
padding-right: 2em;
font-family: $sans-serif;
-webkit-animation: $intro-transition;
animation: $intro-transition;
-webkit-animation-delay: 0.3s;
animation-delay: 0.3s;
@include breakpoint($large) {
padding-left: 1em;
padding-right: 1em;
}
@include breakpoint($x-large) {
max-width: $x-large;
}
ol {
padding: 0;
list-style: none;
font-size: $type-size-6;
@include breakpoint($large) {
float: right;
width: span(10 of 12);
}
@include breakpoint($x-large) {
padding-left: gutter(0.5 of 12);
}
}
li {
display: inline;
}
.current {
font-weight: bold;
}
}
/*
Post pagination navigation links
========================================================================== */
.pagination {
@include clearfix();
float: left;
margin-top: 1em;
padding-top: 1em;
width: 100%;
ul {
margin: 0;
padding: 0;
list-style-type: none;
font-family: $sans-serif;
}
li {
display: block;
float: left;
margin-left: -1px;
a {
display: block;
margin-bottom: 0.25em;
padding: 0.5em 1em;
font-family: $sans-serif;
font-size: 14px;
font-weight: bold;
line-height: 1.5;
text-align: center;
text-decoration: none;
color: $muted-text-color;
border: 1px solid mix(#000, $border-color, 25%);
border-radius: 0;
&:hover {
color: $link-color-hover;
}
&.current,
&.current.disabled {
color: #fff;
background: $primary-color;
}
&.disabled {
color: rgba($muted-text-color, 0.5);
pointer-events: none;
cursor: not-allowed;
}
}
&:first-child {
margin-left: 0;
a {
border-top-left-radius: $border-radius;
border-bottom-left-radius: $border-radius;
}
}
&:last-child {
a {
border-top-right-radius: $border-radius;
border-bottom-right-radius: $border-radius;
}
}
}
/* next/previous buttons */
&--pager {
display: block;
padding: 1em 2em;
float: left;
width: 50%;
font-family: $sans-serif;
font-size: $type-size-5;
font-weight: bold;
text-align: center;
text-decoration: none;
color: $muted-text-color;
border: 1px solid mix(#000, $border-color, 25%);
border-radius: $border-radius;
&:hover {
@include yiq-contrasted($muted-text-color);
}
&:first-child {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
&:last-child {
margin-left: -1px;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
&.disabled {
color: rgba($muted-text-color, 0.5);
pointer-events: none;
cursor: not-allowed;
}
}
}
.page__content + .pagination,
.page__meta + .pagination,
.page__share + .pagination,
.page__comments + .pagination {
margin-top: 2em;
padding-top: 2em;
border-top: 1px solid $border-color;
}
/*
Priority plus navigation
========================================================================== */
.greedy-nav {
position: relative;
display: -webkit-box;
display: flex;
-webkit-box-align: center;
align-items: center;
background: $background-color;
a {
display: block;
margin: 0 1rem;
padding: 0.5rem 0;
color: $masthead-link-color;
text-decoration: none;
&:hover {
color: $masthead-link-color-hover;
}
&.site-title {
margin-left: 0;
}
}
&__toggle {
padding: 0 0.5rem;
align-self: stretch;
border: 0;
outline: none;
color: #fff;
background-color: $primary-color;
cursor: pointer;
}
.visible-links {
display: -webkit-box;
display: flex;
-webkit-box-pack: end;
justify-content: flex-end;
-webkit-box-flex: 1;
flex: 1;
overflow: hidden;
li {
-webkit-box-flex: 0;
flex: none;
}
a {
position: relative;
&:before {
content: "";
position: absolute;
left: 0;
bottom: 0;
height: 4px;
background: $primary-color;
width: 100%;
-webkit-transition: $global-transition;
transition: $global-transition;
-webkit-transform: scaleX(0) translate3d(0, 0, 0);
transform: scaleX(0) translate3d(0, 0, 0); /* hide*/
}
&:hover:before {
-webkit-transform: scaleX(1);
-ms-transform: scaleX(1);
transform: scaleX(1); /* reveal*/
}
}
}
.hidden-links {
position: absolute;
top: 100%;
right: 0;
margin-top: 15px;
padding: 5px;
border: 1px solid $border-color;
border-radius: $border-radius;
background: $background-color;
box-shadow: 0 2px 4px 0 rgba(#000, 0.16), 0 2px 10px 0 rgba(#000, 0.12);
&.hidden {
display: none;
}
a {
margin: 0;
padding: 10px 20px;
font-size: $type-size-5;
&:hover {
color: $masthead-link-color-hover;
background: $navicon-link-color-hover;
}
}
&:before {
content: "";
position: absolute;
top: -11px;
right: 10px;
width: 0;
border-style: solid;
border-width: 0 10px 10px;
border-color: $border-color transparent;
display: block;
z-index: 0;
}
&:after {
content: "";
position: absolute;
top: -10px;
right: 10px;
width: 0;
border-style: solid;
border-width: 0 10px 10px;
border-color: $background-color transparent;
display: block;
z-index: 1;
}
li {
display: block;
border-bottom: 1px solid $border-color;
&:last-child {
border-bottom: none;
}
}
}
}
.no-js {
.greedy-nav {
.visible-links {
-ms-flex-wrap: wrap;
flex-wrap: wrap;
overflow: visible;
}
}
}
/*
Navigation list
========================================================================== */
.nav__list {
margin-bottom: 1.5em;
input[type="checkbox"],
label {
display: none;
}
@include breakpoint(max-width ($large - 1px)) {
label {
position: relative;
display: inline-block;
padding: 0.5em 2.5em 0.5em 1em;
color: $gray;
font-size: $type-size-6;
font-weight: bold;
border: 1px solid $light-gray;
border-radius: $border-radius;
z-index: 20;
-webkit-transition: 0.2s ease-out;
transition: 0.2s ease-out;
cursor: pointer;
&:before,
&:after {
content: "";
position: absolute;
right: 1em;
top: 1.25em;
width: 0.75em;
height: 0.125em;
line-height: 1;
background-color: $gray;
-webkit-transition: 0.2s ease-out;
transition: 0.2s ease-out;
}
&:after {
-webkit-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
}
&:hover {
color: #fff;
border-color: $gray;
background-color: mix(white, #000, 20%);
&:before,
&:after {
background-color: #fff;
}
}
}
/* selected*/
input:checked + label {
color: white;
background-color: mix(white, #000, 20%);
&:before,
&:after {
background-color: #fff;
}
}
/* on hover show expand*/
label:hover:after {
-webkit-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
}
input:checked + label:hover:after {
-webkit-transform: rotate(0);
-ms-transform: rotate(0);
transform: rotate(0);
}
ul {
margin-bottom: 1em;
}
a {
display: block;
padding: 0.25em 0;
@include breakpoint($large) {
padding-top: 0.125em;
padding-bottom: 0.125em;
}
&:hover {
text-decoration: underline;
}
}
}
}
.nav__list .nav__items {
margin: 0;
font-size: 1.25rem;
a {
color: inherit;
}
.active {
margin-left: -0.5em;
padding-left: 0.5em;
padding-right: 0.5em;
font-weight: bold;
}
@include breakpoint(max-width ($large - 1px)) {
position: relative;
max-height: 0;
opacity: 0%;
overflow: hidden;
z-index: 10;
-webkit-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
-webkit-transform: translate(0, 10%);
-ms-transform: translate(0, 10%);
transform: translate(0, 10%);
}
}
@include breakpoint(max-width ($large - 1px)) {
.nav__list input:checked ~ .nav__items {
-webkit-transition: 0.5s ease-in-out;
transition: 0.5s ease-in-out;
max-height: 9999px; /* exaggerate max-height to accommodate tall lists*/
overflow: visible;
opacity: 1;
margin-top: 1em;
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
transform: translate(0, 0);
}
}
.nav__title {
margin: 0;
padding: 0.5rem 1rem;
font-family: $sans-serif-narrow;
font-size: $type-size-5;
font-weight: bold;
}
.nav__sub-title {
display: block;
margin: 0.5rem 0;
padding: 0.5rem 0;
font-family: $sans-serif-narrow;
font-size: $type-size-6;
font-weight: bold;
text-transform: uppercase;
border-bottom: 1px solid $border-color;
}
/*
Table of contents navigation
========================================================================== */
.toc {
font-family: $sans-serif-narrow;
color: $gray;
text-transform: uppercase;
letter-spacing: 1px;
background-color: $background-color;
border: 1px solid $border-color;
border-radius: $border-radius;
box-shadow: $box-shadow;
.nav__title {
color: #fff;
font-size: $type-size-6;
background: $primary-color;
border-top-left-radius: $border-radius;
border-top-right-radius: $border-radius;
}
}
.toc__menu {
margin: 0;
padding: 0;
width: 100%;
list-style: none;
font-size: 0.8rem;
a {
display: block;
padding: 0.5rem 1rem;
color: $muted-text-color;
font-size: $type-size-7;
font-weight: bold;
line-height: 1.5;
border-bottom: 1px solid $border-color;
&:hover {
color: $text-color;
}
}
> li:last-child {
a {
border-bottom: none;
}
}
li ul > li a {
padding-left: 1.75rem;
font-weight: normal;
}
/* hide sub sub links on small screens*/
li > ul li {
display: none;
@include breakpoint($medium) {
display: block;
}
}
}
-100
View File
@@ -1,100 +0,0 @@
/* ==========================================================================
NOTICE TEXT BLOCKS
========================================================================== */
/**
* Default Kramdown usage (no indents!):
* <div class="notice" markdown="1">
* #### Headline for the Notice
* Text for the notice
* </div>
*/
@mixin notice($notice-color) {
margin: 2em 0 !important; /* override*/
padding: 1em;
color: $dark-gray;
font-family: $global-font-family;
font-size: $type-size-6 !important;
text-indent: initial; /* override*/
background-color: mix(#fff, $notice-color, 90%);
border-radius: $border-radius;
box-shadow: 0 1px 1px rgba($notice-color, 0.25);
h4 {
margin-top: 0 !important; /* override*/
margin-bottom: 0.75em;
}
@at-root .page__content #{&} h4 {
/* using at-root to override .page-content h4 font size*/
margin-bottom: 0;
font-size: 1em;
}
p {
&:last-child {
margin-bottom: 0 !important; /* override*/
}
}
h4 + p {
/* remove space above paragraphs that appear directly after notice headline*/
margin-top: 0;
padding-top: 0;
}
a {
color: $notice-color;
&:hover {
color: mix(#000, $notice-color, 40%);
}
}
code {
background-color: mix(#fff, $notice-color, 95%)
}
ul {
&:last-child {
margin-bottom: 0; /* override*/
}
}
}
/* Default notice */
.notice {
@include notice($light-gray);
}
/* Primary notice */
.notice--primary {
@include notice($primary-color);
}
/* Info notice */
.notice--info {
@include notice($info-color);
}
/* Warning notice */
.notice--warning {
@include notice($warning-color);
}
/* Success notice */
.notice--success {
@include notice($success-color);
}
/* Danger notice */
.notice--danger {
@include notice($danger-color);
}

Some files were not shown because too many files have changed in this diff Show More