{"adoption": {"forks": 59, "observed_at": "2026-09-03T02:15:20.812494+00:00", "stars": 1001}, "canonical_url": "https://ross.abutalabs.com/products/yuanqing-charming", "card": {"archived": false, "artifact_type": "library", "description": ":tophat: Lettering.js in vanilla JavaScript", "domain": ["web-development", "frontend", "web-design"], "enriched": true, "function": ["ui-components", "animation", "templating"], "health_score": 20, "homepage": "https://codepen.io/lyuanqing/pen/YeYdrm", "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["yuanqing/charming"], "name": "yuanqing/charming", "platform": ["browser"], "pushed_at": "2021-01-30T07:39:35+00:00", "repo": "yuanqing/charming", "stars": 1001, "tags": ["typography", "lettering", "dom-manipulation", "vanilla-javascript", "text-splitting", "accessibility", "nodejs"], "topics": ["javascript", "dom", "typography"], "urls": [], "use_cases": ["animate individual letters of a headline", "apply per-character kerning or styling in css", "split text into spans for lettering effects", "wrap words or characters in dom elements without jquery", "create typographic text reveal animations"], "what_it_is": "A tiny vanilla JavaScript library that wraps each character (or word) of an element's text in individual DOM elements, a dependency-free take on Lettering.js. It supports custom tag names, class names, and split logic, and adds aria attributes for accessibility.", "when_to_avoid": ["you need a maintained library with active development", "you need framework-specific text splitting for React or Vue", "you need advanced text layout beyond simple character wrapping"], "when_to_choose": ["you want Lettering.js behavior with zero dependencies", "you need accessible per-character text splitting with aria-label support", "you want configurable tag names, class names, or split logic"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/yuanqing-charming", "repo": "yuanqing/charming", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-03T02:15:20.812494+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:16:10.476885+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a4806ea70a7292a6434abb4b42dd302f0ac0e313c58d711c81de46c2ad900d7e", "fetched_at": "2026-09-03T02:15:20.812494+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yuanqing/charming"}, {"content_hash": "f901af2b500fb0907fa4559427a27f18ae1c7c30286abc13af8bde4b3ddf53d5", "fetched_at": "2026-08-29T13:14:23.962858+00:00", "kind": "homepage", "missing": false, "url": "https://codepen.io/lyuanqing/pen/YeYdrm"}, {"content_hash": "cfa7a4be5259d4ed4f5801fcdc74af27b9ade11bb986619efe95e405df96010f", "fetched_at": "2026-08-29T13:14:23.973313+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-html-preprocessors"}, {"content_hash": "0f60651134d7af308e9294710ed7fe26e78f5f33309e86c6586eef486eeaa5c8", "fetched_at": "2026-08-29T13:14:23.975712+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/features/preview-template"}, {"content_hash": "b8121e307545d62a5fbf8444a6faa4e571da9f423ed998f97ea5d3164fd3107a", "fetched_at": "2026-08-29T13:14:23.977704+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-css-preprocessors"}, {"content_hash": "80a5097ebb573b87d60ff2fe4930ceacf8f46fd711f1d1c8070f1f7d29a250ad", "fetched_at": "2026-08-29T13:14:23.979960+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/url-extensions"}, {"content_hash": "e4239aba0ce297c43aa2163c5562a49fa13533472048c0c6cfb013545289213a", "fetched_at": "2026-08-29T13:14:23.981766+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/adding-external-resources"}, {"content_hash": "1e2af3f6a4b46fca43aeb767e92ff9403870abc15447a6f45f3dcb68b45ada9e", "fetched_at": "2026-08-29T13:14:23.983773+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-js-preprocessors"}, {"content_hash": "e4239aba0ce297c43aa2163c5562a49fa13533472048c0c6cfb013545289213a", "fetched_at": "2026-08-29T13:14:23.985660+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/adding-external-resources"}, {"content_hash": "909a7e1386f714f3cd07547c31933c27b7be3fee42e5946a299cb018ee91ac46", "fetched_at": "2026-08-29T13:14:23.987646+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/features/tab-triggers"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-03T02:15:20.812494+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:16:10.476885+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a4806ea70a7292a6434abb4b42dd302f0ac0e313c58d711c81de46c2ad900d7e", "fetched_at": "2026-09-03T02:15:20.812494+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yuanqing/charming"}, {"content_hash": "f901af2b500fb0907fa4559427a27f18ae1c7c30286abc13af8bde4b3ddf53d5", "fetched_at": "2026-08-29T13:14:23.962858+00:00", "kind": "homepage", "missing": false, "url": "https://codepen.io/lyuanqing/pen/YeYdrm"}, {"content_hash": "cfa7a4be5259d4ed4f5801fcdc74af27b9ade11bb986619efe95e405df96010f", "fetched_at": "2026-08-29T13:14:23.973313+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-html-preprocessors"}, {"content_hash": "0f60651134d7af308e9294710ed7fe26e78f5f33309e86c6586eef486eeaa5c8", "fetched_at": "2026-08-29T13:14:23.975712+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/features/preview-template"}, {"content_hash": "b8121e307545d62a5fbf8444a6faa4e571da9f423ed998f97ea5d3164fd3107a", "fetched_at": "2026-08-29T13:14:23.977704+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-css-preprocessors"}, {"content_hash": "80a5097ebb573b87d60ff2fe4930ceacf8f46fd711f1d1c8070f1f7d29a250ad", "fetched_at": "2026-08-29T13:14:23.979960+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/url-extensions"}, {"content_hash": "e4239aba0ce297c43aa2163c5562a49fa13533472048c0c6cfb013545289213a", "fetched_at": "2026-08-29T13:14:23.981766+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/adding-external-resources"}, {"content_hash": "1e2af3f6a4b46fca43aeb767e92ff9403870abc15447a6f45f3dcb68b45ada9e", "fetched_at": "2026-08-29T13:14:23.983773+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-js-preprocessors"}, {"content_hash": "e4239aba0ce297c43aa2163c5562a49fa13533472048c0c6cfb013545289213a", "fetched_at": "2026-08-29T13:14:23.985660+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/adding-external-resources"}, {"content_hash": "909a7e1386f714f3cd07547c31933c27b7be3fee42e5946a299cb018ee91ac46", "fetched_at": "2026-08-29T13:14:23.987646+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/features/tab-triggers"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:16:10.476885+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a4806ea70a7292a6434abb4b42dd302f0ac0e313c58d711c81de46c2ad900d7e", "fetched_at": "2026-09-03T02:15:20.812494+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yuanqing/charming"}, {"content_hash": "f901af2b500fb0907fa4559427a27f18ae1c7c30286abc13af8bde4b3ddf53d5", "fetched_at": "2026-08-29T13:14:23.962858+00:00", "kind": "homepage", "missing": false, "url": "https://codepen.io/lyuanqing/pen/YeYdrm"}, {"content_hash": "cfa7a4be5259d4ed4f5801fcdc74af27b9ade11bb986619efe95e405df96010f", "fetched_at": "2026-08-29T13:14:23.973313+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-html-preprocessors"}, {"content_hash": "0f60651134d7af308e9294710ed7fe26e78f5f33309e86c6586eef486eeaa5c8", "fetched_at": "2026-08-29T13:14:23.975712+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/features/preview-template"}, {"content_hash": "b8121e307545d62a5fbf8444a6faa4e571da9f423ed998f97ea5d3164fd3107a", "fetched_at": "2026-08-29T13:14:23.977704+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-css-preprocessors"}, {"content_hash": "80a5097ebb573b87d60ff2fe4930ceacf8f46fd711f1d1c8070f1f7d29a250ad", "fetched_at": "2026-08-29T13:14:23.979960+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/url-extensions"}, {"content_hash": "e4239aba0ce297c43aa2163c5562a49fa13533472048c0c6cfb013545289213a", "fetched_at": "2026-08-29T13:14:23.981766+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/adding-external-resources"}, {"content_hash": "1e2af3f6a4b46fca43aeb767e92ff9403870abc15447a6f45f3dcb68b45ada9e", "fetched_at": "2026-08-29T13:14:23.983773+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-js-preprocessors"}, {"content_hash": "e4239aba0ce297c43aa2163c5562a49fa13533472048c0c6cfb013545289213a", "fetched_at": "2026-08-29T13:14:23.985660+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/adding-external-resources"}, {"content_hash": "909a7e1386f714f3cd07547c31933c27b7be3fee42e5946a299cb018ee91ac46", "fetched_at": "2026-08-29T13:14:23.987646+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/features/tab-triggers"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-03T02:15:20.812494+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-03T02:15:20.812494+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-03T02:15:20.812494+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:16:10.476885+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a4806ea70a7292a6434abb4b42dd302f0ac0e313c58d711c81de46c2ad900d7e", "fetched_at": "2026-09-03T02:15:20.812494+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yuanqing/charming"}, {"content_hash": "f901af2b500fb0907fa4559427a27f18ae1c7c30286abc13af8bde4b3ddf53d5", "fetched_at": "2026-08-29T13:14:23.962858+00:00", "kind": "homepage", "missing": false, "url": "https://codepen.io/lyuanqing/pen/YeYdrm"}, {"content_hash": "cfa7a4be5259d4ed4f5801fcdc74af27b9ade11bb986619efe95e405df96010f", "fetched_at": "2026-08-29T13:14:23.973313+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-html-preprocessors"}, {"content_hash": "0f60651134d7af308e9294710ed7fe26e78f5f33309e86c6586eef486eeaa5c8", "fetched_at": "2026-08-29T13:14:23.975712+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/features/preview-template"}, {"content_hash": "b8121e307545d62a5fbf8444a6faa4e571da9f423ed998f97ea5d3164fd3107a", "fetched_at": "2026-08-29T13:14:23.977704+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-css-preprocessors"}, {"content_hash": "80a5097ebb573b87d60ff2fe4930ceacf8f46fd711f1d1c8070f1f7d29a250ad", "fetched_at": "2026-08-29T13:14:23.979960+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/url-extensions"}, {"content_hash": "e4239aba0ce297c43aa2163c5562a49fa13533472048c0c6cfb013545289213a", "fetched_at": "2026-08-29T13:14:23.981766+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/adding-external-resources"}, {"content_hash": "1e2af3f6a4b46fca43aeb767e92ff9403870abc15447a6f45f3dcb68b45ada9e", "fetched_at": "2026-08-29T13:14:23.983773+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-js-preprocessors"}, {"content_hash": "e4239aba0ce297c43aa2163c5562a49fa13533472048c0c6cfb013545289213a", "fetched_at": "2026-08-29T13:14:23.985660+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/adding-external-resources"}, {"content_hash": "909a7e1386f714f3cd07547c31933c27b7be3fee42e5946a299cb018ee91ac46", "fetched_at": "2026-08-29T13:14:23.987646+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/features/tab-triggers"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-03T02:15:20.812494+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-03T02:15:20.812494+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:16:10.476885+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a4806ea70a7292a6434abb4b42dd302f0ac0e313c58d711c81de46c2ad900d7e", "fetched_at": "2026-09-03T02:15:20.812494+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yuanqing/charming"}, {"content_hash": "f901af2b500fb0907fa4559427a27f18ae1c7c30286abc13af8bde4b3ddf53d5", "fetched_at": "2026-08-29T13:14:23.962858+00:00", "kind": "homepage", "missing": false, "url": "https://codepen.io/lyuanqing/pen/YeYdrm"}, {"content_hash": "cfa7a4be5259d4ed4f5801fcdc74af27b9ade11bb986619efe95e405df96010f", "fetched_at": "2026-08-29T13:14:23.973313+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-html-preprocessors"}, {"content_hash": "0f60651134d7af308e9294710ed7fe26e78f5f33309e86c6586eef486eeaa5c8", "fetched_at": "2026-08-29T13:14:23.975712+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/features/preview-template"}, {"content_hash": "b8121e307545d62a5fbf8444a6faa4e571da9f423ed998f97ea5d3164fd3107a", "fetched_at": "2026-08-29T13:14:23.977704+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-css-preprocessors"}, {"content_hash": "80a5097ebb573b87d60ff2fe4930ceacf8f46fd711f1d1c8070f1f7d29a250ad", "fetched_at": "2026-08-29T13:14:23.979960+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/url-extensions"}, {"content_hash": "e4239aba0ce297c43aa2163c5562a49fa13533472048c0c6cfb013545289213a", "fetched_at": "2026-08-29T13:14:23.981766+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/adding-external-resources"}, {"content_hash": "1e2af3f6a4b46fca43aeb767e92ff9403870abc15447a6f45f3dcb68b45ada9e", "fetched_at": "2026-08-29T13:14:23.983773+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-js-preprocessors"}, {"content_hash": "e4239aba0ce297c43aa2163c5562a49fa13533472048c0c6cfb013545289213a", "fetched_at": "2026-08-29T13:14:23.985660+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/adding-external-resources"}, {"content_hash": "909a7e1386f714f3cd07547c31933c27b7be3fee42e5946a299cb018ee91ac46", "fetched_at": "2026-08-29T13:14:23.987646+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/features/tab-triggers"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-03T02:15:20.812494+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-03T02:15:20.812494+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-03T02:15:20.812494+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:16:10.476885+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a4806ea70a7292a6434abb4b42dd302f0ac0e313c58d711c81de46c2ad900d7e", "fetched_at": "2026-09-03T02:15:20.812494+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yuanqing/charming"}, {"content_hash": "f901af2b500fb0907fa4559427a27f18ae1c7c30286abc13af8bde4b3ddf53d5", "fetched_at": "2026-08-29T13:14:23.962858+00:00", "kind": "homepage", "missing": false, "url": "https://codepen.io/lyuanqing/pen/YeYdrm"}, {"content_hash": "cfa7a4be5259d4ed4f5801fcdc74af27b9ade11bb986619efe95e405df96010f", "fetched_at": "2026-08-29T13:14:23.973313+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-html-preprocessors"}, {"content_hash": "0f60651134d7af308e9294710ed7fe26e78f5f33309e86c6586eef486eeaa5c8", "fetched_at": "2026-08-29T13:14:23.975712+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/features/preview-template"}, {"content_hash": "b8121e307545d62a5fbf8444a6faa4e571da9f423ed998f97ea5d3164fd3107a", "fetched_at": "2026-08-29T13:14:23.977704+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-css-preprocessors"}, {"content_hash": "80a5097ebb573b87d60ff2fe4930ceacf8f46fd711f1d1c8070f1f7d29a250ad", "fetched_at": "2026-08-29T13:14:23.979960+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/url-extensions"}, {"content_hash": "e4239aba0ce297c43aa2163c5562a49fa13533472048c0c6cfb013545289213a", "fetched_at": "2026-08-29T13:14:23.981766+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/adding-external-resources"}, {"content_hash": "1e2af3f6a4b46fca43aeb767e92ff9403870abc15447a6f45f3dcb68b45ada9e", "fetched_at": "2026-08-29T13:14:23.983773+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-js-preprocessors"}, {"content_hash": "e4239aba0ce297c43aa2163c5562a49fa13533472048c0c6cfb013545289213a", "fetched_at": "2026-08-29T13:14:23.985660+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/adding-external-resources"}, {"content_hash": "909a7e1386f714f3cd07547c31933c27b7be3fee42e5946a299cb018ee91ac46", "fetched_at": "2026-08-29T13:14:23.987646+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/features/tab-triggers"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-03T02:15:20.812494+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-03T02:15:20.812494+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:16:10.476885+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a4806ea70a7292a6434abb4b42dd302f0ac0e313c58d711c81de46c2ad900d7e", "fetched_at": "2026-09-03T02:15:20.812494+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yuanqing/charming"}, {"content_hash": "f901af2b500fb0907fa4559427a27f18ae1c7c30286abc13af8bde4b3ddf53d5", "fetched_at": "2026-08-29T13:14:23.962858+00:00", "kind": "homepage", "missing": false, "url": "https://codepen.io/lyuanqing/pen/YeYdrm"}, {"content_hash": "cfa7a4be5259d4ed4f5801fcdc74af27b9ade11bb986619efe95e405df96010f", "fetched_at": "2026-08-29T13:14:23.973313+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-html-preprocessors"}, {"content_hash": "0f60651134d7af308e9294710ed7fe26e78f5f33309e86c6586eef486eeaa5c8", "fetched_at": "2026-08-29T13:14:23.975712+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/features/preview-template"}, {"content_hash": "b8121e307545d62a5fbf8444a6faa4e571da9f423ed998f97ea5d3164fd3107a", "fetched_at": "2026-08-29T13:14:23.977704+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-css-preprocessors"}, {"content_hash": "80a5097ebb573b87d60ff2fe4930ceacf8f46fd711f1d1c8070f1f7d29a250ad", "fetched_at": "2026-08-29T13:14:23.979960+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/url-extensions"}, {"content_hash": "e4239aba0ce297c43aa2163c5562a49fa13533472048c0c6cfb013545289213a", "fetched_at": "2026-08-29T13:14:23.981766+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/adding-external-resources"}, {"content_hash": "1e2af3f6a4b46fca43aeb767e92ff9403870abc15447a6f45f3dcb68b45ada9e", "fetched_at": "2026-08-29T13:14:23.983773+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-js-preprocessors"}, {"content_hash": "e4239aba0ce297c43aa2163c5562a49fa13533472048c0c6cfb013545289213a", "fetched_at": "2026-08-29T13:14:23.985660+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/adding-external-resources"}, {"content_hash": "909a7e1386f714f3cd07547c31933c27b7be3fee42e5946a299cb018ee91ac46", "fetched_at": "2026-08-29T13:14:23.987646+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/features/tab-triggers"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:16:10.476885+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a4806ea70a7292a6434abb4b42dd302f0ac0e313c58d711c81de46c2ad900d7e", "fetched_at": "2026-09-03T02:15:20.812494+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yuanqing/charming"}, {"content_hash": "f901af2b500fb0907fa4559427a27f18ae1c7c30286abc13af8bde4b3ddf53d5", "fetched_at": "2026-08-29T13:14:23.962858+00:00", "kind": "homepage", "missing": false, "url": "https://codepen.io/lyuanqing/pen/YeYdrm"}, {"content_hash": "cfa7a4be5259d4ed4f5801fcdc74af27b9ade11bb986619efe95e405df96010f", "fetched_at": "2026-08-29T13:14:23.973313+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-html-preprocessors"}, {"content_hash": "0f60651134d7af308e9294710ed7fe26e78f5f33309e86c6586eef486eeaa5c8", "fetched_at": "2026-08-29T13:14:23.975712+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/features/preview-template"}, {"content_hash": "b8121e307545d62a5fbf8444a6faa4e571da9f423ed998f97ea5d3164fd3107a", "fetched_at": "2026-08-29T13:14:23.977704+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-css-preprocessors"}, {"content_hash": "80a5097ebb573b87d60ff2fe4930ceacf8f46fd711f1d1c8070f1f7d29a250ad", "fetched_at": "2026-08-29T13:14:23.979960+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/url-extensions"}, {"content_hash": "e4239aba0ce297c43aa2163c5562a49fa13533472048c0c6cfb013545289213a", "fetched_at": "2026-08-29T13:14:23.981766+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/adding-external-resources"}, {"content_hash": "1e2af3f6a4b46fca43aeb767e92ff9403870abc15447a6f45f3dcb68b45ada9e", "fetched_at": "2026-08-29T13:14:23.983773+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-js-preprocessors"}, {"content_hash": "e4239aba0ce297c43aa2163c5562a49fa13533472048c0c6cfb013545289213a", "fetched_at": "2026-08-29T13:14:23.985660+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/adding-external-resources"}, {"content_hash": "909a7e1386f714f3cd07547c31933c27b7be3fee42e5946a299cb018ee91ac46", "fetched_at": "2026-08-29T13:14:23.987646+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/features/tab-triggers"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:16:10.476885+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a4806ea70a7292a6434abb4b42dd302f0ac0e313c58d711c81de46c2ad900d7e", "fetched_at": "2026-09-03T02:15:20.812494+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yuanqing/charming"}, {"content_hash": "f901af2b500fb0907fa4559427a27f18ae1c7c30286abc13af8bde4b3ddf53d5", "fetched_at": "2026-08-29T13:14:23.962858+00:00", "kind": "homepage", "missing": false, "url": "https://codepen.io/lyuanqing/pen/YeYdrm"}, {"content_hash": "cfa7a4be5259d4ed4f5801fcdc74af27b9ade11bb986619efe95e405df96010f", "fetched_at": "2026-08-29T13:14:23.973313+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-html-preprocessors"}, {"content_hash": "0f60651134d7af308e9294710ed7fe26e78f5f33309e86c6586eef486eeaa5c8", "fetched_at": "2026-08-29T13:14:23.975712+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/features/preview-template"}, {"content_hash": "b8121e307545d62a5fbf8444a6faa4e571da9f423ed998f97ea5d3164fd3107a", "fetched_at": "2026-08-29T13:14:23.977704+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-css-preprocessors"}, {"content_hash": "80a5097ebb573b87d60ff2fe4930ceacf8f46fd711f1d1c8070f1f7d29a250ad", "fetched_at": "2026-08-29T13:14:23.979960+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/url-extensions"}, {"content_hash": "e4239aba0ce297c43aa2163c5562a49fa13533472048c0c6cfb013545289213a", "fetched_at": "2026-08-29T13:14:23.981766+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/adding-external-resources"}, {"content_hash": "1e2af3f6a4b46fca43aeb767e92ff9403870abc15447a6f45f3dcb68b45ada9e", "fetched_at": "2026-08-29T13:14:23.983773+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-js-preprocessors"}, {"content_hash": "e4239aba0ce297c43aa2163c5562a49fa13533472048c0c6cfb013545289213a", "fetched_at": "2026-08-29T13:14:23.985660+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/adding-external-resources"}, {"content_hash": "909a7e1386f714f3cd07547c31933c27b7be3fee42e5946a299cb018ee91ac46", "fetched_at": "2026-08-29T13:14:23.987646+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/features/tab-triggers"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:16:10.476885+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a4806ea70a7292a6434abb4b42dd302f0ac0e313c58d711c81de46c2ad900d7e", "fetched_at": "2026-09-03T02:15:20.812494+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yuanqing/charming"}, {"content_hash": "f901af2b500fb0907fa4559427a27f18ae1c7c30286abc13af8bde4b3ddf53d5", "fetched_at": "2026-08-29T13:14:23.962858+00:00", "kind": "homepage", "missing": false, "url": "https://codepen.io/lyuanqing/pen/YeYdrm"}, {"content_hash": "cfa7a4be5259d4ed4f5801fcdc74af27b9ade11bb986619efe95e405df96010f", "fetched_at": "2026-08-29T13:14:23.973313+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-html-preprocessors"}, {"content_hash": "0f60651134d7af308e9294710ed7fe26e78f5f33309e86c6586eef486eeaa5c8", "fetched_at": "2026-08-29T13:14:23.975712+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/features/preview-template"}, {"content_hash": "b8121e307545d62a5fbf8444a6faa4e571da9f423ed998f97ea5d3164fd3107a", "fetched_at": "2026-08-29T13:14:23.977704+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-css-preprocessors"}, {"content_hash": "80a5097ebb573b87d60ff2fe4930ceacf8f46fd711f1d1c8070f1f7d29a250ad", "fetched_at": "2026-08-29T13:14:23.979960+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/url-extensions"}, {"content_hash": "e4239aba0ce297c43aa2163c5562a49fa13533472048c0c6cfb013545289213a", "fetched_at": "2026-08-29T13:14:23.981766+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/adding-external-resources"}, {"content_hash": "1e2af3f6a4b46fca43aeb767e92ff9403870abc15447a6f45f3dcb68b45ada9e", "fetched_at": "2026-08-29T13:14:23.983773+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/editor/using-js-preprocessors"}, {"content_hash": "e4239aba0ce297c43aa2163c5562a49fa13533472048c0c6cfb013545289213a", "fetched_at": "2026-08-29T13:14:23.985660+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/adding-external-resources"}, {"content_hash": "909a7e1386f714f3cd07547c31933c27b7be3fee42e5946a299cb018ee91ac46", "fetched_at": "2026-08-29T13:14:23.987646+00:00", "kind": "site_page", "missing": false, "url": "https://blog.codepen.io/documentation/features/tab-triggers"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4417, "days_push": 2041, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 3, "stale_scrape": false}}