Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

187 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ColeMarshall.net

The personal site and interactive resume of Cole Marshall, Senior Full-Stack Engineer & Designer. Live at colemarshall.net.

CM Monogram

Summary

The site argues that today's web platform is enough on its own: current-spec HTML, CSS, JavaScript, and a little PHP.

  • One JSON file drives everything. The home page, the interactive resume, the JSON-LD structured data, and the downloadable copy all render from data/resume.json, in JSON Resume format. Edit the data and the site follows.
  • A resume you can tailor. colemarshall.net/resume.php lets you pick the sections you want to see, print the result, or take the raw JSON with you.
  • Native CSS, no preprocessor. Design tokens as custom properties, light-dark() theming, color-mix(), native nesting, logical properties, fluid clamp() type. The whole design system fits in one readable file: style/main.css.
  • Code samples that run. The Self-Portraits section on the home page is written as a running joke, but every sample is real, current-syntax code (PHP 8.5, TypeScript, native CSS) with "Run it" links that execute it.
  • Fast and accessible by default. Semantic HTML, skip links, ARIA where it earns its keep, self-hosted variable fonts, and no runtime dependency heavier than highlight.js.

Stack

Deliberately simple and dependency-light:

  • PHP 8+ for templating, with no framework
  • JSON Resume (data/resume.json) as the single source of truth for all content
  • Native CSS (style/main.css) with no preprocessor and no build step
  • Vanilla JavaScript (scripts/)
  • Parsedown (vendored) for Markdown in resume content

All third-party assets are self-hosted. The only runtime request that leaves the origin is Google Analytics.

Asset Source License
scripts/vendor/highlight.min.js (+ http.min.js) highlight.js 11.11.1 BSD-3-Clause
style/fonts/*.woff2 Oswald, Catamaran, Cousine (latin subsets) OFL / Apache-2.0 (Cousine)
style/icons/*.svg Tabler Icons (plus brand-500px, brand-artstation from Simple Icons) MIT / CC0

Structure

index.php               Home: hero, profiles, code samples
resume.php              Interactive resume: toggle sections, print, JSON
includes/
  config.php            All site-wide configuration and tunable values
  functions.php         Shared helpers (data loading, escaping, icons, schema)
  head.php              Shared <head>: meta, OpenGraph, JSON-LD, analytics
  codeSampleItems.php   Code sample definitions for the Self-Portraits section
data/
  resume.json           JSON Resume: edit this to update site content
  code/                 Source files for the Self-Portraits samples
style/                  main.css, cole-neon.css (code theme), fonts, icons
scripts/                home.js, resume.js, vendored highlight.js

Development

Serve the site root with PHP's built-in server:

php -S localhost:8080

When deploying changed CSS/JS, bump ASSET_VERSION in includes/config.php to bust browser caches. Update sitemap.xml lastmod dates when content changes.

License

The MIT license covers the source code only: take whatever is useful, keep the notice. The content is a separate matter. The resume data, copy, photography, and the CM monogram (images/cm_wireframe.svg and related artwork) are © Cole Marshall, all rights reserved.

About

Personal site and interactive resume of Cole Marshall - hand-built with PHP, semantic HTML, native CSS, and vanilla JavaScript. No frameworks, no build step.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages