{"adoption": {"forks": 257, "observed_at": "2026-08-28T04:05:33.070437+00:00", "stars": 1765}, "canonical_url": "https://ross.abutalabs.com/products/premailer-rails", "card": {"archived": false, "artifact_type": "library", "description": "CSS styled emails without the hassle.", "domain": ["email", "web-development", "backend"], "enriched": true, "function": ["email", "templating", "middleware"], "health_score": 20, "homepage": null, "language": "Ruby", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["fphilipe/premailer-rails"], "name": "fphilipe/premailer-rails", "platform": ["ruby"], "pushed_at": "2024-06-17T05:56:17+00:00", "repo": "fphilipe/premailer-rails", "stars": 1765, "tags": ["css-inlining", "actionmailer", "html-email", "rails-gem", "premailer", "web-server"], "topics": ["email", "css", "inline-css", "rails", "ruby", "gem"], "urls": [], "use_cases": ["style HTML emails with CSS that renders in Gmail and Outlook", "inline CSS into ActionMailer emails automatically", "keep email HTML and CSS in separate files", "make emails compatible with clients that ignore linked stylesheets", "use email CSS inlining in Sinatra without Rails"], "what_it_is": "A Ruby gem that automatically inlines CSS into HTML emails by converting linked stylesheets and style tags into inline style attributes. It integrates with ActionMailer as a delivery hook and also works without Rails.", "when_to_avoid": ["you send only plain-text emails", "you don't use Ruby", "you need full email template design tooling rather than CSS inlining"], "when_to_choose": ["you send HTML emails from a Rails app and want zero-config CSS inlining", "you need emails to render correctly in clients that strip <style> tags", "you want to maintain email styles in separate stylesheets"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/premailer-rails", "repo": "fphilipe/premailer-rails", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.070437+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:26:36.691958+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f7655e97b52e965b837330b5d8ddc5d67dbc099685cf43ec28ae0acf54ee0ef", "fetched_at": "2026-08-28T04:05:33.070437+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fphilipe/premailer-rails"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.070437+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:26:36.691958+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f7655e97b52e965b837330b5d8ddc5d67dbc099685cf43ec28ae0acf54ee0ef", "fetched_at": "2026-08-28T04:05:33.070437+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fphilipe/premailer-rails"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:26:36.691958+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f7655e97b52e965b837330b5d8ddc5d67dbc099685cf43ec28ae0acf54ee0ef", "fetched_at": "2026-08-28T04:05:33.070437+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fphilipe/premailer-rails"}], "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:05:33.070437+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.070437+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.070437+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:26:36.691958+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f7655e97b52e965b837330b5d8ddc5d67dbc099685cf43ec28ae0acf54ee0ef", "fetched_at": "2026-08-28T04:05:33.070437+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fphilipe/premailer-rails"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.070437+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.070437+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:26:36.691958+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f7655e97b52e965b837330b5d8ddc5d67dbc099685cf43ec28ae0acf54ee0ef", "fetched_at": "2026-08-28T04:05:33.070437+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fphilipe/premailer-rails"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.070437+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.070437+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.070437+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:26:36.691958+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f7655e97b52e965b837330b5d8ddc5d67dbc099685cf43ec28ae0acf54ee0ef", "fetched_at": "2026-08-28T04:05:33.070437+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fphilipe/premailer-rails"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.070437+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.070437+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:26:36.691958+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f7655e97b52e965b837330b5d8ddc5d67dbc099685cf43ec28ae0acf54ee0ef", "fetched_at": "2026-08-28T04:05:33.070437+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fphilipe/premailer-rails"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:26:36.691958+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f7655e97b52e965b837330b5d8ddc5d67dbc099685cf43ec28ae0acf54ee0ef", "fetched_at": "2026-08-28T04:05:33.070437+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fphilipe/premailer-rails"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:26:36.691958+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f7655e97b52e965b837330b5d8ddc5d67dbc099685cf43ec28ae0acf54ee0ef", "fetched_at": "2026-08-28T04:05:33.070437+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fphilipe/premailer-rails"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:26:36.691958+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f7655e97b52e965b837330b5d8ddc5d67dbc099685cf43ec28ae0acf54ee0ef", "fetched_at": "2026-08-28T04:05:33.070437+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fphilipe/premailer-rails"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5632, "days_push": 807, "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}}