博客配置
静态博客
00|前排提示
静态博客好,问题真不少。
常见静态站点生成器有Hexo(JS)、Hugo(golang)、Jekyll(Ruby),其中Hexo最常见、主题和插件都十分丰富;Jekyll是GitHub使用的站点生成器,另有Docusaurus(JS)、zola(Rust)等。
01|静态站点原理
当前静态站点依赖于git仓库服务。在本地通过静态站点生成器解析标记语言写作的文档,生成站点的html、css和js文件。将生成的文件结构部署在网络中的git仓库服务,通过git仓库提供的Pages(页面)服务使用户直接访问到部署的站点文件,形成静态站点。
常用的git仓库服务有GitHub、GitLab、Coding、Gitee等,但Gitee的页面服务受限,通常不做考虑;常用的标记语言有markdown、RST等。本文使用最常用的GitHub+markdown组合。由于最新版Typora(1.0+)已经收费,推荐使用VSCode插件进行markdown书写。
02|Hexo
Hexo是nodejs的一个发行包,使用需要相应环境,参考另一篇进行配置还没填坑,这里默认读者已经配置好环境。
Hexo:6.0.0
nodejs:14.16.1 pnpm:7.1.7
安装配置
使用pnpm安装,看到输出hexo版本就是成功,Windows下可能禁止了powershell脚本执行,需要在“设置-开发者选项”打开或切换为cmd执行。
pnpm install hexo
hexo v
hexo init {blog_folder_name}
cd {blog_folder_name}
pnpm install
Hexo创建的站点目录结构如下
├── _config.yml #hexo的配置文件
├── node_modules #nodejs组件库
├── package.json #npm的包管理文件
├── scaffolds #hexo的模板文件,依靠这里识别并生成站点
├── public #生成的静态文件存放地方,可以提交到GitHub
├── source #博客源文件目录,推荐使用markdown文件编写
|   └── _posts #站点文件主目录,一般文章保存在这里
├── _config.{theme_name}.yml #主题的配置文件
└── themes #主题目录,下载的主题文件夹放在这里
一般只需要修改hexo配置文件、主题配置文件和站点主目录,即可完成站点的生成和发布。这里使用的是我修改后的hexo-theme-frame,可以在LiteTools文件夹下找到。
Hexo配置文件参考, 详细可以参看官方文档
title: {your_site_title}
subtitle: ''
description: ''
keywords:
author: Kyana
language: zh
url: {your_site_permanent_link} #一定要设置,不然会无法应用CSS和JS
permalink: blogs/:name.html #每个文章永久链接形式
permalink_defaults:
pretty_urls:
  trailing_index: false #是否显示index
  trailing_html: false #是否显示.html
theme: frame #使用什么主题
#这一块参看官方文档,一般不建议动
source_dir: source
public_dir: public
tag_dir: tags
archive_dir: archives
i18n_dir: :lang
code_dir: downloads/code
skip_render:
new_post_name: :title.md #新文章的名字
default_layout: post #新文章默认布局
titlecase: false #标题大小写
external_link: #点击链接在本标签打开还是新建标签
  enable: true
  field: site
filename_case: 0
render_drafts: false #渲染草稿
post_asset_folder: false
relative_link: false
future: true
highlight: #代码高亮设置
  enable: true
  line_number: true #开启行号
  auto_detect: false
  tab_replace: ''
  wrap: true
  hljs: false
index_generator:
  path: ''
  per_page: 10 #每页展示多少文章
  order_by: -date #文章展示方式
date_format: YYYY-MM-DD
time_format: HH:mm:ss
updated_option: 'mtime'
per_page: 10
pagination_dir: page
deploy: #部署到GitHub
  type: git
  repo: {your_github_repo_link}
  branch: {your_repo_branch}
对修改后的hexo-theme-frame设置
language: zh
stylesheets:
- /css/style.css
scripts:
- /js/frame.js
favicon: /images/favico.png #show in head
date_format: MMM D, YYYY
site_brand_name: Kyana
logo_image:
  enable: false
  image_path: /logo.png
profile:
  title: {your_title}
  body: {discription}
  image: #e.g. /pic/image.jpg
  links: #as you want, e.g.
    Github: "{your_github_link}"
menu: #as you want, e.g.
  标签: /tags/
