!!本站在以前很长一段时间是由Wordpress+Argon搭建,故保留本文。

这篇文章记录了在使用argon主题过程中使用到的许许多多代码

配置伪静态

设置-固定连接 选择其他非’朴素‘的默认固定链接结构时若提示没有配置伪静态或出现文章页面无法加载时,需要配置伪静态

一下是在Nginx环境下的配置,Apache环境暂无

location /

{

        try_filesuri/ /index.php?$args;

}



rewrite /wp-admin$host$uri/ permanent;

Gravatar评论头像显示

WP主题编辑终找到模板函数 (functions.php)在后面加上如下代码

/*评论头像显示*/

if ( ! function_exists( 'get_cravatar_url' ) ) {

    /**

    *  把Gravatar头像服务替换为Cravatar

    * @param string $url

    * @return string

    */

    function get_cravatar_url( $url ) {

        $sources = array(

            'www.gravatar.com',

            '0.gravatar.com',

            '1.gravatar.com',

            '2.gravatar.com',

            'secure.gravatar.com',

            'cn.gravatar.com'

        );

        return str_replace(url );

    }

    add_filter( 'um_user_avatar_url_filter', 'get_cravatar_url', 1 );

    add_filter( 'bp_gravatar_url', 'get_cravatar_url', 1 );

    add_filter( 'get_avatar_url', 'get_cravatar_url', 1 );

}

指针特效

在页尾插入如下脚本

<!--全页特效开始-->

<script src="https://cdn.jsdelivr.net/gh/huangwb8/bloghelper@latest/js/mobile-detect.js"></script>

<script type="text/javascript">

    // 设备检测

    var md = new MobileDetect(window.navigator.userAgent);

 

    // PC生效,手机/平板不生效

    // md.mobile(); md.phone();

    if(!md.phone()){

        if(!md.tablet()){

            // 雪花

            //$.getScript("https://cdn.jsdelivr.net/gh/huangwb8/bloghelper@latest/js/xiaxue.js");

 

            // 樱花

            // $.getScript("https://cdn.jsdelivr.net/gh/huangwb8/bloghelper@latest/js/yinghua.js");

 

            // 小烟花特效

             $.getScript("https://cdn.jsdelivr.net/gh/huangwb8/bloghelper@latest/js/mouse-click.js");

 

            // 大烟花特效

            //$.getScript("https://cdn.jsdelivr.net/gh/huangwb8/bloghelper@latest/mouse/mouse-click-02/mouse-canvas.js");

            document.write('<style>#mouse-canvas {z-index:217483647; pointer-events: none;  box-sizing: border-box !important; display: block !important; position: fixed !important; left: 0; right: 0; top: 0; bottom: 0; width: 100%; height: 100vh;}</style>')



            // 鼠标移动的仙女棒特效。

       $.getScript("https://cdn.jsdelivr.net/gh/huangwb8/bloghelper@latest/mouse/halo-dream/fairyDustCursor.min.js");

 

        }  

    }

</script>

<!--全页特效结束-->

Aplayer音乐播放器

在页尾插入如下脚本

引用三个文件APlayer.min.js  APlayer.min.css  Meting.min.js实现

<!--播放器-->

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.css">

<script src="https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.js"></script>

<script src="https://cdn.jsdelivr.net/npm/meting@2.0.1/dist/Meting.min.js"></script>

<meting-js

       server="netease"

       type="playlist"

       id="13131153981"

       fixed="true"

       mini="true"

       order="random"

       loop="all"

       preload="auto"

       list-folded="false">

</meting-js>

