Shows how to get repo export and walk it in TypeScript walktherepo.wisp.place

More changes

+3 -93
+3 -1
index.html
··· 4 4 <meta charset="UTF-8" /> 5 5 <link rel="icon" type="image/svg+xml" href="/vite.svg" /> 6 6 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 7 - <title>repo-walk-example</title> 7 + <title>Repo Walking</title> 8 + <meta name="description" content="Walk the repo, count the steps."> 9 + <meta name="og:description" content="Walk the repo, count the steps."> 8 10 </head> 9 11 <body> 10 12 <div id="app"></div>
-46
lexicons/com/atproto/sync/getRepo.json
··· 1 - { 2 - "id": "com.atproto.sync.getRepo", 3 - "defs": { 4 - "main": { 5 - "type": "query", 6 - "errors": [ 7 - { 8 - "name": "RepoNotFound" 9 - }, 10 - { 11 - "name": "RepoTakendown" 12 - }, 13 - { 14 - "name": "RepoSuspended" 15 - }, 16 - { 17 - "name": "RepoDeactivated" 18 - } 19 - ], 20 - "output": { 21 - "encoding": "application/vnd.ipld.car" 22 - }, 23 - "parameters": { 24 - "type": "params", 25 - "required": [ 26 - "did" 27 - ], 28 - "properties": { 29 - "did": { 30 - "type": "string", 31 - "format": "did", 32 - "description": "The DID of the repo." 33 - }, 34 - "since": { 35 - "type": "string", 36 - "format": "tid", 37 - "description": "The revision ('rev') of the repo to create a diff from." 38 - } 39 - } 40 - }, 41 - "description": "Download a repository export as CAR file. Optionally only a 'diff' since a previous revision. Does not require auth; implemented by PDS." 42 - } 43 - }, 44 - "$type": "com.atproto.lexicon.schema", 45 - "lexicon": 1 46 - }
-46
src/lib/RepoStats.svelte
··· 126 126 </ol> 127 127 {/if} 128 128 </div> 129 - 130 - <style> 131 - div::after { 132 - font: 800 40px system-ui; 133 - content: counter(count); 134 - animation: counter 5s linear infinite alternate; 135 - counter-reset: count 0; 136 - } 137 - 138 - @keyframes counter { 139 - 0% { 140 - counter-increment: count 0; 141 - } 142 - 10% { 143 - counter-increment: count 1; 144 - } 145 - 20% { 146 - counter-increment: count 2; 147 - } 148 - 30% { 149 - counter-increment: count 3; 150 - } 151 - 40% { 152 - counter-increment: count 4; 153 - } 154 - 50% { 155 - counter-increment: count 5; 156 - } 157 - 60% { 158 - counter-increment: count 6; 159 - } 160 - 70% { 161 - counter-increment: count 7; 162 - } 163 - 80% { 164 - counter-increment: count 8; 165 - } 166 - 90% { 167 - counter-increment: count 9; 168 - } 169 - 100% { 170 - counter-increment: count 10; 171 - } 172 - } 173 - 174 - </style>