footer:
  copyright_info:
    enable: true
    author: {your_name}
  powered_by: #powered by hexo & frame
    enable: true 
  other_info:
    enable: true
    content: {your_other_content}
color_mode: default
完成设置后的工作流
hexo new {title} #新建文章,保存在_post文件夹下
hexo new page {name} #新建页面,保存在source文件夹下
hexo s(erver) #在本地3000端口打开服务,提供站点访问,可以热重载,不生成文件
hexo deploy (hexo g(enerate)) #部署到网络中,会自动执行生成文件命令
使用中的问题
- 主题也可以使用包管理器pnpm下载,会在"node_modules"文件夹中,有时渲染失败是因为缺少主题所用配置文件的生成器,如ejs、stylus等,搜索并使用包管理器下载后重新渲染即可。
- 可以手段发布"public"文件夹中内容到git,也可以使用"hexo-deployer-git"自动部署。如果使用了自定义域名,自动部署后会无法正确解析,需要在根目录下放置"CNAME"文件,内容是自定义域名即可。
03|Hugo
Hugo是基于golang的静态站点生成器,相比Hexo该有的功能都有,主打一个快速,但因为教新,主题不是很多。
在GitHub下载hugo时,会遇到一个"hugo_extended"提供了更多功能但用不上,这次只使用最新版(v0.105.0)的基础版hugo。hugo的运行需要golang环境,由于不需要使用hugo安装额外包或者开发,只需要安装官网指引默认安装即可。
安装配置
hugo的本体和主题配置文件是写在一起的,都在根目录下的config文件,hugo默认配置文件格式是toml,但也支持yml,作者使用相对更简单明了的yml进行配置。使用的主题PaperMod可以参考Wiki进行更加详��的配置,Hugo可以参看官方文档。
baseUrl: {your_page_link}
title: {your_page_title}
theme: PaperMod #选择主题
copyright: {your_name}
defaultContentLanguage: zh
languageCode: zh-CN #用于head信息生成
hasCJKLanguage: true #是否有中日韩文,用于字数统计
enableEmoji: true
enableRobotsTXT: true
buildDrafts: false
buildFuture: false
buildExpired: false
disableKinds:
  - RSS #不生成RSS的XML文件,减小体积
minify: #启用压缩CSS、JS
  disableXML: true
  minifyOutput: true
params: #主题的配置参数
  author: {your_name}
  defaultTheme: dark
  homeInfoParams:
    enable: true
    Title: {your_title}
    Content: {your_content}
  socialIcons:
    - name: {your_choose}
      url: {your_link}
  ShowToc: true #显示目录
  TocOpen: true #目录默认打开
  ShowReadingTime: true #显示估计阅读时间
  ShowBreadCrumbs: true #显示当前位置
  ShowPostNavLinks: true #显示上一篇和下一篇
  ShowCodeCopyButtons: true #显示代码复制按钮
markup:
  highlight:
    style: monokai
    lineNos: true
menu: #生成顶部菜单
  main:
    - identifier: Archives
      name: 归档
      url: /archives/
      weight: 10 #权重越大越靠右
    - identifier: Categories
      name: 分类
      url: /categories/
      weight: 20
    - identifier: Tags
      name: 标签
      url: /tags/
      weight: 30