内容参数(详情见官方文档

名称

默认值

描述

container

document.querySelector('.aplayer')

播放器容器元素

fixed

false

开启吸底模式

mini

false

开启迷你模式

autoplay

false

音频自动播放

theme

'#b7daff'

主题色

loop

'all'

音频循环播放, 可选值: 'all', 'one', 'none'

order

'list'

音频循环顺序, 可选值: 'list', 'random'

preload

'auto'

预加载,可选值: 'none', 'metadata', 'auto'

volume

0.7

默认音量,请注意播放器会记忆用户设置,用户手动设置音量后默认音量即失效

audio

-

音频信息, 应该是一个对象或对象数组

audio.name

-

音频名称

audio.artist

-

音频艺术家

audio.url

-

音频链接

audio.cover

-

音频封面

audio.lrc

-

详情

audio.theme

-

切换到此音频时的主题色,比上面的 theme 优先级高

audio.type

'auto'

可选值: 'auto', 'hls', 'normal' 或其他自定义类型

customAudioType

-

自定义类型

mutex

true

互斥,阻止多个播放器同时播放,当前播放器播放时暂停其他播放器

lrcType

0

歌词模式

listFolded

false

列表默认折叠

listMaxHeight

-

列表最大高度

storageName

'aplayer-setting'

存储播放器设置的 localStorage key

运行时间

显示代码

       <!-- 运行时间 -->

    <div class="github-badge-big">

        <span class="badge-subject"><i class="fa fa-clock-o"></i> 小站勉强运行</span><span

            class="badge-value bg-apricots"><span id="blog_running_days" class="odometer odometer-auto-theme"></span>天

            <span id="blog_running_hours" class="odometer odometer-auto-theme"></span> 小时

            <span id="blog_running_mins" class="odometer odometer-auto-theme"></span> 分钟

            <span id="blog_running_secs" class="odometer odometer-auto-theme"></span>秒

        </span>

时间计算

<script no-pjax="">

var blog_running_days = document.getElementById("blog_running_days");

var blog_running_hours = document.getElementById("blog_running_hours");

var blog_running_mins = document.getElementById("blog_running_mins");

var blog_running_secs = document.getElementById("blog_running_secs");

function refresh_blog_running_time() {

var time = new Date() - new Date(2025, 0, 12, 15, 0, 0); /*此处日期的月份改为自己真正月份的前一个月*/

var d = parseInt(time / 24 / 60 / 60 / 1000);

var h = parseInt((time % (24  60  60 * 1000)) / 60 / 60 / 1000);

var m = parseInt((time % (60  60  1000)) / 60 / 1000);

var s = parseInt((time % (60 * 1000)) / 1000);

blog_running_days.innerHTML = d;

blog_running_hours.innerHTML = h;

blog_running_mins.innerHTML = m;

blog_running_secs.innerHTML = s;

}

refresh_blog_running_time();

if (typeof bottomTimeIntervalHasSet == "undefined") {

var bottomTimeIntervalHasSet = true;

setInterval(function () {

refresh_blog_running_time();

}, 500);

}

</script>

额外css

样板来自Echo

/*=========字体设置============*/

 
s
/*网站字体*/

/*原则上你可以设置多个字体,然后在不同的部位使用不同的字体。*/

@font-face{

    font-family:btfFont;

    src:

    url(https://cdn.jsdelivr.net/gh/huangwb8/bloghelper@latest/fonts/13.woff2) format('woff2')

}

body{

    font-family:"btfFont" !important

}

 



/*设置加粗字体颜色*/

strong {

    /*白天*/

    color: #A7727D;

}

html.darkmode strong {

    /*夜晚*/

    color: #FAAB78;

}

 

/*说说预览模式的代码字体颜色*/

pre {

    /*白天*/

    color: #A7727D;

}

html.darkmode pre {

    /*夜晚*/

    color: #FAAB78;

}

 

/*横幅字体大小*/

.banner-title {

  font-size: 2.5em;

}

.banner-subtitle{

  font-size: 20px;

}

 

/*文章标题字体大小*/

.post-title {

    font-size: 30px

}

 

/*正文字体大小(不包含代码)*/

.post-content p{

    font-size: 1.25rem;

}

li{

    font-size: 1.2rem;

}

 

/*评论区字体大小*/

p {

    font-size: 1.2rem

}

 

/*评论发送区字体大小*/

.form-control{

    font-size: 1.2rem

}

 

/*评论勾选项目字体大小*/

.custom-checkbox .custom-control-input~.custom-control-label{

    font-size: 1.2rem

}

/*评论区代码的强调色*/

code {

  color: rgba(var(--themecolor-rgbstr));

}

 

/*说说字体大小和颜色设置*/

.shuoshuo-title {

    font-size: 25px;

/*  color: rgba(var(--themecolor-rgbstr)); */

}

 

/*尾注字体大小*/

.additional-content-after-post{

    font-size: 1.2rem

}

 

/*========颜色设置===========*/

 

/*文章或页面的正文颜色*/

body{

    color:#364863

}

 

/*引文属性设置*/

blockquote {

    /*添加弱主题色为背景色*/

    background: rgba(var(--themecolor-rgbstr), 0.1) !important;

    width: 100%

}

 

/*引文颜色 建议用主题色*/

:root {

    /*也可以用类似于--color-border-on-foreground-deeper: #009688;这样的命令*/

    --color-border-on-foreground-deeper: rgba(var(--themecolor-rgbstr));

}

 

/*左侧菜单栏突出颜色修改*/

.leftbar-menu-item > a:hover, .leftbar-menu-item.current > a{

    background-color: #f9f9f980;

}

 

/*站点概览分隔线颜色修改*/

.site-state-item{

    border-left: 1px solid #aaa;

}

.site-friend-links-title {

    border-top: 1px dotted #aaa;

}

#leftbar_tab_tools ul li {

    padding-top: 3px;

    padding-bottom: 3px;

    border-bottom:none;

}

html.darkmode #leftbar_tab_tools ul li {

    border-bottom:none;

}

 

