feat: Spruce up the links on the home page
This commit is contained in:
parent
02d8735d20
commit
def0c8b804
4 changed files with 64 additions and 21 deletions
|
@ -13,6 +13,22 @@
|
|||
|
||||
<div class="w-full flex-grow lg:flex lg:items-center lg:w-auto hidden lg:block pt-6 lg:pt-0" id="nav-content">
|
||||
<ul class="list-reset lg:flex justify-end flex-1 items-center">
|
||||
<li class="mr-3">
|
||||
<%= link "Documentation",
|
||||
to: "https://hexdocs.pm/legendary_core/",
|
||||
target: "_blank",
|
||||
rel: "nofollow",
|
||||
class: "inline-block text-white no-underline hover:text-white hover:text-underline py-2 px-4"
|
||||
%>
|
||||
</li>
|
||||
<li class="mr-3">
|
||||
<%= link "Code",
|
||||
to: "https://gitlab.com/mythic-insight/legendary",
|
||||
target: "_blank",
|
||||
rel: "nofollow",
|
||||
class: "inline-block text-white no-underline hover:text-white hover:text-underline py-2 px-4"
|
||||
%>
|
||||
</li>
|
||||
<%= if has_role?(@conn, :admin) do %>
|
||||
<li class="mr-3">
|
||||
<a class="inline-block py-2 px-4 text-white no-underline" href="/admin">Admin</a>
|
||||
|
|
|
@ -26,8 +26,16 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="w-full lg:w-8/12 px-4 ml-auto mr-auto text-center my-12">
|
||||
<%= styled_button_link "Log In", to: "/session/new" %>
|
||||
<%= styled_button_link "Sign Up", to: "/registration/new" %>
|
||||
<%= styled_inverse_button_link "Documentation",
|
||||
to: "https://hexdocs.pm/legendary_core/",
|
||||
target: "_blank",
|
||||
rel: "nofollow"
|
||||
%>
|
||||
<%= styled_button_link "Code",
|
||||
to: "https://gitlab.com/mythic-insight/legendary",
|
||||
target: "_blank",
|
||||
rel: "nofollow"
|
||||
%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -97,12 +105,12 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap items-center mt-32">
|
||||
<h2 class="w-full text-3xl text-center">
|
||||
<h2 class="w-full text-4xl text-center text-indigo-500 font-bold">
|
||||
Out of the Box Features
|
||||
</h2>
|
||||
<div class="w-full border-gray-400 border-t-2 border-b-2 py-12 px-4 mt-12 flex">
|
||||
<div class="lg:w-1/2 mr-12">
|
||||
<h1 class="text-2xl">Authentication</h1>
|
||||
<h1 class="text-2xl text-indigo-500 font-semibold">Authentication</h1>
|
||||
<p class="text-xl mt-6">
|
||||
Look, you don't want to build yet another auth system. You want to build an application. Authentication
|
||||
is a solved problem. With Legendary you don't need to reinvent the wheel.
|
||||
|
@ -117,7 +125,7 @@
|
|||
<img src="/images/content.svg" />
|
||||
</div>
|
||||
<div class="lg:w-1/2 ml-12">
|
||||
<h1 class="text-2xl">Content Management</h1>
|
||||
<h1 class="text-2xl text-indigo-500 font-semibold">Content Management</h1>
|
||||
<p class="text-xl mt-6">
|
||||
Legendary comes with a simple content management system for building custom pages and blog posts. Don't
|
||||
get stuck building simple content pages when your development talent is better spent elsewhere.
|
||||
|
@ -125,7 +133,7 @@
|
|||
</div>
|
||||
<div class="w-full border-gray-400 border-b-2 py-12 px-4 flex">
|
||||
<div class="lg:w-1/2 mr-12">
|
||||
<h1 class="text-2xl">Admin Dashboard</h1>
|
||||
<h1 class="text-2xl text-indigo-500 font-semibold">Admin Interface & Dashboard</h1>
|
||||
<p class="text-xl mt-6">
|
||||
There are plenty of tasks that don't require custom code. Legendary integrates the Kaffy admin dashboard
|
||||
so that you can focus on what is unique to your application instead of churning out CRUD or editing database
|
||||
|
@ -141,7 +149,7 @@
|
|||
<img src="/images/tailwind.svg" />
|
||||
</div>
|
||||
<div class="lg:w-1/2 ml-12">
|
||||
<h1 class="text-2xl">Tailwind CSS</h1>
|
||||
<h1 class="text-2xl text-indigo-500 font-semibold">Tailwind CSS</h1>
|
||||
<p class="text-xl mt-6">
|
||||
Tailwind is a rad CSS framework that gives you the building blocks you need to implement
|
||||
any design, without fighting a super-opinionated CSS framework.
|
||||
|
@ -150,7 +158,7 @@
|
|||
</div>
|
||||
<div class="w-full border-gray-400 border-b-2 py-12 px-4 pb-24 flex">
|
||||
<div class="lg:w-1/2">
|
||||
<h1 class="text-2xl">Battle-tested Fluid Email Templates</h1>
|
||||
<h1 class="text-2xl text-indigo-500 font-semibold">Battle-tested Fluid Email Templates</h1>
|
||||
<p class="text-xl mt-6">
|
||||
HTML email is hard. But it's also a solved problem. We include an HTML email template and toolkit that has been
|
||||
tested across all the major email clients from mobile to desktop. You probably didn't get into this to code yet
|
||||
|
@ -166,7 +174,7 @@
|
|||
<img src="/images/infra.svg" />
|
||||
</div>
|
||||
<div class="lg:w-1/2 ml-12">
|
||||
<h1 class="text-2xl">Full DevOps Stack</h1>
|
||||
<h1 class="text-2xl text-indigo-500 font-semibold">Full DevOps Stack</h1>
|
||||
<p class="text-xl mt-6">
|
||||
Legendary includes a full set of CI / CD scripts so you can immediately
|
||||
test and deploy your app as a semantically-versioned Docker
|
||||
|
@ -177,7 +185,7 @@
|
|||
</div>
|
||||
<div class="w-full border-gray-400 py-12 px-4 pb-24 flex">
|
||||
<div class="lg:w-1/2">
|
||||
<h1 class="text-2xl">And More.</h1>
|
||||
<h1 class="text-2xl text-indigo-500 font-semibold">And More.</h1>
|
||||
<p class="text-xl mt-6">
|
||||
A lot more. Like Background jobs, localization / internationalization,
|
||||
great out-of-the-box forms, list views, and detail pages.
|
||||
|
@ -192,15 +200,28 @@
|
|||
</section>
|
||||
<section class="bg-gray-100 py-12 pb-32">
|
||||
<div class="relative mx-auto">
|
||||
<div class="items-center flex flex-wrap">
|
||||
<div class="w-full lg:w-8/12 px-4 ml-auto mr-auto text-center">
|
||||
<h1 class="text-purple-600 font-semibold text-4xl">
|
||||
What are you waiting for?
|
||||
</h1>
|
||||
<div class="container mx-auto px-6">
|
||||
<div class="sm:flex sm:mt-8">
|
||||
<div class="mt-8 sm:mt-0 sm:w-full sm:px-8 flex flex-col md:flex-row justify-between">
|
||||
<div class="flex flex-col">
|
||||
<span class="font-bold text-gray-700 uppercase mb-2">Resources</span>
|
||||
<span class="my-2">
|
||||
<%= link "Documentation",
|
||||
to: "https://hexdocs.pm/legendary_core/",
|
||||
target: "_blank",
|
||||
rel: "nofollow",
|
||||
class: "text-indigo-500"
|
||||
%>
|
||||
</span>
|
||||
<span class="my-2">
|
||||
<%= link "Code",
|
||||
to: "https://gitlab.com/mythic-insight/legendary",
|
||||
target: "_blank",
|
||||
rel: "nofollow",
|
||||
class: "text-indigo-500"
|
||||
%>
|
||||
</span>
|
||||
</div>
|
||||
<div class="w-full lg:w-8/12 px-4 ml-auto mr-auto text-center my-12">
|
||||
<%= styled_button_link "Log In", to: "/session/new" %>
|
||||
<%= styled_button_link "Sign Up", to: "/registration/new" %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -137,6 +137,12 @@ defmodule CoreWeb.Helpers do
|
|||
"""
|
||||
end
|
||||
|
||||
def styled_inverse_button_link(text, opts) do
|
||||
~E"""
|
||||
<%= link text, opts ++ [class: "bg-white text-black active:bg-gray-700 text-sm font-bold uppercase px-4 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 w-full"] %>
|
||||
"""
|
||||
end
|
||||
|
||||
def paginator(first..last, current, callback) do
|
||||
[first, current - 1, current, current + 1, last]
|
||||
|> Enum.sort()
|
||||
|
|
4
mix.lock
4
mix.lock
|
@ -54,9 +54,9 @@
|
|||
"phoenix_live_view": {:hex, :phoenix_live_view, "0.13.3", "2186c55cc7c54ca45b97c6f28cfd267d1c61b5f205f3c83533704cd991bdfdec", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.4.17 or ~> 1.5.2", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14", [hex: :phoenix_html, repo: "hexpm", optional: false]}], "hexpm", "c6309a7da2e779cb9cdf2fb603d75f38f49ef324bedc7a81825998bd1744ff8a"},
|
||||
"phoenix_pubsub": {:hex, :phoenix_pubsub, "2.0.0", "a1ae76717bb168cdeb10ec9d92d1480fec99e3080f011402c0a2d68d47395ffb", [:mix], [], "hexpm", "c52d948c4f261577b9c6fa804be91884b381a7f8f18450c5045975435350f771"},
|
||||
"php_serializer": {:hex, :php_serializer, "0.9.2", "59c5fd6bd3096671fd89358fb8229341ac7423b50ad8d45a15213b02ea2edab2", [:mix], [], "hexpm", "34eb835a460944f7fc216773b363c02e7dcf8ac0390c9e9ccdbd92b31a7ca59a"},
|
||||
"plug": {:hex, :plug, "1.11.0", "f17217525597628298998bc3baed9f8ea1fa3f1160aa9871aee6df47a6e4d38e", [:mix], [{:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "2d9c633f0499f9dc5c2fd069161af4e2e7756890b81adcbb2ceaa074e8308876"},
|
||||
"plug": {:hex, :plug, "1.11.1", "f2992bac66fdae679453c9e86134a4201f6f43a687d8ff1cd1b2862d53c80259", [:mix], [{:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "23524e4fefbb587c11f0833b3910bfb414bf2e2534d61928e920f54e3a1b881f"},
|
||||
"plug_cowboy": {:hex, :plug_cowboy, "2.4.1", "779ba386c0915027f22e14a48919a9545714f849505fa15af2631a0d298abf0f", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "d72113b6dff7b37a7d9b2a5b68892808e3a9a752f2bf7e503240945385b70507"},
|
||||
"plug_crypto": {:hex, :plug_crypto, "1.2.1", "5c854427528bf61d159855cedddffc0625e2228b5f30eff76d5a4de42d896ef4", [:mix], [], "hexpm", "6961c0e17febd9d0bfa89632d391d2545d2e0eb73768f5f50305a23961d8782c"},
|
||||
"plug_crypto": {:hex, :plug_crypto, "1.2.2", "05654514ac717ff3a1843204b424477d9e60c143406aa94daf2274fdd280794d", [:mix], [], "hexpm", "87631c7ad914a5a445f0a3809f99b079113ae4ed4b867348dd9eec288cecb6db"},
|
||||
"postgrex": {:hex, :postgrex, "0.15.5", "aec40306a622d459b01bff890fa42f1430dac61593b122754144ad9033a2152f", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm", "ed90c81e1525f65a2ba2279dbcebf030d6d13328daa2f8088b9661eb9143af7f"},
|
||||
"pow": {:hex, :pow, "1.0.20", "b99993811af5233681bfc521e81ca706d25a56f2be54bad6424db327ce840ab9", [:mix], [{:ecto, "~> 2.2 or ~> 3.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix, ">= 1.3.0 and < 1.6.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, ">= 2.0.0 and <= 3.0.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:plug, ">= 1.5.0 and < 2.0.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "4b6bd271399ccb353abbdbdc316199fe7fd7ae36bbf47059d53e366831c34fc8"},
|
||||
"quantum": {:hex, :quantum, "2.4.0", "f2ad4b20988f848455d35ed0e884ba0c7629a27ee86cbec6a6e0fc214b6e69cf", [:mix], [{:calendar, "~> 0.17", [hex: :calendar, repo: "hexpm", optional: true]}, {:crontab, "~> 1.1", [hex: :crontab, repo: "hexpm", optional: false]}, {:gen_stage, "~> 0.12 or ~> 1.0", [hex: :gen_stage, repo: "hexpm", optional: false]}, {:swarm, "~> 3.3", [hex: :swarm, repo: "hexpm", optional: false]}, {:timex, "~> 3.1", [hex: :timex, repo: "hexpm", optional: true]}, {:tzdata, "~> 1.0", [hex: :tzdata, repo: "hexpm", optional: true]}], "hexpm", "a125a9e65a5af740a1198f3b05c1a736fce3942f5e0dc2901e0f9be5745bea99"},
|
||||
|
|
Loading…
Reference in a new issue