Commit Graph
92 Commits
Author SHA1 Message Date
sashakoshka d694a8acf6 examples/testplugin: Add test plugin example 2024-12-10 14:02:21 -05:00
sashakoshka 4c3f0056fd cmd/stepd: Load plugins from STEP_PLUGIN_PATH 2024-12-10 13:25:32 -05:00
sashakoshka 209270a179 Add untested plugin support 2024-12-10 13:25:20 -05:00
sashakoshka 9a6607494f cmd/stepd: List all loaded providers on startup 2024-12-10 12:53:15 -05:00
sashakoshka ab167234d0 Providers are now required to state their name/package 2024-12-10 12:22:58 -05:00
sashakoshka 4a1b78b857 cmd/stepd: Fix pid file being spawned even if not specified 2024-12-10 02:58:50 -05:00
sashakoshka 666a9b0c77 cmd/step: Fix setting providers 2024-12-10 02:53:54 -05:00
sashakoshka eb7da68de6 providers/os: readDir now returns a slice of fs.DirEntry 2024-12-10 02:18:42 -05:00
sashakoshka dc378008d6 cmd/stepd: Add config key and arguments for the directory document 2024-12-10 02:12:14 -05:00
sashakoshka 70a1194bca http: Add the ability to serve a directory 2024-12-10 02:11:45 -05:00
sashakoshka 68c8deb269 cmd/stepd: Automatically forbid the configuration file 2024-12-10 00:39:25 -05:00
sashakoshka 7480742e9e http: Add mechanism to forbid certain files/directories 2024-12-10 00:38:47 -05:00
sashakoshka 11e8e7460a cmd/stepd: Configuration file is read and used for the HTTP server
Closes #7
2024-12-10 00:29:33 -05:00
sashakoshka d4d882c40e Rename Environment.Conf to Config 2024-12-09 23:36:02 -05:00
sashakoshka a2680c40d2 Silly idea I had 2024-12-09 23:34:14 -05:00
sashakoshka 8084b7749a Environment configures providers 2024-12-09 23:27:58 -05:00
sashakoshka 433a112875 Add Provider interface 2024-12-09 22:57:59 -05:00
sashakoshka 952ce8f184 Rename plugin.go to provider.go in accordance with #12 2024-12-09 19:32:45 -05:00
sashakoshka adcb195f78 Add configurable interface 2024-12-09 18:22:48 -05:00
sashakoshka 380a5b9223 Metadata keys can have multiple values
Closes #6
2024-12-09 15:53:29 -05:00
sashakoshka ccff4e56c0 Add DecodeMeta function for decoding metadata from an io.Reader. 2024-12-09 13:48:55 -05:00
sashakoshka 43084fb5bb Add ability to parse quoted strings in meta
This should actually make migration from Caddy easier, because
Caddy's YAML front matter seems to support quoted strings? IDK,
the current Holanet has them. Closes #11
2024-12-09 12:56:16 -05:00
sashakoshka b14d92205c Rename a bunch of internal things from frontmatter to meta 2024-12-09 11:58:23 -05:00
sashakoshka 37022e051a Rename front matter errors to meta errors 2024-12-09 11:56:20 -05:00
sashakoshka 847eff17b9 Split ParseMeta out of SplitMeta 2024-12-09 11:54:53 -05:00
sashakoshka 88c5ef2922 Rename frontmatter.go files to meta.go equivalents 2024-12-09 02:23:06 -05:00
sashakoshka 67480bb974 Rename FrontMatter to Meta 2024-12-09 02:22:37 -05:00
sashakoshka c618d7bc5e Add .editorconfig 2024-12-08 20:24:19 -05:00
sashakoshka a12377b7d6 Ignore stepd.pid 2024-12-08 20:23:50 -05:00
sashakoshka 04149fe218 cmd/stepd: PID file is properly removed now 2024-12-08 20:22:35 -05:00
sashakoshka e79417ec9d cmd/stepd: Add periods in the help text 2024-12-08 20:05:04 -05:00
sashakoshka b6cd237ed3 cmd/stepd: Serve a named directory
Closes #8
2024-12-08 20:02:28 -05:00
sashakoshka d06b03bbfe cmd/stepd: Write PID file
Closes #9
2024-12-08 19:45:14 -05:00
sashakoshka deb3d7e935 providers/slice: Make the slice functions way better 2024-12-08 19:20:18 -05:00
sashakoshka 947cbc1440 Add type mismatch error 2024-12-08 16:12:54 -05:00
sashakoshka 860d083c11 providers/mime: use Document.Rel 2024-12-08 03:28:57 -05:00
sashakoshka 52b8b5a347 providers/import: use Document.Rel 2024-12-08 03:28:48 -05:00
sashakoshka 25541dadfe providers/os: use Document.Rel 2024-12-08 03:28:33 -05:00
sashakoshka cc13abd8f8 Documents now make use of relative paths to parse parent documents 2024-12-08 02:57:49 -05:00
sashakoshka f1fccdc2ae Add ParseRelative to Environment 2024-12-08 02:51:13 -05:00
sashakoshka 3c9f91a2c9 Add Abs method on Document 2024-12-08 02:51:01 -05:00
sashakoshka 17b6253211 Add Abs method to Document 2024-12-08 02:18:14 -05:00
sashakoshka efb1f455c9 http: Wrap the recorder instead of the actual response writer 2024-12-08 01:55:02 -05:00
sashakoshka 6f635825a9 http: Make methods of .Data.Res actually work 2024-12-08 01:50:15 -05:00
sashakoshka 3c9eb01790 providers/os: Add appendFile 2024-12-08 01:30:00 -05:00
sashakoshka 889850c04c Move all http stuff into the http package 2024-12-08 01:01:10 -05:00
sashakoshka 6f04353512 providers/import: Add panic function 2024-12-08 01:00:50 -05:00
sashakoshka b654829428 providers: Add mime provider 2024-12-08 00:08:38 -05:00
sashakoshka d76374719d providers: Add slice functions provider 2024-12-07 22:18:45 -05:00
sashakoshka 7f64686323 providers/os: isFile, isDir no longer return errors, just false 2024-12-07 21:51:57 -05:00
sashakoshka 0d456b7508 providers/os: Change name of fileExists to exists 2024-12-07 21:50:53 -05:00
sashakoshka 891e4dc140 Fix bugs surrounding adding funcs to a template 2024-12-07 21:47:36 -05:00
sashakoshka 5e3421a0a7 providers/path: Add functions to check if a file is hidden 2024-12-07 21:47:11 -05:00
sashakoshka b7952cf8eb providers/os: Add functions to check if something is a dir or file 2024-12-07 21:46:43 -05:00
sashakoshka b66b64a327 Make frontmatter splitting work with CRLF files 2024-12-07 16:25:34 -05:00
sashakoshka bc08186d30 cmd/stepd: Include error document flag 2024-12-07 13:07:44 -05:00
sashakoshka 5c9168c9b0 providers/http: Include status text in func map 2024-12-07 13:07:26 -05:00
sashakoshka d67738b29a assets: Add icon 2024-12-07 13:07:02 -05:00
sashakoshka a2edaf30e1 Add some TODOs 2024-12-07 03:13:58 -05:00
sashakoshka 006a311aeb cmd/stepd: Add ability to specify error document 2024-12-07 03:11:12 -05:00
sashakoshka a7b360cc09 http: Error template documents are supported 2024-12-07 03:10:45 -05:00
sashakoshka 62885b2e37 http: Handler now uses redirects to ensure dirs end on a / 2024-12-07 02:34:40 -05:00
sashakoshka 7c9e1a429e Move handler out of cmd and into separate pacakge 2024-12-07 02:27:34 -05:00
sashakoshka e7e31f0e60 providers: Add path functions to supplement sprig's 2024-12-07 02:13:06 -05:00
sashakoshka 30323c0d59 providers/import: Add execute function that returns ExecutionResult 2024-12-07 01:57:53 -05:00
sashakoshka 1b3c1d3585 cmd/stepd: Fix goofy mistakes 2024-12-07 01:41:05 -05:00
sashakoshka 561e72427f Fix HTTPResponseRecorder playing back a zero status code 2024-12-07 01:40:35 -05:00
sashakoshka e292c9fbb2 FuncProviderFor now implies FuncProvider 2024-12-07 01:36:06 -05:00
sashakoshka 17bb6a383b providers: Add import/include provider 2024-12-07 01:35:44 -05:00
sashakoshka e6415a250b Add method to Document to get the current environment 2024-12-07 01:29:33 -05:00
sashakoshka 243659e9ee cmd/stepd: Resetting makes a bit more sense now 2024-12-07 01:20:11 -05:00
sashakoshka 60f1b62965 cmd/stepd: Buffer templates 2024-12-07 00:59:20 -05:00
sashakoshka c85bd09ac5 Make HTTPResponseRecorder more useful 2024-12-07 00:53:39 -05:00
sashakoshka af6c705d8c Add HTTPResponseRecorder 2024-12-07 00:46:24 -05:00
sashakoshka ed1cdf4e89 cmd/stepd: Get content-type information from front matter 2024-12-06 02:01:10 -05:00
sashakoshka 5b88d13052 Export Document.FrontMatter 2024-12-06 02:00:08 -05:00
sashakoshka ceff4d1205 Remove ContentType from Document 2024-12-06 01:49:41 -05:00
sashakoshka 489e6a8425 providers: Rename url provider to http 2024-12-06 01:12:09 -05:00
sashakoshka 90183a2759 providers/url: Add ability to parse POST form data 2024-12-06 01:10:29 -05:00
sashakoshka 5e7d279ee1 cmd/stepd: Pass HTTPData to document 2024-12-06 00:15:08 -05:00
sashakoshka a46cecd5b3 Add HTTPData struct 2024-12-06 00:14:55 -05:00
sashakoshka c6b5fd7eeb providers: Add provider for URL functions 2024-12-06 00:14:30 -05:00
sashakoshka 541f2f0620 providers/os: Add ability to read environment variables 2024-12-05 22:22:25 -05:00
sashakoshka 68200e66d6 providers/markdown: Separate HTML and non-HTML markdown parsing 2024-12-05 21:53:06 -05:00
sashakoshka 018749101a providers: Use default markdown provider 2024-12-05 21:31:08 -05:00
sashakoshka 44f3be2c4f providers/markdown: Create a default markdown provider 2024-12-05 21:29:37 -05:00
sashakoshka adc39a8a4f Ignore STEP files at the repository root 2024-12-05 18:36:35 -05:00
sashakoshka abf3fc3ae3 Documents can now specify a content-type 2024-12-05 14:54:26 -05:00
sashakoshka b395963709 Add markdown support 2024-12-05 14:20:37 -05:00
sashakoshka 0da05d465e cmd/stepd: Better error logging 2024-12-05 14:20:16 -05:00
sashakoshka ffb0eb894a providers/os: Add file statting 2024-12-05 13:23:25 -05:00
sashakoshka 91e72ac49e Initial commit 2024-12-05 13:15:22 -05:00