<commit_before>### Static Assets

Static assets are enabled by default and served from the `priv/static/`
directory of your application. The assets are mounted at the root path, so
`priv/static/js/phoenix.js` would be served from `example.com/js/phoenix.js`.
See configuration options for details on disabling assets and customizing the
mount point.

#### Precompilers

You can add any kind of asset precompiler to your workflow with
[Rotor](https://github.com/hashnuke/rotor). Rotor is a build system for elixir
projects and it already has some useful extensions:

* [Sass](https://github.com/danielfarrell/sass_rotor)
* [CoffeeScript](https://github.com/HashNuke/coffee_rotor)

You can integrate it with your phoenix application, for example, by adding an
`initializers.ex` file to your `lib` directory that has the configurations for
your rotors.

Here's an example for the Sass rotor:

``` elixir
import Rotor.BasicRotors
import SassRotor


defmodule AppName.Initializers do
  def start_rotors do
    output_path = "priv/static/assets/application.css"
    Rotor.watch :stylesheets, ["priv/assets/stylesheets/*.sass"], fn(_changed_files, all_files)->
      read_files(all_files)
      |> sass
      |> concat
      |> output_to(output_path)
    end
  end
end
```

Then you have to make sure the rotors are started at the same time of the
application, by calling `start_rotors` from your `lib/app_name.ex` file.

``` elixir
def start(_type, _args) do
  import Supervisor.Spec, warn: false

  children = [
    worker(Repo, [])
  ]

  # we start rotors only in development
  if Mix.env == :dev do
    AppName.Initializers.start_rotors
  end

  opts = [strategy: :one_for_one, name: AppName.Supervisor]
  Supervisor.start_link(children, opts)
end
```

*Note:* The Sass rotor ultimately depends on libsass, and thus does not support
the `--compass` option. Until there is any support for that, you'll need to use
any other way for precompiling the files, but as long as it is compiled into the
`priv/static/assets` directory everything should work fine.<commit_msg>remove outdated contents of static assets guide<commit_after>### FPO
{'fraction_non_alphanumeric': 0.08775222900046926, 'fraction_numerical': 0.0, 'mean_word_length': 4.316708229426434, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 3, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2311331', 'n_tokens_mistral': 659, 'n_tokens_neox': 638, 'n_words': 246}