Outerfaces.Odd.Plugs.OddCDNRoflCSSPlug (Outerfaces Dependency Distribution (ODD) v0.2.5)
View SourceTransforms CSS @import statements by rewriting CDN tokens.
Supports both legacy and new token patterns:
- [OUTERFACES_LOCAL_CDN] - DEPRECATED, aliased to [OUTERFACES_ODD_CDN]
- [OUTERFACES_ODD_CDN] - Dual-mode: rev-pinned or absolute URLs
Dual-mode behavior:
- When conn.assigns.outerfaces_rev is present: rev-pinned URLs (/__rev/<rev>/cdn/...)
- Otherwise: absolute URLs (http://localhost:60032/...)
Summary
Functions
Transforms CSS @import statements with rev-pinned URLs.
Functions
@spec transform_css_with_conn(String.t(), Plug.Conn.t(), String.t()) :: String.t()
Transforms CSS @import statements with rev-pinned URLs.
This function always emits rev-pinned URLs in the canonical format:
- CDN:
<cdn_origin>/__rev/<rev>/cdn/<path>
Parameters
file_content- CSS file contentconn- Plug.Conn struct (used to get rev)cdn_origin- Origin for CDN assets:- Unified proxy mode: "" (empty string, emits relative URLs)
- Direct CDN mode: "http://localhost:60032" (full origin)
Returns
Transformed CSS content with all tokens replaced
Examples
# Unified proxy mode (cdn_origin = "")
transform_css_with_conn(content, conn, "")
# Emits: /__rev/abc123/cdn/foo.css
# Direct CDN mode (cdn_origin = "http://localhost:60032")
transform_css_with_conn(content, conn, "http://localhost:60032")
# Emits: http://localhost:60032/__rev/abc123/cdn/foo.css