3 stable releases
| new 20251215.0.0 | Dec 15, 2025 |
|---|---|
| 20251214.0.2 | Dec 15, 2025 |
| 20251214.0.1 | Dec 14, 2025 |
#2615 in Parser implementations
Used in srg
195KB
387 lines
Contains (WOFF font, 39KB) docs/fonts/bnbergen-webfont.woff, (WOFF font, 32KB) docs/fonts/bnbergen-webfont.woff2, (WOFF font, 17KB) docs/fonts/dallas-light-webfont.woff, (WOFF font, 17KB) docs/fonts/dallas-regular-webfont.woff, (WOFF font, 29KB) docs/fonts/marky-webfont.woff, (WOFF font, 23KB) docs/fonts/marky-webfont.woff2 and 2 more.
JOBL
A TOML-encoded resume file format with strict validation.
Format Specification
JOBL (v20251211) is a structured resume format using TOML encoding.
File Extension
.jobl
Top-Level Keys
jobl_version(required): Version string inYYYYMMDDformatperson(required): Personal information tableskills(optional): Skills organized by categoryexperience(optional): Array of work experienceprojects(optional): Array of projectseducation(optional): Array of education entries
Person Section
Required:
name: Full name
Optional:
headline: Professional headlinelocation: Current locationemail: Contact emailwebsite: Personal website URLphone: Contact phonesummary: Professional summary
Skills Section
A table mapping category names to arrays of skill strings.
Example:
[skills]
languages = ['Rust', 'Python', 'JavaScript']
devops = ['Docker', 'Kubernetes']
Experience Items
Required:
title: Job titlecompany: Company name
Optional:
location: Job locationstart: Start date (recommend 'YYYY-MM')end: End date or 'present'summary: Role summarytechnologies: Array of technologies usedhighlights: Array of achievement highlights
Project Items
Required:
name: Project name
Optional:
url: Project URLsummary: Project descriptionrole: Your rolestart: Start dateend: End datetechnologies: Array of technologies
Education Items
Required:
institution: School or institution namedegree: Degree or certification
Optional:
location: Institution locationstart: Start dateend: End datedetails: Array of additional details
Usage
use jobl::{parse_str, parse_file};
// Parse from string
let doc = parse_str(jobl_content)?;
// Parse from file
let doc = parse_file("resume.jobl")?;
// Access data
println!("Name: {}", doc.person.name);
Validation
The parser performs strict validation:
- Version must be '20251211'
- Unknown top-level keys are errors
- Unknown fields in sections are errors
- Type mismatches are errors
- Multiple errors are collected and reported
Errors include path context:
person.name: Missing required fieldexperience[0].unknown: Unknown field in first experience itemskills.languages: Invalid type
License
MIT
Dependencies
~0.6–1.3MB
~29K SLoC