Hugo Blox Builder 简历页实战:用 resume 系列 Blox 组装 Experience / Skills / Awards / Languages 履历页面
静态站点前端开发工具【免费下载链接】kit Describe your site, AI builds it, you own it as Markdown. Snap together Tailwind blocks like Lego — landing pages, blogs, portfolios, docs more. No AI slop. Free to deploy anywhere 项目地址https://gitcode.com/gh_mirrors/hu/kit点击查看免费下载starters/academic-cv/content/experience.md是 Academic CV 起始模板中一份典型的 landing 型 页面配置它本身几乎不书写 HTML而是通过 front matter 声明type: landing并以sections列表按顺序挂载 4 个resume-*系列 Blox履历经历、技能、奖项、语言。本文将以该文件为骨架结合仓库中modules/blox-tailwind/layouts/partials/blox/下的源码实现逐块拆解其配置语法、数据来源与底层渲染原理帮助你掌握用 Hugo Blox Builder本项目gh_mirrors/hu/kit即其源码镜像快速搭建一份个人简历页的完整方法。一、页面骨架一份 landing 页面如何被 拼装 出来先看关联文档starters/academic-cv/content/experience.md的完整内容--- title: Experience date: 2023-10-24 type: landing design: spacing: 5rem # Note: username refers to the users folder name in content/authors/ # Page sections sections: - block: resume-experience content: username: admin design: # Hugo date format date_format: January 2006 # Education or Experience section first? is_education_first: false - block: resume-skills content: title: Skills Hobbies username: admin design: show_skill_percentage: false - block: resume-awards content: title: Awards username: admin - block: resume-languages content: title: Languages username: admin ---这份 front matter 可以拆成三层结构层级字段作用页面级type: landing声明页面使用 landing 布局由 Hugo Blox Builder 的 landing 渲染管线接管页面级design.spacing: 5rem控制区块之间的垂直间距Tailwind 风格的长度值区块级sections[].block指定要渲染的 Blox 名称如resume-experience区块级sections[].content传给 Blox 的内容参数核心是username区块级sections[].design传给 Blox 的样式/行为参数如date_format、is_education_first关键约定原文档注释原话username指的是content/authors/下某个作者目录的文件夹名。也就是说简历数据不写在这个页面里而是统一存放在作者档案页content/authors/admin/_index.md的 front matter 中各resume-*Blox 通过username找到对应的作者页面再读取其work、education、skills、languages、awards等参数进行渲染。这种 页面只做拼装、数据归于作者档案 的设计让同一份作者数据可以被多个页面About、Experience、Publications 等复用。二、resume-experience经历 教育的时间线区块resume-experience是这份页面中参数最丰富的区块对应源码 modules/blox-tailwind/layouts/partials/blox/resume-experience.html。2.1 数据从哪来源码第 10-16 行展示了其数据获取链路{{ $author : $block.content.username | default admin }} {{ $person_page_path : (printf /authors/%s $author) }} {{ $person_page : site.GetPage $person_page_path }} {{ $person : $person_page.Params }}即username缺省时为admin拼出/authors/admin路径后通过site.GetPage取到作者页面再取它的Params。若找不到对应作者页模板会直接以errorf抛出构建错误第 13-15 行提示你检查username取值并创建对应的作者页面——这是使用该 Blox 最常见的报错来源。2.2 两个 design 参数的源码级解释原文档配置了design: date_format: January 2006 # Hugo date format is_education_first: false # Education or Experience section first?date_formatGo 模板日期格式化字符串参照 Go 的 2006 年 1 月 2 日参考时间约定。源码第 44、47 行在渲染起止日期时使用(time .date_start) | time.Format ($block.design.date_format | default January 2006)即未配置时默认输出January 2006这样的 年-月 格式适合简历场景。你也可以改成Jan 2006、2006-01等任意 Go 格式。is_education_first源码第 17 行{{ $is_education_first : $block.design.is_education_first | default false }}默认false工作经历在前。第 27 行通过{{ if $is_education_first }}flex-col-reverse{{end}}控制容器使用 Tailwind 的flex-col-reverse从而把教育区块翻转到工作经历之前。可见其实现方式是纯 CSS 顺序翻转而非重新排序数据。2.3 渲染逻辑两段时间线源码第 29-65 行渲染$person.work第 67-104 行渲染$person.education两者共用同一套 竖向时间线 结构每一条记录是一个li左侧是圆点图标工作用公文包 SVG、教育用学士帽 SVG右侧依次展示标题工作为.position教育为.area副标题工作为.company_name教育为.institution时间段date_start–date_end当date_end为空时自动显示Present源码第 49 行{{ i18n present | default Present }}支持国际化覆盖见仓库 i18n/en.yaml正文.summary经$page.RenderString渲染因此支持 Markdown 语法如列表、斜体、链接可选.button提供text和url两个子字段渲染为带下载图标的外部链接按钮如 Read Thesis。三、resume-skills技能分组与进度条resume-skills区块对应源码 modules/blox-tailwind/layouts/partials/blox/resume-skills.html。原文档中它的配置最简- block: resume-skills content: title: Skills Hobbies username: admin design: show_skill_percentage: false3.1 参数语义content.title区块大标题源码第 21 行经markdownify | emojify渲染因此标题里可以写 Markdown 或 emoji。design.show_skill_percentage是否显示百分比进度条。源码第 16 行{{ $show_show_skill_percentage : $block.design.show_skill_percentage | default true }}——默认是true原文档显式设为false是为了隐藏进度条适合不强调掌握程度的简历风格。注意变量名在源码中写为$show_show_skill_percentage多一个 show属源码原有拼写。3.2 数据结构与渲染细节技能数据来自作者页params.skills是一个分组数组每组结构如下示例见 content/authors/admin/_index.md 第 110-142 行skills: - name: Technical Skills items: - name: Python description: percent: 80 icon: code-bracket - name: Hobbies color: #eeac02 color_border: #f0bf23 items: - name: Hiking percent: 60 icon: person-simple-walk组级字段name分组标题、color进度条填充色、color_border进度条边框色默认均为空此时使用主题默认色条目级字段name、description、percent0-100 整数、iconSVG 图标名源码第 38 行{{ $pack : or .icon_pack fas }}支持用icon_pack指定图标库fab/fas/far/fal会被归一化为fa前缀随后经 partials/functions/get_icon.html 渲染为内联图标进度条本体源码第 56-60 行是一个外层skills-wrapper可带border-color内嵌skills-percent的 div宽度由percent计算为百分比背景色取color。只有percent存在且show_skill_percentage为真时才渲染。四、resume-awards奖项卡片列表resume-awards区块对应源码 modules/blox-tailwind/layouts/partials/blox/resume-awards.html原文档配置为- block: resume-awards content: title: Awards username: admin奖项数据来自作者页params.awards字段与含义字段必填说明title是奖项/证书名称awarder是颁发机构如 Coursera、edXdate是颁发日期如2023-11-25url否奖项详情页链接标题将变为可点击链接certificate_url否证书链接渲染为 See certificate 按钮文案可通过 i18nsee_certificate覆盖icon否机构品牌图标按 brands 图标包渲染summary否Markdown 格式的获奖说明源码第 27 行以sort $awards .date_start desc对奖项做降序排序从排序键看设计意图是让最新奖项置顶。渲染时每项是一张卡片rounded-lg shadow展示图标、标题、awarder · 日期日期同样套用design.date_format默认January 2006、摘要与证书按钮。五、resume-languages环形语言进度图resume-languages区块对应源码 modules/blox-tailwind/layouts/partials/blox/resume-languages.html原文档配置- block: resume-languages content: title: Languages username: admin语言数据来自作者页params.languages结构非常简单languages: - name: English percent: 100 - name: Chinese percent: 75 - name: Portuguese percent: 25其渲染逻辑颇具巧思源码第 28-38 行每门语言用一个 SVG 环形进度图表示——底层是灰色背景圆环上层是主题色primary-600圆环通过stroke-dasharray: calc(2 * 22 / 7 * 120)周长 2πr ≈ 2×3.14×120与stroke-dashoffset按percent计算出的偏移量实现按百分比画弧的效果圆环中心叠加{{.percent}}%文字下方显示语言名。该区块不需要任何 design 参数即可工作。六、数据中枢作者页 front matter 全字段四个resume-*Blox 的数据全部集中在 starters/academic-cv/content/authors/admin/_index.md 的 front matter 中。除页面级信息title、role、organizations、profiles、interests等外与本文相关的简历数据字段汇总如下education: - area: PhD Artificial Intelligence # 学位/专业 institution: Stanford University # 学校 date_start: 2016-01-01 date_end: 2020-12-31 # 留空则显示 Present summary: | # 支持 Markdown Thesis on _Why LLMs are awesome_. button: text: Read Thesis url: https://example.com work: - position: Director of Cloud Infrastructure # 职位 company_name: GenCoin # 公司 company_url: # 可选公司链接 company_logo: # 可选品牌 SVG 图标名 date_start: 2021-01-01 date_end: # 留空 在职显示 Present summary: |2- # 多行摘要YAML 块标量 Responsibilities include: - ... skills: # 见第三节 languages: # 见第五节 awards: # 见第四节作者页本身的 front matter 中还支持superuser: true标识站点主用户、highlight_name: true等字段。需要说明的是content/authors/_index.md注意区别于admin/_index.md通过_build.render: never关闭了作者列表页自身的渲染仅将其作为数据容器使用。七、两种渲染引擎的对照Tailwind 版 vs Bootstrap 版本仓库同时维护两套渲染体系理解它们有助于避免配置混淆blox-tailwind 版本文讲解的resume-experience/resume-skills/resume-awards/resume-languages四个 Blox 均位于 modules/blox-tailwind/layouts/partials/blox/数据取自作者页ParamsAcademic CV 起始模板starters/academic-cv默认走这套blox-bootstrap 版旧式experienceBlox 位于 modules/blox-bootstrap/layouts/partials/blocks/experience.html其配置方式不同——数据直接写在区块自身的content.items中含title、company、company_logo、date_start等支持design.columns: 1|2控制列数并按items声明顺序渲染源码注释明确默认使用用户自定义顺序Hugo 不支持对 params 多重排序。如果你的页面配置里写的是block: experience无resume-前缀走的便是 Bootstrap 版写block: resume-experience则走 Tailwind 版。两者字段命名也有差异如companyvscompany_name迁移时需同步修改数据源。八、从零验证本地运行与预览你可以将本仓库视为 Hugo Blox Builder 的源码集直接在 academic-cv 起始模板上体验这份 experience 页面# 克隆仓库本仓库为 HugoBlox/hugo-blox-builder 的镜像 git clone https://gitcode.com/gh_mirrors/hu/kit cd kit/starters/academic-cv # 使用 Hugo 本地预览需 Go 与 Hugo ≥ 0.128 环境模块通过 go.mod 自动拉取 hugo server随后访问http://localhost:1313/experience/即可看到由 4 个 resume Blox 拼装出的简历页。若控制台报错Could not find an author page at /authors/xxx按错误提示检查sections[].content.username与content/authors/下的目录名是否一致即可。修改content/authors/admin/_index.md中的work、education、skills、languages、awards刷新页面即可实时预览变更——这正是 数据与展示分离 带来的迭代效率。小结experience.md用不到 40 行配置就完成了一个完整简历页的组装type: landing声明布局、design.spacing控制节奏、4 个resume-*Blox 各司其职、username串起作者数据源。结合源码可以看到每个参数背后的实现——is_education_first只是一行flex-col-reversedate_format只是time.Format的格式化串Present文案可被 i18n 覆盖技能条与语言环分别由 CSS 宽度与 SVGstroke-dashoffset驱动。掌握这一套 配置即代码 的组装思路后你完全可以在此基础上增删 Blox、调整顺序、自定义图标与配色把简历页扩展成完全贴合个人风格的形态。赞分享静态站点前端开发工具【免费下载链接】kit Describe your site, AI builds it, you own it as Markdown. Snap together Tailwind blocks like Lego — landing pages, blogs, portfolios, docs more. No AI slop. Free to deploy anywhere 项目地址https://gitcode.com/gh_mirrors/hu/kit点击查看免费下载相关推荐Hugo Blox Builder 学术简历首页搭建实战逐块解析 academic-cv 模板的 landing 页面配置Hugo Blox Builder 学术简历首页搭建实战逐块解析 academic cv 模板的 landing 页面配置 本文以仓库中 starters b静态站点前端开发工具Hugo Blox 学术简历主题演讲页Event/Talk实战从 Front Matter 到 Reveal 幻灯片Hugo Blox 学术简历主题演讲页Event/Talk实战从 Front Matter 到 Reveal 幻灯片 本文以 starters boots静态站点前端开发工具Flipper Zero 上的 Yahtzee 骰子游戏flipperzero-yatzee 玩法、计分体系与 C 源码实现剖析Flipper Zero 上的 Yahtzee 骰子游戏flipperzero yatzee 玩法、计分体系与 C 源码实现剖析 导读 本文围绕 Flippe静态站点前端开发工具上一篇pry-byebugRuby开发的超级调试利器下一篇动态SVG动画库 AnimatedSvgView - 让你的Android应用更具视觉魅力创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

