news 2026/10/2 16:29:51

Remote In Tech 公司档案解析:以 Conversio 为例读懂远程友好科技公司的结构化数据模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Remote In Tech 公司档案解析:以 Conversio 为例读懂远程友好科技公司的结构化数据模型
  • 数据集

【免费下载链接】remote-jobs

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

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

Remote In Tech(README.md 与 CONTRIBUTING.md 中说明的 community-maintained 目录)以每个公司一个 Markdown 档案文件的方式,管理远程友好科技公司的结构化信息。本文以目录中的 Conversio 档案 为实例,逐项拆解其 frontmatter 字段与正文章节的含义、取值规范,并结合仓库中的标签定义、页面布局与集合逻辑,说明这份档案从数据文件到网页的全部链路。读完本文,你将掌握该目录公司档案的完整 schema、可控词表与渲染机制,能够独立读懂任何一份.md档案,并具备按相同规范新增档案的能力。

一、档案概览:一份公司档案里到底有什么

conversio.md 是典型的 Remote In Tech 公司档案,由两部分组成:位于文件头部的 YAML frontmatter(元数据),以及以##小节组织的 Markdown 正文。这份档案记录的信息如下:

类别字段值
标识titleConversio
标识slugconversio
连接websitehttps://conversio.com
区域regionworldwide
远程策略remote_policyfully-remote
规模company_sizetiny
技术栈technologiesjavascript、nosql
时间线addedAt/updatedAt2017-02-23 / 2018-04-16
规模(正文)Company size0-20
远程状态(正文)Remote statusMade Around The World with no geographic limit
区域(正文)RegionWorldwide
技术(正文)Company technologiesNode.JS、MongoDB
办公地(正文)Office locationsDevonshire House, 60 Goswell Road, London, EC1M 7AD, United Kingdom
申请(正文)How to applyadii@conversio.com

可以看到,同一份档案的信息在 frontmatter 与正文中成对出现:frontmatter 提供机器可读的受控值,正文提供给人阅读的自然语言描述。这正是该目录"数据与展示分离"的设计基础。

二、frontmatter 字段详解:受控词表与取值规范

档案的元数据必须遵守 CONTRIBUTING.md 中定义的模板与合法值。对照该模板,Conversio 档案中每个字段都可以映射到规范:

--- title: "Conversio" slug: conversio website: https://conversio.com region: worldwide remote_policy: fully-remote company_size: tiny technologies: - javascript - nosql addedAt: 2017-02-23 updatedAt: 2018-04-16 ---

2.1 受控字段与合法取值

依据 CONTRIBUTING.md 的"Valid Field Values"表:

字段合法值Conversio 取值
regionworldwide、americas、europe、americas-europe、asia-pacific、otherworldwide
remote_policyfully-remote、remote-first、hybrid、remote-friendlyfully-remote
company_sizetiny(1-10)、small(11-50)、medium(51-200)、large(201-1000)、enterprise(1000+)tiny
technologies词表见下javascript、nosql

这些 slug 的显示文案统一由 src/_data/labels.js 管理,它是"单一事实来源"(该文件注释明确写道 "single source of truth")。例如:

  • region的worldwide显示为 "Worldwide";
  • remote_policy的fully-remote显示为 "Fully Remote";
  • company_size的tiny显示为 "1-10 employees"(注意:这是受控标签,与正文里 Conversio 自述的 "0-20" 是两种表述口径);
  • 技术词表中包含javascript→"JavaScript"、nosql→"NoSQL",而nodejs→"Node.js" 也是合法值——Conversio 档案 frontmatter 选择了javascript与nosql两个更宽泛的 slug,正文中则以 "Node.JS、MongoDB" 做了更具体的说明。

2.2 时间字段由维护者管理

