Packages
surface
0.10.0
0.12.3
0.12.2
0.12.1
0.12.0
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.6
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.1
0.2.0
0.1.1
0.1.0
0.1.0-alpha.2
0.1.0-alpha.1
0.1.0-alpha.0
A component based library for Phoenix LiveView
Current section
Files
Jump to
Current section
Files
lib/mix/tasks/surface/surface.init/project_patchers/scoped_css.ex
defmodule Mix.Tasks.Surface.Init.ProjectPatchers.ScopedCSS do
@moduledoc false
alias Mix.Tasks.Surface.Init.FilePatchers
@behaviour Mix.Tasks.Surface.Init.ProjectPatcher
@impl true
def specs(%{scoped_css: true}) do
[
{:patch, "assets/css/app.css", [add_import_components()]},
{:patch, ".gitignore", [add_ignore_components_css_to_gitignore()]}
]
end
def specs(_assigns), do: []
def add_import_components() do
%{
name: "Add CSS file for components to app.css",
instructions: "",
patch:
&FilePatchers.Text.prepend_text(
&1,
"""
/* Import scoped CSS rules for components */
@import "./_components.css";\
""",
~S(@import "./_components.css";)
)
}
end
def add_ignore_components_css_to_gitignore() do
%{
name: "Ignore generated CSS file for components",
instructions: "",
patch:
&FilePatchers.Text.append_line(
&1,
"""
# Ignore generated CSS file for components
assets/css/_components.css
""",
"assets/css/_components.css"
)
}
end
end