2
0

index.html 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753
  1. <!doctype html>
  2. <html lang="en" class="no-js">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1">
  6. <link rel="next" href="../release-notes-1.3.1/">
  7. <link rel="icon" href="../assets/images/favicon.png">
  8. <meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.33">
  9. <title>Home - Compose TV App and Lib</title>
  10. <link rel="stylesheet" href="../assets/stylesheets/main.3cba04c6.min.css">
  11. <link rel="stylesheet" href="../assets/stylesheets/palette.06af60db.min.css">
  12. <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  13. <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
  14. <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
  15. <script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
  16. <link href="../assets/stylesheets/glightbox.min.css" rel="stylesheet"/><style>
  17. html.glightbox-open { overflow: initial; height: 100%; }
  18. .gslide-title { margin-top: 0px; user-select: text; }
  19. .gslide-desc { color: #666; user-select: text; }
  20. .gslide-image img { background: white; }
  21. .gscrollbar-fixer { padding-right: 15px; }
  22. .gdesc-inner { font-size: 0.75rem; }
  23. body[data-md-color-scheme="slate"] .gdesc-inner { background: var(--md-default-bg-color);}
  24. body[data-md-color-scheme="slate"] .gslide-title { color: var(--md-default-fg-color);}
  25. body[data-md-color-scheme="slate"] .gslide-desc { color: var(--md-default-fg-color);}</style> <script src="../assets/javascripts/glightbox.min.js"></script></head>
  26. <body dir="ltr" data-md-color-scheme="slate" data-md-color-primary="teal" data-md-color-accent="teal">
  27. <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
  28. <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
  29. <label class="md-overlay" for="__drawer"></label>
  30. <div data-md-component="skip">
  31. <a href="#home" class="md-skip">
  32. Skip to content
  33. </a>
  34. </div>
  35. <div data-md-component="announce">
  36. </div>
  37. <header class="md-header md-header--shadow" data-md-component="header">
  38. <nav class="md-header__inner md-grid" aria-label="Header">
  39. <a href=".." title="Compose TV App and Lib" class="md-header__button md-logo" aria-label="Compose TV App and Lib" data-md-component="logo">
  40. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
  41. </a>
  42. <label class="md-header__button md-icon" for="__drawer">
  43. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
  44. </label>
  45. <div class="md-header__title" data-md-component="header-title">
  46. <div class="md-header__ellipsis">
  47. <div class="md-header__topic">
  48. <span class="md-ellipsis">
  49. Compose TV App and Lib
  50. </span>
  51. </div>
  52. <div class="md-header__topic" data-md-component="header-topic">
  53. <span class="md-ellipsis">
  54. Home
  55. </span>
  56. </div>
  57. </div>
  58. </div>
  59. <form class="md-header__option" data-md-component="palette">
  60. <input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="teal" data-md-color-accent="teal" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_0">
  61. <label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
  62. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"/></svg>
  63. </label>
  64. <input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="teal" data-md-color-accent="teal" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
  65. <label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_0" hidden>
  66. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"/></svg>
  67. </label>
  68. </form>
  69. <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
  70. <div class="md-header__source">
  71. <a href="https://github.com/mimoccc/tvapp" title="Go to repository" class="md-source" data-md-component="source">
  72. <div class="md-source__icon md-icon">
  73. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
  74. </div>
  75. <div class="md-source__repository">
  76. mimoccc/tvapp
  77. </div>
  78. </a>
  79. </div>
  80. </nav>
  81. </header>
  82. <div class="md-container" data-md-component="container">
  83. <main class="md-main" data-md-component="main">
  84. <div class="md-main__inner md-grid">
  85. <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
  86. <div class="md-sidebar__scrollwrap">
  87. <div class="md-sidebar__inner">
  88. <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
  89. <label class="md-nav__title" for="__drawer">
  90. <a href=".." title="Compose TV App and Lib" class="md-nav__button md-logo" aria-label="Compose TV App and Lib" data-md-component="logo">
  91. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
  92. </a>
  93. Compose TV App and Lib
  94. </label>
  95. <div class="md-nav__source">
  96. <a href="https://github.com/mimoccc/tvapp" title="Go to repository" class="md-source" data-md-component="source">
  97. <div class="md-source__icon md-icon">
  98. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
  99. </div>
  100. <div class="md-source__repository">
  101. mimoccc/tvapp
  102. </div>
  103. </a>
  104. </div>
  105. <ul class="md-nav__list" data-md-scrollfix>
  106. <li class="md-nav__item md-nav__item--active">
  107. <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
  108. <label class="md-nav__link md-nav__link--active" for="__toc">
  109. <span class="md-ellipsis">
  110. Home
  111. </span>
  112. <span class="md-nav__icon md-icon"></span>
  113. </label>
  114. <a href="./" class="md-nav__link md-nav__link--active">
  115. <span class="md-ellipsis">
  116. Home
  117. </span>
  118. </a>
  119. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  120. <label class="md-nav__title" for="__toc">
  121. <span class="md-nav__icon md-icon"></span>
  122. Table of contents
  123. </label>
  124. <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
  125. <li class="md-nav__item">
  126. <a href="#android-tv-test-app" class="md-nav__link">
  127. <span class="md-ellipsis">
  128. Android TV test app
  129. </span>
  130. </a>
  131. </li>
  132. <li class="md-nav__item">
  133. <a href="#stats" class="md-nav__link">
  134. <span class="md-ellipsis">
  135. Stats
  136. </span>
  137. </a>
  138. </li>
  139. <li class="md-nav__item">
  140. <a href="#table-of-contents" class="md-nav__link">
  141. <span class="md-ellipsis">
  142. Table of Contents
  143. </span>
  144. </a>
  145. </li>
  146. <li class="md-nav__item">
  147. <a href="#project-documentation" class="md-nav__link">
  148. <span class="md-ellipsis">
  149. Project documentation
  150. </span>
  151. </a>
  152. </li>
  153. <li class="md-nav__item">
  154. <a href="#description" class="md-nav__link">
  155. <span class="md-ellipsis">
  156. Description
  157. </span>
  158. </a>
  159. </li>
  160. <li class="md-nav__item">
  161. <a href="#compilation" class="md-nav__link">
  162. <span class="md-ellipsis">
  163. Compilation
  164. </span>
  165. </a>
  166. </li>
  167. <li class="md-nav__item">
  168. <a href="#usage" class="md-nav__link">
  169. <span class="md-ellipsis">
  170. Usage
  171. </span>
  172. </a>
  173. </li>
  174. <li class="md-nav__item">
  175. <a href="#credits" class="md-nav__link">
  176. <span class="md-ellipsis">
  177. Credits
  178. </span>
  179. </a>
  180. </li>
  181. <li class="md-nav__item">
  182. <a href="#license" class="md-nav__link">
  183. <span class="md-ellipsis">
  184. License
  185. </span>
  186. </a>
  187. </li>
  188. </ul>
  189. </nav>
  190. </li>
  191. <li class="md-nav__item">
  192. <a href="../release-notes-1.3.1/" class="md-nav__link">
  193. <span class="md-ellipsis">
  194. Release Notes
  195. </span>
  196. </a>
  197. </li>
  198. <li class="md-nav__item md-nav__item--section md-nav__item--nested">
  199. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
  200. <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="">
  201. <span class="md-ellipsis">
  202. Code
  203. </span>
  204. <span class="md-nav__icon md-icon"></span>
  205. </label>
  206. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
  207. <label class="md-nav__title" for="__nav_3">
  208. <span class="md-nav__icon md-icon"></span>
  209. Code
  210. </label>
  211. <ul class="md-nav__list" data-md-scrollfix>
  212. <li class="md-nav__item">
  213. <a href="../documentation/lib/index.md" class="md-nav__link">
  214. <span class="md-ellipsis">
  215. Lib
  216. </span>
  217. </a>
  218. </li>
  219. <li class="md-nav__item">
  220. <a href="../documentation/app/index.md" class="md-nav__link">
  221. <span class="md-ellipsis">
  222. App
  223. </span>
  224. </a>
  225. </li>
  226. </ul>
  227. </nav>
  228. </li>
  229. </ul>
  230. </nav>
  231. </div>
  232. </div>
  233. </div>
  234. <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
  235. <div class="md-sidebar__scrollwrap">
  236. <div class="md-sidebar__inner">
  237. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  238. <label class="md-nav__title" for="__toc">
  239. <span class="md-nav__icon md-icon"></span>
  240. Table of contents
  241. </label>
  242. <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
  243. <li class="md-nav__item">
  244. <a href="#android-tv-test-app" class="md-nav__link">
  245. <span class="md-ellipsis">
  246. Android TV test app
  247. </span>
  248. </a>
  249. </li>
  250. <li class="md-nav__item">
  251. <a href="#stats" class="md-nav__link">
  252. <span class="md-ellipsis">
  253. Stats
  254. </span>
  255. </a>
  256. </li>
  257. <li class="md-nav__item">
  258. <a href="#table-of-contents" class="md-nav__link">
  259. <span class="md-ellipsis">
  260. Table of Contents
  261. </span>
  262. </a>
  263. </li>
  264. <li class="md-nav__item">
  265. <a href="#project-documentation" class="md-nav__link">
  266. <span class="md-ellipsis">
  267. Project documentation
  268. </span>
  269. </a>
  270. </li>
  271. <li class="md-nav__item">
  272. <a href="#description" class="md-nav__link">
  273. <span class="md-ellipsis">
  274. Description
  275. </span>
  276. </a>
  277. </li>
  278. <li class="md-nav__item">
  279. <a href="#compilation" class="md-nav__link">
  280. <span class="md-ellipsis">
  281. Compilation
  282. </span>
  283. </a>
  284. </li>
  285. <li class="md-nav__item">
  286. <a href="#usage" class="md-nav__link">
  287. <span class="md-ellipsis">
  288. Usage
  289. </span>
  290. </a>
  291. </li>
  292. <li class="md-nav__item">
  293. <a href="#credits" class="md-nav__link">
  294. <span class="md-ellipsis">
  295. Credits
  296. </span>
  297. </a>
  298. </li>
  299. <li class="md-nav__item">
  300. <a href="#license" class="md-nav__link">
  301. <span class="md-ellipsis">
  302. License
  303. </span>
  304. </a>
  305. </li>
  306. </ul>
  307. </nav>
  308. </div>
  309. </div>
  310. </div>
  311. <div class="md-content" data-md-component="content">
  312. <article class="md-content__inner md-typeset">
  313. <h1 id="home">Home</h1>
  314. <h2 id="android-tv-test-app">Android TV test app</h2>
  315. <p><a href="https://github.com/mimoccc/tvapp/actions/workflows/build-gradle-project.yml"><img alt="Build &amp; Publish Release APK" src="https://github.com/mimoccc/tvapp/actions/workflows/build-gradle-project.yml/badge.svg" /></a>
  316. <a href="https://github.com/mimoccc/tvapp/releases"><img alt="GitHub all releases" src="https://img.shields.io/github/downloads/mimoccc/tvapp/total" /></a></p>
  317. <h2 id="stats">Stats</h2>
  318. <p><a href="#"><img alt="Last commit" src="https://img.shields.io/github/last-commit/mimoccc/tvapp?color=FFC877" /></a>
  319. <a href="#"><img alt="Lang" src="https://img.shields.io/github/languages/top/mimoccc/tvapp?color=FFC877" /></a>
  320. <a href="#"><img alt="Platform" src="https://img.shields.io/badge/Platform-Android-FFC877.svg" /></a>
  321. <a href="#"><img alt="Min sdk" src="https://img.shields.io/badge/minSdkVersion-21-FFC877.svg" /></a>
  322. <a href="#"><img alt="Languages" src="https://img.shields.io/github/languages/count/mimoccc/tvapp?color=FFC877" /></a>
  323. <a href="#"><img alt="Issues" src="https://img.shields.io/github/issues-raw/mimoccc/tvapp?color=FFC877" /></a>
  324. <a href="#"><img alt="PR's" src="https://img.shields.io/badge/PRs-welcome-FFC877.svg" /></a>
  325. <a href="#"><img alt="Code size" src="https://img.shields.io/github/languages/code-size/mimoccc/tvapp?color=FFC877" /></a>
  326. <a href="#"><img alt="Total lines" src="https://img.shields.io/tokei/lines/github/mimoccc/tvapp?color=FFC877" /></a>
  327. <a href="#"><img alt="Dependencies" src="https://img.shields.io/librariesio/github/mimoccc/tvapp?color=FFC877" /></a></p>
  328. <h2 id="table-of-contents">Table of Contents</h2>
  329. <ul>
  330. <li><a href="#project-documentation">Documentation</a></li>
  331. <li><a href="#description">Description</a></li>
  332. <li><a href="#compilation">Compilation</a></li>
  333. <li><a href="#usage">Usage</a></li>
  334. <li><a href="#credits">Credits</a></li>
  335. <li><a href="#license">License</a></li>
  336. </ul>
  337. <h2 id="project-documentation">Project documentation</h2>
  338. <ul>
  339. <li><a href="https://github.com/mimoccc/tvapp/blob/main/documentation/app/index.md">App code documentation</a></li>
  340. <li><a href="https://github.com/mimoccc/tvapp/blob/main/documentation/lib/index.md">Lib code documentation</a></li>
  341. </ul>
  342. <p>Documentation contains all the classes in project.</p>
  343. <h2 id="description">Description</h2>
  344. <p>Just an test app to skills showcase of coding skills, using</p>
  345. <ul>
  346. <li>Compose</li>
  347. <li>Kodein inject</li>
  348. <li>ViewModels MVVM pattern</li>
  349. <li>Glide</li>
  350. <li>Kotlin</li>
  351. <li>LifeCycle</li>
  352. <li>Solve problems with compose previews</li>
  353. <li>Coroutines</li>
  354. <li>Flow</li>
  355. <li>Navigation</li>
  356. <li>Retrofit</li>
  357. <li>Json serialization (Moshi)</li>
  358. <li>Gradle scripting / configuration</li>
  359. <li>MarkDown editing</li>
  360. <li>Github actions</li>
  361. <li>Shell scripting</li>
  362. <li>Yaml scripting</li>
  363. <li>CI/CD</li>
  364. <li>SyncAdapter</li>
  365. <li>Automatic documentation</li>
  366. <li>Automatic release</li>
  367. <li>Toml dependencies</li>
  368. <li>Gradle plugins</li>
  369. <li>Screenshots auto creation (coming soon)</li>
  370. <li>AI test auto creation (coming soon)</li>
  371. </ul>
  372. <h2 id="compilation">Compilation</h2>
  373. <p>Use Android studio or use command:</p>
  374. <ul>
  375. <li>debug app version :
  376. ./gradlew assembleDebug</li>
  377. <li>release app version :
  378. ./gradlew assembleRelease</li>
  379. </ul>
  380. <h2 id="usage">Usage</h2>
  381. <ul>
  382. <li>Usable on any android device &gt; SDK V 21 - Lollipop</li>
  383. <li>Use as you want. Freeware</li>
  384. </ul>
  385. <h2 id="credits">Credits</h2>
  386. <p>Milan Jurkulak</p>
  387. <h2 id="license">License</h2>
  388. <p>[Freeware] No licenced.</p>
  389. </article>
  390. </div>
  391. <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
  392. </div>
  393. <button type="button" class="md-top md-icon" data-md-component="top" hidden>
  394. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg>
  395. Back to top
  396. </button>
  397. </main>
  398. <footer class="md-footer">
  399. <nav class="md-footer__inner md-grid" aria-label="Footer" >
  400. <a href="../release-notes-1.3.1/" class="md-footer__link md-footer__link--next" aria-label="Next: Release Notes">
  401. <div class="md-footer__title">
  402. <span class="md-footer__direction">
  403. Next
  404. </span>
  405. <div class="md-ellipsis">
  406. Release Notes
  407. </div>
  408. </div>
  409. <div class="md-footer__button md-icon">
  410. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg>
  411. </div>
  412. </a>
  413. </nav>
  414. <div class="md-footer-meta md-typeset">
  415. <div class="md-footer-meta__inner md-grid">
  416. <div class="md-copyright">
  417. Made with
  418. <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
  419. Material for MkDocs
  420. </a>
  421. </div>
  422. </div>
  423. </div>
  424. </footer>
  425. </div>
  426. <div class="md-dialog" data-md-component="dialog">
  427. <div class="md-dialog__inner md-typeset"></div>
  428. </div>
  429. <script id="__config" type="application/json">{"base": "..", "features": ["navigation.sections", "navigation.footer", "navigation.top"], "search": "../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
  430. <script src="../assets/javascripts/bundle.af256bd8.min.js"></script>
  431. <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
  432. document$.subscribe(() => { lightbox.reload() });
  433. </script></body>
  434. </html>