摸鱼给Linuxdo写了个油猴主题

漂亮的很哦,有钱途

66666

:crab: :crab: :cow: :beer:

很好用的脚本。
能将左侧目录固定位置展示吗,有些帖子太多的主题,往回看的时候总是左侧目录会闪一下,然后又回到最上面。不是太方便。
大佬有时间了给帮忙优化下呗。哈哈

而且右侧的小工具“回到顶部”也只是回到当前已刷新页面的顶部,而不是回到论坛顶部页面。

用gpt改了一下,自己挺喜欢的,在最下面的代码可以自定义背景,就是用不了论坛别的自定义主题颜色,暗黑模式也不行,把回到顶部的逻辑改成点击“回到顶部”直接刷新页面回到论坛顶部页面,具体效果看图

// ==UserScript==
// @name         Linux do 主题
// @namespace    hlinux.do
// @version      2024-03-12
// @description  Configure Linux do theme.
// @author       You
// @match        https://linux.do/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @require      https://cdn.staticfile.net/jquery/3.7.1/jquery.min.js
// @grant        GM.xmlHttpRequest
// ==/UserScript==

(async function() {
    'use strict';

    let intervalIndex = setInterval(() => {
        let hasContent = $('#main-outlet-wrapper').html()
        if (hasContent) {
            clearInterval(intervalIndex)

            $('#main-outlet-wrapper').css({
                "margin-top": "30px",
                "border-radius": "20px",
                "background-color": "rgba(255, 255, 255, 0.8)"
            });

            $('.sidebar-wrapper').css({
                "border-radius": "20px",
                "background-color": "rgba(255, 255, 255, 0.8)"
            });

            let btn = $('<button style="display: block; margin-top: 10px; padding: 10px; cursor: pointer;">回到顶部</button>');

btn.on('click', function() {
    // 获取当前URL,并将其格式化以移除 url 中编号后的部分
    let currentUrl = window.location.href;
    let newUrl = currentUrl.replace(/\/\d+([^\/\d]*)$/, '');

    // 重新加载页面
    window.location.href = newUrl;
});

// 修改按钮样式
btn.css({
    backgroundColor: "#333",
    color: "#FFF",
    border: "none",
    padding: "10px 20px",
    margin: "10px",
    borderRadius: "5px",
    cursor: "pointer"
});

// 添加按钮到页面的某个元素
$('.timeline-footer-controls').append(btn);





            $('#main-outlet').css({
                "padding": "20px",
                "border-radius": "20px",
                "box-shadow": "none"
            });

        }
    }, 500);

    function setBodyBackground(imageUrl) {
        $('body').css({
            'background-image': `url(${imageUrl})`,
            'background-repeat': 'no-repeat',
            'background-size': 'cover',
            'background-attachment': 'fixed'
        })
    }

    GM.xmlHttpRequest({
        method: "GET",
        url: "https://global.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&setmkt=en-US",
        onload: function(response) {
            const data = JSON.parse(response.responseText)
            const base = 'https://www.bing.com'
            const imageUrl = 'https://global.bing.com/' + data.images[0].url
            //const imageUrl = "https://s21.ax1x.com/2024/03/09/pFyErOU.png";   //自定义背景,取消注释这行,然后把上面那行注释掉
            setBodyBackground(imageUrl);
        }
    });
})();

3 个赞

感谢佬,有了个护眼主题了,摸鱼就能写出来,着实羡慕啊。

能否设置个到第一页和到最后一页,有时候在中间想拉进度条的时候又拉不到,往下一点又自动切下一页了

佬,你的idea主题写好了吗?等着用呢

安装一个试试


用佬的改了一下真香 :smiling_face_with_three_hearts:

// ==UserScript==
// @name         Linux do Theme (New)
// @namespace    http://tampermonkey.net/
// @version      2024-06-08
// @description  try to take over the world!
// @author       You
// @match        https://linux.do/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        GM_addStyle
// ==/UserScript==

