自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(309)
  • 收藏
  • 关注

原创 8、【AI】【Agent】联网使用大模型(一)

本文分析了自回归模型中上下文长度对token生成速度的影响,指出在CPU推理场景下,上下文长度(≤8K)对速度的影响远小于模型参数量,主要受限于数据搬运效率。作者建议在硬件受限时优先选择小模型或使用云端API,并比较了免费网页版与收费API的本质区别:前者是用户产品,后者是生产力工具。API收费的核心原因在于防止滥用并覆盖高昂的GPU成本,而网页版存在功能限制。最后强调应合法使用官方API,避免违规抓取网页版数据。

2026-03-05 22:13:25 548

原创 7、【AI】【Agent】上下文长度对 tokens/s 的影响

本文分析了AI模型生成token时上下文长度对速度的影响。理论上,随着上下文变长,计算量会增加,生成速度会下降。但在CPU推理中,内存带宽是主要瓶颈,模型权重搬运时间远大于计算时间。实际测试显示,当上下文长度增加16倍时,速度仅下降10-15%;而模型参数量增加2.1倍时,速度下降60%以上。现代推理引擎通过KV Cache复用和内存访问优化,使上下文长度的影响显著降低。文章指出在CPU推理中,模型大小是主导因素,上下文长度是次要因素。

2026-03-05 22:13:01 446

原创 6、【AI】【Agent】输入/输出 tokens

本文分析了AI模型生成token速度(tokens/s)与用户体验的关系,指出30-60 tokens/s是流畅交互的基准。文章对比了输入和输出token处理的差异:输入处理(prompt分词)可并行且快速(~1600 tokens/s),而输出生成必须串行且依赖上下文(典型100 tokens/s)。关键发现包括:1)输出速度是用户体验的决定因素;2)输出阶段计算量随上下文长度增加;3)用户更关注输出速度因输入耗时短且输出长度不可控。最后强调参数量增加会显著降低生成速度,建议本地部署应优先考虑30-60

2026-03-03 20:13:38 481

原创 5、【AI】【Agent】tokens生成速度

本文分析了不同硬件环境下大模型生成tokens的速度差异。在纯CPU推理场景中,内存带宽成为主要瓶颈,导致即使强大CPU也无法充分发挥计算能力,如7B模型受限于DDR5内存带宽只能达到40-60 tokens/s。相比之下,GPU凭借更高显存带宽(如RTX 4090达1TB/s)能更好发挥并行计算优势。文章特别推荐了微软优化的Phi-3-mini模型(3.8B),其通过架构精简、CPU友好设计和算子融合等技术,在CPU环境下能达到接近Llama-3-8B两倍的速度。最终建议若要充分发挥大模型能力,应优先考虑

2026-03-03 20:12:40 396

原创 167、【OS】【Nuttx】【栈溢出】运行时检测细节(up_initial_state)

本文分析了Nuttx操作系统中栈溢出检测机制的实现细节,重点介绍了任务创建时如何设置栈底寄存器rBS。文章通过剖析up_initial_state函数,说明了RTOS如何为新任务伪造CPU寄存器状态:清空寄存器上下文、设置初始栈指针SP、程序计数器PC和链接寄存器LR。特别指出SP指向栈顶高地址,PC设置为任务入口函数,而LR则指向任务退出处理函数。这些初始化操作确保任务首次被调度时能正确执行,同时为栈溢出检测奠定基础。

2026-03-02 09:14:47 636

原创 4、【AI】【Agent】tokens 介绍

本文探讨了大模型中的关键概念"token",解释了其在中文和英文中的不同处理方式(1个汉字≈1-2 tokens,1个英文单词≈1-3 tokens)。通过具体示例展示了文本和代码的token拆分过程,并区分了输入token和输出token(tokens/s)的概念。文章对比了不同参数量的模型(如Phi-3-mini、CodeLlama-7B等)在相同硬件条件下的推理速度,指出参数量越大生成速度越慢的规律,这源于每个token生成都需要遍历所有参数进行计算。最后用自回归过程解释了toke

2026-03-02 09:13:51 544

原创 3、【AI】【Agent】本地模型(硬件参数)

