Gazette is a classic PHP theme with theme.json, built on DEV3's shared theme core and the DEV3 Theme Toolkit plugin. The theme owns presentation, the masthead, the article, live blog and archive templates, dark mode and its 3D preset. The toolkit owns functionality: the News Ticker, Post Hero Grid, Post List, Newsletter Signup and Ad Slot widgets with block twins, the view counter, the reading progress bar, structured data, the DEV3 Motion controls, WooCommerce extras and the demo importer.
Key design decisions
- A front page made of widgets. The lead mosaic reads sticky posts, so editors change the top of the page by ticking "Stick to the top of the blog". Section blocks can skip stories already shown above, so nothing repeats down the page.
- Most read from real views. A built-in view counter records one view per reader session and ignores bots, and the numbered Most read list and article read counts use it.
- Live blogs as plain blocks. Each update is a group block with a time, a headline and text. The template adds anchors, relative "min ago" stamps, a key-updates filter, a latest-updates rail and LiveBlogPosting structured data, so a reporter only ever adds one pattern.
- A true dark mode. Light, dark or the reader's system setting, with the reader's choice remembered in the browser. Every page has its own dark palette and the globe re-inks to match, at WCAG AA contrast in both modes.
- Privacy by default. Fonts are self-hosted, share buttons are plain links, and authors get a local photo or a drawn monogram, so the theme makes no CDN, Gravatar or social requests.
- A small 3D globe. Half-tone continents on a paper sphere with a red meridian band and optional bureau pins spin beside the nameplate. It loads only when visible, pauses offscreen and becomes a still image under reduced motion.
- A believable, original demo. The fictional Gazette Daily has 38 stories with relative dates, 11 bylined authors and reader comments; every illustration, explainer video and podcast audio bed was rendered for the theme.