Skip to content
This repository was archived by the owner on Mar 9, 2022. It is now read-only.

Commit

Permalink
fix: mobile nav backgroud and new style
Browse files Browse the repository at this point in the history
  • Loading branch information
Dillon committed Aug 19, 2019
1 parent dcbc754 commit 6d0116b
Show file tree
Hide file tree
Showing 5 changed files with 61 additions and 47 deletions.
7 changes: 7 additions & 0 deletions assets/css/_core/_media.scss
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
margin: 0;
height: 4.5em;
line-height: 4.5em;
background: $global-background-color;

.navbar-header {
display: flex;
Expand Down Expand Up @@ -89,6 +90,7 @@

.menu {
text-align: center;
background: $global-background-color;
border-top: 2px solid $global-font-color;
display: none;
box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1), 0px 4px 8px rgba(0, 0, 0, 0.1);
Expand All @@ -103,9 +105,14 @@
}

.dark-theme & {
background: $global-background-color-dark;
border-top: 2px solid $global-font-color-dark;
}
}

.dark-theme & {
background: $global-background-color-dark !important;
}
}
}

Expand Down
5 changes: 3 additions & 2 deletions assets/css/_page/_post.scss
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@

.post-toc {
position: absolute;
width: 200px;
max-width: 240px;
width: 240px;
max-width: 300px;
margin-left: 800px;
padding: 10px;
border-left: 1px solid $global-border-color;
Expand Down Expand Up @@ -244,6 +244,7 @@
color: $post-link-color-dark;
}
}

&:after {
content: "#blockquote" attr(cite);
display: block;
Expand Down
2 changes: 1 addition & 1 deletion assets/css/_page/_posts.scss
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
padding-top: .2em;
font-size: 0.9em;
width: 100%;
max-height: 100px;
max-height: 108px;
overflow: hidden;

h2,
Expand Down
85 changes: 42 additions & 43 deletions assets/js/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jQuery(function($) {
};

_Blog.responsiveTable = function() {
const tables = document.querySelectorAll('.post-content > table');
const tables = document.querySelectorAll('.post-content table');
for (let i = 0; i < tables.length; i++) {
const table = tables[i];
const wrapper = document.createElement('div');
Expand All @@ -54,16 +54,14 @@ jQuery(function($) {
};

_Blog._initToc = function() {
const SPACING = 20;
const $toc = $('.post-toc');
const $footer = $('.post-footer');

if ($toc.length) {
if ($('.post-toc').length) {
const SPACING = 20;
const $toc = $('.post-toc');
const $footer = $('.post-footer');
const minTop = $toc.position().top;
const mainTop = $('main').position().top;
const minScrollTop = minTop + mainTop - SPACING;

$(window).scroll(function() {
const changeTocState = function() {
const scrollTop = $(window).scrollTop();
const maxTop = $footer.position().top - $toc.height();
const maxScrollTop = maxTop + mainTop - SPACING;
Expand All @@ -90,46 +88,47 @@ jQuery(function($) {
} else {
$toc.css(tocState.process);
}
});
}

const HEADERFIX = 60;
const $toclink = $('.toc-link');
const $headerlink = $('.headerlink');
const $tocLinkLis = $('.post-toc-content li');

const activeIndex = function() {
const scrollTop = $(window).scrollTop();
const headerlinkTop = $.map($headerlink, function(link) {
return $(link).offset().top;
});
const headerLinksOffsetForSearch = $.map(headerlinkTop, function(offset) {
return offset - HEADERFIX;
});
const searchActiveTocIndex = function(array, target) {
for (let i = 0; i < array.length - 1; i++) {
if (target > array[i] && target <= array[i + 1]) return i;
}
if (target > array[array.length - 1]) return array.length - 1;
return 0;
};
changeTocState();
$(window).scroll(changeTocState);

const HEADERFIX = 100;
const $toclink = $('.toc-link');
const $headerlink = $('.headerlink');
const $tocLinkLis = $('.post-toc-content li');
const activeIndex = function() {
const scrollTop = $(window).scrollTop();
const headerlinkTop = $.map($headerlink, function(link) {
return $(link).offset().top;
});
const headerLinksOffsetForSearch = $.map(headerlinkTop, function(offset) {
return offset - HEADERFIX;
});
const searchActiveTocIndex = function(array, target) {
for (let i = 0; i < array.length - 1; i++) {
if (target > array[i] && target <= array[i + 1]) return i;
}
if (target > array[array.length - 1]) return array.length - 1;
return 0;
};

const activeTocIndex = searchActiveTocIndex(headerLinksOffsetForSearch, scrollTop);
const activeTocIndex = searchActiveTocIndex(headerLinksOffsetForSearch, scrollTop);

$($toclink).removeClass('active');
$($tocLinkLis).removeClass('has-active');
$($toclink).removeClass('active');
$($tocLinkLis).removeClass('has-active');

if (activeTocIndex !== -1) {
$($toclink[activeTocIndex]).addClass('active');
let ancestor = $toclink[activeTocIndex].parentNode;
while (ancestor.tagName !== 'NAV') {
$(ancestor).addClass('has-active');
ancestor = ancestor.parentNode.parentNode;
if (activeTocIndex !== -1) {
$($toclink[activeTocIndex]).addClass('active');
let ancestor = $toclink[activeTocIndex].parentNode;
while (ancestor.tagName !== 'NAV') {
$(ancestor).addClass('has-active');
ancestor = ancestor.parentNode.parentNode;
}
}
}
};
activeIndex();
$(window).scroll(activeIndex);
};
activeIndex();
$(window).scroll(activeIndex);
}
};

_Blog.toc = function() {
Expand Down
9 changes: 8 additions & 1 deletion layouts/_default/summary.html
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,14 @@ <h1 class="post-title post-list-title" itemprop="name headline">
{{ if .Params.show_description }}
<p>{{ . }}</p>
{{ else }}
{{ .Summary }}
{{ $summary := .Summary }}
{{ $REin := `:\(([\w- ]+?)\):` }}
{{ $REout := `<i class="inline-icon $1"></i>` }}
{{ $summary = replaceRE $REin $REout $summary }}
{{ $REin = `\[(.+?)\]\^\((.+?)\)` }}
{{ $REout = `<strong><ruby>$1<rt>$2</rt></ruby></strong>` }}
{{ $summary = replaceRE $REin $REout $summary }}
{{ $summary | safeHTML }}
{{ end }}
</div>
<div class="post-footer">
Expand Down

0 comments on commit 6d0116b

Please sign in to comment.