本文探讨了本地运行AI大模型的关键技术指标,重点解析了模型参数规模(如3.8B、7B等)、量化格式(如Q5_K_M)和性能表现的关系。作者通过实测数据展示了不同规模模型在CPU上的推理速度和内存占用情况,指出7B~13B量级模型适合主流开发者使用。文章详细解释了量化技术的原理(如将16位浮点数压缩为5位整数),并对比了不同量化级别在文件大小、内存占用和精度上的差异,推荐Q5_K_M作为CPU推理的黄金标准。最后提供了模型规模与适用场景的对照表,为开发者选择合适模型提供参考。

2026-03-01 11:33:02 748

原创 2、【AI】【Agent】LLM 连接(本地模型)

本文探讨了AI Agent的实现架构与本地部署方案。文章指出Agent本质是LLM大模型的代理执行器,需通过连接大模型才能运作。部署方式分为联网使用闭源模型(如GPT-4)和本地部署开源模型两种方案。重点分析了本地部署的两种实现路径:基于Docker的Ollama方案和原生Linux方案,并详细介绍了评估本地硬件(CPU架构、核心数、指令集等)的关键指标。作者以AMD Ryzen 9处理器为例,解析了CPU性能对模型推理的影响要素,为开发者选择硬件配置提供了实用参考。

2026-03-01 11:32:41 1051

原创 1、【AI】【Agent】项目简介

摘要: AI Agent(智能体)是具备自主性、目标导向性和环境交互能力的智能系统,区别于传统被动响应的AI模型。其核心特征包括自主运行、目标驱动、工具调用、记忆学习等,典型架构由LLM(大模型)、规划器、执行引擎和记忆模块组成。当前主流类型涵盖单智能体(如AutoGPT)、多智能体协作(如MetaGPT)等。未来趋势包括Agent OS、个性化数字分身等。值得注意的是,AI Agent可完全离线运行,依托本地LLM(如Qwen-Max、Llama-3)和工具(文件读写、代码解释器),满足企业数据安全、隐私

2026-02-28 19:08:03 756

原创 166、【OS】【Nuttx】【栈溢出】运行时检测细节(一)

本文分析了Nuttx系统中栈溢出检测的实现细节。首先通过R10和R11寄存器推算栈空间分配时需向上补齐12字节(8字节用于栈指针对齐,4字节应对异常入口等情况)。然后重点介绍了Per-Call Stack Checking机制,该机制通过GCC插桩在函数入口/出口检查栈指针SP与安全下限rBS(R10)的关系。文章详细说明了rBS的初始化时机,为避免死循环需禁止对__start()函数插桩,并解释了为何rBS被设置为比实际栈底高64字节的位置(预留安全余量防止刚好溢出、补偿中断开销、方便调试)。最后指出实际

2026-02-28 19:05:56 746

原创 165、【OS】【Nuttx】【栈溢出】R11 的特殊处理

本文分析了Nuttx操作系统中栈溢出检测机制的实现细节。通过寄存器R10(栈底)和R11(溢出时SP)的差值可计算实际栈使用量,并需额外补偿12字节(8字节对齐+4字节潜在开销)。重点解释了ARM架构下函数prologue对栈指针的影响,以及栈检查在prologue前执行的时机。文章指出栈溢出检测会带来性能损耗,建议仅在调试阶段启用。技术细节包括AAPCS规范要求、函数prologue/epilogue概念,以及Nuttx特定的诊断机制实现方式。

2026-02-26 20:03:56 776

原创 164、【OS】【Nuttx】【栈溢出】代价

本文分析了Nuttx系统中栈溢出检测机制的性能代价。启用CONFIG_ARMV7M_STACKCHECK后,每次函数调用会增加两次插桩调用,导致CPU占用率上升30-35%,可能影响实时性。建议调试阶段开启,生产环境采用更轻量方案如MPU保护或栈染色检查。文章还介绍了Nuttx利用R10/R11寄存器记录栈溢出地址的调试机制,通过保存栈底地址和溢出时的SP值,帮助开发者精确计算所需栈空间。该机制从2019年提交开始实现,在发生栈溢出时将非法SP值存入R11寄存器,便于故障诊断。

2026-02-26 20:03:14 601

原创 163、【OS】【Nuttx】【栈溢出】中断栈行为(单栈模型)

本文分析了Cortex-M架构中单栈和双栈模型的特点。单栈模型适用于简单系统,所有代码共享MSP栈指针,节省RAM但存在栈溢出风险;双栈模型通过PSP和MSP隔离任务栈与中断栈,安全性更高但占用更多资源。文章还介绍了Nuttx的栈检查功能(CONFIG_ARMV7M_STACKCHECK)带来的性能开销,包括代码体积增大和运行速度下降,因为该功能会在每个函数中插入额外的栈检查指令。两种栈模型各有优劣,开发者需根据应用场景权衡选择。

