loopwind 0.17.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. package/REGISTRY_SETUP.md +55 -1
  2. package/dist/commands/add.d.ts.map +1 -1
  3. package/dist/commands/add.js +3 -0
  4. package/dist/commands/add.js.map +1 -1
  5. package/dist/lib/installer.d.ts +8 -0
  6. package/dist/lib/installer.d.ts.map +1 -1
  7. package/dist/lib/installer.js +48 -1
  8. package/dist/lib/installer.js.map +1 -1
  9. package/dist/sdk/index.d.ts +2 -2
  10. package/dist/sdk/index.d.ts.map +1 -1
  11. package/dist/sdk/index.js +1 -1
  12. package/dist/sdk/index.js.map +1 -1
  13. package/dist/sdk/template.d.ts +133 -0
  14. package/dist/sdk/template.d.ts.map +1 -1
  15. package/dist/sdk/template.js +198 -0
  16. package/dist/sdk/template.js.map +1 -1
  17. package/examples/code-editor-templates.ts +173 -0
  18. package/examples/nextjs-template-import.ts +58 -0
  19. package/examples/visual-builder-templates.ts +336 -0
  20. package/package.json +1 -1
  21. package/test-sdk-user-templates.mjs +469 -0
  22. package/website/.astro/integrations/_inox-tools_astro-when/types.d.ts +1 -0
  23. package/website/.astro/types.d.ts +1 -0
  24. package/website/DEPLOYMENT.md +142 -0
  25. package/website/OG_IMAGES.md +141 -0
  26. package/website/astro.config.mjs +0 -2
  27. package/website/deploy.sh +19 -0
  28. package/website/dist/.gitkeep +1 -0
  29. package/website/dist/_astro/agents.Yx-L_igG.css +1 -0
  30. package/website/dist/_routes.json +30 -0
  31. package/website/dist/_worker.js/_@astrojs-ssr-adapter.mjs +1033 -0
  32. package/website/dist/_worker.js/_astro-internal_middleware.mjs +40 -0
  33. package/website/dist/_worker.js/chunks/abap_BTmsHiP5.mjs +1 -0
  34. package/website/dist/_worker.js/chunks/actionscript-3_DmBelb1E.mjs +1 -0
  35. package/website/dist/_worker.js/chunks/ada_8-E0ahCN.mjs +1 -0
  36. package/website/dist/_worker.js/chunks/andromeeda_XI-CXx50.mjs +1 -0
  37. package/website/dist/_worker.js/chunks/angular-html_DKGh3gGH.mjs +1 -0
  38. package/website/dist/_worker.js/chunks/angular-ts_-qZGsJoA.mjs +1 -0
  39. package/website/dist/_worker.js/chunks/apache_ijTUt0Ee.mjs +1 -0
  40. package/website/dist/_worker.js/chunks/apex_agu1c6Sh.mjs +1 -0
  41. package/website/dist/_worker.js/chunks/apl_Bj2f7Art.mjs +1 -0
  42. package/website/dist/_worker.js/chunks/applescript_B_vXrOh3.mjs +1 -0
  43. package/website/dist/_worker.js/chunks/ara_DCEQ2rnh.mjs +1 -0
  44. package/website/dist/_worker.js/chunks/asciidoc_CGN_EkYS.mjs +1 -0
  45. package/website/dist/_worker.js/chunks/asm_BBWZgnDp.mjs +1 -0
  46. package/website/dist/_worker.js/chunks/astro/assets-service_j52rQLzU.mjs +721 -0
  47. package/website/dist/_worker.js/chunks/astro/server_Y5_QHO8v.mjs +2401 -0
  48. package/website/dist/_worker.js/chunks/astro-designed-error-pages_BNTLO-TA.mjs +542 -0
  49. package/website/dist/_worker.js/chunks/astro_Dr_hht3h.mjs +1 -0
  50. package/website/dist/_worker.js/chunks/aurora-x_9GHG8nSq.mjs +1 -0
  51. package/website/dist/_worker.js/chunks/awk_DHRvhXot.mjs +1 -0
  52. package/website/dist/_worker.js/chunks/ayu-dark_CcvqmEHE.mjs +1 -0
  53. package/website/dist/_worker.js/chunks/ballerina_C7SdeSZb.mjs +1 -0
  54. package/website/dist/_worker.js/chunks/bat_Dv4A3u45.mjs +1 -0
  55. package/website/dist/_worker.js/chunks/beancount_BfPf9Luv.mjs +1 -0
  56. package/website/dist/_worker.js/chunks/berry_B8rfM3lL.mjs +1 -0
  57. package/website/dist/_worker.js/chunks/bibtex_TcjYgtJM.mjs +1 -0
  58. package/website/dist/_worker.js/chunks/bicep_CrlFWCdN.mjs +1 -0
  59. package/website/dist/_worker.js/chunks/blade_lanKVYID.mjs +1 -0
  60. package/website/dist/_worker.js/chunks/bsl_BhppzXMB.mjs +1 -0
  61. package/website/dist/_worker.js/chunks/c_6FBALJTK.mjs +1 -0
  62. package/website/dist/_worker.js/chunks/cadence_2txU9LVE.mjs +1 -0
  63. package/website/dist/_worker.js/chunks/cairo_BkrFAIlP.mjs +1 -0
  64. package/website/dist/_worker.js/chunks/catppuccin-frappe_CkEqIYhU.mjs +1 -0
  65. package/website/dist/_worker.js/chunks/catppuccin-latte_DG4Gx_-v.mjs +1 -0
  66. package/website/dist/_worker.js/chunks/catppuccin-macchiato_Cwi3vCXf.mjs +1 -0
  67. package/website/dist/_worker.js/chunks/catppuccin-mocha_L9_OPlFX.mjs +1 -0
  68. package/website/dist/_worker.js/chunks/clarity_BEAe4Ulu.mjs +1 -0
  69. package/website/dist/_worker.js/chunks/clojure_VnUX6p2g.mjs +1 -0
  70. package/website/dist/_worker.js/chunks/cmake_0-SGkZEj.mjs +1 -0
  71. package/website/dist/_worker.js/chunks/cobol_92M_KGaE.mjs +1 -0
  72. package/website/dist/_worker.js/chunks/codeowners_CzMwskBv.mjs +1 -0
  73. package/website/dist/_worker.js/chunks/codeql_DWJZNHv1.mjs +1 -0
  74. package/website/dist/_worker.js/chunks/coffee_CQjKU2fh.mjs +1 -0
  75. package/website/dist/_worker.js/chunks/common-lisp_BBLWDpS5.mjs +1 -0
  76. package/website/dist/_worker.js/chunks/coq_hedRFV3D.mjs +1 -0
  77. package/website/dist/_worker.js/chunks/cpp_DlS1i6Zs.mjs +1 -0
  78. package/website/dist/_worker.js/chunks/crystal_D6n65fKV.mjs +1 -0
  79. package/website/dist/_worker.js/chunks/csharp_C6FCVFzc.mjs +1 -0
  80. package/website/dist/_worker.js/chunks/css_C5uJEgmJ.mjs +1 -0
  81. package/website/dist/_worker.js/chunks/csv_CtMYuuJl.mjs +1 -0
  82. package/website/dist/_worker.js/chunks/cue_BsPexqx6.mjs +1 -0
  83. package/website/dist/_worker.js/chunks/cypher_apzf6OBi.mjs +1 -0
  84. package/website/dist/_worker.js/chunks/d_DcvIRcgm.mjs +1 -0
  85. package/website/dist/_worker.js/chunks/dark-plus_C01ONtzj.mjs +1 -0
  86. package/website/dist/_worker.js/chunks/dart_WkzM5WrV.mjs +1 -0
  87. package/website/dist/_worker.js/chunks/dax_DjXAO5V4.mjs +1 -0
  88. package/website/dist/_worker.js/chunks/desktop_C92LCxdc.mjs +1 -0
  89. package/website/dist/_worker.js/chunks/diff_CVwM_9XJ.mjs +1 -0
  90. package/website/dist/_worker.js/chunks/docker_DPzgJf6Z.mjs +1 -0
  91. package/website/dist/_worker.js/chunks/dotenv_D_vgANvA.mjs +1 -0
  92. package/website/dist/_worker.js/chunks/dracula-soft_CLnUBwFm.mjs +1 -0
  93. package/website/dist/_worker.js/chunks/dracula_lBVpb6Lb.mjs +1 -0
  94. package/website/dist/_worker.js/chunks/dream-maker_DTLbzd_J.mjs +1 -0
  95. package/website/dist/_worker.js/chunks/edge_i54JYm3_.mjs +1 -0
  96. package/website/dist/_worker.js/chunks/elixir_BJCIjTu4.mjs +1 -0
  97. package/website/dist/_worker.js/chunks/elm_BbXD39-_.mjs +1 -0
  98. package/website/dist/_worker.js/chunks/emacs-lisp_pxa5cXaN.mjs +1 -0
  99. package/website/dist/_worker.js/chunks/erb_Ccjijeee.mjs +1 -0
  100. package/website/dist/_worker.js/chunks/erlang_B2VM_hi7.mjs +1 -0
  101. package/website/dist/_worker.js/chunks/everforest-dark_BxvIPBim.mjs +1 -0
  102. package/website/dist/_worker.js/chunks/everforest-light_B7VoyaJM.mjs +1 -0
  103. package/website/dist/_worker.js/chunks/fennel_D-uo7X6c.mjs +1 -0
  104. package/website/dist/_worker.js/chunks/fish_BjePoK3m.mjs +1 -0
  105. package/website/dist/_worker.js/chunks/fluent_C8fgkzLX.mjs +1 -0
  106. package/website/dist/_worker.js/chunks/fortran-fixed-form_D1pu5zrc.mjs +1 -0
  107. package/website/dist/_worker.js/chunks/fortran-free-form_CSGOhJD6.mjs +1 -0
  108. package/website/dist/_worker.js/chunks/fsharp_B0xy-A4Y.mjs +1 -0
  109. package/website/dist/_worker.js/chunks/gdresource_CWppjlHq.mjs +1 -0
  110. package/website/dist/_worker.js/chunks/gdscript_eQCHchcS.mjs +1 -0
  111. package/website/dist/_worker.js/chunks/gdshader_C4kxepX7.mjs +1 -0
  112. package/website/dist/_worker.js/chunks/genie_ACtQLcDW.mjs +1 -0
  113. package/website/dist/_worker.js/chunks/gherkin_BFp2uKUd.mjs +1 -0
  114. package/website/dist/_worker.js/chunks/git-commit_CLg9ZwMV.mjs +1 -0
  115. package/website/dist/_worker.js/chunks/git-rebase_DG8A80Nt.mjs +1 -0
  116. package/website/dist/_worker.js/chunks/github-dark-default_BI0EP2Kv.mjs +1 -0
  117. package/website/dist/_worker.js/chunks/github-dark-dimmed_a_NIC0Xb.mjs +1 -0
  118. package/website/dist/_worker.js/chunks/github-dark-high-contrast_jZGqT7hk.mjs +1 -0
  119. package/website/dist/_worker.js/chunks/github-dark_CHCDNd2O.mjs +1 -0
  120. package/website/dist/_worker.js/chunks/github-light-default_DRbOW5RG.mjs +1 -0
  121. package/website/dist/_worker.js/chunks/github-light-high-contrast_tn_kWutM.mjs +1 -0
  122. package/website/dist/_worker.js/chunks/github-light_D9brYzot.mjs +1 -0
  123. package/website/dist/_worker.js/chunks/gleam_Dmhu1oxW.mjs +1 -0
  124. package/website/dist/_worker.js/chunks/glimmer-js_BfZbXy8A.mjs +1 -0
  125. package/website/dist/_worker.js/chunks/glimmer-ts_B9QVICrD.mjs +1 -0
  126. package/website/dist/_worker.js/chunks/glsl_DD2PPwOs.mjs +1 -0
  127. package/website/dist/_worker.js/chunks/gnuplot_D2OYChUX.mjs +1 -0
  128. package/website/dist/_worker.js/chunks/go_DYGFTe3h.mjs +1 -0
  129. package/website/dist/_worker.js/chunks/graphql_B7XsT3nH.mjs +1 -0
  130. package/website/dist/_worker.js/chunks/groovy_BO12Uwkl.mjs +1 -0
  131. package/website/dist/_worker.js/chunks/hack_CB2_ztCP.mjs +1 -0
  132. package/website/dist/_worker.js/chunks/haml_CyfDcDD3.mjs +1 -0
  133. package/website/dist/_worker.js/chunks/handlebars_CfpxpWm2.mjs +1 -0
  134. package/website/dist/_worker.js/chunks/haskell_jUeC5uN5.mjs +1 -0
  135. package/website/dist/_worker.js/chunks/haxe_B6GxP1WB.mjs +1 -0
  136. package/website/dist/_worker.js/chunks/hcl_DwoHV2oh.mjs +1 -0
  137. package/website/dist/_worker.js/chunks/hjson_DV7cJRk4.mjs +1 -0
  138. package/website/dist/_worker.js/chunks/hlsl_BlFCscPI.mjs +1 -0
  139. package/website/dist/_worker.js/chunks/houston_COBFG1Mx.mjs +1 -0
  140. package/website/dist/_worker.js/chunks/html-derivative_C9pJ337h.mjs +1 -0
  141. package/website/dist/_worker.js/chunks/html_D1OkrZS5.mjs +1 -0
  142. package/website/dist/_worker.js/chunks/http_DIGXRqvJ.mjs +1 -0
  143. package/website/dist/_worker.js/chunks/hxml_DEwh9i-c.mjs +1 -0
  144. package/website/dist/_worker.js/chunks/hy_DDoIgW1K.mjs +1 -0
  145. package/website/dist/_worker.js/chunks/imba_B00zbHo4.mjs +1 -0
  146. package/website/dist/_worker.js/chunks/index_C1UTDwYg.mjs +1861 -0
  147. package/website/dist/_worker.js/chunks/ini_D7XQA_p8.mjs +1 -0
  148. package/website/dist/_worker.js/chunks/java_B9wdFd8K.mjs +1 -0
  149. package/website/dist/_worker.js/chunks/javascript_CLsPGOON.mjs +1 -0
  150. package/website/dist/_worker.js/chunks/jinja_jarBCAN1.mjs +1 -0
  151. package/website/dist/_worker.js/chunks/jison_oGg3J708.mjs +1 -0
  152. package/website/dist/_worker.js/chunks/json5_DlZ1Kyaa.mjs +1 -0
  153. package/website/dist/_worker.js/chunks/json_DaYk_FMp.mjs +1 -0
  154. package/website/dist/_worker.js/chunks/jsonc_DlwgfSDs.mjs +1 -0
  155. package/website/dist/_worker.js/chunks/jsonl_BbCCVaZF.mjs +1 -0
  156. package/website/dist/_worker.js/chunks/jsonnet_Dt-G75xe.mjs +1 -0
  157. package/website/dist/_worker.js/chunks/jssm_BtKFTj2A.mjs +1 -0
  158. package/website/dist/_worker.js/chunks/jsx_DDx_xAZ8.mjs +1 -0
  159. package/website/dist/_worker.js/chunks/julia_CK0lv68l.mjs +1 -0
  160. package/website/dist/_worker.js/chunks/kanagawa-dragon_BldAK3Oo.mjs +1 -0
  161. package/website/dist/_worker.js/chunks/kanagawa-lotus_DVM8FX9_.mjs +1 -0
  162. package/website/dist/_worker.js/chunks/kanagawa-wave_Dpih0AKP.mjs +1 -0
  163. package/website/dist/_worker.js/chunks/kotlin_kWneB9V_.mjs +1 -0
  164. package/website/dist/_worker.js/chunks/kusto_BKVATd95.mjs +1 -0
  165. package/website/dist/_worker.js/chunks/laserwave_BqatxsVl.mjs +1 -0
  166. package/website/dist/_worker.js/chunks/latex_LVDcGBbc.mjs +1 -0
  167. package/website/dist/_worker.js/chunks/lean_W7qo-5M2.mjs +1 -0
  168. package/website/dist/_worker.js/chunks/less_DFNwJnBH.mjs +1 -0
  169. package/website/dist/_worker.js/chunks/light-plus_Dp0AoWsO.mjs +1 -0
  170. package/website/dist/_worker.js/chunks/liquid_D24qs0pc.mjs +1 -0
  171. package/website/dist/_worker.js/chunks/log_IPWMXriF.mjs +1 -0
  172. package/website/dist/_worker.js/chunks/logo_C6KaatrQ.mjs +1 -0
  173. package/website/dist/_worker.js/chunks/lua_CwnEf-T7.mjs +1 -0
  174. package/website/dist/_worker.js/chunks/luau_Br3-CXjS.mjs +1 -0
  175. package/website/dist/_worker.js/chunks/make_UBNG-kOo.mjs +1 -0
  176. package/website/dist/_worker.js/chunks/markdown_C7mhJFCm.mjs +1 -0
  177. package/website/dist/_worker.js/chunks/marko_4tchUvI7.mjs +1 -0
  178. package/website/dist/_worker.js/chunks/material-theme-darker_SKtaNEPn.mjs +1 -0
  179. package/website/dist/_worker.js/chunks/material-theme-lighter_zOX_DZCH.mjs +1 -0
  180. package/website/dist/_worker.js/chunks/material-theme-ocean_BN9WbhdC.mjs +1 -0
  181. package/website/dist/_worker.js/chunks/material-theme-palenight_DT_covjH.mjs +1 -0
  182. package/website/dist/_worker.js/chunks/material-theme_6RpeM3kc.mjs +1 -0
  183. package/website/dist/_worker.js/chunks/matlab_DCOXsPKR.mjs +1 -0
  184. package/website/dist/_worker.js/chunks/mdc_B9gb2UFP.mjs +1 -0
  185. package/website/dist/_worker.js/chunks/mdx_DGU7Nu9u.mjs +1 -0
  186. package/website/dist/_worker.js/chunks/mermaid_B69URzsZ.mjs +1 -0
  187. package/website/dist/_worker.js/chunks/min-dark_BgxifOMI.mjs +1 -0
  188. package/website/dist/_worker.js/chunks/min-light_BrPjXxUp.mjs +1 -0
  189. package/website/dist/_worker.js/chunks/mipsasm_9U-4_t7k.mjs +1 -0
  190. package/website/dist/_worker.js/chunks/mojo_B0wt7ug3.mjs +1 -0
  191. package/website/dist/_worker.js/chunks/monokai_B6Pxpoyi.mjs +1 -0
  192. package/website/dist/_worker.js/chunks/move_1eid4CyR.mjs +1 -0
  193. package/website/dist/_worker.js/chunks/narrat_Ds6-p5JZ.mjs +1 -0
  194. package/website/dist/_worker.js/chunks/nextflow_v2N1Qlqa.mjs +1 -0
  195. package/website/dist/_worker.js/chunks/nginx_Bp9Ab2NH.mjs +1 -0
  196. package/website/dist/_worker.js/chunks/night-owl_CdwOw_sc.mjs +1 -0
  197. package/website/dist/_worker.js/chunks/nim_BXGDUe53.mjs +1 -0
  198. package/website/dist/_worker.js/chunks/nix_CUig1nJH.mjs +1 -0
  199. package/website/dist/_worker.js/chunks/noop-middleware_DlWGj5t5.mjs +10 -0
  200. package/website/dist/_worker.js/chunks/nord_SPoG1iae.mjs +1 -0
  201. package/website/dist/_worker.js/chunks/nushell_DJw1Lca8.mjs +1 -0
  202. package/website/dist/_worker.js/chunks/objective-c_Bktzl_CO.mjs +1 -0
  203. package/website/dist/_worker.js/chunks/objective-cpp_CP4DWdDp.mjs +1 -0
  204. package/website/dist/_worker.js/chunks/ocaml_CeEAs7bZ.mjs +1 -0
  205. package/website/dist/_worker.js/chunks/one-dark-pro_-hIwCNMi.mjs +1 -0
  206. package/website/dist/_worker.js/chunks/one-light_DSmYvJ05.mjs +1 -0
  207. package/website/dist/_worker.js/chunks/pascal_C-S_Ms_o.mjs +1 -0
  208. package/website/dist/_worker.js/chunks/perl_CKamvo15.mjs +1 -0
  209. package/website/dist/_worker.js/chunks/php_BlmcX_F3.mjs +1 -0
  210. package/website/dist/_worker.js/chunks/plastic_Ryt8tVoA.mjs +1 -0
  211. package/website/dist/_worker.js/chunks/plsql_Cb3v7cBj.mjs +1 -0
  212. package/website/dist/_worker.js/chunks/po_DZbdNRlo.mjs +1 -0
  213. package/website/dist/_worker.js/chunks/poimandres_bYmE3_5d.mjs +1 -0
  214. package/website/dist/_worker.js/chunks/polar_pJkMGwoW.mjs +1 -0
  215. package/website/dist/_worker.js/chunks/postcss_BAXSOKgk.mjs +1 -0
  216. package/website/dist/_worker.js/chunks/powerquery_oITMGN4x.mjs +1 -0
  217. package/website/dist/_worker.js/chunks/powershell_6306-xIF.mjs +1 -0
  218. package/website/dist/_worker.js/chunks/prisma_DSDxnZGz.mjs +1 -0
  219. package/website/dist/_worker.js/chunks/prolog_CxG7tjZR.mjs +1 -0
  220. package/website/dist/_worker.js/chunks/proto_CS9ByXm1.mjs +1 -0
  221. package/website/dist/_worker.js/chunks/pug_BMtLJo6U.mjs +1 -0
  222. package/website/dist/_worker.js/chunks/puppet_BfeeSzee.mjs +1 -0
  223. package/website/dist/_worker.js/chunks/purescript_BFfueNaH.mjs +1 -0
  224. package/website/dist/_worker.js/chunks/python_Cc4Faapv.mjs +1 -0
  225. package/website/dist/_worker.js/chunks/qml_C1CTJTK8.mjs +1 -0
  226. package/website/dist/_worker.js/chunks/qmldir_nG1KaqKR.mjs +1 -0
  227. package/website/dist/_worker.js/chunks/qss_Cncxk263.mjs +1 -0
  228. package/website/dist/_worker.js/chunks/r_ChR54Ihi.mjs +1 -0
  229. package/website/dist/_worker.js/chunks/racket_BDrhptDs.mjs +1 -0
  230. package/website/dist/_worker.js/chunks/raku_07OUHa0P.mjs +1 -0
  231. package/website/dist/_worker.js/chunks/razor_DIP3INLa.mjs +1 -0
  232. package/website/dist/_worker.js/chunks/red_DOPXfj-6.mjs +1 -0
  233. package/website/dist/_worker.js/chunks/reg_B64SwEDj.mjs +1 -0
  234. package/website/dist/_worker.js/chunks/regexp_ButFGoB5.mjs +1 -0
  235. package/website/dist/_worker.js/chunks/rel_BWJAWqZD.mjs +1 -0
  236. package/website/dist/_worker.js/chunks/riscv_79gXlbsF.mjs +1 -0
  237. package/website/dist/_worker.js/chunks/rose-pine-dawn_DHIjVGd3.mjs +1 -0
  238. package/website/dist/_worker.js/chunks/rose-pine-moon_t86aEbs0.mjs +1 -0
  239. package/website/dist/_worker.js/chunks/rose-pine_BHgrcDCs.mjs +1 -0
  240. package/website/dist/_worker.js/chunks/rst_D3F4Fcpj.mjs +1 -0
  241. package/website/dist/_worker.js/chunks/ruby_Cs7vM9iv.mjs +1 -0
  242. package/website/dist/_worker.js/chunks/rust_DpyRVatH.mjs +1 -0
  243. package/website/dist/_worker.js/chunks/sas_DW45xZXN.mjs +1 -0
  244. package/website/dist/_worker.js/chunks/sass_C6SiMwN_.mjs +1 -0
  245. package/website/dist/_worker.js/chunks/scala_DlZOjNZk.mjs +1 -0
  246. package/website/dist/_worker.js/chunks/scheme_D2ezSJXu.mjs +1 -0
  247. package/website/dist/_worker.js/chunks/scss_DG5Spjqu.mjs +1 -0
  248. package/website/dist/_worker.js/chunks/sdbl_ZCYaj4VN.mjs +1 -0
  249. package/website/dist/_worker.js/chunks/shaderlab_CAcRkg1_.mjs +1 -0
  250. package/website/dist/_worker.js/chunks/shellscript_BWwhkDVh.mjs +1 -0
  251. package/website/dist/_worker.js/chunks/shellsession_BfEA3juK.mjs +1 -0
  252. package/website/dist/_worker.js/chunks/slack-dark_CL3lSpCc.mjs +1 -0
  253. package/website/dist/_worker.js/chunks/slack-ochin_DdZKOQVh.mjs +1 -0
  254. package/website/dist/_worker.js/chunks/smalltalk_DgilzSui.mjs +1 -0
  255. package/website/dist/_worker.js/chunks/snazzy-light_eJU08Pz_.mjs +1 -0
  256. package/website/dist/_worker.js/chunks/solarized-dark_Dg_YQywx.mjs +1 -0
  257. package/website/dist/_worker.js/chunks/solarized-light_BnIsrA6p.mjs +1 -0
  258. package/website/dist/_worker.js/chunks/solidity_DkseH8pQ.mjs +1 -0
  259. package/website/dist/_worker.js/chunks/soy_DU7bOYoG.mjs +1 -0
  260. package/website/dist/_worker.js/chunks/sparql_BuI1DBDH.mjs +1 -0
  261. package/website/dist/_worker.js/chunks/splunk_B8Ha9Pkg.mjs +1 -0
  262. package/website/dist/_worker.js/chunks/sql_BniHwea5.mjs +1 -0
  263. package/website/dist/_worker.js/chunks/ssh-config_CkE1GuVe.mjs +1 -0
  264. package/website/dist/_worker.js/chunks/stata_Dtqpbd_l.mjs +1 -0
  265. package/website/dist/_worker.js/chunks/stylus_CXTtglzO.mjs +1 -0
  266. package/website/dist/_worker.js/chunks/svelte_BjWYcUCN.mjs +1 -0
  267. package/website/dist/_worker.js/chunks/swift_BzHql_rM.mjs +1 -0
  268. package/website/dist/_worker.js/chunks/synthwave-84_DLRNhxNA.mjs +1 -0
  269. package/website/dist/_worker.js/chunks/system-verilog_ChyInPph.mjs +1 -0
  270. package/website/dist/_worker.js/chunks/systemd_Bi9Qa2qD.mjs +1 -0
  271. package/website/dist/_worker.js/chunks/talonscript_B3sH_Y-V.mjs +1 -0
  272. package/website/dist/_worker.js/chunks/tasl_BJ5yipRs.mjs +1 -0
  273. package/website/dist/_worker.js/chunks/tcl_CoJQjNoP.mjs +1 -0
  274. package/website/dist/_worker.js/chunks/templ_CrU7Ffil.mjs +1 -0
  275. package/website/dist/_worker.js/chunks/terraform_DT9JSFpC.mjs +1 -0
  276. package/website/dist/_worker.js/chunks/tex_5PKu2yA0.mjs +1 -0
  277. package/website/dist/_worker.js/chunks/tokyo-night_Buo8OK7-.mjs +1 -0
  278. package/website/dist/_worker.js/chunks/toml_CPuXX3oc.mjs +1 -0
  279. package/website/dist/_worker.js/chunks/ts-tags_D0M_1VSH.mjs +1 -0
  280. package/website/dist/_worker.js/chunks/tsv_CuivVNot.mjs +1 -0
  281. package/website/dist/_worker.js/chunks/tsx_MkuGr8MY.mjs +1 -0
  282. package/website/dist/_worker.js/chunks/turtle_BqgEPK7f.mjs +1 -0
  283. package/website/dist/_worker.js/chunks/twig_r1G9rpYJ.mjs +1 -0
  284. package/website/dist/_worker.js/chunks/typescript_Au5buqzM.mjs +1 -0
  285. package/website/dist/_worker.js/chunks/typespec_47rhBK_z.mjs +1 -0
  286. package/website/dist/_worker.js/chunks/typst_BAtuQLh-.mjs +1 -0
  287. package/website/dist/_worker.js/chunks/v_BIvWImHg.mjs +1 -0
  288. package/website/dist/_worker.js/chunks/vala_DYEacj30.mjs +1 -0
  289. package/website/dist/_worker.js/chunks/vb_CikQuqGJ.mjs +1 -0
  290. package/website/dist/_worker.js/chunks/verilog_BQRENwI-.mjs +1 -0
  291. package/website/dist/_worker.js/chunks/vesper_DA0kvTmj.mjs +1 -0
  292. package/website/dist/_worker.js/chunks/vhdl_DHscJIyg.mjs +1 -0
  293. package/website/dist/_worker.js/chunks/viml_F2pvMwvG.mjs +1 -0
  294. package/website/dist/_worker.js/chunks/vitesse-black_D9tjNzd0.mjs +1 -0
  295. package/website/dist/_worker.js/chunks/vitesse-dark_Bnm5d0hd.mjs +1 -0
  296. package/website/dist/_worker.js/chunks/vitesse-light_CHwbyjNR.mjs +1 -0
  297. package/website/dist/_worker.js/chunks/vue-html_DyYtbbMK.mjs +1 -0
  298. package/website/dist/_worker.js/chunks/vue_DofN6juy.mjs +1 -0
  299. package/website/dist/_worker.js/chunks/vyper_CiR0m-OV.mjs +1 -0
  300. package/website/dist/_worker.js/chunks/wasm_CwIGgRGf.mjs +1 -0
  301. package/website/dist/_worker.js/chunks/wasm_jKWhg0J0.mjs +1 -0
  302. package/website/dist/_worker.js/chunks/wenyan_DKvVZKXW.mjs +1 -0
  303. package/website/dist/_worker.js/chunks/wgsl_BOWZY7yw.mjs +1 -0
  304. package/website/dist/_worker.js/chunks/wikitext_CXDhhHPy.mjs +1 -0
  305. package/website/dist/_worker.js/chunks/wolfram_ChkmGnW0.mjs +1 -0
  306. package/website/dist/_worker.js/chunks/xml_DXH3hHIu.mjs +1 -0
  307. package/website/dist/_worker.js/chunks/xsl_DuP2mFjg.mjs +1 -0
  308. package/website/dist/_worker.js/chunks/yaml_IGiEkTge.mjs +1 -0
  309. package/website/dist/_worker.js/chunks/zenscript_59iXGyNw.mjs +1 -0
  310. package/website/dist/_worker.js/chunks/zig_DKzb0zdT.mjs +1 -0
  311. package/website/dist/_worker.js/index.js +53 -0
  312. package/website/dist/_worker.js/manifest_BAAoOzaU.mjs +98 -0
  313. package/website/dist/_worker.js/pages/_image.astro.mjs +24 -0
  314. package/website/dist/_worker.js/pages/agents.astro.mjs +1 -0
  315. package/website/dist/_worker.js/pages/animation.astro.mjs +1 -0
  316. package/website/dist/_worker.js/pages/api/raw-markdown/_---path_.astro.mjs +44 -0
  317. package/website/dist/_worker.js/pages/config.astro.mjs +1 -0
  318. package/website/dist/_worker.js/pages/fonts.astro.mjs +1 -0
  319. package/website/dist/_worker.js/pages/getting-started.astro.mjs +1 -0
  320. package/website/dist/_worker.js/pages/helpers.astro.mjs +1 -0
  321. package/website/dist/_worker.js/pages/images.astro.mjs +1 -0
  322. package/website/dist/_worker.js/pages/index.astro.mjs +1 -0
  323. package/website/dist/_worker.js/pages/llm.txt.astro.mjs +1 -0
  324. package/website/dist/_worker.js/pages/preview.astro.mjs +1 -0
  325. package/website/dist/_worker.js/pages/sdk.astro.mjs +1 -0
  326. package/website/dist/_worker.js/pages/sitemap.xml.astro.mjs +1 -0
  327. package/website/dist/_worker.js/pages/styling.astro.mjs +1 -0
  328. package/website/dist/_worker.js/pages/templates.astro.mjs +1 -0
  329. package/website/dist/_worker.js/pages/video.astro.mjs +1 -0
  330. package/website/dist/_worker.js/renderers.mjs +57 -0
  331. package/website/dist/agents/index.html +3 -2
  332. package/website/dist/animation/index.html +402 -128
  333. package/website/dist/config/index.html +184 -0
  334. package/website/dist/fonts/index.html +56 -52
  335. package/website/dist/getting-started/index.html +107 -0
  336. package/website/dist/helpers/index.html +8 -8
  337. package/website/dist/images/index.html +50 -23
  338. package/website/dist/index.html +114 -148
  339. package/website/dist/llm.txt +751 -1055
  340. package/website/dist/preview/index.html +111 -0
  341. package/website/dist/robots.txt +35 -0
  342. package/website/dist/sdk/index.html +390 -52
  343. package/website/dist/sitemap.xml +76 -0
  344. package/website/dist/styling/index.html +10 -7
  345. package/website/dist/templates/index.html +11 -59
  346. package/website/dist/video/index.html +106 -537
  347. package/website/package.json +1 -5
  348. package/website/public/.assetsignore +3 -0
  349. package/website/public/.gitkeep +0 -1
  350. package/website/templates/og-image.tsx +61 -0
  351. package/website/wrangler.toml +12 -0
  352. package/website/dist/_astro/agents.I1-fN38o.css +0 -1