React.cache() 请求内去重指南:服务端认证与数据库查询的 RSC 性能优化(mediago Vercel React 最佳实践)

React.cache() 请求内去重指南:服务端认证与数据库查询的 RSC 性能优化(mediago Vercel React 最佳实践)

音视频桌面应用后端 【免费下载链接】mediago 跨平台视频提取工具:支持流媒体下载、视频下载、m3u8 下载及 B站视频下载,提供 Windows 和 Mac 桌面客户端。Cross-platform video extraction tool: Supports streaming download, video download, m3u8 do…

2026/9/25 8:21:38 阅读更多 →
DeepPCB标注格式深度解析:x1,y1,x2,y2,type与6大缺陷类别ID详解

DeepPCB标注格式深度解析:x1,y1,x2,y2,type与6大缺陷类别ID详解

DeepPCB标注格式深度解析:x1,y1,x2,y2,type与6大缺陷类别ID详解 【免费下载链接】DeepPCB A PCB defect dataset. 项目地址: https://gitcode.com/gh_mirrors/de/DeepPCB 想快速上手 DeepPCB 数据集吗?本文用最短篇幅讲透它的标注格式&#xff1a…

2026/9/25 8:21:38 阅读更多 →
Edge浏览器优化实战:从闪退、内存高到IE模式与开发者模式全解