2026-02-24 08:25:08 731

原创 162、【OS】【Nuttx】【栈溢出】中断栈行为(双栈模型)

本文分析了Cortex-M架构中特权模式与栈指针的行为特点。通过模拟芯片复位、RTOS启动任务、中断发生和中断返回四个场景,详细说明了Privileged/Unprivileged模式与MSP/PSP双栈机制的交互关系。重点指出在RTOS双栈模型下,中断服务程序(ISR)会强制使用独立的中断栈(MSP),无法共享任务栈空间(PSP),这是安全且主流的设计方案。文章最后讨论了中断栈溢出检测的局限性,并预告将深入分析单栈模型场景。全文通过寄存器配置、模式切换和栈隔离机制,系统性地阐述了Cortex-M架构的栈管

2026-02-24 08:24:41 582

原创 161、【OS】【Nuttx】【栈溢出】中断栈行为(Privileged Mode)

本文分析了ARM Cortex-M架构中的特权级(Privileged)和非特权级(Unprivileged)机制,这是RTOS实现系统安全隔离的关键。非特权级代码受限访问系统寄存器、控制外设和内存区域,必须通过SVC指令请求特权服务;特权级代码拥有完全系统控制权,并可切换任务上下文。文章还指出特权代码可通过设置CONTROL寄存器让Thread Mode运行在非特权级,而Handler Mode始终为特权级。这些机制有效保护内核不受用户任务破坏。

2026-02-22 12:40:07 950

原创 160、【OS】【Nuttx】【栈溢出】中断栈行为(Processor Mode)

本文分析了Cortex-M处理器中栈指针的实现机制,重点介绍了MSP和PSP两个独立栈指针的硬件结构及其访问方式。文章指出CPU会根据当前模式(Handler/Thread)和CONTROL寄存器动态选择映射到R13的栈指针,并详细阐述了Handler模式始终使用MSP的特性。同时,文章还解析了处理器模式(Thread/Handler)与特权级别(Privileged/Unprivileged)的相互关系,说明这是RTOS实现任务隔离的基础。最后强调了模式切换时SP映射的变化规律,为后续深入分析中断栈行为奠

2026-02-22 12:39:35 772

原创 159、【OS】【Nuttx】【栈溢出】中断栈不检查(二)

本文分析了Nuttx系统中中断服务程序(ISR)的栈溢出检测问题。指出由于中断发生时CPU保留原任务寄存器状态,使用任务栈指针(rBS)检查中断栈(MSP)无效。即使更新rBS也会带来额外指令开销,影响高频中断性能。文章详细解释了ARM Cortex-M架构下硬件自动保存部分寄存器、软件保存剩余寄存器的分工机制,以及中断栈切换由CONTROL寄存器控制的核心原理。最后说明中断是否使用独立栈空间取决于具体配置。文章为理解RTOS中断处理机制提供了技术细节。

2026-02-21 09:41:04 732

原创 158、【OS】【Nuttx】【栈溢出】中断栈不检查(一)

本文分析了Nuttx实时操作系统中栈溢出检测的技术限制,重点解释了中断服务程序(ISR)无法进行栈检查的原因。当发生中断时,CPU不会自动更新任务栈基址寄存器rBS(R10),导致ISR中使用被中断任务的栈底地址进行检查会产生逻辑错误。文章详细阐述了ARM架构下中断处理机制,包括自动压栈寄存器和栈指针切换过程,指出由于硬件不感知rBS寄存器,且ISR可能运行在不同栈空间(MSP),因此软件更新rBS的代价过高且无实际意义。最后说明这是Nuttx主动跳过中断栈检查以避免误报的根本原因。

2026-02-21 09:40:40 808

原创 157、【OS】【Nuttx】【栈溢出】-finstrument-functions(二)

本文分析了GCC的-finstrument-functions插桩功能的技术细节。重点阐述了该功能如何通过__cyg_profile_func_enter/exit记录函数调用信息,包括内联函数的处理机制,要求函数实体必须存在可寻址地址。文章还讨论了no_instrument_function属性的重要性,特别指出用户自定义插桩函数、中断服务程序(ISR)和信号处理函数必须禁用插桩,以避免递归调用、性能下降或系统崩溃等问题。通过实际代码示例和编译命令,展示了插桩功能的具体实现方式及其对程序运行的影响。