(function() {
    'use strict';

    let css = `
 .topic-map {
     border-radius: 16px !important;
     padding: 8px !important;
     background: rgba(255, 255, 255, 0.6) !important;
     -webkit-backdrop-filter: blur(10px) !important;
     backdrop-filter: blur(10px) !important;

 }

 .d-header {
     background: rgba(255, 255, 255, 0.8) !important;
     -webkit-backdrop-filter: blur(10px) !important;
     backdrop-filter: blur(10px) !important;
 }

 #main-outlet-wrapper {
     margin-top: 30px !important;
     border-radius: 20px !important;
     background-color: rgba(255, 255, 255, 0.8) !important;
 }

 .sidebar-wrapper {
     border-radius: 20px !important;
     background: rgba(255, 255, 255, 0.7) !important;
     -webkit-backdrop-filter: blur(10px) !important;
     backdrop-filter: blur(10px) !important;
     height: calc(var(--composer-vh, var(--1dvh))*100 - var(--header-offset, 0px) - 30px) !important;
 }

 .chat-channel {
     height: calc(var(--chat-vh, 1vh)*100 - var(--header-offset, 0px) - var(--composer-height, 0px) - 1px - var(--chat-header-offset, 0px) - 70px) !important;
 }

 .timeline-handle {
     background-color: var(--tertiary) !important
 }

 #main-outlet {
     padding: 20px !important;
     border-radius: 20px !important;
     box-shadow: none !important;
 }

 .cooked,
 .about .details,
 .user-content {
     padding: 20px !important;
 }

 .select-kit-body,
 .fk-d-menu__inner-content .card-content,
 .chat-drawer-container,
 .search-header,
 .cooked,
 .about .details,
 .user-content,
 #reply-control,
 .chat-channel,
 .badge-card {
     background: rgba(255, 255, 255, 0.6) !important;
     -webkit-backdrop-filter: blur(8px) !important;
     backdrop-filter: blur(8px) !important;
 }

 .no-bg,
 .fk-d-menu__inner-content .card-content,
 .search-header,
 .cooked,
 .about .details,
 .user-content {
     border-radius: 16px !important;
 }

.embedded-posts,
.select-kit-body{
     border-radius: 8px !important;
 }

 .fk-d-menu__inner-content,
 .no-bg,
 .search-header div {
     background: transparent !important;
 }

 .alert.alert-info {
     border-radius: 8px !important;
     background: rgb(200, 225, 235) !important;
 }

 .chat-drawer-container,
 #reply-control,
 .chat-channel {
     overflow: hidden !important;
     border-radius: 8px !important;
 }

 .menu-panel {
     border-radius: 20px !important;
     background: rgba(255, 255, 255, 0.8) !important;
     -webkit-backdrop-filter: blur(10px) !important;
     backdrop-filter: blur(10px) !important;
 }

 .search-menu-panel{
     backdrop-filter: none !important;
 }

 .notification {
     margin: 2px 0px !important;
     border-radius: 8px !important;
 }

 body{
     background-image: url("https://pixiv.re/119236407.png");
     background-repeat: no-repeat;
     background-size: cover;
     background-attachment: fixed
 }
    `




    function listenerChange(selector, fn) {
        const element = document.querySelector(selector);
        if (element) {
            new MutationObserver(() => fn()).observe(element, { subtree: true, characterData: true, childList: true, attributes: true });
        } else {
            console.warn(`元素 ${selector} 不存在`);
        }
    }

    function addGoTopButton(){

        if (!document.querySelector("#go_top_buton")){
            let btn = $('<button id="go_top_buton" class="btn btn-small" style="background-color:var(--tertiary);color:#FFFFFF">回到顶部</button>');

            btn.on('click', function() {
                $('html, body').animate({
                    scrollTop: 0
                }, 500);
            });

            // 添加按钮到页面的某个元素
            $('.timeline-footer-controls').append(btn);
        }
    }

    listenerChange('title', () => addGoTopButton());

    GM_addStyle(css);

})();
2 个赞

偷了

上传到 greasyfork 更好吧,方便更新

刚刚油猴脚本都建好了,然后刷新页面,就闪了一下;后面才发现,我用了暗黑插件 :joy: :joy: :joy:

谢谢分享

牛逼

太花了,看的眼睛疼

搞起

y马上用起来了

大佬牛逼啊