- Node.js 20
- Yarn
- Postgresql 15: https://postgresapp.com
- Clone plasmic:
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1"> | |
| <title>Verify Your Account</title> | |
| <style> | |
| body { | |
| font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; | |
| background: #f5f5f5; |
| <!doctype html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8" /> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | |
| <meta name="color-scheme" content="light dark" /> | |
| <title>SVG Dark Mode - Real light-dark() CSS</title> | |
| <style> | |
| :root { | |
| color-scheme: light dark; |
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Chrome DevTools - Real Object Tracing Demo</title> | |
| <style> | |
| * { | |
| margin: 0; | |
| padding: 0; |
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <title>Advanced CSS Container Queries Demo</title> | |
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |
| <style> | |
| body { | |
| background: #f6f7fb; | |
| font-family: system-ui, sans-serif; |
| // App.jsx | |
| import { AtomicState, useAtomicValue } from "./shared-atomic-state"; | |
| import './App.css'; | |
| // Create a shared state instance (could be moved to a context or module) | |
| const atomicState = new AtomicState(); | |
| // Create two atomic values | |
| const counterA = atomicState.createAtomicValue(0, "int"); |
| import React, { useState } from 'react'; | |
| import { MapCanvas } from './components/MapCanvas.jsx'; | |
| import { HeatmapControls } from './components/HeatmapControls.jsx'; | |
| function App() { | |
| const [region, setRegion] = useState('NYC'); | |
| const [zoom, setZoom] = useState(12); | |
| const [heatmapOptions, setHeatmapOptions] = useState({ | |
| radius: 20, |
| import React, { useEffect, useRef, useState } from "react"; | |
| // --- 1. Event Bus Implementation --- | |
| type EventMap = { | |
| "modal:open": { modalId: string }; | |
| "modal:close": { modalId: string }; | |
| "listing:delete": { listingId: string }; | |
| "notification:show": { type: "success" | "error"; message: string }; | |
| "dom:action": { |
This recipe puts a trivial speed bump in the way of form spammers. By forcing them to actually evaluate the page with a Javascript engine (or do extra processing to figure out what is needed), you raise the amount of effort required above that which most form spammers are likely to spend.
Pick a nice random number. The SHA1 of some Git commit would be a good one. I picked this one: