rastrillo / fiesta Public

Clone
git clone https://amadan.net/rastrillo/fiesta

Plain git — no account needed to clone.

Download

Download this file

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">&lt;link rel="stylesheet" href="{{.Origin}}/1/fiesta.css"&gt;</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 &amp; 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">&lt;button rst-btn="primary"&gt;</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