PropertyNoob

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.

Related

Social Channels

CLAUDE.md

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
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