Travis J Parker
2ead35d8a4
Remove the bulk of the project.
...
Leave a README with a pointer to sliderule, and the LICENSE file.
Git history is still accessible here.
2023-05-01 11:42:16 -06:00
tjpcc
aa6bdb0649
include a CSS class in htmlconv output
2023-04-29 13:45:38 -06:00
tjpcc
46ad450327
Switch Handler to an interface.
...
continuous-integration/drone/push Build is passing
Details
HandlerFunc is much better as a function returning a Handler, rather
than a newtype for the function type itself. This way there is no
confusion creating a type-inferenced variable with HandlerFunc(func(...
and then using a HandlerFunc where a Handler is expected. Much better to
only have one public type.
2023-02-15 16:44:29 -07:00
tjpcc
bc96af40db
no need to combine sub-router params any more
continuous-integration/drone/push Build is passing
Details
2023-02-14 20:18:08 -07:00
tjpcc
fcf545c27c
Router improvements.
...
continuous-integration/drone/push Build is passing
Details
- test coverage for Router, not just PathTree
- Router.Mount() now flattens routes into the parent router
- Router.Use() implemented to set middleware on a router itself
2023-02-14 20:13:25 -07:00
tjpcc
18d69173b4
Mount() adds a subrouter under a prefix pattern.
...
continuous-integration/drone/push Build is passing
Details
...though I'm already eyeing a better approach.
2023-02-02 17:11:27 -07:00
tjpcc
ac024567e8
Initial Router work.
...
continuous-integration/drone/push Build is passing
Details
- Router type, supports: adding handlers, serving, fetching the matching
handler for a route.
- Private PathTree type handles the modified radix trie.
2023-02-02 16:15:53 -07:00
tjpcc
b7cb13b4e6
include gemini scheme in a URL
continuous-integration/drone/push Build is passing
Details
2023-01-30 15:10:54 -07:00
tjpcc
a4ef387eeb
mention release signing and the key used
continuous-integration/drone/push Build is passing
Details
2023-01-30 15:09:58 -07:00
tjpcc
4f6f3dcd4b
finger protocol
continuous-integration/drone/push Build is passing
Details
2023-01-30 11:36:48 -07:00
tjpcc
9cbc5cdd46
fix tests for #15 change
continuous-integration/drone/push Build is passing
Details
2023-01-28 16:47:23 -07:00
tjpcc
04977e56b1
middleware to turn away non-gemini requests. fixes #3 .
continuous-integration/drone/push Build is failing
Details
2023-01-28 15:36:45 -07:00
tjpcc
23fd67c25a
permanently redirect from /dir to /dir/ on gemini. fixes #15
continuous-integration/drone/push Build is failing
Details
2023-01-28 15:30:09 -07:00
tjpcc
84d8e515be
README updates
continuous-integration/drone/push Build is passing
Details
2023-01-28 15:29:44 -07:00
tjpcc
66a1b1f39a
gopher support.
...
continuous-integration/drone/push Build is passing
Details
Some of the contrib packages were originally built gemini-specific and
had to be refactored into generic core functionality and thin
protocol-specific wrappers for each of gemini and gopher.
2023-01-28 15:01:41 -07:00
tjpcc
a27b879acc
test coverage and resulting bugfixes
continuous-integration/drone/push Build is passing
Details
2023-01-26 16:22:58 -07:00
tjpcc
32e45e3557
test coverage for the cgi contrib
continuous-integration/drone/push Build is passing
Details
2023-01-25 08:35:56 -07:00
tjpcc
997514292a
testing and linting and linter fixes
continuous-integration/drone/push Build is passing
Details
2023-01-24 19:59:47 -07:00
tjpcc
23d705b93a
Add support for titan:// to the gemini server
...
continuous-integration/drone/push Build is passing
Details
Titan is a gemini add-on protocol so it really didn't make sense to
build it out in a separate package. The most significant difference in
titan for the purposes of implementation here is that requests can have
bodies following the URL line.
Since gus.Request is a struct, the only way to smuggle in the new field
(a reader for the body) was to stash it in the context.
2023-01-24 07:36:28 -07:00
tjpcc
0480e066a3
logging library up to top level
continuous-integration/drone/push Build is passing
Details
2023-01-23 22:15:16 -07:00
tjpcc
df57a12539
update READMEs for contrib/tlsauth
continuous-integration/drone/push Build is passing
Details
2023-01-20 11:26:23 -07:00
tjpcc
8229f31f70
"tlsauth" contrib package
...
continuous-integration/drone/push Build is passing
Details
This package adds authentication middlewares via TLS client
certificates.
2023-01-20 10:58:35 -07:00
tjpcc
a1c186878d
minor marketing update
continuous-integration/drone/push Build is passing
Details
2023-01-19 16:08:17 -07:00
tjpcc
e1aa19f1e8
New sharedhost contrib package.
...
continuous-integration/drone/push Build is passing
Details
ReplaceTilde simply replaces a leading ~ in the URL.
Fixes #9 .
2023-01-19 16:03:52 -07:00
tjpcc
7d8fd81278
package documentation: gemini, gemtext, contrib
continuous-integration/drone/tag Build is passing
Details
continuous-integration/drone/push Build is passing
Details
2023-01-19 10:12:30 -07:00
tjpcc
f569df6ead
bugfix and some docs cleanup
continuous-integration/drone/push Build is passing
Details
2023-01-18 22:10:29 -07:00
tjpcc
6586db782e
Updates
...
continuous-integration/drone/push Build is passing
Details
* update README
* move "gemtext" to within "gemini"
2023-01-17 16:41:04 -07:00
tjpcc
2ef530daa4
pull request, response, handlers out of the gemini package
2023-01-17 15:59:29 -07:00
tjpcc
30e21f8513
fix gmi->md templates and regenerate the README
continuous-integration/drone/push Build is passing
Details
2023-01-15 22:36:02 -07:00
tjpcc
9579f021ff
updated gmi2md template
continuous-integration/drone/push Build is passing
Details
2023-01-15 20:20:28 -07:00
tjpcc
4c2630752f
Completed markdown and HTML conversion.
continuous-integration/drone/push Build is passing
Details
2023-01-15 19:59:58 -07:00
tjpcc
cec3718bdd
markdown converter
continuous-integration/drone/push Build is passing
Details
2023-01-14 19:59:12 -07:00
tjpcc
88b98dcf18
update README with latest from the gemini site
continuous-integration/drone/push Build is passing
Details
2023-01-14 11:38:40 -07:00
tjpcc
0d904f9f10
Completed gemtext package.
...
continuous-integration/drone/push Build is passing
Details
resolves #2
- fuzz testing
- split out line parsing into a separate file
- changed line type-specific public []byte fields to string accessor methods
- added document parsing test for a stress test doc
- added dependency on stretchr/testify
2023-01-14 09:58:32 -07:00
tjpcc
aa23984bc2
Initial gemtext package.
...
continuous-integration/drone/push Build is passing
Details
Contains:
- gemtext AST (Document and line types)
- Parse from an io.Reader
- ParseLine a []byte
- doc comments on everything
- ParseLine tests for every line type
Still needs tests for Parse & Document.
2023-01-13 10:50:30 -07:00
tjpcc
13f553c965
TODOs have been converted to gitea issues
continuous-integration/drone/push Build is passing
Details
2023-01-12 10:06:35 -07:00
tjpcc
370bd08946
aspirational!
continuous-integration/drone/push Build is passing
Details
2023-01-12 09:20:52 -07:00
tjpcc
064b1b304a
test file rename
2023-01-12 09:20:43 -07:00
tjpcc
6be546d46b
Improve host/port handling
...
...however unlikely gemini over IPv6 may be (hah!)
2023-01-12 09:19:43 -07:00
tjpcc
518d1a88cf
more ambitions
continuous-integration/drone/push Build is passing
Details
2023-01-11 17:30:16 -07:00
tjpcc
b93e6dfee9
convert the gemtext home page to markdown as the new README
continuous-integration/drone/push Build is passing
Details
2023-01-11 15:58:50 -07:00
tjpcc
9cbdbe8c8f
there's a router in our future
continuous-integration/drone/push Build is passing
Details
2023-01-11 14:20:42 -07:00
tjpcc
029cd5b52d
much more extensive gus/gemini testing
continuous-integration/drone/push Build is passing
Details
2023-01-11 13:19:42 -07:00
tjpcc
4969e33e28
WIP improve test coverage
...
continuous-integration/drone/push Build is failing
Details
There is a test of Response.Read that is failing and I haven't yet
figured out why.
2023-01-11 11:41:07 -07:00
tjpcc
e183f9cd23
lots more documentation comments
continuous-integration/drone/push Build is passing
Details
2023-01-11 10:36:56 -07:00
tjpcc
197d8e4cb0
Improvements to Server lifecycle.
...
- NewServer doesn't allocate any resources besides the server object
itself. So eg context.WithCancel is delayed until s.Serve().
- Add a demonstration of graceful shutdown on signals to the cgi
example.
2023-01-11 10:33:44 -07:00
tjpcc
cc0c7e6eb5
Simple client functionality and an example.
continuous-integration/drone/push Build is passing
Details
2023-01-11 10:12:32 -07:00
tjpcc
e46658d475
branding change
continuous-integration/drone/push Build is passing
Details
2023-01-10 23:06:54 -07:00
tjpcc
918246ed72
remove some debugging prints, gofmt
continuous-integration/drone/push Build is passing
Details
2023-01-10 17:50:44 -07:00
tjpcc
474a28663f
CGI improvements
continuous-integration/drone/push Build is passing
Details
2023-01-10 17:22:13 -07:00