District2Framingham.com

Neighborhood civic blog covering local government, politics, and events in and near Framingham’s District 2 (Nobscot and Saxonville). Built with Quarto, hosted on Netlify. Running since 2017 as a volunteer project.

Scope: Government, politics, elections, neighborhood events, traffic/infrastructure, local businesses, trails/recreation. Very rarely covers schools (time constraint).

Audience: District 2 residents and civic-minded Framingham neighbors.

Content workflows

Event briefs

When asked to draft an event brief from source material (emails, social posts, flyers, websites):

  • Draft organized notes, not a finished post. Sharon rewrites in her own voice.
  • Include the essentials: what, when, where (with address), cost, who’s organizing, and any notable details.
  • Include real links from the source material. Flag [LINK NEEDED: description] where a link would be useful but isn’t available.
  • Include suggested YAML frontmatter (title, author, description, date, categories) but omit image and image-alt fields — Sharon handles images.Town location should be included at end of headline if not Framingham.
  • Suggest categories from the existing taxonomy (see below).
  • Aim for roughly 150-300 words for a typical event brief, matching the site’s usual length.

Meeting and newsletter summaries

When asked to summarize city meeting transcripts, minutes, audio, or newsletters:

  • Produce a bulleted summary covering all items, not just District 2 ones. Flag items that are directly relevant to District 2 / Nobscot / Saxonville so Sharon can decide what to include.
  • Include links to relevant sections of transcripts or source documents when available, or mentions of time stamp if available in an audio transcript..
  • Summary format varies by meeting — ask whether to use structured sections (by topic/relevance) or a flat bullet list if it’s not obvious.
  • Source material varies: audio files, official minutes, lengthy city newsletters. Work with whatever is provided.

Writing boundaries

  • Sharon writes all final pieces. Claude produces notes, summaries, and rough drafts — not publish-ready blog posts — unless explicitly told otherwise.
  • Never edit or suggest changes to already-published posts unless specifically asked.
  • No SEO, marketing, or engagement suggestions. No keywords, meta-description optimization, social sharing boilerplate, or growth tactics.
  • Voice rules (also in global CLAUDE.md): no AI tells (“delve,” “dive into”), no hedging (“it’s worth noting”), not over-formal. Match a veteran journalist’s conversational register. No emoji or exclamation points unless context demands them.

Post format reference

Frontmatter

---
title: "Post Title"
author: "Sharon Machlis"
description: "One-line description for listing pages"
date: "YYYY-MM-DD"
categories: [Category1, Category2]
---

Author is “Sharon Machlis”.

Quarto markdown conventions

  • External links use {target="_blank"}: [link text](url){target="_blank"}
  • Addresses of primary venues/locations MUST link to OpenStreetMap: look up the address via the Nominatim API to get the osm_type and osm_id, then link as [address](https://www.openstreetmap.org/{osm_type}/{osm_id}){target="_blank"}
  • Images: ![alt or caption](filename.jpg){fig-alt="descriptive alt text"}
  • Many news posts open with a FRAMINGHAM – dateline (an em dash, not a hyphen)
  • Videos embed with

Category taxonomy

High-frequency categories (use these first):

Events, Government & Politics, Saxonville, Nobscot, Elections, Traffic, Holidays, City Council, McAuliffe Library, Trails, Planning & Development, Concerts, Recreation, Eateries, Mayor, Business, School Committee, Brandon Ward, MBTA Communities Law, Public Works, Wayland, Emergencies, Weather

Technical notes

  • Posts live in posts/YYYY-MM-DD-slug-name/index.qmd (each post gets its own directory)
  • Site renders with Quarto; publishing workflow uses feature branches merged into main
  • Event calendar is in EventCal.qmd using reactable
  • Email list runs through Beehiiv
  • Social: Mastodon (@FramDist2@mastodon.social), Bluesky (district2framingham.com)
No matching items


Sign up for the District 2 email-list.