portaljs-add-map

Featured

Render a GeoJSON dataset on an interactive Leaflet map in the Views section of a dataset's showcase. Installs react-leaflet and a Map component, then renders the map for the chosen dataset. Use when a dataset's data is geographic and a map view is needed alongside the showcase's default metadata and download.

Web & Frontend 2,343 stars 334 forks Updated today MIT

Install

View on GitHub

Quality Score: 99/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# PortalJS — Add Map ## Overview Add an interactive Leaflet map as a view on a dataset's **showcase** in a `portaljs-catalog` portal. The skill installs `react-leaflet`/`leaflet` (added directly — never `@portaljs/components`), writes a reusable `Map` component split across `MapView.tsx` (the Leaflet code) and `Map.tsx` (a `dynamic(..., { ssr: false })` wrapper, since Leaflet touches `window` at module load), and renders `<Map />` into the **Views** section of the showcase route `pages/[owner]/[slug].tsx` for one chosen GeoJSON dataset. The dataset should already carry `format: "geojson"` in `datasets.json`; if it doesn't exist yet, the skill can copy the file and register it first. ## Prerequisites - A scaffolded PortalJS portal (see `portaljs-new-portal`). - The target dataset registered in `datasets.json` with `format: "geojson"` (see `portaljs-add-dataset`), or a GeoJSON source file/URL to register. - Node 18+ and npm available in the portal directory. ## Instructions The canonical, full step-by-step workflow is [`.claude/commands/portaljs-add-map.md`](https://github.com/datopian/portaljs/blob/main/.claude/commands/portaljs-add-map.md) — the single source of truth. Read and follow it when executing. Summary: 1. Gather input — dataset slug (or a GeoJSON source to register), portal directory. If any is missing, interview the user; never dead-end on a missing value. 2. Validate the portal directory (`datasets.json`, `package.json`, `pages/[owner]/[slug].tsx` m...

Details

Author
datopian
Repository
datopian/portaljs
Created
14 years ago
Last Updated
today
Language
TypeScript
License
MIT

Integrates with

Bundled in these plugins

Similar Skills

Semantically similar based on skill content — not just same category