Rename DirectoriesFirst option to DirectorySubdirsFirst and document in README.

This commit is contained in:
Solderpunk 2023-02-05 14:35:29 +01:00
parent 67d509a234
commit 8446885f56
4 changed files with 14 additions and 9 deletions

View File

@ -247,6 +247,10 @@ directory listing:
* `DirectorySort`: A string specifying how to sort files in
automatically generated directory listings. Must be one of "Name",
"Size" or "Time" (default value "Name").
* `DirectorySubdirsFirst` (boolean): if true, list subdirectories of
the directory being listed before files. Subdirs and files will be
sorted within their respective categories according to
`DirectorySort` (default value false).
* `DirectoryReverse` (boolean): if true, automatically generated
directory listings will list files in descending order of whatever
`DirectorySort` is set to (default value false).
@ -373,6 +377,7 @@ other settings in `.molly` files will be ignored:
* `DefaultLang`
* `DefaultEncoding`
* `DirectorySort`
* `DirectorySubdirsFirst`
* `DirectoryReverse`
* `DirectoryTitles`
* `GeminiExt`

View File

@ -29,7 +29,7 @@ type Config struct {
SCGIPaths map[string]string
CertificateZones map[string][]string
DirectorySort string
DirectoriesFirst bool
DirectorySubdirsFirst bool
DirectoryReverse bool
DirectoryTitles bool
}
@ -43,7 +43,7 @@ type MollyFile struct {
DefaultLang string
DefaultEncoding string
DirectorySort string
DirectoriesFirst bool
DirectorySubdirsFirst bool
DirectoryReverse bool
DirectoryTitles bool
}
@ -69,7 +69,7 @@ func getConfig(filename string) (Config, error) {
config.CGIPaths = make([]string, 0)
config.SCGIPaths = make(map[string]string)
config.DirectorySort = "Name"
config.DirectoriesFirst = false
config.DirectorySubdirsFirst = false
// Return defaults if no filename given
if filename == "" {
@ -147,7 +147,7 @@ func parseMollyFiles(path string, config *Config, errorLog *log.Logger) {
mollyFile.DefaultLang = config.DefaultLang
mollyFile.DefaultEncoding = config.DefaultEncoding
mollyFile.DirectorySort = config.DirectorySort
mollyFile.DirectoriesFirst = config.DirectoriesFirst
mollyFile.DirectorySubdirsFirst = config.DirectorySubdirsFirst
mollyFile.DirectoryReverse = config.DirectoryReverse
mollyFile.DirectoryTitles = config.DirectoryTitles
// Build list of directories to check
@ -186,7 +186,7 @@ func parseMollyFiles(path string, config *Config, errorLog *log.Logger) {
config.DefaultLang = mollyFile.DefaultLang
config.DefaultEncoding = mollyFile.DefaultEncoding
config.DirectorySort = mollyFile.DirectorySort
config.DirectoriesFirst = mollyFile.DirectoriesFirst
config.DirectorySubdirsFirst = mollyFile.DirectorySubdirsFirst
config.DirectoryReverse = mollyFile.DirectoryReverse
config.DirectoryTitles = mollyFile.DirectoryTitles
for key, value := range mollyFile.TempRedirects {

View File

@ -42,7 +42,7 @@ func generateDirectoryListing(URL *url.URL, path string, config Config) (string,
i, j = j, i
}
if config.DirectorySort == "Name" {
if config.DirectoriesFirst {
if config.DirectorySubdirsFirst {
if files[i].IsDir() {
if files[j].IsDir() {
return files[i].Name() < files[j].Name()
@ -58,7 +58,7 @@ func generateDirectoryListing(URL *url.URL, path string, config Config) (string,
}
return files[i].Name() < files[j].Name()
} else if config.DirectorySort == "Size" {
if config.DirectoriesFirst {
if config.DirectorySubdirsFirst {
if files[i].IsDir() {
if files[j].IsDir() {
return files[i].Size() < files[j].Size()
@ -74,7 +74,7 @@ func generateDirectoryListing(URL *url.URL, path string, config Config) (string,
}
return files[i].Size() < files[j].Size()
} else if config.DirectorySort == "Time" {
if config.DirectoriesFirst {
if config.DirectorySubdirsFirst {
if files[i].IsDir() {
if files[j].IsDir() {
return files[i].ModTime().Before(files[j].ModTime())

View File

@ -15,7 +15,7 @@
## Directory listing
#
#DirectorySort = "Time"
#DirectoriesFirst = false
#DirectorySubdirsFirst = false
#DirectoryReverse = true
#DirectoryTitles = true
#