Set new Mu visual identity for the website 💅 (#92)

This commit is contained in:
Juan Valencia 2020-01-24 16:42:23 +01:00 committed by Flavio Corpa
parent 4b5f500e53
commit ad358f7647
25 changed files with 134 additions and 266 deletions

View File

@ -1,13 +1,17 @@
title: Mu-Haskell
#-------------------------
name: Mu-Haskell
#-------------------------
title: Mu-Haskell # To be used on meta tags mainly
#-------------------------
description: Mu is a purely functional library for building microservices.
#-------------------------
author: 47 Degrees
keywords: functional-programming, monads, monad-transformers, functional-data-structure, swift, bow, fp-types, adt, free-monads, tagless-final, mtl, for-comprehension, category-theory
#-------------------------
url: https://www.47deg.com
github-owner: higherkindness
github-repo: mu-haskell
#-------------------------
url: https://higherkindess.io/mu-haskell
#-------------------------
markdown: kramdown
sass:

View File

@ -5,15 +5,18 @@
type="button"
class="button doc-toggle"
title="Toggle">
<img src="{{ site.baseurl }}/img/sidebar-icon-open.svg" alt="Toggle">
<img src="{{ 'img/sidebar-icon-open.svg' | relative_url }}" alt="Toggle" title="Toggle">
</button>
<div class="link-container">
<div class="link-item">
<a href="{{ 'haddock/index.html' | relative_url }}">API Docs</a>
<a class="strong" href="{{ 'haddock/' | relative_url }}" title="API Docs" target="_blank" rel="noopener noreferrer">API Docs</a>
</div>
<div class="link-item">
<a href="https://github.com/higherkindness/mu-haskell">GitHub</a>
<a href="https://github.com/{{ site.github-owner }}/{{ site.github-repo }}" title="GitHub repo" target="_blank" rel="noopener noreferrer">
<span class="strong">GitHub</span>
<span id="stars-count"></span>
</a>
</div>
</div>

View File

@ -2,9 +2,11 @@
<div class="wrapper">
<div class="footer-flex">
<div class="footer-dev">
<p>mu-haskell is designed and developed by
<a href="https://github.com/higherkindness/mu-haskell/" target="_blank" rel="noopener noreferrer">{{ site.name }}</a>
with support from <a href="https://www.47deg.com/" target="_blank" rel="noopener noreferrer">47 Degrees</a></p>
<p>
Mu-Haskell is designed and developed by
<a href="https://github.com/{{ site.github-owner }}/{{ site.github-repo }}/" target="_blank" rel="noopener noreferrer">{{ site.name }}</a>
with support from <a href="https://www.47deg.com/" target="_blank" rel="noopener noreferrer">47 Degrees</a>
</p>
</div>
<ul class="footer-menu">
{% for item in site.data.menu.nav %}

View File

@ -1,14 +1,21 @@
<head>
<meta charset="UTF-8">
<title>{{site.name}}</title>
{% if page.title %}
{% assign pageTitle = site.title | append: ': ' | append: page.title %}
{% else %}
{% assign pageTitle = site.title %}
{% endif %}
<title>{{ pageTitle }}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="{{site.description}}">
<meta name="keywords" content="{{site.keywords}}">
<meta property="og:image" content="{{ 'img/poster.png' | relative_url }}" />
<meta property="og:title" content="{{site.name}}" />
<meta property="og:site_name" content="{{site.name}}" />
<meta property="og:url" content="https://higherkindness.io/mu-haskell" />
<meta property="og:title" content="{{ pageTitle }}" />
<meta property="og:site_name" content="{{ pageTitle }}" />
<meta property="og:url" content="{{ site.url }}" />
<meta property="og:type" content="website" />
<meta property="og:description" content="{{site.description}}" />
<meta property="og:keywords" content="{{site.keywords}}" />
@ -19,6 +26,8 @@
<meta name="twitter:creator" content="@47deg">
<meta name="twitter:image" content="{{ 'img/poster.png' | relative_url }}" />
<meta property="github-info" data-github-owner="{{ site.github-owner }}" data-github-repo="{{ site.github-repo }}" />
<script defer src="{{ '/js/docs.js' | relative_url }}"></script>
<!-- Favicon -->

View File

@ -39,6 +39,7 @@ h6 {
color: $header-font-color;
font-family: $header-font-family;
font-weight: $font-semibold;
position: relative;
}
a {
@ -54,7 +55,7 @@ a {
text-decoration: underline;
}
&:active {
color: $white;
color: $link-hover;
}
}

View File

@ -28,7 +28,7 @@
&::before,
&::after {
background-color: $gray-primary;
background-color: $white;
content: " ";
height: 100%;
left: 98%;

View File

@ -41,13 +41,21 @@
align-items: center;
.link-item {
margin-left: ($base-point-grid * 2);
margin-left: ($base-point-grid * 3);
.strong {
font-weight: 600;
}
a:hover {
text-decoration: none;
}
}
}
}
.doc-content {
padding: ($base-point-grid * 3);
padding: ($base-point-grid * 4);
}
h1 {
@ -98,6 +106,36 @@
list-style: disc;
}
}
.header-link {
position: absolute;
font-size: 0.6em;
left: -2em;
top: -0.15em;
opacity: 0;
padding: 0.8em;
outline: none;
transform: rotate3d(0, 0, 1, 45deg) scale3d(0.5, 0.5, 0.5);
transition: opacity 0.2s ease, transform 0.2s ease;
&:hover,
&:focus,
&:active {
text-decoration: none;
}
}
h1:hover,
h2:hover,
h3:hover,
h4:hover,
h5:hover,
h6:hover {
.header-link {
opacity: 1;
transform: rotate3d(0, 0, 1, 45deg) scale3d(1, 1, 1);
}
}
}
// Responsive
@ -105,5 +143,9 @@
@include bp(medium) {
#site-doc {
left: 0;
&.expanded {
overflow: hidden;
}
}
}