CONTRIBUTING.md 特别注明:"TheaddedAtandupdatedAtdate fields are managed by maintainers — please don't include them in your PR"。这意味着新增公司时不应自行填写这两个日期,Conversio 档案中的addedAt: 2017-02-23与updatedAt: 2018-04-16是由维护者写入的入库与最后更新时间。

三、正文章节:档案的信息主体

档案正文由若干固定##小节构成。CONTRIBUTING.md 规定## Company blurb、## Remote status、## How to apply为必需小节,## Company size、## Region、## Company technologies为常用可选小节,## Office locations亦属于档案允许包含的信息。Conversio 档案完整包含了以上全部小节。

3.1 Company blurb(公司简介)

档案原文记录为:

Conversio's all-in-one dashboard run your marketing, so that you have more time to run your fdd

这段文案被 companies.11tydata.js 自动抽取,用作公司页面的 meta description:该文件通过正则/##\s*Company\s*blurb\s*\n+([\s\S]*?)(?=\n##|$)/i定位 "## Company blurb" 标题后的段落,再依次清除 Markdown 链接语法、*_`` 强调符号、压缩换行与空格,最后截断至约 155 字符(优先在句号边界截断,其次在空格处截断并追加...`)。因此,blurb 小节不仅是给人看的一句话介绍,更是 SEO 元数据的直接数据源。

3.2 Company size / Remote status / Region

  • ## Company size:0-20(自述规模)
  • ## Remote status:Made Around The World with no geographic limit —— 这是"全球无地域限制"的远程宣言,与 frontmatter 中remote_policy: fully-remote、region: worldwide相互印证;
  • ## Region:Worldwide,再次与region: worldwide保持一致。

值得注意的细节是:虽然远程策略是"全球无地域限制",档案仍记录了位于伦敦的实体办公地址(Devonshire House, 60 Goswell Road, London, EC1M 7AD, United Kingdom)。这展示了该目录档案对"远程公司 + 实体注册地址"两种信息的并存记录能力。

3.3 Company technologies(公司技术栈)

正文以自然语言列出 "Node.JS、MongoDB",而 frontmatter 以受控 slugjavascript、nosql标注。这种双写模式在站点的浏览页中意义重大:/browse/{{ tech }}/等标签页完全依赖 frontmatter 的technologies数组进行归类(见下文集合逻辑),正文的表述则服务于人工阅读。

3.4 How to apply(如何申请)

档案给出的申请方式是邮箱adii@conversio.com,这也是目录早期档案的常见形态。需要注意 CONTRIBUTING.md 的现代规范建议使用careers_url指向公司自己的招聘页("points at the company's own careers page"),且目录不接受把服务推销页当作招聘入口;Conversio 档案没有设置careers_url字段,因此布局会回退到website作为主按钮链接。

四、从档案到网页:渲染与展示链路

公司档案被 src/_layouts/company.njk 渲染为完整页面,其关键映射包括:

  • 主操作按钮:优先取careers_url,否则回退到website——Conversio 未定义careers_url,故按钮文案为 "Visit Website" 并指向其官网;
  • 元信息标签:region渲染为指向/browse/{region}/的标签,文案取labels.region[region](即 "Worldwide");remote_policy渲染为指向/browse/{remote_policy}/的标签,文案取labels.remotePolicy[remote_policy](即 "Fully Remote");
  • Tech Stack 区块:遍历 frontmatter 的technologies数组,为每个技术生成指向/browse/{tech}/的标签,文案取labels.tech[tech](即 "JavaScript"、"NoSQL");
  • 页脚时间戳:updatedAt经formatDate('MMMM D, YYYY')过滤器格式化后,显示为 "Last updated: April 16, 2018" 之类的文本——该过滤器定义于 src/_config/filters/dates.js(dayjs(date).format(format)),并经由 src/_config/filters.js 注册到模板;
  • 页脚还包含返回全部公司的链接,以及由page.fileSlug动态拼接的 "Edit on GitHub" 编辑入口。

五、档案如何进入站点集合

