@@ -5,115 +5,109 @@ defmodule NimbleTemplate.Addons.Phoenix.Web.SvgSprite do
5
5
6
6
@ impl true
7
7
def do_apply! ( % Project { } = project , _opts ) do
8
- # TODO: Revisit on the next PR
9
8
project
9
+ |> edit_files! ( )
10
+ |> copy_files! ( )
10
11
end
11
12
12
- # @impl true
13
- # def do_apply!(%Project{} = project, _opts) do
14
- # project
15
- # |> edit_files!()
16
- # |> copy_files!()
17
- # end
18
-
19
- # defp edit_files!(%Project{} = project) do
20
- # project
21
- # |> edit_assets_package!()
22
- # |> edit_web_entry_point!()
23
- # |> edit_wiki_sidebar!()
24
- # end
25
-
26
- # defp copy_files!(%Project{} = project) do
27
- # project
28
- # |> copy_icon_helper!()
29
- # |> copy_wiki_documentation!()
30
- # end
31
-
32
- # defp edit_assets_package!(%Project{} = project) do
33
- # Generator.replace_content!(
34
- # "assets/package.json",
35
- # """
36
- # "scripts": {
37
- # """,
38
- # """
39
- # "scripts": {
40
- # "svg-sprite.generate-icon": "svg-sprite --shape-id-generator \\"icon-%s\\" --symbol --symbol-dest ../priv/static/images --symbol-sprite icon-sprite.svg ../priv/static/images/icons/*.svg",
41
- # """
42
- # )
43
-
44
- # Generator.replace_content!(
45
- # "assets/package.json",
46
- # """
47
- # "devDependencies": {
48
- # """,
49
- # """
50
- # "devDependencies": {
51
- # "svg-sprite": "1.5.4",
52
- # """
53
- # )
54
-
55
- # project
56
- # end
57
-
58
- # defp edit_web_entry_point!(%Project{web_module: web_module, web_path: web_path} = project) do
59
- # Generator.replace_content!(
60
- # "#{web_path}.ex",
61
- # """
62
- # # HTML escaping functionality
63
- # import Phoenix.HTML
64
- # """,
65
- # """
66
- # # HTML escaping functionality
67
- # import Phoenix.HTML
68
-
69
- # import #{web_module}.IconHelper
70
- # """
71
- # )
72
-
73
- # project
74
- # end
75
-
76
- # defp edit_wiki_sidebar!(project) do
77
- # if has_github_wiki_directory?() do
78
- # Generator.replace_content!(
79
- # ".github/wiki/_Sidebar.md",
80
- # """
81
- # - [[Getting Started]]
82
- # """,
83
- # """
84
- # - [[Getting Started]]
85
-
86
- # ## Operations
87
-
88
- # - [[Icon Sprite]]
89
- # """
90
- # )
91
- # end
92
-
93
- # project
94
- # end
95
-
96
- # defp copy_icon_helper!(
97
- # %Project{web_module: web_module, web_path: web_path, web_test_path: web_test_path} =
98
- # project
99
- # ) do
100
- # Generator.copy_file!(
101
- # [
102
- # {:eex, "lib/otp_app_web/helpers/icon_helper.ex.eex", "#{web_path}/helpers/icon_helper.ex"},
103
- # {:eex, "test/otp_app_web/helpers/icon_helper_test.exs.eex",
104
- # "#{web_test_path}/helpers/icon_helper_test.exs"}
105
- # ],
106
- # web_module: web_module
107
- # )
108
-
109
- # project
110
- # end
111
-
112
- # defp copy_wiki_documentation!(%Project{} = project) do
113
- # if has_github_wiki_directory?() do
114
- # Generator.copy_file!([{:text, ".github/wiki/Icon-Sprite.md", ".github/wiki/Icon-Sprite.md"}])
115
- # end
116
-
117
- # project
118
- # end
13
+ defp edit_files! ( % Project { } = project ) do
14
+ project
15
+ |> edit_assets_package! ( )
16
+ |> edit_web_entry_point! ( )
17
+ |> edit_wiki_sidebar! ( )
18
+ end
19
+
20
+ defp copy_files! ( % Project { } = project ) do
21
+ project
22
+ |> copy_icon_helper! ( )
23
+ |> copy_wiki_documentation! ( )
24
+ end
25
+
26
+ defp edit_assets_package! ( % Project { } = project ) do
27
+ Generator . replace_content! (
28
+ "assets/package.json" ,
29
+ """
30
+ "scripts": {
31
+ """ ,
32
+ """
33
+ "scripts": {
34
+ "svg-sprite.generate-icon": "svg-sprite --shape-id-generator \\ "icon-%s\\ " --symbol --symbol-dest ../priv/static/images --symbol-sprite icon-sprite.svg ../priv/static/images/icons/*.svg",
35
+ """
36
+ )
37
+
38
+ Generator . replace_content! (
39
+ "assets/package.json" ,
40
+ """
41
+ "devDependencies": {
42
+ """ ,
43
+ """
44
+ "devDependencies": {
45
+ "svg-sprite": "1.5.4",
46
+ """
47
+ )
48
+
49
+ project
50
+ end
51
+
52
+ defp edit_web_entry_point! ( % Project { web_module: web_module , web_path: web_path } = project ) do
53
+ Generator . replace_content! (
54
+ "#{ web_path } .ex" ,
55
+ """
56
+ # HTML escaping functionality
57
+ import Phoenix.HTML
58
+ """ ,
59
+ """
60
+ # HTML escaping functionality
61
+ import Phoenix.HTML
62
+
63
+ import #{ web_module } .IconHelper
64
+ """
65
+ )
66
+
67
+ project
68
+ end
69
+
70
+ defp edit_wiki_sidebar! ( project ) do
71
+ if has_github_wiki_directory? ( ) do
72
+ Generator . replace_content! (
73
+ ".github/wiki/_Sidebar.md" ,
74
+ """
75
+ - [[Getting Started]]
76
+ """ ,
77
+ """
78
+ - [[Getting Started]]
79
+
80
+ ## Operations
81
+
82
+ - [[Icon Sprite]]
83
+ """
84
+ )
85
+ end
86
+
87
+ project
88
+ end
89
+
90
+ defp copy_icon_helper! (
91
+ % Project { web_module: web_module , web_path: web_path , web_test_path: web_test_path } =
92
+ project
93
+ ) do
94
+ Generator . copy_file! (
95
+ [
96
+ { :eex , "lib/otp_app_web/helpers/icon_helper.ex.eex" , "#{ web_path } /helpers/icon_helper.ex" } ,
97
+ { :eex , "test/otp_app_web/helpers/icon_helper_test.exs.eex" ,
98
+ "#{ web_test_path } /helpers/icon_helper_test.exs" }
99
+ ] ,
100
+ web_module: web_module
101
+ )
102
+
103
+ project
104
+ end
105
+
106
+ defp copy_wiki_documentation! ( % Project { } = project ) do
107
+ if has_github_wiki_directory? ( ) do
108
+ Generator . copy_file! ( [ { :text , ".github/wiki/Icon-Sprite.md" , ".github/wiki/Icon-Sprite.md" } ] )
109
+ end
110
+
111
+ project
112
+ end
119
113
end
0 commit comments