数据集【免费下载链接】remote-jobsSource for remoteintech.company — a community-maintained directory of remote-friendly tech companies项目地址https://gitcode.com/GitHub_Trending/re/remote-jobs点击查看免费下载Remote In Techremoteintech.company是一个由社区维护的远程友好科技公司目录本仓库即是该站点的全部源码。本文以仓库中的一份真实公司档案 src/companies/maintainnow.md 为解剖样本逐层拆解一份远程公司档案从frontmatter 元数据 Markdown 正文到可浏览、可搜索、可被搜索引擎识别的公司页面的完整链路涵盖字段语义、受控词表、标签分组、元描述自动生成与本地构建验证。读完本文你将掌握如何阅读、解析乃至为这个目录贡献公司档案。一份典型公司档案的结构Remote In Tech 的每一家公司对应src/companies/目录下的一个 Markdown 文件文件名即 slug。以 MaintainNow 为例其档案位于 src/companies/maintainnow.md文件由两部分组成YAML frontmatter结构化元数据是数据契约的主体Markdown 正文以##开头的说明性章节。frontmatter 原文如下--- title: MaintainNow slug: maintainnow website: https://www.maintainnow.app region: americas remote_policy: fully-remote company_size: startup technologies: - react - react-native - aws addedAt: 2026-01-17 updatedAt: 2026-01-17 ---正文则按固定章节约定组织## Company blurb公司做什么、## Company size规模、## Remote status远程策略、## Region区域、## Company technologies技术栈、## Office locations办公地点、## How to apply申请方式。其中 CONTRIBUTING.md 明确规定## Company blurb、## Remote status、## How to apply是必选章节其余为常用可选章节。所有档案共享一个数据契约src/companies/companies.json 指定渲染布局为companysrc/companies/companies.11tydata.js 则提供计算字段。这意味着每份档案的字段命名、取值与含义都必须与这两份全局配置保持一致。从 Company blurb 到 SEO 元描述一份档案能被搜索引擎有效收录元描述meta description至关重要。有意思的是src/companies/companies.11tydata.js 中的eleventyComputed.description会自动从正文的## Company blurb章节提取文字并加工成元描述维护者无需手动编写用正则/##\s*Company\s*blurb\s*\n([\s\S]*?)(?\n##|$)/i定位 blurb 章节并截取文本若找不到该章节则回退为 frontmatter 之后的第一段非标题文本依次剥离 Markdown 链接text→text、删除 * _ 等标记、把换行与多余空白压缩为单空格截断到约 155 个字符优先在句号边界截断否则在最后一个空格处截断并追加...。以 MaintainNow 为例其 blurb 全文约 200 个字符经此管线生成的 description 会在句号处收尾正好落在 155 字符的 SEO 建议区间内。从源码结构可以推断页面的meta namedescription、Open Graph 描述乃至结构化数据都会消费这个计算字段因此把 blurb 写得准确凝练直接决定了档案的搜索引擎表现。frontmatter 字段语义与受控词表字段的合法取值并非自由发挥而是由 src/_data/labels.js 统一定义同时通过 src/_data/companyHelpers.js 导出给 JS 侧使用并作为labels.*注入 Nunjucks 模板CONTRIBUTING.md 也列出了同一套有效值。逐项对照 MaintainNow字段MaintainNow 取值受控词表labels.js / CONTRIBUTING.md渲染结果regionamericasworldwide/americas/europe/americas-europe/asia-pacific/other显示为 Americas链接至/browse/americas/remote_policyfully-remotefully-remote/remote-first/hybrid/remote-friendly显示为 Fully Remote链接至/browse/fully-remote/company_sizestartuptiny(1-10) /small(11-50) /medium(51-200) /large(201-1000) /enterprise(1000)不渲染为标签仅作为数据存在technologiesreact/react-native/awsreact等在册react-native、aws不在tech映射表中见下文回退逻辑这里有两个值得注意的细节恰好能体现档案即数据契约的运作方式company_size: startup不在受控词表内。查看 src/_layouts/company.njk 可以发现页面只对region与remote_policy渲染彩色标签tag--region、tag--policycompany_size并不参与标签渲染因此该字段虽不合法却不影响构建仅作为未展示的元数据。若按规范本应使用tiny。technologies中的react-native与aws未登记。src/_layouts/company.njk 第 34 行的labels.tech[tech] or tech提供了回退映射表中没有的科技名会以原字符串直接显示为技术标签并由 src/_config/collections.js 的getCompanyTags原样归入 technology 分组。这意味着目录允许技术栈自由扩展但未登记的标签无法获得统一的规范显示名。数据流向档案如何变成浏览页与标签公司档案并不静态陈列而是被 src/_config/collections.js 统一收集并派生出多种视图getAllCompanies按标题字母序排序的全部公司列表getCompaniesByRegion/getCompaniesByTech按region与technologies分组maintainnow会出现在 americas 组与 react 组中getRecentCompanies按 frontmatter 的addedAt倒序取最近 12 家——MaintainNow 于 2026-01-17 加入会进入最近新增区getCompanyTags遍历全部档案把technologies、region、remote_policy分别聚合成 technology / region / remote-policy 三类标签供/browse/浏览页使用。在渲染端src/_layouts/company.njk 将title渲染为 H1、把website或careers_url渲染为主按钮careers_url优先并显示 Apply Now把region、remote_policy渲染为可点击的浏览标签把technologies渲染为技术栈标签区并在页脚展示updatedAt经formatDate格式化为 MMMM D, YYYY。整页标记data-pagefind-body配合 package.json 中npm run build末尾的 pagefind 索引步骤档案内容即可被站内搜索全文检索。布局层还声明了schema: Organization见 src/_layouts/company.njk 的 frontmatter结构化数据模板位于 src/_includes/schemas/Organization.njk让公司档案能被搜索引擎以 Organization 实体识别。本地构建与校验想验证档案格式是否正确、观察数据流向可以在仓库根目录执行npm install # 安装依赖要求 Node.js 22 npm run start # 启动带热重载的开发服务器 npm run build # 生产构建clean eleventy 构建 pagefind 索引npm run build实际由三个步骤串联见 package.jsonclean清理dist与生成产物、build:11ty以生产环境变量运行 Eleventy、pagefind为dist下的 HTML 生成站内搜索索引。整个目录基于 Eleventy 3.x 构建。若要为目录新增公司CONTRIBUTING.md 给出了标准流程在src/companies/{slug}.md创建档案文件名必须与slug一致、按模板填写 frontmatter 与正文、本地跑npm run build确认可构建、再提交 Pull Request。仓库维护者通过自动校验机器人检查档案格式addedAt/updatedAt由维护者统一管理社区贡献者不应自行填写。小结一份看似只有几十行的公司档案实际串联起了 Remote In Tech 的整条数据管线frontmatter 字段被 src/_config/collections.js 分组聚合被 src/_layouts/company.njk 渲染成带标签与结构化数据的页面blurb 被 src/companies/companies.11tydata.js 加工成 SEO 元描述而 src/_data/labels.js 则负责把原始值翻译成规范展示名。从 MaintainNow 档案中startup、react-native、aws等超纲取值可以看出词表与档案之间存在回退容忍机制这正是社区驱动目录的务实之处数据先行、规范渐进。若需为同类远程公司提交档案这份文件就是最直观的参照模板。赞分享数据集【免费下载链接】remote-jobsSource for remoteintech.company — a community-maintained directory of remote-friendly tech companies项目地址https://gitcode.com/GitHub_Trending/re/remote-jobs点击查看免费下载相关推荐从 Functionize 档案看 fully-remote 公司数据模型Remote In Tech 目录公司档案的结构与解析从 Functionize 档案看 fully remote 公司数据模型Remote In Tech 目录公司档案的结构与解析 导读 本篇以开源仓库 rem数据集解析 Knack 公司档案Remote In Tech 远程公司目录的档案结构与站点构建机制解析 Knack 公司档案Remote In Tech 远程公司目录的档案结构与站点构建机制 Remote In Tech README.md https:数据集从 kea 档案看 remote-in-tech 远程职位目录公司档案结构、数据建模与渲染链路解析从 kea 档案看 remote in tech 远程职位目录公司档案结构、数据建模与渲染链路解析 导读 kea 是 remote in tech 远程友好型数据集创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考