[{"data":1,"prerenderedAt":1132},["ShallowReactive",2],{"about-articles":3},[4,70,110,353,421,723,810],{"id":5,"title":6,"author":7,"body":8,"category":57,"cover":54,"date":58,"description":59,"extension":60,"meta":61,"navigation":62,"path":63,"published":62,"seo":64,"stem":65,"tags":66,"updated":68,"__hash__":69},"blog\u002Fblog\u002F2025.4.23.md","放弃幻想，继续斗争","mulin",{"type":9,"value":10,"toc":53},"minimark",[11,16,23,26,29,32,35,38,41,44,47,50],[12,13,15],"h1",{"id":14},"放弃幻想继续斗争关于山海经新时代奋斗征程的论述","放弃幻想，继续斗争（关于山海经新时代奋斗征程的论述）",[17,18,19],"p",{},[20,21,22],"strong",{},"作者：沐霖",[17,24,25],{},"今年的5月1日，是个值得庆祝的日子，它将向后人昭示一个新时代的开始。什么新时代？是党正式走向新的振兴的伟大新时代",[17,27,28],{},"首先指出，党与云海中央接轨后是党的新时代奋斗征程的先决条件，在中央的领导下，我们有能力，有条件实现党的伟大复兴。推动党的伟大复兴，第一个要求就是跟随中央的领导。其次，回顾党的奋斗征程，无非是在历史中选择总结经验，得到实事求是的经验，推进党的伟大复兴，就是在历史当中总结经验并加以创新，这是党的伟大复兴的第二先决条件",[17,30,31],{},"在明确先决条件后，便是党为什么振兴，怎么去振兴？",[17,33,34],{},"党的伟大复兴是党的历史必然趋势。发展至50人不是繁荣顶峰，它是党的新时代奋斗的起点，它证明了党的人数短期快速增长是存在的，它是一片实验田，有了经验，有了基础。党是持久发展的，拥抱活力的法宝，而低迷不去自求突破的，这是片面的，短期的，这是把短期的低迷当做长期看待，这是应当严厉批判的右倾机会主义，固步自封，不求突破，这就是我们党的某些干部的工作态度，第一，他们没有以身作则，第二他们的失败主义会对党的基层成员，干部产生及其不良的影响，是必须严肃处理的",[17,36,37],{},"那末，在新时代的发展下，党又如何去振兴又是我们的问题",[17,39,40],{},"实现党的伟大复兴，无非三个阶段：第一阶段,即从第二届一中全会开始,全面铺开开拓工作,基本完成工业化,以平衡合作为方针构建政治同盟为外交方针,达到掌握左右政治局的目的,完成招收6名骨干,14名普通成员为的开拓指标,直至三届一中全会召开。第二阶段,即从三届一中全会开始,全面军政体系改革,将目前(行政架构划分第4版)的的政治架构全面落实,推动文娱活动的积极开展。至多招收20人,直至我党的第二届中央政治协商会议的召开。第三阶段,即从二次政协会议开始,全面发展开拓工作,直到与中央达到同一发展水平。目前,党处于第一阶段的起步阶段,既然已走向复兴,那么何必畏首畏尾?故而,第一阶段是需要创新与实干的,我们党将要长期处在这个阶段,学习这个阶段,这是党发展的必要时期,也是我们获取经验,补充干部的黄金时期。那末,这是不是代表后两个阶段是没用的呢?不是的。实现振兴,在除了人员的要求之外,还需要健全的政治体制。一个工人,你让他一天造一根针,那是低效的,但你让一群工人,分好职责,分工协作,那可以造出成百上千根针。实现政体改革,本质上是实现解放党的工作效率的解放。还有一些同志便不理解,利用架构这不是限制娱活动吗?不是的,在本质上,两者同样是不冲突的,两者都是使工会具有活力的手段。在这一方面,支部中央认为,积极开展活动,促进体制化的改革。故而,在党的二届一中全会后,党允许各干员,干部可以在不严重违反纪律的情况下组织团建活动,中央予以支持和鼓励,必要时提供物质的帮助。综上所述,党在二阶段的三切改革的是常发展的重要时期，这不仅是党完善行政制度的时期，同时也起到同化一阶段成，的作用。第三阶段,是党实现振兴的收官时期,它将进一步宣告,党的发展两年奋斗已取得巨大成果,党已然进入新的发展时期。",[17,42,43],{},"那末,明确了党的奋斗方向,如何去实现呢?来来去去,无外乎这几个字:创新、务实,勤奋,理想。创新是党进程的根本动力,务实,勤奋,是党进程的前进方式,理想,是党进程的支撑。在组织上，干部，干员要融成一体，要形成干部学干部，干员学干部，干员学干员，干部学干员的大学",[17,45,46],{},"工会是我们的,但也是你们的,并且归根结底是属于你们年轻一代的,希望与未来寄托在你们身上,工会的伟大振兴并非一朝一夕便可以完成的,这就需要你们这一代担起责任,同时也需要我们的开拓。故而,工会的伟大振兴需要全党同志团结奋进,力争上游。",[17,48,49],{},"所有奋战在一线的干员,干部,支部中央号召你们:团结一致,继续前进,放弃幻想,继续斗争。理敢于开拓,敢于创新,切记空谈误事,切记莫要固步自封,实干兴邦,创新前进,为全面推进山海经社会主义联盟新时代复兴征程而努力奋斗!",[17,51,52],{},"2025.4.23",{"title":54,"searchDepth":55,"depth":55,"links":56},"",2,[],"生活","2025-04-23","关于山海经新时代奋斗征程的论述","md",{},true,"\u002Fblog\u002F2025.4.23",{"title":6,"description":59},"blog\u002F2025.4.23",[67,57],"随笔",null,"G9ZCsLecoUuhAIySidp9AI47wM1Q5PYg7jAs1yPp9iE",{"id":71,"title":72,"author":7,"body":73,"category":67,"cover":54,"date":103,"description":68,"extension":60,"meta":104,"navigation":62,"path":105,"published":62,"seo":106,"stem":107,"tags":108,"updated":68,"__hash__":109},"blog\u002Fblog\u002F2026-4-25.md","怎么说，怎么做",{"type":9,"value":74,"toc":101},[75,79,82,85,88,92,95,98],[12,76,78],{"id":77},"怎么说怎么做山海经人民公社外交理论的阐述","怎么说，怎么做（山海经人民公社外交理论的阐述）",[17,80,81],{},"随着党的开拓工作的进行,我们就必须不可避免的面对一系列外交问题,就此,为了解答我们一些同志的疑惑,也是为了日后能系统性的开展官方外交工作,有必要就我们的外交理论进行阐述了。",[17,83,84],{},"党的新时代奋斗征程的开始,同时代表党必须结合实事对现有外理论进行整合。那么,在党开展外交工作前,党需要什么样的条件呢?",[17,86,87],{},"党的外交前提只有两个;这里先说其一,便是党需要强大的综合实力。国防是级的强硬后盾,如果我们没有强大的综合实力下开展外交,那么我们必然丧失主权,失去公开的发言权,这是失败的外交。举一个自身的例子,党在2024年815事变以前对待外交的态度是一在忍让,失去了前期优势,使党的基本形象大为下降,究其原因,便是党在发展层面上的不重视或发展缓慢进而只可退而求其次。同时,无数的历史已然证明,国防才是对外发言的有效论据，“笔杆子外交,”讨嫌,终其是不久远的,唯有抓起枪杆子说话,才是外交的正确说话方式。那末,再说其二,便是党的外交必须以促进自身发展为前提,任何形式的外交,在它的开展目的就是要促进自身发展,以外交手段保障工会正常发展,这是我们开展外交工作的第二个前提。",[12,89,91],{"id":90},"那么我们在当前的开拓工作中又应当如何展开外交工作呢","那么,我们在当前的开拓工作中,又应当如何展开外交工作呢?",[17,93,94],{},"目前阶段,尤其是党的基础工业还没正式开始的情况下,党的外交方向应当以和平手段为主,尽量以和平手段解决外交冲突。故而我们提出对外交往的四项基本原则:坚持长期共存,坚持不涉内政,坚持平等互利,坚持积极对话。长期共存,是指党在对外交往中应始终明白,服务器的建设从不只是一个工会努力的结果,它是全服玩家,政治社团共同努力的结果,坚持长期共存,就是要让服务器的建设者们相互合作建设,促进服务器和平发展。不涉内政,是和平外交下的必然产物,党无意干涉他国方面内政,不颠覆政权,不支持内战的任何一方势力,不激化他国工会内部矛盾,党不干涉他国内政,同时也坚决不允许他国工会干涉内政,内政问题,是党的外交中的绝对红线,关乎我党最根本,最生死攸关的利益问题,故而,任何外交工作者应当树立保守党的内政秘密的意识。平等互利,是党的外交合作的基本目的,互利互惠,相互平等,对我党的推对多边关系交往有重要意义。积极对话,是党一切外交工作的基本手段,通过喊话,对话解决部分事件,积极活跃于政治舞台,这些都是险非武为手段下解决外交争端的方式,对提升我党的政治地位,具有极大的作用。",[17,96,97],{},"周总理在我国的外交部成立大会上说到：“旧中国的外交史，是屈辱的外交史，我们不学他们，我们另起炉灶。”同样的，我们党的外交也必须实事求是，独立自主，敢爱敢恨，这便是我们党的外交工作人员必须学会的东西",[17,99,100],{},"2025.4.25",{"title":54,"searchDepth":55,"depth":55,"links":102},[],"2026-04-25",{},"\u002Fblog\u002F2026-4-25",{"title":72,"description":68},"blog\u002F2026-4-25",[67],"RlBs6IT1xe5fLamjlEZ2RdQ0kGdSHJsaF_p__p8B_6M",{"id":111,"title":112,"author":113,"body":114,"category":342,"cover":54,"date":343,"description":344,"extension":60,"meta":345,"navigation":62,"path":346,"published":62,"seo":347,"stem":348,"tags":349,"updated":68,"__hash__":352},"blog\u002Fblog\u002Fcss-grid-guide.md","CSS Grid 布局完全指南","yunhai",{"type":9,"value":115,"toc":333},[116,119,122,126,129,218,221,226,229,251,254,257,299,302,305,323,326,329],[12,117,112],{"id":118},"css-grid-布局完全指南",[17,120,121],{},"CSS Grid 是现代 CSS 中最强大的布局系统之一。本文将带你从零掌握它。",[123,124,125],"h2",{"id":125},"基础概念",[17,127,128],{},"创建一个 Grid 容器非常简单：",[130,131,135],"pre",{"className":132,"code":133,"language":134,"meta":54,"style":54},"language-css shiki shiki-themes github-light github-dark",".container {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 20px;\n}\n","css",[136,137,138,151,166,196,212],"code",{"__ignoreMap":54},[139,140,143,147],"span",{"class":141,"line":142},"line",1,[139,144,146],{"class":145},"sScJk",".container",[139,148,150],{"class":149},"sVt8B"," {\n",[139,152,153,157,160,163],{"class":141,"line":55},[139,154,156],{"class":155},"sj4cs","  display",[139,158,159],{"class":149},": ",[139,161,162],{"class":155},"grid",[139,164,165],{"class":149},";\n",[139,167,169,172,174,177,180,183,186,189,193],{"class":141,"line":168},3,[139,170,171],{"class":155},"  grid-template-columns",[139,173,159],{"class":149},[139,175,176],{"class":155},"repeat",[139,178,179],{"class":149},"(",[139,181,182],{"class":155},"3",[139,184,185],{"class":149},", ",[139,187,188],{"class":155},"1",[139,190,192],{"class":191},"szBVR","fr",[139,194,195],{"class":149},");\n",[139,197,199,202,204,207,210],{"class":141,"line":198},4,[139,200,201],{"class":155},"  gap",[139,203,159],{"class":149},[139,205,206],{"class":155},"20",[139,208,209],{"class":191},"px",[139,211,165],{"class":149},[139,213,215],{"class":141,"line":214},5,[139,216,217],{"class":149},"}\n",[123,219,220],{"id":220},"常用属性",[222,223,225],"h3",{"id":224},"grid-template-columns-rows","grid-template-columns \u002F rows",[17,227,228],{},"定义网格的列和行：",[130,230,232],{"className":132,"code":231,"language":134,"meta":54,"style":54},"grid-template-columns: 200px 1fr 1fr;\ngrid-template-rows: auto 1fr auto;\n",[136,233,234,243],{"__ignoreMap":54},[139,235,236,240],{"class":141,"line":142},[139,237,239],{"class":238},"s9eBZ","grid-template-columns",[139,241,242],{"class":149},": 200px 1fr 1fr;\n",[139,244,245,248],{"class":141,"line":55},[139,246,247],{"class":238},"grid-template-rows",[139,249,250],{"class":149},": auto 1fr auto;\n",[222,252,253],{"id":253},"grid-area",[17,255,256],{},"命名网格区域：",[130,258,260],{"className":132,"code":259,"language":134,"meta":54,"style":54},".container {\n  grid-template-areas:\n    \"header header header\"\n    \"sidebar main main\"\n    \"footer footer footer\";\n}\n",[136,261,262,268,276,282,287,294],{"__ignoreMap":54},[139,263,264,266],{"class":141,"line":142},[139,265,146],{"class":145},[139,267,150],{"class":149},[139,269,270,273],{"class":141,"line":55},[139,271,272],{"class":155},"  grid-template-areas",[139,274,275],{"class":149},":\n",[139,277,278],{"class":141,"line":168},[139,279,281],{"class":280},"sZZnC","    \"header header header\"\n",[139,283,284],{"class":141,"line":198},[139,285,286],{"class":280},"    \"sidebar main main\"\n",[139,288,289,292],{"class":141,"line":214},[139,290,291],{"class":280},"    \"footer footer footer\"",[139,293,165],{"class":149},[139,295,297],{"class":141,"line":296},6,[139,298,217],{"class":149},[123,300,301],{"id":301},"响应式布局",[17,303,304],{},"Grid 天然支持响应式设计：",[130,306,308],{"className":132,"code":307,"language":134,"meta":54,"style":54},"grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n",[136,309,310],{"__ignoreMap":54},[139,311,312,314,317,320],{"class":141,"line":142},[139,313,239],{"class":238},[139,315,316],{"class":149},": repeat(",[139,318,319],{"class":238},"auto-fit",[139,321,322],{"class":149},", minmax(300px, 1fr));\n",[123,324,325],{"id":325},"总结",[17,327,328],{},"CSS Grid 让复杂布局变得简单，是现代前端开发不可或缺的技能。",[330,331,332],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":54,"searchDepth":55,"depth":55,"links":334},[335,336,340,341],{"id":125,"depth":55,"text":125},{"id":220,"depth":55,"text":220,"children":337},[338,339],{"id":224,"depth":168,"text":225},{"id":253,"depth":168,"text":253},{"id":301,"depth":55,"text":301},{"id":325,"depth":55,"text":325},"教程","2025-03-28","从基础到进阶，全面掌握 CSS Grid 布局系统",{},"\u002Fblog\u002Fcss-grid-guide",{"title":112,"description":344},"blog\u002Fcss-grid-guide",[350,351,342],"CSS","前端","hA_2DGp2lshG-F4DcjeYmjdJ6Z-aq7xe6tISrsrswjQ",{"id":354,"title":355,"author":113,"body":356,"category":57,"cover":54,"date":413,"description":414,"extension":60,"meta":415,"navigation":62,"path":416,"published":62,"seo":417,"stem":418,"tags":419,"updated":68,"__hash__":420},"blog\u002Fblog\u002Fdaily-thoughts.md","程序员的日常思考",{"type":9,"value":357,"toc":408},[358,360,363,366,369,375,378,381,394,397,400,405],[12,359,355],{"id":355},[17,361,362],{},"写代码久了，总会有一些关于生活的思考。",[123,364,365],{"id":365},"关于专注",[17,367,368],{},"在这个信息爆炸的时代，保持专注变得越来越困难。但恰恰是深度工作的能力，让我们能够创造出真正有价值的东西。",[370,371,372],"blockquote",{},[17,373,374],{},"并非所有的忙碌都是生产力。",[123,376,377],{"id":377},"关于学习",[17,379,380],{},"技术的更新速度越来越快，但核心的思维方式是不变的。学会学习，比学会某个具体技术更重要。",[382,383,384,388,391],"ul",{},[385,386,387],"li",{},"理解原理而非记忆 API",[385,389,390],{},"动手实践而非只看教程",[385,392,393],{},"教会他人来验证自己的理解",[123,395,396],{"id":396},"关于平衡",[17,398,399],{},"生活不仅仅是代码。阅读、运动、社交，这些看似与技术无关的事情，反而能让我们成为更好的程序员。",[370,401,402],{},[17,403,404],{},"代码之外的世界，同样精彩。",[17,406,407],{},"愿每一位技术人都能找到属于自己的节奏。",{"title":54,"searchDepth":55,"depth":55,"links":409},[410,411,412],{"id":365,"depth":55,"text":365},{"id":377,"depth":55,"text":377},{"id":396,"depth":55,"text":396},"2025-04-12","关于技术、生活与平衡的一些随笔",{},"\u002Fblog\u002Fdaily-thoughts",{"title":355,"description":414},"blog\u002Fdaily-thoughts",[67,57],"NI_LqxObDgGj2ltzPGEhOyylhJtTRBeR3vvRXFZFvfY",{"id":422,"title":423,"author":424,"body":425,"category":711,"cover":54,"date":712,"description":713,"extension":60,"meta":714,"navigation":62,"path":715,"published":62,"seo":716,"stem":717,"tags":718,"updated":68,"__hash__":722},"blog\u002Fblog\u002Fgetting-started-with-nuxt4.md","使用 Nuxt 4 构建现代博客","xingchen",{"type":9,"value":426,"toc":702},[427,430,433,437,440,466,469,473,480,557,561,564,636,640,647,694,696,699],[12,428,423],{"id":429},"使用-nuxt-4-构建现代博客",[17,431,432],{},"在这篇文章中，我们将探索如何使用 Nuxt 4 构建一个功能完整的现代博客系统。",[123,434,436],{"id":435},"为什么选择-nuxt-4","为什么选择 Nuxt 4？",[17,438,439],{},"Nuxt 4 带来了许多令人兴奋的新特性：",[382,441,442,448,454,460],{},[385,443,444,447],{},[20,445,446],{},"更好的性能"," - 更快的冷启动和热重载",[385,449,450,453],{},[20,451,452],{},"改进的 DX"," - 更直观的配置和 API",[385,455,456,459],{},[20,457,458],{},"原生 TypeScript"," - 完整的类型支持",[385,461,462,465],{},[20,463,464],{},"SSR\u002FSSG 灵活切换"," - 根据需求选择渲染模式",[123,467,468],{"id":468},"核心功能",[222,470,472],{"id":471},"_1-markdown-内容管理","1. Markdown 内容管理",[17,474,475,476,479],{},"使用 ",[136,477,478],{},"@nuxt\u002Fcontent"," 模块，我们可以轻松地管理 Markdown 格式的文章：",[130,481,485],{"className":482,"code":483,"language":484,"meta":54,"style":54},"language-typescript shiki shiki-themes github-light github-dark","const articles = await queryContent('\u002Fblog')\n  .where({ published: { $eq: true } })\n  .sort({ date: -1 })\n  .find()\n","typescript",[136,486,487,512,529,547],{"__ignoreMap":54},[139,488,489,492,495,498,501,504,506,509],{"class":141,"line":142},[139,490,491],{"class":191},"const",[139,493,494],{"class":155}," articles",[139,496,497],{"class":191}," =",[139,499,500],{"class":191}," await",[139,502,503],{"class":145}," queryContent",[139,505,179],{"class":149},[139,507,508],{"class":280},"'\u002Fblog'",[139,510,511],{"class":149},")\n",[139,513,514,517,520,523,526],{"class":141,"line":55},[139,515,516],{"class":149},"  .",[139,518,519],{"class":145},"where",[139,521,522],{"class":149},"({ published: { $eq: ",[139,524,525],{"class":155},"true",[139,527,528],{"class":149}," } })\n",[139,530,531,533,536,539,542,544],{"class":141,"line":168},[139,532,516],{"class":149},[139,534,535],{"class":145},"sort",[139,537,538],{"class":149},"({ date: ",[139,540,541],{"class":191},"-",[139,543,188],{"class":155},[139,545,546],{"class":149}," })\n",[139,548,549,551,554],{"class":141,"line":198},[139,550,516],{"class":149},[139,552,553],{"class":145},"find",[139,555,556],{"class":149},"()\n",[222,558,560],{"id":559},"_2-响应式设计","2. 响应式设计",[17,562,563],{},"结合 TailwindCSS，我们可以快速构建响应式布局：",[130,565,569],{"className":566,"code":567,"language":568,"meta":54,"style":54},"language-html shiki shiki-themes github-light github-dark","\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6\">\n  \u003CArticleCard v-for=\"article in articles\" :key=\"article._id\" :article=\"article\" \u002F>\n\u003C\u002Fdiv>\n","html",[136,570,571,591,627],{"__ignoreMap":54},[139,572,573,576,579,582,585,588],{"class":141,"line":142},[139,574,575],{"class":149},"\u003C",[139,577,578],{"class":238},"div",[139,580,581],{"class":145}," class",[139,583,584],{"class":149},"=",[139,586,587],{"class":280},"\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6\"",[139,589,590],{"class":149},">\n",[139,592,593,596,600,603,605,608,611,613,616,619,621,624],{"class":141,"line":55},[139,594,595],{"class":149},"  \u003C",[139,597,599],{"class":598},"s7hpK","ArticleCard",[139,601,602],{"class":145}," v-for",[139,604,584],{"class":149},[139,606,607],{"class":280},"\"article in articles\"",[139,609,610],{"class":145}," :key",[139,612,584],{"class":149},[139,614,615],{"class":280},"\"article._id\"",[139,617,618],{"class":145}," :article",[139,620,584],{"class":149},[139,622,623],{"class":280},"\"article\"",[139,625,626],{"class":149}," \u002F>\n",[139,628,629,632,634],{"class":141,"line":168},[139,630,631],{"class":149},"\u003C\u002F",[139,633,578],{"class":238},[139,635,590],{"class":149},[222,637,639],{"id":638},"_3-暗色模式","3. 暗色模式",[17,641,642,643,646],{},"通过 ",[136,644,645],{},"@nuxtjs\u002Fcolor-mode"," 模块实现暗色模式切换：",[130,648,650],{"className":482,"code":649,"language":484,"meta":54,"style":54},"const colorMode = useColorMode()\ncolorMode.preference = colorMode.value === 'dark' ? 'light' : 'dark'\n",[136,651,652,666],{"__ignoreMap":54},[139,653,654,656,659,661,664],{"class":141,"line":142},[139,655,491],{"class":191},[139,657,658],{"class":155}," colorMode",[139,660,497],{"class":191},[139,662,663],{"class":145}," useColorMode",[139,665,556],{"class":149},[139,667,668,671,673,676,679,682,685,688,691],{"class":141,"line":55},[139,669,670],{"class":149},"colorMode.preference ",[139,672,584],{"class":191},[139,674,675],{"class":149}," colorMode.value ",[139,677,678],{"class":191},"===",[139,680,681],{"class":280}," 'dark'",[139,683,684],{"class":191}," ?",[139,686,687],{"class":280}," 'light'",[139,689,690],{"class":191}," :",[139,692,693],{"class":280}," 'dark'\n",[123,695,325],{"id":325},[17,697,698],{},"Nuxt 4 为现代博客开发提供了强大的基础设施，让我们可以专注于内容创作本身。",[330,700,701],{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .s7hpK, html code.shiki .s7hpK{--shiki-default:#B31D28;--shiki-default-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic}",{"title":54,"searchDepth":55,"depth":55,"links":703},[704,705,710],{"id":435,"depth":55,"text":436},{"id":468,"depth":55,"text":468,"children":706},[707,708,709],{"id":471,"depth":168,"text":472},{"id":559,"depth":168,"text":560},{"id":638,"depth":168,"text":639},{"id":325,"depth":55,"text":325},"技术","2025-04-10","从零开始使用 Nuxt 4、Vue 3 和 TailwindCSS 构建一个现代化的博客系统",{},"\u002Fblog\u002Fgetting-started-with-nuxt4",{"title":423,"description":713},"blog\u002Fgetting-started-with-nuxt4",[719,720,721],"Nuxt","Vue3","TypeScript","8VJSHFDxti_0ZtB3iqW5xqnFj30ZIGVhnmj7T9-9k4U",{"id":724,"title":725,"author":113,"body":726,"category":799,"cover":54,"date":800,"description":801,"extension":60,"meta":802,"navigation":62,"path":803,"published":62,"seo":804,"stem":805,"tags":806,"updated":68,"__hash__":809},"blog\u002Fblog\u002Fhello-world.md","欢迎来到云海-NWUA联合报",{"type":9,"value":727,"toc":795},[728,731,734,737,740,743,754,757,760,787,792],[12,729,725],{"id":730},"欢迎来到云海-nwua联合报",[17,732,733],{},"亲爱的读者们，大家好！",[17,735,736],{},"云海-NWUA联合报正式成立了！这是一个关于技术与创作的博客平台，我们将在这里分享技术文章、生活感悟、教程指南等内容。",[123,738,739],{"id":739},"我们的愿景",[17,741,742],{},"我们希望通过这个平台：",[382,744,745,748,751],{},[385,746,747],{},"📝 分享有价值的技术知识",[385,749,750],{},"🎨 记录创作的灵感与过程",[385,752,753],{},"🌊 与读者一起在知识的云海中探索",[123,755,756],{"id":756},"接下来的计划",[17,758,759],{},"在未来的日子里，我们将持续发布以下类型的内容：",[761,762,763,769,775,781],"ol",{},[385,764,765,768],{},[20,766,767],{},"技术文章"," - 前端、后端、DevOps 等技术领域的深度文章",[385,770,771,774],{},[20,772,773],{},"教程指南"," - 从零开始的手把手教程",[385,776,777,780],{},[20,778,779],{},"生活随笔"," - 技术人的日常与思考",[385,782,783,786],{},[20,784,785],{},"行业资讯"," - 值得关注的技术动态",[370,788,789],{},[17,790,791],{},"\"在云海之上，我们看见更广阔的世界。\"",[17,793,794],{},"感谢你的关注，让我们一起扬帆起航！🚀",{"title":54,"searchDepth":55,"depth":55,"links":796},[797,798],{"id":739,"depth":55,"text":739},{"id":756,"depth":55,"text":756},"资讯","2025-04-01","这是云海-NWUA联合报的第一篇文章，我们正式启航！",{},"\u002Fblog\u002Fhello-world",{"title":725,"description":801},"blog\u002Fhello-world",[807,808],"公告","创刊","rc5Pwhp5nwiSG8hVPJnZ6PPPCfa29UixmPT1HbAZu20",{"id":811,"title":812,"author":7,"body":813,"category":711,"cover":54,"date":1124,"description":1125,"extension":60,"meta":1126,"navigation":62,"path":1127,"published":62,"seo":1128,"stem":1129,"tags":1130,"updated":68,"__hash__":1131},"blog\u002Fblog\u002Ftypescript-advanced-types.md","TypeScript 高级类型技巧",{"type":9,"value":814,"toc":1117},[815,818,821,824,827,917,920,923,1036,1039,1042,1103,1106,1109,1111,1114],[12,816,812],{"id":817},"typescript-高级类型技巧",[17,819,820],{},"TypeScript 的类型系统远比想象中强大。本文将介绍一些实用的高级类型技巧。",[123,822,823],{"id":823},"条件类型",[17,825,826],{},"条件类型让我们可以根据类型条件选择不同的类型：",[130,828,830],{"className":482,"code":829,"language":484,"meta":54,"style":54},"type IsString\u003CT> = T extends string ? true : false\n\ntype A = IsString\u003Cstring> \u002F\u002F true\ntype B = IsString\u003Cnumber> \u002F\u002F false\n",[136,831,832,869,874,896],{"__ignoreMap":54},[139,833,834,837,840,842,845,848,850,853,856,859,861,864,866],{"class":141,"line":142},[139,835,836],{"class":191},"type",[139,838,839],{"class":145}," IsString",[139,841,575],{"class":149},[139,843,844],{"class":145},"T",[139,846,847],{"class":149},"> ",[139,849,584],{"class":191},[139,851,852],{"class":145}," T",[139,854,855],{"class":191}," extends",[139,857,858],{"class":155}," string",[139,860,684],{"class":191},[139,862,863],{"class":155}," true",[139,865,690],{"class":191},[139,867,868],{"class":155}," false\n",[139,870,871],{"class":141,"line":55},[139,872,873],{"emptyLinePlaceholder":62},"\n",[139,875,876,878,881,883,885,887,890,892],{"class":141,"line":168},[139,877,836],{"class":191},[139,879,880],{"class":145}," A",[139,882,497],{"class":191},[139,884,839],{"class":145},[139,886,575],{"class":149},[139,888,889],{"class":155},"string",[139,891,847],{"class":149},[139,893,895],{"class":894},"sJ8bj","\u002F\u002F true\n",[139,897,898,900,903,905,907,909,912,914],{"class":141,"line":198},[139,899,836],{"class":191},[139,901,902],{"class":145}," B",[139,904,497],{"class":191},[139,906,839],{"class":145},[139,908,575],{"class":149},[139,910,911],{"class":155},"number",[139,913,847],{"class":149},[139,915,916],{"class":894},"\u002F\u002F false\n",[123,918,919],{"id":919},"映射类型",[17,921,922],{},"映射类型可以基于已有类型创建新类型：",[130,924,926],{"className":482,"code":925,"language":484,"meta":54,"style":54},"type Readonly\u003CT> = {\n  readonly [P in keyof T]: T[P]\n}\n\ntype Optional\u003CT> = {\n  [P in keyof T]?: T[P]\n}\n",[136,927,928,945,980,984,988,1005,1031],{"__ignoreMap":54},[139,929,930,932,935,937,939,941,943],{"class":141,"line":142},[139,931,836],{"class":191},[139,933,934],{"class":145}," Readonly",[139,936,575],{"class":149},[139,938,844],{"class":145},[139,940,847],{"class":149},[139,942,584],{"class":191},[139,944,150],{"class":149},[139,946,947,950,953,956,959,962,964,967,970,972,975,977],{"class":141,"line":55},[139,948,949],{"class":191},"  readonly",[139,951,952],{"class":149}," [",[139,954,955],{"class":145},"P",[139,957,958],{"class":191}," in",[139,960,961],{"class":191}," keyof",[139,963,852],{"class":145},[139,965,966],{"class":149},"]",[139,968,969],{"class":191},":",[139,971,852],{"class":145},[139,973,974],{"class":149},"[",[139,976,955],{"class":145},[139,978,979],{"class":149},"]\n",[139,981,982],{"class":141,"line":168},[139,983,217],{"class":149},[139,985,986],{"class":141,"line":198},[139,987,873],{"emptyLinePlaceholder":62},[139,989,990,992,995,997,999,1001,1003],{"class":141,"line":214},[139,991,836],{"class":191},[139,993,994],{"class":145}," Optional",[139,996,575],{"class":149},[139,998,844],{"class":145},[139,1000,847],{"class":149},[139,1002,584],{"class":191},[139,1004,150],{"class":149},[139,1006,1007,1010,1012,1014,1016,1018,1020,1023,1025,1027,1029],{"class":141,"line":296},[139,1008,1009],{"class":149},"  [",[139,1011,955],{"class":145},[139,1013,958],{"class":191},[139,1015,961],{"class":191},[139,1017,852],{"class":145},[139,1019,966],{"class":149},[139,1021,1022],{"class":191},"?:",[139,1024,852],{"class":145},[139,1026,974],{"class":149},[139,1028,955],{"class":145},[139,1030,979],{"class":149},[139,1032,1034],{"class":141,"line":1033},7,[139,1035,217],{"class":149},[123,1037,1038],{"id":1038},"模板字面量类型",[17,1040,1041],{},"TypeScript 4.1 引入了模板字面量类型：",[130,1043,1045],{"className":482,"code":1044,"language":484,"meta":54,"style":54},"type EventName\u003CT extends string> = `on${Capitalize\u003CT>}`\ntype ClickEvent = EventName\u003C'click'> \u002F\u002F 'onClick'\n",[136,1046,1047,1082],{"__ignoreMap":54},[139,1048,1049,1051,1054,1056,1058,1060,1062,1064,1066,1069,1072,1074,1076,1079],{"class":141,"line":142},[139,1050,836],{"class":191},[139,1052,1053],{"class":145}," EventName",[139,1055,575],{"class":149},[139,1057,844],{"class":145},[139,1059,855],{"class":191},[139,1061,858],{"class":155},[139,1063,847],{"class":149},[139,1065,584],{"class":191},[139,1067,1068],{"class":280}," `on${",[139,1070,1071],{"class":145},"Capitalize",[139,1073,575],{"class":280},[139,1075,844],{"class":145},[139,1077,1078],{"class":280},">",[139,1080,1081],{"class":280},"}`\n",[139,1083,1084,1086,1089,1091,1093,1095,1098,1100],{"class":141,"line":55},[139,1085,836],{"class":191},[139,1087,1088],{"class":145}," ClickEvent",[139,1090,497],{"class":191},[139,1092,1053],{"class":145},[139,1094,575],{"class":149},[139,1096,1097],{"class":280},"'click'",[139,1099,847],{"class":149},[139,1101,1102],{"class":894},"\u002F\u002F 'onClick'\n",[123,1104,1105],{"id":1105},"实战应用",[17,1107,1108],{},"这些高级类型在实际项目中非常有用，特别是在构建类型安全的 API 和工具函数时。",[123,1110,325],{"id":325},[17,1112,1113],{},"掌握 TypeScript 高级类型，可以让我们编写更安全、更具表达力的代码。",[330,1115,1116],{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":54,"searchDepth":55,"depth":55,"links":1118},[1119,1120,1121,1122,1123],{"id":823,"depth":55,"text":823},{"id":919,"depth":55,"text":919},{"id":1038,"depth":55,"text":1038},{"id":1105,"depth":55,"text":1105},{"id":325,"depth":55,"text":325},"2025-04-15","深入理解 TypeScript 的高级类型系统，掌握条件类型、映射类型等技巧",{},"\u002Fblog\u002Ftypescript-advanced-types",{"title":812,"description":1125},"blog\u002Ftypescript-advanced-types",[721,351],"k7YCJ8VaGJZPRV5Cll9TZpxl6V7XAhysbNSuK8qUw0w",1776577690465]