| 1 | <!doctype html> |
| 2 | <html lang="{{.Lang}}" dir="{{.Dir}}" data-rst-scheme-store="local"> |
| 3 | <head> |
| 4 | <meta charset="utf-8"> |
| 5 | <meta name="viewport" content="width=device-width, initial-scale=1"> |
| 6 | <title>{{.T "title"}}</title> |
| 7 | <meta name="description" content="{{.T "description"}}"> |
| 8 | {{range .Languages}}<link rel="alternate" hreflang="{{.Code}}" href="{{$.Origin}}{{.URL}}"> |
| 9 | {{end}}<link rel="alternate" hreflang="x-default" href="{{.Origin}}/"> |
| 10 | <!-- The visitor's theme, before first paint: day, plain or signal from |
| 11 | localStorage, day for anything else or a storage that throws. One |
| 12 | parser-inserted stylesheet, which blocks rendering until it |
| 13 | arrives, so the page never paints in Day and then changes. --> |
| 14 | <script> |
| 15 | (function () { |
| 16 | var theme = "day"; |
| 17 | try { |
| 18 | var stored = localStorage.getItem("fiesta-theme"); |
| 19 | if (stored === "plain" || stored === "signal") theme = stored; |
| 20 | } catch (e) {} |
| 21 | document.write('<link rel="stylesheet" id="site-theme" href="/1/fiesta' + (theme === "day" ? "" : "-" + theme) + '.css">'); |
| 22 | })(); |
| 23 | </script> |
| 24 | <noscript><link rel="stylesheet" href="/1/fiesta.css"></noscript> |
| 25 | <link rel="stylesheet" href="/static/site.css"> |
| 26 | <script src="/1/fiesta.js"></script> |
| 27 | <script defer src="/1/light.js"></script> |
| 28 | <script defer src="/1/anchor.js"></script> |
| 29 | <script defer src="/1/copy.js"></script> |
| 30 | <script defer src="/static/site.js"></script> |
| 31 | <script defer src="/static/bunting.js"></script> |
| 32 | </head> |
| 33 | <body> |
| 34 | <a class="site-skip" href="#main">{{.T "skip"}}</a> |
| 35 | |
| 36 | <header class="site-top" id="top"> |
| 37 | <b class="site-brand" translate="no">Fiesta</b> |
| 38 | <nav class="site-nav" aria-label="{{.T "nav.label"}}"> |
| 39 | <a href="{{.DesignSystem}}">{{.T "nav.design"}}</a> |
| 40 | <a href="#themes">{{.T "nav.themes"}}</a> |
| 41 | <a href="https://rastrillo.org" translate="no">Rastrillo</a> |
| 42 | <details rst-dropdown rst-locale name="rst-menus" class="site-lang"> |
| 43 | <summary>{{.T "lang.label"}}<span rst-caret aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></span></summary> |
| 44 | <div rst-dropdown-menu translate="no"> |
| 45 | {{range .Languages}}<a href="{{.URL}}" lang="{{.Code}}"{{if .Current}} aria-current="page"{{end}}>{{.Name}}</a> |
| 46 | {{end}}</div> |
| 47 | </details> |
| 48 | <a rst-btn="sm" href="#install">{{.T "nav.start"}}</a> |
| 49 | </nav> |
| 50 | </header> |
| 51 | |
| 52 | <div class="site-bunting" id="bunting" aria-hidden="true"> |
| 53 | {{.Bunting}} |
| 54 | </div> |
| 55 | |
| 56 | <main id="main"> |
| 57 | <div class="site-hero"> |
| 58 | <h1 id="headline">{{.T "headline"}}</h1> |
| 59 | <p class="site-lede">{{.T "lede"}}</p> |
| 60 | <div class="site-install" id="install"> |
| 61 | <p class="site-inote">{{.T "install"}}</p> |
| 62 | <div rst-snippet><code dir="ltr" translate="no"><link rel="stylesheet" href="{{.Origin}}/1/fiesta.css"></code><button rst-btn="sm" type="button" rst-snippet-copy hidden data-rst-copy-done="{{.T "copied"}}" data-rst-copy-failed="{{.T "copy.failed"}}">{{.T "copy"}}</button><span rst-snippet-status role="status"></span></div> |
| 63 | </div> |
| 64 | <div class="site-cta" id="actions"><a rst-btn="primary" href="{{.DesignSystem}}">{{.T "cta.see"}}</a><a rst-btn href="#themes">{{.T "cta.themes"}}</a></div> |
| 65 | </div> |
| 66 | |
| 67 | <div class="site-stage" id="themes"> |
| 68 | <div class="site-themebar" hidden> |
| 69 | <span class="site-themelabel" id="site-theme-label">{{.T "theme.label"}}</span> |
| 70 | <div rst-seg-tabs role="group" aria-labelledby="site-theme-label"><button type="button" data-site-theme="day" aria-pressed="true" translate="no">{{.T "theme.day"}}</button><button type="button" data-site-theme="plain" aria-pressed="false" translate="no">{{.T "theme.plain"}}</button><button type="button" data-site-theme="signal" aria-pressed="false" translate="no">{{.T "theme.signal"}}</button></div> |
| 71 | <details rst-dropdown rst-scheme name="rst-menus"> |
| 72 | <summary><svg class="icon site-scheme-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"/></svg><span class="site-scheme-name">{{.T "scheme.label"}}</span><span rst-caret aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg></span></summary> |
| 73 | <div rst-dropdown-menu role="group" aria-label="{{.T "scheme.label"}}"> |
| 74 | <form method="post"><input type="hidden" name="scheme" value="light"><input type="hidden" name="return" value="/"><button type="submit">{{.T "scheme.light"}}</button></form> |
| 75 | <form method="post"><input type="hidden" name="scheme" value="dark"><input type="hidden" name="return" value="/"><button type="submit">{{.T "scheme.dark"}}</button></form> |
| 76 | <form method="post"><input type="hidden" name="scheme" value="system"><input type="hidden" name="return" value="/"><button type="submit" aria-current="true">{{.T "scheme.system"}}</button></form> |
| 77 | </div> |
| 78 | </details> |
| 79 | </div> |
| 80 | <div class="site-window" id="sample" role="region" aria-label="{{.T "sample.label"}}"> |
| 81 | <div class="site-bar"><i></i><i></i><i></i></div> |
| 82 | <div rst-side> |
| 83 | <nav rst-side-nav aria-label="{{.T "sample.nav.label"}}"><a href="#pane-overview" aria-current="page">{{.T "sample.overview"}}</a><a href="#pane-guests">{{.T "sample.guests"}}</a><a href="#pane-menu">{{.T "sample.menu"}}</a><a href="#pane-music">{{.T "sample.music"}}</a><a href="#pane-settings">{{.T "sample.settings"}}</a></nav> |
| 84 | <div> |
| 85 | <section class="site-pane" id="pane-overview"> |
| 86 | <h2>{{.T "sample.overview"}}</h2> |
| 87 | <div rst-stats="pairs"> |
| 88 | <div rst-stat><span rst-stat-label>{{.T "sample.guests"}}</span><span rst-stat-num translate="no">48</span><span rst-stat-delta rst-tone="positive" translate="no">+6</span></div> |
| 89 | <div rst-stat><span rst-stat-label>{{.T "sample.coming"}}</span><span rst-stat-num translate="no">31</span></div> |
| 90 | <div rst-stat><span rst-stat-label>{{.T "sample.dishes"}}</span><span rst-stat-num translate="no">12</span></div> |
| 91 | <div rst-stat><span rst-stat-label>{{.T "sample.songs"}}</span><span rst-stat-num translate="no">64</span></div> |
| 92 | </div> |
| 93 | <div rst-card><h3>{{.T "sample.next"}}</h3><p>{{.T "sample.next.body"}}</p></div> |
| 94 | </section> |
| 95 | <section class="site-pane" id="pane-guests"> |
| 96 | <h2>{{.T "sample.guests"}}</h2> |
| 97 | <form class="site-search" role="search" method="get" action="#sample" data-site-done="{{.T "sample.searched"}}"> |
| 98 | <div rst-search><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg><input type="search" name="q" placeholder="{{.T "sample.search"}}" aria-label="{{.T "sample.search"}}"></div> |
| 99 | <p class="site-live" role="status"></p> |
| 100 | </form> |
| 101 | <div rst-list> |
| 102 | <div rst-row><span rst-row-lead data-lead="positive" aria-hidden="true" translate="no">AR</span><span rst-row-main><a href="#" translate="no">Ana Ruiz</a><small rst-row-sub>{{.T "sample.guest.plusone"}}</small></span><span rst-status="inline" rst-tone="positive">{{.T "sample.coming"}}</span></div> |
| 103 | <div rst-row><span rst-row-lead aria-hidden="true" translate="no">TB</span><span rst-row-main><a href="#" translate="no">Tom Byrne</a><small rst-row-sub>{{.T "sample.guest.noreply"}}</small></span><span rst-status="inline" rst-tone="neutral">{{.T "sample.invited"}}</span></div> |
| 104 | <div rst-row><span rst-row-lead data-lead="positive" aria-hidden="true" translate="no">MC</span><span rst-row-main><a href="#" translate="no">Mei Chen</a><small rst-row-sub>{{.T "sample.guest.vegetarian"}}</small></span><span rst-status="inline" rst-tone="positive">{{.T "sample.coming"}}</span></div> |
| 105 | </div> |
| 106 | <label rst-switch id="sample-reminders"><input type="checkbox" name="reminders" checked><span rst-switch-track aria-hidden="true"></span> <span>{{.T "sample.reminders"}}</span></label> |
| 107 | <p class="site-acts"><button rst-btn="primary" type="button">{{.T "sample.invite"}}</button> <button rst-btn type="button">{{.T "sample.export"}}</button></p> |
| 108 | </section> |
| 109 | <section class="site-pane" id="pane-menu"> |
| 110 | <h2>{{.T "sample.menu"}}</h2> |
| 111 | <nav rst-seg-tabs aria-label="{{.T "sample.courses"}}"><a href="#course-starters" data-site-course aria-current="page">{{.T "sample.starters"}}</a><a href="#course-mains" data-site-course>{{.T "sample.mains"}}</a><a href="#course-desserts" data-site-course>{{.T "sample.desserts"}}</a></nav> |
| 112 | <div rst-list class="site-course" id="course-starters"> |
| 113 | <div rst-row><span rst-row-main><a href="#" translate="no">Bruschetta</a><small rst-row-sub>{{.T "sample.dish.vegetarian"}}</small></span><span class="site-price" translate="no">€6</span></div> |
| 114 | <div rst-row><span rst-row-main><a href="#" translate="no">Patatas bravas</a><small rst-row-sub>{{.T "sample.dish.glutenfree"}}</small></span><span class="site-price" translate="no">€5</span></div> |
| 115 | </div> |
| 116 | <div rst-list class="site-course" id="course-mains"> |
| 117 | <div rst-row><span rst-row-main><a href="#" translate="no">Paella</a><small rst-row-sub>{{.T "sample.dish.glutenfree"}}</small></span><span class="site-price" translate="no">€14</span></div> |
| 118 | <div rst-row><span rst-row-main><a href="#" translate="no">Risotto</a><small rst-row-sub>{{.T "sample.dish.vegetarian"}}</small></span><span class="site-price" translate="no">€12</span></div> |
| 119 | </div> |
| 120 | <div rst-list class="site-course" id="course-desserts"> |
| 121 | <div rst-row><span rst-row-main><a href="#" translate="no">Tiramisù</a><small rst-row-sub>{{.T "sample.dish.nuts"}}</small></span><span class="site-price" translate="no">€6</span></div> |
| 122 | <div rst-row><span rst-row-main><a href="#" translate="no">Churros</a><small rst-row-sub>{{.T "sample.dish.vegetarian"}}</small></span><span class="site-price" translate="no">€5</span></div> |
| 123 | </div> |
| 124 | </section> |
| 125 | <section class="site-pane" id="pane-music"> |
| 126 | <h2>{{.T "sample.music"}}</h2> |
| 127 | <div rst-list> |
| 128 | <div rst-row><span rst-row-main><a href="#" translate="no">Dancing Queen</a><small rst-row-sub translate="no">ABBA</small></span><span rst-status="inline" rst-tone="positive">{{.T "sample.playing"}}</span><span class="site-dur" translate="no">3:51</span></div> |
| 129 | <div rst-row><span rst-row-main><a href="#" translate="no">La Bamba</a><small rst-row-sub translate="no">Ritchie Valens</small></span><span class="site-dur" translate="no">2:06</span></div> |
| 130 | <div rst-row><span rst-row-main><a href="#" translate="no">September</a><small rst-row-sub translate="no">Earth, Wind & Fire</small></span><span class="site-dur" translate="no">3:35</span></div> |
| 131 | <div rst-row><span rst-row-main><a href="#" translate="no">Despacito</a><small rst-row-sub translate="no">Luis Fonsi</small></span><span class="site-dur" translate="no">3:48</span></div> |
| 132 | </div> |
| 133 | <label rst-switch><input type="checkbox" name="shuffle" checked><span rst-switch-track aria-hidden="true"></span> <span>{{.T "sample.shuffle"}}</span></label> |
| 134 | <label rst-switch><input type="checkbox" name="fade"><span rst-switch-track aria-hidden="true"></span> <span>{{.T "sample.fade"}}</span></label> |
| 135 | </section> |
| 136 | <section class="site-pane" id="pane-settings"> |
| 137 | <h2>{{.T "sample.settings"}}</h2> |
| 138 | <form rst-form method="get" action="#sample" data-site-done="{{.T "sample.saved"}}"> |
| 139 | <div rst-field><label rst-field-label for="party-name">{{.T "sample.partyname"}}</label><input rst-input type="text" id="party-name" name="name" value="Ana's 30th" translate="no"></div> |
| 140 | <div rst-field><label rst-field-label for="party-tz">{{.T "sample.timezone"}}</label><select rst-input id="party-tz" name="tz" translate="no"><option>Europe/Dublin</option><option selected>Europe/Madrid</option><option>America/New_York</option><option>Asia/Tokyo</option></select></div> |
| 141 | <label rst-switch><input type="checkbox" name="public" checked><span rst-switch-track aria-hidden="true"></span> <span>{{.T "sample.public"}}</span></label> |
| 142 | <label rst-switch><input type="checkbox" name="notify"><span rst-switch-track aria-hidden="true"></span> <span>{{.T "sample.email"}}</span></label> |
| 143 | <div rst-form-foot><button rst-btn="primary" type="submit">{{.T "sample.save"}}</button><button rst-btn type="reset">{{.T "sample.cancel"}}</button></div> |
| 144 | <p class="site-live" role="status"></p> |
| 145 | </form> |
| 146 | </section> |
| 147 | </div> |
| 148 | </div> |
| 149 | </div> |
| 150 | </div> |
| 151 | |
| 152 | <div class="site-why" id="reasons"> |
| 153 | <div rst-card><svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg><h2>{{.T "why.link.title"}}</h2><p>{{.T "why.link.body"}}</p></div> |
| 154 | <div rst-card><svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"/></svg><h2>{{.T "why.dark.title"}}</h2><p>{{.T "why.dark.body"}}</p></div> |
| 155 | <div rst-card><svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg><h2>{{.T "why.a11y.title"}}</h2><p>{{.T "why.a11y.body"}}</p></div> |
| 156 | <div rst-card><svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 3v3"/><path d="m18.36 5.64-2.12 2.12"/><path d="M21 12h-3"/><path d="M5.64 5.64l2.12 2.12"/><path d="M3 12h3"/><circle cx="12" cy="15" r="4"/></svg><h2>{{.T "why.depth.title"}}</h2><p>{{.T "why.depth.body"}}</p></div> |
| 157 | <div rst-card><svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m16 18 6-6-6-6"/><path d="m8 6-6 6 6 6"/></svg><h2>{{.T "why.attrs.title"}}</h2><p><code dir="ltr" translate="no"><button rst-btn="primary"></code> {{.T "why.attrs.body"}}</p></div> |
| 158 | <div rst-card><svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m5 8 6 6"/><path d="m4 14 6-6 2-3"/><path d="M2 5h12"/><path d="M7 2h1"/><path d="m22 22-5-10-5 10"/><path d="M14 18h6"/></svg><h2>{{.T "why.rtl.title"}}</h2><p>{{.T "why.rtl.body"}}</p></div> |
| 159 | </div> |
| 160 | </main> |
| 161 | |
| 162 | <footer class="site-foot" id="footer"> |
| 163 | <dl class="site-facts"> |
| 164 | <div><dt>{{.T "foot.licence"}}</dt><dd translate="no">MPL-2.0</dd></div> |
| 165 | <div><dt>{{.T "foot.version"}}</dt><dd translate="no">{{.Version}}</dd></div> |
| 166 | <div><dt>{{.T "foot.source"}}</dt><dd><a href="https://amadan.net/rastrillo/fiesta" translate="no">amadan.net/rastrillo/fiesta</a></dd></div> |
| 167 | </dl> |
| 168 | <div class="site-foot-cols"> |
| 169 | <div class="site-foot-brand"><b translate="no">Fiesta</b><p>{{.T "foot.tagline"}}</p></div> |
| 170 | <nav aria-labelledby="site-fh-fiesta"><h2 id="site-fh-fiesta" translate="no">Fiesta</h2><ul> |
| 171 | <li><a href="{{.DesignSystem}}">{{.T "nav.design"}}</a></li> |
| 172 | <li><a href="#themes">{{.T "nav.themes"}}</a></li> |
| 173 | <li><a href="#install">{{.T "nav.start"}}</a></li> |
| 174 | <li><a href="https://amadan.net/rastrillo/fiesta">{{.T "foot.source"}}</a></li> |
| 175 | </ul></nav> |
| 176 | <nav aria-labelledby="site-fh-rastrillo"><h2 id="site-fh-rastrillo" translate="no">Rastrillo</h2><ul> |
| 177 | <li><a href="https://rastrillo.org" translate="no">rastrillo.org</a></li> |
| 178 | <li><a href="https://rastrillo.org/docs/">{{.T "foot.docs"}}</a></li> |
| 179 | <li><a href="https://amadan.net/rastrillo/rastrillo">{{.T "foot.source"}}</a></li> |
| 180 | </ul></nav> |
| 181 | <nav aria-labelledby="site-fh-carlos"><h2 id="site-fh-carlos" translate="no">CARLOS</h2><ul> |
| 182 | <li><a href="https://carlosframework.com">{{.T "foot.carlos.framework"}}</a></li> |
| 183 | <li><a href="https://carlosframework.com/platform/">{{.T "foot.carlos.platform"}}</a></li> |
| 184 | <li><a href="https://carlosframework.com/start/">{{.T "foot.carlos.start"}}</a></li> |
| 185 | <li><a href="https://carloku.com" translate="no">Carloku</a></li> |
| 186 | </ul></nav> |
| 187 | <nav aria-labelledby="site-fh-principles"><h2 id="site-fh-principles">{{.T "foot.principles"}}</h2><ul> |
| 188 | <li><a href="https://11factor.org" translate="no">{{.T "foot.eleven"}}</a></li> |
| 189 | <li><a href="https://carlosframework.com/letters/">{{.T "foot.letters"}}</a></li> |
| 190 | <li><a href="https://carlosframework.com/trust/">{{.T "foot.trust"}}</a></li> |
| 191 | </ul></nav> |
| 192 | </div> |
| 193 | </footer> |
| 194 | </body> |
| 195 | </html> |
| 196 | |