From 426666e9f07ff5283e3c80533bbac26da1dc03b3 Mon Sep 17 00:00:00 2001 From: Timur Ismagilov Date: Tue, 30 Jun 2020 23:13:46 +0500 Subject: [PATCH] Make hypha names case and space insensitive (testing to be done) --- cfg/config.go | 8 +- fs/data.go | 5 +- fs/fs.go | 3 - fs/genealogy.go | 13 ++- fs/html.go | 3 +- fs/hypha.go | 4 +- render/render.go | 5 +- util/util.go | 33 ++++++ .../default-light/edit/index.html/1.html | 11 -- .../default-light/edit/sidebar.html/1.html | 21 ---- w/m/{Fruit => fruit}/1.md | 0 w/m/{Fruit => fruit}/2.md | 0 w/m/{Fruit => fruit}/3.markdown | 6 +- w/m/{Fruit => fruit}/4.markdown | 0 w/m/{Fruit => fruit}/5.markdown | 0 w/m/{Fruit/Apple => fruit/apple}/1.jpg | Bin w/m/{Fruit/Apple => fruit/apple}/1.txt | 0 w/m/{Fruit/Apple => fruit/apple}/2.jpg | Bin w/m/{Fruit/Apple => fruit/apple}/2.txt | 4 +- w/m/{Fruit/Apple => fruit/apple}/3.txt | 10 +- w/m/{Fruit/Apple => fruit/apple}/4.jpg | Bin w/m/{Fruit/Apple => fruit/apple}/4.txt | 2 +- w/m/{Fruit/Apple => fruit/apple}/meta.json | 0 w/m/{Fruit => fruit}/meta.json | 0 w/m/{Fruit/Pear => fruit/pear}/1.markdown | 4 +- w/m/{Fruit/Pear => fruit/pear}/meta.json | 0 .../Pineapple => fruit/pineapple}/1.html | 0 .../Pineapple => fruit/pineapple}/meta.json | 0 w/m/{Fungus => fungus}/1.markdown | 0 .../amanita_muscaria}/1.markdown | 4 +- .../amanita_muscaria}/2.markdown | 6 +- .../amanita_muscaria}/3.markdown | 8 +- .../amanita_muscaria}/4.markdown | 10 +- .../amanita_muscaria}/meta.json | 0 .../amanita_regalis}/1.jpeg | Bin .../amanita_regalis}/1.markdown | 12 +- .../amanita_regalis}/meta.json | 0 w/m/{Fungus => fungus}/meta.json | 0 w/m/help/1.markdown | 1 + w/m/help/meta.json | 21 ++++ w/m/{Templates => templates}/1.markdown | 0 .../default-light/base.html/1.html | 50 ++++----- .../default-light/base.html/meta.json | 0 .../default-light/edit/header.html/1.html | 0 .../default-light/edit/header.html/meta.json | 0 .../default-light/edit/index.html/1.html | 11 ++ .../default-light/edit/index.html/meta.json | 0 .../default-light/edit/sidebar.html/1.html | 22 ++++ .../default-light/edit/sidebar.html/meta.json | 0 .../default-light/main.css/1.css | 106 +++++++++--------- .../default-light/main.css/meta.json | 0 .../default-light/main.js/1.mjs | 22 ++-- .../default-light/main.js/meta.json | 0 .../default-light/update_ok.html}/1.html | 16 +-- .../default-light/update_ok.html}/meta.json | 4 +- .../default-light/view/404.html/1.html | 0 .../default-light/view/404.html/meta.json | 0 .../default-light/view/index.html/1.html | 0 .../default-light/view/index.html/meta.json | 0 .../default-light/view/sidebar.html/1.html | 2 +- .../default-light/view/sidebar.html/meta.json | 0 w/m/{Templates => templates}/meta.json | 0 w/m/{TestMd => testmd}/1.markdown | 0 w/m/{TestMd => testmd}/meta.json | 0 64 files changed, 244 insertions(+), 183 deletions(-) create mode 100644 util/util.go delete mode 100644 w/m/Templates/default-light/edit/index.html/1.html delete mode 100644 w/m/Templates/default-light/edit/sidebar.html/1.html rename w/m/{Fruit => fruit}/1.md (100%) rename w/m/{Fruit => fruit}/2.md (100%) rename w/m/{Fruit => fruit}/3.markdown (98%) rename w/m/{Fruit => fruit}/4.markdown (100%) rename w/m/{Fruit => fruit}/5.markdown (100%) rename w/m/{Fruit/Apple => fruit/apple}/1.jpg (100%) rename w/m/{Fruit/Apple => fruit/apple}/1.txt (100%) rename w/m/{Fruit/Apple => fruit/apple}/2.jpg (100%) rename w/m/{Fruit/Apple => fruit/apple}/2.txt (99%) rename w/m/{Fruit/Apple => fruit/apple}/3.txt (98%) rename w/m/{Fruit/Apple => fruit/apple}/4.jpg (100%) rename w/m/{Fruit/Apple => fruit/apple}/4.txt (99%) rename w/m/{Fruit/Apple => fruit/apple}/meta.json (100%) rename w/m/{Fruit => fruit}/meta.json (100%) rename w/m/{Fruit/Pear => fruit/pear}/1.markdown (99%) rename w/m/{Fruit/Pear => fruit/pear}/meta.json (100%) rename w/m/{Fruit/Pineapple => fruit/pineapple}/1.html (100%) rename w/m/{Fruit/Pineapple => fruit/pineapple}/meta.json (100%) rename w/m/{Fungus => fungus}/1.markdown (100%) rename w/m/{Fungus/Amanita Muscaria => fungus/amanita_muscaria}/1.markdown (99%) rename w/m/{Fungus/Amanita Muscaria => fungus/amanita_muscaria}/2.markdown (99%) rename w/m/{Fungus/Amanita Muscaria => fungus/amanita_muscaria}/3.markdown (99%) rename w/m/{Fungus/Amanita Muscaria => fungus/amanita_muscaria}/4.markdown (99%) rename w/m/{Fungus/Amanita Muscaria => fungus/amanita_muscaria}/meta.json (100%) rename w/m/{Fungus/Amanita Regalis => fungus/amanita_regalis}/1.jpeg (100%) rename w/m/{Fungus/Amanita Regalis => fungus/amanita_regalis}/1.markdown (99%) rename w/m/{Fungus/Amanita Regalis => fungus/amanita_regalis}/meta.json (100%) rename w/m/{Fungus => fungus}/meta.json (100%) create mode 100644 w/m/help/1.markdown create mode 100644 w/m/help/meta.json rename w/m/{Templates => templates}/1.markdown (100%) rename w/m/{Templates => templates}/default-light/base.html/1.html (96%) rename w/m/{Templates => templates}/default-light/base.html/meta.json (100%) rename w/m/{Templates => templates}/default-light/edit/header.html/1.html (100%) rename w/m/{Templates => templates}/default-light/edit/header.html/meta.json (100%) create mode 100644 w/m/templates/default-light/edit/index.html/1.html rename w/m/{Templates => templates}/default-light/edit/index.html/meta.json (100%) create mode 100644 w/m/templates/default-light/edit/sidebar.html/1.html rename w/m/{Templates => templates}/default-light/edit/sidebar.html/meta.json (100%) rename w/m/{Templates => templates}/default-light/main.css/1.css (97%) rename w/m/{Templates => templates}/default-light/main.css/meta.json (100%) rename w/m/{Templates => templates}/default-light/main.js/1.mjs (96%) rename w/m/{Templates => templates}/default-light/main.js/meta.json (100%) rename w/m/{Templates/default-light/updateOk.html => templates/default-light/update_ok.html}/1.html (94%) rename w/m/{Templates/default-light/updateOk.html => templates/default-light/update_ok.html}/meta.json (90%) rename w/m/{Templates => templates}/default-light/view/404.html/1.html (100%) rename w/m/{Templates => templates}/default-light/view/404.html/meta.json (100%) rename w/m/{Templates => templates}/default-light/view/index.html/1.html (100%) rename w/m/{Templates => templates}/default-light/view/index.html/meta.json (100%) rename w/m/{Templates => templates}/default-light/view/sidebar.html/1.html (78%) rename w/m/{Templates => templates}/default-light/view/sidebar.html/meta.json (100%) rename w/m/{Templates => templates}/meta.json (100%) rename w/m/{TestMd => testmd}/1.markdown (100%) rename w/m/{TestMd => testmd}/meta.json (100%) diff --git a/cfg/config.go b/cfg/config.go index f5e6251..348d8d9 100644 --- a/cfg/config.go +++ b/cfg/config.go @@ -38,12 +38,10 @@ func InitConfig(wd string) bool { if _, err := os.Stat(configJsonPath); os.IsNotExist(err) { log.Println("config.json not found, using default values") - } else { - log.Println("config.json found, overriding default values...") - return readConfig() + return false } - - return true + log.Println("config.json found, overriding default values...") + return readConfig() } func readConfig() bool { diff --git a/fs/data.go b/fs/data.go index 0eb142d..5c88f4a 100644 --- a/fs/data.go +++ b/fs/data.go @@ -10,6 +10,7 @@ import ( "strings" "github.com/bouncepaw/mycorrhiza/cfg" + "github.com/bouncepaw/mycorrhiza/util" ) func (h *Hypha) MetaJsonPath() string { @@ -17,7 +18,7 @@ func (h *Hypha) MetaJsonPath() string { } func (h *Hypha) Path() string { - return filepath.Join(cfg.WikiDir, h.FullName) + return filepath.Join(cfg.WikiDir, util.UrlToCanonical(h.FullName)) } func (h *Hypha) TextPath() string { @@ -25,7 +26,7 @@ func (h *Hypha) TextPath() string { } func (h *Hypha) parentName() string { - return filepath.Dir(h.FullName) + return filepath.Dir(util.UrlToCanonical(h.FullName)) } // hasBinaryData returns true if the revision has any binary data associated. diff --git a/fs/fs.go b/fs/fs.go index b10dc74..3d1488a 100644 --- a/fs/fs.go +++ b/fs/fs.go @@ -54,6 +54,3 @@ func (s *Storage) indexHyphae(path string) { } } } - -func (h *Hypha) Close() { -} diff --git a/fs/genealogy.go b/fs/genealogy.go index 1bc3adb..96da25a 100644 --- a/fs/genealogy.go +++ b/fs/genealogy.go @@ -6,6 +6,8 @@ import ( "path/filepath" "sort" "strings" + + "github.com/bouncepaw/mycorrhiza/util" ) func (s *Storage) RenderHypha(h *Hypha) { @@ -24,6 +26,7 @@ type Tree struct { // It can also generate trees for non-existent hyphae, that's why we use `name string` instead of making it a method on `Hypha`. // In `root` is `false`, siblings will not be fetched. func (s *Storage) GetTree(name string, root bool) *Tree { + name = util.UrlToCanonical(name) t := &Tree{Name: name, Root: root} for hyphaName, _ := range s.paths { s.compareNamesAndAppend(t, hyphaName) @@ -65,14 +68,14 @@ func (t *Tree) AsHtml() (html string) { html += `