(function ($) {
$.fn.menumaker = function () { var cssmenu = $(this); return this.each(function () { cssmenu.prepend('<i id="menu-button" class="fas fa-bars"></i>'); $(this).find("#menu-button").on('click', function () { $(this).toggleClass('menu-opened'); var mainmenu = $(this).next('ul'); if (mainmenu.hasClass('open')) { mainmenu.hide().removeClass('open'); } else { mainmenu.show().addClass('open'); } }); cssmenu.find('li ul').parent().addClass('has-sub'); multiTg = function () { cssmenu.find(".has-sub").prepend('<span class="submenu-button"></span>'); cssmenu.find('.submenu-button').on('click', function () { $(this).toggleClass('submenu-opened'); if ($(this).siblings('ul').hasClass('open')) { $(this).siblings('ul').removeClass('open').hide(); } else { $(this).siblings('ul').addClass('open').show(); } }); }; multiTg(); resizeFix = function () { if ($(window).width() > 768) { cssmenu.find('ul').show(); } if ($(window).width() <= 768) { cssmenu.find('ul').hide().removeClass('open'); } }; resizeFix(); return $(window).on('resize', resizeFix); }); };
})(jQuery);
$(document).ready(function () {
/** * Responsive Navigation */ var nav = $('.g-nav'); $(nav).menumaker(); $('#menu-toggle').on('click', function (e) { var duration = 200; nav.slideToggle(duration); $(document).on('click', function () { nav.slideUp(duration); }); e.stopPropagation(); }); nav.on('click', function (e) { e.stopPropagation(); }); /* * Header Bar */ if ($(window).width() > 695) { var header = $('.g-header'); var headerHeight = header.outerHeight(); var themeStyle = $('.g-banner').attr('data-theme'); var scFlag = $(document).scrollTop(); var currentWidth = $(window).width(); var catalog = $('.catalog-container'); if (currentWidth > 1200) { catalog.show(); } $(document).scroll(function () { var scrollTop = $(this).scrollTop(); var navClassName = 'nav-' + themeStyle; if (scrollTop > headerHeight) { if (scrollTop > 3 * headerHeight) { header.addClass('headerUp'); } nav.addClass(navClassName); } else { header.removeClass('headerUp'); nav.removeClass(navClassName); } // scroll action if (scFlag > scrollTop) { header.addClass('headerDown'); } else { header.removeClass('headerDown'); } scFlag = scrollTop; // catalog if (currentWidth > 1100) { if (scrollTop > 500) { catalog.addClass('fixed'); } else { catalog.removeClass('fixed'); } } }); } /* * Post Cover Resize */ function postCover(img, container) { var imgWidth = img.width(); var containerWidth = container.width(); var imgHeight = img.height(); var containerHeight = container.height(); if (imgHeight < containerHeight) { img.css({ 'width': 'auto', 'height': '100%' }); imgWidth = img.width(), containerWidth = container.width(); var marginLeft = (imgWidth - containerWidth) / 2; img.css('margin-left', '-' + marginLeft + 'px'); } else { var marginTop = (containerHeight - imgHeight) / 2; img.css('margin-top', marginTop + 'px'); } img.fadeIn(); } /** * The Post Navigator */ $('.read-next-item section').each(function () { var n = $(this).height(); var rn = $('.read-next-item').height(); $(this).css('margin-top', (rn - n) / 2 + 'px'); $(this).fadeIn(); }); $('.read-next-item img').each(function () { postCover($(this), $('.read-next-item')); }); /** * Pagination */ function pagination() { var total = parseInt($('#total_pages').val()); var current = parseInt($('#current_pages').val()); var baseUrl = $('#base_url').val(); var limit = 3; var link_html = ''; for (var i = current - limit; i < current; i++) { if (i > 0 && i !== 1) { link_html += '<a href="' + baseUrl + 'page' + i + '" class="page-link page-num">' + i + '</a>'; } else if (i === 1) { link_html += '<a href="' + baseUrl + '" class="page-link page-num">' + i + '</a>'; } } link_html += '<span class="page-link page-num active">' + current + '</span>'; for (var j = current + 1; j <= current + limit; j++) { if (j <= total) { link_html += '<a href="' + baseUrl + 'page' + j + '" class="page-link page-num">' + j + '</a>'; } } $('#page-link-container').html(link_html); } pagination(); /** * Search */ function Search() { var self = this; var input = $('#search_input'); var result = $('.search_result'); input.focus(function () { $('.icon-search').css('color', '#3199DB'); result.show(); }); input.keyup(debounce(this.autoComplete)); $(document).click(function (e) { if (e.target.id === 'search_input' || e.target.className === 'search_result' || e.target.className === 'search_item') { return; } $('.icon-search').css('color', '#CAD3DC'); result.hide(); }); } Search.prototype.autoComplete = function () { var keywords = this.value.toLowerCase(); if (keywords.length) { $('.icon-search').css('color', '#3199DB'); } else { $('.icon-search').css('color', '#CAD3DC'); } $.getJSON('../../search.json').done(function (data) { var html = ''; for (var i in data) { var item = data[i]; var title = item.title; var tags = item.tags; var url = item.url; var k = title + tags; if (keywords !== '' && k.toLowerCase().indexOf(keywords) >= 0) { html += '<a class="search_item" href="' + item.url + '">' + item.title + '</a>'; } } $('.search_result').html(html); }); }; function debounce(fn, delay) { var timer; delay = delay || 120; return function () { var ctx = this; var args = arguments; var later = function () { fn.apply(ctx, args); }; clearTimeout(timer); timer = setTimeout(later, delay); }; } new Search(); /** * Copy and copyright */ function setClipboardData(str) { var date = new Date(); str += '\n\nCopyright ' + date.getFullYear() + ' l’article appartient à son auteur.\nPour toute reproduction à titre commerciale, veuillez contacter l\'auteur pour obtenir son autorisation.\nDans le cas d’une utilisation sans but mercantile veuillez indiquer la source de l’article.\nOriginal: ' + location.href; $('.post-content').on('copy', function (e) { var data = window.clipboardData || e.originalEvent.clipboardData; data.setData('text/plain', str); e.preventDefault(); }); } $('.post-content').on('mouseup', function (e) { var txt = window.getSelection(); if (txt.toString().length >= 30) { setClipboardData(txt); } });
});