diff --git a/apps/app/lib/app_web/templates/layout/_menu.html.eex b/apps/app/lib/app_web/templates/layout/_menu.html.eex index df3c7092..13107a34 100644 --- a/apps/app/lib/app_web/templates/layout/_menu.html.eex +++ b/apps/app/lib/app_web/templates/layout/_menu.html.eex @@ -13,6 +13,22 @@
- <%= 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" + %>
@@ -97,12 +105,12 @@
-

+

Out of the Box Features

-

Authentication

+

Authentication

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 @@

-

Content Management

+

Content Management

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 @@

-

Admin Dashboard

+

Admin Interface & Dashboard

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 @@

-

Tailwind CSS

+

Tailwind CSS

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 @@

-

Battle-tested Fluid Email Templates

+

Battle-tested Fluid Email Templates

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 @@

-

Full DevOps Stack

+

Full DevOps Stack

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 @@

-

And More.

+

And More.

A lot more. Like Background jobs, localization / internationalization, great out-of-the-box forms, list views, and detail pages. @@ -192,15 +200,28 @@

-
-
-

- What are you waiting for? -

-
-
- <%= styled_button_link "Log In", to: "/session/new" %> - <%= styled_button_link "Sign Up", to: "/registration/new" %> +
+
+
+
+ Resources + + <%= link "Documentation", + to: "https://hexdocs.pm/legendary_core/", + target: "_blank", + rel: "nofollow", + class: "text-indigo-500" + %> + + + <%= link "Code", + to: "https://gitlab.com/mythic-insight/legendary", + target: "_blank", + rel: "nofollow", + class: "text-indigo-500" + %> + +
diff --git a/apps/core/lib/core_web/views/helpers.ex b/apps/core/lib/core_web/views/helpers.ex index 8a6a7252..163358dd 100644 --- a/apps/core/lib/core_web/views/helpers.ex +++ b/apps/core/lib/core_web/views/helpers.ex @@ -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() diff --git a/mix.lock b/mix.lock index d7646981..b072623c 100644 --- a/mix.lock +++ b/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"},