mirror of
https://github.com/pengzhanbo/vuepress-theme-plume.git
synced 2026-04-23 10:58:13 +08:00
1 line
2.7 KiB
JavaScript
1 line
2.7 KiB
JavaScript
import{$ as e,D as t,It as n,P as r,Rt as i,X as a,_t as o,c as s,d as c,f as l,gt as u,l as d,lt as f,mt as p,u as m,y as h,zt as g}from"./runtime-core.esm-bundler-CZvn3YaB.js";import{t as _}from"./client-C5e5tgZO.js";import{f as v}from"./dist-CMy7OcvW.js";import{t as y}from"./plugin-vue_export-helper-CxTVcLa7.js";var b=v(`__VUEPRESS_GITHUB_REPO__`,{});function x(e,t){let n=s(()=>{let[t=``,n=``]=u(e).split(`/`);return{owner:t,name:n}}),r=s(()=>u(t)??`github`),i=f(null),o=f(!1);async function c(){let{owner:e,name:t}=u(n);if(!e||!t)return;let a=`${r.value===`github`?``:`${r.value}:`}${e}/${t}`,s=b.value[a];if(s?.info?.name&&Date.now()-s.updatedAt<=864e5){i.value=s.info,o.value=!0;return}o.value=!1;try{let n=await fetch(`https://api.pengzhanbo.cn/${r.value}/repo/${e}/${t}`).then(e=>e.json());o.value=!0,n.convertStars=S(n.stars),n.convertForks=S(n.forks),i.value=n,b.value[a]={info:n,updatedAt:Date.now()}}catch(e){o.value=!0,console.error(`github repo error:`,e)}}return a(n,c,{immediate:!0}),{data:i,loaded:o}}function S(e){return e<1e3?e:`${(e/1e3).toFixed(1)}k`}var C={class:`repo-name`},w={class:`repo-link`},T=[`href`,`title`],E={class:`repo-desc`},D={class:`repo-info`},O={key:0},k=[`title`],A=[`title`],j=[`title`],M=y(h({inheritAttrs:!1,__name:`RepoCard`,props:{repo:{},fullname:{type:Boolean,default:void 0},provider:{default:`github`}},setup(a){let s=a,{loaded:u,data:f}=x(p(s,`repo`),p(s,`provider`));return(s,p)=>(r(),m(o(_),null,{default:e(()=>[o(u)&&o(f)?.name?(r(),l(`div`,t({key:0,class:`vp-repo-card`},s.$attrs),[d(`p`,C,[d(`span`,{class:n(`vpi-${a.provider}-repo`)},null,2),d(`span`,w,[d(`a`,{href:o(f).url,target:`_blank`,rel:`noopener noreferrer`,class:`no-icon`,title:o(f).fullName},g(a.fullname||o(f).ownerType===`Organization`&&a.fullname===void 0?o(f).fullName:o(f).name),9,T)]),d(`span`,{class:n([`repo-visibility`,{archived:o(f).archived}])},g(o(f).visibility+(o(f).template?` Template`:``))+g(o(f).archived?` archive`:``),3)]),d(`p`,E,g(o(f).description),1),d(`div`,D,[o(f).language?(r(),l(`p`,O,[d(`span`,{class:`repo-language`,style:i({"background-color":o(f).languageColor})},null,4),d(`span`,null,g(o(f).language),1)])):c(``,!0),d(`p`,{title:`Github Stars: ${o(f).stars}`},[p[0]||=d(`span`,{class:`vpi-github-star`},null,-1),d(`span`,null,g(o(f).convertStars),1)],8,k),d(`p`,{title:`Github Forks: ${o(f).forks}`},[p[1]||=d(`span`,{class:`vpi-github-fork`},null,-1),d(`span`,null,g(o(f).convertForks),1)],8,A),o(f).license?(r(),l(`p`,{key:1,title:`Github License: ${o(f).license.name}`},[p[2]||=d(`span`,{class:`vpi-github-license`},null,-1),d(`span`,null,g(o(f).license.name),1)],8,j)):c(``,!0)])],16)):c(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-e3b8cb06`]]);export{M as t}; |