src/_config/collections.js 以getFilteredByGlob('./src/companies/**/*.md')一次性加载全部公司档案(结果会被缓存以避免约 850 个档案被重复过滤),并派生多个集合:

  • getAllCompanies:按title字母序排列全部公司,供 companies.njk 列表页使用;
  • getCompaniesByRegion/getCompaniesByTech:按 frontmatter 的region与technologies分组——Conversio 因此会出现在 "Worldwide" 区域组与 "JavaScript"、"NoSQL" 技术组中;
  • getFeaturedCompanies:从 src/_data/companyHelpers.js 中人工精选的featuredCompanySlugs名单随机挑选 8 家展示在首页(Conversio 不在该名单内);
  • getRecentCompanies:按addedAt倒序取最近 12 家。

此外,getCompanyTags函数把每份档案的title、slug、website、region、remote_policy、technologies聚合为带计数与标签文案的浏览页数据,其显示标签同样来自 labels.js。这解释了为什么 frontmatter 必须使用受控词表:集合、分组、标签页与页面文案全部依赖这些 slug 的一致性。

六、档案的构建与验证流程

档案修改后需通过构建与自动校验方可合并:

  1. 本地构建:README.md 给出npm install、npm run start(带热重载的开发服务器)、npm run build(生产构建)三条命令,并要求 Node.js 22+;
  2. 新增档案时,需在 src/companies 下创建{slug}.md,文件名必须与 frontmatter 的slug一致;
  3. 提交 PR 后,由 "Validate Company Profiles" GitHub Action 自动校验,机器人会在 PR 上评论问题并阻止合并,直至通过。

七、总结:从一份档案看整个目录的工程化设计

以 conversio.md 为样本可以看到,Remote In Tech 的公司档案并不只是"一段公司介绍",而是一套前后端贯通的微型数据模型:

  • frontmatter 承担机器语义:region、remote_policy、company_size、technologies全部映射到 labels.js 的受控词表,驱动分组、浏览页与标签渲染;
  • 正文承担人读语义:blurb、remote status、如何申请等小节,同时服务于读者阅读与 companies.11tydata.js 自动生成的 meta description;
  • 布局与集合负责呈现:company.njk 将字段渲染为按钮、标签与页脚,collections.js 将档案汇入区域、技术、精选、最新等多个集合。

读懂这份 schema,你就掌握了阅读目录中任意一家公司档案的方法;若要为新的远程友好公司提交档案,CONTRIBUTING.md 中的模板、合法值表与校验规则即是你的完整 checklist。

  • 数据集

【免费下载链接】remote-jobs

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

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

相关推荐

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

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

Process Lasso进程调度/资源管理工具

Process Lasso(圈内俗称小绿)Bitsum公司出品的Windows进程调度/资源管理工具,相当于增强版自动化任务管理器,专门管控进程CPU优先级、核心分配,解决CPU满载时系统卡死、前台程序卡顿的问题。✅ 核心功能ProBalance&…

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

pdf转txt用哪个好?2026普通人实用靠谱工具盘点

日常办公、学习经常遇到一个头疼问题:拿到的PDF文献、资料、笔记无法直接编辑,想要提取文字保存为TXT格式,手动复制不仅费时,还容易出现排版错乱、文字遗漏的情况。很多人纠结pdf转txt用哪个工具靠谱、免费无套路、转换干净不乱码…

作者头像 李华
网站建设 2026/10/2 16:26:58

数据库优化实战:用 TaoToken 统一 Key 打通后端查询性能排查链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/2 16:26:50

从零搭建AI工程能力:手写KV Cache与动态批处理实战

1. 从零搭建AI工程能力:为什么我劝你别一上来就调包这两年AI应用开发的门槛肉眼可见地降低了,随便拉个框架、调个API就能跑出一个能对话的Demo。但我见过太多团队,Demo阶段惊艳四座,一上生产就原形毕露:推理延迟飙到几…

作者头像 李华