View File

@ -12,7 +12,7 @@
position: relative;
.sub-menu {
background: rgba(0,0,0,0.01);
background: $sidebar-active-color;
max-height: 0;
transition: max-height 0.3s ease-in-out;
overflow: hidden;
@ -26,7 +26,7 @@
height: auto;
&.active {
color: $gray-primary;
color: $white;
box-shadow: 3px 0 $brand-primary inset;
}
}
@ -42,8 +42,8 @@
padding: $base-point-grid * 2;
line-height: $base-point-grid * 2;
width: 100%;
color: $gray-primary;
@include links($gray-primary, $gray-primary, rgba($gray-primary, 0.8), $gray-primary);
color: $white;
@include links($white, $white, rgba($white, 0.8), $white);
transition: background $base-duration $base-timing;
&:hover {
@ -56,6 +56,9 @@
right: ($base-point-grid * 3);
top: $base-point-grid * 2;
pointer-events: none;
transform-origin: 0% 75%;
height: 8px;
transition: transform 0.2s ease;
}
.caret::before {
@ -63,10 +66,9 @@
position: absolute;
top: 0;
left: 0;
border-left: 6px solid rgba($gray-primary, 0.8);
border-left: 6px solid rgba($white, 0.8);
border-top: 6px solid transparent;
border-bottom: 6px solid transparent;
transition: border 0.3s ease, top 0.2s ease, left 0.2s ease;
}
.caret::after {
@ -74,10 +76,9 @@
position: absolute;
left: 0;
top: 2px;
border-left: 4px solid $white;
border-left: 4px solid $gray-primary;
border-top: 4px solid transparent;
border-bottom: 4px solid transparent;
transition: border 0.3s ease, top 0.3s ease, left 0.3s ease;
}
&.active {
@ -88,23 +89,15 @@
&.open {
> a, button {
background: rgba(0,0,0,0.03);
background: $sidebar-head-active-color;
}
.caret::before {
top: 4px;
left: -6px;
border-top: 6px solid rgba($gray-primary, 0.8);
border-left: 6px solid transparent;
border-right: 6px solid transparent;
.caret {
transform: rotateZ(90deg);
}
.caret::after {
left: -4px;
top: 4px;
border-top: 4px solid $white;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-left-color: $sidebar-head-active-color;
}
.sub-menu {

View File

@ -4,7 +4,7 @@
#site-sidebar {
position: fixed;
background-image: linear-gradient(to bottom, $white 60%, darken($white, 3%) 100%);
background-image: linear-gradient(to bottom, $brand-secondary 60%, darken($brand-secondary, 3%) 100%);
border-right: 1px solid rgba(0,0,0,0.1);
width: 290px;
height: 100%;
@ -31,8 +31,7 @@
a {
display: flex;
color: $gray-primary;
justify-content: center;
color: $white;
align-items: center;
width: 100%;
transition: none;
@ -72,6 +71,7 @@
&.toggled {
left: 0;
overflow-y: auto;
}
.sidebar-toggle {

View File

@ -16,8 +16,8 @@ $gray-primary: #001E38;
$white: rgb(255, 255, 255);
$link-color: darken($brand-primary, 10%);
$link-hover: darken($brand-primary, 15%);
$sidebar-active-color: $white;
$sidebar-head-active-color: darken($white, 3%);
$sidebar-active-color: lighten($brand-secondary, 2%);
$sidebar-head-active-color: lighten($brand-secondary, 4%);
// Typography
// -----------------------------------------------

View File

@ -1,6 +1,6 @@
---
layout: docs
title: Mu-Haskell
title: Docs
permalink: /
---

View File

@ -1,6 +1,6 @@
---
layout: docs
title: Mu-Haskell
title: Databases
permalink: db/
---

View File

@ -1,6 +1,6 @@
---
layout: docs
title: Mu-Haskell
title: gRPC servers and clients
permalink: grpc/
---

View File

@ -1,6 +1,6 @@
---
layout: docs
title: Mu-Haskell
title: Introduction
permalink: intro/
---

View File

@ -1,6 +1,6 @@
---
layout: docs
title: Mu-Haskell
title: Middleware
permalink: middleware/
---

View File

@ -1,6 +1,6 @@
---
layout: docs
title: Mu-Haskell
title: Registry
permalink: registry/
---

View File

@ -1,6 +1,6 @@
---
layout: docs
title: Mu-Haskell
title: Services and servers
permalink: rpc/
---

View File

@ -1,6 +1,6 @@
---
layout: docs
title: Mu-Haskell
title: Schemas
permalink: schema/
---

View File

@ -1,6 +1,6 @@
---
layout: docs
title: Mu-Haskell
title: Streams
permalink: stream/
---

View File

@ -1,6 +1,6 @@
---
layout: docs
title: Mu-Haskell
title: Transformers
permalink: transformer/
---

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -1,104 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="42"
height="42"
viewBox="0 0 42 42"
version="1.1"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="nav-brand.svg">
<metadata
id="metadata23">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>sidebar-mu-haskell</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1358"
inkscape:window-height="715"
id="namedview21"
showgrid="false"
inkscape:zoom="4.9166667"
inkscape:cx="7.4579271"
inkscape:cy="20.77389"
inkscape:window-x="3044"
inkscape:window-y="650"
inkscape:window-maximized="0"
inkscape:current-layer="svg2"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<!-- Generator: Sketch 61.2 (89653) - https://sketch.com -->
<title
id="title4">sidebar-mu-haskell</title>
<desc
id="desc6">Created with Sketch.</desc>
<defs
id="defs8">
<polygon
id="path-1"
points="0,0.4291 32.0017,0.4291 32.0017,18.9051 0,18.9051 " />
</defs>
<g
id="sidebar-mu-haskell"
style="fill:none;fill-rule:evenodd;stroke:none;stroke-width:1"
transform="translate(5.3901305,-2.5705002)">
<g
id="brand"
transform="translate(0,2)">
<g
id="Group-3"
transform="translate(0,0.571)">
<mask
id="mask-2"
fill="white">
<use
xlink:href="#path-1"
id="use15"
x="0"
y="0"
width="100%"
height="100%" />
</mask>
<g
id="Clip-2" />
<polygon
id="Fill-1"
mask="url(#mask-2)"
points="32.0017,9.6671 15.9997,0.4291 -0.0003,9.6671 16.0007,18.9051 "
style="fill:#e1c2dd" />
</g>
<polygon
id="Fill-4"
points="31.9979,10.2641 16.0009,19.4761 -0.0001,10.2381 0.0009,19.4761 16.0019,28.7141 32.0039,19.4771 32.0039,18.3241 "
style="fill:#9e358f" />
<polygon
id="Fill-5"
points="31.9979,24.1205 16.0009,33.3325 -0.0001,24.0945 0.0009,33.3325 16.0019,42.5705 32.0039,33.3335 32.0039,32.1805 "
style="fill:#9e358f" />
<?xml version="1.0" encoding="UTF-8"?>
<svg width="48px" height="48px" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>sidebar-haskell</title>
<g id="sidebar-haskell" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<polygon id="path" fill="#9E358F" points="23.7994 34.3318 7.0004 24.6328 7.0004 35.7178 23.7994 45.4178 40.5994 35.7168 40.5994 24.6328"></polygon>
<path d="M23.7994,2.0002 L7.8004,11.2372 L7.0004,11.6992 L7.0004,12.6232 L7.0004,21.8612 L23.7994,31.5612 L40.5994,21.8602 L40.5994,11.6992 L39.7994,11.2372 L23.7994,2.0002 Z M9.3994,12.1612 L23.7994,3.8482 L38.2004,12.1612 L23.7994,20.4752 L9.3994,12.1612 Z" id="path" fill="#9E358F"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 784 B

View File

@ -1,104 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="42"
height="42"
viewBox="0 0 42 42"
version="1.1"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="nav-brand.svg">
<metadata
id="metadata23">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>sidebar-mu-haskell</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1358"
inkscape:window-height="715"
id="namedview21"
showgrid="false"
inkscape:zoom="4.9166667"
inkscape:cx="7.4579271"
inkscape:cy="20.77389"
inkscape:window-x="3044"
inkscape:window-y="650"
inkscape:window-maximized="0"
inkscape:current-layer="svg2"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<!-- Generator: Sketch 61.2 (89653) - https://sketch.com -->
<title
id="title4">sidebar-mu-haskell</title>
<desc
id="desc6">Created with Sketch.</desc>
<defs
id="defs8">
<polygon
id="path-1"
points="0,0.4291 32.0017,0.4291 32.0017,18.9051 0,18.9051 " />
</defs>
<g
id="sidebar-mu-haskell"
style="fill:none;fill-rule:evenodd;stroke:none;stroke-width:1"
transform="translate(5.3901305,-2.5705002)">
<g
id="brand"
transform="translate(0,2)">
<g
id="Group-3"
transform="translate(0,0.571)">
<mask
id="mask-2"
fill="white">
<use
xlink:href="#path-1"
id="use15"
x="0"
y="0"
width="100%"
height="100%" />
</mask>
<g
id="Clip-2" />
<polygon
id="Fill-1"
mask="url(#mask-2)"
points="32.0017,9.6671 15.9997,0.4291 -0.0003,9.6671 16.0007,18.9051 "
style="fill:#e1c2dd" />
</g>
<polygon
id="Fill-4"
points="31.9979,10.2641 16.0009,19.4761 -0.0001,10.2381 0.0009,19.4761 16.0019,28.7141 32.0039,19.4771 32.0039,18.3241 "
style="fill:#9e358f" />
<polygon
id="Fill-5"
points="31.9979,24.1205 16.0009,33.3325 -0.0001,24.0945 0.0009,33.3325 16.0019,42.5705 32.0039,33.3335 32.0039,32.1805 "
style="fill:#9e358f" />
<?xml version="1.0" encoding="UTF-8"?>
<svg width="48px" height="48px" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>sidebar-haskell</title>
<g id="sidebar-haskell" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<polygon id="path" fill="#9E358F" points="23.7994 34.3318 7.0004 24.6328 7.0004 35.7178 23.7994 45.4178 40.5994 35.7168 40.5994 24.6328"></polygon>
<path d="M23.7994,2.0002 L7.8004,11.2372 L7.0004,11.6992 L7.0004,12.6232 L7.0004,21.8612 L23.7994,31.5612 L40.5994,21.8602 L40.5994,11.6992 L39.7994,11.2372 L23.7994,2.0002 Z M9.3994,12.1612 L23.7994,3.8482 L38.2004,12.1612 L23.7994,20.4752 L9.3994,12.1612 Z" id="path" fill="#9E358F"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 784 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 54 KiB

View File

@ -102,18 +102,24 @@ function activateMenuNesting() {
* GitHub API and set it on its proper nodes.
*/
async function loadGitHubStats() {
const content = document.querySelector("#content");
const ghOwner = content.dataset.githubOwner;
const ghRepo = content.dataset.githubRepo;
const ghInfo = document.querySelector('meta[property="github-info"]');
const ghOwner = ghInfo.dataset.githubOwner;
const ghRepo = ghInfo.dataset.githubRepo;
if (ghOwner && ghRepo) {
const ghAPI = `https://api.github.com/repos/${ghOwner}/${ghRepo}`;
const ghDataResponse = await fetch(ghAPI);
const ghData = await ghDataResponse.json();
const watchersElement = document.querySelector("#eyes");
const starsElement = document.querySelector("#stars");
watchersElement.textContent = ghData.subscribers_count;
starsElement.textContent = ghData.stargazers_count;
const ghStars = ghData.stargazers_count;
const starsElement = document.querySelector("#stars-count");
if (starsElement) {
if (ghStars) {
starsElement.textContent = `${ghStars}`;
}
else {
starsElement.remove();
}
}
}
}
@ -126,7 +132,7 @@ function anchorForId(id) {
const anchor = document.createElement("a");
anchor.className = "header-link";
anchor.href = `#${id}`;
anchor.innerHTML = '<i class="fa fa-link"></i>';
anchor.innerHTML = '🔗';
return anchor;
}
@ -148,7 +154,7 @@ function linkifyAnchors(level, containingElement) {
* Function
*/
function linkifyAllLevels() {
const content = document.querySelector("#content");
const content = document.querySelector(".doc-content");
[...Array(7).keys()].map(level => {
linkifyAnchors(level, content);
});
@ -157,6 +163,6 @@ function linkifyAllLevels() {
window.addEventListener("DOMContentLoaded", () => {
activateToggle();
activateMenuNesting();
// loadGitHubStats();
// linkifyAllLevels();
loadGitHubStats();
linkifyAllLevels();
});