mirror of
https://tildegit.org/solderpunk/molly-brown.git
synced 2025-04-13 09:29:46 +00:00
Allow overriding directory listing options with .molly files.
This commit is contained in:
parent
7066bad570
commit
a07645dd2e
2 changed files with 18 additions and 10 deletions
|
@ -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) {
|
||||
|
|
17
handler.go
17
handler.go
|
@ -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,16 +260,15 @@ 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 {
|
||||
var listing string
|
||||
files, err := ioutil.ReadDir(path)
|
||||
|
|
Loading…
Add table
Reference in a new issue