-
-
Notifications
You must be signed in to change notification settings - Fork 179
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
package com.reposilite.maven.infrastructure | ||
|
||
import com.reposilite.storage.api.DirectoryInfo | ||
import com.reposilite.storage.api.FileType | ||
|
||
internal fun createDirectoryIndexPage(basePath: String, uri: String, directory: DirectoryInfo): String { | ||
val formattedUri = basePath + uri.removePrefix("/") | ||
Check warning on line 7 in reposilite-backend/src/main/kotlin/com/reposilite/maven/infrastructure/DirectoryIndexPage.kt Codecov / codecov/patchreposilite-backend/src/main/kotlin/com/reposilite/maven/infrastructure/DirectoryIndexPage.kt#L7
|
||
|
||
// language=html | ||
return """ | ||
Check warning on line 10 in reposilite-backend/src/main/kotlin/com/reposilite/maven/infrastructure/DirectoryIndexPage.kt Codecov / codecov/patchreposilite-backend/src/main/kotlin/com/reposilite/maven/infrastructure/DirectoryIndexPage.kt#L10
|
||
<!DOCTYPE html> | ||
<html lang='en'> | ||
<head> | ||
<title>Index of $formattedUri</title> | ||
Check warning on line 14 in reposilite-backend/src/main/kotlin/com/reposilite/maven/infrastructure/DirectoryIndexPage.kt Codecov / codecov/patchreposilite-backend/src/main/kotlin/com/reposilite/maven/infrastructure/DirectoryIndexPage.kt#L14
|
||
<meta charset='utf-8'> | ||
<style> | ||
li { | ||
padding: 2px 10px; | ||
} | ||
.back::marker { | ||
content: '🔙'; | ||
} | ||
.directory::marker { | ||
content: '📁'; | ||
} | ||
.file::marker { | ||
content: '📄'; | ||
} | ||
</style> | ||
</head> | ||
<body> | ||
<h1>Index of $formattedUri</h1> | ||
Check warning on line 32 in reposilite-backend/src/main/kotlin/com/reposilite/maven/infrastructure/DirectoryIndexPage.kt Codecov / codecov/patchreposilite-backend/src/main/kotlin/com/reposilite/maven/infrastructure/DirectoryIndexPage.kt#L32
|
||
<ul> | ||
<li class='back'> | ||
<a href='${formattedUri.substringBeforeLast("/")}'>Parent Directory</a> | ||
Check warning on line 35 in reposilite-backend/src/main/kotlin/com/reposilite/maven/infrastructure/DirectoryIndexPage.kt Codecov / codecov/patchreposilite-backend/src/main/kotlin/com/reposilite/maven/infrastructure/DirectoryIndexPage.kt#L35
|
||
</li> | ||
${directory.files.flatMap { | ||
listOf( | ||
"<li class='${it.type.name.lowercase()}'>", | ||
Check warning on line 39 in reposilite-backend/src/main/kotlin/com/reposilite/maven/infrastructure/DirectoryIndexPage.kt Codecov / codecov/patchreposilite-backend/src/main/kotlin/com/reposilite/maven/infrastructure/DirectoryIndexPage.kt#L37-L39
|
||
"<a href='$formattedUri/${it.name}'>${it.name}${if (it.type == FileType.DIRECTORY) "/" else ""}</a>", | ||
"</li>" | ||
) | ||
}.joinToString(separator = "")} | ||
Check warning on line 43 in reposilite-backend/src/main/kotlin/com/reposilite/maven/infrastructure/DirectoryIndexPage.kt Codecov / codecov/patchreposilite-backend/src/main/kotlin/com/reposilite/maven/infrastructure/DirectoryIndexPage.kt#L41-L43
|
||
</ul> | ||
</body> | ||
</html> | ||
""".trimIndent() | ||
Check warning on line 47 in reposilite-backend/src/main/kotlin/com/reposilite/maven/infrastructure/DirectoryIndexPage.kt Codecov / codecov/patchreposilite-backend/src/main/kotlin/com/reposilite/maven/infrastructure/DirectoryIndexPage.kt#L47
|
||
} |