Folio.Content (Folio v0.4.0)

Copy Markdown View Source

Typed content nodes that map 1:1 to Typst elements.

Each declaration generates its public struct and typespec, the t() union, and metadata that RustQ projects into the native boundary. Run mix rustq.gen after changing a native boundary type.

Summary

Functions

Flatten nested Sequences.

Convert a value to a content list.

Types

t()

@type t() ::
  ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((Folio.Content.Text.t()
                                                              | Folio.Content.Space.t())
                                                             | Folio.Content.Heading.t())
                                                            | Folio.Content.Cite.t())
                                                           | Folio.Content.Bibliography.t())
                                                          | Folio.Content.Paragraph.t())
                                                         | Folio.Content.Strong.t())
                                                        | Folio.Content.Emph.t())
                                                       | Folio.Content.Strike.t())
                                                      | Folio.Content.Underline.t())
                                                     | Folio.Content.Highlight.t())
                                                    | Folio.Content.Super.t())
                                                   | Folio.Content.Sub.t())
                                                  | Folio.Content.Smallcaps.t())
                                                 | Folio.Content.Image.t())
                                                | Folio.Content.Figure.t())
                                               | Folio.Content.Table.t())
                                              | Folio.Content.TableHeader.t())
                                             | Folio.Content.TableRow.t())
                                            | Folio.Content.TableCell.t())
                                           | Folio.Content.Columns.t())
                                          | Folio.Content.Colbreak.t())
                                         | Folio.Content.Pagebreak.t())
                                        | Folio.Content.Parbreak.t())
                                       | Folio.Content.Linebreak.t())
                                      | Folio.Content.Math.t())
                                     | Folio.Content.Link.t())
                                    | Folio.Content.Raw.t())
                                   | Folio.Content.Quote.t())
                                  | Folio.Content.List.t())
                                 | Folio.Content.ListItem.t())
                                | Folio.Content.EnumList.t())
                               | Folio.Content.EnumItem.t())
                              | Folio.Content.Label.t())
                             | Folio.Content.Ref.t())
                            | Folio.Content.Align.t())
                           | Folio.Content.Block.t())
                          | Folio.Content.Hide.t())
                         | Folio.Content.Repeat.t())
                        | Folio.Content.Place.t())
                       | Folio.Content.VSpace.t())
                      | Folio.Content.HSpace.t())
                     | Folio.Content.Pad.t())
                    | Folio.Content.Stack.t())
                   | Folio.Content.Rect.t())
                  | Folio.Content.Square.t())
                 | Folio.Content.Circle.t())
                | Folio.Content.Ellipse.t())
               | Folio.Content.Line.t())
              | Folio.Content.Polygon.t())
             | Folio.Content.Outline.t())
            | Folio.Content.Title.t())
           | Folio.Content.TermList.t())
          | Folio.Content.TermItem.t())
         | Folio.Content.Footnote.t())
        | Folio.Content.Divider.t())
       | Folio.Content.Grid.t())
      | Folio.Content.GridCell.t())
     | Folio.Content.LocalSet.t())
    | Folio.Content.RawTypst.t())
   | Folio.Content.ShowRule.t())
  | Folio.Content.Sequence.t()

Functions

flatten(nodes)

@spec flatten([t()]) :: [t()]

Flatten nested Sequences.

to_content(node)

@spec to_content(t() | String.t() | [t()] | nil) :: [t()]

Convert a value to a content list.