news 2026/10/3 2:31:31

remoteintech.company 公司档案解析:以 I-Stem 为例读懂 frontmatter 字段、远程政策与技术栈标签体系

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
remoteintech.company 公司档案解析:以 I-Stem 为例读懂 frontmatter 字段、远程政策与技术栈标签体系
  • 数据集

【免费下载链接】remote-jobs

Source for remoteintech.company — a community-maintained directory of remote-friendly tech companies

项目地址:https://gitcode.com/GitHub_Trending/re/remote-jobs
点击查看免费下载

在开源仓库 remoteintech.company(社区维护的远程友好科技公司目录)中,每一家公司的条目都以 Markdown 文件形式存放在src/companies/目录下,通过 YAML frontmatter 定义结构化元数据、以固定小节的正文描述公司细节。本文以 I-Stem 档案 为完整样本,逐字段拆解这类公司档案的书写规范,并结合 标签定义、集合构建逻辑 与 渲染模板 的源码实现,说明一条目录记录从数据到页面的完整链路。读完本文,你将能够独立读懂任何一条公司档案、判断其远程政策与招聘区域,并掌握为目录新增或修订条目的规范流程。

I-Stem 档案概览:一条目录记录长什么样

I-Stem 是远程友好科技公司目录中的一员,其档案完整位于 src/companies/i-stem.md。它由两部分组成:

  1. frontmatter(YAML 元数据区):位于文件顶部---分隔线之间,是机器可读的结构化字段;
  2. 正文(Markdown 小节区):以##标题组织的自然语言描述,用于向访客展示公司细节。

该档案对应的核心元数据如下:

--- title: "I-Stem" slug: i-stem website: https://www.istemai.com/ careers_url: https://wellfound.com/company/i-stem/jobs region: asia-pacific remote_policy: remote-friendly company_size: tiny technologies: - javascript - python addedAt: 2023-10-08 updatedAt: 2023-10-08 ---

其中addedAt(入库日期)与updatedAt(最近更新日期)均为2023-10-08,即该条目自加入目录以来尚未被修订。

关键字段逐一解读:每个值背后的约束

frontmatter 中的字段并非随意填写,而是在仓库的标签体系(single source of truth)中预定义了合法取值。所有合法值集中维护于 src/_data/labels.js,同时被 companyHelpers.js 导出供 JS 侧消费,并通过全局数据级联以labels.*形式暴露给 Nunjucks 模板。

region:招聘覆盖地区

I-Stem 填写的是asia-pacific。在 labels.js 中,region的合法取值与展示标签为:

取值展示标签
worldwideWorldwide
americasAmericas
europeEurope
americas-europeAmericas & Europe
asia-pacificAsia Pacific
otherOther

I-Stem 的正文 "Region" 小节进一步写明"India",表明其招聘覆盖亚太地区、以印度为主。

remote_policy:远程工作政策

I-Stem 的取值为remote-friendly。在 labels.js 中,remote_policy定义了四个梯度:

取值展示标签
fully-remoteFully Remote
remote-firstRemote First
hybridHybrid
remote-friendlyRemote Friendly

remote-friendly表示公司允许远程工作、但不一定全员远程优先。该值会直接决定档案页上"Apply Now"主按钮旁的 policy 标签(见下文渲染逻辑)。

company_size:公司规模

取值为tiny,对应 labels.js 中定义的 "1-10 employees",与正文 "Company size" 小节的 "1-10 people" 完全一致。全部规模档位包括:

取值规模
tiny1-10
small11-50
medium51-200
large201-1000
enterprise1000+

technologies:技术栈标签

I-Stem 声明了javascript与python两项。值得注意的是,其正文 "Company technologies" 小节描述为 "Python, Node.js, React.js",frontmatter 中的javascript标签即对应 React.js/Node.js 生态,属于 JavaScript 技术族。技术标签的完整合法取值见 labels.js,包括typescript、react、nodejs、go、rust、ml、devops、cloud等 24 项,每项都有对应的展示名称(如nodejs→ Node.js、ml→ ML/AI)。

正文小节:从 blurb 到申请方式的固定结构

I-Stem 档案的正文包含 7 个小节,其中三个是 CONTRIBUTING.md 规定的必填小节:

  • ## Company blurb:公司简介,必须存在;
  • ## Remote status:远程工作方式说明,必须存在;
  • ## How to apply:申请链接或说明,必须存在。

其余为常用可选小节:Company size、Region、Company technologies、Office locations。

Company blurb 的自动化利用

## Company blurb不仅是给人看的简介,还会被自动提取为页面 meta description。companies.11tydata.js 中的 Eleventy computed data 会通过正则##\s*Company\s*blurb\s*\n+([\s\S]*?)(?=\n##|$)截取该小节文本,随后依次执行 Markdown 链接剥离(text→text)、符号清洗(去除*、_、反引号)、换行与空白归一化,最终截断到约 155 字符并尽量在句号处切断——这正是 I-Stem 的 blurb 会被搜索引擎摘要复用的原因。

I-Stem 的 blurb 核心信息:由拥有残障亲身经历与数十年无障碍、工程与 AI 经验的残障人士创立,坚信技术与社区的力量能够为所有人创造平等体验与机会,通过个人和企业级产品、服务与倡议,赋能残障人士,并帮助组织更好地服务其残障学生、员工与客户。

档案如何被索引与渲染:从 Markdown 到页面的链路

集合(Collections)层面

