Updated website

This commit is contained in:
Angelos Chalaris
2018-01-03 21:28:09 +02:00
parent 90f33e570a
commit 9675b6108f
6 changed files with 571 additions and 449 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -67,25 +67,57 @@ $mark-tag-border-radius: 1em;
// Website-specific styles // Website-specific styles
html, * { html, * {
font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Helvetica, sans-serif; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Helvetica, sans-serif;
} }
code, pre, kbd, code *, pre *, kbd *, code[class*="language-"], pre[class*="language-"] { code, pre, kbd, code *, pre *, kbd *, code[class*="language-"], pre[class*="language-"] {
font-family: 'Roboto Mono', Menlo, Consolas, monospace !important; font-family: Menlo, Consolas, monospace !important;
}
code, kbd {
font-size: 0.8125em;
} }
code, kbd { font-size: 0.8125em; }
pre code { pre code {
padding: 0; // Should make the first line's left padding the same as all other lines and avoid that annoying little step. padding: 0; // Should make the first line's left padding the same as all other lines and avoid that annoying little step.
} }
code { code {
transform: scale(1); /* Deals with the issue described in #243 */ transform: scale(1); /* Deals with the issue described in #243 */
} }
pre { font-size: 1rem; border: 0.0625rem solid var(--secondary-border-color); border-radius: var(--universal-border-radius);} pre {
.group{position:relative;margin-top:2em;margin-bottom:1em} font-size: 1rem;
.search{font-size:14px;margin-top:-.1em;display:block;width:100%;border:none;border-bottom:1px solid var(--nav-link-color)} border: 0.0625rem solid var(--secondary-border-color);
.search:focus{outline:none} border-radius: var(--universal-border-radius);
label#search-label{color:var(--nav-link-color);font-size:18px;font-weight:400;position:absolute;left:5px;top:10px} }
.search:focus ~ label#search-label,.search:valid ~ label#search-label{top:-20px;font-size:14px;color:var(--nav-link-color)} .group{
label#menu-toggle { width: 3.4375rem;} position:relative;
margin-top:2em;
margin-bottom:1em
}
.search{
font-size:14px;
margin-top:-.1em;
display:block;
width:100%;
border:none;
border-bottom:1px solid var(--nav-link-color);
}
.search:focus{
outline:none
}
label#search-label{
color:var(--nav-link-color);
font-size:18px;
font-weight:400;
position:absolute;
left:5px;
top:10px;
}
.search:focus ~ label#search-label,.search:valid ~ label#search-label{
top:-20px;
font-size:14px;
color:var(--nav-link-color);
}
label#menu-toggle {
width: 3.4375rem;
}
header h1.logo { header h1.logo {
margin-top: -0.8rem; margin-top: -0.8rem;
@ -128,14 +160,6 @@ main {
padding: 0; padding: 0;
} }
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
background: none !important;
}
:root { :root {
#{$collapse-label-back-color-var}: $collapse-label-back-color; #{$collapse-label-back-color-var}: $collapse-label-back-color;
#{$collapse-label-fore-color-var}: $collapse-label-fore-color; #{$collapse-label-fore-color-var}: $collapse-label-fore-color;
@ -188,26 +212,6 @@ label.#{$collapse-name} {
} }
} }
div.collapse {
> label {
border-top-left-radius: var(--universal-border-radius) !important;
border-top-right-radius: var(--universal-border-radius) !important;
}
:checked + label {
border-bottom-left-radius: 0 !important;
border-bottom-right-radius: 0 !important;
}
margin: 0;
width: 100%;
> div {
padding: 0 !important;
> pre {
margin: 0;
border: 0;
}
}
}
button.primary.clipboard-copy { button.primary.clipboard-copy {
width: 100%; width: 100%;
margin-left: 0; margin-left: 0;
@ -215,3 +219,121 @@ button.primary.clipboard-copy {
vertical-align: bottom; vertical-align: bottom;
} }
} }
code[class*="language-"],
pre[class*="language-"] {
color: black;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 2;
-o-tab-size: 2;
tab-size: 2;
-webkit-hypens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
background: #b3d4fc;
}
pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
code[class*="language-"]::selection, code[class*="language-"] ::selection {
background: #b3d4fc;
}
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre) > code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #a67f59;
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}

View File

