{"adoption": {"forks": 310, "observed_at": "2026-08-28T04:08:36.579138+00:00", "stars": 4155}, "canonical_url": "https://ross.abutalabs.com/products/berwin-blog", "card": {"archived": false, "artifact_type": "learning-resource", "description": "记录成长的过程", "domain": ["tutorials", "web-development", "frontend", "developer-tools"], "enriched": true, "function": ["documentation", "developer-tools"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["berwin/Blog"], "name": "berwin/Blog", "platform": [], "pushed_at": "2022-09-20T03:32:54+00:00", "repo": "berwin/Blog", "stars": 4155, "tags": ["blog", "articles", "vue", "koa", "web-performance", "frontend-engineering", "chinese-language", "web-server", "nodejs", "javascript"], "topics": ["blog", "vue", "koa", "learning-js", "learn-to-code", "learning", "education", "article", "javascript"], "urls": [], "use_cases": ["learn how Vue reactivity and change detection work internally", "understand web performance optimization techniques like critical rendering path and time slicing", "study Koa framework internals", "read career growth and frontend architecture advice from a senior Alibaba engineer", "find deep-dive articles on frontend framework design principles", "access technical presentation slides on Vue and Node.js topics"], "what_it_is": "A personal technical blog by Liu Bowen (Berwin), a Vue.js core contributor and Alibaba frontend expert, published as GitHub issues. It contains in-depth Chinese-language articles on Vue internals, Koa, web performance optimization, and frontend engineering, plus links to conference slide decks.", "when_to_avoid": ["you need up-to-date content covering the latest framework versions", "you cannot read Chinese", "you need structured tutorials or exercises rather than essays"], "when_to_choose": ["you want deep, well-written Chinese-language articles on Vue.js internals", "you are studying web performance optimization in depth", "you prefer learning from practitioner experience posts rather than official docs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/berwin-blog", "repo": "berwin/Blog", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.579138+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:22:52.121584+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcf59e62f73bc30b228ad435db2efdbe94528808caecfd75685bf408b3f0f691", "fetched_at": "2026-08-28T04:08:36.579138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/berwin/Blog"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.579138+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:22:52.121584+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcf59e62f73bc30b228ad435db2efdbe94528808caecfd75685bf408b3f0f691", "fetched_at": "2026-08-28T04:08:36.579138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/berwin/Blog"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:22:52.121584+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcf59e62f73bc30b228ad435db2efdbe94528808caecfd75685bf408b3f0f691", "fetched_at": "2026-08-28T04:08:36.579138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/berwin/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:08:36.579138+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.579138+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.579138+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:22:52.121584+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcf59e62f73bc30b228ad435db2efdbe94528808caecfd75685bf408b3f0f691", "fetched_at": "2026-08-28T04:08:36.579138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/berwin/Blog"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.579138+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.579138+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:22:52.121584+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcf59e62f73bc30b228ad435db2efdbe94528808caecfd75685bf408b3f0f691", "fetched_at": "2026-08-28T04:08:36.579138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/berwin/Blog"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.579138+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.579138+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.579138+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:22:52.121584+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcf59e62f73bc30b228ad435db2efdbe94528808caecfd75685bf408b3f0f691", "fetched_at": "2026-08-28T04:08:36.579138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/berwin/Blog"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.579138+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.579138+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:22:52.121584+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcf59e62f73bc30b228ad435db2efdbe94528808caecfd75685bf408b3f0f691", "fetched_at": "2026-08-28T04:08:36.579138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/berwin/Blog"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:22:52.121584+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcf59e62f73bc30b228ad435db2efdbe94528808caecfd75685bf408b3f0f691", "fetched_at": "2026-08-28T04:08:36.579138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/berwin/Blog"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:22:52.121584+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcf59e62f73bc30b228ad435db2efdbe94528808caecfd75685bf408b3f0f691", "fetched_at": "2026-08-28T04:08:36.579138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/berwin/Blog"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:22:52.121584+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcf59e62f73bc30b228ad435db2efdbe94528808caecfd75685bf408b3f0f691", "fetched_at": "2026-08-28T04:08:36.579138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/berwin/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"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3942, "days_push": 1443, "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}}