- 数据集
【免费下载链接】remote-jobs
Source for remoteintech.company — a community-maintained directory of remote-friendly tech companies
Kinsta 是 remoteintech.company(社区维护的远程友好科技公司目录)中一条典型的fully-remote(全球远程)公司档案,完整记录了它的业务形态、远程策略、技术栈与招聘流程。本文以 src/companies/kinsta.md 这份关联文档为骨架,结合仓库中标签体系、布局模板与集合逻辑等源码实现,拆解一份合格的公司档案应如何组织信息,并说明它是如何从 Markdown 被渲染成可检索、可筛选的目录页面的。读完本文,你将掌握该目录的公司条目数据结构、frontmatter 字段取值规则,以及一条 fully-remote 档案背后完整的工程渲染链路。
一、档案定位:一份公司条目在远程求职目录中扮演的角色
在 remoteintech.company 仓库中,每一家被收录的远程友好公司都对应src/companies/下的一个 Markdown 文件,Kinsta 的条目位于 src/companies/kinsta.md。这类文件的组织规则在 CONTRIBUTING.md 中有明确约定:
- 文件名必须与 frontmatter 中的
slug值一致(如slug: kinsta→src/companies/kinsta.md); - 每个文件由 YAML frontmatter(机器可读的结构化元数据)与 Markdown 正文(人类可读的公司介绍)两部分组成;
- 正文必须包含
## Company blurb、## Remote status、## How to apply三个必需小节,## Company size、## Region、## Company technologies为常用可选小节。
Kinsta 档案正是这一规范的标准样本:它把"这家公司是做什么的、是否远程、招什么样的人、如何申请"浓缩成一个自洽的独立文件,既供人类求职者阅读,也供构建系统做分组、过滤与索引。
二、Frontmatter 元数据:机器可读的结构化信息
Kinsta 档案开头的 frontmatter 如下(摘自 src/companies/kinsta.md):
--- title: "Kinsta" slug: kinsta website: https://kinsta.com careers_url: https://kinsta.com/careers/ region: worldwide remote_policy: fully-remote company_size: large technologies: - go - java - javascript - nosql - php - python - ruby - scala - sql addedAt: 2022-11-02 updatedAt: 2022-11-03 ---各字段的含义与取值范围如下表,取值约束来自 CONTRIBUTING.md 的 "Valid Field Values" 一节,而展示用的中文/英文标签则统一由 src/_data/labels.js 维护:
| 字段 | 含义 | Kinsta 取值 | 合法取值范围 |
|---|---|---|---|
title | 公司展示名 | Kinsta | 任意字符串 |
slug | URL 标识,须与文件名一致 | kinsta | 任意小写连字符字符串 |
website | 公司官网 | https://kinsta.com | 有效 URL |
careers_url | 招聘页地址 | https://kinsta.com/careers/ | 公司自有招聘页 URL |
region | 招聘区域 | worldwide | worldwide、americas、europe、americas-europe、asia-pacific、other |
remote_policy | 远程政策 | fully-remote | fully-remote、remote-first、hybrid、remote-friendly |
company_size | 公司规模档位 | large | tiny(1-10)、small(11-50)、medium(51-200)、large(201-1000)、enterprise(1000+) |
technologies | 技术栈列表 | 9 项技术 | 见labels.js中tech映射(javascript、go、php、sql、nosql 等 25 项) |
addedAt/updatedAt | 收录与更新时间 | 2022-11-02/2022-11-03 | 由维护者管理,贡献者 PR 中不填写 |
值得注意的两点细节:
- 标签体系是单一事实来源。
region: worldwide、remote_policy: fully-remote、company_size: large在页面上展示为 "Worldwide"、"Fully Remote"、"201-1000 employees",这些映射全部集中在 src/_data/labels.js,并通过 src/_data/companyHelpers.js 的getRegionLabel、getRemotePolicyLabel、getCompanySizeLabel、getTechLabel供 JS 集合逻辑复用。 - 技术字段是受控词表。Kinsta 档案 frontmatter 中的
go、java、javascript、nosql、php、python、ruby、scala、sql都是labels.js中tech映射的合法键,这保证了"按技术栈浏览"页面的分组不会出现孤儿标签。
三、Company blurb:业务画像与规模事实
## Company blurb是整份档案的摘要核心,Kinsta 档案用它交代了四个层面的信息:
1. 产品矩阵:Kinsta 提供三类托管服务——Application Hosting(应用托管)、Database Hosting(数据库托管)、Managed WordPress Hosting(托管式 WordPress)。它自述的目标是让各种规模的项目部署"快速、无缝"。
2. 技术能力面:
- 语言与框架支持:NodeJS、PHP、Ruby、Python 等,并支持连接 GitHub 自动化部署;
- 数据库托管:支持 MariaDB、Redis、MySQL、PostgreSQL,强调"易创建 + 一流性能";
- WordPress 托管基础设施:基于 Google Cloud 的优质网络 + 集成 Cloudflare 安全防护。
3. 客户与规模事实:档案中明确记载了 TripAdvisor、FreshBooks、AdEspresso、Workforce、Mint 等客户;服务 55,000+ 用户、覆盖 128 个国家、35 个数据中心,并自我调侃"唯一没覆盖的大洲是南极洲"。
4. 免费生态工具:DevKinsta,一款用于本地 WordPress 开发的免费工具,降低开发者本地调试门槛。
在仓库工程层面,这段 blurb 不只是给人看的——src/companies/companies.11tydata.js 的eleventyComputed.description会自动从## Company blurb标题后提取正文,剥离 Markdown 链接语法、去除 `* _ `` 等符号、压缩空白,并截断到约 155 字符(优先在句号处断句),生成页面的 meta description,供搜索引擎抓取。
四、Remote status 与 Region:全球全远程的组织形态
Kinsta 档案中的## Remote status与## Region小节共同刻画了它的分布式组织形态,要点如下:
- 政策类型:
remote_policy: fully-remote(完全远程),即公司不设物理办公强制要求,全部岗位均可远程完成; - 团队分布:档案称远程团队横跨 6 个大洲(全球招聘,除南极洲外各大洲均有成员);
- 支持体系:分布式团队使其能够提供 24/7/365 的技术支持,无论客户处于哪个时区;
- 历史基因:公司自成立第一天起就是全分布式("fully distributed since Day 1"),档案将其表述为"能网罗全球最优人才、培育多元包容文化"的根基;
- 线下维系:团队成员经常出差,且公司每年赞助团队聚会(annual team meetups),以线下方式增强协作与归属感。
从数据模型角度,region: worldwide与remote_policy: fully-remote两个字段会被 src/_config/collections.js 中的getCompaniesByRegion(按区域分组)与getCompanyTags(按remote-policy标签分组)消费,最终生成/browse/worldwide/、/browse/fully-remote/等可浏览页面。在 src/_layouts/company.njk 中,这两个字段还会渲染成页面顶部的tag--region与tag--policy标签,点击即可跳转到同区域/同政策的公司列表。
五、技术栈:12 项技术与标签体系
Kinsta 档案的## Company technologies小节列出了完整技术栈:
- Web 与后端:WordPress、PHP、Node.js、Ruby、Java、Python、Go、Scala
- 数据存储:MariaDB、MySQL、PostgreSQL、Redis
这 12 项中,除 WordPress 外均已出现在 frontmatter 的technologies数组中(WordPress 未在受控词表中,故仅出现在正文)。在渲染时,src/_layouts/company.njk 的 Tech Stack 区块会遍历technologies数组,为每一项生成指向/browse/{tech}/的tag--tech标签,显示名取自labels.tech[tech](如go→ "Go"、nosql→ "NoSQL"、sql→ "SQL")。这意味着求职者点击任意技术标签,即可横向对比"同样使用 Go/PHP/PostgreSQL 的远程公司还有哪些"。
六、办公地点与招聘流程
办公地点:档案的## Office locations只有一句话——"Wherever you are in the world!"(你在世界任何角落都行),与region: worldwide呼应,是全远程公司档案的典型表述。
申请方式(## How to apply)给出了三步走:
- 访问 Kinsta 招聘主页(
careers_url指向https://kinsta.com/careers/)查看最新空缺职位; - 由招聘团队主动联系,安排电话初筛(phone screening);
- 如有公司文化、职位描述等疑问,可通过 Twitter 或 LinkedIn 联系。
这一流程在页面上的落地逻辑同样在 src/_layouts/company.njk:模板会优先取careers_url,若存在则渲染 "Apply Now" 主按钮(否则退化为 "Visit Website"),因此档案维护者务必保证careers_url指向公司自己的招聘页而非外包平台——这是 CONTRIBUTING.md 中明确列出的收录硬性条件。
七、档案背后的渲染链路:从 Markdown 到可检索页面
一份公司档案最终变成目录页,经历了如下工程链路(均为仓库现有实现):
- 布局绑定:src/companies/companies.json 为整个 companies 目录指定
layout: company,即所有条目统一套用 src/_layouts/company.njk; - 集合分组:src/_config/collections.js 通过
getFilteredByGlob('./src/companies/**/*.md')收集全部公司,并派生getAllCompanies(按标题字母排序)、getCompaniesByRegion(按区域分组)、getCompaniesByTech(按技术分组)、getCompanyTags(生成带计数的标签页数据)等多个集合; - 元数据计算:src/companies/companies.11tydata.js 自动从 blurb 提取并截断生成 meta description;
- SEO 结构化数据:company 布局声明
schema: Organization,由 src/_includes/schemas/Organization.njk 输出 JSON-LD(@type: Organization,含name、url,若存在careers_url则写入sameAs),帮助搜索引擎理解该页面描述的是一个组织实体; - 列表页聚合:src/pages/companies.njk 将
collections.companies渲染成卡片网格,提供 Pagefind 站内搜索与按区域的前端过滤,Kinsta 会以data-region="worldwide"的身份出现在"All Companies"列表中。
从源码结构可以推断:只要 frontmatter 字段合法、正文小节齐全,新增公司条目无需改动任何模板代码,即可自动获得个人页、标签页、搜索索引与结构化数据——这正是该目录能以"一个 Markdown 文件 = 一家公司"的方式持续社区化扩展的原因。
八、读者如何利用这份档案
求职者视角:评估一家 fully-remote 公司时,可按档案的固定结构快速核对——remote_policy判断是否完全远程、region判断时区与用工区域、company_size判断团队规模、technologies判断技术栈匹配度、careers_url直接进入申请入口。Kinsta 档案中"day-1 全分布式 + 6 大洲分布 + 24/7 支持 + 年度线下聚会"的组合,是判断一家公司远程文化成熟度的高价值信号。
贡献者视角:若想为目录新增或更新公司,参照 CONTRIBUTING.md 的 frontmatter 模板与必需小节,运行npm run build(Node.js 22+)验证构建通过后提交 PR,仓库的 Validate Company Profiles 自动检查会给出反馈;其中addedAt/updatedAt由维护者管理,贡献者无需填写。
结语
Kinsta 这份档案是 remoteintech.company 中 fully-remote 条目的一个完整范例:frontmatter 承载机器可读的结构化元数据,正文承载人类可读的业务与远程策略信息,两者经由 src/_layouts/company.njk、src/_config/collections.js、src/_data/labels.js 等工程组件的协作,最终形成可搜索、可按区域/技术栈筛选、带结构化数据的目录页面。理解这份档案的数据模型,就等于理解了整个目录的扩展方式——也让求职者在浏览任何一家公司条目时,都能准确读懂每一行元数据背后的含义。
- 数据集
【免费下载链接】remote-jobs
Source for remoteintech.company — a community-maintained directory of remote-friendly tech companies
相关推荐
解析 Andela 远程公司档案:remote-jobs 目录中 fully-remote 公司条目的数据模型与渲染链路
解析 Andela 远程公司档案:remote jobs 目录中 fully remote 公司条目的数据模型与渲染链路 Andela 是 remoteinte
数据集remoteintech.company 公司档案解读:Linaro 的 fully-remote 远程招聘实践与仓库数据模型剖析
remoteintech.company 公司档案解读:Linaro 的 fully remote 远程招聘实践与仓库数据模型剖析 本文以 GitHub 精选项
数据集Khan Academy 远程公司档案解析:remote-jobs 目录中 fully-remote 公司的数据模型与站点实现
Khan Academy 远程公司档案解析:remote jobs 目录中 fully remote 公司的数据模型与站点实现 本篇文章以 remote job
数据集
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考