2026-02-19 18:37:02 727

原创 156、【OS】【Nuttx】【栈溢出】-finstrument-functions(一)

【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除。

2026-02-19 18:36:20 598

原创 155、【OS】【Nuttx】【栈溢出】安全边距(二)

本文分析了Nuttx操作系统中栈溢出检测的关键问题。文章指出,即使为任务栈预留200字节的安全余量,仍无法完全保证中断安全,因为ISR中断服务程序可能因大数组或深度嵌套导致栈溢出。建议采用独立ISR栈空间(1-2KB)以隔离任务栈与中断栈,并严格限制ISR行为:避免大数组声明、复杂函数调用和动态内存分配,仅执行清中断标志、发信号等简单操作。文中强调这是嵌入式系统常见崩溃原因,符合MISRA C等安全标准对ISR"短小确定"的要求,为嵌入式开发提供了重要实践参考。

2026-02-18 09:00:10 732

原创 154、【OS】【Nuttx】【栈溢出】安全边距(一)

本文分析了Nuttx操作系统中的栈溢出检测机制。通过GCC的-finstrument-functions选项,在函数入口和出口自动插入检查代码。重点解释了检查逻辑:每次函数调用时,比较当前栈指针(SP减去安全边距200字节)与栈底寄存器(R10),若小于则触发硬件故障。安全边距考虑了中断场景下栈空间的消耗:无独立中断栈时需预留200字节保存中断上下文;有独立中断栈时仍需少量空间用于切换过程。文章强调预留安全余量的重要性,以防止栈溢出导致内存破坏。

2026-02-18 08:59:40 638

原创 153、【OS】【Nuttx】【栈溢出】回归!继续 Nuttx 探索(Stack Monitor)

本文介绍了Nuttx系统中的栈溢出检测机制。首先通过CONFIG_STACK_COLORATION配置开启栈监视器功能,使用固定值填充栈空间以检测溢出。其次,详细分析了Stack Monitor守护进程的工作原理及其局限性,指出它无法检测跳跃式栈溢出。最后,提出了Per function Call机制,通过编译器插桩和保留R10寄存器来实时检查栈指针越界。文章还提到新建的Gitee仓库用于存放Nuttx源备份,并预告了后续内容。

2026-02-15 16:00:58 765

原创 132、【Ubuntu】【Hugo】搜索功能异常(问题解决)(二)

本文分析了Hugo博客搜索功能异常问题,发现是由于.Scratch在热重载时未清空导致内容重复。文章详细解释了.Scratch的软弃用状态及其替代方案.Store的用法,并指出问题根源在于错误使用Add而非Set初始化空切片。通过将$.Scratch.Add "index" slice修改为$.Scratch.Set "index" (slice),成功解决了搜索结果的重复问题。同时建议开发者尽快迁移到推荐的.StoreAPI以避免未来兼容性问题。

2026-02-15 07:30:56 1026

原创 131、【Ubuntu】【Hugo】搜索功能异常(问题解决)(一)

摘要:文章分析了Hugo博客搜索功能异常问题,指出在hugo server热重载过程中,index.json模板因$.Scratch状态未完全重置导致数据重复。作者解释了$.Scratch作为临时存储的作用及其在一次性构建和热重载中的不同表现,指出问题根源在于热重载时Hugo会复用内存上下文。该问题属于Hugo开发服务器的经典现象,建议通过显式清空$.Scratch来解决。(149字)

2026-02-11 08:56:13 763

原创 130、【Ubuntu】【Hugo】首页板块配置(二)

本文分析了如何在Hugo博客首页显示技术专栏板块。通过自定义index.html模板,从hugo.toml配置中动态加载homeSpecialSections指定的专题页面(如CSDN专栏),并渲染为导航卡片。文章详细解析了模板代码逻辑,包括配置检查、页面获取、卡片渲染等关键步骤,最终实现了在保留PaperMod主题风格的同时,在首页展示专题入口的功能。该方案解决了默认list.html模板无法显示板块的问题,为博客提供了更好的内容导航体验。

2026-02-11 08:55:51 888

原创 129、【Ubuntu】【Hugo】首页板块配置(一)

