API Reference Xenia v#0.1.1

Copy Markdown View Source

Modules

Any JavaScript library in a Phoenix LiveView page.

<.chartjs>: a Chart.js chart, through Xenia's official Chart.js adapter.

<.d3_chart>: data-driven charts (D3), through Xenia's official adapter.

<.flatpickr>: a date and time picker (flatpickr), through Xenia's official adapter.

<.full_calendar>: a calendar (FullCalendar), through Xenia's official adapter.

<.leaflet_map>: an interactive map (Leaflet), through Xenia's official adapter.

Phoenix function component for Xenia's Monaco adapter.

<.monaco_diff>: Monaco's diff editor, through Xenia's official adapter.

<.shoelace_rating>: a star rating (Shoelace's <sl-rating>), through Xenia's official adapter.

<.sortable_list>: drag-and-drop lists (SortableJS), through Xenia's official adapter.

<.tabulator>: an interactive data table (Tabulator), through Xenia's official adapter.

<.tiptap>: a rich-text editor (Tiptap), through Xenia's official adapter.

<.tom_select>: a searchable select and tag picker (Tom Select), through Xenia's official adapter.

<.uppy>: a file upload dashboard (Uppy), through Xenia's official adapter.

<.wavesurfer>: an audio waveform (WaveSurfer.js), through Xenia's official adapter.

<.wavesurfer_multitrack>: a multitrack audio studio with recording, through Xenia's official adapter.

<.xterm>: a terminal (xterm.js), through Xenia's official adapter.

Renders the LiveView-owned container for a Xenia adapter.

Defines typed Phoenix function components for Xenia adapters.

A layout in a Xenia app folder: a frame around every page in its folder and below.

The shared LiveView of a live.ex: one LiveView owns every page in its folder and below.

Page titles, descriptions and social-card tags for an app folder.

A page in a Xenia app folder: the page.ex that makes its folder a route.

A layout's persistent part: a LiveView that stays mounted, with its state and its JavaScript components, while the user moves between the pages under its layout. It lives in a persistent.ex next to the layout.ex; the module name is yours.

Publishes application-wide values to Xenia adapters.

Generates Phoenix LiveView routes from a Xenia app folder.

Turns paths in the app directory into routes. Pure: paths in, structs out. Only scan/1 reads the filesystem.

A page found in the app directory. Paths are relative to the app root.

Finds the module a page.ex defines, without running the file.

A discovered page with its modules resolved, ready to become a live route.

Keyboard shortcuts for a JS island, handled in your LiveView.

A sitemap.xml built from your app folder's pages.

Mix Tasks

Generates a component for a JavaScript library: the adapter that drives the library, and a typed HEEx tag for it.

Generates a layout.ex in the app folder: a frame around every page in its folder and below.

Generates a page.ex in the app folder, which makes its folder a route.

Turns a freshly generated Phoenix 1.8 app into a Xenia app.

Prints every route xenia_routes generated: its path, its page, the LiveView that serves it (a live.ex owner for shared pages), and its layouts, outermost first, with their persistent parts.