{#- chirp-ui: ASCII Split-Flap Display Mechanical departure-board style display where characters "flip" into place. Inspired by Solari boards at airports and train stations. Usage: from "chirpui/ascii_split_flap.html" import split_flap, split_flap_row, split_flap_board Single display: split_flap("HELLO WORLD") Departure board: call split_flap_board(title="DEPARTURES") split_flap_row(cells=["08:42", "GRAND CENTRAL", "ON TIME", "TRACK 7"]) split_flap_row(cells=["09:15", "PENN STATION", "DELAYED", "TRACK 3"]) end Variants: default, amber, green. animate=true adds the flip-in stagger effect. -#} {% def split_flap(text, variant="", animate=true, cls="") %} {% set variant = variant | validate_variant(("", "default", "amber", "green"), "") %} {% set variant_class = " chirpui-split-flap--" ~ variant if variant and variant != "default" else "" %} {% set anim_class = " chirpui-split-flap--animate" if animate else "" %} {% for ch in text %} {% if ch == " " %} {% else %}{{ ch }}{% end %} {% end %} {% end %} {% def split_flap_row(cells, cls="") %}