The key to finding your perfect property should be in your hands. We empower you with valuable insights & tools, and let you be in control of your home search.
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Development Commands
This is a Jekyll-based website for Singapore property investment content. Common commands:
bundle install - Install Ruby gems
bundle exec jekyll serve - Run local development server
bundle exec jekyll build - Build the site
marp _slides/filename.md -o slides/filename.html -w - Generate slides from Markdown using Marp
Site Architecture
Content Structure
Jekyll Collections : Uses several collections including _authors, _pages, _posts, _archives, _slides
Data Files : Key data in _data/ including condos.json, launches.json, reviews.json
Categories : Uses categories instead of tags - News, Tips, Guide, HDB, EC, Condo, Landed
URL Structure : Posts use /blog/:year/:month/:day/:title format
Key Directories
_pages/ - Static pages (collection without path prefix)
_posts/ - Blog posts with date-based URLs
condo/ - Individual condo property pages with subdirectories for each property
launch/ - Property launch information pages
_includes/ - Reusable Jekyll components
_layouts/ - Page templates
_data/ - JSON data files for condos, launches, and reviews
Special Features
Launch Pages : Two systems - official launches from launches.json and unofficial/upcoming from launches-upcoming.json
Search : Uses search.json for client-side search functionality
Images : Enlargeable images via `<div class="post-gallery light-gallery-wrapper pt-10 pb-20">
</div>` component
Videos : YouTube embeds via `<iframe width="560" height="315" src="https://www.youtube.com/embed/" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
`
Galleries : Photo galleries with post_format: "gallery"
Tooltips : Bootstrap tooltips with data-toggle="tooltip"
Content Management
New Pages : Duplicate existing pages from _pages/ collection
Popular Posts : Use trending: 100 front matter (higher values = more trending)
Image Captions : Use `<div class="post-gallery light-gallery-wrapper pt-10 pb-20">
Caption
</div>`
Dropcap : Use <span class="dropcap circle bg-yellow">C</span> for article styling
Tables : Must add Bootstrap classes like {:.table .table-striped}
SEO & Configuration
Uses jekyll-seo-tag plugin
Timezone: Asia/Singapore
Disqus comments enabled
Jekyll Archives for category pages
Sitemap generation enabled
Content Creation Workflows
Blog Post Creation
File naming : Use format YYYY-MM-DD-title-slug.md - filename date must match frontmatter date
Frontmatter format :
date : YYYY-MM-DD HH:MM +0800
description : " SEO-friendly description"
categories : News # Use existing categories without brackets
Available categories : News, Tips, Guide, HDB, EC, Condo, Landed
Writing style : Target 20-50 year old savvy Singapore investors, casual yet professional with wit
Article structure : Use <span class="dropcap circle bg-yellow">T</span> for openings
Image Management
Optimization : Convert to JPEG with 80% quality, max 1200px width, target <300KB
Hero images : Referenced in frontmatter image: field
Mid-article images : Use `<div class="post-gallery light-gallery-wrapper pt-10 pb-20">
...
</div>`
Gallery images : Set post_format: "gallery" and add images to gallery: array in frontmatter
Storage : Place in /img/ directory with descriptive filenames
Command : sips -s format jpeg -s formatOptions 80 input.png --out output.jpg -Z 1200
Note : macOS screenshots may contain Unicode spaces - use find command to rename if needed
Data Structure Notes
Condos and launches data is managed in JSON files in _data/
When adding new condos/launches, update the corresponding JSON file
Search functionality requires manual updates to search.json when adding new data sources
Writing Style Guidelines
When writing blog posts, use a casual and direct style, targeting 20-50 years old young and savvy investors in Singapore
Incorporate bits of wit and humour while maintaining a professional tone
Write from the perspective of an all-rounded property agent who invests diversely and smartly
Image Generation Guidelines
When generate prompt for generating images, specify the aspect, for most cases a landscape aspect is most suitable
Image Processing Guidelines
When resizing image for the website, use jpg for better compression