BiliPlus UI

修改BiliPlus界面

Versión del día 24/1/2018. Echa un vistazo a la versión más reciente.

Tendrás que instalar una extensión para tu navegador como Tampermonkey, Greasemonkey o Violentmonkey si quieres utilizar este script.

Necesitarás instalar una extensión como Tampermonkey o Violentmonkey para instalar este script.

Necesitarás instalar una extensión como Tampermonkey o Violentmonkey para instalar este script.

Necesitarás instalar una extensión como Tampermonkey o Userscripts para instalar este script.

Necesitará instalar una extensión como Tampermonkey para instalar este script.

Necesitarás instalar una extensión para administrar scripts de usuario si quieres instalar este script.

(Ya tengo un administrador de scripts de usuario, déjame instalarlo)

Necesitará instalar una extensión como Stylus para instalar este estilo.

Necesitará instalar una extensión como Stylus para instalar este estilo.

Necesitará instalar una extensión como Stylus para instalar este estilo.

Necesitará instalar una extensión del gestor de estilos de usuario para instalar este estilo.

Necesitará instalar una extensión del gestor de estilos de usuario para instalar este estilo.

Necesitará instalar una extensión del gestor de estilos de usuario para instalar este estilo.

(Ya tengo un administrador de estilos de usuario, déjame instalarlo)

// ==UserScript==
// @name         BiliPlus UI
// @namespace    https://www.biliplus.com/
// @version      1.0
// @description  修改BiliPlus界面
// @author       SettingDust

// @include      http*://www.biliplus.com/*
// @exclude      http*://www.biliplus.com/tucao/*

// @require      https://code.jquery.com/jquery-latest.js
// @require      https://cdn.bootcss.com/Ripple.js/1.2.1/ripple.min.js
// @grant        none
// ==/UserScript==

