功能页配置
私密文章(登录页)v1.3.0
什么是登录页?在导航栏 功能页 ->登录页点击查看效果。
您可以通过 teek-login-page
插槽自定义登录页。
使用登录页需要 2 个步骤:
- 创建一个登录页,如何创建请看 登录页
- 开启私密文章监听
ts
import{defineTeekConfig } from"vitepress-theme-teek/config";constteekConfig=defineTeekConfig({private:{enabled:true,},});
此时已经开启了私密文章功能,下一步您需要配置登录相关的配置,如果要想了解所有配置请看 更多配置项。
这里仅仅给出一些配置项例子,有关私密文章更详细的设计、介绍、使用,请看 私密文章
ts
import{defineTeekConfig } from"vitepress-theme-teek/config";constteekConfig=defineTeekConfig({private:{enabled:false,expire:"1d",session:true,siteLogin:false,site:[{username:"teek-site-1",password:"teek",role:"common",expire:"1d",session:true,strategy:"once"},{username:"teek-site-2",password:"teek",role:"admin",expire:"1d",session:false,strategy:"always"},],pages:[{username:"teek-pages-1",password:"teek",expire:"1d",session:true,strategy:"once"},{username:"teek-pages-2",password:"teek",expire:"1d",session:false,strategy:"always"},],realm:{blog:[{username:"teek-blog-1",password:"teek",expire:"1d",session:true,strategy:"once"},{username:"teek-blog-2",password:"teek",expire:"1d",session:false,strategy:"always"},],comment:[{username:"teek-comment-1",password:"teek",expire:"1d",session:true,strategy:"always"},{username:"teek-comment-2",password:"teek",expire:"1d",session:false,strategy:"always"},],},},});
ts
interfacePrivate{enabled?:boolean;expire?:string;session?:boolean;siteLogin?:boolean;site?:(LoginInfo&{role?:"common"|"admin"})[];pages?:LoginInfo[];realm?:{[key:string]:LoginInfo[] };onFocus?:(value:string,formName:"username"|"password"|"verifyCode") =>void;onBlur?:(value:string,formName:"username"|"password"|"verifyCode") =>void;doLogin?:(loginInfo:{username:string;password:string},type:"site"|"pages"|"realm"|"page",nativeExecLogin:() =>boolean) =>boolean|undefined;doValidate?:(type:"site"|"pages"|"realm"|"page",frontmatter:Record<string,any>,nativeValidate:() =>boolean) =>boolean;encrypt?:(value:string,frontmatter:Record<string,any>) =>string;decrypt?:(value:string,frontmatter:Record<string,any>) =>string;}interfaceLoginInfo{username:string;password:string;expire?:string;session?:boolean;strategy?:"once"|"always";}
风险链接提示页 v1.3.0
什么是风险链接提示页?在导航栏 功能页 ->风险链接提示页点击查看效果。
您可以通过 teek-risk-link-page
插槽自定义险链接提示页。
使用风险链接提示页需要 2 个步骤:
- 创建一个风险链接提示页,如何创建请看 风险链接提示页
- 开启监听外部链接跳转拦截功能(监听
a
标签的点击事件)
ts
import{defineTeekConfig } from"vitepress-theme-teek/config";constteekConfig=defineTeekConfig({riskLink:{enabled:true,},});
ts
interfaceRiskLink{enabled?:boolean;whitelist?:Array<RegExp|string>;blacklist?:Array<RegExp|string>;}
此时 Teek 会监听所有 a
标签的点击事件,如果点击的链接是风险链接,则会先跳转到风险链接提示页。
什么是风险链接?
Teek 把非本域名下的跳转链接视为风险链接。
如果您需要对一些链接放行或者专门拦截,请使用白名单和黑名单功能。
ts
import{defineTeekConfig } from"vitepress-theme-teek/config";constteekConfig=defineTeekConfig({riskLink:{enabled:true,whitelist:["http:blacklist:[],},});
白名单和黑名单支持字符串和正则表达式:
- 当为字符串时,Teek 先完全匹配跳转的链接,如果匹配失败,则匹配跳转的链接开头部分(
startsWith
方法),因此你可以配置某个域名或者某个完整的链接 - 当为正则表达式时,按照正则表达式进行匹配跳转的链接
当配置了黑名单,则只拦截黑名单的链接,其他链接全部放行,如果黑名单的链接在白名单里,则也会放行(白名单优先级最高)。