完成后的工作流
hugo server #使用hugo在本地提供服务,预览页面
hugo #生成静态文件到public文件夹
cd public
git init #初始化git仓库,只用做一次
git remote add origin {your_repo_link} #添加远程库,只做第一次
git add * #添加全部文件到暂存区
git commit -m "Issue new passage." #提交更改,一定要写信息,可以随便写但建议有意义方便管理
git push origin -u master/main #推送到远程库,默认推送本地master分支,GitHub使用main做新仓库默认分支名
04|Jekyll
由于是GitHub使用的生成器,只需要将markdown文件放在GitHub仓库,打开page服务并选择主题即可,参看官方文档。
主题等的配置只需要在根目录下添加"_config.yml"即可。
配置文件
theme: timemachine
05|Latex使用
参考资源
不同的Markdown语法 - 少数派 (sspai.com)
Nodejs + Serverless实现LaTeX公式渲染服务 - 码道人 (markdowner.net)
latex中文参考文献示例教程及避坑 - 知乎 (zhihu.com)
Visual Studio Code (vscode)配置LaTeX - 知乎 (zhihu.com)
hexo
- 卸载所有latex插件,安装hexo-filter-mathjax(by next-theme team)
- 在_config.yml启用插件,做好配置
- 在front matter启用mathjax
hugo
选用带katex的主题
动态博客
00|前排提示
本文涉及的apache、nginx和caddy三者并无优劣之分,各有擅场,在个人博客使用时选取自己喜欢的即可。
如无特殊提示,本文默认环境为Ubuntu Server 20.04(Linux 5.4)、php7.4、php7.4-fpm;软件安装默认使用apt源,安装后配置文件默认在 /etc/{软件名}下。本文默认读者已经配置开放了相应的防火墙端口,并使用root权限。
用于WordPress踩坑的平台是:
- N1电视盒子,晶晨Amlogic S905d,2+8,挂一个500G机械
- armbian系统,选用了ophub版本
- php7.4-fpm,nginx1.18,mariadb10.5
01|PHP
使用 apt install php安装完php之后一般需要安装模块使得php可以与服务器软件、数据库软件配合。需要安装什么php扩展就在扩展名前加上 php-*安装。
php-cgi
cgi全称是Common Gateway Interface公共网关接口,服务器软件将php请求转发给php-cgi,由php解释执行后,结果再通过php-cgi返回给服务器软件。
现在常用的php-cgi是php-fpm,全称是php fastcgi process manager,php快速公共网关接口进程管理器。使用 apt install php-fpm安装(或 apt install php7.4-fpm,数字换成相应的php版本号(使用 php -v查看),后续服务管理同理)。
php-mysql
mysql -u root
create database typecho;
user type@localhost identified by '123';
use typecho
grant all on . to type@localhost;
为了让php和数据库配合使用需要安装php对相应数据库的模块,不需要额外配置,安装完成即可使用。使用 apt install php-mysql安装,其它数据库数据库可以使用 apt search {数据库名}配合 grep查找相应模块名安装使用。
02|SSL证书
https是在普通http协议上加入安全套接字实现的加密,安全套接字层一般称SSL(security socket layer)。
在apache和nginx中使用的是阿里云轻量应用服务器提供的免费证书,与一般SSL证书的申请分发流程无区别。
备案注意
国内网站可以直接通过服务器供应商进行备案,注销时直接注销主体,避免生成空壳主体。
SSL证书申请
在控制台申请SSL证书,填入域名和个人信息(姓名、身份证号、地址、邮箱)后,获得一个在TXT类型的DNS记录。按照相应指引在域名解析处设置好"_dnsauth"解析并验证,即可等待下发。下发后下载相应服务器软件的证书并上传到服务器备用。"__dnsauth"记录在证书下发后就可以删除。
03|服务器软件
Apache
经典的服务器软件,在Debian系分发名是"apache2",在Redhat系分发名是"httpd"。“apache/阿帕奇”同时也是武装直升机名字,该名来源于一个被美国人灭族的印第安人部落。
apache的功能多数通过加载模块实现,如php、rewrite、ssl等。一般通过 apt install apache2安装完成apache后,就可以通过 service/systemctl对apache服务管理,通过 a2enmod对apache模块管理。如果不能,如果不能,前者可以自行搜索创建相应脚本;后者可以尝试安装"apache-common"包。
使用php
安装完php-fpm后,Ubuntu会在安装日志末尾提示两条"a2enmod"和"a2enconf"命令,分别用来启用php-fpm模块、启用有关php-fpm模块的默认配置。执行完成后重启apache一般即可配置完成apache+php环境。
可以在默认网页存放位置 /var/www/html/下使用命令创建测试文件并访问(开启服务器软件和php-fpm服务)查看详情。
echo "<?php phpinfo();" > info.php
使用ssl
安装apache时默认安装了SSL模块但没有启用,我们只需要使用 a2enmod ssl命令启用即可。启用后可以看到 /etc/apache2/mods-enabled/目录下多了"ssl.load"和"ssl.conf"两个文件就是成功。
将 /etc/apache2/sites-available/default-ssl.conf文件使用软连接或者复制到 /etc/apache2/sites-enabled/目录下,编辑文件配置ssl,本文使用vim。使用 a2enmod命令启用"rewrite"模块,来将http页面通过301重定向至https页面。
下面是读者的ssl配置,将需要的字段替换即可。
<VirtualHost *:443>   
    ServerName  {your_cert_domain}
    DocumentRoot  {your_page_dir}
    SSLEngine on
    SSLCertificateFile {your_crt_filepath}
    SSLCertificateKeyFile {yout_key_filepath}
    SSLCertificateChainFile {your_chain_crt_filepath}
</VirtualHost>
将下面配置的文件替换读者页面的配置,复制粘贴即可。"RewriteEngine"两项是使用重写模块替换掉http页面。
<VirtualHost *:80>
        ServerName {your_second_domain}
        ServerAlias {your_main_domain}
        DocumentRoot {your_page_dir}
        RewriteEngine On
        RewriteRule ^/(.*?)$ https://{$ServerName}/$1 [R]
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Nginx
内置邮件服务和反向代理的异步高性能服务器软件,最初由俄罗斯人开发。常用在负载均衡等场景下,分支软件有国人章亦春开发的openresty和淘宝开源的Tengine。
Nginx的模块是在编译时配置,如果使用 nginx -V没有看到相应模块,需要重新安装有模块的nginx或者自行编译。通过apt安装的nginx默认已经支持cgi和ssl,看到输出中有"fastcgi"和"ssl"一般即可。
反向代理:正向代理是服务器软件为访问的用户提供代理,访问服务器主机上的资源;反向代理为服务器主机提供代理,将负载均衡至每一台服务器,使用户感知只是一台服务器。
使用php
nginx的模块不需要额外开启,因此只需要配置文件即可。nginx配置文件使用server字段对每一台服务器主机单独配置,将 /etc/nginx/sites-available/default文件复制到 /etc/nginx/sites-enabled/目录下并修改。需要替换的字段如下,或者取消部分注释即可,在Ubuntu上需要使用unix格式与php-fpm建立联系,tcp格式似乎无法正常使用。localtion行复杂的正则是为了nginx支持php跨站参数,否则默认防盗链设置会阻止像typecho这样的后台登录。
server {
        listen          80;
        server_name     your_domain.com;
        root            your_page_dir;
        index           index.html index.htm index.php;
        location ~ .*\.php(\/.*)*$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass  unix:/var/run/php/php7.4-fpm.sock;
        }
    }
使用ssl
nginx的ssl配置相对简单,只需要在上文的配置文件的server字段加两行配置,指明ssl证书位置即可。
ssl_certificate     your_pem_filepath
ssl_certificate_key  your_key_filepath
重定向http页面也可以配置实现,作者使用简单粗暴关闭80端口。
Caddy
caddy是使用go语言创建的新服务器软件,特点是配置简单人性化同时有不错的性能、支持反向代理。Ubuntu默认不提供caddy源,但可以参考官网指南向包管理器中添加。
apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
添加完成后使用 apt update获取caddy源并使用 apt install caddy安装即可。
使用php
apt install apache2 php php-fpm mysql-server
a2enmod proxy_fcgi setenvif #php的网关代理
a2enconf php-fpm
systemctl enable apache2/php-fpm/mysql
service apache2/php-fpm/mysql start
caddy配置只需要修改 /etc/caddy/Caddyfile文件即可,只需如下写几行即可。需要注意的是fastcgi后的星号*必须要有,和root后星号一样,意为匹配所有文件。file_server字段用于支持css这样的静态文件。
your_domain {
        root * your_page_dir
        file_server
        php_fastcgi * unix//run/php/php7.4-fpm.sock
}
使用ssl
只需要在上文your_domain字段增加一行指明证书文件位置即可,可以使用nginx格式证书。
tls your_pem_filepath your_key_filepath
04|WordPress使用踩坑
古腾堡编辑器
填写数据库和网站信息后,在跟目录创建wp-config.php,复制粘贴代码进入。安装很顺利,在服务器上解压,配置sites-enabled文件指定根目录,建数据库和用户,启用SSL免费证书,不再赘述。这里说遇到的第一个问题。
不知是启用伪静态(要先更换下固定链接)还是SSL的缘故,使用这个WordPress19年发布的区块编辑器(确实好看也方便小白)时候,会遇到一个无法保存的错误。这时候使用站点健康检查可以发现,是古腾堡编辑器使用RESTful API返回了404错误。这时候我们百度可知,可以在nginx的站点配置文件中使用如下代码解决。
if (-f $request_filename/index.html){
    rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
    rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
    rewrite (.*) /index.php;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
当然我们还可以选择另一个办法:不用Gutenberg古腾堡编辑器。关闭的选项在个人资料-个人设置-可视化编辑器处,勾选“撰写文章时不使用可视化编辑器”即可。
重定向次数过多
聪明如我,上面的代码自然是挑着复制,便只选了7~9行,果然也没404了也能写文章了。但这时候又出现了另一个问题,登录后台时候出现"ERR_TOO_MACH_REDIRECTS"的重定向过多错误,直接登不上后台了。搜索的答案是清理后台、SSL的错之类。但这时候我想到上面的代码是重定向,删除会不会管用——嘿真行。这就陷入两难的境地了,总不能每次登录后台先禁用代码吧。我把最后一行的“维持后台”代码加上了,也没用。
中途又找到了在wp-config文件中加入强制SSL登录的解决,也是失败。最终开摆一般把上面三行全复制了,哎行了。有一瞬间觉得自己挺蠢的。
主题的选择
对于二刺螈来说,Sakurairo是一个十分不错的主题,功能丰富,好看,可以说应有尽有了。但不知是我的软件版本还是什么原因,使用之后打不开文章——直接白屏。因此不得不更换主题。kratos主题功能也很丰富实用,可以作为一个选项,但默认不使用古腾堡编辑器(虽说在经典编辑器中有许多短代码之类的功能),加之界面略不现代设计,所以我选用了argon(氩Ar)主题。这个主题确实好看些功能也丰富,但后台界面的设置一大片略显繁琐。
05|Typecho的注意事项
- 填写数据库和网站信息后,提升usr/uploads权限777
- 在根目录下创建config.inc.php复制粘贴代码进入
博客园
00| 前排提示
主题千万条,好用第一条。
配置深似海,一入两行泪。
01| 涉及的主题
具体的演示效果点击链接查看。按照配置由简到繁介绍。
使用前需要注意,没有说明默认的设置:
- 开启js权限,开启侧边栏公告,禁用模板样式
- 使用Custom主题,highlight高亮并禁用行号
02|直接抄配置
silence
将下述代码复制到侧边栏公告,复制链接中的CSS代码到样式中
<script>
    window.$silence = {
        avatar: '',
        navbars: [
            {
                title: '标签',
                url: ''
            },
            {
                title: '朋友',
                children: [
                    {
                        title: '',
                        url: ''
                    }
                ]
            }
        ],
        showNavAdmin: false,
        hljsln: true,
        signature: {
            enable: true,
            author: null,
            license: ['',''],
            remark: ''
        },
        sponsor: {
            enable: true,
            alipay: ''
        }
    };
</script>
<script src="https://fastly.jsdelivr.net/gh/esofar/cnblogs-theme-silence/dist/silence.min.js"></script>
SimpleMemory
安装配置 | SMemory (bndong.github.io)
更新只需要修改版本号即可
<script type="text/javascript">
    window.cnblogsConfig = {
        info: {
            name: 'Kyana',
            startDate: '2022-05-15',
            avatar: 'https://pic.cnblogs.com/avatar/2879071/20220515233239.png',
        },
        // links: {
        //     footer: [
        //         ["Little Cabin", 'https://cnkyana.github.io'],
        //     ],
        // },
        // title: {
        //     onblur: '(o゚v゚)ノ Hi',
        //     onblurTime: 500,
        //     focus: '(*´∇`*) 欢迎回来!',
        // },
        // banner: {
        //     home: {
        //         title: '', //jinrishici:每次刷新随机获取一句古诗词;one:每日获取一句话
        //     },
        //     article: {
        //         background: [
        //             "",
        //         ],
        //     },
        // },
        articleContent: {
            // prefixIcon: {
            //     enable: true,
            //     options: {
            //         link: 'https://at.alicdn.com/t/c/font_3628204_t6n3fw8b1zn.js',
            //         iconfontArr: ['dangao','binggan','qiaokeli','hongzao','xiangjiao','caomei'],
            //     }
            // },
        },
        articleSuffix: {
            // imgUrl: '',
            // aboutHtml: "",
            // copyrightHtml: "",
        },
        rtMenu: {
            // qrCode: '',
            reward: {
                alipay: 'https://www.imageoss.com/images/2024/04/15/zfb16b8bb2465ea5d30.jpg',
                wechatpay: 'https://www.imageoss.com/images/2024/04/15/wxcd370f585f22eb5e.jpg'
            },
        },
        sidebar: {
            titleMsg: '技术宅拯救世界。',
            infoBackground: '',
            submenu: { // 自动展开
                // 积分排行
                pointsRank: false,
                // 最新随笔
                latestPosts: false,
                // 我的标签
                myTags: false,
                // 随笔分类
                postsClassify: false,
                // 文章分类
                articleClassify: false,
                // 阅读排行
                readRank: false,
                // 推荐排行
                recommendRank: false,
                // 帖子档案
                postsArchive: false,
                // 文章档案
                articleArchive: false,
                // 随笔档案(自己猜的
                postsArchive: true,
                // 自定义列表
                customList: false,
                // 最新评论
                latestComment: false,
            },
        },
        progressBar: {
            color: '#66ccff',
        },
        animate: {
            homeBannerTitle: {
                enable: true
            },
            homeBanner: {
                enable: true,
                options: {
                    radius: 15,
                }
            },
            // articleTitle: {
            //     enable: true
            // },
            articleBanner: {
                enable: true
            },
            background: {
                enable: true,
            },
        },
        // footer: {
        //     style: 1,
        //     text: {
        //         left: '好好学习',
        //         right: '天天向上',
        //     },
        //     iconFont: {
        //         icon:  "icon-xl",
        //         color: "red",
        //         fontSize: "16px"
        //     }
        // },
        // code: {
        //     type: 'hljs',
        //     options: {
        //         line: true,
        //         fontSize: 20,
        //         maxHeight: '70vh',
        //         macStyle: true,
        //         hljs: {
        //             theme: 'atom-one-dark-reasonable',
        //             languages: ['Bash', 'CSS', 'Dockerfile', 'Go', 'HTML', 'XML', 'HTTP']
        //         },
        //     },
        // },
    }
</script>
<!-- <script src="https://cdn.jsdelivr.net/gh/BNDong/Cnblogs-Theme-SimpleMemory@v2.1.4/dist/simpleMemory.js" defer></script> -->
<script src="https://jsd.cdn.zzko.cn/gh/BNDong/Cnblogs-Theme-SimpleMemory@v2.1.5/dist/simpleMemory.js" defer></script>
也需要复制CSS但太长了且有更新,没贴在这。
awescnb
该主题下有多款皮肤可以选择,更换不同皮肤可能需要对配置微调
这个是博客园官方主题,看了几个成品还挺好看,有些惊艳。
reacg
页脚HTML
<script src="https://guangzan.gitee.io/awescnb/index.js"></script>
<script>
  const opts = {
    theme: {
      avatar: '',
      title: '',
      headerBackground: ''
    },
    signature: {
      enable: true,
      contents: [
        "技术宅拯救世界。"
      ],
    },
    darkMode: {
      enable: true,
      autoDark: true,
      autoLight: true
    },
    imagebox: {
      enable: true,
    },
    links: [
      {
        name: '',
        link: ''
      },
    ],
    github: {
      enable: true,
      color: '#ffb3cc',
      url: '',
    },
    gitee: {
      enable: true,
      color: '#C71D23',
      url: '',
    },
    musicPlayer: {
      enable: true,
      autoplay: true,
      lrc: {
        enable: false,
        type: 1,
        color: '#10ac84',
      },
      audio: [
        {
          name: 'Starfall',
          artist: '袁娅维TIA RAY',
          url:
              'http://music.163.com/song/media/outer/url?id=1426087898.mp3',
          cover:
              'https://uploadstatic.mihoyo.com/contentweb/20200317/2020031711240192794.jpg',
        },
      ]
    },
    live2d: {
      enable: true,
      page: 'all',
      agent: 'pc',
      model: 'haru-02',
      width: 150,
      height: 200,
      position: 'left',
      gap: 'default',
    },
  }
  $.awesCnb(opts)
</script>
页首HTML
<div id="loading"><div class="loader-inner"></div></div>

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号