$(function() {
    if($('.sidebar').length>0){
        var css = "";
        //修改顶部
        css += [
            "html {",
            "  -webkit-font-smoothing: antialiased;",
            "}",
            ".biliplus-ui-header {",
            "  width: calc(100% - 250px);",
            "  transition: width 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;",
            "  color: rgba(255, 255, 255, 1);",
            "  background-color: #0092f8;",
            "  top: 0;",
            "  left: auto;",
            "  right: 0;",
            "  position: fixed;",
            "  display: flex;",
            "  z-index: 1100;",
            "  box-sizing: border-box;",
            "  flex-shrink: 0;",
            "  flex-direction: column;",
            "  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);",
            "}",
            ".biliplus-ui-bar {",
            "  padding: 0 24px;",
            "  height: 64px;",
            "  display: flex;",
            "  position: relative;",
            "  align-items: center;",
            "}",
            ".biliplus-ui-title {",
            "  flex: 0 1 auto;",
            "  margin-left: 24px;",
            "}",
            ".biliplus-ui-whitespace {",
            "  flex: 1 1 auto;",
            "}",
            ".biliplus-ui-bar-item {",
            "  display: inline;",
            "  flex-direction: inherit;",
            "}",
            ".biliplus-ui-font {",
            "  font-family: Verdana, 'Roboto', 'Helvetica', 'Arial', sans-serif;",
            "  font-size: 1.3125rem;",
            "  line-height: 1.16667em;",
            "  font-weight: 500;",
            "}",
            ".biliplus-ui-button,.biliplus-ui-button:hover,.biliplus-ui-button:link,.biliplus-ui-button:active,.biliplus-ui-button:focus{",
            "  color: inherit;",
            "  flex: 0 0 auto;",
            "  width: 48px;",
            "  height: 48px;",
            "  font-size: 1.5rem;",
            "  text-align: center;",
            "  border-radius: 50%;",
            "  cursor: pointer;",
            "  border: 0;",
            "  display: inline-flex;",
            "  outline: none;",
            "  position: relative;",
            "  user-select: none;",
            "  align-items: center;",
            "  vertical-align: middle;",
            "  text-decoration: none;",
            "  justify-content: center;",
            "  background-color: transparent;",
            "  -webkit-appearance: none;",
            "  -webkit-tap-highlight-color: transparent;",
            "  padding: 0;",
            "}",
            ".biliplus-ui-button-icon {",
            "  width: 100%;",
            "  display: flex;",
            "  align-items: inherit;",
            "  justify-content: inherit;",
            "}",
            "*, *::before, *::after {",
            "  box-sizing: inherit;",
            "}",
            ".biliplus-ui-element {",
            "  width: 1.5em;",
            "  height: 1.5em;",
            "}",
            ".biliplus-ui-avatar {",
            "  border-radius: 50%;",
            "}",
            ".biliplus-ui-svg {",
            "  fill: currentColor;",
            "  width: 24px;",
            "  height: 24px;",
            "  display: inline-block;",
            "  transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;",
            "  user-select: none;",
            "  flex-shrink: 0;",
            "}"
        ].join("\n");
        $('body').prepend('<header class="biliplus-ui-header"></header>');
        $('.biliplus-ui-header').append('<div class="biliplus-ui-bar"></div>');
        $('.biliplus-ui-bar').append('<div class="biliplus-ui-whitespace"></div>');
        $('.userbar').removeClass('userbar');
        var avatar=$('.userbarcontent span img').attr('src');
        var name=$('.userbarcontent span b').text();
        $('.userbarcontent').hide();
        $('.biliplus-ui-bar').append('<div class="biliplus-ui-bar-item"><a tabindex="0" class="biliplus-ui-button"><span class="biliplus-ui-button-icon"><img src="'+avatar+'" class="biliplus-ui-avatar biliplus-ui-element"></span></a></div>');
        //个人信息栏
        css += [
            ".biliplus-ui-sidebar {",
            "  width: 250px;",
            "  position: absolute;",
            "  background-color: #fff;",
            "  height: 100%;",
            "  z-index: 2;",
            "  position: fixed;",
            "}",
            ".biliplus-ui-sidebar-user {",
            "  right: -250px;",
            "  border-left: 1px solid rgba(0, 0, 0, 0.12);",
            "  transition: .3s;",
            "}",
            ".biliplus-ui-sidebar-user-content {",
            "  margin-top: 14.68em;",
            "}",
            ".biliplus-ui-sidebar-user-name {",
            "  text-align: center;",
            "  padding-bottom: 16px;",
            "  border-bottom: 1px solid rgba(0, 0, 0, 0.12);",
            "  margin-bottom: 0;",
            "}",
            ".biliplus-ui-sidebar-user-on {",
            "  right: 0;",
            "}",
            ".biliplus-ui-avatar-button-big {",
            "  cursor: default;",
            "  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);",
            "}",
            ".biliplus-ui-avatar-big {",
            "  cursor: pointer;",
            "  border: 4px solid white;",
            "}",
            ".biliplus-ui-sidebar-ul {",
            "  padding: 0;",
            "  padding-top: 8px;",
            "  padding-bottom: 8px;",
            "  flex: 1 1 auto;",
            "  margin: 0;",
            "  position: relative;",
            "  list-style: none;",
            "}",
            ".biliplus-ui-sidebar-li {",
            "  color: rgba(0, 0, 0, 0.87);",
            "  display: block;",
            "  font-size: 0.875rem;",
            "  font-weight: 500;",
            "  font-family: Verdana, 'Roboto', 'Helvetica', 'Arial', sans-serif;",
            "  line-height: 1.71429em;",
            "  padding-top: 0;",
            "  padding-bottom: 0;",
            "  position: relative;",
            "  align-items: center;",
            "  justify-content: flex-start;",
            "  text-decoration: none;",
            "}",
            ".biliplus-ui-sidebar-li-a {",
            "  padding-left: 24px;",
            "  padding-right: 24px;",
            "  border-radius: 0;",
            "  text-transform: none;",
            "  justify-content: flex-start;",
            "  width: 100%;",
            "  transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;",
            "  color: rgba(0, 0, 0, 0.87) !important;",
            "  padding: 8px 16px;",
            "  min-width: 88px;",
            "  font-size: 1rem;",
            "  box-sizing: border-box;",
            "  min-height: 36px;",
            "  line-height: 1.4em;",
            "  font-family: Verdana, 'Roboto', 'Helvetica', 'Arial', sans-serif;",
            "  font-weight: 500;",
            "  cursor: pointer;",
            "  border: 0;",
            "  display: inline-flex;",
            "  outline: none;",
            "  position: relative;",
            "  user-select: none;",
            "  align-items: center;",
            "  vertical-align: middle;",
            "  text-decoration: none;",
            "  background-color: transparent;",
            "  -webkit-appearance: none;",
            "  -webkit-tap-highlight-color: transparent;",
            "}",
            ".biliplus-ui-sidebarli-a:hover {",
            "  background-color: rgba(0, 0, 0, 0.12);",
            "}"
        ].join("\n");
        $('.biliplus-ui-header').after('<div class="biliplus-ui-sidebar biliplus-ui-sidebar-user"></div>');
        $('.biliplus-ui-sidebar-user').append('<div class="biliplus-ui-sidebar-user-content"></div>');
        $('.biliplus-ui-sidebar-user-content').append('<h2 class="biliplus-ui-font biliplus-ui-sidebar-user-name">'+name+'</h2>');
        var space=$('.usersidebar a:eq(0)').attr('href');
        var dynamic=$('.usersidebar a:eq(1)').attr('href');
        var bangumi=$('.usersidebar a:eq(2)').attr('href');
        var favouite=$('.usersidebar a:eq(3)').attr('href');
        var history=$('.usersidebar a:eq(4)').attr('href');
        var attention=$('.usersidebar a:eq(5)').attr('href');
        $('body').on('click','.biliplus-ui-avatar-button-big',function(){
            window.location.href=space;
            return false;
        });
        //头像转换
        $('.biliplus-ui-button').click(function(){
            if($(this).find('.biliplus-ui-button-icon .biliplus-ui-avatar').length>0
               & !$(this).hasClass('.biliplus-ui-avatar-button-big')){
                $('.biliplus-ui-avatar').animate({
                    top: '3.8em',
                    width: '8em',
                    height: '8em',
                },300);
                $(this).animate({
                    top: '3.8em',
                    width: '8em',
                    height: '8em',
                },300,function(){
                    $(this).addClass('biliplus-ui-avatar-button-big');
                });
                $('.biliplus-ui-avatar').addClass('biliplus-ui-avatar-big ');
                $('.biliplus-ui-sidebar-user').addClass('biliplus-ui-sidebar-user-on');
            }
        });
        /*$('body').not('.biliplus-ui-button').click(function(){
        $('.biliplus-ui-sidebar-user-on').removeClass('biliplus-ui-sidebar-user-on');
        avatarToSmall();
        });*/
        //列表
        $('.biliplus-ui-sidebar-user-content').append('<ul class="biliplus-ui-sidebar-ul"></ul>');
        $('.biliplus-ui-sidebar-user-content .biliplus-ui-sidebar-ul').append('<li class="biliplus-ui-sidebar-li"><a class="biliplus-ui-sidebar-li-a" href="'+dynamic+'">动态</a></li>');
        $('.biliplus-ui-sidebar-user-content .biliplus-ui-sidebar-ul').append('<li class="biliplus-ui-sidebar-li"><a class="biliplus-ui-sidebar-li-a" href="'+bangumi+'">追番</a></li>');
        $('.biliplus-ui-sidebar-user-content .biliplus-ui-sidebar-ul').append('<li class="biliplus-ui-sidebar-li"><a class="biliplus-ui-sidebar-li-a" href="'+favouite+'">收藏夹</a></li>');
        $('.biliplus-ui-sidebar-user-content .biliplus-ui-sidebar-ul').append('<li class="biliplus-ui-sidebar-li"><a class="biliplus-ui-sidebar-li-a" href="'+history+'">历史记录</a></li>');
        $('.biliplus-ui-sidebar-user-content .biliplus-ui-sidebar-ul').append('<li class="biliplus-ui-sidebar-li"><a class="biliplus-ui-sidebar-li-a" href="'+attention+'">我的关注</a></li>');
        //侧边栏
        css += [
            ".biliplus-ui-sidebar-menu {",
            "  left: 0;",
            "  border-right: 1px solid rgba(0, 0, 0, 0.12);",
            "  z-index: 1200;",
            "}",
            ".biliplus-ui-sidebar-menu-title-content {",
            "  flex-grow: 1;",
            "  align-items: flex-start;",
            "  flex-direction: column;",
            "  justify-content: center;",
            "  padding-left: 24px;",
            "  padding-right: 24px;",
            "  min-height: 64px;",
            "}",
            ".biliplus-ui-sidebar-menu-title {",
            "  display: flex;",
            "  border-bottom: 1px solid rgba(0, 0, 0, 0.12);",
            "  color: #0092f8 !important;",
            "}",
            ".biliplus-ui-sidebar-menu-title-main {",
            "  font-size: 2.3em;",
            "  font-weight: 700;",
            "  line-height: 54px;",
            "}",
        ].join("\n");
        $('.biliplus-ui-sidebar-user').after('<div class="biliplus-ui-sidebar-menu biliplus-ui-sidebar"></div>');
        $('.sidebar').hide();
        //列表
        $('.biliplus-ui-sidebar-menu').append('<a class="biliplus-ui-sidebar-menu-title" href="https://www.biliplus.com/"></a>');
        $('.biliplus-ui-sidebar-menu-title').append('<div class="biliplus-ui-sidebar-menu-title-content biliplus-ui-font"></div>');
        $('.biliplus-ui-sidebar-menu-title-content').append('<div style="padding: 5px 0;"><span class="biliplus-ui-sidebar-menu-title-main">BiliPlus</span></br></div>');
        $('.biliplus-ui-sidebar-menu').append('<ul class="biliplus-ui-sidebar-ul"></ul>');
        var bangumilist=$('.sidebar a:eq(1)').attr('href');
        var about=$('.sidebar a:eq(2)').attr('href');
        var lyb=$('.sidebar a:eq(3)').attr('href');
        var tuocao=$('.sidebar a:eq(4)').attr('href');
        $('.biliplus-ui-sidebar-menu .biliplus-ui-sidebar-ul').append('<li class="biliplus-ui-sidebar-li"><a class="biliplus-ui-sidebar-li-a" href="'+bangumilist+'">番剧更新</a></li>');
        $('.biliplus-ui-sidebar-menu .biliplus-ui-sidebar-ul').append('<li class="biliplus-ui-sidebar-li"><a class="biliplus-ui-sidebar-li-a" href="'+lyb+'">留言板</a></li>');
        $('.biliplus-ui-sidebar-menu .biliplus-ui-sidebar-ul').append('<li class="biliplus-ui-sidebar-li"><a class="biliplus-ui-sidebar-li-a" href="'+tuocao+'">TuCaoHelper</a></li>');
        $('.biliplus-ui-sidebar-menu .biliplus-ui-sidebar-ul').append('<li class="biliplus-ui-sidebar-li"><a class="biliplus-ui-sidebar-li-a" href="'+about+'">关于</a></li>');
        //水波效果
        window.rippler = $.ripple('.biliplus-ui-button:not(.biliplus-ui-avatar-button-big)', {
            multi: true
        });
        window.rippler = $.ripple('.biliplus-ui-sidebar-li', {
            multi: true
        });
        //主体内容
        css += [
            ".biliplus-ui-content {",
            "  margin-bottom: 100px;",
            "  max-width: 900px;",
            "  padding-left: 24px;",
            "  padding-right: 24px;",
            "  padding-top: 80px;",
            "  margin: 0 auto;",
            "  flex: 1 1 100%;",
            "}"
        ].join("\n");
        $('.biliplus-ui-sidebar-menu').after('<div class="biliplus-ui-content"></div>');
        $('.biliplus-ui-content').append($('.content'));
        $('.content').removeClass('content');
        $('body').on('click','.biliplus-ui-content',function(){
            avatarToSmall();
        });
        //搜索
        if(window.location.href!='https://www.biliplus.com/'){
            $('.biliplus-ui-bar-item').before('<div class="biliplus-ui-bar-item"><a tabindex="0" class="biliplus-ui-button"><span class="biliplus-ui-button-icon"><svg class="biliplus-ui-svg" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path></svg></span></a></div>');
        }
        //背景LOGO
        css += [
            ".logo {",
            "  font-family: Verdana;",
            "  font-size: 16em;",
            "  opacity: 0.01;",
            "  position: absolute;",
            "  bottom: 0;",
            "  right: 0;",
            "  font-weight: 700;",
            "  user-select: none;",
            "  pointer-events: none;",
            "}"
        ].join("\n");

        $('body').append('<div class="logo">Bili<sup>+</sup></div>');
        $("head").append ('<link href="https://cdn.bootcss.com/Ripple.js/1.2.1/ripple.min.css" rel="stylesheet">');
        $("<style></style>").text(css).appendTo($("head"));
    }
});
function avatarToSmall(){
    $('.biliplus-ui-avatar').animate({
        top: '0',
        width: '1.5em',
        height: '1.5em',
    },300);
    $('.biliplus-ui-avatar-button-big').animate({
        top: '0',
        width: '48px',
        height: '48px',
    },300,function(){
        $('.biliplus-ui-avatar-button-big').removeClass('biliplus-ui-avatar-button-big');
    });
    $('.biliplus-ui-avatar').removeClass('biliplus-ui-avatar-big');
    $('.biliplus-ui-sidebar-user').removeClass('biliplus-ui-sidebar-user-on');
}