从 MaintainNow 档案看 Remote In Tech 远程公司目录的数据结构与构建管线

发布时间:2026/10/4 5:21:17

从 MaintainNow 档案看 Remote In Tech 远程公司目录的数据结构与构建管线 数据集【免费下载链接】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),仅供参考
延伸阅读

更多相关文章

2026/10/4 5:21:17

PSASP与Matlab/SimPowerSystems联合仿真:三条接口路径详解

前阵子做风电场次同步振荡分析,遇到一个很现实的问题:系统侧用PSASP搭了几百台机的大电网模型,但风电场变流器控制策略要细化到dq轴电流环、锁相环、虚拟惯量这些层。PSASP里虽然也有新能源模型,可一旦要改控制算法、验证厂家提供…

2026/10/4 5:21:17

搭房子算法题:累加正差分求最少操作次数

先说我看到这道题第一反应:这不就是“积木大赛/铺设道路”的换皮题吗?如果你刷过洛谷 P1969 或者 P5019,看到“搭房子”这三个字应该直接条件反射出解法。2026 蚂蚁春招开发岗 3 月 15 日这套卷子我没法确认全部内容,但“搭房子”…

2026/10/4 5:16:17

ROS2单臂机械臂仿真:MoveIt+Gazebo联合搭建实战指南

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

2026/10/4 6:16:19

K210人脸检测与识别实战:KPU底层调优与边缘部署全链路

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

2026/10/4 6:16:19

从0到1搭建AI内容生产流水线:架构设计与工程实践

1. 先搞清楚“AI内容生产流水线”到底在说什么“从0到1搭建AI内容生产流水线”这个说法,最近一年在技术社区里出现的频率越来越高。很多人第一次听到会以为就是“用AI写文章”,但真正动手做过的人都知道,这两件事之间的差距,大概相…

2026/10/4 6:16:19

建筑学AI开题报告写作指南:从场地分析到技术路线一次讲清

建筑学专业的开题报告比一般专业更"重":既要文字论述,又要设计前期分析图,设计类课题还要附场地调研。很多同学图做得漂亮,文字部分却逻辑混乱,开题答辩被评委连环追问"你的研究问题到底是什么"&a…

2026/10/4 6:16:19

基于Python+爬虫的旅游景点数据分析与可视化平台设计与实现

选题背景与意义 随着互联网技术的迅猛发展和智能设备的普及,旅游行业正经历着深刻的数字化转型。越来越多的游客在出行前依赖网络平台获取景点信息、评价反馈及行程规划建议,这使得在线旅游数据呈现出爆炸式增长。与此同时,各大旅游网站如携程…

2026/10/4 6:16:19

试了五六款论文工具后,我为什么长期留在汇写?

我属于那种"工具控",写毕业论文这大半年,前后试过的论文辅助网站不下五六款。有的主打AI写作,有的主打降重,有的主打查重,还有的就是一个空壳壳,点进去全是诱导充值。踩过的坑多了,我…

2026/10/4 6:11:19

公交数据中心云平台建设:从方案书到落地实践

简介:这份《公交数据中心云平台建设方案书》是面向智慧城市与公交企业信息化规划的技术文档,适合交通管理部门、公交集团信息化人员、云计算/大数据项目架构师参考,用于解决公交运营数据采集、处理、分析及智能决策等建设问题。全包共1个doc文…

2026/10/4 0:01:02

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/4 0:01:02

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/4 1:01:05

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

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

2026/10/4 0:01:02

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/4 0:01:02

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/4 1:01:05

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

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

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