Merge pull request #17 from fullhacker/dev-ayo

Dev ayo
This commit is contained in:
Ayo 2018-04-22 16:47:23 +08:00 committed by GitHub
commit 4745c79a74
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
23 changed files with 69 additions and 566 deletions

View file

@ -0,0 +1,8 @@
---
title: "What Is Git And How To Use It"
permalink: "/git-how-to"
description: "Let's talk about some reasons why joining Github is crucial for every developer."
keywords: ""
image: "git-github.jpg"
image-attrib: ""
---

View file

@ -0,0 +1,8 @@
---
title: "Thoughts on Building My Own eCommerce Website"
permalink: "/thoughts-on-ecommerce"
description: "If you have been wanting to start an online store, here I talk about the many things you have to consider."
keywords: ""
image: "ecommerce-thoughts.jpg"
image-attrib: "Photo stock by Lukas from Pexel."
---

View file

@ -0,0 +1,47 @@
---
title: "What Is Github and Why Every Developer Needs It"
permalink: "/git-and-github"
description: "I strongly believe that every developer should know Git and Github. Here's why."
keywords: ""
image: "git-github.jpg"
image-attrib: "Photo stock by Tim Gouw from Pexel."
---
If you ask me for something that would greatly jumpstart your growth as a developer, I would place my bet on learning Git and exploring projects on [Github](https://github.com/explore).
I say this because to be better in writing code, you must first read and use lots and lots of code by more experienced developers... and a good place to start with this is Github.
<!--more-->
Now, what exactly is Github?
Github is basically a website for communities of developers working on projects. It is sort of a place on the Web where developers get together to collaborate.
Github hosts [all sorts of projects](https://github.com/explore) from Desktop apps to Web apps, and would most likely have examples for any technology you want to learn.
There are other websites that serve this same purpose (like [Bitbucket](https://bitbucket.org) and [Gitlab](https://gitlab.com)) but Github is now the preferred home for most Open Source projects due to it being the oldest and its culture of openness.
Because of this "openness", Github is not just the best place to start or contribute to an existing project. It is also a good place to see and learn how other developers write their code. You can even observe how collaborators communicate with each other to resolve their issues.
This way, the things you learn from your observations can be used not just in the way you code but also in the way you communicate with your own colleagues.
Just beware: you have to know which projects are good for your level of experience because some of them requires more advanced skills before you can contribute or even just understand what is going on.
In case you don't feel like joining others, you can always use Github to host your projects. Then, you can code at your own pace using your own style and preferred technologies.
You might even find that it's always a good practice to have a copy of all your code backed up in a Github repository for safekeeping.
If you don't want to start from scratch, you can just "fork" any interesting project to get a copy in your own account... then you can practically do *anything* you want with it!
I find this very inspiring, that I can just start using other people's code and hack it up the way I want it. Try searching for one of your favorite apps over at Github, and you just might be surprised that it's open-sourced.
If it is open-sourced, then you can play with the code yourself... or submit an issue anytime you find a bug or think of a missing feature you want to be added. Submitting issues is the easiest way to contribute to a project even without writing a single line of code.
Isn't that great? I hope, by now, you see how Github can greatly add to your developer skills.
To cut the long story short, Github is a good place to start learning how to be a developer, and check out the technologies you will use along the way...
But before you hurry and join Github, there's another thing we need to talk about. You won't be able to get the most out of it without this...
Well, you must first learn how to use Git as your Source Control Management. Why don't we talk about that next?
<!--a class="button up-next" href="#git-how-to">Up Next: Read How To Use Git</a-->

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -216,18 +216,21 @@ article .post-content ol li,
margin: 10px 0;
}
.post-readmore a:hover {
.post-readmore a:hover,
.up-next:hover {
text-decoration: none;
}
.post-readmore a {
.post-readmore a,
.up-next {
background-color: #ee4a03;
color: #ffffff;
color: #ffffff !important;
padding: 15px;
display: inline-block;
width: calc(100% - 30px);
font-size: 16px;
font-weight: bold;
font-family: medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif !important;
border-radius: 3.2px;
border: 1px solid #ee4a03;
text-align: center;

View file

@ -1,20 +0,0 @@
{% if page.comments != false and jekyll.environment == "production" %}
<div id="disqus_thread"></div>
<script>
var disqus_config = function () {
this.page.url = '{{ page.url | absolute_url }}';
this.page.identifier = '{{ page.url | absolute_url }}';
};
(function() {
var d = document, s = d.createElement('script');
s.src = 'https://{{ site.disqus.shortname }}.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>
{% endif %}

View file

@ -1,48 +0,0 @@
<footer class="site-footer h-card">
<data class="u-url" href="{{ "/" | relative_url }}"></data>
<div class="wrapper">
<div class="footer-col-wrapper">
<div class="footer-col footer-col-1">
<ul class="contact-list">
<li class="p-name">
{% if site.attribution %}
{{ site.attribution }}
{% else %}
{{ site.title | escape }}
{% endif %}
</li>
{% if site.email %}
<li><a class="u-email" href="mailto:{{ site.email }}">{{ site.email }}</a></li>
{% endif %}
</ul>
</div>
<div class="footer-col footer-col-2">
<ul class="social-media-list">
{% if site.github_username %}
<li>
{% include icon-github.html username=site.github_username %}
</li>
{% endif %}
{% if site.twitter_username %}
<li>
{% include icon-twitter.html username=site.twitter_username %}
</li>
{% endif %}
</ul>
</div>
<div class="footer-col footer-col-3">
<ul class="desc-list">
<li>{{ site.description | escape }}</li>
<li class="rss-subscribe">Subscribe <a href="{{ "/feed.xml" | relative_url }}">via RSS</a> or <a href="https://github.com/fullhacker/fullhacker.github.io/issues/new">report a bug</a></li>
</ul>
</div>
</div>
</div>
</footer>

View file

@ -1,11 +0,0 @@
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', '{{ site.google_analytics }}', 'auto');
ga('send', 'pageview');
</script>

View file

@ -1,16 +0,0 @@
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="{{ "/assets/main.css" | relative_url }}">
<link rel="alternate" type="application/rss+xml" title="{{ site.title | escape }}" href="{{ "/feed.xml" | relative_url }}">
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Lato" />
{% if jekyll.environment == 'production' and site.google_analytics %}
{% include google-analytics.html %}
{% endif %}
<script
src="https://code.jquery.com/jquery-3.2.1.min.js"
integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
crossorigin="anonymous"></script>
<script src="{{ "/assets/type-js.js" | relative_url }}"></script>
</head>

View file

@ -1,49 +0,0 @@
<header class="site-header" role="banner">
<div class="wrapper">
{% assign default_paths = site.pages | map: "path" %}
{% assign page_paths = site.header_pages | default: default_paths %}
<div class="type-js site-title-wrapper">
<a href="{{ '/' | relative_url }}" class="text-js site-title">{{ site.title }}</a>
</div>
{% if page_paths %}
<nav class="site-nav">
<input type="checkbox" id="nav-trigger" class="nav-trigger" />
<label for="nav-trigger">
<span class="menu-icon">
<svg viewBox="0 0 18 15" width="18px" height="15px">
<path fill="#424242" d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.031C17.335,0,18,0.665,18,1.484L18,1.484z"/>
<path fill="#424242" d="M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0c0-0.82,0.665-1.484,1.484-1.484 h15.031C17.335,6.031,18,6.696,18,7.516L18,7.516z"/>
<path fill="#424242" d="M18,13.516C18,14.335,17.335,15,16.516,15H1.484C0.665,15,0,14.335,0,13.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.031C17.335,12.031,18,12.696,18,13.516L18,13.516z"/>
</svg>
</span>
</label>
<!--div class="trigger">
{% for path in page_paths %}
{% assign my_page = site.pages | where: "path", path | first %}
{% if my_page.title %}
{% if my_page.url == page.url %}
{% assign current = 'current' %}
{% endif %}
<a class="page-link {{ current }}" href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a>
{% endif %}
{% endfor %}
</div-->
<div class="trigger">
{% for link in site.navigation %}
{% assign current = nil %}
{% if page.url == link.url%}
{% assign current = 'current' %}
{% endif %}
<a class="page-link {{ current }}" href="{{ link.url | relative_url }}">{{ link.text }}</a>
{% endfor %}
</div>
</nav>
{% endif %}
</div>
</header>

View file

@ -1 +0,0 @@
<a class="u-url" rel="me" href="https://github.com/{{ include.username }}"><span class="icon icon--github">{% include icon-github.svg %}</span><span class="username">{{ include.username }}</span></a>

View file

@ -1 +0,0 @@
<svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="#828282" d="M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761 c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32 c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472 c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037 C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65 c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261 c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082 c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129 c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z"/></svg>

Before

Width:  |  Height:  |  Size: 953 B

View file

@ -1 +0,0 @@
<a class="u-url" rel="me" href="https://twitter.com/{{ include.username }}"><span class="icon icon--twitter">{% include icon-twitter.svg %}</span><span class="username">{{ include.username }}</span></a>

View file

@ -1 +0,0 @@
<svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="#828282" d="M15.969,3.058c-0.586,0.26-1.217,0.436-1.878,0.515c0.675-0.405,1.194-1.045,1.438-1.809c-0.632,0.375-1.332,0.647-2.076,0.793c-0.596-0.636-1.446-1.033-2.387-1.033c-1.806,0-3.27,1.464-3.27,3.27 c0,0.256,0.029,0.506,0.085,0.745C5.163,5.404,2.753,4.102,1.14,2.124C0.859,2.607,0.698,3.168,0.698,3.767 c0,1.134,0.577,2.135,1.455,2.722C1.616,6.472,1.112,6.325,0.671,6.08c0,0.014,0,0.027,0,0.041c0,1.584,1.127,2.906,2.623,3.206 C3.02,9.402,2.731,9.442,2.433,9.442c-0.211,0-0.416-0.021-0.615-0.059c0.416,1.299,1.624,2.245,3.055,2.271 c-1.119,0.877-2.529,1.4-4.061,1.4c-0.264,0-0.524-0.015-0.78-0.046c1.447,0.928,3.166,1.469,5.013,1.469 c6.015,0,9.304-4.983,9.304-9.304c0-0.142-0.003-0.283-0.009-0.423C14.976,4.29,15.531,3.714,15.969,3.058z"/></svg>

Before

Width:  |  Height:  |  Size: 814 B

View file

@ -1,26 +0,0 @@
<!DOCTYPE html>
<html lang="{{ page.lang | default: site.lang | default: "en" }}">
{% include head.html %}
<body>
<div class="site-container">
{% include header.html %}
<div class="site-body">
<main class="page-content" aria-label="Content">
<div class="wrapper">
{{ content }}
</div>
</main>
</div>
{% include footer.html %}
</div>
</body>
</html>

View file

@ -1,28 +0,0 @@
---
layout: default
---
<div class="home">
{% if page.title %}
<h1 class="page-heading">{{ page.title }}</h1>
{% endif %}
{{ content }}
{% if site.posts.size > 0 %}
<h2 class="post-list-heading">{{ page.list_title }}</h2>
<ul class="post-list">
{% for post in site.posts %}
<li>
{% assign date_format = site.minima.date_format | default: "%b %-d, %Y" %}
<span class="post-meta">{{ post.date | date: date_format }}</span>
<h3>
<a class="post-link" href="{{ post.url | relative_url }}">{{ post.title | escape }}</a>
</h3>
</li>
{% endfor %}
</ul>
{% endif %}
</div>

View file

@ -1,14 +0,0 @@
---
layout: default
---
<article class="post">
<header class="post-header">
<h1 class="post-title">{{ page.title | escape }}</h1>
</header>
<div class="post-content">
{{ content }}
</div>
</article>

View file

@ -1,28 +0,0 @@
---
layout: default
---
<article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting">
<header class="post-header">
<p class="post-meta">
<time class="dt-published" datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
{% assign date_format = site.minima.date_format | default: "%b %-d, %Y" %}
{{ page.date | date: date_format }}
</time>
{% if page.author %}
<span itemprop="author" itemscope itemtype="http://schema.org/Person"><span class="p-author h-card" itemprop="name">{{ page.author }}</span></span>
{% endif %}</p>
<h1 class="post-title p-name" itemprop="name headline">{{ page.title | escape }}</h1>
</header>
<div class="post-content e-content" itemprop="articleBody">
{{ content }}
</div>
{% if site.disqus.shortname %}
{% include disqus_comments.html %}
{% endif %}
<a class="u-url" href="{{ page.url | relative_url }}" hidden></a>
</article>

View file

@ -1,173 +0,0 @@
---
# Only the main Sass file needs front matter (the dashes are enough)
---
@import "minima";
@import url(type-js.css);
@import url(vim.css);
html,
body {
font: 300 21px Lato, 'Helvetica Neue', Helvetica, Arial, sans-serif;
color: #ddd;
background-color: #333;
-webkit-box-shadow: inset 0 3px 30px rgba(0,0,0,0.3);
-moz-box-shadow: inset 0 3px 30px rgba(0,0,0,0.3);
box-shadow: inset 0 3px 30px rgba(0,0,0,0.3);
text-shadow: 0 1px 3px rgba(0,0,0,0.5);
-webkit-font-feature-settings: "kern" 1;
-moz-font-feature-settings: "kern" 1;
-o-font-feature-settings: "kern" 1;
font-feature-settings: "kern" 1;
font-kerning: normal;
margin: 0;
}
.site-title {
font-size: 50px;
color: white !important;
text-shadow: 0px 4px 3px rgba(0,0,0,0.4),
0px 8px 13px rgba(0,0,0,0.1),
0px 18px 23px rgba(0,0,0,0.1);
}
.page-content {
background-color: white;
width: 60%;
margin: 30px auto !important;
background-color: #444 !important;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
padding: 30px;
-webkit-box-shadow: 0 3px 10px rgba(0,0,0,0.1);
-moz-box-shadow: 0 3px 10px rgba(0,0,0,0.1);
box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}
.page-content .wrapper {
padding: 0px;
margin: 0px auto;
}
.page-content p {
font-size: 16.96px;
line-height: 26px;
}
.site-nav .page-link.current {
background-color: #fc0;
color: #222;
-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), 0 1px 5px rgba(0,0,0,0.5);
-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,0.5),0 1px 5px rgba(0,0,0,0.5);
box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), 0 1px 5px rgba(0,0,0,0.5);
text-shadow: 0 1px 0 rgba(255,255,255,0.3);
}
a, a:visited, .site-nav .page-link {
color: #fc0;
text-decoration: none;
-webkit-transition: all 0.25s;
-moz-transition: all 0.25s;
-o-transition: all 0.25s;
transition: all 0.25s;
}
@media screen and (max-width: 600px) {
.site-nav {
background-color: transparent !important;
border: 0px !important;
}
}
.site-nav .page-link:hover {
color: #fc0;
background-color: #252525;
-webkit-box-shadow: inset 0 1px 3px rgba(0,0,0,0.5), 0 1px 0 rgba(255,255,255,0.1);
-moz-box-shadow: inset 0 1px 3px rgba(0,0,0,0.5),0 1px 0 rgba(255,255,255,0.1);
box-shadow: inset 0 1px 3px rgba(0,0,0,0.5), 0 1px 0 rgba(255,255,255,0.1);
text-shadow: 0 1px 3px rgba(0,0,0,0.5);
}
.site-nav .page-link {
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
font-weight: 900;
font-size: 0.75em;
padding: 0.5em 1em;
text-shadow: none;
text-transform: uppercase;
-webkit-transition: all 0.25s;
-moz-transition: all 0.25s;
-o-transition: all 0.25s;
transition: all 0.25s;
}
a.post-link:hover {
color: white;
}
a.post-link, h1.post-title {
color: #ddd;
font-weight: bold;
display: block;
font-size: 2em;
-webkit-margin-after: 0.67em;
-webkit-margin-start: 0px;
-webkit-margin-end: 0px;
}
h1.post-title {
color: #fff;
font-size: 32px;
}
a:hover {
color: #f90;
text-decoration: none;
}
.desc-list, .contact-list, .social-media-list {
list-style: none;
margin-left: 0;
}
.page-content {
}
.footer-col-wrapper {
color: #ddd
}
.site-header, .site-footer {
background: #2b2b2b;
border: 0px;
padding: 15px;
}
.site-desc {
top: 0px;
color: #efefef;
text-shadow: 0px 4px 3px rgba(0,0,0,0.4),
0px 8px 13px rgba(0,0,0,0.1),
0px 18px 23px rgba(0,0,0,0.1);
}
.site-desc-wrapper {
float:left;
position: relative;
top: 0;
left: 90px;
}
.site-title-wrapper {
float: left;
}
.site-title-desc-wrapper {
float: left;
width: 200px;
}
/**/

View file

@ -1,25 +0,0 @@
/**/
.text-js{
opacity: 0;
}
.cursor{
display: block;
position: absolute;
height: 100%;
top: 0;
right: -5px;
width: 3px;
/* Change colour of Cursor Here */
background-color: white;
z-index: 1;
animation: flash 0.5s none infinite alternate;
}
@keyframes flash{
0%{
opacity: 1;
}
100%{
opacity: 0;
}
}

View file

@ -1,43 +0,0 @@
// DISCLAIMER: This function does require jQuery. I've used it here because the project I'm building this for already uses jQuery, so I thought why not. It can be modified quite simply to be done in raw JavaScript. Just thought I'd let you know.
// This is the funtion you need to copy
// Copy from line 9 to 34
function autoType(elementClass, typingSpeed){
var thhis = $(elementClass);
thhis.css({
"position": "relative",
"display": "inline-block"
});
thhis.prepend('<div class="cursor" style="right: initial; left:0;"></div>');
thhis = thhis.find(".text-js");
var text = thhis.text().trim().split('');
var amntOfChars = text.length;
var newString = "";
thhis.text("|");
setTimeout(function(){
thhis.css("opacity",1);
thhis.prev().removeAttr("style");
thhis.text("");
for(var i = 0; i < amntOfChars; i++){
(function(i,char){
setTimeout(function() {
newString += char;
thhis.text(newString);
},i*typingSpeed);
})(i+1,text[i]);
}
},1500);
}
$(document).ready(function(){
// Now to start autoTyping just call the autoType function with the
// class of outer div
// The second paramter is the speed between each letter is typed.
autoType(".type-js",200);
console.log('dom loaded!');
});

View file

@ -1,78 +0,0 @@
.highlight .hll { background-color: #222222 }
.highlight { background: #000000; color: #cccccc }
.highlight .c { color: #000080 } /* Comment */
.highlight .err { color: #cccccc; border: 1px solid #FF0000 } /* Error */
.highlight .esc { color: #cccccc } /* Escape */
.highlight .g { color: #cccccc } /* Generic */
.highlight .k { color: #cdcd00 } /* Keyword */
.highlight .l { color: #cccccc } /* Literal */
.highlight .n { color: #cccccc } /* Name */
.highlight .o { color: #3399cc } /* Operator */
.highlight .x { color: #cccccc } /* Other */
.highlight .p { color: #cccccc } /* Punctuation */
.highlight .ch { color: #000080 } /* Comment.Hashbang */
.highlight .cm { color: #000080 } /* Comment.Multiline */
.highlight .cp { color: #000080 } /* Comment.Preproc */
.highlight .cpf { color: #000080 } /* Comment.PreprocFile */
.highlight .c1 { color: #000080 } /* Comment.Single */
.highlight .cs { color: #cd0000; font-weight: bold } /* Comment.Special */
.highlight .gd { color: #cd0000 } /* Generic.Deleted */
.highlight .ge { color: #cccccc; font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00cd00 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { color: #cccccc; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #cdcd00 } /* Keyword.Constant */
.highlight .kd { color: #00cd00 } /* Keyword.Declaration */
.highlight .kn { color: #cd00cd } /* Keyword.Namespace */
.highlight .kp { color: #cdcd00 } /* Keyword.Pseudo */
.highlight .kr { color: #cdcd00 } /* Keyword.Reserved */
.highlight .kt { color: #00cd00 } /* Keyword.Type */
.highlight .ld { color: #cccccc } /* Literal.Date */
.highlight .m { color: #cd00cd } /* Literal.Number */
.highlight .s { color: #cd0000 } /* Literal.String */
.highlight .na { color: #cccccc } /* Name.Attribute */
.highlight .nb { color: #cd00cd } /* Name.Builtin */
.highlight .nc { color: #00cdcd } /* Name.Class */
.highlight .no { color: #cccccc } /* Name.Constant */
.highlight .nd { color: #cccccc } /* Name.Decorator */
.highlight .ni { color: #cccccc } /* Name.Entity */
.highlight .ne { color: #666699; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #cccccc } /* Name.Function */
.highlight .nl { color: #cccccc } /* Name.Label */
.highlight .nn { color: #cccccc } /* Name.Namespace */
.highlight .nx { color: #cccccc } /* Name.Other */
.highlight .py { color: #cccccc } /* Name.Property */
.highlight .nt { color: #cccccc } /* Name.Tag */
.highlight .nv { color: #00cdcd } /* Name.Variable */
.highlight .ow { color: #cdcd00 } /* Operator.Word */
.highlight .w { color: #cccccc } /* Text.Whitespace */
.highlight .mb { color: #cd00cd } /* Literal.Number.Bin */
.highlight .mf { color: #cd00cd } /* Literal.Number.Float */
.highlight .mh { color: #cd00cd } /* Literal.Number.Hex */
.highlight .mi { color: #cd00cd } /* Literal.Number.Integer */
.highlight .mo { color: #cd00cd } /* Literal.Number.Oct */
.highlight .sa { color: #cd0000 } /* Literal.String.Affix */
.highlight .sb { color: #cd0000 } /* Literal.String.Backtick */
.highlight .sc { color: #cd0000 } /* Literal.String.Char */
.highlight .dl { color: #cd0000 } /* Literal.String.Delimiter */
.highlight .sd { color: #cd0000 } /* Literal.String.Doc */
.highlight .s2 { color: #cd0000 } /* Literal.String.Double */
.highlight .se { color: #cd0000 } /* Literal.String.Escape */
.highlight .sh { color: #cd0000 } /* Literal.String.Heredoc */
.highlight .si { color: #cd0000 } /* Literal.String.Interpol */
.highlight .sx { color: #cd0000 } /* Literal.String.Other */
.highlight .sr { color: #cd0000 } /* Literal.String.Regex */
.highlight .s1 { color: #cd0000 } /* Literal.String.Single */
.highlight .ss { color: #cd0000 } /* Literal.String.Symbol */
.highlight .bp { color: #cd00cd } /* Name.Builtin.Pseudo */
.highlight .fm { color: #cccccc } /* Name.Function.Magic */
.highlight .vc { color: #00cdcd } /* Name.Variable.Class */
.highlight .vg { color: #00cdcd } /* Name.Variable.Global */
.highlight .vi { color: #00cdcd } /* Name.Variable.Instance */
.highlight .vm { color: #00cdcd } /* Name.Variable.Magic */
.highlight .il { color: #cd00cd } /* Literal.Number.Integer.Long */