Edge浏览器优化实战:从闪退、内存高到IE模式与开发者模式全解

这段时间我收到不少私信,都在问类似的问题:Edge浏览器到底还能不能用?为什么每次点开都慢吞吞、内存占用高,有时候还莫名其妙闪退,甚至一打开就跳转到2345网址导航。还有人直接把Edge和Chrome对比,搜“谷歌…

2026/9/25 8:21:38 阅读更多 →

最新新闻

Interpretable Robot Control via Structured Behavior Trees and Large Language Models

Interpretable Robot Control via Structured Behavior Trees and Large Language Models

论文核心内容与创新点总结及关键部分翻译 一、论文主要内容总结 该论文聚焦智能机器人在人类环境中的应用痛点,即传统机器人控制方法需用户适应特定界面或记忆预设指令,在动态非结构化环境中可用性受限,由此提出一种将大型语言模型(LLMs)与行为树(BTs)相结合的新型框架…

2026/9/26 15:52:22 阅读更多 →
大模型API聚合平台深度剖析:选型前必须弄清的五个关键问题

大模型API聚合平台深度剖析:选型前必须弄清的五个关键问题

大模型API聚合平台越来越多,选型时的信息差却没变小。各家大模型API在协议、鉴权、流式格式上互不兼容,需要中间架一层聚合网关统一输出标准接口,同时兼顾计费统计、限流与密钥安全分发等企业需求。在反复对比主流平台之后,本文把选型前必须弄清的五个关键问题梳理成文,第一个推…

