{"adoption": {"forks": 2330, "observed_at": "2026-08-28T04:11:32.757598+00:00", "stars": 22575}, "canonical_url": "https://ross.abutalabs.com/products/fouber-blog", "card": {"archived": false, "artifact_type": "learning-resource", "description": "没事写写文章，喜欢的话请点star，想订阅点watch，千万别fork！", "domain": ["web-development", "frontend", "tutorials", "awesome-lists"], "enriched": true, "function": ["documentation", "developer-tools"], "health_score": 20, "homepage": null, "language": null, "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["fouber/blog"], "name": "fouber/blog", "platform": [], "pushed_at": "2019-11-12T05:28:36+00:00", "repo": "fouber/blog", "stars": 22575, "tags": ["blog", "frontend-engineering", "performance-optimization", "chinese-language", "articles", "web-server"], "topics": [], "urls": [], "use_cases": ["learn about frontend engineering practices", "read articles on web performance optimization", "understand static resource management and caching strategies", "study frontend build and modularization systems", "find curated resources on frontend career growth"], "what_it_is": "A personal blog repository by fouber containing articles on frontend engineering, performance optimization, and build systems, written in Chinese. It curates essays, industry practices, classic books, and reference articles about frontend development workflows.", "when_to_avoid": ["you need runnable software or a tool", "you want up-to-date content on modern frontend tooling", "you cannot read Chinese"], "when_to_choose": ["you want in-depth Chinese-language essays on frontend engineering", "you are researching frontend performance and deployment practices", "you need curated links to classic web performance literature"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/fouber-blog", "repo": "fouber/blog", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:32.757598+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:56:58.121118+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d1e136a3cd29944b34deed9f4901b880501318fcf35930b609fe7c1744df8117", "fetched_at": "2026-08-28T04:11:32.757598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fouber/blog"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:32.757598+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:56:58.121118+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d1e136a3cd29944b34deed9f4901b880501318fcf35930b609fe7c1744df8117", "fetched_at": "2026-08-28T04:11:32.757598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fouber/blog"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:56:58.121118+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d1e136a3cd29944b34deed9f4901b880501318fcf35930b609fe7c1744df8117", "fetched_at": "2026-08-28T04:11:32.757598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fouber/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:11:32.757598+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:32.757598+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:32.757598+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:56:58.121118+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d1e136a3cd29944b34deed9f4901b880501318fcf35930b609fe7c1744df8117", "fetched_at": "2026-08-28T04:11:32.757598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fouber/blog"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:32.757598+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:32.757598+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:56:58.121118+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d1e136a3cd29944b34deed9f4901b880501318fcf35930b609fe7c1744df8117", "fetched_at": "2026-08-28T04:11:32.757598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fouber/blog"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:32.757598+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:32.757598+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:32.757598+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:56:58.121118+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d1e136a3cd29944b34deed9f4901b880501318fcf35930b609fe7c1744df8117", "fetched_at": "2026-08-28T04:11:32.757598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fouber/blog"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:32.757598+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:32.757598+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:56:58.121118+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d1e136a3cd29944b34deed9f4901b880501318fcf35930b609fe7c1744df8117", "fetched_at": "2026-08-28T04:11:32.757598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fouber/blog"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:56:58.121118+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d1e136a3cd29944b34deed9f4901b880501318fcf35930b609fe7c1744df8117", "fetched_at": "2026-08-28T04:11:32.757598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fouber/blog"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:56:58.121118+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d1e136a3cd29944b34deed9f4901b880501318fcf35930b609fe7c1744df8117", "fetched_at": "2026-08-28T04:11:32.757598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fouber/blog"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:56:58.121118+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d1e136a3cd29944b34deed9f4901b880501318fcf35930b609fe7c1744df8117", "fetched_at": "2026-08-28T04:11:32.757598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fouber/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": 4513, "days_push": 2486, "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}}