本文介绍了如何在Hugo博客中配置首页板块。作者首先分析了PaperMod主题默认只显示文章列表而不显示板块的问题,然后通过创建Branch Bundle(包含_index.md文件的目录)来组织内容。为解决首页不显示板块的问题,作者自定义了index.html模板,通过配置homeSpecialSections参数实现了首页板块的自动加载。最终效果是在首页同时显示欢迎信息和技术专栏板块,同时保持了与PaperMod主题一致的风格。

2026-02-10 21:01:14 734

原创 128、【Ubuntu】【Hugo】首页板块配置:list 模板(七)

本文分析了Hugo博客系统中list.html模板的分页导航实现细节。重点讲解了如何通过Go模板语法实现智能分页显示,包括判断总页数是否大于1才渲染导航、使用语义化HTML标签优化SEO和无障碍访问、实现上一页/下一页的跳转逻辑以及多语言支持。文章还介绍了如何通过配置参数控制页码显示,并详细解析了分页导航中的URL生成机制和页码计算逻辑。最终实现了一个包含箭头导航、多语言文本和可选页码显示的专业分页系统。

2026-02-10 21:00:47 587

原创 127、【Ubuntu】【Hugo】首页板块配置:list 模板(六)

本文分析了Hugo博客模板中文章摘要和元信息的显示逻辑。摘要部分通过<div class="entry-content">包裹,使用管道操作处理文本显示,并自动添加省略号表示截断。文章元信息通过<footer>标签展示,强调该标签不仅用于网页底部,也可作为区块的尾部信息。模板支持通过参数控制摘要和元信息的显示,体现了语义化HTML的设计理念。文章还解释了<p>标签在段落排版中的作用,以及<footer>标签的正确使用场景。

2026-02-09 21:26:59 774

原创 126、【Ubuntu】【Hugo】首页板块配置:list 模板(五)

本文详细解析了Hugo模板中渲染文章摘要卡片的核心逻辑,重点分析了封面图显示控制、文章标题和草稿标识的实现方式。通过判断cover.hidden和cover.hiddenInList参数决定是否显示封面图,使用<article>标签包裹每篇文章内容。文章还对比了Feather Icons和Material Icons两种图标风格,并解释了草稿标识的SVG图标实现细节,包括其HTML结构、可访问性设计以及鼠标悬停提示功能。这些模板代码设计灵活,既考虑了视觉呈现效果,也兼顾了用户体验和可访问性。

2026-02-09 21:26:38 664

原创 125、【Ubuntu】【Hugo】首页板块配置:list 模板(四)

本文分析了Hugo博客模板中文章列表项的CSS类名动态设置逻辑。主要分为三种情况:首页首篇文章使用"first-entry"类;标签/分类页文章使用"post-entry tag-entry"类;其他情况保留默认"post-entry"类。文章详细解释了Go模板中$和.的区别,说明$始终指向原始页面上下文,而.在range循环中会被重绑定为当前迭代项。通过实际HTML渲染示例展示了不同场景下的类名应用,为后续CSS样式分析奠定了基础。

2026-02-07 07:27:46 986

原创 124、【Ubuntu】【Hugo】首页板块配置:list 模板(三)

本文分析了Hugo博客首页模板的配置细节,重点讲解了分页功能和文章样式控制。通过.Paginate函数实现文章分页,并详细说明了分页对象的属性和配置方法。文章还深入解析了首页信息卡片的显示条件判断逻辑,以及如何为不同页面类型(首页、分类/标签页)的文章动态设置CSS类名。特别说明了首页首篇文章的特殊样式控制机制,包括判断条件和使用场景。这些配置使博客能够灵活展示内容,同时保持良好的视觉效果。

2026-02-07 07:27:26 790

原创 123、【Ubuntu】【Hugo】首页板块配置:list 模板(二)

本文分析了Hugo博客中RSS订阅和首页列表配置的技术细节。主要内容包括:1) RSS文件格式解析,重点说明<item>元素中的标题、链接、发布时间等关键字段;2) 博客页面的条件渲染逻辑,特别是标题锚点功能的实现方式;3) 首页文章列表的筛选机制,通过mainSections参数和hiddenInHomeList属性控制文章显示。文章基于公开技术文档,不涉及任何商业机密,为个人博客搭建提供实用技术参考。

2026-02-06 08:36:20 771

原创 122、【Ubuntu】【Hugo】首页板块配置:list 模板(RSS 订阅)

