{"adoption": {"forks": 584, "observed_at": "2026-08-28T04:09:41.731992+00:00", "stars": 6318}, "canonical_url": "https://ross.abutalabs.com/products/webslides", "card": {"archived": false, "artifact_type": "framework", "description": "Create HTML presentations in seconds —", "domain": ["web-development", "frontend", "web-design", "developer-tools", "documentation"], "enriched": true, "function": ["frontend-framework", "ui-components", "css-framework", "templating"], "health_score": 20, "homepage": "https://webslides.tv/", "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["webslides/WebSlides"], "name": "webslides/WebSlides", "platform": ["browser"], "pushed_at": "2022-12-10T13:03:52+00:00", "repo": "webslides/WebSlides", "stars": 6318, "tags": ["html-presentations", "slides", "slideshow", "presentations", "longform", "landing-pages", "css-components", "web-server", "javascript", "nodejs"], "topics": ["css", "javascript", "html", "slideshow", "webslides", "html-presentation", "slides", "design", "webpack"], "urls": [], "use_cases": ["create html presentations", "make a slideshow with html and css", "build a landing page quickly", "turn markdown-like content into slides", "create a longform scrolling story", "present a portfolio or keynote in the browser", "customize a prebuilt slide demo"], "what_it_is": "WebSlides is an open-source HTML/CSS/JavaScript framework for building beautiful slide presentations, landings, and longform stories with simple semantic markup. Each <section> element becomes a slide, with built-in navigation, permalinks, and 40+ ready-made CSS components.", "when_to_avoid": ["you need a full presentation app with a GUI editor like PowerPoint or Google Slides", "you want markdown-to-slides tooling or speaker notes out of the box", "you need active development and frequent updates — the project is in maintenance mode", "you need React/Vue component integration"], "when_to_choose": ["you know basic HTML/CSS and want fast, dependency-light presentations", "you want full design control with clean, semantic markup", "you need presentations that work offline as plain static files", "you are a designer, marketer, or journalist focused on content"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/webslides", "repo": "webslides/WebSlides", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.731992+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:46:11.632956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0a34b02a973016ff867cd57a65ad27d8e77730aa87fbb5c1bc026cc15c77efaa", "fetched_at": "2026-08-28T04:09:41.731992+00:00", "kind": "readme", "missing": false, "url": "https://github.com/webslides/WebSlides"}, {"content_hash": "93a75da3e7af793002d4d17f28055886cd3e961776e3642fd7d7f23f99603b4c", "fetched_at": "2026-08-29T08:42:54.506735+00:00", "kind": "homepage", "missing": false, "url": "https://webslides.tv/"}, {"content_hash": "3c930c07e4d7ba15dca257f2af9f7756b5b057fd7b69899ea89e73d0cc679799", "fetched_at": "2026-08-29T08:42:54.515750+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/webslides"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.731992+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:46:11.632956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0a34b02a973016ff867cd57a65ad27d8e77730aa87fbb5c1bc026cc15c77efaa", "fetched_at": "2026-08-28T04:09:41.731992+00:00", "kind": "readme", "missing": false, "url": "https://github.com/webslides/WebSlides"}, {"content_hash": "93a75da3e7af793002d4d17f28055886cd3e961776e3642fd7d7f23f99603b4c", "fetched_at": "2026-08-29T08:42:54.506735+00:00", "kind": "homepage", "missing": false, "url": "https://webslides.tv/"}, {"content_hash": "3c930c07e4d7ba15dca257f2af9f7756b5b057fd7b69899ea89e73d0cc679799", "fetched_at": "2026-08-29T08:42:54.515750+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/webslides"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:46:11.632956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0a34b02a973016ff867cd57a65ad27d8e77730aa87fbb5c1bc026cc15c77efaa", "fetched_at": "2026-08-28T04:09:41.731992+00:00", "kind": "readme", "missing": false, "url": "https://github.com/webslides/WebSlides"}, {"content_hash": "93a75da3e7af793002d4d17f28055886cd3e961776e3642fd7d7f23f99603b4c", "fetched_at": "2026-08-29T08:42:54.506735+00:00", "kind": "homepage", "missing": false, "url": "https://webslides.tv/"}, {"content_hash": "3c930c07e4d7ba15dca257f2af9f7756b5b057fd7b69899ea89e73d0cc679799", "fetched_at": "2026-08-29T08:42:54.515750+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/webslides"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.731992+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.731992+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.731992+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:46:11.632956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0a34b02a973016ff867cd57a65ad27d8e77730aa87fbb5c1bc026cc15c77efaa", "fetched_at": "2026-08-28T04:09:41.731992+00:00", "kind": "readme", "missing": false, "url": "https://github.com/webslides/WebSlides"}, {"content_hash": "93a75da3e7af793002d4d17f28055886cd3e961776e3642fd7d7f23f99603b4c", "fetched_at": "2026-08-29T08:42:54.506735+00:00", "kind": "homepage", "missing": false, "url": "https://webslides.tv/"}, {"content_hash": "3c930c07e4d7ba15dca257f2af9f7756b5b057fd7b69899ea89e73d0cc679799", "fetched_at": "2026-08-29T08:42:54.515750+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/webslides"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.731992+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.731992+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:46:11.632956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0a34b02a973016ff867cd57a65ad27d8e77730aa87fbb5c1bc026cc15c77efaa", "fetched_at": "2026-08-28T04:09:41.731992+00:00", "kind": "readme", "missing": false, "url": "https://github.com/webslides/WebSlides"}, {"content_hash": "93a75da3e7af793002d4d17f28055886cd3e961776e3642fd7d7f23f99603b4c", "fetched_at": "2026-08-29T08:42:54.506735+00:00", "kind": "homepage", "missing": false, "url": "https://webslides.tv/"}, {"content_hash": "3c930c07e4d7ba15dca257f2af9f7756b5b057fd7b69899ea89e73d0cc679799", "fetched_at": "2026-08-29T08:42:54.515750+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/webslides"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.731992+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.731992+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.731992+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:46:11.632956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0a34b02a973016ff867cd57a65ad27d8e77730aa87fbb5c1bc026cc15c77efaa", "fetched_at": "2026-08-28T04:09:41.731992+00:00", "kind": "readme", "missing": false, "url": "https://github.com/webslides/WebSlides"}, {"content_hash": "93a75da3e7af793002d4d17f28055886cd3e961776e3642fd7d7f23f99603b4c", "fetched_at": "2026-08-29T08:42:54.506735+00:00", "kind": "homepage", "missing": false, "url": "https://webslides.tv/"}, {"content_hash": "3c930c07e4d7ba15dca257f2af9f7756b5b057fd7b69899ea89e73d0cc679799", "fetched_at": "2026-08-29T08:42:54.515750+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/webslides"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.731992+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:41.731992+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:46:11.632956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0a34b02a973016ff867cd57a65ad27d8e77730aa87fbb5c1bc026cc15c77efaa", "fetched_at": "2026-08-28T04:09:41.731992+00:00", "kind": "readme", "missing": false, "url": "https://github.com/webslides/WebSlides"}, {"content_hash": "93a75da3e7af793002d4d17f28055886cd3e961776e3642fd7d7f23f99603b4c", "fetched_at": "2026-08-29T08:42:54.506735+00:00", "kind": "homepage", "missing": false, "url": "https://webslides.tv/"}, {"content_hash": "3c930c07e4d7ba15dca257f2af9f7756b5b057fd7b69899ea89e73d0cc679799", "fetched_at": "2026-08-29T08:42:54.515750+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/webslides"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:46:11.632956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0a34b02a973016ff867cd57a65ad27d8e77730aa87fbb5c1bc026cc15c77efaa", "fetched_at": "2026-08-28T04:09:41.731992+00:00", "kind": "readme", "missing": false, "url": "https://github.com/webslides/WebSlides"}, {"content_hash": "93a75da3e7af793002d4d17f28055886cd3e961776e3642fd7d7f23f99603b4c", "fetched_at": "2026-08-29T08:42:54.506735+00:00", "kind": "homepage", "missing": false, "url": "https://webslides.tv/"}, {"content_hash": "3c930c07e4d7ba15dca257f2af9f7756b5b057fd7b69899ea89e73d0cc679799", "fetched_at": "2026-08-29T08:42:54.515750+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/webslides"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:46:11.632956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0a34b02a973016ff867cd57a65ad27d8e77730aa87fbb5c1bc026cc15c77efaa", "fetched_at": "2026-08-28T04:09:41.731992+00:00", "kind": "readme", "missing": false, "url": "https://github.com/webslides/WebSlides"}, {"content_hash": "93a75da3e7af793002d4d17f28055886cd3e961776e3642fd7d7f23f99603b4c", "fetched_at": "2026-08-29T08:42:54.506735+00:00", "kind": "homepage", "missing": false, "url": "https://webslides.tv/"}, {"content_hash": "3c930c07e4d7ba15dca257f2af9f7756b5b057fd7b69899ea89e73d0cc679799", "fetched_at": "2026-08-29T08:42:54.515750+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/webslides"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:46:11.632956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0a34b02a973016ff867cd57a65ad27d8e77730aa87fbb5c1bc026cc15c77efaa", "fetched_at": "2026-08-28T04:09:41.731992+00:00", "kind": "readme", "missing": false, "url": "https://github.com/webslides/WebSlides"}, {"content_hash": "93a75da3e7af793002d4d17f28055886cd3e961776e3642fd7d7f23f99603b4c", "fetched_at": "2026-08-29T08:42:54.506735+00:00", "kind": "homepage", "missing": false, "url": "https://webslides.tv/"}, {"content_hash": "3c930c07e4d7ba15dca257f2af9f7756b5b057fd7b69899ea89e73d0cc679799", "fetched_at": "2026-08-29T08:42:54.515750+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/webslides"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3524, "days_push": 1362, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}