Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 34 additions & 1 deletion js/theme.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,15 @@ function ThemeNav () {
winPosition: 0,
winHeight: null,
docHeight: null,
isRunning: false
isRunning: false,
sidebarSwipe: {
startX: null,
endX: null,
allowedTime: 300,
requiredDistance: 150,
elapsedTime: null,
startTime: null
}
};

nav.enable = function (withStickyNav) {
Expand Down Expand Up @@ -97,6 +105,31 @@ function ThemeNav () {
.on('click', "[data-toggle='rst-current-version']", function() {
$("[data-toggle='rst-versions']").toggleClass("shift-up");
})
.on('touchstart', ".wy-body-for-nav", function(event) {
if (event.touches.length === 1) {
self.sidebarSwipe.startX = event.touches.item(0).clientX;
self.sidebarSwipe.startTime = new Date().getTime()
} else {
self.sidebarSwipe.startX = null;
}
})
.on('touchend', ".wy-body-for-nav", function(event) {
if (self.sidebarSwipe.startX !== null) {
self.sidebarSwipe.endX = event.changedTouches.item(0).clientX;
self.sidebarSwipe.elapsedTime = self.sidebarSwipe.startTime - new Date().getTime()
if (self.sidebarSwipe.elapsedTime <= self.sidebarSwipe.allowedTime) {
if (self.sidebarSwipe.endX > self.sidebarSwipe.startX + self.sidebarSwipe.requiredDistance) {
document.querySelector('.wy-nav-side').classList.add('shift');
document.querySelector('.wy-nav-content-wrap').classList.add('shift');
}

if (self.sidebarSwipe.endX < self.sidebarSwipe.startX - self.sidebarSwipe.requiredDistance) {
document.querySelector('.wy-nav-side').classList.remove('shift');
document.querySelector('.wy-nav-content-wrap').classList.remove('shift');
}
}
}
})

// Make tables responsive
$("table.docutils:not(.field-list,.footnote,.citation)")
Expand Down
4 changes: 3 additions & 1 deletion sass/_theme_badge.sass
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,8 @@
+media($tablet)
.rst-versions
width: 85%
display: none
@include prefixer(transform, $sidebar-transform-hide, webkit moz ms o spec)
@include prefixer(transition, $sidebar-transition, webkit moz ms o spec)
&.shift
display: block
@include prefixer(transform, $sidebar-transform-show, webkit moz ms o spec)
12 changes: 9 additions & 3 deletions sass/_theme_layout.sass
Original file line number Diff line number Diff line change
Expand Up @@ -257,6 +257,7 @@ html
position: absolute
width: 100%
height: 100%
overflow-x: hidden

.wy-nav-side
position: fixed
Expand Down Expand Up @@ -373,12 +374,15 @@ footer
display: block
.wy-nav-side
@if $nav-desktop-position == left
left: -$nav-desktop-width
width: 85%
@include prefixer(transform, $sidebar-transform-hide, webkit moz ms o spec)
@include prefixer(transition, $sidebar-transition, webkit moz ms o spec)
@else
right: -$nav-desktop-width
&.shift
width: 85%
left: 0
@include prefixer(transform, $sidebar-transform-show, webkit moz ms o spec)
@include prefixer(transition, $sidebar-transition, webkit moz ms o spec)
.wy-side-scroll
width: auto
.wy-side-nav-search
Expand All @@ -387,15 +391,17 @@ footer
width: auto
.wy-nav-content-wrap
margin-left: 0
@include prefixer(transform, $sidebar-transform-show, webkit moz ms o spec)
@include prefixer(transition, $sidebar-transition, webkit moz ms o spec)
.wy-nav-content
padding: $gutter
&.shift
position: fixed
min-width: 100%
left: 85%
top: 0
height: 100%
overflow: hidden
@include prefixer(transform, translateX(85%), webkit moz ms o spec)

@media screen and (min-width: $nav-media-query)
.wy-nav-content-wrap
Expand Down
5 changes: 5 additions & 0 deletions sass/_theme_variables.sass
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,11 @@ $nav-link-color-hover: lighten($nav-link-color, 6%) !default
$nav-link-color-alt: hsl(33, 100%, 51%)
$nav-caption: desaturate($blue, 15%)

// Sidebar
$sidebar-transform-hide: translateX(-100%)
$sidebar-transform-show: translateX(0%)
$sidebar-transition: transform 0.3s ease

// Sidebar colors
$sidebar-background-color: $table-stripe-color
$sidebar-border-color: $table-border-color
Expand Down