View Source API Reference hologram v0.2.0

Modules

This module defines a graph data structure, which supports directed and undirected graphs, in both acyclic and cyclic forms. It also defines the API for creating, manipulating, and querying that structure.

This module defines the struct used to represent edges and associated metadata about them.

This exception is raised when a Graph function expects one or more valid edge specifications, but receives a term which does not match one of the allowed specification patterns.

This module contains implementation code for path finding algorithms used by libgraph.

The Bellman–Ford algorithm is an algorithm that computes shortest paths from a single source vertex to all of the other vertices in a weighted digraph. It is capable of handling graphs in which some of the edge weights are negative numbers Time complexity: O(VLogV)

Reducers provide a way to traverse a graph while applying a function at each vertex. This can be used for a variety of things, most notably though is pre-processing a graph, for example one might decorate vertices with their distance from some known landmarks for later use in a cost function for A*.

This reducer traverses the graph using Breadth-First Search.

This reducer traverses the graph using Depth-First Search.

This module defines the Serializer behavior for graphs.

This serializer converts a Graph to a DOT file, which can then be converted to a great many other formats using Graphviz, e.g. dot -Tpng out.dot > out.png.

This serializer converts a Graph to an edgelist suitable for using with graph libraries such as the polyglot igraph library.

This serializer converts a Graph to a Mermaid Flowchart.

Raised when an asset can't be found.

Provides a persistent lookup table (PLT) implemented using ETS (Erlang Term Storage) and GenServer. It allows to store key-value pairs in memory and perform various operations on the data. The data in memory can be dumped to a file and loaded from a file.

Raised when a page or a component can't be compiled.

Raised when a page param is invalid.

Raised when template markup is invalid.

This module defines a priority queue datastructure, intended for use with graphs, as it prioritizes lower priority values over higher priority values (ideal for priorities based on edge weights, etc.).

Mix Tasks

Builds Hologram project JavaScript bundles, the call graph of the code, PLTs needed by the runtime and PLTs needed to speed up future compilation.

Prints the list of automatically transpiled Elixir MFAs used by the Hologram client runtime (manually ported Elixir MFAs are excluded).

Calculates the JavaScript size of each Elixir function that is included in the specified page module bundle. The results are sorted by size.

Prints paths from page entry MFAs to the given destination MFA.

Prints paths from runtime entry MFAs to the given destination MFA.

Prints the list of page routes, ordered by route path.

Checks if any test scripts have invalid file names. File name is valid if it ends with "_test" suffix and has ".exs" extension. If there are any invalid file names, the task exits with code 1. Support dir and text_helper.exs file are ignored.