{"adoption": {"forks": 1173, "observed_at": "2026-08-28T04:10:09.772332+00:00", "stars": 7917}, "canonical_url": "https://ross.abutalabs.com/products/ljianshu-blog", "card": {"archived": false, "artifact_type": "learning-resource", "description": "关注基础知识，打造优质前端博客，公众号[前端工匠]的作者", "domain": ["frontend", "web-development", "tutorials"], "enriched": true, "function": ["documentation", "developer-tools"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["ljianshu/Blog"], "name": "ljianshu/Blog", "platform": [], "pushed_at": "2024-03-16T10:41:00+00:00", "repo": "ljianshu/Blog", "stars": 7917, "tags": ["blog", "frontend", "javascript", "css", "vue", "interview-prep", "chinese-language", "articles", "web-server", "nodejs"], "topics": ["vue", "javascript", "css", "ajax"], "urls": [], "use_cases": ["learn javascript fundamentals like closures, prototypes, and event loop", "prepare for frontend interview questions", "understand browser rendering and caching mechanisms", "study es6 and newer javascript features", "learn css layout techniques like centering and three-column layouts", "understand vue framework internals"], "what_it_is": "A curated collection of in-depth Chinese-language frontend articles covering JavaScript fundamentals, ES6+, CSS, browser internals, Vue, and build tool principles. It serves as the companion repository for the '前端工匠' (Frontend Craftsman) WeChat public account, aimed at junior-to-mid-level engineers.", "when_to_avoid": ["you need runnable code or a software tool rather than articles", "you only read English-language tutorials", "you need content with an explicit open-source license for reuse"], "when_to_choose": ["you are a junior or mid-level frontend engineer learning core concepts", "you prefer reading in-depth Chinese-language explanations", "you are preparing for frontend job interviews"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ljianshu-blog", "repo": "ljianshu/Blog", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:09.772332+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:33:16.372561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8b11f45678a83f940d3eebe189d35645da552ed71cde92c1232e3c8663822903", "fetched_at": "2026-08-28T04:10:09.772332+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljianshu/Blog"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:09.772332+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:33:16.372561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8b11f45678a83f940d3eebe189d35645da552ed71cde92c1232e3c8663822903", "fetched_at": "2026-08-28T04:10:09.772332+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljianshu/Blog"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:33:16.372561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8b11f45678a83f940d3eebe189d35645da552ed71cde92c1232e3c8663822903", "fetched_at": "2026-08-28T04:10:09.772332+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljianshu/Blog"}], "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:10:09.772332+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:09.772332+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:09.772332+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:33:16.372561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8b11f45678a83f940d3eebe189d35645da552ed71cde92c1232e3c8663822903", "fetched_at": "2026-08-28T04:10:09.772332+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljianshu/Blog"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:09.772332+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:09.772332+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:33:16.372561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8b11f45678a83f940d3eebe189d35645da552ed71cde92c1232e3c8663822903", "fetched_at": "2026-08-28T04:10:09.772332+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljianshu/Blog"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:09.772332+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:09.772332+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:09.772332+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:33:16.372561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8b11f45678a83f940d3eebe189d35645da552ed71cde92c1232e3c8663822903", "fetched_at": "2026-08-28T04:10:09.772332+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljianshu/Blog"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:09.772332+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:09.772332+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:33:16.372561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8b11f45678a83f940d3eebe189d35645da552ed71cde92c1232e3c8663822903", "fetched_at": "2026-08-28T04:10:09.772332+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljianshu/Blog"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:33:16.372561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8b11f45678a83f940d3eebe189d35645da552ed71cde92c1232e3c8663822903", "fetched_at": "2026-08-28T04:10:09.772332+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljianshu/Blog"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:33:16.372561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8b11f45678a83f940d3eebe189d35645da552ed71cde92c1232e3c8663822903", "fetched_at": "2026-08-28T04:10:09.772332+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljianshu/Blog"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:33:16.372561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8b11f45678a83f940d3eebe189d35645da552ed71cde92c1232e3c8663822903", "fetched_at": "2026-08-28T04:10:09.772332+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ljianshu/Blog"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3000, "days_push": 900, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}