@ -1,3 +1,11 @@
/*
===============================================================================
WE ARE ONLY KEEPING THIS AS A REFERENCE, PLEASE REFER TO FLAVOR FOR
OUR ACTUAL HIGHLIGHTING STYLES.
===============================================================================
*/
/* PrismJS 1.9.0 /* PrismJS 1.9.0
http://prismjs.com/download.html?themes=prism&languages=clike+javascript */ http://prismjs.com/download.html?themes=prism&languages=clike+javascript */
/** /**
@ -137,4 +145,3 @@ pre[class*="language-"] {
.token.entity { .token.entity {
cursor: help; cursor: help;
} }

View File

@ -161,7 +161,9 @@ try {
md md
.render(`\n${snippets[taggedSnippet[0] + '.md']}`) .render(`\n${snippets[taggedSnippet[0] + '.md']}`)
.replace(/<h3/g, `<h3 id="${taggedSnippet[0].toLowerCase()}" class="section double-padded"`) .replace(/<h3/g, `<h3 id="${taggedSnippet[0].toLowerCase()}" class="section double-padded"`)
.replace(/<\/h3>/g, '</h3><div class="section double-padded">') + .replace(/<\/h3>/g, '</h3><div class="section double-padded">')
.replace(/<\/pre>\s+<pre>/g, '</pre><label class="collapse">Show examples</label><pre>') +
'<button class="primary clipboard-copy"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-clipboard"><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path><rect x="8" y="2" width="8" height="4" rx="1" ry="1"></rect></svg>&nbsp;Copy to clipboard</button>' +
'</div></div><br/>'; '</div></div><br/>';
} }
} }

View File

@ -12,7 +12,6 @@
<meta property="og:description" content="Curated collection of useful Javascript snippets that you can understand in 30 seconds or less." /> <meta property="og:description" content="Curated collection of useful Javascript snippets that you can understand in 30 seconds or less." />
<meta property="og:type" content="website" /><meta property="og:image" content="favicon.png"> <meta property="og:type" content="website" /><meta property="og:image" content="favicon.png">
<link rel="icon" type="image/png" href="favicon.png"> <link rel="icon" type="image/png" href="favicon.png">
<link rel="stylesheet" href="prism.css">
<script> <script>
const search = (node) => { const search = (node) => {
// Hide non-query-matching snippets // Hide non-query-matching snippets
@ -36,22 +35,22 @@
registerClickListener(); registerClickListener();
} }
function clipboard() { function clipboard() {
const snippets = document.querySelectorAll(":not(pre) + pre"); // const snippets = document.querySelectorAll(":not(label) + pre");
snippets.forEach(snippet => { // snippets.forEach(snippet => {
const button = document.createElement("button"); // const button = document.createElement("button");
button.className = 'primary clipboard-copy'; // button.className = 'primary clipboard-copy';
button.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-clipboard"><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path><rect x="8" y="2" width="8" height="4" rx="1" ry="1"></rect></svg>&nbsp;Copy to clipboard'; // button.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-clipboard"><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path><rect x="8" y="2" width="8" height="4" rx="1" ry="1"></rect></svg>&nbsp;Copy to clipboard';
snippet.parentElement.appendChild(button); // snippet.parentElement.appendChild(button);
}); // });
} }
function exampleMaker() { function exampleMaker() {
const examples = document.querySelectorAll("pre + pre"); // const examples = document.querySelectorAll("pre + pre");
examples.forEach(el => { // examples.forEach(el => {
let label = document.createElement('label'); // let label = document.createElement('label');
label.className = 'collapse'; // label.className = 'collapse';
label.innerHTML = 'Show examples'; // label.innerHTML = 'Show examples';
el.parentNode.insertBefore(label, el); // el.parentNode.insertBefore(label, el);
}); // });
} }
function registerClickListener() { function registerClickListener() {
document.addEventListener('click', function (event) { document.addEventListener('click', function (event) {
@ -73,17 +72,9 @@
</script> </script>
</head> </head>
<body onload="loader()"> <body onload="loader()">
<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js"></script> <a href="https://github.com/Chalarangelo/30-seconds-of-code" class="github-corner" aria-label="View source on Github"><svg width="90" height="90" viewBox="0 0 250 250" style="fill:#151513; color:#fff; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>
<script>
WebFont.load({
google: {
families: ['Roboto:400,400i,500,700,700i', 'Roboto Mono:400,400i,700,700i']
}
});
</script>
<a href="https://github.com/Chalarangelo/30-seconds-of-code/fork" class="github-corner" aria-label="View source on Github"><svg width='5.5rem' height='5.5rem' viewBox="0 0 250 250" style="fill:#151513; color:#fff; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>
<header style="height: 5.5rem;"> <header style="height: 5.5rem;">
<h1 class="logo" href="https://github.com/Chalarangelo/30-seconds-of-code"><img src="favicon.png" style="height: 4rem;"/><span id="title">&nbsp;30 seconds of code</span> <h1 class="logo"><img src="favicon.png" style="height: 4rem;"/><span id="title">&nbsp;30 seconds of code</span>
<small>Curated collection of useful JavaScript snippets that you can understand in 30 seconds or less.</small> <small>Curated collection of useful JavaScript snippets that you can understand in 30 seconds or less.</small>
</h1> </h1>
<label for="doc-drawer-checkbox" class="button drawer-toggle" id="menu-toggle"></label> <label for="doc-drawer-checkbox" class="button drawer-toggle" id="menu-toggle"></label>