ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

从 Puppet 档案看 Remote In Tech 远程公司目录的数据结构与技术实现

从 Puppet 档案看 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点击查看免费下载remoteintech.company 是社区维护的远程友好科技公司目录其数据全部以 Markdown 档案文件的形式存放在src/companies/目录中。本文以该目录下的 Puppet 档案 为标本完整拆解一份公司档案的 frontmatter 元数据与正文结构、各字段在站点中的渲染与分类逻辑并对照仓库源码说明这些数据如何被 Eleventy 构建系统消费帮助你掌握新增/解析/维护一份远程公司档案的完整链路。档案文件概览Puppet 的定位与核心信息puppet.md记录的是 Puppet——一家聚焦 IT 自动化领域的公司。档案将其归类为远程策略remote_policyremote-friendly远程友好即部分团队、部分岗位支持远程协作地区regioneurope档案正文补充其远程团队覆盖 US、APAC、EMEA 三大区域公司规模company_sizelarge正文给出具体人数 400技术栈technologiesdevops与ruby。这些字段并非自由文本而是仓库中定义好的枚举值站点据此自动生成标签、分类页与筛选入口属于数据驱动的目录体系。Frontmatter 元数据逐字段解析puppet.md的头部 frontmatter 是整份档案的数据骨架原文如下--- title: Puppet slug: puppet website: https://puppet.com/ careers_url: https://puppet.com/company/careers region: europe remote_policy: remote-friendly company_size: large technologies: - devops - ruby addedAt: 2015-10-13 updatedAt: 2018-04-16 ---各字段含义与仓库约束如下字段取值本档案说明与约束titlePuppet公司显示名称站点h1与页面标题直接使用slugpuppet档案文件必须命名为src/companies/{slug}.md二者需一致见 CONTRIBUTING.mdwebsitehttps://puppet.com/公司官网careers_urlhttps://puppet.com/company/careers公司自有招聘页若缺少该字段布局会退化为使用website作为主按钮regioneurope枚举值worldwide、americas、europe、americas-europe、asia-pacific、otherremote_policyremote-friendly枚举值fully-remote、remote-first、hybrid、remote-friendlycompany_sizelarge枚举值tiny(1-10)、small(11-50)、medium(51-200)、large(201-1000)、enterprise(1000)technologiesdevops、ruby数组取值来自 labels.js 中tech枚举表addedAt/updatedAt2015-10-13/2018-04-16维护者管理的日期字段updatedAt会渲染在档案页页脚从 CONTRIBUTING.md 可知addedAt与updatedAt由维护者管理社区 PR 中不应自行填写这两个字段。正文五段式结构公司档案的标准模板puppet.md正文严格遵循目录规定的##小节结构。其中## Company blurb、## Remote status、## How to apply为必填小节见 CONTRIBUTING.md## Company size、## Region、## Company technologies、## Office locations为可选但常用的补充小节。逐段解读如下。Company blurb一句话定位公司业务原文描述 Puppet 是 the leader in IT automation核心业务是帮助系统管理员自动化配置与管理机器及其上运行的软件让企业在物理机、虚拟机、本地与云上快速、可重复地变更并自动强制执行系统与设备的一致性。这段 blurb 不仅是页面正文还被 companies.11tydata.js 自动提取为 SEO meta description构建时会正则匹配## Company blurb标题后的段落去除 Markdown 链接、*_ 等符号、合并换行与多余空格并截断至约 155 个字符优先在句号处截断。因此 blurb 写得越精炼站点的搜索摘要质量越高。Company size规模标签的来源正文给出400。该数值与 frontmatter 的company_size: large相辅相成——前者是正文的事实陈述后者用于站点的筛选标签与分类。从 labels.js 可见large对应展示文案 201-1000 employees。Remote status远程政策的判定依据这是目录最关键的字段之一。Puppet 的声明是团队分布全球是否远程取决于所申请的具体团队且要求候选人具备与远程团队协作的先前经验。从 CONTRIBUTING.md 可知目录的收录门槛公司必须提供真实的远程工作机会有薪的、可远程完成的全职或按小时岗位。因此Remote status小节是社区审查的核心证据不能虚写。Region区域范围的事实说明frontmatter 写europe正文补充实际远程覆盖为US、APAC 和 EMEA。可见 frontmatter 的region是面向分类的主区域正文则提供更完整的边界说明。europe在 labels.js 中展示为 Europe并会链接到/browse/europe/区域聚合页。Company technologies技术栈标签frontmatter 中technologies声明devops与ruby正文则说公司技术栈还包括 Clojure 与更多语言。仓库只对technologies枚举表中存在的值生成标签labels.js 的tech表含javascript、python、go、devops、kubernetes等 25 项所以正文中的技术细节与标签系统相互补充。Office locations混合办公背景交代档案记录 Puppet 主办公室位于波特兰市中心 Block 300 大楼并在贝尔法斯特、伦敦、捷克设有办公室——这解释了远程友好而非完全远程的政策定位公司有实体办公室但支持分布式协作。How to apply申请入口规范正文指向公司的官方招聘页与招聘 FAQ。CONTRIBUTING.md 特别强调careers_url必须指向公司自己的招聘页面而非出售服务的页面同时目录不接受中介、培训营或自由职业平台代为列出的岗位。仓库源码如何消费这份档案布局渲染company.njkcompany.njk 是公司档案的专用布局由src/companies/companies.json的layout: company指定。其渲染逻辑与 frontmatter 字段一一对应buttonUrl careers_url or website优先展示 Apply Now 按钮缺失careers_url时降级为 Visit WebsitePuppet 档案两者兼备region与remote_policy渲染为可点击的 tag 标签分别链接到/browse/{region}/与/browse/{remote_policy}/分类页technologies遍历生成 Tech Stack 标签区updatedAt通过formatDate(MMMM D, YYYY)过滤器dates.js格式化为页面页脚的 Last updated 时间。集合与分组collections.jscollections.js 是档案数据的组织引擎getAllCompanies按title字母序排序所有档案getCompaniesByRegion依据region字段分组Puppet 会进入 Europe 组getCompaniesByTech依据technologies数组分组Puppet 同时进入 DevOps 与 Ruby 两组getRecentCompanies按addedAt倒序取最近 12 家新收录公司。标签数据流从 frontmatter 到浏览页collections.js 中的getCompanyTags会遍历全部档案按technology、region、remote-policy三类聚合出标签页数据标签展示名统一取自 labels.js如europe → Europe、remote-friendly → Remote Friendly并统计每家公司的收录数量。这意味着 Puppet 档案一旦更新region或remote_policy其所属的浏览分组会自动重建无需手工维护任何中间文件。维护这份档案的实战要点结合 CONTRIBUTING.md 与源码维护 Puppet 这类档案的核心规范可归纳为文件名即 slug档案必须位于src/companies/puppet.md与slug: puppet一致必填三段Company blurb、Remote status、How to apply缺一不可PR 会被 Validate Company Profiles 自动检查仓库中的校验机器人会阻止合并不符合格式的提交枚举值约束region、remote_policy、company_size、technologies必须落在 labels.js 与 CONTRIBUTING.md 给出的取值集合内否则标签无法正确生成日期由维护者管理社区贡献不应携带addedAt/updatedAt提交前验证在仓库根目录执行npm run build确认档案能被 Eleventy 正常构建后提交 PR。小结puppet.md是 remoteintech.company 目录中一份典型的远程友好 大型企业 DevOps 技术栈档案它以一段精准的 blurb 定义业务用枚举化 frontmatter 完成分类再由 company.njk 与 collections.js 自动渲染出页面、标签与分组。理解这份档案等于掌握了该目录数据 → 标签 → 浏览页全链路的读写范式——无论是想新增一家公司还是审核既有档案是否合规都可以参照这套结构快速上手。赞分享数据集【免费下载链接】remote-jobsSource for remoteintech.company — a community-maintained directory of remote-friendly tech companies项目地址https://gitcode.com/GitHub_Trending/re/remote-jobs点击查看免费下载相关推荐从 Mobile Jazz 档案看 Remote In Tech公司目录的数据结构与全远程实践从 Mobile Jazz 档案看 Remote In Tech公司目录的数据结构与全远程实践 Mobile Jazz 是 Remote In Techre数据集从 MaintainNow 档案看 Remote In Tech 远程公司目录的数据结构与构建管线从 MaintainNow 档案看 Remote In Tech 远程公司目录的数据结构与构建管线 Remote In Tech remoteintech.c数据集从 Functionize 档案看 fully-remote 公司数据模型Remote In Tech 目录公司档案的结构与解析从 Functionize 档案看 fully remote 公司数据模型Remote In Tech 目录公司档案的结构与解析 导读 本篇以开源仓库 rem数据集创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表