addInput($favicon); $favicon->setAttribute('class', 'setting-content my-3'); // 网站logo $logoUrl = new Typecho_Widget_Helper_Form_Element_Text( 'logoUrl', NULL, '/usr/themes/HarmonyHues/assets/images/logo.webp', '站点LOGO地址(必填)', '介绍:在这里填入一个图片URL地址, 以在网站标题前加上一个LOGO' ); $form->addInput($logoUrl); $logoUrl->setAttribute('class', 'setting-content my-3'); // 网站个人简介 $blogmeabout = new Typecho_Widget_Helper_Form_Element_Text( 'blogmeabout', NULL, '欢迎来到我的typecho博客。', '个人简介(非必填)', '介绍:在这里填入你的个人简介,例如:欢迎来到我的typecho博客。' ); $form->addInput($blogmeabout); $blogmeabout->setAttribute('class', 'setting-content my-3'); // ---------------------------- 主题设置 ----------------------------// // 侧边栏博主信息社交 $socialInfo = new Typecho_Widget_Helper_Form_Element_Textarea( 'socialInfo', NULL, NULL, '个人社交(非必填)', '介绍:在这里填入你的JSON格式社交图标(www.iconfont.cn)和URL,JSON格式模板:{"name":"bilibili","icon":"icon-logo-github","link":"https://bilibili.com/xxxx"}' ); $form->addInput($socialInfo); $socialInfo->setAttribute('class', 'setting-content my-3'); // 微信赞赏二维码 $wechatQrCode = new Typecho_Widget_Helper_Form_Element_Text( 'wechatQrCode', NULL, '/usr/themes/HarmonyHues/assets/images/wechatQr.webp', '微信二维码(必填)', '介绍:在这里填入你的微信收款二维码URL地址' ); $form->addInput($wechatQrCode); $wechatQrCode->setAttribute('class', 'setting-content my-3'); // 支付宝赞赏二维码 $alipayQrCode = new Typecho_Widget_Helper_Form_Element_Text( 'alipayQrCode', NULL, '/usr/themes/HarmonyHues/assets/images/alipayQr.webp', '支付宝二维码(必填)', '介绍:在这里填入你的支付宝收款二维码URL地址' ); $form->addInput($alipayQrCode); $alipayQrCode->setAttribute('class', 'setting-content my-3'); // 导航栏样式 $navStyle = new Typecho_Widget_Helper_Form_Element_Select( 'navStyle', array( 'default' => '默认导航栏', 'mini' => 'MINI导航栏', ), 'default', '导航栏样式(非必填)', '介绍:默认导航栏宽度为100%,MINI导航栏为container居中。' ); $form->addInput($navStyle->multiMode()); $navStyle->setAttribute('class', 'setting-content my-3'); // 自定义懒加载IMG $lazyload = new Typecho_Widget_Helper_Form_Element_Text( 'lazyload', NULL, NULL, '自定义懒加载图片(非必填)', '介绍:在这里填入一个图片URL地址, 以在图片加载失败时显示' ); $form->addInput($lazyload); $lazyload->setAttribute('class', 'setting-content my-3'); // SVG签名 $svgName = new Typecho_Widget_Helper_Form_Element_Textarea( 'svgName', NULL, NULL, 'SVG名字签名(非必填)', '介绍:在这里填入一个SVG代码,SVG生成地址:https://danmarshall.github.io/google-font-to-svg-path/,注意:SVG的width和height属性需要自行调整' ); $form->addInput($svgName); $svgName->setAttribute('class', 'setting-content my-3'); // 自定义导航栏 $navbarInfo = new Typecho_Widget_Helper_Form_Element_Textarea( 'navbarInfo', NULL, '{"name":"自定义","link":"/","target":"_self","sub":[{"name":"子菜单名称","link":"https://www.xxx.com/xxxx.html","target":"_self"}]}', '导航栏菜单配置(非必填)', '介绍:支持自定义菜单,不支持三级目录,优先分类和独立页面里面找,没有才匹配link
在这里填入JSON格式模板:{name":"菜单名称","link":"https://www.xxx.com/xxxx.html","target":"_self","sub":[{"name":"子菜单名称","link":"https://www.xxx.com/xxxx.html","target":"_self"}]}' ); $form->addInput($navbarInfo); $navbarInfo->setAttribute('class', 'setting-content my-3'); // 文章置顶 $sticky = new Typecho_Widget_Helper_Form_Element_Text( 'sticky', NULL, NULL, '文章置顶(非必填)', '介绍:置顶的文章cid,按照排序输入, 请以半角逗号或空格分隔' ); $form->addInput($sticky); $sticky->setAttribute('class', 'setting-content my-3'); // 是否开启goLink外链 $isGoLink = new Typecho_Widget_Helper_Form_Element_Select( 'isGoLink', array( '0' => '关闭GoLink外链', '1' => '开启GoLink外链', ), '0', 'GoLink外链页面(非必填)', '介绍:开启后,文章页面的外链会自动跳转到GoLink页面' ); $form->addInput($isGoLink->multiMode()); $isGoLink->setAttribute('class', 'setting-content my-3'); // 头像源 $Gravatars = new Typecho_Widget_Helper_Form_Element_Select( 'Gravatars', array( 'gravatar.helingqi.com/wavatar' => '禾令奇(默认)', 'www.gravatar.com/avatar' => 'gravatar的www源', 'cn.gravatar.com/avatar' => 'gravatar的cn源', 'secure.gravatar.com/avatar' => 'gravatar的secure源', 'sdn.geekzu.org/avatar' => '极客族', 'cdn.v2ex.com/gravatar' => 'v2ex源', 'dn-qiniu-avatar.qbox.me/avatar' => '七牛源[不建议]', 'gravatar.loli.net/avatar' => 'loli.net源', ), 'gravatar.helingqi.com/wavatar', '选择头像源(非必填)', '介绍:不同的源响应速度不同,头像也不同' ); $Gravatars->setAttribute('class', 'setting-content my-3'); $form->addInput($Gravatars->multiMode()); // CSP策略 $isCSP = new Typecho_Widget_Helper_Form_Element_Select( 'isCSP', array( '0' => '关闭CSP', '1' => '开启CSP', ), '0', 'CSP策略(非必填)', '介绍:CSP策略可以防止XSS攻击,但是会降低页面加载速度,如果页面加载速度变慢,请关闭CSP' ); $form->addInput($isCSP->multiMode()); $isCSP->setAttribute('class', 'setting-content my-3'); // CSP内容 $contentCSP = new Typecho_Widget_Helper_Form_Element_Textarea( 'contentCSP', NULL, NULL, 'CSP内容(非必填)', '介绍:在这里填入CSP内容,例如:script-src \'self\' \'unsafe-inline\' \'unsafe-eval\' https://cdn.jsdelivr.net/; style-src \'self\' \'unsafe-inline\' https://cdn.jsdelivr.net/; img-src \'self\' data:; font-src \'self\' https://cdn.jsdelivr.net/; connect-src \'self\' https://cdn.jsdelivr.net/;' ); $form->addInput($contentCSP); $contentCSP->setAttribute('class', 'setting-content my-3'); // 侧边栏设置 $sidebarBlock = new Typecho_Widget_Helper_Form_Element_Checkbox( 'sidebarBlock', array( 'ShowAboutMe' => '博主信息', 'ShowSidebarYiyan' => '一言', 'ShowSidebarWeather' => '天气', 'ShowSidebarComments' => '最新评论', 'ShowHotPosts' => '热门文章', 'ShowBlogSignage' => '博客路牌', 'ShowDevilEyes' => '恶魔之眼', ), array('ShowAboutMe', 'ShowSidebarYiyan', 'ShowHotPosts'), '侧边栏显示(非必填)', '介绍:侧边栏模块,默认显示博主信息和最新评论' ); $form->addInput($sidebarBlock->multiMode()); $sidebarBlock->setAttribute('class', 'setting-content my-3'); // 侧边栏-博客路牌 $blogSignageText = new Typecho_Widget_Helper_Form_Element_Text( 'blogSignageText', NULL, '我在贵州很想你', '侧边栏-博客路牌(非必填)', '介绍:在这里填入你的博客路牌内容,例如:我在贵州很想你' ); $form->addInput($blogSignageText); $blogSignageText->setAttribute('class', 'setting-content my-3'); // (已移除天气配置)天气城市与 API Key/Host 已改为直接写入主题代码以便简化部署 // 首页内容显示 $indexBlock = new Typecho_Widget_Helper_Form_Element_Checkbox( 'indexBlock', array( 'ShowTravelling' => '顶部-开往友链接力', 'ShowSwiper' => '首页-轮播幻灯片', 'ShowHello' => '底部-Hello信息', 'ShowTimeJourney' => '底部-时间之旅', 'ShowLinks' => '友情链接(未开发)', ), array('ShowHello'), '首页内容显示(非必填)', '介绍:首页模块,默认显示Hello信息' ); $form->addInput($indexBlock->multiMode()); $indexBlock->setAttribute('class', 'setting-content my-3'); // 首页顶部-轮播幻灯片 $swiperText = new Typecho_Widget_Helper_Form_Element_Textarea( 'swiperText', NULL, 'HarmonyHues主题|欢迎使用HarmonyHues主题|2月29日 今日标题|https://www.biibii.cn/usr/themes/HarmonyHues/assets/images/themeImg.webp|https://www.biibii.cn/harmonyhues.html', '首页顶部-轮播幻灯片内容(非必填)', '介绍:在这里填入你的轮播幻灯片内容,格式:标题|描述|标签|图片URL或者MP4格式|链接URL(用|号隔开,内容没有的用NULL,内容一行一个,建议最多5个),例如:HarmonyHues主题|欢迎使用HarmonyHues主题|2月28日 今日标题|https://www.biibii.cn/usr/themes/HarmonyHues/assets/images/themeImg.webp|https://www.biibii.cn/harmonyhues.html' ); $form->addInput($swiperText); $swiperText->setAttribute('class', 'setting-content my-3'); // 首页底部-Hello文字 $helloText = new Typecho_Widget_Helper_Form_Element_Text( 'helloText', NULL, 'Welcome to BIIBII.CN', '首页底部-Hello内容(非必填)', '介绍:在这里填入你的Hello内容,例如:Welcome to BIIBII.CN' ); $form->addInput($helloText); $helloText->setAttribute('class', 'setting-content my-3'); // 首页底部-时间之旅内容 $timeJourneyText = new Typecho_Widget_Helper_Form_Element_Text( 'timeJourneyText', NULL, '2025-03-26|天|星际旅行|本站服务器燃料剩余{remainingPercentage}%', '首页底部-时间之旅内容(非必填)', '介绍:在这里填入你的时间之旅内容,格式:时间|单位|标题|{剩余百分比:remainingPercentage|已过去百分比:progressPercentage},例如:2025-03-26|天|星际旅行|本站服务器燃料剩余{remainingPercentage}%' ); $form->addInput($timeJourneyText); $timeJourneyText->setAttribute('class', 'setting-content my-3'); // 网站icon $iconfont = new Typecho_Widget_Helper_Form_Element_Text( 'iconfont', NULL, '//at.alicdn.com/t/c/font_4612620_nzptu6bs4cb.css', 'iconfont图标(非必填)', '介绍:在这里填入你自定义的iconfont图标外链,前往iconfont图标:https://www.iconfont.cn,
例如://at.alicdn.com/t/c/font_4612620_nzptu6bs4cb.css' ); $form->addInput($iconfont); $iconfont->setAttribute('class', 'setting-content my-3'); // 评论敏感词 $SensitiveWords = new Typecho_Widget_Helper_Form_Element_Textarea( 'SensitiveWords', NULL, '你妈死了|傻逼|操你妈|我是你爹', '评论敏感词(非必填)', '介绍:用于设置评论敏感词汇,如果用户评论包含这些词汇,则将会把评论置为审核状态
例如:你妈死了|你妈炸了|我是你爹(使用|分隔开)' ); $SensitiveWords->setAttribute('class', 'setting-content my-3'); $form->addInput($SensitiveWords); // 评论限制开关 $LimitOneChinese = new Typecho_Widget_Helper_Form_Element_Select( 'LimitOneChinese', array('off' => '关闭(默认)', 'on' => '开启'), 'off', '是否开启评论至少包含一个中文(非必填)', '介绍:开启后如果评论内容未包含一个中文,则将会把评论置为审核状态
其他:用于屏蔽国外机器人刷的全英文垃圾广告信息' ); $LimitOneChinese->setAttribute('class', 'setting-content my-3'); $form->addInput($LimitOneChinese->multiMode()); // 评论限制 $TextLimit = new Typecho_Widget_Helper_Form_Element_Text( 'TextLimit', NULL, NULL, '限制用户评论最大字符(非必填)', '介绍:如果用户评论的内容超出字符限制,则将会把评论置为审核状态
其他:请输入数字格式,不填写则不限制' ); $form->addInput($TextLimit->multiMode()); $TextLimit->setAttribute('class', 'setting-content my-3'); // 评论邮件通知 $commentMail = new Typecho_Widget_Helper_Form_Element_Select( 'commentMail', array('off' => '关闭(默认)', 'on' => '开启'), 'off', '是否开启评论邮件通知(非必填)', '介绍:开启后评论内容将会进行邮箱通知
注意:此项需要您完整无错的填写下方的邮箱设置!!
其他:下方例子以QQ邮箱为例,推荐使用QQ邮箱' ); $commentMail->setAttribute('class', 'setting-content my-3'); $form->addInput($commentMail->multiMode()); $commentMailHost = new Typecho_Widget_Helper_Form_Element_Text( 'commentMailHost', NULL, NULL, '邮箱服务器地址', '例如:smtp.qq.com' ); $commentMailHost->setAttribute('class', 'setting-content my-3'); $form->addInput($commentMailHost->multiMode()); $commentSMTPSecure = new Typecho_Widget_Helper_Form_Element_Select( 'commentSMTPSecure', array('ssl' => 'ssl(默认)', 'tsl' => 'tsl'), 'ssl', '加密方式', '介绍:用于选择登录鉴权加密方式' ); $commentSMTPSecure->setAttribute('class', 'setting-content my-3'); $form->addInput($commentSMTPSecure->multiMode()); $commentMailPort = new Typecho_Widget_Helper_Form_Element_Text( 'commentMailPort', NULL, NULL, '邮箱服务器端口号', '例如:465' ); $commentMailPort->setAttribute('class', 'setting-content my-3'); $form->addInput($commentMailPort->multiMode()); $commentMailFromName = new Typecho_Widget_Helper_Form_Element_Text( 'commentMailFromName', NULL, NULL, '发件人昵称', '例如:蔡徐坤博客评论回复通知' ); $commentMailFromName->setAttribute('class', 'setting-content my-3'); $form->addInput($commentMailFromName->multiMode()); $commentMailAccount = new Typecho_Widget_Helper_Form_Element_Text( 'commentMailAccount', NULL, NULL, '发件人邮箱', '例如:123456@qq.com' ); $commentMailAccount->setAttribute('class', 'setting-content my-3'); $form->addInput($commentMailAccount->multiMode()); $commentMailPassword = new Typecho_Widget_Helper_Form_Element_Text( 'commentMailPassword', NULL, NULL, '邮箱授权码', '介绍:这里填写的是邮箱生成的授权码
获取方式(以QQ邮箱为例):
QQ邮箱 > 设置 > 账户 > IMAP/SMTP服务 > 开启
其他:这个可以百度一下开启教程,有图文教程' ); $commentMailPassword->setAttribute('class', 'setting-content my-3'); $form->addInput($commentMailPassword->multiMode()); // 底部设置 $icp = new Typecho_Widget_Helper_Form_Element_Text( 'icp', NULL, NULL, '备案HTML内容(非必填)', '介绍:在这里填入你的网站备案HTML内容, 注意:底部footer内容会覆盖此内容,只适合默认的底部内容' ); $form->addInput($icp); $icp->setAttribute('class', 'setting-content my-3'); // 网站建站日期 $sitedate = new Typecho_Widget_Helper_Form_Element_Text( 'sitedate', NULL, '2024-08-06', '网站建站日期(必填)', '介绍:在这里填入你的网站建站日期, 例如:2024-05-20' ); $form->addInput($sitedate); $sitedate->setAttribute('class', 'setting-content my-3'); // 底部footer内容 $footerContent = new Typecho_Widget_Helper_Form_Element_Textarea( 'footerContent', NULL, NULL, '底部footer内容(非必填)', '介绍:在这里填入底部footer HTML内容,注意:此处填写会覆盖主题默认底部footer内容' ); $form->addInput($footerContent); $footerContent->setAttribute('class', 'setting-content my-3'); // 网站统计代码(非必填) $zztj = new Typecho_Widget_Helper_Form_Element_Textarea( 'zztj', NULL, NULL, '网站统计代码(非必填)', '介绍:在这里填入你的网站统计代码,这个可以到百度统计或者cnzz上申请。' ); $form->addInput($zztj); $zztj->setAttribute('class', 'setting-content my-3'); // 自定义CSS $customStyle = new Typecho_Widget_Helper_Form_Element_Textarea( 'customStyle', null, null, '自定义CSS(非必填)', '介绍:不需要添加 <style> 标签' ); $form->addInput($customStyle); $customStyle->setAttribute('class', 'setting-content my-3'); // 自定义JS $customScript = new Typecho_Widget_Helper_Form_Element_Textarea( 'customScript', null, null, '自定义JS(非必填)', '介绍:不需要添加 <script> 标签' ); $form->addInput($customScript); $customScript->setAttribute('class', 'setting-content my-3'); // 自定义增加head里内容(非必填) $customHeadEnd = new Typecho_Widget_Helper_Form_Element_Textarea( 'customHeadEnd', NULL, NULL, '自定义增加<head></head>里内容(非必填)', '介绍:此处用于在<head></head>标签里增加自定义内容,可以填写引入第三方css、js等等' ); $customHeadEnd->setAttribute('class', 'setting-content my-3'); $form->addInput($customHeadEnd); // 自定义增加body里内容(非必填) $customBodyEnd = new Typecho_Widget_Helper_Form_Element_Textarea( 'customBodyEnd', NULL, NULL, '自定义<body></body>末尾位置内容(非必填)', '介绍:此处用于填写在<body></body>标签末尾位置的内容,例如:可以填写引入第三方js脚本等等' ); $customBodyEnd->setAttribute('class', 'setting-content my-3'); $form->addInput($customBodyEnd); } ?>