-
Notifications
You must be signed in to change notification settings - Fork 66
/
index_page.cr
267 lines (260 loc) · 11.8 KB
/
index_page.cr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
class Learn::AwesomeLucky::IndexPage < PageLayout
def hero_content
render_hero_content
end
def content
div class: "flex flex-col flex-1 justify-start mt-5" do
render_blog_posts_list
render_tools_list
render_sites_list
render_shards_list
end
end
# A list of awesome blog posts about using Lucky
private def render_blog_posts_list
mount AwesomeListGroup, group_title: "Blog Posts / Podcasts / Videos" do
mount AwesomeLink,
text: "Lucky, an experimental new web framework by thoughtbot",
url: "https://thoughtbot.com/blog/lucky-an-experimental-new-web-framework-by-thoughtbot"
mount AwesomeLink,
text: "Ruby on Rails to Lucky on Crystal: Blazing fast, fewer bugs, and even more fun.",
url: "https://hackernoon.com/ruby-on-rails-to-lucky-on-crystal-blazing-fast-fewer-bugs-and-even-more-fun-104010913fec"
mount AwesomeLink,
text: "Blogs on Dev.to",
url: "https://dev.to/t/lucky"
mount AwesomeLink,
text: "Designing Lucky: Rock Solid Actions & Routing ",
url: "https://thoughtbot.com/blog/designing-lucky-actions-routing"
mount AwesomeLink,
text: "SER: Paul Smith on The Crystal Programming Language and the Lucky Web Framework",
url: "https://www.se-radio.net/2020/09/episode-425-paul-smith-on-the-crystal-programming-language-and-the-lucky-web-framework/"
mount AwesomeLink,
text: "Bikeshed: Less Charted Territory with Paul Smith",
url: "https://www.bikeshed.fm/170"
mount AwesomeLink,
text: "Stephen Dolan: Learn to Love HTML and Embrace the Lucky Way | Crystal 1.0 Conference",
url: "https://www.youtube.com/watch?v=_gt5khId1AA&list=PLe1-A91ZPTpBBrrIV-N_fMmCWbFM4Uj4v&index=5"
mount AwesomeLink,
text: "Bruce Perens: Building a 'billion dollar' startup with Crystal and Lucky | Crystal 1.0 Conference",
url: "https://www.youtube.com/watch?v=XRl-it1-ruI&list=PLe1-A91ZPTpBBrrIV-N_fMmCWbFM4Uj4v&index=10"
mount AwesomeLink,
text: "Jeremy Woertink: How I got Lucky | Raw Crystal 2020",
url: "https://www.youtube.com/watch?v=rnu4g-vCZ70&list=PLfpFq_WLOW__RIIyWvTgYV4bw2cpav2mJ&index=7"
mount AwesomeLink,
text: "Security Testing, Spec by Spec, with Bright",
url: "https://www.youtube.com/watch?v=76NYNsGPvLk"
end
end
# A list of awesome tools to make developing Lucky applications easier
private def render_tools_list
mount AwesomeListGroup, group_title: "Tools" do
mount AwesomeLink,
text: "LuckyDiff",
url: "https://luckydiff.com",
description: "Compare generated apps between Lucky versions."
mount AwesomeLink,
text: "HTML to Lucky converter",
url: "https://luckyframework.org/html",
description: "Convert your HTML markup in to Lucky supported Crystal code"
mount AwesomeLink,
text: "Kindmetrics",
url: "https://github.com/kindmetrics/kindmetrics",
description: "A privacy focused open-source analytics server"
mount AwesomeLink,
text: "Lucky Jumpstart",
url: "https://github.com/stephendolan/lucky_jumpstart",
description: "Build Lucky apps even faster"
mount AwesomeLink,
text: "Lucky Hasura Docker",
url: "https://github.com/KCErb/lucky-hasura-docker/",
description: "Get up and running with Hasura and Docker using Lucky"
mount AwesomeLink,
text: "VSCode Lucky extension",
url: "https://marketplace.visualstudio.com/items?itemName=stephendolan.lucky",
description: "Add extra Lucky helpers in to your VS Code workflow"
end
end
private def render_sites_list
mount AwesomeListGroup, group_title: "Built-with Lucky" do
mount AwesomeLink,
text: "Official Lucky Website",
url: "https://luckyframework.org",
description: "The official site for the Lucky Framework"
mount AwesomeLink,
text: "Lucky Diff",
url: "https://luckydiff.com",
description: "Compare generated apps between Lucky versions."
mount AwesomeLink,
text: "Lucky Casts",
url: "https://luckycasts.com",
description: "Video screencasts on Lucky and the Crystal programming language"
mount AwesomeLink,
text: "Lucky Bits",
url: "https://www.luckybits.link",
description: "Create small link snippets to share with friends"
mount AwesomeLink,
text: "The Offline Pink",
url: "https://the.offline.pink",
description: "Service availability monitoring"
mount AwesomeLink,
text: "Valheim Server Hosting",
url: "https://valheimserverhosting.com",
description: "Server hosting for the Valheim game"
mount AwesomeLink,
text: "Read Rust",
url: "https://readrust.net",
description: "A collection of information on the Rust programming language... Yes, it's built with Lucky!"
mount AwesomeLink,
text: "Scribe",
url: "https://scribe.rip/",
description: "Alternative frontend to Medium.com"
mount AwesomeLink,
text: "Review My Email",
url: "https://reviewmy.email/",
description: "ReviewMy helps you submit quick snippets for review for emails, text messages, portions of larger documents"
mount AwesomeLink,
text: "DendroRithms",
url: "https://dendrorithms.com/",
description: "DendroRithms is a one-of-a-kind NFT generative art installation inspired by tree growth rings"
mount AwesomeLink,
text: "JoystickTV",
url: "https://joystick.tv/",
description: "Twitch-like live streaming platform for content creators with more freedom",
tags: [AwesomeLink::Tags::Adult]
mount AwesomeLink,
text: "Erro",
url: "https://www.erro.sh",
description: "Erro monitor and help you handle exceptions and errors for your apps."
end
end
# A list of Lucky specific shards to enhance your application
private def render_shards_list
mount AwesomeListGroup, group_title: "Shards" do
mount AwesomeLink,
text: "Lucky Basic Auth",
url: "https://github.com/jwoertink/lucky-basic-auth",
description: "Add basic-auth to any action in your Lucky application"
mount AwesomeLink,
text: "Lucky Cluster",
url: "https://github.com/jwoertink/lucky-cluster",
description: "Enable multi-process with reuseport for your Lucky application"
mount AwesomeLink,
text: "Shield",
url: "https://github.com/grottopress/shield",
description: "Comprehensive security solution and authentication for Lucky"
mount AwesomeLink,
text: "Lucky SVG builder",
url: "https://github.com/wout/lucky_svg_sprite",
description: "Turn your SVG markup into reusable Lucky components"
mount AwesomeLink,
text: "Lucky Favicon",
url: "https://github.com/wout/lucky_favicon",
description: "Add favicons from the Real Favicon Generator to your Lucky project"
mount AwesomeLink,
text: "Breeze",
url: "https://github.com/luckyframework/breeze",
description: "A development dashboard and logging enhancement"
mount AwesomeLink,
text: "Have I Been Pwned",
url: "https://github.com/watzon/lucky_have_i_been_pwned_validator",
description: "A validator for your User model to check if the password has been leaked"
mount AwesomeLink,
text: "Lucky Encrypted Columns",
url: "https://github.com/microgit-com/lucky_encrypted",
description: "Encrypt your columns"
mount AwesomeLink,
text: "Multi-Auth",
url: "https://github.com/msa7/multi_auth#lucky-integration-example",
description: "OAuth with multiple different service"
mount AwesomeLink,
text: "Carbon SendGrid Adapter",
url: "https://github.com/luckyframework/carbon_sendgrid_adapter",
description: "Send mail with Carbon using SendGrid"
mount AwesomeLink,
text: "Carbon SES Adapter",
url: "https://github.com/keizo3/carbon_aws_ses_adapter",
description: "Send mail with Carbon using SES"
mount AwesomeLink,
text: "Carbon SendInBlue Adapter",
url: "https://github.com/atnos/carbon_send_in_blue_adapter",
description: "Send mail with Carbon using SendInBlue"
mount AwesomeLink,
text: "Carbon Mailgun Adapter",
url: "https://github.com/atnos/carbon_mailgun_adapter",
description: "Send mail with Carbon using Mailgun"
mount AwesomeLink,
text: "Carbon SMTP Adapter",
url: "https://github.com/oneiros/carbon_smtp_adapter",
description: "Send mail with Carbon using standard SMTP"
mount AwesomeLink,
text: "Carbon SparkPost Adapter",
url: "https://github.com/Swiss-Crystal/carbon_sparkpost_adapter",
description: "Send mail with Carbon using SparkPost"
mount AwesomeLink,
text: "Carbon PostMark Adapter",
url: "https://github.com/makisu/carbon_postmark_adapter",
description: "Send mail with Carbon using PostMark"
mount AwesomeLink,
text: "Lucky PG Extras",
url: "https://github.com/matthewmcgarvey/lucky_pg_extras",
description: "Extra insights in to your postgres database"
mount AwesomeLink,
text: "Lucky Legacy routing",
url: "https://github.com/matthewmcgarvey/lucky_legacy_routing",
description: "Keep using the old route and nested_route helpers in your actions"
mount AwesomeLink,
text: "Lucky Styleable",
url: "https://github.com/matthewmcgarvey/lucky_styleable",
description: "Scoped CSS for your Lucky Components"
mount AwesomeLink,
text: "Pundit",
url: "https://github.com/stephendolan/pundit",
description: "Shard for managing authorization in Lucky applications"
mount AwesomeLink,
text: "LuckyCan",
url: "https://github.com/confact/lucky_can",
description: "A nice way to handle authorization rules for your Lucky app"
mount AwesomeLink,
text: "Lucky Redis Session",
url: "https://github.com/sungchuldotdev/lucky_redis_session",
description: "Middleware handler to use Redis as a back-end for storing sessions"
mount AwesomeLink,
text: "LuckySvelt",
url: "https://github.com/lucky-svelte/lucky_svelte",
description: "View helpers for rendering Svelt JS components in Lucky"
mount AwesomeLink,
text: "Rosetta",
url: "https://github.com/wout/rosetta",
description: "A blazing fast internationalization library with compile-time key lookup"
mount AwesomeLink,
text: "Lucille",
url: "https://github.com/GrottoPress/lucille",
description: "Lucille is a collection of utilities for Lucky framework"
mount AwesomeLink,
text: "Bill",
url: "https://github.com/GrottoPress/bill",
description: "Bill is an Accounts Receivable automation system for Lucky framework"
end
end
private def render_hero_content
div class: "bg-lucky-teal-blue-gradient" do
div class: "py-8 md:py-16 px-6 sm:px-10 mx-auto container text-center text-white" do
div class: "mx-auto md:px-24 lg:px-32" do
h1 class: "leading-normal text-blue-lightest font-light text-3xl md:text-4xl" do
text "Awesome Lucky"
end
para class: "text-blue-lighter lg:px-24 leading-loose mt-5 text-lg sm:text-xl" do
text <<-TEXT
A categorized community-driven collection of awesome Lucky libraries, tools, resources.
TEXT
br
text "Originally provided by the Awesome"
nbsp
a "@andrewmcodes", class: "hover:text-white", href: "https://github.com/andrewmcodes", target: "_blank"
text "."
end
end
end
end
end
end