picknik.ai — Jekyll Website

Jekyll 4.2 static site for https://picknik.ai. Deployed via GitHub Pages from master.

Build & Run

# Local development (Ubuntu)
./build_locally.sh              # Install deps + serve at localhost:4000
./build_locally.sh noinstall    # Skip dependency install
./build_locally.sh check        # Run CI tests locally

# Manual
bundle exec jekyll serve        # Dev server
bundle exec jekyll build        # Build to _site/

Ruby 3.2.3 required (see .ruby-version). For macOS setup see https://jekyllrb.com/docs/installation/macos/.

CI Checks

All PRs run these via GitHub Actions:

  1. ROS™ trademark validationscripts/validate_ros_trademark.py. Rule: exactly one ROS™ per page (in title OR first body occurrence, not both).
  2. HTML proofer — validates all links and images after build (--strict_front_matter).
  3. Pre-commit — YAML formatting, spelling (codespell), line endings, merge markers.
  4. Jest testsnpm test (jsdom environment, tests in tests/).

Directory Structure

Directory Purpose
_posts/ Blog posts (YYYY-MM-DD-Title.md)
_case-studies/ Case studies (sorted by cs_order)
_white-papers/ White papers (YYYY-MM-DD-Title.md)
_news-releases/ Press releases — do not modify (historical content)
_news-links/ External news links — do not modify
_webinars/ Webinar pages
_video-posts/ Video content
_ecosystem/ Partner/ecosystem entries
_events-links/ Event links
_data/ Data files (variables.yml, behaviors.json)
_layouts/ Liquid templates
_includes/ Reusable components (head, footer, menu, forms)
_sass/ SCSS modules (_component-name.scss)
assets/ Static assets (images, JS, CSS, fonts)
pages/ Standalone pages
products/ Product pages (MoveIt Pro, etc.)
docs/ PDFs and documentation

Content Conventions

Front Matter — Blog Posts

---
date: YYYY-MM-DD
author: "Name, Title"
layout: post
title: "Post Title"           # 30-60 chars for SEO
media_type: image              # image | video | htmlVideo
media_link: /assets/images/blog_posts/image.png
description: "Unique meta description"
comments: false
---

Layouts

Naming

Content Rules

Frontend

Git Workflow

Team