#let desc = [$oo$ fun with `math`]
#metadata(
  (
    title: "Test page",
    author: "Neko",
    desc: desc,
    date:  datetime(
      year: 2024,
      month: 8,
      day: 7,
    ),
  )
)<frontmatter>

#set par(leading: 1em)
#set page(width: auto, height: auto, margin: 0.5em)

== `astro-typst` playground

=== Link

Look at #underline[@rainbow]!

=== Include other files

// #include "../../pages/_included.typ"
#let svg-str = "<svg width='460' height='160' viewBox='0 0 460 160' fill='none' xmlns='http://www.w3.org/2000/svg'>
<path d='M65.7845 121.175C61.2669 117.045 59.9481 108.368 61.8302 102.082C65.0938 106.045 69.6158 107.301 74.2996 108.009C81.5305 109.103 88.6318 108.694 95.3489 105.389C96.1173 105.011 96.8275 104.507 97.6671 103.998C98.2974 105.826 98.4614 107.672 98.2413 109.551C97.706 114.127 95.4288 117.662 91.8069 120.341C90.3586 121.413 88.8261 122.371 87.3303 123.382C82.7349 126.487 81.4916 130.129 83.2184 135.427C83.2594 135.556 83.2961 135.685 83.3889 136C81.0427 134.95 79.3288 133.421 78.023 131.411C76.6437 129.289 75.9876 126.942 75.953 124.403C75.9358 123.167 75.9358 121.92 75.7696 120.702C75.3638 117.732 73.9694 116.402 71.3426 116.325C68.6466 116.247 66.5141 117.913 65.9486 120.538C65.9054 120.739 65.8428 120.938 65.7802 121.172L65.7845 121.175Z' fill='#17191E'/>
<path d='M40 101.034C40 101.034 53.3775 94.5177 66.7924 94.5177L76.9068 63.2155C77.2855 61.7017 78.3911 60.6729 79.6393 60.6729C80.8875 60.6729 81.9932 61.7017 82.3719 63.2155L92.4862 94.5177C108.374 94.5177 119.279 101.034 119.279 101.034C119.279 101.034 96.5558 39.133 96.5114 39.0088C95.8592 37.1787 94.7583 36 93.274 36H66.007C64.5227 36 63.4662 37.1787 62.7696 39.0088C62.7205 39.1307 40 101.034 40 101.034Z' fill='#17191E'/>
<path d='M181.043 81.1227C181.043 86.6079 174.22 89.8838 164.773 89.8838C158.624 89.8838 156.45 88.3601 156.45 85.1604C156.45 81.8083 159.149 80.2085 165.297 80.2085C170.846 80.2085 175.569 80.2846 181.043 80.9703V81.1227ZM181.118 74.3423C177.744 73.5805 172.645 73.1234 166.572 73.1234C148.877 73.1234 140.555 77.3135 140.555 87.065C140.555 97.1975 146.253 101.083 159.449 101.083C170.621 101.083 178.193 98.2641 180.968 91.3313H181.417C181.342 93.0074 181.267 94.6834 181.267 95.9785C181.267 99.5592 181.867 99.8639 184.791 99.8639H198.587C197.837 97.7308 197.387 91.7122 197.387 86.5317C197.387 80.9703 197.612 76.7802 197.612 71.1426C197.612 59.6388 190.715 52.3251 169.121 52.3251C159.824 52.3251 149.477 53.925 141.605 56.2867C142.354 59.4102 143.404 65.7335 143.929 69.8474C150.752 66.6477 160.424 65.2764 167.922 65.2764C178.268 65.2764 181.118 67.6381 181.118 72.4377V74.3423Z' fill='#17191E'/>
<path d='M218.971 84.3224C217.097 84.5509 214.547 84.5509 211.923 84.5509C209.149 84.5509 206.6 84.4748 204.875 84.2462C204.875 84.8557 204.8 85.5413 204.8 86.1508C204.8 95.6738 211.023 101.235 232.917 101.235C253.535 101.235 260.208 95.75 260.208 86.0746C260.208 76.9325 255.785 72.4377 236.216 71.4473C220.995 70.7616 219.646 69.0856 219.646 67.181C219.646 64.9717 221.595 63.8289 231.792 63.8289C242.364 63.8289 245.213 65.2764 245.213 68.3238V69.0094C246.712 68.9332 249.412 68.8571 252.186 68.8571C254.81 68.8571 257.659 68.9332 259.309 69.0856C259.309 68.3999 259.384 67.7905 259.384 67.2572C259.384 56.0581 250.086 52.4013 232.092 52.4013C211.848 52.4013 205.025 57.3533 205.025 67.0286C205.025 75.7136 210.499 81.1227 229.918 81.9607C244.238 82.4178 245.813 84.0177 245.813 86.227C245.813 88.5887 243.488 89.6553 233.442 89.6553C221.895 89.6553 218.971 88.0554 218.971 84.7795V84.3224Z' fill='#17191E'/>
<path d='M284.955 44.1734C279.482 49.2778 269.66 54.3821 264.187 55.7534C264.262 58.5722 264.262 63.7527 264.262 66.5715L269.285 66.6477C269.21 72.0568 269.135 78.6086 269.135 82.9511C269.135 93.0835 274.458 100.702 291.028 100.702C298.001 100.702 302.65 99.9401 308.423 98.7212C307.823 94.9881 307.148 89.2743 306.923 84.9319C303.474 86.0746 299.126 86.6841 294.327 86.6841C287.654 86.6841 284.955 84.8557 284.955 79.599C284.955 75.028 284.955 70.7616 285.03 66.8001C293.578 66.8763 302.125 67.0286 307.148 67.181C307.073 63.2194 307.223 57.5056 307.448 53.6964C300.175 53.8488 292.003 53.925 285.255 53.925C285.33 50.5729 285.405 47.3732 285.48 44.1734H284.955Z' fill='#17191E'/>
<path d='M329.736 64.286C329.811 60.3244 329.886 56.9724 329.961 53.6964H314.89C315.115 60.2483 315.115 66.9525 315.115 76.7802C315.115 86.6079 315.04 93.3883 314.89 99.8639H332.135C331.835 95.2929 331.76 87.5983 331.76 81.0465C331.76 70.6855 335.959 67.7143 345.481 67.7143C349.905 67.7143 353.054 68.2476 355.828 69.238C355.903 65.3526 356.653 57.8104 357.102 54.4583C354.253 53.6203 351.104 53.087 347.28 53.087C339.108 53.0108 333.11 56.3629 330.336 64.3622L329.736 64.286Z' fill='#17191E'/>
<path d='M404.808 76.4754C404.808 84.7795 398.81 88.6649 389.363 88.6649C379.991 88.6649 373.993 85.008 373.993 76.4754C373.993 67.9428 380.066 64.7431 389.363 64.7431C398.735 64.7431 404.808 68.1714 404.808 76.4754ZM420.478 76.0945C420.478 59.5626 407.582 52.1728 389.363 52.1728C371.069 52.1728 358.622 59.5626 358.622 76.0945C358.622 92.5503 370.244 101.388 389.288 101.388C408.482 101.388 420.478 92.5503 420.478 76.0945Z' fill='#17191E'/>
</svg>

