Astral.Template.Assets (Astral v0.2.0)

Copy Markdown View Source

Extracts Volt-managed browser assets from .astral templates.

The extraction is backed by Phoenix's HEEx parser so ordinary HEEx syntax, local components, directives, and slot syntax are understood before Astral removes top-level or nested <style> and <script> blocks from the server template source.

Summary

Functions

Extract browser asset blocks and return cleaned template source.

Return only embedded modules for Volt's embedded module hook.

Types

t()

@type t() :: %Astral.Template.Assets{
  modules: [Volt.Plugin.EmbeddedModule.t()],
  source: String.t()
}

Functions

extract(source, opts \\ [])

@spec extract(
  String.t(),
  keyword()
) :: {:ok, t()} | {:error, term()}

Extract browser asset blocks and return cleaned template source.

modules(source, opts \\ [])

@spec modules(
  String.t(),
  keyword()
) :: [Volt.Plugin.EmbeddedModule.t()]

Return only embedded modules for Volt's embedded module hook.