- 数据集
【免费下载链接】remote-jobs
Source for remoteintech.company — a community-maintained directory of remote-friendly tech companies
RemoteMore 是一个专注远程岗位的招聘市场平台,其公司档案收录在 src/companies/remotemore.md 中。本文以这份档案为骨架,逐字段拆解 frontmatter 数据、远程政策、技术栈等核心信息,并结合仓库中的布局模板、数据辅助函数与集合逻辑,讲清一条公司档案从 Markdown 到 HTML 页面的完整渲染管线。读完本文,你既能掌握 RemoteMore 的平台定位与远程用工特点,也能理解 remoteintech 社区目录中公司档案的统一数据契约与自动化处理机制。
RemoteMore 是谁:定位与愿景
根据档案中的 Company blurb,RemoteMore 是一个远程招聘市场(remote-hiring marketplace),核心业务是帮助世界级开发者(world-class developers)与全职远程岗位建立连接。它对公司愿景的表述是:确保所有人都能平等地获取工作机会(equal access to job opportunities),并将这一愿景高度体现在"持续、反复地远程雇佣人才"的使命之中。
这份定位决定了它在目录中的属性组合:
| 属性 | 档案值 | 含义 |
|---|---|---|
| 公司类型 | 招聘市场 | 撮合开发者与全职远程岗位,而非传统雇主 |
| 公司规模 | 20 - 50(正文)/company_size: small | 对应目录规范中的小型公司(11–50 人) |
| 远程政策 | remote_policy: fully-remote | 全远程 |
| 招聘区域 | region: worldwide | 全球范围 |
值得留意的是,档案正文 "Remote status" 一节又写明"大多数团队部分远程(Most teams are partially remote)",而 frontmatter 中的remote_policy值为fully-remote。这正是该目录的一种数据组织方式:frontmatter 字段是面向筛选与浏览的机器可读标签,正文则保留公司自述的细节,两者共同构成对一家公司远程状态的完整描述。
远程政策与办公地点:全球招聘下的实体坐标
RemoteMore 的招聘范围是worldwide(全球)。在 labels.js 定义的远程政策字典中,fully-remote对应的展示文本是 "Fully Remote",worldwide对应 "Worldwide";这两个值分别由 company.njk 布局渲染为可点击的 tag 链接(/browse/worldwide/与/browse/fully-remote/),供求职者按区域、按政策批量浏览公司。
与此同时,档案还记录了实体办公地点(Office locations):
- 德国 · 柏林(Berlin, Germany)
- 美国 · 纽约(New York, United States)
这组信息说明 RemoteMore 虽然面向全球招聘,但仍有物理据点作为业务与团队协作的锚点,求职者可以从"是否可以全球远程、公司在哪些城市有办公室"两个维度同时评估。
技术栈全景:当前栈与熟悉技术清单
档案分两层给出技术信息。第一层是 frontmatter 中的technologies列表,用于目录的按技术标签浏览(详见下文集合逻辑);第二层是正文 "Company technologies" 中对技术栈的详细描述:
当前技术栈(Current Stack):
| 技术 | 用途推断 |
|---|---|
| Node.js | 服务端运行时 |
| Google Cloud Platform | 云基础设施 |
| React JS | 前端 UI 框架 |
| TypeScript | 前端/全栈类型系统 |
要求熟悉(Also be familiar with)的技术清单:
- Python
- PostgreSQL
- Node.js
- Vue JS
- MongoDB
- Express JS
frontmatter 的technologies字段收录了javascript、nosql、python、sql四个受控标签。根据 CONTRIBUTING.md 的"Valid Field Values"表,technologies必须取自受控词表(如javascript、typescript、react、nodejs、python、postgres、nosql、search等),并统一映射到 labels.js 中的展示名。也就是说,档案里既有精细到 Vue JS、Express JS 的正文描述,也有服务于站点聚合与筛选的规范化标签,二者互补。
档案 frontmatter 逐字段解析
RemoteMore 档案的完整 frontmatter 如下(节选自 src/companies/remotemore.md):
--- title: "RemoteMore" slug: remotemore website: https://remotemore.com careers_url: https://remotemore.com/careers/ region: worldwide remote_policy: fully-remote company_size: small technologies: - javascript - nosql - python - sql addedAt: 2023-10-04 updatedAt: 2023-10-09 ---各字段的含义与取值约束如下:
| 字段 | RemoteMore 的值 | 说明 |
|---|---|---|
title | RemoteMore | 公司显示名称,同时作为页面 H1 与 meta 信息来源 |
slug | remotemore | 与文件名remotemore.md一致,构成页面 URL 的一部分 |
website | https://remotemore.com | 公司官网 |
careers_url | https://remotemore.com/careers/ | 招聘页,布局模板会优先用它生成 "Apply Now" 按钮 |
region | worldwide | 允许值:worldwide、americas、europe、americas-europe、asia-pacific、other |
remote_policy | fully-remote | 允许值:fully-remote、remote-first、hybrid、remote-friendly |
company_size | small | 允许值:tiny(1-10)、small(11-50)、medium(51-200)、large(201-1000)、enterprise(1000+) |
technologies | javascript / nosql / python / sql | 须取自 labels.js 的受控词表 |
addedAt | 2023-10-04 | 收录日期,由维护者管理 |
updatedAt | 2023-10-09 | 最近更新日期,页脚会按此显示 "Last updated" |
对照 CONTRIBUTING.md 可知,addedAt与updatedAt属于维护者管理字段,普通贡献者在 PR 中不应自行填写;README.md 也提示贡献者按src/companies/{slug}.md的命名规则建档后运行npm run build验证,再开 PR,由校验机器人(Validate Company Profiles GitHub Action)自动检查字段合法性。
从 Markdown 档案到 HTML 页面:渲染管线
一条公司档案并非直接输出,而是经过三层 Eleventy 机制加工后成为完整页面。以 RemoteMore 档案为例,其渲染链路如下:
1. 布局与数据文件绑定。companies.json 为整个src/companies/目录指定了"layout": "company",因此所有公司档案都套用 company.njk 布局。
2. 自动生成 meta description。companies.11tydata.js 中的eleventyComputed.description负责从档案正文自动提取 SEO 描述:先用正则##\s*Company\s*blurb\s*\n+([\s\S]*?)(?=\n##|$)抓取 "Company blurb" 之后的内容;若找不到 blurb,则回退到正文第一段;随后剥离 Markdown 链接、清除 `* _ `` 等符号、合并空白,最后截断到约 155 字符(优先在句号处断句)。RemoteMore 的 blurb 因此会自动生成一条干净的站点描述,无需手动维护。
3. 布局模板的按字段渲染。在 company.njk 中:
careers_url(或回退到website)会渲染为醒目的 "Apply Now" 主按钮;region与remote_policy分别渲染为区域 tag(/browse/worldwide/)与政策 tag(/browse/fully-remote/);technologies列表逐个渲染为技术标签,链接到/browse/{tech}/页面,对应 labels.js 中的javascript、nosql、python、sql展示名;updatedAt通过formatDate('MMMM D, YYYY')在页脚显示为 "Last updated: October 9, 2023" 一类的格式。
4. 集合与分组。collections.js 通过getFilteredByGlob('./src/companies/**/*.md')汇总全部公司档案:getAllCompanies按标题字母序排列;getRecentCompanies依据addedAt排序取最近 12 家;getCompaniesByRegion与getCompaniesByTech则分别依据region与technologies字段对公司分组——这正是/browse/系列筛选页面的数据来源。RemoteMore 因addedAt: 2023-10-04,会被归入"最近收录"集合,同时出现在 worldwide 区域组与 javascript、nosql、python、sql 四个技术组中。
求职者如何使用这条档案
对求职者而言,RemoteMore 档案最有价值的操作路径是How to apply一节:档案明确给出两条官方投递渠道——官网的 Careers 页面(即 frontmatter 中的careers_url)以及 LinkedIn 主页(用于获取招聘动态更新)。页面上的 "Apply Now" 主按钮即指向 careers_url,点击即可直达招聘入口。
更一般地,你可以利用目录的浏览体系横向对比:
- 通过
/browse/worldwide/找到所有面向全球招聘的公司; - 通过
/browse/fully-remote/筛选全远程政策的企业; - 通过
/browse/javascript/等技术标签定位技术栈匹配的团队。
如何在本仓库查看与构建该档案
仓库本身是站点源码,你可以用以下命令在本地查看包含 RemoteMore 在内的全部公司档案页面(要求 Node.js 22+,命令见 package.json 与 README.md):
npm install # 安装依赖 npm run start # 启动开发服务器,含热重载 npm run build # 生产构建:clean + eleventy 构建 + pagefind 索引npm run build内部依次执行clean、build:11ty与pagefind,最终产物输出到dist/目录。如果你想进一步研究档案的字段规范与校验规则,可以直接阅读 CONTRIBUTING.md 与 company.njk;想了解站点整体构建细节,可参考 CLAUDE.md。
小结
RemoteMore 档案是 remoteintech 社区目录中"远程招聘市场"类型公司的典型样本:frontmatter 提供了fully-remote、worldwide、small等可筛选的结构化标签,正文则以 blurb、技术栈、办公地点、投递渠道等形式保留了完整的公司自述。从数据处理到页面呈现,companies.11tydata.js 自动生成 meta description、company.njk 统一渲染按钮与标签、collections.js 完成按区域/技术/政策的聚合——读懂这份档案,等于同时读懂了这套目录系统"一次录入、多处复用"的数据契约。
- 数据集
【免费下载链接】remote-jobs
Source for remoteintech.company — a community-maintained directory of remote-friendly tech companies
相关推荐
Blameless 公司档案全解析:remoteintech 目录中 SRE 平台公司的远程招聘档案结构与字段规范
Blameless 公司档案全解析:remoteintech 目录中 SRE 平台公司的远程招聘档案结构与字段规范 本篇指南以仓库中的 Blameless 公司
数据集Cuvette 公司档案全解析:remoteintech 远程目录的 frontmatter 数据规范与页面渲染机制
Cuvette 公司档案全解析:remoteintech 远程目录的 frontmatter 数据规范与页面渲染机制 本文以 remoteintech.comp
数据集RailsCarma 公司档案解析:remoteintech 远程友好公司目录的数据结构与渲染链路
RailsCarma 公司档案解析:remoteintech 远程友好公司目录的数据结构与渲染链路 本篇文章以开源仓库 remoteintech(remotei
数据集
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考