"
#let astro = image(bytes(svg-str))

#let FT = $cal(F)$
#let IFT = $FT^(-1)$
#let CONV = sym.star.filled
#let SUMOO = $sum^(oo)_(n=-oo)$
#let INTOO = $integral^(oo)_(-oo)$

#let PIT = $display(pi dot.c (t - n Delta T) / (Delta T))$

$
f(t)
&= IFT {F(mu)}
= IFT {H(mu) tilde(F)(mu)}
= h(t) CONV overline(f)(t)\
&= INTOO h(z) tilde(f)(t - z) dif z\
&= INTOO (sin(pi z / (Delta T)))/((pi z / (Delta T))) SUMOO f(t - z) delta(t - n Delta T - z) dif z\
&= SUMOO INTOO (sin(pi z / (Delta T)))/((pi z / (Delta T))) f(t - z) delta(t - n Delta T - z) dif z\
&= SUMOO f(n Delta T) (sin(PIT))/(PIT)\
&= SUMOO f(n Delta T) sinc((t - n Delta T) / (Delta T)).
$

$ f(t, z) CONV h(t, z) = INTOO INTOO f(alpha, beta) h(t - alpha, z - beta) dif alpha dif beta. $

#set image(height: 2em)
#stack(dir: ltr)[Hello from ][#astro]

This is data passed from `sys.input`: something #sys.inputs.at("something", default: "from typst.")

#set square(size: 4cm)
#figure(
  caption: "Rainbow squares",
  stack(
    dir: ltr,
    spacing: 1fr,
    square(fill: gradient.linear(..color.map.rainbow)),
    square(fill: gradient.radial(..color.map.rainbow)),
    square(fill: gradient.conic(..color.map.rainbow)),
  ),
)<rainbow>