导航页edit icon

作者:
藤原
Fork(复制)
下载
嵌入
设置
BUG反馈
index.html
现在支持上传本地图片了!
            
            
<!DOCTYPE html>
<!-- 使用本站代码请注明出处。 by: siitake.cn -->
<html lang="zh">
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <meta name="referrer" content="never">
  <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0">
  <meta name="format-detection" content="telephone=no">
  <meta name="mobile-web-app-capable" content="yes">
  <meta name="description" content="香菇的不知道有什么用的网站">
  <meta name="keywords" content="香菇社长,香菇,香菇大盗,siitake,kinoko">
  <link rel="icon" href=".https://siitake.cn/src/favicon.png">
  <link rel="apple-touch-icon" href=".https://siitake.cn/src/favicon.png"/>
  <title>香菇备忘录 Plus</title>
  <style>
    * { margin: 0; padding: 0; font-family: Arial, sans-serif; }
    html { height: 100vh; }
    body { font-size: 1em; }
    .main { margin-top: 35vh; margin-left: calc((100vw - 320px) / 3); transition: margin .5s, opacity .5s; }
    .m-hidden { opacity: 0; }
    .logo { width: 150px; height: 50px; background-color: black; border-radius: 3px; }
    .logo::before { content: "SIITAKE"; position: relative; font-size: 36px; line-height: 50px; top: 0; left: -2px; color: white; }
    .logo::after { content: ""; display: block; opacity: 0; transition: opacity .5s; position: relative; width: 100px; height: 55px; top: -99px; left: -4px; background-image: url('https://siitake.cn/src/xiaobing.gif'); background-size: cover; }
    .logo:hover::after { opacity: 1; }
    .desc { margin: 15px 0; color: black; font-size: 16px; line-height:20px; }
    .nav { text-align: center; font-size: 14px; text-align: left; }
    .nav ul { list-style: none; }
    .nav li { display: inline-block; margin-right: 5px; }
    .nav a { color: black; transition: color .5s; }
    .nav a:hover { color: gray; }
    .nav section li a { text-decoration: none; }
    .footer{ width: 100vw; height: 100px; position: fixed; bottom: 0; text-align: center; color: whitesmoke; transition: color .5s; }
    .footer:hover { color: gray; }
    .icp { font-size: 10px; line-height: 100px; }
    .antiselect { user-select: none; -ms-user-select: none; -moz-user-select: none; -webkit-user-select: none; }
    
    .link { position: fixed; top: 0; left: 0; width: calc(100vw - 40px); height: calc(100vh - 40px); background-color: rgba(255, 255, 255, .5); padding: 20px; overflow-y: scroll; transition: opacity .5s, top .5s; -webkit-overflow-scrolling: touch; }
    .l-back { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: whitesmoke; background-size: cover; background-position: center; filter: blur(100px); opacity: 1; transition: background .25s, opacity .5s, top .5s; }
    .l-hidden { top: 100vh; opacity: 0; }
    .l-search-form { position: relative; width: 100%; padding: 0; transition: padding .5s; }
    .l-search-form #search { display: block; width: calc(100vw - 40px); max-width: 800px; margin: auto; height: 0; border: none; border-radius: 25px; text-align: center; font-size: 12px; line-height: 50px; background-color: rgba(255, 255, 255, .6); box-shadow: 0 0 3px rgba(155, 155, 155, .6); transition: height .5s, font-size .5s; }
    .l-search-form #search:focus { border-radius: 25px; border-color: rgba(66, 204, 255, 0.8); outline: 0; outline: thin dotted \9; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(66, 204, 255, 0.6); }
    .l-close, .l-search { position: fixed; top: 20px; width: 40px; height: 40px; z-index: 9999; filter: grayscale(100%); transition: filter .3s; }
    .l-close { right: 20px; }
    .l-close:hover, .l-search:hover { filter: grayscale(0%); }
    .lc-1, .lc-2 { display: block; position: absolute; top: 15px; left: 0px;  width: 40px; height: 10px; background-color: #FF6666; border-radius: 3px; transition: background .5s; }
    .lc-1 { transform: rotate(45deg); }
    .lc-2 { transform: rotate(-45deg); }
    .l-search { right: 80px; }
    .ls-1, .ls-2 { display: block; position: absolute; transition: background .5s; }
    .ls-1 { width: 10px; height: 10px; top: 2px; left: 2px; border: 10px solid #66CCFF; border-radius: 20px; }
    .ls-2 { width: 20px; height: 10px; right: 2px; bottom: 7px; background: #66CCFF; transform: rotate(45deg); border-radius: 3px; }
    .l-group { width: 100%; }
    .l-title { margin: 20px; }
    .l-box { width: 100%; }
    .l-box:before, .l-box:after { content: ''; display: table; }
    .l-box:after { clear: both; }
    .l-item { position: relative; float: left; width: calc(10% - 40px); height: 64px; padding: 10px; margin: 10px; border-radius: 15px; transition: background .5s; }
    .l-item:hover { background-color: rgba(255, 255, 255, .3); box-shadow: 0 0 3px rgba(155, 155, 155, .6); }
    .li-logo { display: inline-block; float: left; width: 64px; height: 64px; background-color: white; background-size: cover; background-position: center; border-radius: 32px; transition: transform .5s, border-radius .5s, box-shadow .5s; }
    .l-item:hover .li-logo { transform: rotate(0deg); border-radius: 32px; box-shadow: 0 0 3px rgba(155, 155, 155, .6); animation: liLogoShake 1.5s infinite ease; }
    .l-item h2, .l-item span { margin-left: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .l-item h2 { display: inline-block; float: left; width: calc(100% - 70px); height: 38px; line-height: 38px; font-size: 22px; font-weight: normal; }
    .l-item span { display: inline-block; float: left; max-width: calc(100% - 70px); }
    .l-icon { padding-left: 20px; background-size: auto 90%; background-repeat: no-repeat; background-position:left; }
    
    .qrCode { display: none; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background-color: rgba(0, 0, 0, .9); }
    .qrCode #qrImg { display: block; width: 260px; height: 260px; background-color: white; border: 15px solid white; border-radius: 10px; margin-top: calc(40vh - 130px); margin-left: auto; margin-right: auto; }
    .qrCode p { display: block; width: 360px; margin: 20px auto; font-size: 20px; color: white; text-align: center; }
    .qrCode span { font-size: 12px; line-height: 20px; color: whitesmoke; text-align: center; }
    
    #maomao {position: fixed; bottom: 40px; right: -5px; width: 57px; height: 70px; background-image: url(https://siitake.cn/src/mao.svg); background-position: center; background-size: cover; background-repeat: no-repeat; transition: background .3s;}
    #maomao:hover {background-position: 60px 50%;}

    @media only screen and (min-width:767px) {
      #link::-webkit-scrollbar-track-piece{ background: rgba(115, 115, 115, 0); }
      #link::-webkit-scrollbar{ width: 6px; height: 6px; }
      #link::-webkit-scrollbar-thumb{ height: 40px; border-radius: 4px; background-color: #A5A5A5; }
      #link::-webkit-scrollbar-thumb:hover{ background-color: #66CCFF; }
    }

    @media screen and (max-width: 3455px) { .l-item { width: calc(11.11% - 40px); } }
    @media screen and (max-width: 3071px) { .l-item { width: calc(12.5% - 40px); } }
    @media screen and (max-width: 2687px) { .l-item { width: calc(14.28% - 40px); } }
    @media screen and (max-width: 2303px) { .l-item { width: calc(16.66% - 40px); } }
    @media screen and (max-width: 1919px) { .l-item { width: calc(20% - 40px); } }
    @media screen and (max-width: 1535px) { .l-item { width: calc(25% - 40px); } }
    @media screen and (max-width: 1151px) { .l-item { width: calc(33.33% - 40px); } }
    @media screen and (max-width: 767px) { .l-item { width: calc(50% - 40px); } }
    @media screen and (max-width: 512px) { .l-item { width: calc(100% - 40px); } }
    
    @keyframes liLogoShake {
      0% { transform: rotate(0deg); }
      20% { transform: rotate(7deg); }
      60% { transform: rotate(-7deg); }
      80% { transform: rotate(0deg); }
      100% { transform: rotate(0deg); }
    }
  </style>
</head>
<body class="antiselect">
  <div class="main" id="main">
    <div class="logo" onmouseover="plaaaay('miao')"></div>
    <div class="desc">
      <p>PUTONG DE SIITAKE, MODEI FEELING.</p>
    </div>
    <ul class="nav">
      <!--li><a target="_blank" href="https://blog.siitake.cn">BLOG</a></li-->
      <li><a href="javascript:;" style="color: black;" onclick="swLinks(1)">LET'S GO!</a></li>
      <section style="margin: 10px 0;">
          <li><a target="_blank" href="http://beian.miit.gov.cn">京ICP备XXXXXXXX号-1</a></li>
      </section>
    </ul>
  </div>
  <div class="l-back l-hidden" id="l-back"></div>
  <div class="link l-hidden" id="link">
    <div class="l-search-form">
        <input type="text" id="search" name="search" placeholder="搜索本站 or 搜狗[↲] B站[↓]" />
    </div>
    <div class="l-close" onclick="swLinks(0);">
      <span class="lc-1"></span>
      <span class="lc-2"></span>
    </div>
    <div class="l-search" id="l-search" onclick="showSearch()">
      <span class="ls-1"></span>
      <span class="ls-2"></span>
    </div>
  </div>
  <div id="qrCode" class="qrCode" onclick="hideQr()">
    <section id="qrImg">
      <img src="https://siitake.cn/src/qrcode.png" title="qrCode"/>
    </section>
    <p id="qrDesc" title="请扫码"></p>
  </div>
  <div style="display: none;">
    <!-- 没错!就是你!准备好了吗? ///// 【泠鸢】交织together【单人版】 ///// https://www.bilibili.com/video/av15770997 -->
    <audio id="ruready" src="https://siitake.cn/src/are_you_ready.ogg" preload="auto">您的浏览器可能不支持音频标签。</audio>
    <!-- 喵~ ///// 点击领取你的猫娘女友!总有一款适合你!~ ///// https://www.bilibili.com/video/av55305494 -->
    <audio id="miao" src="https://siitake.cn/src/miao_cocoa.ogg" preload="auto">您的浏览器可能不支持音频标签。</audio>
  </div>
  <div id="maomao" onMouseOut="duoMaomao()"></div>
<script src="https://siitake.cn/src/jquery.min.js"></script>
<script src="https://siitake.cn/src/qrcode.js"></script>
<script>
  var plaaaay = function(id) {
    $('#' + id)[0].play();
  }
  var swLinks = function(st, play = true) {
    if(st == 1) {
      $('#link').removeClass('l-hidden');
      $('#l-back').removeClass('l-hidden');
      $('#main').addClass('m-hidden');
      if(play) {
        plaaaay('ruready');
      }
    } else if(st == 0) {
      $('#link').addClass('l-hidden');
      $('#l-back').addClass('l-hidden');
      $('#main').removeClass('m-hidden');
    }
  }
  var getLinks = function(url, keywords = false) {
    var isSearch = keywords ? true : false;
    var t = Date.parse(new Date()).toString().substr(0, 8);
    $.getJSON(url, {t: t}, function(result) {
      $.each(result, function(i, obj) {
        $.each(obj, function(n, links) {
          var countSearchResult = 0;
          var l_group = $('<div class="l-group"></div>');
          var l_title = $('<div class="l-title"><h1>' + n + '</h1></div>');
          l_group.append(l_title);
          var is404 = n == '404 (╯‵□′)╯︵┻━┻' ? true : false;
          var msg404 = '经查此站点访问异常或取消了本站链接,已关“小黑屋”,择日清理。';
          var l_box = $('<div class="l-box"></div>');
          //links.sort(function(){ return 0.5 - Math.random() }); //random
          $.each(links, function(j, link) {
            var isShow = true;
            if(isSearch) {
              var beSearchStr = link.name + link.href + link.desc;
              isShow = (beSearchStr.search(keywords) >= 0);
            }
            var lil_url = link.logo != null ? link.logo : 'https://siitake.cn/src/loading.svg';
            var lid_text = link.desc != null ? link.desc : '暂无描述 ┑( ̄Д  ̄)┍';
            var l_item = $('<div class="l-item"></div>');
            l_item.attr("title", '✦ ' + link.name + '\n✧ ' + lid_text + [is404 ? '' : '\n✧ ' + link.href]);
            l_item.bind('click', function(){
              if(link.func) {
                var func = new Function('n,h,d,l', link.func);
                func(link.name,link.href,link.desc,link.logo);
              }else{
                if(is404) {
                  createPopup(msg404);
                }else{
                  window.open(link.href + (link.noUtm === undefined ? '?utm_source=siitake.cn' : ''));
                }
              }
            }).bind("contextmenu", function () {
              if(is404) {
                createPopup(msg404);
              }else{
                showQr(link.href + (link.noUtm === undefined ? '?qrCode=siitake.cn' : ''), link.name + '<br><span>' + lid_text + '</span>', lil_url);
              }
              return false;
            });
            var li_logo = $('<div class="li-logo"></div>');
            li_logo.css('background-image', 'url(' + lil_url + ')');
            l_item.append(li_logo);
            var li_name = $('<h2>' + link.name + '</h2>');
            l_item.append(li_name);
            var li_desc = $('<span>' + lid_text + '</span>');
            l_item.append(li_desc);
            l_item.bind('mouseover', function(){
              $('.l-back').css('background-image', 'url(' + lil_url + ')');
            });
            if(isShow) {
              countSearchResult += 1;
              l_box.append(l_item);
            }
          });
          l_group.append(l_box);
          if(countSearchResult > 0) {
            $('#link').append(l_group);
          }
        });
      });
    });
  }
  var randomNum = function(minNum, maxNum) {
    switch(arguments.length){
      case 1:
        return parseInt(Math.random() * minNum + 1, 10);
        break;
      case 2:
        return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10);
        break;
      default:
        return 0;
        break;
    }
  }
  var showQr = function(url, txt, logo) {
      var qrnode = new AraleQRCode({
        render: 'canvas',
        correctLevel: 2,
        text: url,
        size: 260,
        background: '#fff',
        foreground: '#000',
        pdground: '#f33',
        image : logo,
        imageSize : 32
      });
      $('#qrImg').html(qrnode);
      $('#qrCode').css('display', 'block');
      $('#qrDesc').html(txt);
  }
  var hideQr = function(url) {
      $('#qrCode').css('display', 'none');
  }
  //躲猫猫的「猫猫」形象出自游戏「Don't catch Cats」(https://apps.apple.com/app/dont-catch-cats/id1375311035)。
  var duoMaomao = function() {
    var maomao = $('#maomao');
    maomao.css('bottom', randomNum(5, 80) + 'vh');
  }
  var linkCache;
  var showSearch = function() {
      $('#search').css('height', '50px').css('font-size', '22px');
      $('#search').parent().css('padding', '50px 0 20px 0');
      $('#l-search').attr('onclick', 'hideSearch()');
      linkCache = $('.l-group');
  }
  var hideSearch = function() {
      $('#search').removeAttr('style');
      $('#search').parent().removeAttr('style');
      $('#l-search').attr('onclick', 'showSearch()');
      $('.l-group').detach();
      $('#search').val('');
      $('#link').append(linkCache);
  }
  var doSearch = function() {
      var keywords = $('#search').val();
      $('.l-group').detach();
      getLinks('https://siitake.cn/links.json?250313', keywords);
  }
  function createPopup(htmlStr) {
    // 创建遮罩层
    const overlay = document.createElement("div");
    overlay.classList.add("overlay");
    overlay.style.position = "fixed";
    overlay.style.top = "0";
    overlay.style.left = "0";
    overlay.style.width = "100%";
    overlay.style.height = "100%";
    overlay.style.backgroundColor = "rgba(0, 0, 0, 0.8)";
    overlay.style.opacity = "0";
    overlay.style.transition = "opacity 0.3s ease";
    // 创建弹窗
    const popup = document.createElement("div");
    popup.classList.add("popup");
    popup.style.position = "fixed";
    popup.style.top = "40%";
    popup.style.left = "50%";
    popup.style.transform = "translate(-50%, -50%)";
    popup.style.width = "80vw";
    popup.style.maxWidth = "320px";
    // popup.style.height = "240px";
    popup.style.backgroundColor = "#fff";
    popup.style.borderRadius = "8px";
    popup.style.boxShadow = "0 4px 12px rgba(0, 0, 0, 0.2)";
    popup.style.opacity = "0";
    popup.style.transition = "opacity 0.3s ease, transform 0.3s ease";
    // 添加关闭按钮
    const closeButton = document.createElement("button");
    closeButton.textContent = "关闭";
    closeButton.style.position = "absolute";
    closeButton.style.bottom = "10px";
    closeButton.style.right = "20px";
    closeButton.style.padding = "5px 10px";
    closeButton.style.border = "none";
    closeButton.style.background = "red";
    closeButton.style.color = "#fff";
    closeButton.style.borderRadius = "4px";
    closeButton.style.cursor = "pointer";
    closeButton.onclick = () => closePopup(popup, overlay);
    // 添加内容
    const content = document.createElement("div");
    content.style.padding = "20px 20px 40px 20px";
    content.innerHTML = htmlStr;
    // 将关闭按钮和内容添加到弹窗
    popup.appendChild(closeButton);
    popup.appendChild(content);
    // 将遮罩和弹窗添加到body
    document.body.appendChild(overlay);
    document.body.appendChild(popup);
    // 动画效果:渐显
    setTimeout(() => {
      overlay.style.opacity = "1";
      popup.style.opacity = "1";
      popup.style.transform = "translate(-50%, -50%) scale(1)";
    }, 10);
  }
  function closePopup(popup, overlay) {
    // 动画效果:渐隐
    overlay.style.opacity = "0";
    popup.style.opacity = "0";
    popup.style.transform = "translate(-50%, -50%) scale(0.8)";
    // 动画结束后移除DOM
    setTimeout(() => {
      document.body.removeChild(popup);
      document.body.removeChild(overlay);
    }, 300);
  }
  $(function(){
    getLinks('https://siitake.cn/links.json');
    if(location.hash == '#link' || location.hash == '#search') {
      swLinks(1, false);
      if(location.hash == '#search') {
        setTimeout('showSearch()', 520);
      }
    }
    var doSearchTimeOut = null;
    $('#search').bind('input propertychange',function() {
      clearTimeout(doSearchTimeOut);
      doSearchTimeOut = setTimeout('doSearch()', 500);
    }).keydown(function(event){
      var keywords = $.trim($('#search').val());
      if(keywords != '') {
        switch(event.keyCode){
          case 13:
            location.href = 'https://www.sogou.com/web?ie=UTF-8&query=' + encodeURI(keywords);
            break;
          case 40:
            location.href = 'https://search.bilibili.com/all?keyword=' + encodeURI(keywords);
            break;
          case 38:
            location.href = 'http://' + keywords;
            break;
          default:
            //console.log(event.keyCode);
        }  
      }
    });
  });
  var infos = [
    ["padding: 10px 10px 10px 0px; font-size: 16px; color: #000;", "%c欢迎访问香菇的主页(●ˇ∀ˇ●)"],
    ["padding: 10px 10px 10px 0px; font-size: 12px; color: #080;", "%c您可以添加Hash直达下列功能:\n链接:https://siitake.cn/#link\n搜索:https://siitake.cn/#search"],
    ["padding: 10px 10px 10px 0px; font-size: 12px; color: #00A;", "%c源码:https://github.com/siitakechan/siitake-home"],
    ["padding: 10px 10px 10px 0px; font-size: 12px; color: #900;", "%c忘了哪年3月29日更新:调整背景层及部分样式,修复部分浏览器鼠标指针在空白位置时滚轮翻页无效的问题。"],
    ["padding: 10px 10px 10px 0px; font-size: 12px; color: #900;", "%c2025年3月13日更新:BAN掉了404小黑屋的链接和二维码,用AI写了Popup替换原有alert弹窗。"]
  ];
  infos.forEach(function(info){ console.info(info[1], info[0]); });
</script>
</body>
</html>
        
预览
控制台