forked from tangled.org/core
this repo has no description

appview/strings: allow extensionless filenames

Signed-off-by: ItsHarper <git-f4cbe@harperandrews.org>

authored by harperandrews.org and committed by Tangled a7dac889 6be6a26b

Changed files
+2 -21
appview
db
pages
templates
strings
fragments
strings
+1 -9
appview/db/strings.go
··· 50 func (s String) Validate() error { 51 var err error 52 53 - if !strings.Contains(s.Filename, ".") { 54 - err = errors.Join(err, fmt.Errorf("missing filename extension")) 55 - } 56 - 57 - if strings.HasSuffix(s.Filename, ".") { 58 - err = errors.Join(err, fmt.Errorf("filename ends with `.`")) 59 - } 60 - 61 if utf8.RuneCountInString(s.Filename) > 140 { 62 err = errors.Join(err, fmt.Errorf("filename too long")) 63 } ··· 113 filename = excluded.filename, 114 description = excluded.description, 115 content = excluded.content, 116 - edited = case 117 when 118 strings.content != excluded.content 119 or strings.filename != excluded.filename
··· 50 func (s String) Validate() error { 51 var err error 52 53 if utf8.RuneCountInString(s.Filename) > 140 { 54 err = errors.Join(err, fmt.Errorf("filename too long")) 55 } ··· 105 filename = excluded.filename, 106 description = excluded.description, 107 content = excluded.content, 108 + edited = case 109 when 110 strings.content != excluded.content 111 or strings.filename != excluded.filename
+1 -1
appview/pages/templates/strings/fragments/form.html
··· 13 type="text" 14 id="filename" 15 name="filename" 16 - placeholder="Filename with extension" 17 required 18 value="{{ .String.Filename }}" 19 class="md:max-w-64 dark:bg-gray-700 dark:text-white dark:border-gray-600 dark:placeholder-gray-400 px-3 py-2 border rounded"
··· 13 type="text" 14 id="filename" 15 name="filename" 16 + placeholder="Filename" 17 required 18 value="{{ .String.Filename }}" 19 class="md:max-w-64 dark:bg-gray-700 dark:text-white dark:border-gray-600 dark:placeholder-gray-400 px-3 py-2 border rounded"
-11
appview/strings/strings.go
··· 7 "path" 8 "slices" 9 "strconv" 10 - "strings" 11 "time" 12 13 "tangled.sh/tangled.sh/core/api/tangled" ··· 288 fail("Empty filename.", nil) 289 return 290 } 291 - if !strings.Contains(filename, ".") { 292 - // TODO: make this a htmx form validation 293 - fail("No extension provided for filename.", nil) 294 - return 295 - } 296 297 content := r.FormValue("content") 298 if content == "" { ··· 373 filename := r.FormValue("filename") 374 if filename == "" { 375 fail("Empty filename.", nil) 376 - return 377 - } 378 - if !strings.Contains(filename, ".") { 379 - // TODO: make this a htmx form validation 380 - fail("No extension provided for filename.", nil) 381 return 382 } 383
··· 7 "path" 8 "slices" 9 "strconv" 10 "time" 11 12 "tangled.sh/tangled.sh/core/api/tangled" ··· 287 fail("Empty filename.", nil) 288 return 289 } 290 291 content := r.FormValue("content") 292 if content == "" { ··· 367 filename := r.FormValue("filename") 368 if filename == "" { 369 fail("Empty filename.", nil) 370 return 371 } 372