/*左侧栏搜索框的颜色*/

button#leftbar_search_container {

    background-color: transparent;

}

 

/*========透明设置===========*/

 

/*白天卡片背景透明*/

.card{

    background-color:rgba(255, 255, 255, 0.85) !important;

    /*backdrop-filter:blur(6px);*//*毛玻璃效果主要属性*/

    -webkit-backdrop-filter:blur(6px);

}

 

/*小工具栏背景完全透明*/

/*小工具栏是card的子元素,如果用同一个透明度会叠加变色,故改为完全透明*/

.card .widget,.darkmode .card .widget,#post_content > div > div > div.argon-timeline-card.card.bg-gradient-secondary.archive-timeline-title{

    background-color:#ffffff00 !important;

    backdrop-filter:none;

    -webkit-backdrop-filter:none;

}

.emotion-keyboard,#fabtn_blog_settings_popup{

    background-color:rgba(255, 255, 255, 0.95) !important;

}

 

/*分类卡片透明*/

.bg-gradient-secondary{

    background:rgba(255, 255, 255, 0.1) !important;

    backdrop-filter: blur(10px);

    -webkit-backdrop-filter:blur(10px);

}

 

/*夜间透明*/

html.darkmode.bg-white,html.darkmode .card,html.darkmode #footer{

    background:rgba(66, 66, 66, 0.9) !important;

}

html.darkmode #fabtn_blog_settings_popup{

    background:rgba(66, 66, 66, 0.95) !important;

}

 

/*标签背景

.post-meta-detail-tag {

    background:rgba(255, 255, 255, 0.5)!important;

}*/

 

 

/*========排版设置===========*/

 

/*左侧栏层级置于上层*/

#leftbar_part1 {

    z-index: 1;

}

 

/*分类卡片文本居中*/

#content > div.page-information-card-container > div > div{

    text-align:center;

}

 

/*子菜单对齐及样式调整*/

.dropdown-menu .dropdown-item>i{

    width: 10px;

}

.dropdown-menu>a {

    color:var(--themecolor);

}

.dropdown-menu{

    min-width:max-content;

}

.dropdown-menu .dropdown-item {

    padding: .5rem 1.5rem 0.5rem 1rem;

}

.leftbar-menu-subitem{

    min-width:max-content;

}

.leftbar-menu-subitem .leftbar-menu-item>a{

    padding: 0rem 1.5rem 0rem 1rem;

}

 

/*左侧栏边距修改*/

.tab-content{

    padding:10px 0px 0px 0px !important;

}

.site-author-links{

    padding:0px 0px 0px 10px ;

}

/*目录位置偏移修改*/

#leftbar_catalog{

    margin-left: 0px;

}

/*目录条目边距修改*/

#leftbar_catalog .index-link{

    padding: 4px 4px 4px 4px;

}

/*左侧栏小工具栏字体缩小*/

#leftbar_tab_tools{

    font-size: 14px;

}

 

/*正文图片边距修改*/

article figure {margin:0;}

