PageSourceSearch

https://www.ssgeek.com/assets/js/7e32a688.ea309ce7.js

js ssgeek.com collected 2026-10-08 05:05:38 UTC 4,422 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkssgeek_handbook=self.webpackChunkssgeek_handbook||[]).push([[22617],{71723:(e,t,r)=>{r.r(t),r.d(t,{default:()=>l});var a=r(96540),n=r(34799);const s={container:"container_Pi9k",title:"title_XHET",projectsGrid:"projectsGrid_NkbI",projectCard:"projectCard_hQN8",name:"name_L2Zr",desc:"desc_NCib",language:"language_NycF"};var o=r(74848);const i=[{name:"go-api-template",url:"https://github.com/Hargeek/go-api-template",description:"\u5feb\u901f\u6784\u5efaGolang API\u540e\u7aef\u5de5\u7a0b</br>\u9879\u76ee\u811a\u624b\u67b6"},{name:"go-ddd-template",url:"https://github.com/Hargeek/go-ddd-template",description:"Golang DDD(\u9886\u57df\u9a71\u52a8\u8bbe\u8ba1)</br>\u9879\u76ee\u811a\u624b\u67b6"},{name:"gin-auto-redoc",url:"https://github.com/Hargeek/gin-auto-redoc",description:"\u4e3a\u5df2\u96c6\u6210 Swagger (OpenAPI) \u6587\u6863\u7684 Gin \u5e94\u7528\u7a0b\u5e8f\u81ea\u52a8\u6ce8\u518c Redoc API\u63a5\u53e3\u6587\u6863\u7684 Go \u5305"},{name:"gin-auto-stoplight-doc",url:"https://github.com/Hargeek/gin-auto-stoplight-doc",description:"\u4e3a\u5df2\u96c6\u6210 Swagger (OpenAPI) \u6587\u6863\u7684 Gin \u5e94\u7528\u7a0b\u5e8f\u81ea\u52a8\u6ce8\u518c Stoplight Elements API \u63a5\u53e3\u6587\u6863\u7684 Go \u5305"},{name:"a-table-query-header",url:"https://www.npmjs.com/package/@ssgeek/a-table-query-header",description:"\u57fa\u4e8eArco Design UI\u7ec4\u4ef6\u5e93\u7684\u901a\u7528\u67e5\u8be2\u8868\u5355\u7ec4\u4ef6\uff0c\u5feb\u901f\u6784\u5efa\u5e26\u6709\u67e5\u8be2\u3001\u91cd\u7f6e\u548c\u5c55\u5f00/\u6536\u8d77\u529f\u80fd\u7684\u8868\u5355\u5934\u90e8"},{name:"antdv-table-query-header",url:"https://www.npmjs.com/package/@ssgeek/antdv-table-query-header",description:"\u57fa\u4e8eAnt Design Vue\u7ec4\u4ef6\u5e93\u7684\u901a\u7528\u67e5\u8be2\u8868\u5355\u7ec4\u4ef6\uff0c\u5feb\u901f\u6784\u5efa\u5e26\u6709\u67e5\u8be2\u3001\u91cd\u7f6e\u548c\u5c55\u5f00/\u6536\u8d77\u529f\u80fd\u7684\u8868\u5355\u5934\u90e8"},{name:"argocd-ctx-prompt",url:"https://github.com/Hargeek/argocd-ctx-prompt",description:"argocd\u547d\u4ee4\u884c\u63d0\u793a\u4e0a\u4e0b\u6587\u5de5\u5177"},{name:"knode-hosts-inject",url:"https://github.com/Hargeek/knode-hosts-inject",description:"k8s\u96c6\u7fa4\u8282\u70b9hosts\u6587\u4ef6\u6ce8\u5165\u5de5\u5177"}];function c({repo:e,colorMap:t}){const[r,n]=(0,a.useState)(null);if((0,a.useEffect)((()=>{e&&fetch(`https://api.github.com/repos/${e}/languages`).then((e=>e.json())).then((e=>n(e)))}),[e]),!r)return null;const s=Object.values(r).reduce(((e,t)=>Number(e)+Number(t)),0),i=Object.entries(r).sort(((e,t)=>t[1]-e[1])),c=i.map((([e,r],a)=>{const n=r/s*100;let c="";return c=0===a&&1===i.length?"4px":0===a?"4px 0 0 4px":a===i.length-1?"0 4px 4px 0":"0",(0,o.jsx)("span",{style:{display:"inline-block",height:8,width:`${n}%`,background:t[e]||"#ccc",borderRadius:c,marginLeft:0}},e)}));return(0,o.jsxs)("div",{style:{marginTop:8},children:[(0,o.jsx)("div",{style:{display:"flex",width:"100%",height:8,borderRadius:4,overflow:"hidden",marginBottom:8},children:c}),(0,o.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:12},children:i.map((([e,r])=>(0,o.jsxs)("span",{style:{fontSize:12,display:"flex",alignItems:"center",gap:4},children:[(0,o.jsx)("span",{style:{display:"inline-block",width:10,height:10,borderRadius:"50%",background:t[e]||"#ccc",marginRight:4}}),e," ",(r/s*100).toFixed(1),"%"]},e)))})]})}function l(){const e=(0,a.useMemo)((()=>{const e=new Set;["Go","Makefile","TypeScript","Python","JavaScript","Shell","HTML","CSS"].forEach((t=>e.add(t)));const t={};return e.forEach((e=>{t[e]=`hsl(${Math.floor(360*Math.random())},${60+Math.floor(20*Math.random())}%,${55+Math.floor(20*Math.random())}%)`})),t}),[]);return(0,o.jsx)(n.A,{title:"\u5f00\u6e90\u9879\u76ee",description:"\u6211\u7684\u5f00\u6e90\u9879\u76ee",children:(0,o.jsxs)("div",{className:s.container,children:[(0,o.jsx)("h1",{className:s.title,children:"\u5f00\u6e90\u9879\u76ee"}),(0,o.jsx)("div",{className:s.projectsGrid,children:i.map((t=>{const r=function(e){const t=e.match(/github.com\/(.+?)\/(.+?)(\/|$)/);return t?`${t[1]}/${t[2]}`:""}(t.url);return(0,o.jsxs)("a",{href:t.url,target:"_blank",rel:"noopener noreferrer",className:s.projectCard,children:[(0,o.jsx)("h2",{className:s.name,children:t.name}),(0,o.jsx)("div",{className:s.desc,dangerouslySetInnerHTML:{__html:t.description}}),(0,o.jsx)(c,{repo:r,colorMap:e})]},t.name)}
1))})]})})}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.