CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Overview
This is a Jekyll-based static website for Artes do Sul, a Brazilian digital agency and portfolio site. The site features a blog, project showcase, tools collection, and study materials focused on technology, development, business strategy, and product management. The project uses the Hydejack Pro theme and is built with Portuguese content.
Key Technologies
- Jekyll 4.3 - Static site generator
- Hydejack Pro Theme - Premium Jekyll theme (local installation at
./#jekyll-theme-hydejack) - Ruby with Bundler for dependency management
- kramdown-math-katex for math rendering
- Node.js/Puppeteer for screenshot automation in
assets/ia/
Build & Development Commands
Local Development
# Start development server with live reload
bundle exec jekyll serve
# or use the batch file (Windows)
start.bat
The development server runs at http://localhost:4000 by default.
Production Build
# Build site to docs/ directory
bundle exec jekyll build
# or use the batch file (Windows)
build.bat
Important: The output directory is configured as docs/ (not the default _site/), as specified in _config.yml. This is for GitHub Pages compatibility.
Dependencies
# Install Ruby dependencies
bundle install
# For screenshot automation in assets/ia/
cd assets/ia
npm install
npm run capture # Capture all screenshots
npm run capture:single # Capture single screenshot
Architecture & Content Structure
Site Configuration
- Main config:
_config.yml- Controls site metadata, theme settings, navigation menus, and Jekyll plugins - Base URL:
https://artesdosul.com - Language: Portuguese (
pt-BR) - Output directory:
docs/(for GitHub Pages deployment)
Content Organization
Collections
Jekyll collections are the primary content structure:
_posts/showcase/- Project showcase entries (markdown files with frontmatter)- Layout:
showcase - Categories:
showcase - Contains project descriptions, links, and metadata
- Example tags:
apps,projeto,website,javascript,laravel,fitness
- Layout:
_featured_categories/- Main content categories (Tools, DevOps, Estudos)- Permalink:
/:name/ - SEO type: WebPage
- Permalink:
_featured_tags/- Topical tags for filtering content- Permalink:
/tag-:name/ - Output as individual pages
- Permalink:
_projects/- Project collection (if used)- Permalink:
/projects/:path/
- Permalink:
Key Content Sections
/showcase/- Portfolio/projects gallery/estudos/- Study materials on product management, strategy, leadership/tools/- Curated tool collections (AI, development, security)/devops/- Web development tutorials and guides/about/,/mission/,/vision/,/values/- About pages
Recent Projects Display
_includes/projetos.md- HTML/markdown include for homepage recent projects section- Manually curated list of featured projects with thumbnails
- Uses responsive card grid layout with Hydejack’s
.project-cardcomponent
Assets & Interactive Tools
AI Tools Showcase (assets/ia/)
This directory contains a complete PWA (Progressive Web App) showcasing AI-powered interactive tools:
index.html- Main showcase page with filterable project gallery- Screenshots: Stored in
screenshots/directory - PWA features:
manifest.json- App manifestservice-worker.js- Offline supporticon-192.png,icon-512.png- App icons
- Automation:
capture-screenshots.js- Puppeteer script to capture tool screenshotspackage.json- Node dependencies for automation
Each AI tool links to Google Gemini shared conversations/apps and includes:
- Interactive analysis dashboards (governance, politics, economics)
- Creative tools (branding, palettes, content generation)
- Educational platforms (UX heuristics, software engineering)
Image Assets
/assets/img/- Project images, logos, thumbnails/assets/img/projects/- Project-specific images- Naming convention:
{project-name}.webpfor modern web format
Theme & Styling
Hydejack Theme Configuration
The site uses Hydejack Pro theme with extensive customization in _config.yml:
- Accent color:
rgb(255, 127, 80)(coral/orange) - Theme color:
#691345(deep purple) - Fonts:
- Headings: Roboto Slab
- Body: Noto Sans
- Code: Fira Code
- Dark mode: Dynamic (follows OS setting) with toggle icon
- Features enabled:
- Table of Contents (ToC)
- Search functionality
- Cookie consent banner
- Dynamic push state (SPA-like navigation)
Custom Styling
- Custom SASS in
_sass/directory (theme override) - Accent image:
/assets/img/horizon-scanning-poligon.webp
Jekyll Plugins
Active plugins (see _config.yml and Gemfile):
jekyll-feed- RSS/Atom feed generationjekyll-seo-tag- SEO meta tagsjekyll-sitemap- XML sitemapjekyll-paginate- Blog pagination (10 posts per page)jekyll-redirect-from- URL redirectsjekyll-relative-links- Convert relative linksjekyll-optional-front-matter- Allow posts without frontmatterjekyll-readme-index- Use README.md as indexjekyll-titles-from-headings- Extract titles from headingsjekyll-include-cache- Performance optimizationjekyll-compose- Helper for creating posts/drafts
Content Creation Workflow
Creating New Showcase Projects
- Add new markdown file to
_posts/showcase/with date prefix:YYYY-MM-DD-{slug}.md - Use frontmatter template:
```yaml
—
title: “Project Name”
description: “Brief description”
date: YYYY-MM-DDTHH:mm:ss.sssZ
image:
path: /assets/img/{project-image}.webp
categories: showcase
category: showcase
tags: [apps, projeto, website, javascript]
links:
- title: Project Link url: https://example.com/ layout: showcase — ```
- Add project card to
_includes/projetos.mdfor homepage display - Add project image to
/assets/img/(preferably WebP format)
Adding New Tools/Articles
- Tools: Add markdown to relevant section or create in
tools/directory - Studies: Add to
estudos/or as blog post - Use Jekyll’s optional frontmatter plugin - frontmatter is optional for simpler pages
Deployment
Build Output
- Output directory:
docs/ - This directory is committed to Git for GitHub Pages deployment
- Excluded from build (see
_config.yml):scripts/,arquive/,.jekyll-cache,vendor/- Node modules and theme source files
Environment Notes
- Windows-specific gems are included (
wdm,tzinfo-data) - Math rendering requires Node.js runtime for KaTeX compilation
- LSI option (
use_lsi: true) is enabled for better related posts
Special Features
Multi-language Support
While the main language is Portuguese (pt-BR), the site structure supports eventual internationalization through Jekyll’s i18n capabilities.
Analytics & SEO
- Google Analytics:
G-VS0MJC571N - Google site verification configured
- Full SEO meta tags via
jekyll-seo-tag
Navigation Structure
Two menu systems defined in _config.yml:
- Main menu (
menu:) - Top navigation - Footer menu (
legal:) - Footer links
Working with Interactive AI Tools
When modifying the AI tools showcase in assets/ia/:
- Update project data: Edit the
projectsDataobject inindex.html - Add screenshots: Place in
screenshots/directory with naming:screenshot_{filename}.png - Categories: Use one of:
análise,painel,ferramenta - Regenerate screenshots: Run
npm run captureinassets/ia/directory - PWA updates: Increment
cache_versioninservice-worker.jswhen making significant changes
Repository Conventions
- Git strategy: Main branch is
main - Commit messages: Portuguese is acceptable given the Brazilian audience
- File naming: Use kebab-case for URLs/files, maintain existing naming patterns
- Image optimization: Prefer WebP format for modern browsers, provide fallbacks for critical images