X-Git-Url: https://git.r.bdr.sh/rbdr/ngx_http_office_hours_filter_module/blobdiff_plain/0312f22689b83b84eb7fc61892b58d3298198006..31993a1682d3be9fb3489918874815d3598f8412:/README.md diff --git a/README.md b/README.md index a56c1e0..c0ecead 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,69 @@ # Nginx Office Hours -A victory for the server's labor rights: An nginx module that allows you to serve your content only during office hours. \ No newline at end of file +A victory for the server's labor rights: An nginx module that allows you to serve your content only during office hours. + +## Using the directive + +The `office_hours` directive expects a list of time ranges sepaarated by +spaces. The first range will be used as the default, and the rest will +be read from right to left, ending with *sunday* + +### Example 1: Open 24 hours + +Don't use this directive. + +### Example 2: Open every day from 08:30 AM to 7:00 PM + +``` +office_hours 8:30-19; +``` + +Some things worth noting here: the format of time ranges uses 24 hour +style, so no pesky AMs or PMs. Likewise, minutes are optional. Finally, +note that since only one range was defined, this is applied to all days +of the week. Another noteworthy + +### Example 3: Open every day from 08:30 AM to 7:00 PM, but closed sundays + +``` +office_hours 8:30-19 closed; +``` + +Two important things here: first notice that the closed keyword +specifies that the server is closed on a specific day; second, notice +how the last element is used for sunday, while the first one still +applies to Monday-Saturday. + +### Example 4: Open weekdays from 08:30 AM to 7:00 PM, Saturdays 10:00 AM to 4:00 PM, closed on sundays + +``` +office_hours 8:30-19 10-16 closed; +``` + +Now hopefully you can see the pattern: The first time range applies to +Monday-Friday, next one to Saturday and last one to Sunday. + +### Example 5: Open weekdays from 08:30 AM to 7:00 PM, closed on thursdays, reduced hours on weekends. + +``` +office_hours 8:30-19 closed 8:30-19 10-16 10-16; +``` + +Since we had to specify from Thursday, we have to explicitly set the +values for Friday, Saturday and Sunday. + +### Example 6: Closed every day. + +Uninstall nginx. + +## What you will need to get started + +I'm still not sure! I'm learning how to build this nginx module, so I'll +figure it out as I go and add it here. + +## Further Improvements + +* Add support for public holidays +* Add support to respect the time zone of the visitor and not just the + server +* Add support for double shifts in the same day