1
- <%= if true do %>
2
- < div class = "text-white " style = "background: linear-gradient(-32deg, #840000 0%, #E0003C 30%, #FF493F 50%, #FF584A 50%, #FF6F86 90%, #FF584A 120%); " >
1
+ <%
2
+
3
+ heading = "Great apps start with great components"
4
+ heading = "Want to learn more of the why than the how?"
5
+ heading = "Want to learn more of the why than the how?"
6
+
7
+ subhead = "Learn more of the why than the how."
8
+
9
+ %>
10
+
11
+ < div class = "text-white " style = "<%= header_styles(2) %> " >
3
12
< section class = "container px-6 pt-12 pb-8 " >
4
- < h1 class = "mx-auto max-w-4xl px-2 text-3xl sm:text-4xl md:text-5xl text-center leading-snug font-bold text-shadow " >
5
- <%# = "Great apps need great components. Learn how to make them in SwiftUI and React." %>
6
- <%= "Great apps need great components. Learn by making in SwiftUI or React." %>
13
+ < h1 class = "mx-auto max-w-4xl px-2 text-3xl sm:text-4xl md:text-6xl text-center leading-tight font-bold text-shadow " >
14
+ <%= heading %>
7
15
</ h1 >
8
16
< p class = "mt-6 mb-8 mx-auto max-w-3xl text-2xl sm:text-3xl md:text-4xl text-center leading-snug italic text-red-100 text-shadow " >
9
- <%= "Learn the techniques that work best across a range of component systems." %>
17
+ <%= subhead %>
10
18
</ p >
11
- < p class = "mx-auto py-2 max-w-4xl text-base md:text-xl text-center " >
19
+ < p hidden class = "mx-auto py-2 max-w-4xl text-base md:text-xl text-center " >
12
20
Topics include:
13
21
<%= for { text , index } <- Enum . with_index ( [ "SwiftUI" , "React" , "Combine" , "RxJS" , "Figma" , "Sketch" , "Performance" , "Clarity" , "Documentation" , "Responsive" , "Design Teams" ] ) do %>
14
- < a href = "# " class = "inline-block md:mx-1 mb-2 md:mb-3 px-3 md:px-4 py-1 md:py-2 font-bold bg-white <%= if index <= 5, do: " text-blue-500 hover:bg-blue-600 ", else: "text-indigo-500 hover:bg-indigo-600 " % > hover:text-white rounded shadow-xl"> <%= text %> </ a >
22
+ < a href = "# " class = "inline-block md:mx-1 mb-2 md:mb-3 px-3 md:px-4 py-1 md:py-2 font-bold bg-white <%= if index <= 5, do: " text-blue-500 hover:bg-blue-600 ", else: "text-indigo-500 hover:bg-indigo-600 " % > hover:text-white rounded shadow-xl"> <%= text %> </ a >
15
23
<% end %>
16
24
</ p >
17
- < div class = "max-w-3xl mx-auto mt-8 flex flex-col sm:flex-row justify-around " >
25
+ < div hidden class = "max-w-3xl mx-auto mt-8 flex flex-col sm:flex-row justify-around " >
18
26
< figure class = "pb-4 flex flex-col items-center " >
19
27
< div style = "height: 92px; " >
20
28
< img src = "https://collected.systems/1/github/leungwensen/svg-icon/b84b3f3a3da329b7c1d02346865f8e98beb05413/dist/svg/material/play-circle-outline.svg?defaultFill=white " width = 92 height = 92 >
36
44
</ div >
37
45
</ section >
38
46
</ div >
39
- <% else %>
40
- < div class = "text-white " style = "background: linear-gradient(-32deg, #840000 0%, #E0003C 30%, #FF493F 50%, #FF584A 50%, #FF6F86 90%, #FF584A 120%); " >
41
- < section class = "container px-6 pt-12 pb-16 " >
42
- < h1 class = "mx-auto max-w-5xl text-5xl text-center leading-snug font-bold " >
43
- <%# = "Great apps need great components. Learn how to make them in SwiftUI & React." %>
44
- <%= "Great apps need great components. Learn how in SwiftUI, Combine, React & RxJS." %>
45
- </ h1 >
46
- < p class = "mt-6 mb-8 mx-auto max-w-3xl text-4xl text-center italic leading-snug text-orange-100 " >
47
- <%# = "Learn the techniques that have worked best across a range of component systems." %>
48
- <%= "Learn the techniques that have worked best for modern component systems." %>
49
- </ p >
50
- < p class = "mx-auto py-2 max-w-4xl text-xl text-center " >
51
- Topics include:
52
- <%= for { text , index } <- Enum . with_index ( [ "SwiftUI" , "React" , "Combine" , "RxJS" , "Figma" , "Sketch" , "Performance" , "Clarity" , "Documentation" , "Responsive" , "Design Teams" ] ) do %>
53
- < a href = "# " class = "inline-block mx-1 mb-3 px-4 py-2 font-bold bg-white <%= if index <= 5, do: " text-blue-500 hover:bg-blue-600 ", else: "text-red-500 hover:bg-red-600 " % > hover:text-white rounded shadow-xl"> <%= text %> </ a >
54
- <% end %>
55
- </ p >
47
+
48
+ < div class = "text-white " >
49
+ < aside class = "py-20 " >
50
+ < div class = "w-full max-w-4xl mx-auto space-y-6 text-3xl rounded overflow-hidden shadow-lg " >
51
+ < p >
52
+ There’s a lot of learning materials on specific technologies out there. But technologies change — rapidly.
53
+
54
+ < p >
55
+ Frameworks will come and go.
56
+ React might be the hotness today, but in a few years another framework might well rule the roost.
57
+
58
+ < p >
59
+ The guides here cover what will remain relevant for decades to come:
60
+
61
+ < ul class = "list-disc pl-8 font-bold " >
62
+ < li class = "text-red-300 " > <%= "Great UX and performance" %>
63
+ < li class = "text-teal-300 " > <%= "Accessibility" %>
64
+ < li class = "text-blue-300 " > <%= "Component naming & responsibility" %>
65
+ < li class = "text-green-300 " > <%= "TDD & BDD" %>
66
+ < li class = "text-yellow-100 " > <%= "Thinking about state" %>
67
+ < li class = "text-orange-300 " > <%= "Modular styling with modern CSS" %>
68
+ < li class = "text-purple-300 " > <%= "Preferring built-in first" %>
69
+ </ ul >
70
+
71
+ < p >
72
+ It’s all free to read and share.
73
+ </ div >
74
+ </ aside >
75
+
76
+ < section class = "pt-20 pb-20 " style = "<%= sections_styles(:cool) %> " >
77
+ < header class = "mb-8 mx-auto max-w-4xl px-4 text-center " >
78
+ < h2 class = "text-4xl font-bold leading-snug " >
79
+ Learn why accessibility is essential for a great UX, and use the same affordances to improve your own Developer Experience.
80
+ </ h2 >
81
+ </ header >
82
+ <%= stack_list ( [
83
+ % { title: "Landmarks" , description: "Ensure your web pages have these familiar regions." , to: "#" , color: "indigo" } ,
84
+ % { title: "Widgets" , description: "Buttons, links, tabs, comboboxes, and more." , to: "#" , color: "orange" } ,
85
+ % { title: "Accessibility-First TDD" , description: "Use accessibility affordances to write robust tests." , to: "/accessibility-first" , color: "green" } ,
86
+ % { title: "Keyboard Navigation Acceptance Tests" , description: "Ensure your forms are keyboard accessibility." , to: "/accessibility-first" , color: "blue" } ,
87
+ ] ) %>
88
+ </ section >
89
+
90
+ < section class = "pt-20 pb-20 text-blue-800 " style = "<%= sections_styles(:cool_light) %> " >
91
+ < header class = "mb-8 mx-auto max-w-4xl px-4 text-center " >
92
+ < h2 class = "text-4xl font-bold leading-snug " >
93
+ Write friendly tests using Jest and BDD.
94
+ </ h2 >
95
+ </ header >
96
+ <%= stack_list ( [
97
+ % { title: "Contexts" , description: "Use accessibility affordances to write robust tests." , to: "/accessibility-first" , color: "green" } ,
98
+ % { title: "Isolated Component Unit Tests" , description: "Test your atom components in isolation." , to: "/accessibility-first" , color: "blue" } ,
99
+
100
+ ] ) %>
56
101
</ section >
57
- </ div >
58
- <% end %>
59
102
60
- < div class = "text-white bg-gray-800 " >
61
- < section class = "pt-20 " >
103
+ < section class = "pt-20 pb-20 text-blue-800 " style = "<%= sections_styles(:cool_light) %> " >
104
+ < header class = "mb-8 mx-auto max-w-4xl px-4 text-center " >
105
+ < h2 class = "text-4xl font-bold leading-snug " >
106
+ Write friendly tests using Jest and BDD.
107
+ </ h2 >
108
+ </ header >
109
+ <%= stack_list ( [
110
+ % { title: "Accessibility-First TDD" , description: "Use accessibility affordances to write robust tests." , to: "/accessibility-first" , color: "green" } ,
111
+ % { title: "Isolated Component Unit Tests" , description: "Test your atom components in isolation." , to: "/accessibility-first" , color: "blue" } ,
112
+
113
+ ] ) %>
114
+ </ section >
115
+
116
+ < section class = "pt-20 pb-20 " style = "<%= sections_styles(:cool) %> " >
62
117
< header class = "mb-8 mx-auto max-w-4xl px-4 text-center " >
63
118
< h2 class = "text-4xl font-bold leading-snug " >
64
119
Make modern iOS and macOS apps using reusable components, async data flow.
78
133
</ div >
79
134
</ section >
80
135
81
- < section class = "pt-20 pb-16 " >
136
+ < section class = "pt-20 pb-16 " style = " <%= sections_styles(:warm) %> " >
82
137
< header class = "mb-8 mx-auto max-w-4xl px-4 text-center " >
83
138
< h2 class = "text-4xl font-bold " > Learn to make modern web apps using components, hooks, async data flow.</ h2 >
84
139
</ header >
100
155
</ a >
101
156
</ div >
102
157
</ section >
103
- </ div >
158
+ </ div >
0 commit comments