@@ -0,0 +1,111 @@
1
+ <!DOCTYPE html><html lang="en" data-astro-cid-mw7aashj> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><meta name="generator" content="Astro v4.16.19"><link rel="canonical" href="https://loopwind.dev/preview/"><!-- Primary Meta Tags --><title></title><meta name="title"><meta name="description" content="CLI-based Image &#38; Video Generator for developers and AI Agents. Generate stunning visuals from React + Tailwind templates."><meta name="keywords" content="loopwind, image generation, video generation, React, Tailwind CSS, Satori, CLI tool, templates, shadcn/ui, AI agents, Cursor, automation, serverless, WASM, Open Graph, social media, marketing automation"><meta name="author" content="loopwind"><!-- Open Graph / Facebook --><meta property="og:type" content="website"><meta property="og:url" content="https://loopwind.dev/preview/"><meta property="og:title"><meta property="og:description" content="CLI-based Image &#38; Video Generator for developers and AI Agents. Generate stunning visuals from React + Tailwind templates."><meta property="og:image" content="https://loopwind.dev/api/og/preview"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="og:image:alt"><meta property="og:site_name" content="loopwind"><meta property="og:locale" content="en_US"><!-- Twitter --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:url" content="https://loopwind.dev/preview/"><meta name="twitter:title"><meta name="twitter:description" content="CLI-based Image &#38; Video Generator for developers and AI Agents. Generate stunning visuals from React + Tailwind templates."><meta name="twitter:image" content="https://loopwind.dev/api/og/preview"><meta name="twitter:image:alt"><meta name="twitter:creator" content="@loopwind"><meta name="twitter:site" content="@loopwind"><!-- Theme Color --><meta name="theme-color" content="#0a0a0a"><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#0a0a0a"><meta name="theme-color" media="(prefers-color-scheme: light)" content="#fafafa"><!-- Additional SEO --><meta name="robots" content="index, follow"><meta name="googlebot" content="index, follow"><meta name="language" content="English"><meta name="revisit-after" content="7 days"><meta name="rating" content="general"><!-- Mobile Web App --><meta name="mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><meta name="apple-mobile-web-app-title" content="loopwind"><!-- Structured Data (JSON-LD) --><script type="application/ld+json">{"@context":"https://schema.org","@type":"SoftwareApplication","name":"loopwind","applicationCategory":"DeveloperApplication","operatingSystem":"Cross-platform","description":"CLI-based Image & Video Generator for developers and AI Agents. Generate stunning visuals from React + Tailwind templates.","url":"https://loopwind.dev/","author":{"@type":"Organization","name":"loopwind","url":"https://loopwind.dev/"},"offers":{"@type":"Offer","price":"0","priceCurrency":"USD"},"softwareVersion":"0.11.0","releaseNotes":"https://github.com/loopwind/loopwind/releases","screenshot":"https://loopwind.dev/api/og/preview","featureList":["Image generation from React templates","Video generation with animations","Tailwind CSS support","shadcn/ui design system","CLI-based workflow","Serverless rendering","TypeScript support","AI Agent friendly"]}</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"loopwind","url":"https://loopwind.dev/","logo":"https://loopwind.dev/favicon.svg","sameAs":["https://github.com/loopwind/loopwind","https://www.npmjs.com/package/loopwind"]}</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://loopwind.dev/"},{"@type":"ListItem","position":2,"name":"Preview","item":"https://loopwind.dev/preview"}]}</script><link rel="stylesheet" href="/_astro/agents.Yx-L_igG.css"><script type="module">const p=document.getElementById("mobile-menu-button"),l=document.getElementById("mobile-menu"),g=document.querySelectorAll(".mobile-menu-link");p?.addEventListener("click",()=>{l?.classList.toggle("hidden")});l?.addEventListener("click",o=>{o.target===l&&l.classList.add("hidden")});g.forEach(o=>{o.addEventListener("click",()=>{l?.classList.add("hidden")})});function m(){const o=document.getElementById("toc-nav");if(!o){console.log("TOC: No toc-nav element found");return}const n=document.querySelector("article");if(!n){console.log("TOC: No article element found");return}const c=n.querySelectorAll("h2, h3");if(c.length===0){console.log("TOC: No headings found");return}console.log(`TOC: Found ${c.length} headings`);const a=document.createElement("ul");a.className="space-y-0 text-sm border-l border-border/50",c.forEach(e=>{const t=e.tagName==="H2"?2:3,r=e.id||e.textContent?.toLowerCase().replace(/[^\w]+/g,"-");!e.id&&r&&(e.id=r);const s=document.createElement("li"),d=document.createElement("a");d.href=`#${r}`,d.textContent=e.textContent,d.className=`toc-link block py-1 px-3 -ml-px border-l-2 border-transparent transition-all no-underline ${t===3?"pl-6 text-xs text-muted-foreground/70":"text-sm text-muted-foreground"} hover:text-foreground hover:border-muted-foreground/50`,s.appendChild(d),a.appendChild(s)}),o.appendChild(a);const i=new IntersectionObserver(e=>{e.forEach(t=>{const r=t.target.id,s=o.querySelector(`a[href="#${r}"]`);t.isIntersecting&&(document.querySelectorAll(".toc-link").forEach(d=>{d.classList.remove("text-foreground","border-accent","font-medium")}),s?.classList.add("text-foreground","border-accent","font-medium"))})},{rootMargin:"-100px 0px -66%",threshold:0});c.forEach(e=>{i.observe(e)})}document.addEventListener("DOMContentLoaded",m);document.addEventListener("astro:page-load",m);function u(){const o=document.getElementById("copy-to-llm-btn"),n=document.getElementById("copy-btn-text");if(!o||!n){console.log("Copy to LLM: Button not found on this page");return}console.log("Copy to LLM: Initialized"),o.addEventListener("click",async()=>{const c=window.location.pathname,a=c.replace(/^\//,"").replace(/\/$/,""),e=`/api/raw-markdown/${a===""?"index":a}`;console.log("Copy to LLM clicked: pathname=",c,"apiUrl=",e);try{n.textContent="Copying...";const t=await fetch(e);if(console.log("Response status:",t.status),!t.ok)throw new Error(`HTTP error! status: ${t.status}`);const r=await t.text();console.log("Got markdown, length:",r.length),await navigator.clipboard.writeText(r),n.textContent="Copied!",setTimeout(()=>{n.textContent="Copy to LLM"},2e3)}catch(t){console.error("Copy failed:",t),n.textContent="Failed",setTimeout(()=>{n.textContent="Copy to LLM"},2e3)}})}document.addEventListener("DOMContentLoaded",u);document.addEventListener("astro:page-load",u);
2
+ </script></head> <body class="antialiased" data-astro-cid-mw7aashj> <div class="min-h-screen" data-astro-cid-mw7aashj> <!-- Mobile Header --> <header class="mobile-header fixed top-0 left-0 right-0 h-16 bg-card border-b border-border z-50 md:hidden" data-astro-cid-mw7aashj> <div class="flex items-center justify-between h-full px-4" data-astro-cid-mw7aashj> <a href="/" class="no-underline"> <h1 class="text-xl flex items-center gap-2 bg-linear-to-r from-brand-from to-brand-to bg-clip-text text-transparent"> <span class="text-2xl">➰</span> <span>loopwind</span> </h1> </a> <button id="mobile-menu-button" class="p-2 text-foreground hover:bg-accent rounded-md transition-colors" aria-label="Toggle menu" data-astro-cid-mw7aashj> <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-mw7aashj> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" data-astro-cid-mw7aashj></path> </svg> </button> </div> </header> <!-- Mobile Menu Overlay --> <div id="mobile-menu" class="mobile-menu fixed inset-0 bg-background/80 backdrop-blur-sm z-40 md:hidden hidden" data-astro-cid-mw7aashj> <div class="fixed top-0 left-0 h-screen w-64 bg-card border-r border-border overflow-y-auto" data-astro-cid-mw7aashj> <div class="p-6 pt-20" data-astro-cid-mw7aashj> <nav data-astro-cid-mw7aashj> <ul class="space-y-1" data-astro-cid-mw7aashj> <li data-astro-cid-mw7aashj> <a href="/" class="mobile-menu-link block px-3 py-2 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Home </a> </li><li data-astro-cid-mw7aashj> <a href="/getting-started" class="mobile-menu-link block px-3 py-2 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Getting Started </a> </li><li data-astro-cid-mw7aashj> <a href="/templates" class="mobile-menu-link block px-3 py-2 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Templates </a> </li><li data-astro-cid-mw7aashj> <a href="/images" class="mobile-menu-link block px-3 py-2 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Images </a> </li><li data-astro-cid-mw7aashj> <a href="/video" class="mobile-menu-link block px-3 py-2 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Video </a> </li><li data-astro-cid-mw7aashj> <a href="/preview" class="mobile-menu-link block px-3 py-2 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Preview </a> </li><li data-astro-cid-mw7aashj> <a href="/animation" class="mobile-menu-link block px-3 py-2 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Animation </a> </li><li data-astro-cid-mw7aashj> <a href="/helpers" class="mobile-menu-link block px-3 py-2 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Helpers </a> </li><li data-astro-cid-mw7aashj> <a href="/styling" class="mobile-menu-link block px-3 py-2 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Styling </a> </li><li data-astro-cid-mw7aashj> <a href="/fonts" class="mobile-menu-link block px-3 py-2 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Fonts </a> </li><li data-astro-cid-mw7aashj> <a href="/config" class="mobile-menu-link block px-3 py-2 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> loopwind.json </a> </li><li data-astro-cid-mw7aashj> <a href="/sdk" class="mobile-menu-link block px-3 py-2 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> SDK </a> </li><li data-astro-cid-mw7aashj> <a href="/agents" class="mobile-menu-link block px-3 py-2 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Use with AI Agents </a> </li><li data-astro-cid-mw7aashj> <a href="/llm.txt" class="mobile-menu-link block px-3 py-2 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> llm.txt ⇱ </a> </li> </ul> </nav> </div> </div> </div> <!-- Desktop Sidebar --> <aside class="desktop-sidebar fixed top-0 left-0 h-screen w-64 border-r border-border bg-card overflow-y-auto z-10" data-astro-cid-mw7aashj> <div class="p-6" data-astro-cid-mw7aashj> <div class="block mb-3" data-astro-cid-mw7aashj> <a href="/" class="no-underline"> <h1 class="text-3xl flex items-center gap-2 bg-linear-to-r from-brand-from to-brand-to bg-clip-text text-transparent"> <span class="text-4xl">➰</span> <span>loopwind</span> </h1> </a> </div> <nav data-astro-cid-mw7aashj> <ul class="space-y-0" data-astro-cid-mw7aashj> <li data-astro-cid-mw7aashj> <a href="/" class="block px-3 py-1.5 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Home </a> </li><li data-astro-cid-mw7aashj> <a href="/getting-started" class="block px-3 py-1.5 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Getting Started </a> </li><li data-astro-cid-mw7aashj> <a href="/templates" class="block px-3 py-1.5 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Templates </a> </li><li data-astro-cid-mw7aashj> <a href="/images" class="block px-3 py-1.5 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Images </a> </li><li data-astro-cid-mw7aashj> <a href="/video" class="block px-3 py-1.5 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Video </a> </li><li data-astro-cid-mw7aashj> <a href="/preview" class="block px-3 py-1.5 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Preview </a> </li><li data-astro-cid-mw7aashj> <a href="/animation" class="block px-3 py-1.5 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Animation </a> </li><li data-astro-cid-mw7aashj> <a href="/helpers" class="block px-3 py-1.5 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Helpers </a> </li><li data-astro-cid-mw7aashj> <a href="/styling" class="block px-3 py-1.5 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Styling </a> </li><li data-astro-cid-mw7aashj> <a href="/fonts" class="block px-3 py-1.5 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Fonts </a> </li><li data-astro-cid-mw7aashj> <a href="/config" class="block px-3 py-1.5 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> loopwind.json </a> </li><li data-astro-cid-mw7aashj> <a href="/sdk" class="block px-3 py-1.5 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> SDK </a> </li><li data-astro-cid-mw7aashj> <a href="/agents" class="block px-3 py-1.5 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> Use with AI Agents </a> </li><li data-astro-cid-mw7aashj> <a href="/llm.txt" class="block px-3 py-1.5 rounded-md text-sm transition-colors no-underline text-muted-foreground hover:text-foreground hover:bg-accent/50" data-astro-cid-mw7aashj> llm.txt ⇱ </a> </li> </ul> </nav> </div> </aside> <!-- Main content --> <main class="ml-64 mr-64" data-astro-cid-mw7aashj> <div class="p-12" data-astro-cid-mw7aashj> <button id="copy-to-llm-btn" class="mb-6 px-4 py-2 bg-accent hover:bg-accent/80 text-accent-foreground rounded-md text-sm font-medium transition-colors flex items-center gap-2" aria-label="Copy raw markdown to clipboard" data-astro-cid-mw7aashj> <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-mw7aashj> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" data-astro-cid-mw7aashj></path> </svg> <span id="copy-btn-text" data-astro-cid-mw7aashj>Copy to LLM</span> </button> <article class="prose prose-invert max-w-4xl" data-astro-cid-mw7aashj> <h1 id="preview">Preview</h1>
3
+ <p>Preview your templates in real-time during development with hot module replacement.</p>
4
+ <h2 id="basic-usage">Basic Usage</h2>
5
+ <pre class="astro-code github-dark" style="background-color:#24292e;color:#e1e4e8;overflow-x:auto" tabindex="0" data-language="bash"><code><span class="line"><span style="color:#B392F0">loopwind</span><span style="color:#9ECBFF"> preview</span><span style="color:#F97583"> &lt;</span><span style="color:#9ECBFF">template-nam</span><span style="color:#E1E4E8">e</span><span style="color:#F97583">&gt;</span><span style="color:#E1E4E8"> [props]</span></span>
6
+ <span class="line"></span></code></pre>
7
+ <p>The preview command opens a browser window showing your template with live updates as you edit.</p>
8
+ <h2 id="image-templates">Image Templates</h2>
9
+ <p>For static image templates, the preview shows a single rendered view:</p>
10
+ <pre class="astro-code github-dark" style="background-color:#24292e;color:#e1e4e8;overflow-x:auto" tabindex="0" data-language="bash"><code><span class="line"><span style="color:#6A737D"># Preview with default props</span></span>
11
+ <span class="line"><span style="color:#B392F0">loopwind</span><span style="color:#9ECBFF"> preview</span><span style="color:#9ECBFF"> my-template</span></span>
12
+ <span class="line"></span>
13
+ <span class="line"><span style="color:#6A737D"># Preview with custom props</span></span>
14
+ <span class="line"><span style="color:#B392F0">loopwind</span><span style="color:#9ECBFF"> preview</span><span style="color:#9ECBFF"> my-template</span><span style="color:#9ECBFF"> &#39;{&quot;title&quot;: &quot;Hello World&quot;, &quot;subtitle&quot;: &quot;Welcome&quot;}&#39;</span></span>
15
+ <span class="line"></span></code></pre>
16
+ <h2 id="video-templates">Video Templates</h2>
17
+ <p>For video templates (templates with <code>type: &#39;video&#39;</code> in meta), the preview launches a video player with playback controls:</p>
18
+ <pre class="astro-code github-dark" style="background-color:#24292e;color:#e1e4e8;overflow-x:auto" tabindex="0" data-language="bash"><code><span class="line"><span style="color:#B392F0">loopwind</span><span style="color:#9ECBFF"> preview</span><span style="color:#9ECBFF"> video-intro</span><span style="color:#9ECBFF"> &#39;{&quot;version&quot;: &quot;2.0.0&quot;}&#39;</span></span>
19
+ <span class="line"></span></code></pre>
20
+ <p>The video player includes:</p>
21
+ <ul>
22
+ <li><strong>Play/Pause</strong> - Start and stop playback</li>
23
+ <li><strong>Scrubber</strong> - Drag to seek to any point in the video</li>
24
+ <li><strong>Frame stepping</strong> - Move forward/backward one frame at a time</li>
25
+ <li><strong>Loop toggle</strong> - Enable/disable looping</li>
26
+ <li><strong>Time display</strong> - Shows current time in milliseconds (matches animation class format)</li>
27
+ </ul>
28
+ <p>The video preview renders your template at full framerate, updating the animation context for each frame. This lets you see exactly how your <code>enter-*</code>, <code>exit-*</code>, and <code>loop-*</code> animation classes will look.</p>
29
+ <h2 id="options">Options</h2>
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+ <table><thead><tr><th>Option</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td><code>--port</code></td><td>Server port</td><td>3000</td></tr><tr><td><code>--no-open</code></td><td>Don’t open browser automatically</td><td>false</td></tr></tbody></table>
51
+ <pre class="astro-code github-dark" style="background-color:#24292e;color:#e1e4e8;overflow-x:auto" tabindex="0" data-language="bash"><code><span class="line"><span style="color:#6A737D"># Use a different port</span></span>
52
+ <span class="line"><span style="color:#B392F0">loopwind</span><span style="color:#9ECBFF"> preview</span><span style="color:#9ECBFF"> my-template</span><span style="color:#79B8FF"> --port</span><span style="color:#79B8FF"> 3001</span></span>
53
+ <span class="line"></span>
54
+ <span class="line"><span style="color:#6A737D"># Don&#39;t auto-open browser</span></span>
55
+ <span class="line"><span style="color:#B392F0">loopwind</span><span style="color:#9ECBFF"> preview</span><span style="color:#9ECBFF"> my-template</span><span style="color:#79B8FF"> --no-open</span></span>
56
+ <span class="line"></span></code></pre>
57
+ <h2 id="hot-module-replacement">Hot Module Replacement</h2>
58
+ <p>The preview server uses Vite for instant updates:</p>
59
+ <ul>
60
+ <li>Edit your template and see changes immediately</li>
61
+ <li>No need to restart the server</li>
62
+ <li>Works with both image and video templates</li>
63
+ </ul>
64
+ <h2 id="props-format">Props Format</h2>
65
+ <p>Props are passed as a JSON string:</p>
66
+ <pre class="astro-code github-dark" style="background-color:#24292e;color:#e1e4e8;overflow-x:auto" tabindex="0" data-language="bash"><code><span class="line"><span style="color:#6A737D"># Simple props</span></span>
67
+ <span class="line"><span style="color:#B392F0">loopwind</span><span style="color:#9ECBFF"> preview</span><span style="color:#9ECBFF"> card</span><span style="color:#9ECBFF"> &#39;{&quot;title&quot;: &quot;My Card&quot;}&#39;</span></span>
68
+ <span class="line"></span>
69
+ <span class="line"><span style="color:#6A737D"># Complex props with arrays</span></span>
70
+ <span class="line"><span style="color:#B392F0">loopwind</span><span style="color:#9ECBFF"> preview</span><span style="color:#9ECBFF"> changelog</span><span style="color:#9ECBFF"> &#39;{&quot;version&quot;: &quot;2.0&quot;, &quot;changes&quot;: [&quot;New feature&quot;, &quot;Bug fix&quot;]}&#39;</span></span>
71
+ <span class="line"></span>
72
+ <span class="line"><span style="color:#6A737D"># Props with images</span></span>
73
+ <span class="line"><span style="color:#B392F0">loopwind</span><span style="color:#9ECBFF"> preview</span><span style="color:#9ECBFF"> hero</span><span style="color:#9ECBFF"> &#39;{&quot;title&quot;: &quot;Welcome&quot;, &quot;logo&quot;: &quot;https://example.com/logo.png&quot;}&#39;</span></span>
74
+ <span class="line"></span></code></pre>
75
+ <h2 id="image-props">Image Props</h2>
76
+ <p>For templates that use the <code>image()</code> helper, you can pass image URLs in props:</p>
77
+ <pre class="astro-code github-dark" style="background-color:#24292e;color:#e1e4e8;overflow-x:auto" tabindex="0" data-language="tsx"><code><span class="line"><span style="color:#6A737D">// In your template</span></span>
78
+ <span class="line"><span style="color:#E1E4E8">&lt;</span><span style="color:#85E89D">img</span><span style="color:#B392F0"> src</span><span style="color:#F97583">=</span><span style="color:#E1E4E8">{</span><span style="color:#B392F0">image</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">&#39;logo&#39;</span><span style="color:#E1E4E8">)} </span><span style="color:#B392F0">style</span><span style="color:#F97583">=</span><span style="color:#E1E4E8">{</span><span style="color:#B392F0">tw</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">&#39;w-32 h-32&#39;</span><span style="color:#E1E4E8">)} /&gt;</span></span>
79
+ <span class="line"></span></code></pre>
80
+ <pre class="astro-code github-dark" style="background-color:#24292e;color:#e1e4e8;overflow-x:auto" tabindex="0" data-language="bash"><code><span class="line"><span style="color:#6A737D"># Pass the image URL</span></span>
81
+ <span class="line"><span style="color:#B392F0">loopwind</span><span style="color:#9ECBFF"> preview</span><span style="color:#9ECBFF"> my-template</span><span style="color:#9ECBFF"> &#39;{&quot;logo&quot;: &quot;https://example.com/logo.png&quot;}&#39;</span></span>
82
+ <span class="line"></span></code></pre>
83
+ <h2 id="animation-preview">Animation Preview</h2>
84
+ <p>The video preview is particularly useful for testing animations:</p>
85
+ <pre class="astro-code github-dark" style="background-color:#24292e;color:#e1e4e8;overflow-x:auto" tabindex="0" data-language="tsx"><code><span class="line"><span style="color:#F97583">export</span><span style="color:#F97583"> default</span><span style="color:#F97583"> function</span><span style="color:#B392F0"> MyVideo</span><span style="color:#E1E4E8">({ </span><span style="color:#FFAB70">tw</span><span style="color:#E1E4E8"> }) {</span></span>
86
+ <span class="line"><span style="color:#F97583"> return</span><span style="color:#E1E4E8"> (</span></span>
87
+ <span class="line"><span style="color:#E1E4E8"> &lt;</span><span style="color:#85E89D">div</span><span style="color:#B392F0"> style</span><span style="color:#F97583">=</span><span style="color:#E1E4E8">{</span><span style="color:#B392F0">tw</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">&#39;w-full h-full bg-black&#39;</span><span style="color:#E1E4E8">)}&gt;</span></span>
88
+ <span class="line"><span style="color:#E1E4E8"> &lt;</span><span style="color:#85E89D">h1</span><span style="color:#B392F0"> style</span><span style="color:#F97583">=</span><span style="color:#E1E4E8">{</span><span style="color:#B392F0">tw</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">&#39;text-6xl text-white enter-fade-in/0/500&#39;</span><span style="color:#E1E4E8">)}&gt;</span></span>
89
+ <span class="line"><span style="color:#E1E4E8"> Hello</span></span>
90
+ <span class="line"><span style="color:#E1E4E8"> &lt;/</span><span style="color:#85E89D">h1</span><span style="color:#E1E4E8">&gt;</span></span>
91
+ <span class="line"><span style="color:#E1E4E8"> &lt;</span><span style="color:#85E89D">p</span><span style="color:#B392F0"> style</span><span style="color:#F97583">=</span><span style="color:#E1E4E8">{</span><span style="color:#B392F0">tw</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">&#39;text-2xl text-white/80 enter-slide-up/300/800&#39;</span><span style="color:#E1E4E8">)}&gt;</span></span>
92
+ <span class="line"><span style="color:#E1E4E8"> World</span></span>
93
+ <span class="line"><span style="color:#E1E4E8"> &lt;/</span><span style="color:#85E89D">p</span><span style="color:#E1E4E8">&gt;</span></span>
94
+ <span class="line"><span style="color:#E1E4E8"> &lt;/</span><span style="color:#85E89D">div</span><span style="color:#E1E4E8">&gt;</span></span>
95
+ <span class="line"><span style="color:#E1E4E8"> );</span></span>
96
+ <span class="line"><span style="color:#E1E4E8">}</span></span>
97
+ <span class="line"></span></code></pre>
98
+ <p>Use the scrubber to check exact timing, or step frame-by-frame to fine-tune your animations.</p>
99
+ <h2 id="keyboard-shortcuts">Keyboard Shortcuts</h2>
100
+ <p>In the video player:</p>
101
+ <ul>
102
+ <li><strong>Space</strong> - Play/Pause</li>
103
+ <li><strong>Arrow keys</strong> - Step forward/backward</li>
104
+ </ul>
105
+ <h2 id="styling-integration">Styling Integration</h2>
106
+ <p>The preview automatically loads your <code>loopwind.json</code> configuration, so all your custom colors and tokens work:</p>
107
+ <pre class="astro-code github-dark" style="background-color:#24292e;color:#e1e4e8;overflow-x:auto" tabindex="0" data-language="tsx"><code><span class="line"><span style="color:#6A737D">// Uses &#39;primary&#39; from loopwind.json</span></span>
108
+ <span class="line"><span style="color:#E1E4E8">&lt;</span><span style="color:#85E89D">div</span><span style="color:#B392F0"> style</span><span style="color:#F97583">=</span><span style="color:#E1E4E8">{</span><span style="color:#B392F0">tw</span><span style="color:#E1E4E8">(</span><span style="color:#9ECBFF">&#39;bg-gradient-to-br from-primary to-primary/20&#39;</span><span style="color:#E1E4E8">)}&gt;</span></span>
109
+ <span class="line"><span style="color:#E1E4E8"> ...</span></span>
110
+ <span class="line"><span style="color:#E1E4E8">&lt;/</span><span style="color:#85E89D">div</span><span style="color:#E1E4E8">&gt;</span></span>
111
+ <span class="line"></span></code></pre> </article> </div> </main> <!-- Table of Contents Sidebar (Desktop only) --> <aside id="toc-sidebar" class="toc-sidebar fixed top-0 right-0 h-screen w-64 overflow-y-auto z-10" data-astro-cid-mw7aashj> <div class="px-6 py-8" data-astro-cid-mw7aashj> <h3 class="text-xs font-semibold text-muted-foreground mb-4 uppercase tracking-wider" data-astro-cid-mw7aashj>On this page</h3> <nav id="toc-nav" data-astro-cid-mw7aashj> <!-- TOC will be populated by JavaScript --> </nav> </div> </aside> </div> </body></html>
@@ -1,5 +1,40 @@
1
+ # loopwind.dev robots.txt
2
+
1
3
  User-agent: *
2
4
  Allow: /
3
5
 
6
+ # Sitemaps
4
7
  Sitemap: https://loopwind.dev/sitemap.xml
5
8
 
9
+ # Common bots
10
+ User-agent: Googlebot
11
+ Allow: /
12
+
13
+ User-agent: Bingbot
14
+ Allow: /
15
+
16
+ User-agent: Slurp
17
+ Allow: /
18
+
19
+ User-agent: DuckDuckBot
20
+ Allow: /
21
+
22
+ # AI Crawlers
23
+ User-agent: GPTBot
24
+ Allow: /
25
+
26
+ User-agent: ChatGPT-User
27
+ Allow: /
28
+
29
+ User-agent: Claude-Web
30
+ Allow: /
31
+
32
+ User-agent: anthropic-ai
33
+ Allow: /
34
+
35
+ User-agent: Applebot
36
+ Allow: /
37
+
38
+ # Disallow temporary files
39
+ Disallow: /_loopwind/
40
+ Disallow: /node_modules/