Current section
Files
Jump to
Current section
Files
src/inlay.erl
-module(inlay).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/inlay.gleam").
-export([youtube/2, no_youtube/1, vimeo/2, no_vimeo/1, spotify/2, no_spotify/1, twitter/2, no_twitter/1, tiktok/2, no_tiktok/1, bluesky/2, no_bluesky/1, instagram/2, no_instagram/1, twitch/2, no_twitch/1, openstreetmap/2, no_openstreetmap/1, ted/2, no_ted/1, soundcloud/2, no_soundcloud/1, mastodon/2, no_mastodon/1, pixelfed/2, no_pixelfed/1, apple_music/2, no_apple_music/1, detect_with/2, render_with/2, embed_with/2, a_component_with/2, default_config/0, embed/1, render/1, bluesky_config/0, youtube_config/0, vimeo_config/0, spotify_config/0, twitch_config/1, openstreetmap_config/0, ted_config/0, soundcloud_config/0, mastodon_config/1, pixelfed_config/2, apple_music_config/0, new/0, detect/1, a_component/1, a_component_default/0]).
-file("src/inlay.gleam", 124).
-spec youtube(inlay@embed:config(), inlay@embed:youtube_config()) -> inlay@embed:config().
youtube(Config, Youtube_config) ->
{config,
{some, Youtube_config},
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 128).
-spec no_youtube(inlay@embed:config()) -> inlay@embed:config().
no_youtube(Config) ->
{config,
none,
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 132).
-spec vimeo(inlay@embed:config(), inlay@embed:vimeo_config()) -> inlay@embed:config().
vimeo(Config, Vimeo_config) ->
{config,
erlang:element(2, Config),
{some, Vimeo_config},
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 136).
-spec no_vimeo(inlay@embed:config()) -> inlay@embed:config().
no_vimeo(Config) ->
{config,
erlang:element(2, Config),
none,
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 140).
-spec spotify(inlay@embed:config(), inlay@embed:spotify_config()) -> inlay@embed:config().
spotify(Config, Spotify_config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
{some, Spotify_config},
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 144).
-spec no_spotify(inlay@embed:config()) -> inlay@embed:config().
no_spotify(Config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
none,
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 148).
-spec twitter(inlay@embed:config(), inlay@embed:twitter_config()) -> inlay@embed:config().
twitter(Config, Twitter_config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
{some, Twitter_config},
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 152).
-spec no_twitter(inlay@embed:config()) -> inlay@embed:config().
no_twitter(Config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
none,
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 156).
-spec tiktok(inlay@embed:config(), inlay@embed:tik_tok_config()) -> inlay@embed:config().
tiktok(Config, Tiktok_config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
{some, Tiktok_config},
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 160).
-spec no_tiktok(inlay@embed:config()) -> inlay@embed:config().
no_tiktok(Config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
none,
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 164).
-spec bluesky(inlay@embed:config(), inlay@embed:bluesky_config()) -> inlay@embed:config().
bluesky(Config, Bluesky_config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
{some, Bluesky_config},
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 168).
-spec no_bluesky(inlay@embed:config()) -> inlay@embed:config().
no_bluesky(Config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
none,
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 172).
-spec instagram(inlay@embed:config(), inlay@embed:instagram_config()) -> inlay@embed:config().
instagram(Config, Instagram_config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
{some, Instagram_config},
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 176).
-spec no_instagram(inlay@embed:config()) -> inlay@embed:config().
no_instagram(Config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
none,
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 180).
-spec twitch(inlay@embed:config(), inlay@embed:twitch_config()) -> inlay@embed:config().
twitch(Config, Twitch_config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
{some, Twitch_config},
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 184).
-spec no_twitch(inlay@embed:config()) -> inlay@embed:config().
no_twitch(Config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
none,
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 188).
-spec openstreetmap(inlay@embed:config(), inlay@embed:open_street_map_config()) -> inlay@embed:config().
openstreetmap(Config, Osm_config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
{some, Osm_config},
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 192).
-spec no_openstreetmap(inlay@embed:config()) -> inlay@embed:config().
no_openstreetmap(Config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
none,
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 196).
-spec ted(inlay@embed:config(), inlay@embed:ted_config()) -> inlay@embed:config().
ted(Config, Ted_config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
{some, Ted_config},
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 200).
-spec no_ted(inlay@embed:config()) -> inlay@embed:config().
no_ted(Config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
none,
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 204).
-spec soundcloud(inlay@embed:config(), inlay@embed:sound_cloud_config()) -> inlay@embed:config().
soundcloud(Config, Soundcloud_config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
{some, Soundcloud_config},
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 208).
-spec no_soundcloud(inlay@embed:config()) -> inlay@embed:config().
no_soundcloud(Config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
none,
erlang:element(13, Config),
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 212).
-spec mastodon(inlay@embed:config(), inlay@embed:mastodon_config()) -> inlay@embed:config().
mastodon(Config, Mastodon_config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
{some, Mastodon_config},
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 216).
-spec no_mastodon(inlay@embed:config()) -> inlay@embed:config().
no_mastodon(Config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
none,
erlang:element(14, Config),
erlang:element(15, Config)}.
-file("src/inlay.gleam", 220).
-spec pixelfed(inlay@embed:config(), inlay@embed:pixelfed_config()) -> inlay@embed:config().
pixelfed(Config, Pixelfed_config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
{some, Pixelfed_config},
erlang:element(15, Config)}.
-file("src/inlay.gleam", 224).
-spec no_pixelfed(inlay@embed:config()) -> inlay@embed:config().
no_pixelfed(Config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
none,
erlang:element(15, Config)}.
-file("src/inlay.gleam", 228).
-spec apple_music(inlay@embed:config(), inlay@embed:apple_music_config()) -> inlay@embed:config().
apple_music(Config, Apple_music_config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
{some, Apple_music_config}}.
-file("src/inlay.gleam", 235).
-spec no_apple_music(inlay@embed:config()) -> inlay@embed:config().
no_apple_music(Config) ->
{config,
erlang:element(2, Config),
erlang:element(3, Config),
erlang:element(4, Config),
erlang:element(5, Config),
erlang:element(6, Config),
erlang:element(7, Config),
erlang:element(8, Config),
erlang:element(9, Config),
erlang:element(10, Config),
erlang:element(11, Config),
erlang:element(12, Config),
erlang:element(13, Config),
erlang:element(14, Config),
none}.
-file("src/inlay.gleam", 243).
-spec detect_with(binary(), inlay@embed:config()) -> gleam@option:option(inlay@embed:embed()).
detect_with(Url, Config) ->
case gleam_stdlib:uri_parse(Url) of
{ok, Parsed} ->
inlay@provider:detect(Parsed, Config);
{error, _} ->
none
end.
-file("src/inlay.gleam", 254).
-spec render_with(inlay@embed:embed(), inlay@embed:config()) -> lustre@vdom@vnode:element(any()).
render_with(Embed, Config) ->
inlay@provider:render(Embed, Config).
-file("src/inlay.gleam", 265).
-spec embed_with(binary(), inlay@embed:config()) -> gleam@option:option(lustre@vdom@vnode:element(any())).
embed_with(Url, Config) ->
case detect_with(Url, Config) of
{some, E} ->
{some, render_with(E, Config)};
none ->
none
end.
-file("src/inlay.gleam", 278).
-spec a_component_with(
inlay@embed:config(),
fun((binary(), gleam@option:option(binary()), list(lustre@vdom@vnode:element(QEZ))) -> lustre@vdom@vnode:element(QEZ))
) -> fun((binary(), gleam@option:option(binary()), list(lustre@vdom@vnode:element(QEZ))) -> lustre@vdom@vnode:element(QEZ)).
a_component_with(Config, Fallback) ->
fun(Href, Title, Children) -> case embed_with(Href, Config) of
{some, El} ->
El;
none ->
Fallback(Href, Title, Children)
end end.
-file("src/inlay.gleam", 295).
-spec default_fallback(
binary(),
gleam@option:option(binary()),
list(lustre@vdom@vnode:element(QFN))
) -> lustre@vdom@vnode:element(QFN).
default_fallback(Href, Title, Children) ->
Attrs = [lustre@attribute:href(Href)],
Attrs@1 = case Title of
{some, T} ->
[lustre@attribute:title(T) | Attrs];
none ->
Attrs
end,
lustre@element@html:a(Attrs@1, Children).
-file("src/inlay.gleam", 116).
-spec default_config() -> inlay@embed:config().
default_config() ->
inlay@embed:default_config().
-file("src/inlay.gleam", 258).
-spec embed(binary()) -> gleam@option:option(lustre@vdom@vnode:element(any())).
embed(Url) ->
case detect(Url) of
{some, E} ->
{some, render(E)};
none ->
none
end.
-file("src/inlay.gleam", 250).
-spec render(inlay@embed:embed()) -> lustre@vdom@vnode:element(any()).
render(Embed) ->
inlay@provider:render(Embed, default_config()).
-file("src/inlay.gleam", 69).
-spec bluesky_config() -> inlay@embed:bluesky_config().
bluesky_config() ->
inlay@embed:bluesky_config().
-file("src/inlay.gleam", 73).
-spec youtube_config() -> inlay@embed:youtube_config().
youtube_config() ->
inlay@embed:youtube_config().
-file("src/inlay.gleam", 77).
-spec vimeo_config() -> inlay@embed:vimeo_config().
vimeo_config() ->
inlay@embed:vimeo_config().
-file("src/inlay.gleam", 81).
-spec spotify_config() -> inlay@embed:spotify_config().
spotify_config() ->
inlay@embed:spotify_config().
-file("src/inlay.gleam", 85).
-spec twitch_config(binary()) -> inlay@embed:twitch_config().
twitch_config(Parent) ->
inlay@embed:twitch_config(Parent).
-file("src/inlay.gleam", 89).
-spec openstreetmap_config() -> inlay@embed:open_street_map_config().
openstreetmap_config() ->
inlay@embed:openstreetmap_config().
-file("src/inlay.gleam", 93).
-spec ted_config() -> inlay@embed:ted_config().
ted_config() ->
inlay@embed:ted_config().
-file("src/inlay.gleam", 97).
-spec soundcloud_config() -> inlay@embed:sound_cloud_config().
soundcloud_config() ->
inlay@embed:soundcloud_config().
-file("src/inlay.gleam", 101).
-spec mastodon_config(list(binary())) -> inlay@embed:mastodon_config().
mastodon_config(Servers) ->
inlay@embed:mastodon_config(Servers).
-file("src/inlay.gleam", 105).
-spec pixelfed_config(list(binary()), inlay@embed:pixelfed_layout()) -> inlay@embed:pixelfed_config().
pixelfed_config(Servers, Layout) ->
inlay@embed:pixelfed_config(Servers, Layout).
-file("src/inlay.gleam", 112).
-spec apple_music_config() -> inlay@embed:apple_music_config().
apple_music_config() ->
inlay@embed:apple_music_config().
-file("src/inlay.gleam", 120).
-spec new() -> inlay@embed:config().
new() ->
inlay@embed:new().
-file("src/inlay.gleam", 239).
-spec detect(binary()) -> gleam@option:option(inlay@embed:embed()).
detect(Url) ->
detect_with(Url, default_config()).
-file("src/inlay.gleam", 272).
-spec a_component(
fun((binary(), gleam@option:option(binary()), list(lustre@vdom@vnode:element(QEQ))) -> lustre@vdom@vnode:element(QEQ))
) -> fun((binary(), gleam@option:option(binary()), list(lustre@vdom@vnode:element(QEQ))) -> lustre@vdom@vnode:element(QEQ)).
a_component(Fallback) ->
a_component_with(default_config(), Fallback).
-file("src/inlay.gleam", 290).
-spec a_component_default() -> fun((binary(), gleam@option:option(binary()), list(lustre@vdom@vnode:element(QFI))) -> lustre@vdom@vnode:element(QFI)).
a_component_default() ->
a_component(fun default_fallback/3).