examples: Add example that demonstrates working with files
This commit is contained in:
parent
b70fe4d4ba
commit
c21f8a8712
27
examples/files/index.step
Normal file
27
examples/files/index.step
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
{{$directory := "letters"}}
|
||||||
|
<p>Files sorted alphabetically:</p>
|
||||||
|
<ul>
|
||||||
|
{{range listFiles $directory}}
|
||||||
|
<li>{{.}}</li>
|
||||||
|
{{end}}
|
||||||
|
</ul>
|
||||||
|
<p>Files sorted temporally:</p>
|
||||||
|
<ul>
|
||||||
|
{{range listFilesDate $directory}}
|
||||||
|
<li>{{.}}</li>
|
||||||
|
{{end}}
|
||||||
|
</ul>
|
||||||
|
<hr>
|
||||||
|
<p>Make a new file and watch the information above change:</p>
|
||||||
|
<form action="make.step" method="POST">
|
||||||
|
<input type="text" name="name" placeholder="File name"><br>
|
||||||
|
<input type="text" name="content" placeholder="File content"><br>
|
||||||
|
<input type="submit" value="Create file">
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
0
examples/files/letters/e
Normal file
0
examples/files/letters/e
Normal file
0
examples/files/letters/i
Normal file
0
examples/files/letters/i
Normal file
0
examples/files/letters/o
Normal file
0
examples/files/letters/o
Normal file
0
examples/files/letters/p
Normal file
0
examples/files/letters/p
Normal file
0
examples/files/letters/q
Normal file
0
examples/files/letters/q
Normal file
0
examples/files/letters/r
Normal file
0
examples/files/letters/r
Normal file
0
examples/files/letters/t
Normal file
0
examples/files/letters/t
Normal file
0
examples/files/letters/u
Normal file
0
examples/files/letters/u
Normal file
0
examples/files/letters/w
Normal file
0
examples/files/letters/w
Normal file
0
examples/files/letters/y
Normal file
0
examples/files/letters/y
Normal file
12
examples/files/make.step
Normal file
12
examples/files/make.step
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{{- if ne .Data.Req.Method "POST"}}
|
||||||
|
{{- error 405 "only POST is supported"}}
|
||||||
|
{{- end}}
|
||||||
|
{{- $form := parseForm .Data.Req}}
|
||||||
|
{{- $name := $form.Get "name" | trim}}
|
||||||
|
{{- $content := $form.Get "content"}}
|
||||||
|
{{- if strInRange 1 32 $name | not}}{{error 400 "invalid name length"}}{{end}}
|
||||||
|
{{/* this is dangerous. you should not write to the same directory that the site
|
||||||
|
is in as you could end up accidentally allowing the user to overwrite site
|
||||||
|
contents */}}
|
||||||
|
{{writeFile (osJoinPaths "letters" (stripNonLetters $name)) $content}}
|
||||||
|
{{- redirect 303 "."}}
|
Loading…
x
Reference in New Issue
Block a user