Allow overriding directory listing options with .molly files.

This commit is contained in:
Solderpunk 2020-06-27 23:44:15 +02:00
parent 7066bad570
commit a07645dd2e
2 changed files with 18 additions and 10 deletions

View File

@ -27,6 +27,9 @@ type Config struct {
type MollyFile struct {
GeminiExt string
DefaultLang string
DirectorySort string
DirectoryReverse bool
DirectoryTitles bool
}
func getConfig(filename string) (Config, error) {

View File

@ -241,8 +241,14 @@ func parseMollyFiles(path string, info os.FileInfo, config *Config) {
dirs = append(dirs, subpath)
path = subpath
}
// Parse files
// Initialise MollyFile using main Config
var mollyFile MollyFile
mollyFile.GeminiExt = config.GeminiExt
mollyFile.DefaultLang = config.DefaultLang
mollyFile.DirectorySort = config.DirectorySort
mollyFile.DirectoryReverse = config.DirectoryReverse
mollyFile.DirectoryTitles = config.DirectoryTitles
// Parse files
for i := len(dirs) - 1; i >= 0; i-- {
dir := dirs[i]
mollyPath := filepath.Join(dir, ".molly")
@ -254,14 +260,13 @@ func parseMollyFiles(path string, info os.FileInfo, config *Config) {
if err != nil {
continue
}
if mollyFile.GeminiExt != "" {
// Overwrite main Config using MollyFile
config.GeminiExt = mollyFile.GeminiExt
}
if mollyFile.DefaultLang != "" {
config.DefaultLang = mollyFile.DefaultLang
config.DirectorySort = mollyFile.DirectorySort
config.DirectoryReverse = mollyFile.DirectoryReverse
config.DirectoryTitles = mollyFile.DirectoryTitles
}
}
}
func generateDirectoryListing(URL *url.URL, path string, config Config) string {