2026/9/26 15:52:22 阅读更多 →
小红书内容质量评分体系:xiaobei 项目 rubric_notes.md 全解析与源码级实践指南

小红书内容质量评分体系:xiaobei 项目 rubric_notes.md 全解析与源码级实践指南

人工智能AI Agent大模型AI 应用媒体生成 【免费下载链接】xiaobei 为OPC/中小微企业量身打造的自媒体获客智能体 项目地址: https://gitcode.com/gh_mirrors/wi/xiaobei 点击查看 免费下载 本文以 crews/main/calibration/xhs/rubric_notes.md(全平台统…

2026/9/26 15:52:22 阅读更多 →
AICrypto: A Comprehensive Benchmark For Evaluating Cryptography Capabilities of Large Language Mo...

AICrypto: A Comprehensive Benchmark For Evaluating Cryptography Capabilities of Large Language Mo...

文章主要内容和创新点 主要内容 本文提出了首个全面评估大型语言模型(LLMs)密码学能力的基准AICrypto,旨在填补当前LLMs在密码学领域能力评估的空白。该基准包含三类任务: 135道选择题(MCQs):测试LLMs对密码学基础概念的事实记忆能力,涵盖经典密码学、对称加密、非对…

2026/9/26 15:52:22 阅读更多 →
5分钟上手Effective HTML:免安装、npx与Claude Code插件3种启动方式

