Signed by hanna SSH key fingerprint: SHA256:4g9cWhkAAw8gwqhJUcVbSnGEvdGwklW+1Aa/fMUu59k
crates/web/src/repo.rs +42 −6 data/repos/01/01kydt075vpteqnjzyms8v3vtm.git/HEAD +1 −0 data/repos/01/01kydt075vpteqnjzyms8v3vtm.git/config +9 −0 data/repos/01/01kydt075vpteqnjzyms8v3vtm.git/description +1 −0 data/repos/01/01kydt075vpteqnjzyms8v3vtm.git/hooks/README.sample +5 −0 data/repos/01/01kydt075vpteqnjzyms8v3vtm.git/hooks/post-receive +2 −0 data/repos/01/01kydt075vpteqnjzyms8v3vtm.git/hooks/pre-receive +2 −0 data/repos/01/01kydt075vpteqnjzyms8v3vtm.git/info/exclude +2 −0 crates/web/src/repo.rs +42 −6 1977 . filter ( |r| r. path. starts_with ( & prefix) && !r. path[ prefix. len ( ) ..] . contains ( '/' ) ) 1977 . filter ( |r| r. path. starts_with ( & prefix) && !r. path[ prefix. len ( ) ..] . contains ( '/' ) ) 1978 . collect ( ) ; 1978 . collect ( ) ; 1979 1979 1980 let crumbs = path_crumbs ( & owner. username, & group. path) ; 1980 let body = html ! { 1981 let body = html ! { 1981 h1 { ( owner. username) "/" ( group. path) } 1982 h1 class="repo-slug group-slug" { 1983 ( icon ( Icon :: Folder ) ) 1984 a href={ "/" ( owner. username) } { ( owner. username) } 1985 @for ( name, href) in & crumbs { 1986 span class="slug-sep" { "/" } 1987 a href=( href) { ( name) } 1988 } 1989 } 1982 @if !subgroups. is_empty ( ) { 1990 @if !subgroups. is_empty ( ) { 1983 section { h2 { "Subgroups" } 1991 section class="listing" { h2 { "Subgroups" } 1984 ul class="repo-list" { 1992 ul class="repo-list card" { 1985 @for g in & subgroups { li { a href={ "/" ( owner. username) "/" ( g. path) } { ( g. path) } } } 1993 @for g in & subgroups { 1994 li { 1995 a class="repo-row" href={ "/" ( owner. username) "/" ( g. path) } { 1996 span class="repo-row-name" { ( icon ( Icon :: Folder ) ) span { ( g. path) } } 1997 } 1998 } 1999 } 1986 } 2000 } 1987 } 2001 } 1988 } 2002 } 2246 2260 2247 2261 2248 2262 2263 2264 2265 2266 fn path_crumbs ( owner : & str , path : & str ) -> Vec < ( String , String ) > { 2267 let mut out = Vec :: new ( ) ; 2268 let mut cumulative = String :: new ( ) ; 2269 for seg in path. split ( '/' ) { 2270 if cumulative. is_empty ( ) { 2271 cumulative = seg. to_string ( ) ; 2272 } else { 2273 cumulative = format ! ( "{cumulative}/{seg}" ) ; 2274 } 2275 out. push ( ( seg. to_string ( ) , format ! ( "/{owner}/{cumulative}" ) ) ) ; 2276 } 2277 out 2278 } 2279 2249 pub ( crate ) fn repo_header ( 2280 pub ( crate ) fn repo_header ( 2250 state : & AppState , 2281 state : & AppState , 2251 ctx : & RepoCtx , 2282 ctx : & RepoCtx , 2261 } 2292 } 2262 } 2293 } 2263 } ; 2294 } ; 2295 2296 2297 let crumbs = path_crumbs ( & ctx. owner. username, & ctx. repo. path) ; 2264 html ! { 2298 html ! { 2265 div class="repo-head" { 2299 div class="repo-head" { 2266 h1 class="repo-slug" { 2300 h1 class="repo-slug" { 2267 a href={ "/" ( ctx. owner. username) } { ( ctx. owner. username) } 2301 a href={ "/" ( ctx. owner. username) } { ( ctx. owner. username) } 2268 span class="slug-sep" { "/" } 2302 @for ( name, href) in & crumbs { 2269 a href=( base) { ( ctx. repo. name) } 2303 span class="slug-sep" { "/" } 2304 a href=( href) { ( name) } 2305 } 2270 ( visibility_badge ( ctx. repo. visibility) ) 2306 ( visibility_badge ( ctx. repo. visibility) ) 2271 ( archived_badge ( ctx. repo. archived_at. is_some ( ) ) ) 2307 ( archived_badge ( ctx. repo. archived_at. is_some ( ) ) ) 2272 } 2308 }
data/repos/01/01kydt075vpteqnjzyms8v3vtm.git/HEAD +1 −0 data/repos/01/01kydt075vpteqnjzyms8v3vtm.git/config +9 −0 1 [core] 2 bare = true 3 repositoryformatversion = 0 4 filemode = true 5 logallrefupdates = true 6 [receive] 7 denyNonFastForwards = false 8 [gc] 9 auto = 0
data/repos/01/01kydt075vpteqnjzyms8v3vtm.git/description +1 −0 1 Unnamed repository; edit this file 'description' to name the repository.
data/repos/01/01kydt075vpteqnjzyms8v3vtm.git/hooks/README.sample +5 −0 data/repos/01/01kydt075vpteqnjzyms8v3vtm.git/hooks/post-receive +2 −0 1 2 exec "/nix/store/y5fybzdl01v4vgfy642hi70b83s976cq-fabrica-0.1.0/bin/.fabrica-wrapped" hook post-receive
data/repos/01/01kydt075vpteqnjzyms8v3vtm.git/hooks/pre-receive +2 −0 data/repos/01/01kydt075vpteqnjzyms8v3vtm.git/info/exclude +2 −0 1 # File patterns to ignore; see `git help ignore` for more information. 2 # Lines that start with '#' are comments.