collections.js 定义了多种公司集合,I-Stem 档案会按不同维度被纳入:

  • getAllCompanies:按title字母序排列全部公司(对应 "All Companies" 列表);
  • getRecentCompanies:按 frontmatter 的addedAt倒序取最近 12 家(I-Stem 于 2023-10-08 入库,决定其在"最近新增"区的曝光时机);
  • getCompaniesByRegion:按region分组(I-Stem 归入asia-pacific组);
  • getCompaniesByTech:按technologies分组(I-Stem 同时出现在 JavaScript 与 Python 两个技术分组中)。

这些集合采用 memoized 的 glob 匹配(./src/companies/**/*.md),避免在构建中反复过滤数百条记录。

模板(Layout)层面

档案页面由 company.njk 渲染,I-Stem 的 frontmatter 各字段在此被消费:

  • 第 11 行:careers_url or website决定主按钮——I-Stem 提供了 careers_url,因此按钮文案为"Apply Now →"(否则显示 "Visit Website");
  • 第 17-19 行:region渲染为可点击的区域标签,链接指向/browse/asia-pacific/;
  • 第 20-22 行:remote_policy渲染为政策标签,链接指向/browse/remote-friendly/,文案由labels.remotePolicy映射为 "Remote Friendly";
  • 第 29-38 行:technologies数组渲染为 "Tech Stack" 小节,每个标签链接到/browse/<tech>/浏览页;
  • 第 54-56 行:updatedAt经formatDate('MMMM D, YYYY')过滤器输出 "Last updated: October 8, 2023"。

页面还通过schema: Organization注入 Organization.njk 结构化数据,供搜索引擎理解公司实体信息。

如何通过 I-Stem 档案看懂申请流程

I-Stem 的careers_url指向其 Wellfound 招聘页。模板会优先使用 careers_url 生成 "Apply Now" 按钮,且按钮带有data-track-outbound属性用于外链点击追踪;正文## How to apply小节则再次给出同一申请入口。这说明一条合规档案要求careers_url必须是公司自己的招聘页面(而非出售服务的页面),详见 CONTRIBUTING.md 的收录标准。

对于求职者,从档案页可直接获得完整信息闭环:远程政策(Remote Friendly)、招聘区域(Asia Pacific / India)、技术栈(JavaScript、Python、Node.js、React.js)、公司规模(1-10 人)、办公室位置(印度 Pune),以及一键跳转的申请入口。

复现与扩展:如何基于该档案格式新增条目

仓库 README 与贡献指南提供了完整的增补流程:在src/companies/{slug}.md创建文件(slug 必须与 frontmatter 一致),按模板填写元数据与必填小节,运行npm run build验证构建,再提交 PR,由自动化的Validate Company ProfilesGitHub Action 校验字段合法性并阻止不合规合并。

npm install # 安装依赖 npm run build # 验证档案可正常构建

I-Stem 档案正是这一格式的标准示例:tiny规模、asia-pacific区域、remote-friendly政策、双技术标签,外加七个组织清晰的正文小节。对照 CONTRIBUTING.md 中的 frontmatter 模板 与 合法取值表,即可举一反三,为目录贡献任何一家满足"半远程至全远程友好的科技公司"标准的条目。

小结

通过 I-Stem 这一具体样本,可以完整看到 remoteintech.company 目录的三层设计:frontmatter 提供结构化事实、labels.js 约束取值并统一展示文案、collections + 模板负责索引与渲染。无论你是想快速判断一家公司是否适合远程求职,还是希望为社区目录贡献新的公司档案,理解这层数据规范都能让检索与维护事半功倍。

  • 数据集

【免费下载链接】remote-jobs

Source for remoteintech.company — a community-maintained directory of remote-friendly tech companies

项目地址:https://gitcode.com/GitHub_Trending/re/remote-jobs
点击查看免费下载

相关推荐

上一篇:pnpm 修补包失效(Unused Patch)检测修复解析:删除依赖后不再静默更新锁文件
下一篇:Kivy 应用打包分发许可证合规指南:Windows、Linux 与 Android 平台依赖授权清单与核查方法

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/3 2:29:51

AI Agent_7 AI 提示词工程(Prompt Engineering)

一、先建立直觉&#xff1a;提示词是什么提示词&#xff08;Prompt&#xff09; 你输入给大模型的那段文本&#xff08;指令、问题、背景、示例&#xff09;。 提示词工程 有方法地设计这段文本&#xff0c;让模型稳定输出你想要的结果。示例&#xff1a;同一个任务&#xff…

作者头像 李华
网站建设 2026/10/3 2:29:01

DJI Mimo 只能单条色彩还原导出太痛苦?试试这样批量还原 D-LogM

# 前言&#xff1a;一条被忽略的痛点 用 DJI 运动相机&#xff08;Osmo Action / Pocket 系列&#xff09;拍运动视频的人都知道&#xff1a;用 D-Log / D-LogM 模式拍出来的画面是「灰片」——低饱和、低对比&#xff0c;直接看毫无电影感。因为它们保留了大范围的动态范围和…

作者头像 李华
网站建设 2026/10/3 2:28:00

6款开源轻量级服务器监控工具合集,可Docker一键部署!

6款开源轻量级服务器监控工具合集&#xff0c;可Docker一键部署&#xff01;前言一、ServerBee1.1 ServerBee简介1.2 ServerBee主要特点1.3 项目地址1.4 项目预览二、CheckCle2.1 CheckCle简介2.2 CheckCle主要特性1.3 项目地址2.4 项目预览三、Checkmate介绍3.1 Checkmate简介…

作者头像 李华