解读 Remote In Tech 公司档案:以 Bloc 为例拆解远程友好型公司的收录格式与构建机制
数据集【免费下载链接】remote-jobsSource for remoteintech.company — a community-maintained directory of remote-friendly tech companies项目地址https://gitcode.com/GitHub_Trending/re/remote-jobs点击查看免费下载远程友好型科技公司目录 Remote In Tech仓库名 remote-jobs以社区维护的方式收录全球远程友好的科技公司其数据源是一个个 Markdown 档案文件。src/companies/bloc.md 正是这类档案的典型代表——它记录了 2012 年创立、全球首批 100% 在线编程训练营之一 Bloc 的完整信息涵盖公司简介、远程政策、办公地点与申请入口。本文以该档案为解剖样本结合仓库中的 frontmatter 模板、校验脚本、标签体系与 Eleventy 渲染链路说明一份合规公司档案应该怎么写、怎么写才能通过自动校验并在站点正确呈现。一、档案文件的整体骨架frontmatter 与正文分区Remote In Tech 的每家公司对应一个独立 Markdown 文件存放在 src/companies/ 目录下命名规则为{slug}.md。Bloc 档案由两部分组成YAML frontmatter承载结构化的元数据标题、官网、区域、远程政策、时间戳等是站点归类、排序、检索和 SEO 的核心数据源Markdown 正文以固定的##二级标题分区组织人类可读的介绍内容。这种「结构化元数据 自由正文」的双层结构既保证了数据可被程序精确消费又保留了足够的叙述空间。frontmatter 字段逐一解析以 Bloc 档案的 frontmatter 为例--- title: Bloc slug: bloc website: https://www.bloc.io/ careers_url: https://www.bloc.io/about region: americas remote_policy: remote-friendly addedAt: 2018-04-24 updatedAt: 2020-10-17 ---字段Bloc 取值含义与约束依据 CONTRIBUTING.mdtitleBloc公司展示名称同时用于站点排序与标签展示slugbloc必须与文件名一致即文件应为src/companies/bloc.mdwebsite官网地址公司官网careers_url招聘页地址必须指向公司自己的招聘页面而非对外售卖服务的页面若存在档案页会优先渲染「Apply Now」按钮regionamericas合法值worldwide、americas、europe、americas-europe、asia-pacific、otherremote_policyremote-friendly合法值fully-remote、remote-first、hybrid、remote-friendlyaddedAt/updatedAt日期由维护者管理贡献者提交 PR 时不应包含这里region: americas与正文中「Region: North America」互相印证——归档到美洲区域的同时正文用自然语言补充了更精确的地理范围。正文的必选分区按 CONTRIBUTING.md 的要求正文必须包含三个##分区## Company blurb—— 公司简介## Remote status—— 远程工作方式## How to apply—— 申请入口或说明。Bloc 档案严格遵循了该模板此外还用了两个可选分区## Region与## Office locations补充区域与办公地点信息。二、Company blurb如何撰写可被机器自动抽取的简介Bloc 的## Company blurb是一段结构完整、信息密度高的叙述浓缩了四层信息创立背景2012 年成立是全球最早、且首个 100% 在线授课的编程训练营之一产品形态翻转课堂flipped classroom与精熟学习mastery learning方法导师带领的项目制课程而非传统课堂使命陈述帮助每个人精进技艺、改善生活通过代码与设计改变人们的职业生涯受众与课程面向零基础初学者的软件开发与设计方向结构化在线培训以就业结果为导向。值得注意的是这段 blurb 不只是给人看的。仓库中的 src/companies/companies.11tydata.js 会对每个公司档案自动计算description字段用于生成 meta description它通过正则/##\s*Company\s*blurb\s*\n([\s\S]*?)(?\n##|$)/i抓取 blurb 段内容剥离 Markdown 链接语法text→text、去除*、_、反引号压缩多余空白然后截断到约 155 字符——优先在句号边界截断其次在空格处截断并追加省略号。这意味着blurb 的措辞直接决定了该档案在搜索引擎结果页展示的摘要撰写时应把最核心的定位信息放在开头几句话。三、从字段到页面公司档案的渲染链路frontmatter 字段本身不产生页面真正的渲染发生在 src/_layouts/company.njk经由 src/companies/companies.json 中layout: company的指定。该模板的渲染逻辑清晰地对应了每个 frontmatter 字段按钮优先级careers_url or website——若提供careers_url则显示「Apply Now →」否则显示「Visit Website →」区域标签region存在时渲染为/browse/{region}/的链接标签文案取 src/_data/labels.js 中的映射远程政策标签remote_policy存在时渲染为/browse/{remote_policy}/的链接技术栈区块若 frontmatter 中有technologies数组则渲染「Tech Stack」区块每个技术项链接到对应浏览页更新日期updatedAt存在时以MMMM D, YYYY格式展示「Last updated」。也就是说贡献者填写规范的region、remote_policy、technologies字段后站点会自动生成跨档案的标签页与浏览入口无需手写任何导航代码。标签文案的单一事实来源src/_data/labels.js 集中定义了所有区域、远程政策、公司规模与技术栈的展示文案是「单一事实来源」它既被 src/_data/companyHelpers.js 以regionLabels、remotePolicyLabels、companySizeLabels、techLabels的形式导出给 JS 消费也通过数据级联以labels.*提供给 Nunjucks 模板。例如remote-friendly在页面上显示为「Remote Friendly」americas显示为「Americas」。四、档案如何进入站点的各类集合站点首页、浏览页等并非直接遍历目录而是由 src/_config/collections.js 基于 glob./src/companies/**/*.md构建集合结果被缓存避免对约 850 家公司的重复过滤。与 Bloc 档案直接相关的归类逻辑包括getAllCompanies全部公司按title字母序排序getCompaniesByRegion按region字段分组region: americas的 Bloc 会被归入「Americas」组配合 src/_data/companyHelpers.js 中featuredCompanySlugs之外的所有普通公司一起参与浏览页展示getRecentCompanies按addedAt倒序取最近 12 家——Bloc 的addedAt: 2018-04-24即用于该时间维度的排序getCompanyTags从每个档案的region、remote_policy、technologies字段动态聚合出浏览标签数据并统计每家公司的标签计数。可以看到一份档案填写的字段越完整它在站点的分类体系中就越「可见」——区域标签、远程政策标签与技术栈标签全部由此自动生成。五、合规性校验让每份档案都符合格式档案格式并非仅靠约定而是有自动化的强制校验。PR 触及 src/companies/ 路径时.github/workflows/validate-companies.yml 中的Validate Company Profiles工作流会被触发它通过 GitHub API 拉取变更文件列表过滤掉removed状态的文件避免改名/删除场景误报在稀疏检出sparse-checkout的pr-head目录中定位每个变更文件逐文件运行.github/scripts/validate-companies.js校验随后把结果以机器人评论的形式回帖到 PR全部通过则提示「Company profile validation passed!」存在错误则逐条列出:x:问题并阻塞合并。结合 CONTRIBUTING.md 可以梳理出校验与人工审核共同维护的标准收录资格公司需为半远程至全远程的科技行业公司直接雇佣员工不含将其他公司岗位转挂的招聘代理或自由职业平台提供真实远程岗位佣金制或纯独立承包的销售岗不计入内容底线拒绝内容极少或无实质内容的档案格式合规{slug}与文件名一致字段取值合法必选分区齐全。Bloc 档案之所以能入库至今updatedAt: 2020-10-17正是因为它在上述维度上全部达标自雇工程师、提供远程全职岗位、有完整 blurb 与申请入口。六、如何在本地构建并验证一份公司档案若要在本地复现档案的校验与渲染可参照 README.md 的工作流npm install # 安装依赖 npm run start # 启动带热重载的开发服务器 npm run build # 生产构建验证档案能否成功编译需要 Node.js 22。构建通过后可在开发服务器中访问/companies/bloc/查看渲染结果确认区域标签、远程政策标签与 Apply 按钮是否符合预期npm run build同样会在提交 PR 前提前暴露 frontmatter 或模板层的错误。七、小结一份看似简单的公司档案背后是 Remote In Tech 精心设计的结构化数据体系frontmatter 提供机器可读的元数据##分区正文提供人类可读的叙述src/_data/labels.js 统一标签文案src/_config/collections.js 驱动归类与浏览src/companies/companies.11tydata.js 自动生成 SEO 摘要校验工作流把关格式合规。以 Bloc 档案为模板理解这些机制后任何贡献者都能写出一份既能通过校验、又能在站点中充分曝光的远程友好公司档案。赞分享数据集【免费下载链接】remote-jobsSource for remoteintech.company — a community-maintained directory of remote-friendly tech companies项目地址https://gitcode.com/GitHub_Trending/re/remote-jobs点击查看免费下载相关推荐Remote In Tech 公司档案解析以 Algorand 为例读懂远程友好型科技公司数据格式Remote In Tech 公司档案解析以 Algorand 为例读懂远程友好型科技公司数据格式 导读 src/companies/algorand.md数据集Remote In Tech 公司档案解析以 Atlassian 档案为例解读远程友好公司的数据建模与构建链路Remote In Tech 公司档案解析以 Atlassian 档案为例解读远程友好公司的数据建模与构建链路 导读 本文以仓库中 src/companies数据集Remote In Tech 公司档案解析以 Basecamp 为例的远程友好科技公司目录数据模型Remote In Tech 公司档案解析以 Basecamp 为例的远程友好科技公司目录数据模型 Basecamp 是远程工作领域的标志性公司也是本仓库数据集上一篇如何利用GhostNetV2实现工业视觉中的缺陷检测与质量检查完整指南下一篇Hyper-Extract架构解析三层架构设计如何实现高效知识提取创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →