<commit_before>/**
 * @desc amwiki主执行模块
 * @author Tevin
 * @see {@link https://github.com/TevinLi/amWiki}
 * @license MIT - Released under the MIT license.
 */

$(function () {

    'use strict';

    //工具集
    var tools = window.tools;
    //文档管理器
    var docs = new AWDocs();
    //本地存储
    var storage = new AWStorage();
    //启用接口ajax测试
    if (window.AWTesting) {
        var testing = new AWTesting();
    }
    //是否支持history.state的API (IE9不支持)
    var HISTORY_STATE = 'pushState' in history;

    //页面基本显示与操作
    var $menuBar = $('#menuBar');
    var pageBase = function () {
        //菜单折叠
        $menuBar.on('click', 'h5', function () {
            var $this = $(this),
                $next = $this.next('ul');
            if ($this.hasClass('on')) {
                $this.removeClass('on');
                $next.slideUp(200);
            } else {
                $this.addClass('on');
                $next.slideDown(200);
            }
        });
        $menuBar.on('click', 'h4', function () {
            var $this = $(this);
            if (!$this.hasClass('on')) {
                $this.addClass('on');
                $menuBar.find('a').removeClass('on');
            }
            $menuBar.find('h5').removeClass('on').next('ul').hide();
        });
        $menuBar.on('click', 'strong', function () {
            var $this = $(this),
                $next = $this.next('ul');
            if ($this.hasClass('on')) {
                $this.removeClass('on');
                $next.slideUp(200);
            } else {
                $this.addClass('on');
                $next.slideDown(200);
            }
        });
        //展开折叠所有导航栏位按钮
        $('.menu-fold').on('click', function () {
            var $this = $(this);
            if ($this.hasClass('on')) {
                $this.removeClass('on').find('use').attr('xlink:href', '#navFolder1');
                $menuBar.find('h5').removeClass('on').next('ul').hide();
            } else {
                $this.addClass('on').find('use').attr('xlink:href', '#navFolder2');
                $menuBar.find('h5').addClass('on').next('ul').show();
            }
        });
        //响应式菜单
        var $nav = $('.nav'),
            $menuIcon = $('.menu_icon');
        $menuIcon.on('click', function () {
            var $this = $(this);
            if ($this.hasClass('close')) {
                $this.removeClass('close');
                $menuIcon.find('use').attr('xlink:href', '#navStart');
                $nav.removeClass('on');
            } else {
                $this.addClass('close');
                $menuIcon.find('use').attr('xlink:href', '#navClose');
                $nav.addClass('on');
            }
        });
        $menuBar.on('click', 'li a', function () {
            $nav.removeClass('on');
        });
        $menuBar.on('click', 'h4', function () {
            $nav.removeClass('on');
        });
        //页面筛选
        var $filter = $('#menuFilter');
        var $filterClean = $filter.next('i');
        $filter.on('blur change input propertychange', function () {
            var value = $filter.val();
            if (value != '') {
                $filterClean.removeClass('off');
                $menuBar.find('h5').removeClass('on').next('ul').hide();
                $menuBar.find('a').each(function () {
                    var $this = $(this);
                    if ($this.text().indexOf(value) >= 0) {
                        $this.html($this.text().replace(value, '<mark>' + value + '</mark>'));
                        var $prev = $this.parent().removeClass('off').parent().show().prev();
                        //一级目录
                        if ($prev.is('h5')) {
                            $prev.addClass('on');
                        }
                        //二级目录
                        else if ($prev.is('strong')) {
                            $prev.addClass('on').parent().removeClass('off').parent().show().prev().addClass('on');
                        }
                    } else {
                        if ($this.find('mark').length > 0) {
                            $this.text($this.text());
                        }
                        $this.parent().addClass('off');
                    }
                });
            } else {
                $filterClean.addClass('off');
                $menuBar.find('a').each(function () {
                    var $this = $(this);
                    if ($this.find('mark').length > 0) {
                        $this.text($this.text());
                    }
                });
                $menuBar.find('a').parent().removeClass('off');
            }
        });
        $filterClean.on('click', function () {
            $filter.val('').trigger('change');
        });
        //显示svg图标
        if (sessionStorage['AMWikiIconsSvg']) {
            $('#svgSymbols').append(sessionStorage['AMWikiIconsSvg']);
        } else {
            $.get('amWiki/images/icons.svg', function (svg) {
                sessionStorage['AMWikiIconsSvg'] = svg;
                $('#svgSymbols').append(svg);
            }, 'text');
        }
    };

    //改变底部相关篇目
    var $mainSibling = $('#mainSibling');
    var changeSibling = function ($item) {
        var getDoc = function (type, $elm) {
            var $other = $elm[type]();
            if ($other.length == 0) {
                return null;
            }
            if ($other.children('ul').length > 0) {
                return getDoc(type, $other);
            } else {
                return $other.children('a');
            }
        };
        var setSib = function(num, $other){
            if ($other) {
                $mainSibling.find('a').eq(num)
                    .attr('href', $other.attr('href'))
                    .text($other.text());
            } else {
                $mainSibling.find('a').eq(num)
                    .removeAttr('href')
                    .text('没有了');
            }
        };
        setSib(0, getDoc('prev', $item));
        setSib(1, getDoc('next', $item));
        $mainSibling.addClass('on');
    };

    //改变导航显示
    var changeNav = function (path) {
        if (path == '首页') {
            $menuBar.find('h4').addClass('on');
            $menuBar.find('a').removeClass('on');
        } else {
            var hsLink = false;
            $menuBar.find('a').each(function () {
                var $this = $(this);
                var path2 = $this.attr('href').split('file=')[1];
                if (path2 == path) {
                    hsLink = true;
                    //本层加高亮
                    var $prev = $this.addClass('on').parent().parent().show().prev().addClass('on');
                    //如果本层处于第二层，对应的第一层加高亮
                    if ($prev[0].tagName.toLowerCase() == 'strong') {
                        $prev.parent().parent().show().prev().addClass('on');
                    }
                    changeSibling($this.parent());
                } else {
                    $this.removeClass('on');
                }
            });
            if (hsLink) {
                $menuBar.find('h4').removeClass('on');
            }
        }
    };<commit_msg>web端首页，不显示上一篇下一篇导航<commit_after>/**
 * @desc amwiki Web端·主执行模块
 * @author Tevin
 * @see {@link https://github.com/TevinLi/amWiki}
 * @license MIT - Released under the MIT license.
 */

$(function () {

    'use strict';

    //工具集
    var tools = window.tools;
    //文档管理器
    var docs = new AWDocs();
    //本地存储
    var storage = new AWStorage();
    //启用接口ajax测试
    if (window.AWTesting) {
        var testing = new AWTesting();
    }
    //是否支持history.state的API (IE9不支持)
    var HISTORY_STATE = 'pushState' in history;

    //页面基本显示与操作
    var $menuBar = $('#menuBar');
    var pageBase = function () {
        //菜单折叠
        $menuBar.on('click', 'h5', function () {
            var $this = $(this),
                $next = $this.next('ul');
            if ($this.hasClass('on')) {
                $this.removeClass('on');
                $next.slideUp(200);
            } else {
                $this.addClass('on');
                $next.slideDown(200);
            }
        });
        $menuBar.on('click', 'h4', function () {
            var $this = $(this);
            if (!$this.hasClass('on')) {
                $this.addClass('on');
                $menuBar.find('a').removeClass('on');
            }
            $menuBar.find('h5').removeClass('on').next('ul').hide();
        });
        $menuBar.on('click', 'strong', function () {
            var $this = $(this),
                $next = $this.next('ul');
            if ($this.hasClass('on')) {
                $this.removeClass('on');
                $next.slideUp(200);
            } else {
                $this.addClass('on');
                $next.slideDown(200);
            }
        });
        //展开折叠所有导航栏位按钮
        $('.menu-fold').on('click', function () {
            var $this = $(this);
            if ($this.hasClass('on')) {
                $this.removeClass('on').find('use').attr('xlink:href', '#navFolder1');
                $menuBar.find('h5').removeClass('on').next('ul').hide();
            } else {
                $this.addClass('on').find('use').attr('xlink:href', '#navFolder2');
                $menuBar.find('h5').addClass('on').next('ul').show();
            }
        });
        //响应式菜单
        var $nav = $('.nav'),
            $menuIcon = $('.menu_icon');
        $menuIcon.on('click', function () {
            var $this = $(this);
            if ($this.hasClass('close')) {
                $this.removeClass('close');
                $menuIcon.find('use').attr('xlink:href', '#navStart');
                $nav.removeClass('on');
            } else {
                $this.addClass('close');
                $menuIcon.find('use').attr('xlink:href', '#navClose');
                $nav.addClass('on');
            }
        });
        $menuBar.on('click', 'li a', function () {
            $nav.removeClass('on');
        });
        $menuBar.on('click', 'h4', function () {
            $nav.removeClass('on');
        });
        //页面筛选
        var $filter = $('#menuFilter');
        var $filterClean = $filter.next('i');
        $filter.on('blur change input propertychange', function () {
            var value = $filter.val();
            if (value != '') {
                $filterClean.removeClass('off');
                $menuBar.find('h5').removeClass('on').next('ul').hide();
                $menuBar.find('a').each(function () {
                    var $this = $(this);
                    if ($this.text().indexOf(value) >= 0) {
                        $this.html($this.text().replace(value, '<mark>' + value + '</mark>'));
                        var $prev = $this.parent().removeClass('off').parent().show().prev();
                        //一级目录
                        if ($prev.is('h5')) {
                            $prev.addClass('on');
                        }
                        //二级目录
                        else if ($prev.is('strong')) {
                            $prev.addClass('on').parent().removeClass('off').parent().show().prev().addClass('on');
                        }
                    } else {
                        if ($this.find('mark').length > 0) {
                            $this.text($this.text());
                        }
                        $this.parent().addClass('off');
                    }
                });
            } else {
                $filterClean.addClass('off');
                $menuBar.find('a').each(function () {
                    var $this = $(this);
                    if ($this.find('mark').length > 0) {
                        $this.text($this.text());
                    }
                });
                $menuBar.find('a').parent().removeClass('off');
            }
        });
        $filterClean.on('click', function () {
            $filter.val('').trigger('change');
        });
        //显示svg图标
        if (sessionStorage['AMWikiIconsSvg']) {
            $('#svgSymbols').append(sessionStorage['AMWikiIconsSvg']);
        } else {
            $.get('amWiki/images/icons.svg', function (svg) {
                sessionStorage['AMWikiIconsSvg'] = svg;
                $('#svgSymbols').append(svg);
            }, 'text');
        }
    };

    //改变底部上下篇目
    var $mainSibling = $('#mainSibling');
    var changeSibling = function ($item) {
        //如果未传导航项进来，隐藏上下篇目栏位
        if (!$item) {
            $mainSibling.removeClass('on');
            return;
        }
        //获取平级文档链接
        var getDocLink = function (type, $elm) {
            var $other = $elm[type]();
            if ($other.length == 0) {
                return null;
            }
            if ($other.children('ul').length > 0) {
                return getDocLink(type, $other);
            } else {
                return $other.children('a');
            }
        };
        //设置上下篇目导航
        var setSiblingNav = function(num, $other){
            if ($other) {
                $mainSibling.find('a').eq(num)
                    .attr('href', $other.attr('href'))
                    .text($other.text());
            } else {
                $mainSibling.find('a').eq(num)
                    .removeAttr('href')
                    .text('没有了');
            }
        };
        setSiblingNav(0, getDocLink('prev', $item));
        setSiblingNav(1, getDocLink('next', $item));
        $mainSibling.addClass('on');
    };

    //改变导航显示
    var changeNav = function (path) {
        if (path == '首页') {
            $menuBar.find('h4').addClass('on');
            $menuBar.find('a').removeClass('on');
            changeSibling(null);
        } else {
            var hsLink = false;
            $menuBar.find('a').each(function () {
                var $this = $(this);
                var path2 = $this.attr('href').split('file=')[1];
                if (path2 == path) {
                    hsLink = true;
                    //本层加高亮
                    var $prev = $this.addClass('on').parent().parent().show().prev().addClass('on');
                    //如果本层处于第二层，对应的第一层加高亮
                    if ($prev[0].tagName.toLowerCase() == 'strong') {
                        $prev.parent().parent().show().prev().addClass('on');
                    }
                    changeSibling($this.parent());
                } else {
                    $this.removeClass('on');
                }
            });
            if (hsLink) {
                $menuBar.find('h4').removeClass('on');
            }
        }
    };
{'fraction_non_alphanumeric': 0.18175573567797773, 'fraction_numerical': 0.00494573430416266, 'mean_word_length': 1.2981846882399368, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 15, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '456065', 'n_tokens_mistral': 4301, 'n_tokens_neox': 4268, 'n_words': 623}