5分钟上手Effective HTML:免安装、npx与Claude Code插件3种启动方式

5分钟上手Effective HTML:免安装、npx与Claude Code插件3种启动方式 【免费下载链接】effective-html Agent skills for useful HTML artifacts, wireframes, interactive prototypes, plans, and diagrams. 项目地址: https://gitcode.com/gh_mirrors/ef/effecti…

2026/9/26 15:52:22 阅读更多 →
Atlas 300V 24G推理卡部署YOLO实战:从CANN环境到性能调优

Atlas 300V 24G推理卡部署YOLO实战:从CANN环境到性能调优

1. 先弄明白:Atlas 300V 24G是什么级别的卡1.1 一个大白话视角的硬件画像很多朋友看到“Atlas 300V 24G”这串字,第一反应是问:这是不是一张运算加速卡?答案是肯定的,但更准确地说,它是一张AI推理加速卡&am…

2026/9/26 15:51:22 阅读更多 →

日新闻

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、…

2026/9/26 0:00:25 阅读更多 →
学校官网模拟全流程实践:从页面布局到后端接口与部署

学校官网模拟全流程实践:从页面布局到后端接口与部署

如果你正在找一门 Web 大作业的题目,或者刚开始接触 Web 前端开发想做点能拿来展示的东西,“学校官网模拟”几乎是最稳的选择。题目看着简单,但要把导航、新闻列表、轮播 Banner、二级页面、后台数据都串起来,其实已经把前端布局、…

2026/9/26 0:00:25 阅读更多 →
超级玛丽游戏源码C++:从零搭建横版跳跃游戏工程

超级玛丽游戏源码C++:从零搭建横版跳跃游戏工程

简介:这是一份面向游戏开发初学者与C进阶学习者的超级玛丽(超级马里奥)游戏源码,基于C面向对象编程实现,适合想通过经典项目理解游戏主循环、角色类设计、地图关卡加载与物理碰撞检测的读者参考。压缩包共49个文件&…

2026/9/26 0:00:25 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/25 19:27:14 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/25 11:15:26 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/25 20:29:09 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/25 20:29:43 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/25 20:29:31 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/25 19:27:26 阅读更多 →