Attic is a cozy space with lofty ambitions. attic.social
11
fork

Configure Feed

Select the types of activity you want to include in your feed.

setup css

+125 -2
+1
.gitignore
··· 6 6 !src/app.html 7 7 !src/**/*.ts 8 8 !src/**/*.svelte 9 + !src/css/**/*.css 9 10 !src/routes/favicon.ico 10 11 !src/routes/.well-known 11 12 !src/routes/.well-known/jwks.json
+118
src/css/base/reset.css
··· 1 + *, 2 + *::after, 3 + *::before { 4 + box-sizing: border-box; 5 + margin: 0; 6 + padding: 0; 7 + } 8 + 9 + :where(html) { 10 + hanging-punctuation: first allow-end last; 11 + interpolate-size: allow-keywords; 12 + scroll-behavior: smooth; 13 + scrollbar-gutter: stable; 14 + text-size-adjust: none; 15 + -webkit-text-size-adjust: none; 16 + -webkit-tap-highlight-color: transparent; 17 + -webkit-font-smoothing: antialiased; 18 + } 19 + 20 + :where(html.translated-rtl) { 21 + direction: rtl; 22 + } 23 + 24 + @media (prefers-reduced-motion: reduce) { 25 + :where(html) { 26 + scroll-behavior: auto; 27 + } 28 + } 29 + 30 + :where(body) { 31 + min-block-size: 100svb; 32 + min-inline-size: 300px; 33 + } 34 + 35 + :where(canvas, img, picture, svg, video) { 36 + block-size: auto; 37 + border: none; 38 + display: block; 39 + max-inline-size: 100%; 40 + } 41 + 42 + :where(button, input, progress, select, textarea) { 43 + appearance: none; 44 + background: transparent; 45 + border: none; 46 + color: inherit; 47 + font: inherit; 48 + hanging-punctuation: none; 49 + line-height: inherit; 50 + text-align: start; 51 + touch-action: manipulation; 52 + } 53 + 54 + :where(button) { 55 + cursor: pointer; 56 + user-select: none; 57 + } 58 + 59 + :where(textarea) { 60 + resize: vertical; 61 + scrollbar-gutter: stable; 62 + } 63 + 64 + :where(textarea:not([rows])) { 65 + field-sizing: content; 66 + } 67 + 68 + :where(fieldset, iframe) { 69 + border: none; 70 + } 71 + 72 + :where(p, li, h1, h2, h3, h4, h5, h6) { 73 + overflow-wrap: break-word; 74 + text-wrap: pretty; 75 + } 76 + 77 + :where(abbr[title]) { 78 + border: none; 79 + text-decoration: none; 80 + } 81 + 82 + :where(cite) { 83 + font-style: inherit; 84 + } 85 + 86 + :where(small) { 87 + font-size: inherit; 88 + } 89 + 90 + :where(li, ol, ul) { 91 + list-style: none; 92 + } 93 + 94 + :where(dialog, [popover]) { 95 + background: transparent; 96 + border: none; 97 + color: inherit; 98 + margin: auto; 99 + max-block-size: none; 100 + max-inline-size: none; 101 + position: fixed; 102 + } 103 + 104 + :where(dialog, dialog::backdrop) { 105 + overscroll-behavior: contain; 106 + } 107 + 108 + :where([popover]) { 109 + inset: auto; 110 + } 111 + 112 + :where(dialog:not([open], [popover]), [popover]:not(:popover-open)) { 113 + display: none; 114 + } 115 + 116 + :where([hidden]:not([hidden="until-found"])) { 117 + display: none !important; 118 + }
+3
src/css/main.css
··· 1 + @layer base, components, utility; 2 + 3 + @import "base/reset.css" layer(base);
+2
src/routes/+layout.svelte
··· 1 1 <script lang="ts"> 2 + import "$css/main.css"; 3 + 2 4 let { children } = $props(); 3 5 </script> 4 6
-2
static/robots.txt
··· 1 - User-agent: * 2 - Disallow: /
+1
svelte.config.js
··· 6 6 kit: { 7 7 adapter: adapter(), 8 8 alias: { 9 + $css: "src/css", 9 10 $lexicons: "src/lexicons", 10 11 $static: "static", 11 12 },