本文介绍了RSS订阅功能及其在Hugo博客中的应用。RSS(Really Simple Syndication)是一种基于XML的标准格式,用于自动推送更新内容,用户可通过阅读器订阅网站RSS文件(如index.xml)获取最新文章通知。文章详细解析了RSS 2.0规范的结构,包括channel元素(网站信息)和item元素(单篇文章),并展示了Hugo生成的RSS文件示例。最后说明只需在hugo.toml中配置输出格式即可自动生成RSS文件。

2026-02-06 08:35:54 700

原创 121、【Ubuntu】【Hugo】首页板块配置:list 模板(一)

本文分析了Hugo博客模板系统的工作原理,重点解读了PaperMod主题中list.html模板的配置逻辑。文章详细讲解了个人主页模式(Profile Mode)的启用条件,以及页面头部(Header)的渲染规则,包括面包屑导航、标题显示和RSS订阅按钮的实现。特别深入解析了.OutputFormats.Get "rss"方法获取RSS输出格式的机制,以及with指令在Go模板中的作用。通过示例代码展示了如何安全获取并使用页面的RSS输出链接,帮助读者理解Hugo模板系统的灵活性和实现细

2026-02-04 21:22:13 841

原创 120、【Ubuntu】【Hugo】首页板块配置:Template Lookup Order(示例)

本文探讨了Hugo模板系统的灵活配置机制,重点分析如何通过type和layout参数实现精准模板匹配。文章通过具体示例演示了:1)多语言站点可通过language后缀区分模板;2)利用layout参数为特定页面指定专属模板;3)通过type参数对同类页面进行统一管理。系统遵循"约定优于配置"原则,默认使用page类型和single.html模板,同时支持通过front matter声明实现高度定制化。实际应用中,建议对个别特殊页面使用layout参数,对同类页面使用type参数进行管理,

2026-02-04 21:21:53 633

原创 119、【Ubuntu】【Hugo】首页板块配置:Template Lookup Order

本文深入解析了Hugo模板系统的查找机制,重点介绍了.Kind属性如何决定模板选择。文章指出,首页属于list page类型,会优先查找index.html模板,否则使用_default/list.html作为兜底。此外还详细讲解了Layout、Output Format、Language、Type和Section等参数的匹配规则,并通过具体示例展示了多语言站点首页的模板查找流程。文章技术细节丰富,为Hugo用户提供了实用的模板配置指南。

2026-02-02 22:22:54 826

原创 118、【Ubuntu】【Hugo】首页板块配置:Template Lookup Order(.Kind)

本文详细解析了Hugo模板系统中的Kind属性机制。Kind是Hugo页面对象的核心属性,通过文件名和目录结构自动确定页面类型(home/page/section/taxonomy/term)。文章通过具体目录结构示例展示了不同Kind的判定规则,并介绍了如何在模板中使用.Kind进行条件渲染和布局控制。特别强调Hugo v0.146.0版本重构后模板查找顺序的变化,指出.Kind是决定模板选择的关键因素,对实现多类型页面差异化展示具有重要意义。

2026-02-02 22:22:33 756

原创 117、【Ubuntu】【Hugo】首页板块配置:Branch Bundle

本文介绍了Hugo中Branch Bundle的概念及其应用。Branch Bundle是包含_index.md文件的目录,可以包含子目录和资源文件,与Leaf Bundle形成树状结构。文章通过示例展示了Branch Bundle的组织方式,并指出顶级Branch Bundle(content/_index.md)需要配合模板使用。同时解释了Hugo的模板继承机制,包括模板查找顺序和PaperMod主题的默认实现方式。最后提到首页板块功能的实现需要用户自定义模板调整。

2026-02-01 20:26:58 1066

原创 116、【Ubuntu】【Hugo】首页板块配置:Leaf Bundle

本文分析了Hugo博客首页的渲染机制,重点介绍了Leaf Bundle的概念。首页内容由Hugo的内容组织机制和主题配置共同决定,Hugo默认只渲染特定内容到首页。Leaf Bundle是包含index.md的文件夹,不能包含子Bundle,但可包含其他资源文件。文章通过示例说明了Leaf Bundle的特点:必须包含index.md、不能有子Bundle、可位于任意目录深度、非index.md文件属于资源文件。这些知识为后续配置首页板块功能奠定了基础。

2026-02-01 20:26:18 810

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除