Skip to content

Commit a1226f3

Browse files
committed
More responsive website
1 parent 107ee11 commit a1226f3

File tree

4 files changed

+351
-6
lines changed

4 files changed

+351
-6
lines changed

content/_layouts/page.ejs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,15 @@
5252
</head>
5353
<body id="page-<%= category %>" class="page<%- category != 'home' ? ' page-standard' : '' %><%- typeof(subCategory) != 'undefined' ? ' page-' + category + '-' + subCategory : '' %>">
5454
<aside id="site-navigation">
55-
<ul>
55+
<div class="nav-header">
56+
<a href="/" class="nav-logo"><img src="/static/ceramic-small.png" class="ceramic-icon" />Ceramic</a>
57+
<button class="hamburger" aria-label="Toggle menu">
58+
<span></span>
59+
<span></span>
60+
<span></span>
61+
</button>
62+
</div>
63+
<ul class="nav-links">
5664
<li<%- category == 'home' ? ' class="selected"' : '' %>><a href="/"><img src="/static/ceramic-small.png" class="ceramic-icon" />Ceramic</a></li>
5765
<li<%- category == 'guides' ? ' class="selected"' : '' %>><a href="/guides">Guides</a></li>
5866
<li<%- category == 'examples' ? ' class="selected"' : '' %>><a href="/examples">Examples</a></li>

content/examples.ejs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
layout: examples
33
category: examples
4+
subCategory: index
45
title: Examples
56
---
67
<%

content/static/script.js

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,26 @@
11

22
document.addEventListener("DOMContentLoaded", function(e) {
33

4+
// Hamburger menu toggle
5+
var hamburger = document.querySelector('.hamburger');
6+
var nav = document.getElementById('site-navigation');
7+
8+
if (hamburger) {
9+
hamburger.addEventListener('click', function() {
10+
nav.classList.toggle('menu-open');
11+
});
12+
}
13+
14+
// Detect if sidebar is missing or empty and add centering class
15+
var sidebarLeft = document.querySelector('.page-standard .page-container .sidebar-left');
16+
var pageContainer = document.querySelector('.page-standard .page-container');
17+
18+
if (pageContainer) {
19+
if (!sidebarLeft || !sidebarLeft.querySelector('.sidebar') || !sidebarLeft.querySelector('.sidebar').hasChildNodes()) {
20+
pageContainer.classList.add('no-sidebar');
21+
}
22+
}
23+
424
var iframes = document.querySelectorAll('.page-standard .page-container .content-right iframe');
525
layoutIframes(iframes);
626

@@ -20,7 +40,7 @@ document.addEventListener("DOMContentLoaded", function(e) {
2040
layoutIframes();
2141
}
2242

23-
document.addEventListener("resize", function(e) {
43+
window.addEventListener("resize", function(e) {
2444
layout();
2545
});
2646

@@ -51,6 +71,20 @@ document.addEventListener("DOMContentLoaded", function(e) {
5171
}
5272
}
5373

74+
// Clone sidebar into hamburger menu for mobile
75+
var sidebar = document.querySelector('.page-standard .page-container .sidebar-left .sidebar');
76+
77+
if (sidebar && nav) {
78+
var sidebarMobile = document.createElement('div');
79+
sidebarMobile.className = 'sidebar-mobile';
80+
sidebarMobile.innerHTML = sidebar.innerHTML;
81+
nav.appendChild(sidebarMobile);
82+
83+
// Bind menu toggle to mobile sidebar menu titles
84+
var mobileMenus = sidebarMobile.querySelectorAll('li.menu-title');
85+
bindMenus(mobileMenus);
86+
}
87+
5488
var didLike = false;
5589
bindLikeCounter();
5690

0 commit comments

Comments
 (0)