Use reverie
@ -1,15 +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 = true
|
||||
|
||||
[*.py]
|
||||
indent_style = space
|
||||
indent_size = 4
|
49
.gitignore
vendored
@ -1,43 +1,12 @@
|
||||
# Ignore docs files
|
||||
_gh_pages
|
||||
_site
|
||||
.ruby-version
|
||||
.jekyll-cache
|
||||
|
||||
# Numerous always-ignore extensions
|
||||
*.diff
|
||||
*.err
|
||||
*.orig
|
||||
*.log
|
||||
*.rej
|
||||
*.swo
|
||||
*.swp
|
||||
*.zip
|
||||
*.vi
|
||||
*~
|
||||
|
||||
# OS or Editor folders
|
||||
.DS_Store
|
||||
._*
|
||||
Thumbs.db
|
||||
.cache
|
||||
.project
|
||||
.settings
|
||||
.tmproj
|
||||
*.esproj
|
||||
nbproject
|
||||
*.sublime-project
|
||||
*.sublime-workspace
|
||||
.idea
|
||||
|
||||
# Komodo
|
||||
*.komodoproject
|
||||
.komodotools
|
||||
|
||||
# grunt-html-validation
|
||||
validation-status.json
|
||||
validation-report.json
|
||||
|
||||
# Folders to ignore
|
||||
.jekyll
|
||||
.jekyll-metadata
|
||||
.bundle
|
||||
.sass-cache
|
||||
Gemfile.lock
|
||||
node_modules
|
||||
bower_components
|
||||
package.json
|
||||
*.gem
|
||||
*.gemspec
|
||||
.jekyll-cache
|
||||
|
1
.ruby-version
Normal file
@ -0,0 +1 @@
|
||||
2.4.3
|
10
404.html
@ -1,10 +0,0 @@
|
||||
---
|
||||
layout: default
|
||||
title: "404: Page not found"
|
||||
permalink: 404.html
|
||||
---
|
||||
|
||||
<div class="page">
|
||||
<h1 class="page-title">404: Page not found</h1>
|
||||
<p class="lead">Sorry, we've misplaced that URL or it's pointing to something that doesn't exist. <a href="{{ site.baseurl }}/">Head back home</a> to try finding it again.</p>
|
||||
</div>
|
11
404.md
@ -1,8 +1,9 @@
|
||||
---
|
||||
layout: default
|
||||
title: "404: Page not found"
|
||||
permalink: 404.html
|
||||
layout: page
|
||||
title: 404 - Page not found
|
||||
permalink: /404
|
||||
---
|
||||
|
||||
# 404: Page not found
|
||||
Sorry, we've misplaced that URL or it's pointing to something that doesn't exist. [Head back home]({{ site.url }}) to try finding it again.
|
||||
Sorry, we can't find that page that you're looking for. You can try again by going [back to the homepage]({{ site.baseurl }}/).
|
||||
|
||||
[<img src="{{ site.baseurl }}/images/404.jpg" alt="Constructocat by https://github.com/jasoncostello" style="width: 400px;"/>]({{ site.baseurl }}/)
|
||||
|
9
Gemfile
@ -1,8 +1,5 @@
|
||||
source "https://rubygems.org"
|
||||
|
||||
# gem "jekyll"
|
||||
gem 'github-pages',"~> 226", group: :jekyll_plugins
|
||||
gem "jekyll-gist"
|
||||
gem "jekyll-paginate"
|
||||
gem "jekyll-seo-tag"
|
||||
gem "jemoji"
|
||||
gem 'github-pages'
|
||||
|
||||
gem "webrick", "~> 1.7"
|
||||
|
26
Gemfile.lock
@ -24,14 +24,12 @@ GEM
|
||||
ethon (0.15.0)
|
||||
ffi (>= 1.15.0)
|
||||
eventmachine (1.2.7)
|
||||
eventmachine (1.2.7-x64-mingw32)
|
||||
execjs (2.8.1)
|
||||
faraday (2.3.0)
|
||||
faraday-net_http (~> 2.0)
|
||||
ruby2_keywords (>= 0.0.4)
|
||||
faraday-net_http (2.0.3)
|
||||
ffi (1.15.5)
|
||||
ffi (1.15.5-x64-mingw32)
|
||||
ffi (1.15.5-x64-mingw-ucrt)
|
||||
forwardable-extended (2.6.0)
|
||||
gemoji (3.0.1)
|
||||
github-pages (226)
|
||||
@ -208,16 +206,12 @@ GEM
|
||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||
rb-inotify (~> 0.9, >= 0.9.10)
|
||||
mercenary (0.3.6)
|
||||
mini_portile2 (2.8.0)
|
||||
minima (2.5.1)
|
||||
jekyll (>= 3.5, < 5.0)
|
||||
jekyll-feed (~> 0.9)
|
||||
jekyll-seo-tag (~> 2.1)
|
||||
minitest (5.16.2)
|
||||
nokogiri (1.13.6)
|
||||
mini_portile2 (~> 2.8.0)
|
||||
racc (~> 1.4)
|
||||
nokogiri (1.13.6-x64-mingw32)
|
||||
nokogiri (1.13.6-x64-mingw-ucrt)
|
||||
racc (~> 1.4)
|
||||
octokit (4.25.1)
|
||||
faraday (>= 1, < 3)
|
||||
@ -253,21 +247,17 @@ GEM
|
||||
thread_safe (~> 0.1)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.8.2)
|
||||
unf_ext (0.0.8.2-x64-mingw32)
|
||||
unf_ext (0.0.8.2-x64-mingw-ucrt)
|
||||
unicode-display_width (1.8.0)
|
||||
webrick (1.7.0)
|
||||
zeitwerk (2.6.0)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
x64-mingw32
|
||||
x64-mingw-ucrt
|
||||
|
||||
DEPENDENCIES
|
||||
github-pages (~> 226)
|
||||
jekyll-gist
|
||||
jekyll-paginate
|
||||
jekyll-seo-tag
|
||||
jemoji
|
||||
github-pages
|
||||
webrick (~> 1.7)
|
||||
|
||||
BUNDLED WITH
|
||||
2.1.4
|
||||
2.3.17
|
||||
|
27
LICENSE
@ -1,21 +1,20 @@
|
||||
MIT License
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2020 cool-mist
|
||||
Copyright (c) 2019 Amit Merchant
|
||||
|
||||
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:
|
||||
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.
|
||||
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.
|
||||
|
19
_about.md
@ -1,19 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: About
|
||||
---
|
||||
|
||||
I'm a software developer working from Bangalore. I primarily work on backend. When I'm not working, I might be doing any one of the following activities in addition to blogging.
|
||||
|
||||
* Eat
|
||||
* Sleep
|
||||
* Play Chess
|
||||
* Read a book
|
||||
* Play my keyboard
|
||||
* Play video games
|
||||
|
||||
# Connect
|
||||
|
||||
* [Email](mailto:n.suryap@gmail.com)
|
||||
* [Github](https://github.com/cool-mist)
|
||||
* [Steam](https://steamcommunity.com/id/bcgSaitama)
|
@ -1,26 +1,82 @@
|
||||
# Setup
|
||||
title: The Neophyte
|
||||
tagline: 'Blog'
|
||||
description: 'Article subjects all over the place, for fellow neophytes!'
|
||||
url: https://localhost:4000
|
||||
baseurl: ''
|
||||
paginate: 5
|
||||
permalink: pretty
|
||||
name: The Neophyte
|
||||
author: Surya
|
||||
description: Dumpyard for my thoughts!
|
||||
|
||||
# About/contact
|
||||
author:
|
||||
name: Surya
|
||||
#
|
||||
# Flags below are optional
|
||||
#
|
||||
|
||||
# Includes an icon in the footer for each username you enter
|
||||
footer-links:
|
||||
dribbble:
|
||||
email: n.suryap@gmail.com
|
||||
facebook:
|
||||
flickr:
|
||||
github: cool-mist
|
||||
instagram:
|
||||
linkedin:
|
||||
pinterest:
|
||||
rss: rss
|
||||
twitter:
|
||||
stackoverflow:
|
||||
youtube: # channel/<your_long_string> or user/<user-name>
|
||||
googleplus: # anything in your profile username that comes after plus.google.com/
|
||||
playconsole:
|
||||
|
||||
# Gems
|
||||
|
||||
# Enter your Disqus shortname (not your username) to enable commenting on posts
|
||||
# You can find your shortname on the Settings page of your Disqus account
|
||||
disqus:
|
||||
|
||||
url: http://localhost:4000
|
||||
# enforce_ssl: https://blog.neophyte.me
|
||||
|
||||
# If you're hosting your site at a Project repository on GitHub pages
|
||||
# (http://yourusername.github.io/repository-name)
|
||||
# and NOT your User repository (http://yourusername.github.io)
|
||||
# then add in the baseurl here, like this: "/repository-name"
|
||||
baseurl:
|
||||
|
||||
#
|
||||
# !! You don't need to change any of the configuration flags below !!
|
||||
#
|
||||
|
||||
permalink: /:title/
|
||||
|
||||
# The release of Jekyll Now that you're using
|
||||
version: v1.2.0
|
||||
|
||||
# Jekyll 3 now only supports Kramdown for Markdown
|
||||
kramdown:
|
||||
# Use GitHub flavored markdown, including triple backtick fenced code blocks
|
||||
input: GFM
|
||||
# Jekyll 3 and GitHub Pages now only support rouge for syntax highlighting
|
||||
syntax_highlighter: rouge
|
||||
syntax_highlighter_opts:
|
||||
# Use existing pygments syntax highlighting css
|
||||
css_class: 'highlight'
|
||||
|
||||
# Set the Sass partials directory, as we're using @imports
|
||||
sass:
|
||||
style: :expanded # You might prefer to minify using :compressed
|
||||
|
||||
# Use the following plug-ins
|
||||
plugins:
|
||||
- jekyll-sitemap # Create a sitemap using the official Jekyll sitemap gem
|
||||
- jekyll-feed # Create an Atom feed using the official Jekyll feed gem
|
||||
- jekyll-seo-tag
|
||||
- jekyll-paginate
|
||||
- jemoji
|
||||
- jekyll-feed
|
||||
|
||||
# Serving
|
||||
host: localhost
|
||||
port: 4000
|
||||
include: ['_pages']
|
||||
|
||||
paginate: 6
|
||||
paginate_path: /page:num/
|
||||
|
||||
# Exclude these files from your production _site
|
||||
exclude:
|
||||
- Gemfile
|
||||
- Gemfile.lock
|
||||
- LICENSE
|
||||
- README.md
|
||||
- CNAME
|
||||
|
||||
# Custom vars
|
||||
version: 1.1.0
|
||||
|
94
_config.yml
@ -1,26 +1,82 @@
|
||||
# Setup
|
||||
title: The Neophyte
|
||||
tagline: 'Blog'
|
||||
description: 'Article subjects all over the place, for fellow neophytes!'
|
||||
url: https://blog.neophyte.me
|
||||
baseurl: ''
|
||||
paginate: 5
|
||||
permalink: pretty
|
||||
name: The Neophyte
|
||||
author: Surya
|
||||
description: Dumpyard for my thoughts!
|
||||
|
||||
# About/contact
|
||||
author:
|
||||
name: Surya
|
||||
#
|
||||
# Flags below are optional
|
||||
#
|
||||
|
||||
# Includes an icon in the footer for each username you enter
|
||||
footer-links:
|
||||
dribbble:
|
||||
email: n.suryap@gmail.com
|
||||
facebook:
|
||||
flickr:
|
||||
github: cool-mist
|
||||
instagram:
|
||||
linkedin:
|
||||
pinterest:
|
||||
rss: rss
|
||||
twitter:
|
||||
stackoverflow:
|
||||
youtube: # channel/<your_long_string> or user/<user-name>
|
||||
googleplus: # anything in your profile username that comes after plus.google.com/
|
||||
playconsole:
|
||||
|
||||
# Gems
|
||||
|
||||
# Enter your Disqus shortname (not your username) to enable commenting on posts
|
||||
# You can find your shortname on the Settings page of your Disqus account
|
||||
disqus:
|
||||
|
||||
url: http://blog.neophyte.me
|
||||
enforce_ssl: https://blog.neophyte.me
|
||||
|
||||
# If you're hosting your site at a Project repository on GitHub pages
|
||||
# (http://yourusername.github.io/repository-name)
|
||||
# and NOT your User repository (http://yourusername.github.io)
|
||||
# then add in the baseurl here, like this: "/repository-name"
|
||||
baseurl:
|
||||
|
||||
#
|
||||
# !! You don't need to change any of the configuration flags below !!
|
||||
#
|
||||
|
||||
permalink: /:title/
|
||||
|
||||
# The release of Jekyll Now that you're using
|
||||
version: v1.2.0
|
||||
|
||||
# Jekyll 3 now only supports Kramdown for Markdown
|
||||
kramdown:
|
||||
# Use GitHub flavored markdown, including triple backtick fenced code blocks
|
||||
input: GFM
|
||||
# Jekyll 3 and GitHub Pages now only support rouge for syntax highlighting
|
||||
syntax_highlighter: rouge
|
||||
syntax_highlighter_opts:
|
||||
# Use existing pygments syntax highlighting css
|
||||
css_class: 'highlight'
|
||||
|
||||
# Set the Sass partials directory, as we're using @imports
|
||||
sass:
|
||||
style: :expanded # You might prefer to minify using :compressed
|
||||
|
||||
# Use the following plug-ins
|
||||
plugins:
|
||||
- jekyll-sitemap # Create a sitemap using the official Jekyll sitemap gem
|
||||
- jekyll-feed # Create an Atom feed using the official Jekyll feed gem
|
||||
- jekyll-seo-tag
|
||||
- jekyll-paginate
|
||||
- jemoji
|
||||
- jekyll-feed
|
||||
|
||||
# Serving
|
||||
host: blog.neophyte.me
|
||||
port: 4000
|
||||
include: ['_pages']
|
||||
|
||||
paginate: 6
|
||||
paginate_path: /page:num/
|
||||
|
||||
# Exclude these files from your production _site
|
||||
exclude:
|
||||
- Gemfile
|
||||
- Gemfile.lock
|
||||
- LICENSE
|
||||
- README.md
|
||||
- CNAME
|
||||
|
||||
# Custom vars
|
||||
version: 1.1.0
|
||||
|
@ -1,29 +0,0 @@
|
||||
<head>
|
||||
<link href="http://gmpg.org/xfn/11" rel="profile">
|
||||
<link rel="alternate" type="application/atom+xml" title="{{ site.title }}" href="{{ '/feed.xml' | prepend: site.url }}">
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
|
||||
|
||||
<title>
|
||||
{% if page.title == "Home" %}
|
||||
{{ site.title }} · {{ site.tagline }}
|
||||
{% else %}
|
||||
{{ page.title }} · {{ site.title }}
|
||||
{% endif %}
|
||||
</title>
|
||||
|
||||
{% if page.url and site.baseurl %}
|
||||
<link rel="canonical" href="{{ page.url | absolute_url }}">
|
||||
{% endif %}
|
||||
|
||||
<link rel="stylesheet" href="{{ '/public/css/poole.css?' | append: site.time | absolute_url }}">
|
||||
<link rel="stylesheet" href="{{ '/public/css/syntax.css?' | append: site.time | absolute_url }}">
|
||||
<link rel="stylesheet" href="{{ '/public/css/lanyon.css?' | append: site.time | absolute_url }}">
|
||||
<link rel="stylesheet" href="{{ '/public/css/custom.css?' | append: site.time | absolute_url }}">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,500;1,500&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=PT+Serif:400,400italic,700%7CPT+Sans:400">
|
||||
<link rel="shortcut icon" href="{{ '/public/favicon.png' | absolute_url }}">
|
||||
</head>
|
25
_includes/meta.html
Normal file
@ -0,0 +1,25 @@
|
||||
<meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
|
||||
<meta http-equiv='X-UA-Compatible' content='IE=edge'>
|
||||
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0'>
|
||||
|
||||
{% if page.excerpt %}
|
||||
<meta property="og:description" content="{{ page.excerpt| strip_html }}" />
|
||||
{% elsif page.description %}
|
||||
<meta property="og:description" content="{{ page.description }}" />
|
||||
{% else %}
|
||||
<meta property="og:description" content="{{ site.description }}" />
|
||||
{% endif %}
|
||||
<meta name="author" content="{{ site.name }}" />
|
||||
|
||||
{% if page.title %}
|
||||
<meta property="og:title" content="{{ page.title }}" />
|
||||
<meta property="twitter:title" content="{{ page.title }}" />
|
||||
{% endif %}
|
||||
|
||||
{% if page.image %}
|
||||
<meta property="og:image" content="{{ site.url }}{{ page.image }}"/>
|
||||
<meta property="twitter:image" content="{{ site.url }}{{ page.image }}"/>
|
||||
{% else %}
|
||||
<meta property="og:image" content="{{ site.url }}{{ site.avatar }}"/>
|
||||
<meta property="twitter:image" content="{{ site.url }}{{ site.avatar }}"/>
|
||||
{% endif %}
|
@ -1,6 +0,0 @@
|
||||
{% capture words %}
|
||||
{{ content | number_of_words | minus: 180 }}
|
||||
{% endcapture %}
|
||||
{% unless words contains '-' %}
|
||||
{{ words | plus: 150 | divided_by: 150 | append: ' min read' }}
|
||||
{% endunless %}
|
1
_includes/pullquote.html
Normal file
@ -0,0 +1 @@
|
||||
{{ include.quote }}<span data-pullquote="{{ include.quote }}"></span>
|
@ -1,34 +0,0 @@
|
||||
<!-- Target for toggling the sidebar `.sidebar-checkbox` is for regular
|
||||
styles, `#sidebar-checkbox` for behavior. -->
|
||||
<input type="checkbox" class="sidebar-checkbox" id="sidebar-checkbox">
|
||||
|
||||
<!-- Toggleable sidebar -->
|
||||
<div class="sidebar" id="sidebar">
|
||||
<div class="sidebar-item">
|
||||
<p>{{ site.description }}</p>
|
||||
</div>
|
||||
|
||||
<nav class="sidebar-nav">
|
||||
<a class="sidebar-nav-item{% if page.title == 'Home' %} active{% endif %}" href="{{ '/' | absolute_url }}">Home</a>
|
||||
|
||||
{% comment %}
|
||||
The code below dynamically generates a sidebar nav of pages with
|
||||
`layout: page` in the front-matter. See readme for usage.
|
||||
{% endcomment %}
|
||||
|
||||
{% assign pages_list = site.pages | sort:"url" %}
|
||||
{% for node in pages_list %}
|
||||
{% if node.title != null %}
|
||||
{% if node.layout == "page" %}
|
||||
<a class="sidebar-nav-item{% if page.url == node.url %} active{% endif %}" href="{{ node.url | absolute_url }}">{{ node.title }}</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</nav>
|
||||
|
||||
<div class="sidebar-item">
|
||||
<p>
|
||||
© {{ site.time | date: '%Y' }}. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
14
_includes/svg-icons.html
Normal file
@ -0,0 +1,14 @@
|
||||
{% if site.footer-links.dribbble %}<a href="https://dribbble.com/{{ site.footer-links.dribbble }}"><i class="svg-icon dribbble"></i></a>{% endif %}
|
||||
{% if site.footer-links.email %}<a href="mailto:{{ site.footer-links.email }}"><i class="svg-icon email"></i></a>{% endif %}
|
||||
{% if site.footer-links.facebook %}<a href="https://www.facebook.com/{{ site.footer-links.facebook }}"><i class="svg-icon facebook"></i></a>{% endif %}
|
||||
{% if site.footer-links.flickr %}<a href="https://www.flickr.com/{{ site.footer-links.flickr }}"><i class="svg-icon flickr"></i></a>{% endif %}
|
||||
{% if site.footer-links.github %}<a href="https://github.com/{{ site.footer-links.github }}"><i class="svg-icon github"></i></a>{% endif %}
|
||||
{% if site.footer-links.instagram %}<a href="https://instagram.com/{{ site.footer-links.instagram }}"><i class="svg-icon instagram"></i></a>{% endif %}
|
||||
{% if site.footer-links.linkedin %}<a href="https://www.linkedin.com/in/{{ site.footer-links.linkedin }}"><i class="svg-icon linkedin"></i></a>{% endif %}
|
||||
{% if site.footer-links.pinterest %}<a href="https://www.pinterest.com/{{ site.footer-links.pinterest }}"><i class="svg-icon pinterest"></i></a>{% endif %}
|
||||
{% if site.footer-links.rss %}<a href="{{ site.baseurl }}/feed.xml"><i class="svg-icon rss"></i></a>{% endif %}
|
||||
{% if site.footer-links.twitter %}<a href="https://www.twitter.com/{{ site.footer-links.twitter }}"><i class="svg-icon twitter"></i></a>{% endif %}
|
||||
{% if site.footer-links.stackoverflow %}<a href="http://stackoverflow.com/{{ site.footer-links.stackoverflow }}"><i class="svg-icon stackoverflow"></i></a>{% endif %}
|
||||
{% if site.footer-links.youtube %}<a href="https://youtube.com/{{ site.footer-links.youtube }}"><i class="svg-icon youtube"></i></a>{% endif %}
|
||||
{% if site.footer-links.googleplus %}<a href="https://plus.google.com/{{ site.footer-links.googleplus }}"><i class="svg-icon googleplus"></i></a>{% endif %}
|
||||
{% if site.footer-links.playconsole %}<a href="https://play.google.com/store/apps/dev?id={{ site.footer-links.playconsole }}"><i class="svg-icon playconsole"></i></a>{% endif %}
|
@ -1,37 +1,53 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<html>
|
||||
<head>
|
||||
<title>{% if page.title %}{{ page.title }} – {% endif %}{{ site.name }} – {{ site.description }}</title>
|
||||
{% seo title=false %}
|
||||
{% include meta.html %}
|
||||
|
||||
{% include head.html %}
|
||||
<link rel="stylesheet" type="text/css" href="{{ site.baseurl }}/assets/style.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="{{ site.name }} - {{ site.description }}" href="{{ site.baseurl }}/feed.xml" />
|
||||
<link rel="canonical" href="{{ site.url }}{{ page.url }}" />
|
||||
|
||||
<body class="layout-reverse sidebar-overlay">
|
||||
<meta name="theme-color" content="#000000">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="{{ site.baseurl }}/images/favicon.png">
|
||||
</head>
|
||||
|
||||
{% include sidebar.html %}
|
||||
|
||||
<!-- Wrap is the content to shift when toggling the sidebar. We wrap the
|
||||
content to avoid any CSS collisions with our real content. -->
|
||||
<div class="wrap">
|
||||
<div class="masthead">
|
||||
<body>
|
||||
<div id="bar"></div>
|
||||
<div class="wrapper-container">
|
||||
<div class="wrapper-masthead">
|
||||
<div class="container">
|
||||
<h1 class="masthead-title inline-block">
|
||||
<a href="{{ site.baseurl }}/" title="Home">{{ site.title }}</a>
|
||||
<small>{{ site.tagline }}</small>
|
||||
</h1>
|
||||
<img class="inline-block" src = '{{ site.baseurl | absolute_url }}/public/favicon.png' />
|
||||
<div class="navbar">
|
||||
<ul>
|
||||
<li> <a class="navbar-link" href='{{ site.baseurl }}/categories'>Categories</a> <li>
|
||||
<li> <a class="navbar-link" href='{{ site.baseurl }}/archive'>Archive</a> <li>
|
||||
</ul>
|
||||
<header class="masthead clearfix">
|
||||
<a href="{{ site.baseurl }}/" class="site-avatar"><img src="{{ site.baseurl }}{{ site.avatar }}" alt="{{ site.title }}" /></a>
|
||||
|
||||
<div class="site-info">
|
||||
<h1 class="site-name"><a href="{{ site.baseurl }}/">{{ site.name }}</a></h1>
|
||||
<p class="site-description">{{ site.description }}</p>
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<a href="{{ site.baseurl }}/">Home</a>
|
||||
<a href="{{ site.baseurl }}/search">Search</a>
|
||||
<a href="{{ site.baseurl }}/archive">Archive</a>
|
||||
</nav>
|
||||
</header>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container content">
|
||||
|
||||
<div class="wrapper-main">
|
||||
<div id="main" role="main" class="container">
|
||||
{{ content }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
|
||||
|
||||
<script src='{{ site.baseurl }}/public/js/script.js'></script>
|
||||
<div class="wrapper-footer">
|
||||
<div class="container">
|
||||
<footer class="footer">
|
||||
{% include svg-icons.html %}
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -2,7 +2,11 @@
|
||||
layout: default
|
||||
---
|
||||
|
||||
<div class="page">
|
||||
<h1 class="page-title">{{ page.title }}</h1>
|
||||
<article class="page">
|
||||
|
||||
<h1>{{ page.title }}</h1>
|
||||
|
||||
<div class="entry">
|
||||
{{ content }}
|
||||
</div>
|
||||
</article>
|
||||
|
@ -2,29 +2,36 @@
|
||||
layout: default
|
||||
---
|
||||
|
||||
<div class="post">
|
||||
<h1 class="post-title">{{ page.title }}</h1>
|
||||
<span class="post-date">{{ page.date | date_to_string }}</span>
|
||||
<span class="post-meta-separator">.</span>
|
||||
<span class="post-minutes">{% include minutes_to_read.html %}</span>
|
||||
<br/>
|
||||
<article class="post detailed">
|
||||
<h1>{{ page.title }}</h1>
|
||||
|
||||
<div>
|
||||
<p class="author_title">{{site.author}} · {{ page.date | date: "%B %e, %Y" }}</p>
|
||||
{% if page.last_modified_at %}
|
||||
<p class="author_title" datetime="{{ page.last_modified_at | date_to_xmlschema }}">(Updated: {{ page.last_modified_at | date: "%b %-d, %Y" }})</p>
|
||||
{% endif %}
|
||||
<div class="post-tags">
|
||||
{% if post %}
|
||||
{% assign categories = post.categories %}
|
||||
{% else %}
|
||||
{% assign categories = page.categories %}
|
||||
{% endif %}
|
||||
{% for category in categories %}
|
||||
<a href="{{site.baseurl}}/categories/#{{category|slugize}}">{{category}}</a>
|
||||
{% unless forloop.last %} {% endunless %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="entry">
|
||||
{{ content }}
|
||||
</div>
|
||||
|
||||
<!-- {% if site.related_posts.size >= 1 %}
|
||||
<div class="related">
|
||||
<h2>Related posts</h2>
|
||||
<ul class="related-posts">
|
||||
{% for post in site.related_posts limit:3 %}
|
||||
<li>
|
||||
<h3>
|
||||
<a href="{{ site.baseurl }}{{ post.url }}">
|
||||
{{ post.title }}
|
||||
<small>{{ post.date | date_to_string }}</small>
|
||||
</a>
|
||||
</h3>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<div>
|
||||
<p><span class="share-box">Share:</span> <a href="http://twitter.com/share?text={{ page.title }}&url={{site.url}}{{page.url}}" target="_blank">Twitter</a>, <a href="https://www.facebook.com/sharer.php?u={{site.url}}{{page.url}}" target="_blank">Facebook</a></p>
|
||||
</div>
|
||||
{% endif %} -->
|
||||
|
||||
<!--<div class="date">
|
||||
Written on {{ page.date | date: "%B %e, %Y" }}
|
||||
</div>-->
|
||||
</article>
|
||||
|
33
_pages/archive.md
Normal file
@ -0,0 +1,33 @@
|
||||
---
|
||||
layout: page
|
||||
permalink: /archive/
|
||||
title: Posts Archive
|
||||
---
|
||||
|
||||
|
||||
<div id="archives">
|
||||
<section id="archive">
|
||||
<h3>Most Recent Posts</h3>
|
||||
{%for post in site.posts %}
|
||||
{% unless post.next %}
|
||||
<ul class="this">
|
||||
{% else %}
|
||||
{% capture month %}{{ post.date | date: '%B %Y' }}{% endcapture %}
|
||||
{% capture nmonth %}{{ post.next.date | date: '%B %Y' }}{% endcapture %}
|
||||
{% capture year %}{{ post.date | date: '%Y' }}{% endcapture %}
|
||||
{% capture nyear %}{{ post.next.date | date: '%Y' }}{% endcapture %}
|
||||
{% if year != nyear %}
|
||||
</ul>
|
||||
<h2 style="text-align:left;">{{ post.date | date: '%Y' }}</h2>
|
||||
<ul class="past">
|
||||
{% endif %}
|
||||
{% if month != nmonth %}
|
||||
<h3 style="text-align:left;">{{ post.date | date: '%B %Y' }}</h3>
|
||||
{% endif %}
|
||||
{% endunless %}
|
||||
<p><b><a href="{{ site.baseurl }}{{ post.url }}">{% if post.title and post.title != "" %}{{post.title}}{% else %}{{post.excerpt |strip_html}}{%endif%}</a></b> - {% if post.date and post.date != "" %}{{ post.date | date: "%e %B %Y" }}{%endif%}</p>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<h3>Oldest Posts</h3>
|
||||
</section>
|
||||
</div>
|
24
_pages/categories.md
Normal file
@ -0,0 +1,24 @@
|
||||
---
|
||||
layout: page
|
||||
permalink: /categories/
|
||||
title: Categories
|
||||
---
|
||||
|
||||
|
||||
<div id="archives">
|
||||
{% for category in site.categories %}
|
||||
<div class="archive-group">
|
||||
{% capture category_name %}{{ category | first }}{% endcapture %}
|
||||
<div id="#{{ category_name | slugize }}"></div>
|
||||
<p></p>
|
||||
|
||||
<h3 class="category-head">{{ category_name }}</h3>
|
||||
<a name="{{ category_name | slugize }}"></a>
|
||||
{% for post in site.categories[category_name] %}
|
||||
<article class="archive-item">
|
||||
<h4><a href="{{ site.baseurl }}{{ post.url }}">{% if post.title and post.title != "" %}{{post.title}}{% else %}{{post.excerpt |strip_html}}{%endif%}</a></h4>
|
||||
</article>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
21
_pages/search.md
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
layout: page
|
||||
title: Search
|
||||
permalink: /search/
|
||||
---
|
||||
|
||||
<div id="search-container">
|
||||
<input type="text" id="search-input" placeholder="Search through the blog posts...">
|
||||
<ul id="results-container"></ul>
|
||||
</div>
|
||||
|
||||
<script src="{{ site.baseurl }}/assets/simple-jekyll-search.min.js" type="text/javascript"></script>
|
||||
|
||||
<script>
|
||||
SimpleJekyllSearch({
|
||||
searchInput: document.getElementById('search-input'),
|
||||
resultsContainer: document.getElementById('results-container'),
|
||||
searchResultTemplate: '<div style="text-align: left !important;"><a href="{url}"><h1 style="text-align:left !important;">{title}</h1></a><span style="text-align:left !important;">{date}</span></div>',
|
||||
json: '{{ site.baseurl }}/search.json'
|
||||
});
|
||||
</script>
|
@ -7,7 +7,7 @@ categories: ["networks"]
|
||||
The OSI model lays down specifications on how to think about achieving inter-process communication across machines. This article goes over breaking down the
|
||||
what and why of this model and introduce the readers to some of the jargon surrounding this topic.
|
||||
|
||||

|
||||

|
||||
|
||||
------
|
||||
|
||||
@ -99,7 +99,7 @@ Pedantically that is the Layer 7 of the model, but practically it makes a lot of
|
||||
|
||||
This is how a transfer of information from source application to destination application would look like, if we are to talk in terms of the different abstraction layers of the OSI. Note that the data travels across multiple devices in the network (such as routers). While the network packet has not reached the destination machine, that packet is not forwarded to the transport layers of other intermediate machines.
|
||||
|
||||

|
||||

|
||||
|
||||
It is common practise to abbreviate the layers as **L4**, **L7** and so on.
|
||||
|
||||
|
@ -14,7 +14,7 @@ The book follows the adventures of a Square that lives in a 2 dimensional world.
|
||||
|
||||
The first question that came to my mind when I read this premise was, given that all beings in such a 2 dimensional universe can only see a straight line, how then can they distinguish different shapes? This problem is tackled very early on in the book, with one of the methods being using sight to understand different gradients in the straight line that they see. For example, a triangle when looked at directly is a straight line with the brightest point in the center, and both the sides with a reducing intensity gradient.
|
||||
|
||||

|
||||

|
||||
|
||||
As soon as I read this, it struck me how we do the same thing in perceiving depth when we see a 3 dimensional picture.
|
||||
|
||||
|
@ -14,7 +14,7 @@ Diving into some of the ways in which Science Fiction can incorporate the concep
|
||||
|
||||
Consider passing a 3d cone through a 2d flat plane (a paper). If the cone is passed with respect to the plane as shown in the diagram, the intersection of the paper with the cone would produce a circle on the paper. Initially the circle would be the same as the base of the cone. As the cone is pushed further, the size of the circle would reduce, until it becomes a point. And then it completely vanishes, because the cone is now below the paper
|
||||
|
||||

|
||||

|
||||
|
||||
A 2 dimensional being occupying the paper would see a circle appear out of nowhere in their world and then disappear (In reality, the 2 dimensional being would only see a straight line from their point of view. Multiple different 2 dimensional observers would also see the same, and therefore infer that the shape was actually a circle). This would be really confusing for 2 dimensional beings if they were not aware of the existence of the third dimension - that would be the height in this case.
|
||||
|
||||
@ -24,7 +24,7 @@ Extending this for the 4th dimension, a 4th dimensional being could push objects
|
||||
|
||||
Consider the same paper as the 2 dimensional world. The Blue circle is a 2 dimensional being with Green colored internal organs. This person has a secret Red colored vault inside their house. Money in their world is Maroon colored rectangles. From the perspective of the Pink eyes of this being, they would look at a Red straight line. Once inside the vault, they would see maroon straight lines. By looking at it at different angles, and feeling it, this being will come to understand that the Maroon colored object is a rectangle and is therefore money.
|
||||
|
||||

|
||||

|
||||
|
||||
There are a couple of things to reflect on.
|
||||
|
||||
|
@ -56,7 +56,7 @@ In my opinion, this trilogy is going to stick out for a long time in its treatme
|
||||
|
||||
## Discussion of the plot
|
||||
|
||||

|
||||

|
||||
|
||||
The below section is spoiler heavy. Stop reading if you are intent on reading the books. If you are not going to read the books, the below section won’t make any sense to you. If you have already read the books, proceed!
|
||||
|
||||
|
@ -1,70 +0,0 @@
|
||||
// Body resets
|
||||
//
|
||||
// Update the foundational and global aspects of the page.
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: var(--body-font);
|
||||
font-size: var(--body-font-size);
|
||||
line-height: var(--body-line-height);
|
||||
color: var(--body-color);
|
||||
background-color: var(--body-bg);
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
// No `:visited` state is required by default (browsers will use `a`)
|
||||
a {
|
||||
color: var(--link-color);
|
||||
|
||||
// `:focus` is linked to `:hover` for basic accessibility
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: var(--link-hover-color);
|
||||
}
|
||||
|
||||
strong {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
img {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
margin-bottom: var(--spacer);
|
||||
border-radius: var(--border-radius);
|
||||
}
|
||||
|
||||
table {
|
||||
margin-bottom: 1rem;
|
||||
width: 100%;
|
||||
border: 0 solid var(--border-color);
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
td,
|
||||
th {
|
||||
padding: .25rem .5rem;
|
||||
border-color: inherit;
|
||||
border-style: solid;
|
||||
border-width: 0;
|
||||
border-bottom-width: 1px;
|
||||
}
|
||||
|
||||
th {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
thead th {
|
||||
border-bottom-color: currentColor;
|
||||
}
|
||||
|
||||
mark {
|
||||
padding: .15rem;
|
||||
background-color: var(--yellow-100);
|
||||
border-radius: .125rem;
|
||||
}
|
@ -1,58 +0,0 @@
|
||||
// Code
|
||||
//
|
||||
// Inline and block-level code snippets. Includes tweaks to syntax highlighted
|
||||
// snippets from Pygments/Rouge and Gist embeds.
|
||||
|
||||
code,
|
||||
pre {
|
||||
font-family: var(--code-font);
|
||||
}
|
||||
|
||||
code {
|
||||
font-size: 85%;
|
||||
}
|
||||
|
||||
pre {
|
||||
display: block;
|
||||
margin-top: 0;
|
||||
margin-bottom: var(--spacer-3);
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
padding: var(--spacer);
|
||||
margin-bottom: var(--spacer);
|
||||
background-color: var(--code-bg);
|
||||
border-radius: var(--border-radius);
|
||||
|
||||
pre {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
// Triple backticks (code fencing) doubles the .highlight elements
|
||||
.highlight {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.rouge-table {
|
||||
margin-bottom: 0;
|
||||
font-size: 100%;
|
||||
|
||||
&,
|
||||
td,
|
||||
th {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.gutter {
|
||||
vertical-align: top;
|
||||
user-select: none;
|
||||
opacity: .25;
|
||||
}
|
||||
}
|
||||
|
||||
// Gist via GitHub Pages
|
||||
.gist .markdown-body {
|
||||
padding: 15px !important;
|
||||
}
|
95
_sass/_darcula.scss
Normal file
@ -0,0 +1,95 @@
|
||||
.highlight {
|
||||
background-color: #1e1c3f;
|
||||
padding: 7px 7px 7px 10px;
|
||||
overflow: auto;
|
||||
font-size: 95%;
|
||||
}
|
||||
|
||||
code {
|
||||
font-family:'Bitstream Vera Sans Mono','Courier', monospace;
|
||||
color: #d8d8d8;
|
||||
}
|
||||
|
||||
.highlighter-rouge {
|
||||
background-color: #FAFAFA;
|
||||
color: #FF554A;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.highlight .hll { background-color: #f1fa8c }
|
||||
.highlight { background: #282a36; color: #f8f8f2 }
|
||||
.highlight .c { color: #6272a4 } /* Comment */
|
||||
.highlight .err { color: #f8f8f2 } /* Error */
|
||||
.highlight .g { color: #f8f8f2 } /* Generic */
|
||||
.highlight .k { color: #ff79c6 } /* Keyword */
|
||||
.highlight .l { color: #f8f8f2 } /* Literal */
|
||||
.highlight .n { color: #f8f8f2 } /* Name */
|
||||
.highlight .o { color: #ff79c6 } /* Operator */
|
||||
.highlight .x { color: #f8f8f2 } /* Other */
|
||||
.highlight .p { color: #f8f8f2 } /* Punctuation */
|
||||
.highlight .ch { color: #6272a4 } /* Comment.Hashbang */
|
||||
.highlight .cm { color: #6272a4 } /* Comment.Multiline */
|
||||
.highlight .cp { color: #ff79c6 } /* Comment.Preproc */
|
||||
.highlight .cpf { color: #6272a4 } /* Comment.PreprocFile */
|
||||
.highlight .c1 { color: #6272a4 } /* Comment.Single */
|
||||
.highlight .cs { color: #6272a4 } /* Comment.Special */
|
||||
.highlight .gd { color: #8b080b } /* Generic.Deleted */
|
||||
.highlight .ge { color: #f8f8f2; text-decoration: underline } /* Generic.Emph */
|
||||
.highlight .gr { color: #f8f8f2 } /* Generic.Error */
|
||||
.highlight .gh { color: #f8f8f2; font-weight: bold } /* Generic.Heading */
|
||||
.highlight .gi { color: #f8f8f2; font-weight: bold } /* Generic.Inserted */
|
||||
.highlight .go { color: #44475a } /* Generic.Output */
|
||||
.highlight .gp { color: #f8f8f2 } /* Generic.Prompt */
|
||||
.highlight .gs { color: #f8f8f2 } /* Generic.Strong */
|
||||
.highlight .gu { color: #f8f8f2; font-weight: bold } /* Generic.Subheading */
|
||||
.highlight .gt { color: #f8f8f2 } /* Generic.Traceback */
|
||||
.highlight .kc { color: #ff79c6 } /* Keyword.Constant */
|
||||
.highlight .kd { color: #8be9fd; font-style: italic } /* Keyword.Declaration */
|
||||
.highlight .kn { color: #ff79c6 } /* Keyword.Namespace */
|
||||
.highlight .kp { color: #ff79c6 } /* Keyword.Pseudo */
|
||||
.highlight .kr { color: #ff79c6 } /* Keyword.Reserved */
|
||||
.highlight .kt { color: #8be9fd } /* Keyword.Type */
|
||||
.highlight .ld { color: #f8f8f2 } /* Literal.Date */
|
||||
.highlight .m { color: #bd93f9 } /* Literal.Number */
|
||||
.highlight .s { color: #f1fa8c } /* Literal.String */
|
||||
.highlight .na { color: #50fa7b } /* Name.Attribute */
|
||||
.highlight .nb { color: #8be9fd; font-style: italic } /* Name.Builtin */
|
||||
.highlight .nc { color: #50fa7b } /* Name.Class */
|
||||
.highlight .no { color: #f8f8f2 } /* Name.Constant */
|
||||
.highlight .nd { color: #f8f8f2 } /* Name.Decorator */
|
||||
.highlight .ni { color: #f8f8f2 } /* Name.Entity */
|
||||
.highlight .ne { color: #f8f8f2 } /* Name.Exception */
|
||||
.highlight .nf { color: #50fa7b } /* Name.Function */
|
||||
.highlight .nl { color: #8be9fd; font-style: italic } /* Name.Label */
|
||||
.highlight .nn { color: #f8f8f2 } /* Name.Namespace */
|
||||
.highlight .nx { color: #f8f8f2 } /* Name.Other */
|
||||
.highlight .py { color: #f8f8f2 } /* Name.Property */
|
||||
.highlight .nt { color: #ff79c6 } /* Name.Tag */
|
||||
.highlight .nv { color: #8be9fd; font-style: italic } /* Name.Variable */
|
||||
.highlight .ow { color: #ff79c6 } /* Operator.Word */
|
||||
.highlight .w { color: #f8f8f2 } /* Text.Whitespace */
|
||||
.highlight .mb { color: #bd93f9 } /* Literal.Number.Bin */
|
||||
.highlight .mf { color: #bd93f9 } /* Literal.Number.Float */
|
||||
.highlight .mh { color: #bd93f9 } /* Literal.Number.Hex */
|
||||
.highlight .mi { color: #bd93f9 } /* Literal.Number.Integer */
|
||||
.highlight .mo { color: #bd93f9 } /* Literal.Number.Oct */
|
||||
.highlight .sa { color: #f1fa8c } /* Literal.String.Affix */
|
||||
.highlight .sb { color: #f1fa8c } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #f1fa8c } /* Literal.String.Char */
|
||||
.highlight .dl { color: #f1fa8c } /* Literal.String.Delimiter */
|
||||
.highlight .sd { color: #f1fa8c } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #f1fa8c } /* Literal.String.Double */
|
||||
.highlight .se { color: #f1fa8c } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #f1fa8c } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #f1fa8c } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #f1fa8c } /* Literal.String.Other */
|
||||
.highlight .sr { color: #f1fa8c } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #f1fa8c } /* Literal.String.Single */
|
||||
.highlight .ss { color: #f1fa8c } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #f8f8f2; font-style: italic } /* Name.Builtin.Pseudo */
|
||||
.highlight .fm { color: #50fa7b } /* Name.Function.Magic */
|
||||
.highlight .vc { color: #8be9fd; font-style: italic } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #8be9fd; font-style: italic } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #8be9fd; font-style: italic } /* Name.Variable.Instance */
|
||||
.highlight .vm { color: #8be9fd; font-style: italic } /* Name.Variable.Magic */
|
||||
.highlight .il { color: #bd93f9 } /* Literal.Number.Integer.Long */
|
86
_sass/_highlights.scss
Normal file
@ -0,0 +1,86 @@
|
||||
|
||||
.highlight {
|
||||
background-color: #1e1c3f;
|
||||
padding: 7px 7px 7px 10px;
|
||||
overflow: auto;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
code {
|
||||
font-family:'Bitstream Vera Sans Mono','Courier', monospace;
|
||||
color: #d8d8d8;
|
||||
}
|
||||
|
||||
.highlighter-rouge {
|
||||
background-color: #FAFAFA;
|
||||
color: #FF554A;
|
||||
}
|
||||
|
||||
.highlight .c { color: #586E75 } /* Comment */
|
||||
.highlight .err { color: #93A1A1 } /* Error */
|
||||
.highlight .g { color: #93A1A1 } /* Generic */
|
||||
.highlight .k { color: #859900 } /* Keyword */
|
||||
.highlight .l { color: #93A1A1 } /* Literal */
|
||||
.highlight .n { color: #93A1A1 } /* Name */
|
||||
.highlight .o { color: #859900 } /* Operator */
|
||||
.highlight .x { color: #CB4B16 } /* Other */
|
||||
.highlight .p { color: #93A1A1 } /* Punctuation */
|
||||
.highlight .cm { color: #586E75 } /* Comment.Multiline */
|
||||
.highlight .cp { color: #859900 } /* Comment.Preproc */
|
||||
.highlight .c1 { color: #586E75 } /* Comment.Single */
|
||||
.highlight .cs { color: #859900 } /* Comment.Special */
|
||||
.highlight .gd { color: #2AA198 } /* Generic.Deleted */
|
||||
.highlight .ge { color: #93A1A1; font-style: italic } /* Generic.Emph */
|
||||
.highlight .gr { color: #DC322F } /* Generic.Error */
|
||||
.highlight .gh { color: #CB4B16 } /* Generic.Heading */
|
||||
.highlight .gi { color: #859900 } /* Generic.Inserted */
|
||||
.highlight .go { color: #93A1A1 } /* Generic.Output */
|
||||
.highlight .gp { color: #93A1A1 } /* Generic.Prompt */
|
||||
.highlight .gs { color: #93A1A1; font-weight: bold } /* Generic.Strong */
|
||||
.highlight .gu { color: #CB4B16 } /* Generic.Subheading */
|
||||
.highlight .gt { color: #93A1A1 } /* Generic.Traceback */
|
||||
.highlight .kc { color: #CB4B16 } /* Keyword.Constant */
|
||||
.highlight .kd { color: #268BD2 } /* Keyword.Declaration */
|
||||
.highlight .kn { color: #859900 } /* Keyword.Namespace */
|
||||
.highlight .kp { color: #859900 } /* Keyword.Pseudo */
|
||||
.highlight .kr { color: #268BD2 } /* Keyword.Reserved */
|
||||
.highlight .kt { color: #DC322F } /* Keyword.Type */
|
||||
.highlight .ld { color: #93A1A1 } /* Literal.Date */
|
||||
.highlight .m { color: #2AA198 } /* Literal.Number */
|
||||
.highlight .s { color: #2AA198 } /* Literal.String */
|
||||
.highlight .na { color: #93A1A1 } /* Name.Attribute */
|
||||
.highlight .nb { color: #E91E63 } /* Name.Builtin */
|
||||
.highlight .nc { color: #268BD2 } /* Name.Class */
|
||||
.highlight .no { color: #CB4B16 } /* Name.Constant */
|
||||
.highlight .nd { color: #268BD2 } /* Name.Decorator */
|
||||
.highlight .ni { color: #CB4B16 } /* Name.Entity */
|
||||
.highlight .ne { color: #CB4B16 } /* Name.Exception */
|
||||
.highlight .nf { color: #268BD2 } /* Name.Function */
|
||||
.highlight .nl { color: #93A1A1 } /* Name.Label */
|
||||
.highlight .nn { color: #93A1A1 } /* Name.Namespace */
|
||||
.highlight .nx { color: #B39DDB } /* Name.Other */
|
||||
.highlight .py { color: #93A1A1 } /* Name.Property */
|
||||
.highlight .nt { color: #268BD2 } /* Name.Tag */
|
||||
.highlight .nv { color: #268BD2 } /* Name.Variable */
|
||||
.highlight .ow { color: #859900 } /* Operator.Word */
|
||||
.highlight .w { color: #93A1A1 } /* Text.Whitespace */
|
||||
.highlight .mf { color: #2AA198 } /* Literal.Number.Float */
|
||||
.highlight .mh { color: #2AA198 } /* Literal.Number.Hex */
|
||||
.highlight .mi { color: #2AA198 } /* Literal.Number.Integer */
|
||||
.highlight .mo { color: #2AA198 } /* Literal.Number.Oct */
|
||||
.highlight .sb { color: #586E75 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #2AA198 } /* Literal.String.Char */
|
||||
.highlight .sd { color: #93A1A1 } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #2AA198 } /* Literal.String.Double */
|
||||
.highlight .se { color: #CB4B16 } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #93A1A1 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #2AA198 } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #2AA198 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #DC322F } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #2AA198 } /* Literal.String.Single */
|
||||
.highlight .ss { color: #2AA198 } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #268BD2 } /* Name.Builtin.Pseudo */
|
||||
.highlight .vc { color: #268BD2 } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #268BD2 } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #268BD2 } /* Name.Variable.Instance */
|
||||
.highlight .il { color: #2AA198 } /* Literal.Number.Integer.Long */
|
@ -1,16 +0,0 @@
|
||||
// Layout
|
||||
//
|
||||
// Styles for managing the structural hierarchy of the site.
|
||||
|
||||
.container {
|
||||
max-width: 45rem;
|
||||
padding-left: var(--spacer-2);
|
||||
padding-right: var(--spacer-2);
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
footer {
|
||||
margin-top: var(--spacer-3);
|
||||
margin-bottom: var(--spacer-3);
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
// Masthead
|
||||
//
|
||||
// Super small header above the content for site name and short description.
|
||||
|
||||
.masthead {
|
||||
padding-top: var(--spacer);
|
||||
padding-bottom: var(--spacer);
|
||||
margin-bottom: var(--spacer-3);
|
||||
}
|
||||
|
||||
.masthead-title {
|
||||
margin-bottom: 0;
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
small {
|
||||
font-weight: 400;
|
||||
opacity: .5;
|
||||
}
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
// Messages
|
||||
//
|
||||
// Show alert messages to users. You may add it to single elements like a `<p>`,
|
||||
// or to a parent if there are multiple elements to show.
|
||||
|
||||
.message {
|
||||
padding: var(--spacer);
|
||||
margin-bottom: var(--spacer);
|
||||
color: var(--gray-900);
|
||||
background-color: var(--yellow-100);
|
||||
border-radius: var(--border-radius);
|
||||
}
|
@ -1,52 +0,0 @@
|
||||
// Pagination
|
||||
//
|
||||
// Super lightweight (HTML-wise) blog pagination. `span`s are provide for when
|
||||
// there are no more previous or next posts to show.
|
||||
|
||||
.pagination {
|
||||
display: flex;
|
||||
margin: 0 -1.5rem var(--spacer);
|
||||
color: var(--gray-500);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
// Pagination items can be `span`s or `a`s
|
||||
.pagination-item {
|
||||
display: block;
|
||||
padding: var(--spacer);
|
||||
text-decoration: none;
|
||||
border: solid var(--border-color);
|
||||
border-width: 1px 0;
|
||||
|
||||
&:first-child {
|
||||
margin-bottom: -1px;
|
||||
}
|
||||
}
|
||||
|
||||
// Only provide a hover state for linked pagination items
|
||||
a.pagination-item:hover {
|
||||
background-color: var(--border-color);
|
||||
}
|
||||
|
||||
@media (min-width: 30em) {
|
||||
.pagination {
|
||||
margin: var(--spacer-3) 0;
|
||||
}
|
||||
|
||||
.pagination-item {
|
||||
float: left;
|
||||
width: 50%;
|
||||
border-width: 1px;
|
||||
|
||||
&:first-child {
|
||||
margin-bottom: 0;
|
||||
border-top-left-radius: var(--border-radius);
|
||||
border-bottom-left-radius: var(--border-radius);
|
||||
}
|
||||
&:last-child {
|
||||
margin-left: -1px;
|
||||
border-top-right-radius: var(--border-radius);
|
||||
border-bottom-right-radius: var(--border-radius);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,67 +0,0 @@
|
||||
// Posts and pages
|
||||
//
|
||||
// Each post is wrapped in `.post` and is used on default and post layouts. Each
|
||||
// page is wrapped in `.page` and is only used on the page layout.
|
||||
|
||||
.page,
|
||||
.post {
|
||||
margin-bottom: 4em;
|
||||
|
||||
li + li {
|
||||
margin-top: .25rem;
|
||||
}
|
||||
}
|
||||
|
||||
// Blog post or page title
|
||||
.page-title,
|
||||
.post-title {
|
||||
color: var(--heading-color);
|
||||
}
|
||||
.page-title,
|
||||
.post-title {
|
||||
margin-top: 0;
|
||||
}
|
||||
.post-title a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
// Meta data line below post title
|
||||
.post-date {
|
||||
display: block;
|
||||
margin-top: -.5rem;
|
||||
margin-bottom: var(--spacer);
|
||||
color: var(--gray-600);
|
||||
}
|
||||
|
||||
|
||||
// Related posts
|
||||
.related {
|
||||
padding-top: var(--spacer-2);
|
||||
padding-bottom: var(--spacer-2);
|
||||
margin-bottom: var(--spacer-2);
|
||||
border-top: 1px solid var(--border-color);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
.related-posts {
|
||||
padding-left: 0;
|
||||
list-style: none;
|
||||
|
||||
h3 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
|
||||
small {
|
||||
color: var(--gray-600);
|
||||
}
|
||||
}
|
||||
}
|
53
_sass/_reset.scss
Normal file
@ -0,0 +1,53 @@
|
||||
|
||||
/***************/
|
||||
/* MEYER RESET */
|
||||
/***************/
|
||||
|
||||
html, body, div, span, applet, object, iframe,
|
||||
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||
a, abbr, acronym, address, big, cite, code,
|
||||
del, dfn, em, img, ins, kbd, q, s, samp,
|
||||
small, strike, strong, sub, sup, tt, var,
|
||||
b, u, i, center,
|
||||
dl, dt, dd, ol, ul, li,
|
||||
fieldset, form, label, legend,
|
||||
table, caption, tbody, tfoot, thead, tr, th, td,
|
||||
article, aside, canvas, details, embed,
|
||||
figure, figcaption, footer, header, hgroup,
|
||||
menu, nav, output, ruby, section, summary,
|
||||
time, mark, audio, video {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
font-size: 100%;
|
||||
font: inherit;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
// HTML5 display-role reset for older browsers
|
||||
article, aside, details, figcaption, figure,
|
||||
footer, header, hgroup, menu, nav, section {
|
||||
display: block;
|
||||
}
|
||||
body {
|
||||
line-height: 1;
|
||||
}
|
||||
ol, ul {
|
||||
list-style: none;
|
||||
}
|
||||
blockquote, q {
|
||||
quotes: none;
|
||||
}
|
||||
blockquote:before, blockquote:after,
|
||||
q:before, q:after {
|
||||
content: '';
|
||||
content: none;
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
// Apply a natural box layout model to all elements
|
||||
// from: http://www.paulirish.com/2012/box-sizing-border-box-ftw/
|
||||
*, *:before, *:after {
|
||||
-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
|
||||
}
|
20
_sass/_svg-icons.scss
Normal file
@ -1,65 +0,0 @@
|
||||
.highlight .hll { background-color: #ffc; }
|
||||
.highlight .c { color: #999; } /* Comment */
|
||||
.highlight .err { color: #a00; background-color: #faa } /* Error */
|
||||
.highlight .k { color: #069; } /* Keyword */
|
||||
.highlight .o { color: #555 } /* Operator */
|
||||
.highlight .cm { color: #09f; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #099 } /* Comment.Preproc */
|
||||
.highlight .c1 { color: #999; } /* Comment.Single */
|
||||
.highlight .cs { color: #999; } /* Comment.Special */
|
||||
.highlight .gd { background-color: #fcc; border: 1px solid #c00 } /* Generic.Deleted */
|
||||
.highlight .ge { font-style: italic } /* Generic.Emph */
|
||||
.highlight .gr { color: #f00 } /* Generic.Error */
|
||||
.highlight .gh { color: #030; } /* Generic.Heading */
|
||||
.highlight .gi { background-color: #cfc; border: 1px solid #0c0 } /* Generic.Inserted */
|
||||
.highlight .go { color: #aaa } /* Generic.Output */
|
||||
.highlight .gp { color: #009; } /* Generic.Prompt */
|
||||
.highlight .gs { } /* Generic.Strong */
|
||||
.highlight .gu { color: #030; } /* Generic.Subheading */
|
||||
.highlight .gt { color: #9c6 } /* Generic.Traceback */
|
||||
.highlight .kc { color: #069; } /* Keyword.Constant */
|
||||
.highlight .kd { color: #069; } /* Keyword.Declaration */
|
||||
.highlight .kn { color: #069; } /* Keyword.Namespace */
|
||||
.highlight .kp { color: #069 } /* Keyword.Pseudo */
|
||||
.highlight .kr { color: #069; } /* Keyword.Reserved */
|
||||
.highlight .kt { color: #078; } /* Keyword.Type */
|
||||
.highlight .m { color: #f60 } /* Literal.Number */
|
||||
.highlight .s { color: #d44950 } /* Literal.String */
|
||||
.highlight .na { color: #4f9fcf } /* Name.Attribute */
|
||||
.highlight .nb { color: #366 } /* Name.Builtin */
|
||||
.highlight .nc { color: #0a8; } /* Name.Class */
|
||||
.highlight .no { color: #360 } /* Name.Constant */
|
||||
.highlight .nd { color: #99f } /* Name.Decorator */
|
||||
.highlight .ni { color: #999; } /* Name.Entity */
|
||||
.highlight .ne { color: #c00; } /* Name.Exception */
|
||||
.highlight .nf { color: #c0f } /* Name.Function */
|
||||
.highlight .nl { color: #99f } /* Name.Label */
|
||||
.highlight .nn { color: #0cf; } /* Name.Namespace */
|
||||
.highlight .nt { color: #2f6f9f; } /* Name.Tag */
|
||||
.highlight .nv { color: #033 } /* Name.Variable */
|
||||
.highlight .ow { color: #000; } /* Operator.Word */
|
||||
.highlight .w { color: #bbb } /* Text.Whitespace */
|
||||
.highlight .mf { color: #f60 } /* Literal.Number.Float */
|
||||
.highlight .mh { color: #f60 } /* Literal.Number.Hex */
|
||||
.highlight .mi { color: #f60 } /* Literal.Number.Integer */
|
||||
.highlight .mo { color: #f60 } /* Literal.Number.Oct */
|
||||
.highlight .sb { color: #c30 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #c30 } /* Literal.String.Char */
|
||||
.highlight .sd { color: #c30; font-style: italic } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #c30 } /* Literal.String.Double */
|
||||
.highlight .se { color: #c30; } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #c30 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #a00 } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #c30 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #3aa } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #c30 } /* Literal.String.Single */
|
||||
.highlight .ss { color: #fc3 } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #366 } /* Name.Builtin.Pseudo */
|
||||
.highlight .vc { color: #033 } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #033 } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #033 } /* Name.Variable.Instance */
|
||||
.highlight .il { color: #f60 } /* Literal.Number.Integer.Long */
|
||||
|
||||
.css .o,
|
||||
.css .o + .nt,
|
||||
.css .nt + .nt { color: #999; }
|
@ -1,16 +0,0 @@
|
||||
// Table of Contents
|
||||
|
||||
#markdown-toc {
|
||||
padding: var(--spacer-2) var(--spacer-3);
|
||||
margin-bottom: var(--spacer-2);
|
||||
border: solid var(--border-color);
|
||||
border-width: 1px 0;
|
||||
|
||||
&::before {
|
||||
display: block;
|
||||
margin-left: calc(var(--spacer-3) * -1);
|
||||
content: "Contents";
|
||||
font-size: 85%;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
115
_sass/_type.scss
@ -1,115 +0,0 @@
|
||||
// Typography
|
||||
//
|
||||
// Headings, body text, lists, and other misc typographic elements.
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-bottom: .5rem;
|
||||
font-weight: 600;
|
||||
line-height: 1.25;
|
||||
color: var(--heading-color);
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin-top: 1rem;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
h3 {
|
||||
margin-top: 1.5rem;
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
h4, h5, h6 {
|
||||
margin-top: 1rem;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
ul, ol, dl {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
hr {
|
||||
position: relative;
|
||||
margin: var(--spacer-2) 0;
|
||||
border: 0;
|
||||
border-top: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
abbr {
|
||||
font-size: 85%;
|
||||
font-weight: bold;
|
||||
color: var(--gray-600);
|
||||
text-transform: uppercase;
|
||||
|
||||
&[title] {
|
||||
cursor: help;
|
||||
border-bottom: 1px dotted var(--border-color);
|
||||
}
|
||||
}
|
||||
|
||||
blockquote {
|
||||
padding: .5rem 1rem;
|
||||
margin: .8rem 0;
|
||||
color: var(--gray-500);
|
||||
border-left: .25rem solid var(--border-color);
|
||||
|
||||
p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
@media (min-width: 30em) {
|
||||
padding-right: 5rem;
|
||||
padding-left: 1.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
|
||||
// Markdown footnotes
|
||||
//
|
||||
// See the example content post for an example.
|
||||
|
||||
// Footnote number within body text
|
||||
a[href^="#fn:"],
|
||||
// Back to footnote link
|
||||
a[href^="#fnref:"] {
|
||||
display: inline-block;
|
||||
margin-left: .1rem;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
// List of footnotes
|
||||
.footnotes {
|
||||
margin-top: 2rem;
|
||||
font-size: 85%;
|
||||
}
|
||||
|
||||
// Custom type
|
||||
//
|
||||
// Extend paragraphs with `.lead` for larger introductory text.
|
||||
|
||||
.lead {
|
||||
font-size: 1.25rem;
|
||||
font-weight: 300;
|
||||
}
|
@ -1,66 +1,27 @@
|
||||
:root {
|
||||
--gray-000: #f8f9fa;
|
||||
--gray-100: #f1f3f5;
|
||||
--gray-200: #e9ecef;
|
||||
--gray-300: #dee2e6;
|
||||
--gray-400: #ced4da;
|
||||
--gray-500: #adb5bd;
|
||||
--gray-600: #868e96;
|
||||
--gray-700: #495057;
|
||||
--gray-800: #343a40;
|
||||
--gray-900: #212529;
|
||||
|
||||
--red: #fa5252;
|
||||
--pink: #e64980;
|
||||
--grape: #be4bdb;
|
||||
--purple: #7950f2;
|
||||
--indigo: #4c6ef5;
|
||||
--blue: #228be6;
|
||||
--cyan: #15aabf;
|
||||
--teal: #12b886;
|
||||
--green: #40c057;
|
||||
--yellow: #fab005;
|
||||
--orange: #fd7e14;
|
||||
//
|
||||
// VARIABLES
|
||||
//
|
||||
|
||||
--blue-300: #74c0fc;
|
||||
--blue-400: #4dabf7;
|
||||
--yellow-100: #fff3bf;
|
||||
// Colors
|
||||
$blue: #4183C4;
|
||||
|
||||
--body-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
--body-font-size: 16px;
|
||||
--body-line-height: 1.5;
|
||||
--body-color: var(--gray-700);
|
||||
--body-bg: #fff;
|
||||
// Grays
|
||||
$black: #000;
|
||||
$darkerGray: #222;
|
||||
$darkGray: #333;
|
||||
$gray: #666;
|
||||
$lightGray: #eee;
|
||||
$white: #fff;
|
||||
|
||||
--link-color: var(--blue);
|
||||
--link-hover-color: #1c7ed6;
|
||||
// Font stacks
|
||||
$helvetica: Helvetica, Arial, sans-serif;
|
||||
$helveticaNeue: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
$georgia: Georgia, serif;
|
||||
|
||||
--heading-color: var(--gray-900);
|
||||
|
||||
--border-color: var(--gray-300);
|
||||
--border-radius: .25rem;
|
||||
|
||||
--code-font: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
--code-color: var(--grape);
|
||||
--code-bg: var(--gray-000);
|
||||
|
||||
--spacer: 1rem;
|
||||
--spacer-2: calc(var(--spacer) * 1.5);
|
||||
--spacer-3: calc(var(--spacer) * 3);
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--body-color: var(--gray-300);
|
||||
--body-bg: var(--gray-800);
|
||||
|
||||
--heading-color: #fff;
|
||||
|
||||
--link-color: var(--blue-300);
|
||||
--link-hover-color: var(--blue-400);
|
||||
|
||||
--border-color: rgba(255,255,255,.15);
|
||||
|
||||
--code-bg: var(--gray-900);
|
||||
// Mobile breakpoints
|
||||
@mixin mobile {
|
||||
@media screen and (max-width: 640px) {
|
||||
@content;
|
||||
}
|
||||
}
|
@ -1,2 +0,0 @@
|
||||
bundle install
|
||||
bundle exec jekyll build --config _config-dev.yml
|
@ -1,2 +0,0 @@
|
||||
bundle install
|
||||
JEKYLL_ENV="production" bundle exec jekyll build
|
@ -1,9 +0,0 @@
|
||||
dir=/home/glados/bbb
|
||||
echo "Switching to Bionic Beanie Blog at $dir"
|
||||
cd $dir
|
||||
|
||||
echo "Building bbb"
|
||||
JEKYLL_ENV="production" bundle exec jekyll build
|
||||
|
||||
#echo "Restarting Nginx"
|
||||
#service nginx restart
|
@ -1 +0,0 @@
|
||||
bundle exec jekyll serve --config _config-dev.yml
|
16
archive.md
@ -1,16 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: Archive
|
||||
---
|
||||
|
||||
Browse all posts by month and year.
|
||||
|
||||
{% assign postsByYearMonth = site.posts | group_by_exp: "post", "post.date | date: '%B %Y'" %}
|
||||
{% for yearMonth in postsByYearMonth %}
|
||||
<h2>{{ yearMonth.name }}</h2>
|
||||
<ul>
|
||||
{% for post in yearMonth.items %}
|
||||
<li><a href="{{ post.url }}">{{ post.title }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endfor %}
|
6
assets/simple-jekyll-search.min.js
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
/*!
|
||||
* Simple-Jekyll-Search v1.7.2 (https://github.com/christian-fei/Simple-Jekyll-Search)
|
||||
* Copyright 2015-2018, Christian Fei
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
!function(){"use strict";var f={load:function w(t,e){var n=function r(){return window.XMLHttpRequest?new window.XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP")}();n.open("GET",t,!0),n.onreadystatechange=function i(e,n){return function(){if(4===e.readyState&&200===e.status)try{n(null,JSON.parse(e.responseText))}catch(t){n(t,null)}}}(n,e),n.send()}};(function y(t){if(!function e(t){return!!t&&"undefined"!=typeof t.required&&t.required instanceof Array}(t))throw new Error("-- OptionsValidator: required options missing");if(!(this instanceof y))return new y(t);var r=t.required;this.getRequiredOptions=function(){return r},this.validate=function(e){var n=[];return r.forEach(function(t){"undefined"==typeof e[t]&&n.push(t)}),n}});var n=function g(t,e){var n=e.length,r=t.length;if(n<r)return!1;if(r===n)return t===e;t:for(var i=0,o=0;i<r;i++){for(var u=t.charCodeAt(i);o<n;)if(e.charCodeAt(o++)===u)continue t;return!1}return!0},e=new function t(){this.matches=function(t,e){return n(e.toLowerCase(),t.toLowerCase())}};var r=new function O(){this.matches=function(e,t){return!!e&&(e=e.trim().toLowerCase(),(t=t.trim().toLowerCase()).split(" ").filter(function(t){return 0<=e.indexOf(t)}).length===t.split(" ").length)}};var l={put:function z(t){if(c(t))return s(t);if(function e(t){return Boolean(t)&&"[object Array]"===Object.prototype.toString.call(t)}(t))return function i(t){var e=[];a();for(var n=0,r=t.length;n<r;n++)c(t[n])&&e.push(s(t[n]));return e}(t);return undefined},clear:a,search:function S(t){return t?function a(t,e,n,r){for(var i=[],o=0;o<t.length&&i.length<r.limit;o++){var u=d(t[o],e,n,r);u&&i.push(u)}return i}(o,t,u.searchStrategy,u).sort(u.sort):[]},setOptions:function q(t){(u=t||{}).fuzzy=t.fuzzy||!1,u.limit=t.limit||10,u.searchStrategy=t.fuzzy?e:r,u.sort=t.sort||i}};function i(){return 0}var o=[],u={};function a(){return o.length=0,o}function c(t){return Boolean(t)&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){return o.push(t),o}function d(t,e,n,r){for(var i in t)if(!p(t[i],r.exclude)&&n.matches(t[i],e))return t}function p(t,e){for(var n=!1,r=0,i=(e=e||[]).length;r<i;r++){var o=e[r];!n&&new RegExp(t).test(o)&&(n=!0)}return n}u.fuzzy=!1,u.limit=10,u.searchStrategy=u.fuzzy?e:r,u.sort=i;var h={compile:function j(r){return m.template.replace(m.pattern,function(t,e){var n=m.middleware(e,r[e],m.template);return void 0!==n?n:r[e]||t})},setOptions:function C(t){m.pattern=t.pattern||m.pattern,m.template=t.template||m.template,"function"==typeof t.middleware&&(m.middleware=t.middleware)}},m={};m.pattern=/\{(.*?)\}/g,m.template="",m.middleware=function(){};var v={merge:function L(t,e){var n={};for(var r in t)n[r]=t[r],"undefined"!=typeof e[r]&&(n[r]=e[r]);return n},isJSON:function M(t){try{return!!(t instanceof Object&&JSON.parse(JSON.stringify(t)))}catch(e){return!1}}};!function(t){var o={searchInput:null,resultsContainer:null,json:[],success:Function.prototype,searchResultTemplate:'<li><a href="{url}" title="{desc}">{title}</a></li>',templateMiddleware:Function.prototype,sortMiddleware:function(){return 0},noResultsText:"No results found",limit:10,fuzzy:!1,exclude:[]},n=["searchInput","resultsContainer","json"],r=function y(e){if(!function n(t){return!!t&&"undefined"!=typeof t.required&&t.required instanceof Array}(e))throw new Error("-- OptionsValidator: required options missing");if(!(this instanceof y))return new y(e);var r=e.required;this.getRequiredOptions=function(){return r},this.validate=function(e){var n=[];return r.forEach(function(t){"undefined"==typeof e[t]&&n.push(t)}),n}}({required:n});function i(t){o.success(t),l.put(t),function e(){o.searchInput.addEventListener("keyup",function(t){(function e(t){return-1===[13,16,20,37,38,39,40,91].indexOf(t)})(t.which)&&(u(),c(t.target.value))})}()}function u(){o.resultsContainer.innerHTML=""}function a(t){o.resultsContainer.innerHTML+=t}function c(t){(function e(t){return t&&0<t.length})(t)&&(u(),function i(t,e){var n=t.length;if(0===n)return a(o.noResultsText);for(var r=0;r<n;r++)t[r].query=e,a(h.compile(t[r]))}(l.search(t),t))}function s(t){throw new Error("SimpleJekyllSearch --- "+t)}t.SimpleJekyllSearch=function(t){return 0<r.validate(t).length&&s("You must specify the following required options: "+n),o=v.merge(o,t),h.setOptions({template:o.searchResultTemplate,middleware:o.templateMiddleware}),l.setOptions({fuzzy:o.fuzzy,limit:o.limit,sort:o.sortMiddleware}),v.isJSON(o.json)?i(o.json):function e(n){f.load(n,function(t,e){t&&s("failed to get JSON ("+n+")"),i(e)})}(o.json),{search:c}}}(window)}();
|
1144
assets/style.scss
Normal file
28
atom.xml
@ -1,28 +0,0 @@
|
||||
---
|
||||
layout: null
|
||||
---
|
||||
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
|
||||
<title>{{ site.title }}</title>
|
||||
<link href="{{ site.url }}{{ site.baseurl }}/atom.xml" rel="self"/>
|
||||
<link href="{{ site.url }}{{ site.baseurl }}/"/>
|
||||
<updated>{{ site.time | date_to_xmlschema }}</updated>
|
||||
<id>{{ site.url }}</id>
|
||||
<author>
|
||||
<name>{{ site.author.name }}</name>
|
||||
<email>{{ site.author.email }}</email>
|
||||
</author>
|
||||
|
||||
{% for post in site.posts %}
|
||||
<entry>
|
||||
<title>{{ post.title }}</title>
|
||||
<link href="{{ site.url }}{{ post.url }}"/>
|
||||
<updated>{{ post.date | date_to_xmlschema }}</updated>
|
||||
<id>{{ site.url }}{{ site.baseurl }}{{ post.id }}</id>
|
||||
<content type="html">{{ post.content | xml_escape }}</content>
|
||||
</entry>
|
||||
{% endfor %}
|
||||
|
||||
</feed>
|
@ -1,42 +0,0 @@
|
||||
---
|
||||
layout: post
|
||||
title: Getting Ready
|
||||
categories: ["introduction"]
|
||||
---
|
||||
|
||||
How did I setup this site ?
|
||||
|
||||

|
||||
|
||||
--------
|
||||
|
||||
## Domain Name
|
||||
|
||||
[Bionic Beanie](https://theportalwiki.com/wiki/Bionic_Beanie) is a head wear from [Portal 2](https://en.wikipedia.org/wiki/Portal_2) co-op. Portal series is one of my favourite PC games and **Bionic Beanie Blog** sounded great in my head.
|
||||
|
||||
Bought it right away from [Go Daddy](https://in.godaddy.com/). The package included DNS hosting as well.
|
||||
|
||||
## Blog Tech
|
||||
|
||||
I wanted to use a static site generator as opposed to any CMS like Wordpress. They should be faster and easier to configure/manage. [Jekyll](https://jekyllrb.com/) is what I settled with - mainly because I [recognise the name from my childhood](https://en.wikipedia.org/wiki/Strange_Case_of_Dr_Jekyll_and_Mr_Hyde).
|
||||
|
||||
To fasttrack my site design, I decided to use [Lanyon](https://github.com/poole/lanyon#readme) which is an extension of [Poole](https://getpoole.com/) - which I also [recognize from my childhood](https://study.com/academy/lesson/mr-poole-in-dr-jekyll-mr-hyde.html).
|
||||
|
||||
## Hosting my blog
|
||||
|
||||
Bought the cheapest VPS from [Vultr](https://www.vultr.com/) for $5 a month - 1GB RAM and a single core shared server. This is more than good enough for hosting my static files. I might end up using this instance for some of my other projects too.
|
||||
|
||||
## Working Setup
|
||||
|
||||
[LetsEncrypt](https://letsencrypt.org/) helped issuing free ssl cert for my domain.
|
||||
|
||||
The server will run behind an [nginx](https://www.nginx.com/) instance serving static files from `_site` folder that are built as part of jekyll build process. Having set the config up [this way](https://gist.github.com/cool-mist/9663a14d0821211b34b7e5f970f6f4e4), I just have to clone and build the files to publish new changes. I will push the blog site data to a remote git repository to manage the articles.
|
||||
|
||||
## Logo
|
||||
|
||||
The letters signify the first letter of the site's name. The color scheme is a reference to the two different portal colors in Portal.
|
||||
|
||||

|
||||
|
||||
|
||||
**Let's Go**
|
@ -1,19 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: Categories
|
||||
---
|
||||
|
||||
Browse all posts by categories
|
||||
|
||||
{% for category in site.categories %}
|
||||
{% capture category_name %}{{ category | first }}{% endcapture %}
|
||||
<div id="#{{ category_name | slugize }}"></div>
|
||||
<p></p>
|
||||
<h2 class="category-head">{{ category_name | capitalize }}</h2>
|
||||
<a name="{{ category_name | slugize }}"></a>
|
||||
<ul>
|
||||
{% for post in site.categories[category_name] %}
|
||||
<li><a href="{{ site.baseurl }}{{ post.url }}">{{post.title}}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endfor %}
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
BIN
fonts/EBGaramond-Regular.ttf
Normal file
BIN
fonts/aramisi.ttf
Normal file
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
BIN
images/favicon.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 151 KiB After Width: | Height: | Size: 151 KiB |
50
index.html
@ -1,37 +1,49 @@
|
||||
---
|
||||
layout: default
|
||||
title: Home
|
||||
---
|
||||
|
||||
<div class="posts">
|
||||
{% for post in paginator.posts %}
|
||||
<a class="paginated-post" href="{{ post.url | absolute_url }}">
|
||||
<article class="post">
|
||||
<a href="{{ site.baseurl }}{{ post.url }}">
|
||||
<h1>{{ post.title }}</h1>
|
||||
|
||||
<div>
|
||||
<h2>
|
||||
{{ post.title }}
|
||||
</h2>
|
||||
<span class="post-date">{{ post.date | date_to_string }}</span>
|
||||
<span class="post-meta-separator">.</span>
|
||||
<span class="post-minutes">{% capture content %}{{ post.content }}{% endcapture %}{% include minutes_to_read.html %}</span>
|
||||
{{ post.excerpt }}
|
||||
<p class="post_date">{{ post.date | date: "%B %e, %Y" }}</p>
|
||||
</div>
|
||||
</a>
|
||||
{% endfor %}
|
||||
<div class="entry">
|
||||
{{ post.excerpt }}
|
||||
</div>
|
||||
|
||||
<a href="{{ site.baseurl }}{{ post.url }}" class="read-more">Read More</a>
|
||||
</article>
|
||||
{% endfor %}
|
||||
|
||||
<!-- pagination -->
|
||||
{% if paginator.total_pages > 1 %}
|
||||
<div class="pagination">
|
||||
{% if paginator.next_page %}
|
||||
<a class="pagination-item older" href="{{ paginator.next_page_path | absolute_url }}">Older</a>
|
||||
{% else %}
|
||||
<span class="pagination-item older">Older</span>
|
||||
{% endif %}
|
||||
{% if paginator.previous_page %}
|
||||
{% if paginator.page == 2 %}
|
||||
<a class="pagination-item newer" href="{{ '/' | absolute_url }}">Newer</a>
|
||||
<a href="{{ paginator.previous_page_path | prepend: site.baseurl | replace: '//', '/' }}">« Prev</a>
|
||||
{% else %}
|
||||
<a class="pagination-item newer" href="{{ paginator.previous_page_path | absolute_url }}">Newer</a>
|
||||
<span>« Prev</span>
|
||||
{% endif %}
|
||||
|
||||
{% for page in (1..paginator.total_pages) %}
|
||||
{% if page == paginator.page %}
|
||||
<span class="webjeda">{{ page }}</span>
|
||||
{% elsif page == 1 %}
|
||||
<a href="{{ '/' | prepend: site.baseurl | replace: '//', '/' }}">{{ page }}</a>
|
||||
{% else %}
|
||||
<span class="pagination-item newer">Newer</span>
|
||||
<a href="{{ site.paginate_path | prepend: site.baseurl | replace: '//', '/' | replace: ':num', page }}">{{ page }}</a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% if paginator.next_page %}
|
||||
<a href="{{ paginator.next_page_path | prepend: site.baseurl | replace: '//', '/' }}">Next »</a>
|
||||
{% else %}
|
||||
<span>Next »</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
@ -1,61 +0,0 @@
|
||||
/* osi */
|
||||
img[alt="OSI Outline"] {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Navigation Bar */
|
||||
|
||||
.navbar {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.navbar ul {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.navbar ul li {
|
||||
display: inline;
|
||||
display: inline-block;
|
||||
zoom: 1;
|
||||
margin-left: 0.3rem;
|
||||
}
|
||||
|
||||
.navbar-link a{
|
||||
display: block;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
padding: 0.1rem;
|
||||
}
|
||||
|
||||
a.navbar-link:link, a.navbar-link:visited{
|
||||
text-decoration: none;
|
||||
color: #505050;
|
||||
}
|
||||
|
||||
a.navbar-link:hover{
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.navbar-link:active{
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* General */
|
||||
.inline-block {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.paginated-post {
|
||||
display: inline-block;
|
||||
margin: 1rem;
|
||||
box-shadow: 0.1rem 0.1rem 0.3rem 0.1rem rgba(0,0,0,0.2);
|
||||
border-radius: 0.5rem;
|
||||
padding: 1rem;
|
||||
color: rgba(1, 19, 27, 0.712);
|
||||
}
|
||||
|
||||
.paginated-post:hover {
|
||||
box-shadow: 0.2rem 0.2rem 0.3rem 0.1rem rgba(0, 11, 15, 0.616);
|
||||
}
|
||||
|
@ -1,575 +0,0 @@
|
||||
/*
|
||||
* ___
|
||||
* /\_ \
|
||||
* \//\ \ __ ___ __ __ ___ ___
|
||||
* \ \ \ /'__`\ /' _ `\/\ \/\ \ / __`\ /' _ `\
|
||||
* \_\ \_/\ \_\.\_/\ \/\ \ \ \_\ \/\ \_\ \/\ \/\ \
|
||||
* /\____\ \__/.\_\ \_\ \_\/`____ \ \____/\ \_\ \_\
|
||||
* \/____/\/__/\/_/\/_/\/_/`/___/> \/___/ \/_/\/_/
|
||||
* /\___/
|
||||
* \/__/
|
||||
*
|
||||
* Designed, built, and released under MIT license by @mdo. Learn more at
|
||||
* https://github.com/poole/lanyon.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Contents
|
||||
*
|
||||
* Global resets
|
||||
* Masthead
|
||||
* Sidebar
|
||||
* Slide effect
|
||||
* Posts and pages
|
||||
* Pagination
|
||||
* Reverse layout
|
||||
* Themes
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Global resets
|
||||
*
|
||||
* Update the foundational and global aspects of the page.
|
||||
*/
|
||||
|
||||
/* Prevent scroll on narrow devices */
|
||||
html,
|
||||
body {
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
font-weight: 400;
|
||||
color: #313131;
|
||||
letter-spacing: -.025rem;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Wrapper
|
||||
*
|
||||
* The wrapper is used to position site content when the sidebar is toggled. We
|
||||
* use an outter wrap to position the sidebar without interferring with the
|
||||
* regular page content.
|
||||
*/
|
||||
|
||||
.wrap {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Container
|
||||
*
|
||||
* Center the page content.
|
||||
*/
|
||||
|
||||
.container {
|
||||
max-width: 40rem;
|
||||
}
|
||||
@media (min-width: 38em) {
|
||||
.container {
|
||||
max-width: 32rem;
|
||||
}
|
||||
}
|
||||
@media (min-width: 56em) {
|
||||
.container {
|
||||
max-width: 45rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Masthead
|
||||
*
|
||||
* Super small header above the content for site name and short description.
|
||||
*/
|
||||
|
||||
.masthead {
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 1rem;
|
||||
margin-bottom: 3rem;
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
.masthead-title {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
color: #505050;
|
||||
}
|
||||
.masthead-title a {
|
||||
color: #505050;
|
||||
}
|
||||
.masthead-title small {
|
||||
font-size: 75%;
|
||||
font-weight: 400;
|
||||
color: #c0c0c0;
|
||||
letter-spacing: 0;
|
||||
}
|
||||
|
||||
@media (max-width: 48em) {
|
||||
.masthead-title {
|
||||
text-align: center;
|
||||
}
|
||||
.masthead-title small {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Sidebar
|
||||
*
|
||||
* The sidebar is the drawer, the item we are toggling with our handy hamburger
|
||||
* button in the corner of the page.
|
||||
*
|
||||
* This particular sidebar implementation was inspired by Chris Coyier's
|
||||
* "Offcanvas Menu with CSS Target" article, and the checkbox variation from the
|
||||
* comments by a reader. It modifies both implementations to continue using the
|
||||
* checkbox (no change in URL means no polluted browser history), but this uses
|
||||
* `position` for the menu to avoid some potential content reflow issues.
|
||||
*
|
||||
* Source: http://css-tricks.com/off-canvas-menu-with-css-target/#comment-207504
|
||||
*/
|
||||
|
||||
/* Style and "hide" the sidebar */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: -14rem;
|
||||
width: 14rem;
|
||||
visibility: hidden;
|
||||
overflow-y: auto;
|
||||
font-family: "PT Sans", Helvetica, Arial, sans-serif;
|
||||
font-size: .875rem; /* 15px */
|
||||
color: rgba(255,255,255,.6);
|
||||
background-color: #202020;
|
||||
-webkit-transition: all .3s ease-in-out;
|
||||
transition: all .3s ease-in-out;
|
||||
}
|
||||
@media (min-width: 30em) {
|
||||
.sidebar {
|
||||
font-size: .75rem; /* 14px */
|
||||
}
|
||||
}
|
||||
|
||||
/* Sidebar content */
|
||||
.sidebar a {
|
||||
font-weight: normal;
|
||||
color: #fff;
|
||||
}
|
||||
.sidebar-item {
|
||||
padding: 1rem;
|
||||
}
|
||||
.sidebar-item p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/* Sidebar nav */
|
||||
.sidebar-nav {
|
||||
border-bottom: 1px solid rgba(255,255,255,.1);
|
||||
}
|
||||
.sidebar-nav-item {
|
||||
display: block;
|
||||
padding: .5rem 1rem;
|
||||
border-top: 1px solid rgba(255,255,255,.1);
|
||||
}
|
||||
.sidebar-nav-item.active,
|
||||
a.sidebar-nav-item:hover,
|
||||
a.sidebar-nav-item:focus {
|
||||
text-decoration: none;
|
||||
background-color: rgba(255,255,255,.1);
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
@media (min-width: 48em) {
|
||||
.sidebar-item {
|
||||
padding: 1.5rem;
|
||||
}
|
||||
.sidebar-nav-item {
|
||||
padding-left: 1.5rem;
|
||||
padding-right: 1.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
/* Hide the sidebar checkbox that we toggle with `.sidebar-toggle` */
|
||||
.sidebar-checkbox {
|
||||
position: absolute;
|
||||
opacity: 0;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
/* Style the `label` that we use to target the `.sidebar-checkbox` */
|
||||
.sidebar-toggle {
|
||||
position: absolute;
|
||||
top: .8rem;
|
||||
left: 1rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: .25rem .75rem;
|
||||
color: #505050;
|
||||
background-color: #fff;
|
||||
border-radius: .25rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.sidebar-toggle::before {
|
||||
display: inline-block;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
content: "";
|
||||
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='%23555' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M2.5 11.5A.5.5 0 013 11h10a.5.5 0 010 1H3a.5.5 0 01-.5-.5zm0-4A.5.5 0 013 7h10a.5.5 0 010 1H3a.5.5 0 01-.5-.5zm0-4A.5.5 0 013 3h10a.5.5 0 010 1H3a.5.5 0 01-.5-.5z' clip-rule='evenodd'/%3E%3C/svg%3E") no-repeat;
|
||||
}
|
||||
|
||||
.sidebar-toggle:active,
|
||||
#sidebar-checkbox:focus ~ .sidebar-toggle,
|
||||
#sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
color: #fff;
|
||||
background-color: #555;
|
||||
}
|
||||
|
||||
.sidebar-toggle:active:before,
|
||||
#sidebar-checkbox:focus ~ .sidebar-toggle::before,
|
||||
#sidebar-checkbox:checked ~ .sidebar-toggle::before {
|
||||
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M2.5 11.5A.5.5 0 013 11h10a.5.5 0 010 1H3a.5.5 0 01-.5-.5zm0-4A.5.5 0 013 7h10a.5.5 0 010 1H3a.5.5 0 01-.5-.5zm0-4A.5.5 0 013 3h10a.5.5 0 010 1H3a.5.5 0 01-.5-.5z' clip-rule='evenodd'/%3E%3C/svg%3E") no-repeat;
|
||||
}
|
||||
|
||||
@media (min-width: 30.1em) {
|
||||
.sidebar-toggle {
|
||||
position: fixed;
|
||||
}
|
||||
}
|
||||
|
||||
@media print {
|
||||
.sidebar-toggle {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* Slide effect
|
||||
*
|
||||
* Handle the sliding effects of the sidebar and content in one spot, seperate
|
||||
* from the default styles.
|
||||
*
|
||||
* As an a heads up, we don't use `transform: translate3d()` here because when
|
||||
* mixed with `position: fixed;` for the sidebar toggle, it creates a new
|
||||
* containing block. Put simply, the fixed sidebar toggle behaves like
|
||||
* `position: absolute;` when transformed.
|
||||
*
|
||||
* Read more about it at http://meyerweb.com/eric/thoughts/2011/09/12/.
|
||||
*/
|
||||
|
||||
.wrap,
|
||||
.sidebar,
|
||||
.sidebar-toggle {
|
||||
-webkit-backface-visibility: hidden;
|
||||
-ms-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
}
|
||||
.wrap,
|
||||
.sidebar-toggle {
|
||||
-webkit-transition: -webkit-transform .3s ease-in-out;
|
||||
transition: transform .3s ease-in-out;
|
||||
}
|
||||
|
||||
#sidebar-checkbox:checked + .sidebar {
|
||||
z-index: 10;
|
||||
visibility: visible;
|
||||
}
|
||||
#sidebar-checkbox:checked ~ .sidebar,
|
||||
#sidebar-checkbox:checked ~ .wrap,
|
||||
#sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
-webkit-transform: translateX(14rem);
|
||||
-ms-transform: translateX(14rem);
|
||||
transform: translateX(14rem);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Posts and pages
|
||||
*
|
||||
* Each post is wrapped in `.post` and is used on default and post layouts. Each
|
||||
* page is wrapped in `.page` and is only used on the page layout.
|
||||
*/
|
||||
|
||||
.page,
|
||||
.post {
|
||||
margin-bottom: 4em;
|
||||
}
|
||||
|
||||
/* Blog post or page title */
|
||||
.page-title,
|
||||
.post-title,
|
||||
.post-title a {
|
||||
color: #303030;
|
||||
}
|
||||
.page-title,
|
||||
.post-title {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
/* Meta data line below post title */
|
||||
.post-date {
|
||||
display: inline;
|
||||
margin-top: -1rem;
|
||||
margin-bottom: 1rem;
|
||||
color: #6d74a1;
|
||||
font-weight: bold;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.post-minutes {
|
||||
display: inline;
|
||||
margin-top: -1rem;
|
||||
margin-bottom: 1rem;
|
||||
color: #6d74a1;
|
||||
font-weight: bold;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.post-meta-separator {
|
||||
display: inline;
|
||||
margin-bottom: 5rem;
|
||||
font-size: 1.8em;
|
||||
}
|
||||
|
||||
/* Related posts */
|
||||
.related {
|
||||
padding-top: 2rem;
|
||||
padding-bottom: 2rem;
|
||||
border-top: 1px solid #eee;
|
||||
}
|
||||
.related-posts {
|
||||
padding-left: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.related-posts h3 {
|
||||
margin-top: 0;
|
||||
}
|
||||
.related-posts li small {
|
||||
font-size: 75%;
|
||||
color: #999;
|
||||
}
|
||||
.related-posts li a:hover {
|
||||
color: #268bd2;
|
||||
text-decoration: none;
|
||||
}
|
||||
.related-posts li a:hover small {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Pagination
|
||||
*
|
||||
* Super lightweight (HTML-wise) blog pagination. `span`s are provide for when
|
||||
* there are no more previous or next posts to show.
|
||||
*/
|
||||
|
||||
.pagination {
|
||||
overflow: hidden; /* clearfix */
|
||||
margin-left: -1rem;
|
||||
margin-right: -1rem;
|
||||
font-family: "PT Sans", Helvetica, Arial, sans-serif;
|
||||
color: #ccc;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Pagination items can be `span`s or `a`s */
|
||||
.pagination-item {
|
||||
display: block;
|
||||
padding: 1rem;
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
.pagination-item:first-child {
|
||||
margin-bottom: -1px;
|
||||
}
|
||||
|
||||
/* Only provide a hover state for linked pagination items */
|
||||
a.pagination-item:hover {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
@media (min-width: 30em) {
|
||||
.pagination {
|
||||
margin: 3rem 0;
|
||||
}
|
||||
.pagination-item {
|
||||
float: left;
|
||||
width: 50%;
|
||||
}
|
||||
.pagination-item:first-child {
|
||||
margin-bottom: 0;
|
||||
border-top-left-radius: 4px;
|
||||
border-bottom-left-radius: 4px;
|
||||
}
|
||||
.pagination-item:last-child {
|
||||
margin-left: -1px;
|
||||
border-top-right-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Reverse layout
|
||||
*
|
||||
* Flip the orientation of the page by placing the `.sidebar` and sidebar toggle
|
||||
* on the right side.
|
||||
*/
|
||||
|
||||
.layout-reverse .sidebar {
|
||||
left: auto;
|
||||
right: -14rem;
|
||||
}
|
||||
.layout-reverse .sidebar-toggle {
|
||||
left: auto;
|
||||
right: 1rem;
|
||||
}
|
||||
|
||||
.layout-reverse #sidebar-checkbox:checked ~ .sidebar,
|
||||
.layout-reverse #sidebar-checkbox:checked ~ .wrap,
|
||||
.layout-reverse #sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
-webkit-transform: translateX(-14rem);
|
||||
-ms-transform: translateX(-14rem);
|
||||
transform: translateX(-14rem);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Themes
|
||||
*
|
||||
* Apply custom color schemes by adding the appropriate class to the `body`.
|
||||
* Based on colors from Base16: http://chriskempson.github.io/base16/#default.
|
||||
*/
|
||||
|
||||
/* Red */
|
||||
.theme-base-08 .sidebar,
|
||||
.theme-base-08 .sidebar-toggle:active,
|
||||
.theme-base-08 #sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
background-color: #ac4142;
|
||||
}
|
||||
.theme-base-08 .container a,
|
||||
.theme-base-08 .sidebar-toggle,
|
||||
.theme-base-08 .related-posts li a:hover {
|
||||
color: #ac4142;
|
||||
}
|
||||
|
||||
/* Orange */
|
||||
.theme-base-09 .sidebar,
|
||||
.theme-base-09 .sidebar-toggle:active,
|
||||
.theme-base-09 #sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
background-color: #d28445;
|
||||
}
|
||||
.theme-base-09 .container a,
|
||||
.theme-base-09 .sidebar-toggle,
|
||||
.theme-base-09 .related-posts li a:hover {
|
||||
color: #d28445;
|
||||
}
|
||||
|
||||
/* Yellow */
|
||||
.theme-base-0a .sidebar,
|
||||
.theme-base-0a .sidebar-toggle:active,
|
||||
.theme-base-0a #sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
background-color: #f4bf75;
|
||||
}
|
||||
.theme-base-0a .container a,
|
||||
.theme-base-0a .sidebar-toggle,
|
||||
.theme-base-0a .related-posts li a:hover {
|
||||
color: #f4bf75;
|
||||
}
|
||||
|
||||
/* Green */
|
||||
.theme-base-0b .sidebar,
|
||||
.theme-base-0b .sidebar-toggle:active,
|
||||
.theme-base-0b #sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
background-color: #90a959;
|
||||
}
|
||||
.theme-base-0b .container a,
|
||||
.theme-base-0b .sidebar-toggle,
|
||||
.theme-base-0b .related-posts li a:hover {
|
||||
color: #90a959;
|
||||
}
|
||||
|
||||
/* Cyan */
|
||||
.theme-base-0c .sidebar,
|
||||
.theme-base-0c .sidebar-toggle:active,
|
||||
.theme-base-0c #sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
background-color: #75b5aa;
|
||||
}
|
||||
.theme-base-0c .container a,
|
||||
.theme-base-0c .sidebar-toggle,
|
||||
.theme-base-0c .related-posts li a:hover {
|
||||
color: #75b5aa;
|
||||
}
|
||||
|
||||
/* Blue */
|
||||
.theme-base-0d .sidebar,
|
||||
.theme-base-0d .sidebar-toggle:active,
|
||||
.theme-base-0d #sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
background-color: #6a9fb5;
|
||||
}
|
||||
.theme-base-0d .container a,
|
||||
.theme-base-0d .sidebar-toggle,
|
||||
.theme-base-0d .related-posts li a:hover {
|
||||
color: #6a9fb5;
|
||||
}
|
||||
|
||||
/* Magenta */
|
||||
.theme-base-0e .sidebar,
|
||||
.theme-base-0e .sidebar-toggle:active,
|
||||
.theme-base-0e #sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
background-color: #aa759f;
|
||||
}
|
||||
.theme-base-0e .container a,
|
||||
.theme-base-0e .sidebar-toggle,
|
||||
.theme-base-0e .related-posts li a:hover {
|
||||
color: #aa759f;
|
||||
}
|
||||
|
||||
/* Brown */
|
||||
.theme-base-0f .sidebar,
|
||||
.theme-base-0f .sidebar-toggle:active,
|
||||
.theme-base-0f #sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
background-color: #8f5536;
|
||||
}
|
||||
.theme-base-0f .container a,
|
||||
.theme-base-0f .sidebar-toggle,
|
||||
.theme-base-0f .related-posts li a:hover {
|
||||
color: #8f5536;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Overlay sidebar
|
||||
*
|
||||
* Make the sidebar content overlay the viewport content instead of pushing it
|
||||
* aside when toggled.
|
||||
*/
|
||||
|
||||
.sidebar-overlay #sidebar-checkbox:checked ~ .wrap {
|
||||
-webkit-transform: translateX(0);
|
||||
-ms-transform: translateX(0);
|
||||
transform: translateX(0);
|
||||
}
|
||||
.sidebar-overlay #sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
box-shadow: 0 0 0 .25rem #fff;
|
||||
}
|
||||
.sidebar-overlay #sidebar-checkbox:checked ~ .sidebar {
|
||||
box-shadow: .25rem 0 .5rem rgba(0,0,0,.1);
|
||||
}
|
||||
|
||||
/* Only one tweak for a reverse layout */
|
||||
.layout-reverse.sidebar-overlay #sidebar-checkbox:checked ~ .sidebar {
|
||||
box-shadow: -.25rem 0 .5rem rgba(0,0,0,.1);
|
||||
}
|
@ -1,444 +0,0 @@
|
||||
/*
|
||||
* ___
|
||||
* /\_ \
|
||||
* _____ ___ ___\//\ \ __
|
||||
* /\ '__`\ / __`\ / __`\\ \ \ /'__`\
|
||||
* \ \ \_\ \/\ \_\ \/\ \_\ \\_\ \_/\ __/
|
||||
* \ \ ,__/\ \____/\ \____//\____\ \____\
|
||||
* \ \ \/ \/___/ \/___/ \/____/\/____/
|
||||
* \ \_\
|
||||
* \/_/
|
||||
*
|
||||
* Designed, built, and released under MIT license by @mdo. Learn more at
|
||||
* https://github.com/poole/poole.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Contents
|
||||
*
|
||||
* Body resets
|
||||
* Custom type
|
||||
* Messages
|
||||
* Container
|
||||
* Masthead
|
||||
* Posts and pages
|
||||
* Pagination
|
||||
* Reverse layout
|
||||
* Themes
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Body resets
|
||||
*
|
||||
* Update the foundational and global aspects of the page.
|
||||
*/
|
||||
|
||||
* {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
font-size: 16px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
@media (min-width: 38em) {
|
||||
html {
|
||||
font-size: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
color: #515151;
|
||||
background-color: #fff;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
/* No `:visited` state is required by default (browsers will use `a`) */
|
||||
a {
|
||||
color: #268bd2;
|
||||
text-decoration: none;
|
||||
}
|
||||
a strong {
|
||||
color: inherit;
|
||||
}
|
||||
/* `:focus` is linked to `:hover` for basic accessibility */
|
||||
a:hover,
|
||||
a:focus {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Headings */
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-bottom: .5rem;
|
||||
font-weight: bold;
|
||||
line-height: 1.25;
|
||||
color: #313131;
|
||||
text-rendering: optimizeLegibility;
|
||||
}
|
||||
h1 {
|
||||
font-size: 2rem;
|
||||
}
|
||||
h2 {
|
||||
margin-top: 1rem;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
h3 {
|
||||
margin-top: 1.5rem;
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
h4, h5, h6 {
|
||||
margin-top: 1rem;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
/* Body text */
|
||||
p {
|
||||
margin-top: 1.5rem;
|
||||
margin-bottom: 1.5rem;
|
||||
}
|
||||
|
||||
strong {
|
||||
color: #303030;
|
||||
}
|
||||
|
||||
|
||||
/* Lists */
|
||||
ul, ol, dl {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
dd {
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
/* Misc */
|
||||
hr {
|
||||
position: relative;
|
||||
margin: 1.5rem 0;
|
||||
border: 0;
|
||||
border-top: 1px solid #eee;
|
||||
border-bottom: 1px solid #fff;
|
||||
}
|
||||
|
||||
abbr {
|
||||
font-size: 85%;
|
||||
font-weight: bold;
|
||||
color: #555;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
abbr[title] {
|
||||
cursor: help;
|
||||
border-bottom: 1px dotted #e5e5e5;
|
||||
}
|
||||
|
||||
/* Code */
|
||||
code,
|
||||
pre {
|
||||
font-family: Menlo, Monaco, "Courier New", monospace;
|
||||
}
|
||||
code {
|
||||
padding: .25em .5em;
|
||||
font-size: 85%;
|
||||
color: #bf616a;
|
||||
background-color: #f9f9f9;
|
||||
border-radius: 3px;
|
||||
}
|
||||
pre {
|
||||
display: block;
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
padding: 1rem;
|
||||
font-size: .8rem;
|
||||
line-height: 1.4;
|
||||
white-space: pre;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
pre code {
|
||||
padding: 0;
|
||||
font-size: 100%;
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/* Pygments via Jekyll */
|
||||
.highlight {
|
||||
margin-bottom: 1rem;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.highlight pre {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/* Gist via GitHub Pages */
|
||||
.gist .gist-file {
|
||||
font-family: Menlo, Monaco, "Courier New", monospace !important;
|
||||
}
|
||||
.gist .markdown-body {
|
||||
padding: 15px;
|
||||
}
|
||||
.gist pre {
|
||||
padding: 0;
|
||||
background-color: transparent;
|
||||
}
|
||||
.gist .gist-file .gist-data {
|
||||
font-size: .8rem !important;
|
||||
line-height: 1.4;
|
||||
}
|
||||
.gist code {
|
||||
padding: 0;
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
/* Quotes */
|
||||
blockquote {
|
||||
padding: .5rem 1rem;
|
||||
margin: .8rem 0;
|
||||
color: #7a7a7a;
|
||||
border-left: .25rem solid #e5e5e5;
|
||||
}
|
||||
blockquote p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
@media (min-width: 30em) {
|
||||
blockquote {
|
||||
padding-right: 5rem;
|
||||
padding-left: 1.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
img {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
margin: 0 0 0rem;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
/* Tables */
|
||||
table {
|
||||
margin-bottom: 1rem;
|
||||
width: 100%;
|
||||
border: 1px solid #e5e5e5;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
td,
|
||||
th {
|
||||
padding: .25rem .5rem;
|
||||
border: 1px solid #e5e5e5;
|
||||
}
|
||||
tbody tr:nth-child(odd) td,
|
||||
tbody tr:nth-child(odd) th {
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Custom type
|
||||
*
|
||||
* Extend paragraphs with `.lead` for larger introductory text.
|
||||
*/
|
||||
|
||||
.lead {
|
||||
font-size: 1.25rem;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Messages
|
||||
*
|
||||
* Show alert messages to users. You may add it to single elements like a `<p>`,
|
||||
* or to a parent if there are multiple elements to show.
|
||||
*/
|
||||
|
||||
.message {
|
||||
margin-bottom: 1rem;
|
||||
padding: 1rem;
|
||||
color: #717171;
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Container
|
||||
*
|
||||
* Center the page content.
|
||||
*/
|
||||
|
||||
.container {
|
||||
max-width: 50rem;
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Masthead
|
||||
*
|
||||
* Super small header above the content for site name and short description.
|
||||
*/
|
||||
|
||||
.masthead {
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 1rem;
|
||||
margin-bottom: 3rem;
|
||||
}
|
||||
.masthead-title {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
color: #505050;
|
||||
}
|
||||
.masthead-title a {
|
||||
color: #505050;
|
||||
}
|
||||
.masthead-title small {
|
||||
font-size: 75%;
|
||||
font-weight: 400;
|
||||
color: #c0c0c0;
|
||||
letter-spacing: 0;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Posts and pages
|
||||
*
|
||||
* Each post is wrapped in `.post` and is used on default and post layouts. Each
|
||||
* page is wrapped in `.page` and is only used on the page layout.
|
||||
*/
|
||||
|
||||
.page,
|
||||
.post {
|
||||
margin-bottom: 4em;
|
||||
}
|
||||
|
||||
/* Blog post or page title */
|
||||
.page-title,
|
||||
.post-title,
|
||||
.post-title a {
|
||||
color: #303030;
|
||||
}
|
||||
.page-title,
|
||||
.post-title {
|
||||
margin-top: 0;
|
||||
}
|
||||
/* Meta data line below post title */
|
||||
.post-date {
|
||||
display: inline;
|
||||
margin-top: -.5rem;
|
||||
margin-bottom: 1rem;
|
||||
color: #91aabd;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.post-minutes {
|
||||
display: inline;
|
||||
margin-top: -.5rem;
|
||||
margin-bottom: 1rem;
|
||||
color: #91aabd;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.post-meta-separator {
|
||||
display: inline;
|
||||
margin-bottom: 5rem;
|
||||
font-size: 1.8em;
|
||||
}
|
||||
|
||||
/* Related posts */
|
||||
.related {
|
||||
padding-top: 2rem;
|
||||
padding-bottom: 2rem;
|
||||
border-top: 1px solid #eee;
|
||||
}
|
||||
.related-posts {
|
||||
padding-left: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.related-posts h3 {
|
||||
margin-top: 0;
|
||||
}
|
||||
.related-posts li small {
|
||||
font-size: 75%;
|
||||
color: #999;
|
||||
}
|
||||
.related-posts li a:hover {
|
||||
color: #268bd2;
|
||||
text-decoration: none;
|
||||
}
|
||||
.related-posts li a:hover small {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Pagination
|
||||
*
|
||||
* Super lightweight (HTML-wise) blog pagination. `span`s are provide for when
|
||||
* there are no more previous or next posts to show.
|
||||
*/
|
||||
|
||||
.pagination {
|
||||
overflow: hidden; /* clearfix */
|
||||
margin-left: -1rem;
|
||||
margin-right: -1rem;
|
||||
font-family: "PT Sans", Helvetica, Arial, sans-serif;
|
||||
color: #ccc;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Pagination items can be `span`s or `a`s */
|
||||
.pagination-item {
|
||||
display: block;
|
||||
padding: 1rem;
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
.pagination-item:first-child {
|
||||
margin-bottom: -1px;
|
||||
}
|
||||
|
||||
/* Only provide a hover state for linked pagination items */
|
||||
a.pagination-item:hover {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
@media (min-width: 30em) {
|
||||
.pagination {
|
||||
margin: 3rem 0;
|
||||
}
|
||||
.pagination-item {
|
||||
float: left;
|
||||
width: 50%;
|
||||
}
|
||||
.pagination-item:first-child {
|
||||
margin-bottom: 0;
|
||||
border-top-left-radius: 4px;
|
||||
border-bottom-left-radius: 4px;
|
||||
}
|
||||
.pagination-item:last-child {
|
||||
margin-left: -1px;
|
||||
border-top-right-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
}
|
@ -1,65 +0,0 @@
|
||||
.highlight .hll { background-color: #ffc; }
|
||||
.highlight .c { color: #999; } /* Comment */
|
||||
.highlight .err { color: #a00; background-color: #faa } /* Error */
|
||||
.highlight .k { color: #069; } /* Keyword */
|
||||
.highlight .o { color: #555 } /* Operator */
|
||||
.highlight .cm { color: #09f; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #099 } /* Comment.Preproc */
|
||||
.highlight .c1 { color: #999; } /* Comment.Single */
|
||||
.highlight .cs { color: #999; } /* Comment.Special */
|
||||
.highlight .gd { background-color: #fcc; border: 1px solid #c00 } /* Generic.Deleted */
|
||||
.highlight .ge { font-style: italic } /* Generic.Emph */
|
||||
.highlight .gr { color: #f00 } /* Generic.Error */
|
||||
.highlight .gh { color: #030; } /* Generic.Heading */
|
||||
.highlight .gi { background-color: #cfc; border: 1px solid #0c0 } /* Generic.Inserted */
|
||||
.highlight .go { color: #aaa } /* Generic.Output */
|
||||
.highlight .gp { color: #009; } /* Generic.Prompt */
|
||||
.highlight .gs { } /* Generic.Strong */
|
||||
.highlight .gu { color: #030; } /* Generic.Subheading */
|
||||
.highlight .gt { color: #9c6 } /* Generic.Traceback */
|
||||
.highlight .kc { color: #069; } /* Keyword.Constant */
|
||||
.highlight .kd { color: #069; } /* Keyword.Declaration */
|
||||
.highlight .kn { color: #069; } /* Keyword.Namespace */
|
||||
.highlight .kp { color: #069 } /* Keyword.Pseudo */
|
||||
.highlight .kr { color: #069; } /* Keyword.Reserved */
|
||||
.highlight .kt { color: #078; } /* Keyword.Type */
|
||||
.highlight .m { color: #f60 } /* Literal.Number */
|
||||
.highlight .s { color: #d44950 } /* Literal.String */
|
||||
.highlight .na { color: #4f9fcf } /* Name.Attribute */
|
||||
.highlight .nb { color: #366 } /* Name.Builtin */
|
||||
.highlight .nc { color: #0a8; } /* Name.Class */
|
||||
.highlight .no { color: #360 } /* Name.Constant */
|
||||
.highlight .nd { color: #99f } /* Name.Decorator */
|
||||
.highlight .ni { color: #999; } /* Name.Entity */
|
||||
.highlight .ne { color: #c00; } /* Name.Exception */
|
||||
.highlight .nf { color: #c0f } /* Name.Function */
|
||||
.highlight .nl { color: #99f } /* Name.Label */
|
||||
.highlight .nn { color: #0cf; } /* Name.Namespace */
|
||||
.highlight .nt { color: #2f6f9f; } /* Name.Tag */
|
||||
.highlight .nv { color: #033 } /* Name.Variable */
|
||||
.highlight .ow { color: #000; } /* Operator.Word */
|
||||
.highlight .w { color: #bbb } /* Text.Whitespace */
|
||||
.highlight .mf { color: #f60 } /* Literal.Number.Float */
|
||||
.highlight .mh { color: #f60 } /* Literal.Number.Hex */
|
||||
.highlight .mi { color: #f60 } /* Literal.Number.Integer */
|
||||
.highlight .mo { color: #f60 } /* Literal.Number.Oct */
|
||||
.highlight .sb { color: #c30 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #c30 } /* Literal.String.Char */
|
||||
.highlight .sd { color: #c30; font-style: italic } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #c30 } /* Literal.String.Double */
|
||||
.highlight .se { color: #c30; } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #c30 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #a00 } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #c30 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #3aa } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #c30 } /* Literal.String.Single */
|
||||
.highlight .ss { color: #fc3 } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #366 } /* Name.Builtin.Pseudo */
|
||||
.highlight .vc { color: #033 } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #033 } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #033 } /* Name.Variable.Instance */
|
||||
.highlight .il { color: #f60 } /* Literal.Number.Integer.Long */
|
||||
|
||||
.css .o,
|
||||
.css .o + .nt,
|
||||
.css .nt + .nt { color: #999; }
|
@ -1,15 +0,0 @@
|
||||
(function(document) {
|
||||
var toggle = document.querySelector('.sidebar-toggle');
|
||||
var sidebar = document.querySelector('#sidebar');
|
||||
var checkbox = document.querySelector('#sidebar-checkbox');
|
||||
|
||||
document.addEventListener('click', function(e) {
|
||||
var target = e.target;
|
||||
|
||||
if(!checkbox.checked ||
|
||||
sidebar.contains(target) ||
|
||||
(target === checkbox || target === toggle)) return;
|
||||
|
||||
checkbox.checked = false;
|
||||
}, false);
|
||||
})(document);
|
13
search.json
Normal file
@ -0,0 +1,13 @@
|
||||
---
|
||||
---
|
||||
[
|
||||
{% for post in site.posts %}
|
||||
{
|
||||
|
||||
"title" : "{% if post.title != "" %}{{ post.title | escape }}{% else %}{{ post.excerpt | strip_html | escape | strip }}{%endif%}",
|
||||
"url" : "{{ site.baseurl }}{{ post.url }}",
|
||||
"category" : "{{ post.categories | join: ', '}}",
|
||||
"date" : "{{ post.date | date: "%B %e, %Y" }}"
|
||||
} {% unless forloop.last %},{% endunless %}
|
||||
{% endfor %}
|
||||
]
|
47
styles.scss
@ -1,47 +0,0 @@
|
||||
---
|
||||
# Use a comment to ensure Jekyll reads the file to be transformed into CSS later
|
||||
# only main files contain this front matter, not partials.
|
||||
---
|
||||
|
||||
//
|
||||
// ___
|
||||
// /\_ \
|
||||
// _____ ___ ___\//\ \ __
|
||||
// /\ '__`\ / __`\ / __`\\ \ \ /'__`\
|
||||
// \ \ \_\ \/\ \_\ \/\ \_\ \\_\ \_/\ __/
|
||||
// \ \ ,__/\ \____/\ \____//\____\ \____\
|
||||
// \ \ \/ \/___/ \/___/ \/____/\/____/
|
||||
// \ \_\
|
||||
// \/_/
|
||||
//
|
||||
// Designed, built, and released under MIT license by @mdo. Learn more at
|
||||
// https://github.com/poole/poole.
|
||||
|
||||
@import "variables";
|
||||
@import "base";
|
||||
@import "type";
|
||||
@import "syntax";
|
||||
@import "code";
|
||||
@import "layout";
|
||||
@import "masthead";
|
||||
@import "posts";
|
||||
@import "pagination";
|
||||
@import "message";
|
||||
@import "toc";
|
||||
|
||||
// Sass for creating the swatches
|
||||
.colors {
|
||||
display: grid;
|
||||
grid-template-columns: max-content 1fr;
|
||||
|
||||
dt {
|
||||
width: 3rem;
|
||||
height: 3rem;
|
||||
border-radius: var(--border-radius);
|
||||
box-shadow: inset 0 0 0 1px rgba(255,255,255,.15);
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-left: var(--spacer);
|
||||
}
|
||||
}
|