/*正文图片居中显示*/

.fancybox-wrapper {

    margin: auto;

}

/*正文表格样式修改*/

article table > tbody > tr > td,

article table > tbody > tr > th,

article table > tfoot > tr > td,

article table > tfoot > tr > th,

article table > thead > tr > td,

article table > thead > tr > th{

    padding: 8px 10px;

    border: 1px solid;

}

/*表格居中样式*/

.wp-block-table.aligncenter{margin:10px auto;}

 

/*回顶图标放大*/

button#fabtn_back_to_top, button#fabtn_go_to_comment, button#fabtn_toggle_blog_settings_popup, button#fabtn_toggle_sides, button#fabtn_open_sidebar{

    font-size: 1.2rem;

}

 

/*顶栏菜单*/

/*这里也可以设置刚刚我们设置的btfFont字体。试试看!*/

.navbar-nav .nav-link {

    font-size: 1.2rem;

    font-family: 'btfFont';

}

.nav-link-inner--text {

    /*顶栏菜单字体大小*/

    font-size: 1.2rem;

}

.navbar-nav .nav-item {

    margin-right:0;

}

.mr-lg-5, .mx-lg-5 {

    margin-right:1rem !important;

}

.navbar-toggler-icon {

    width: 1.5rem;

    height: 1.5rem;

}

.navbar-expand-lg .navbar-nav .nav-link {

    padding-right: 0.9rem;

    padding-left: 1rem;

}

 

/*顶栏图标*/

.navbar-brand {

    font-family: 'Noto Serif SC',serif;

    font-size: 1.25rem;

    /*顶栏图标边界微调*/

    margin-right: 0rem; /*左右偏移*/

    padding-bottom: 0.3rem;

}

.navbar-brand img {

  /* 图片高度*/

    height: 24px;

}

 

/*隐藏wp-SEO插件带来的线条阴影(不一定要装)*/

*[style='position: relative; z-index: 99998;'] {

    display: none;

}

 

/*头像调大*/

#leftbar_overview_author_image{

  width: 160px !important;

  height: 160px !important;

}

文内外跳转 (文章锚点)

理论适用于h1-h6标签 仅适用于Argon

添加至footer.php即可:来自Bensz

<!-- 标题自动锚点: Start -->

<script>

window.addEventListener('load', function() {

    // 构建标题文本与 Argon ID 的映射表

    const headers = document.querySelectorAll('h1[id], h2[id], h3[id], h4[id], h5[id], h6[id]');

    const textToIdMap = new Map();

    headers.forEach(header => {

        const id = header.id;

        const text = header.textContent.trim();

        textToIdMap.set(text, id); // 标题文本 -> ID 映射

    });

 

    // 替换页面中的基于文本的锚点链接

    const links = document.querySelectorAll('a[href^="#"]');

    links.forEach(link => {

        const targetText = decodeURIComponent(link.getAttribute('href').slice(1)); // 获取锚点文本

        if (textToIdMap.has(targetText)) {

            link.setAttribute('href', #${textToIdMap.get(targetText)}); // 替换为 Argon 的 ID

        }

    });

 

    //文外跳转

    if (window.location.hash) {

        const hash = window.location.hash.slice(1);  // 去掉 #

        let targetElement;

        // 优先检查哈希值是否是一个有效的 ID

        targetElement = document.getElementById(hash);

        if (!targetElement) {

            // 如果哈希值是标题文本,检查映射表

            const decodedHash = decodeURIComponent(hash);  // 解码哈希值

            if (textToIdMap.has(decodedHash)) {

                const targetId = textToIdMap.get(decodedHash);  // 获取对应的 ID

                targetElement = document.getElementById(targetId);  // 查找对应 ID 的元素

            }

             // 替换图片的 src 属性

            const lazyImages = document.querySelectorAll('img.lazyload[data-original]');

            lazyImages.forEach(img => {

                img.src = img.getAttribute('data-original'); // 直接替换为真正的图片链接

            });

        }

        // 如果找到了目标元素,滚动到该元素

        if (targetElement) {

            targetElement.scrollIntoView({ behavior: 'smooth', block: 'start' });

        }

    }

});

</script>

<!-- 标题自动锚点: End -->