# Raxx.Static
**[Raxx](https://github.com/crowdhailer/raxx) middleware for serving static content.**
[](https://hex.pm/packages/raxx_static)
[](https://travis-ci.org/CrowdHailer/raxx_static)
[](LICENSE)
- [Install from hex.pm](https://hex.pm/packages/raxx_static)
- [Documentation available on hexdoc](https://hexdocs.pm/raxx_static)
- [Raxx discussion on slack](https://elixir-lang.slack.com/messages/C56H3TBH8/)
## Getting Started
Add routes for static assets to any server module.
```elixir
defmodule MyApp.WWW do
def start_link(config, server_options) do
stack =
Raxx.Stack.new(
[
{Raxx.Static, source: "dir/of/public/content"}
# Other middleware
],
{MyApp.WWW.Router, config}
)
Ace.HTTP.Service.start_link(stack, server_options)
end
end
```
### Read files at compile time.
To read source files only once use `Raxx.Static.setup/1`.
This takes the same arguments as above.
```elixir
@static_setup Raxx.Static.setup(source: "dir/of/public/content")
# in stack
{Raxx.Static, @static_setup}
```