rename from llmex to monotab
This commit is contained in:
@@ -1,11 +1,11 @@
|
|||||||
# llmex
|
# MonoTab
|
||||||
|
|
||||||
## Getting Started
|
## Getting Started
|
||||||
|
|
||||||
Once you bootstrap and enter your project, fetch your dependencies and start the build server. The server is available at http://localhost:4999
|
Once you bootstrap and enter your project, fetch your dependencies and start the build server. The server is available at http://localhost:4999
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
cd llmex
|
cd monotab
|
||||||
mix deps.get
|
mix deps.get
|
||||||
|
|
||||||
mix tableau.server
|
mix tableau.server
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
---
|
---
|
||||||
title: "Test Post: Getting Started with Elixir"
|
title: "Test Post: Getting Started with Elixir"
|
||||||
date: "2024-01-15"
|
date: "2024-01-15"
|
||||||
author: "Llmex Team"
|
author: "MonoTab Team"
|
||||||
layout: Llmex.PostLayout
|
layout: MonoTab.PostLayout
|
||||||
---
|
---
|
||||||
|
|
||||||
# Getting Started with Elixir
|
# Getting Started with Elixir
|
||||||
@@ -55,4 +55,4 @@ Elixir's pipe operator (`|>`) allows for clean, readable code:
|
|||||||
|> Enum.count()
|
|> Enum.count()
|
||||||
```
|
```
|
||||||
|
|
||||||
This blog post is just a simple introduction to Elixir. Stay tuned for more in-depth tutorials and examples!
|
This blog post is just a simple introduction to Elixir. Stay tuned for more in-depth tutorials and examples!
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
@@ -7,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
||||||
<title>
|
<title>
|
||||||
Test Post: Getting Started with Elixir | Llmex Blog
|
Test Post: Getting Started with Elixir | MonoTab Blog
|
||||||
</title>
|
</title>
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/mono.css">
|
<link rel="stylesheet" href="/css/mono.css">
|
||||||
@@ -18,7 +17,7 @@
|
|||||||
<body class="mono-all">
|
<body class="mono-all">
|
||||||
<aside>
|
<aside>
|
||||||
<nav>
|
<nav>
|
||||||
<h1><a href="/">Llmex Blog</a></h1>
|
<h1><a href="/">MonoTab Blog</a></h1>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/">Home</a></li>
|
<li><a href="/">Home</a></li>
|
||||||
<li><a href="/posts">Posts</a></li>
|
<li><a href="/posts">Posts</a></li>
|
||||||
@@ -71,7 +70,11 @@
|
|||||||
|
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
<p>© 2025 Llmex Blog. Built with <a href="https://github.com/artalar/mono" target="_blank">Mono</a> and <a href="https://github.com/elixir-tools/tableau" target="_blank">Tableau</a></p>
|
<p>
|
||||||
|
© 2025 MonoTab Blog. Built with
|
||||||
|
<a href="https://github.com/artalar/mono" target="_blank">Mono</a>
|
||||||
|
and <a href="https://github.com/elixir-tools/tableau" target="_blank">Tableau</a>
|
||||||
|
</p>
|
||||||
</footer>
|
</footer>
|
||||||
</main>
|
</main>
|
||||||
</body>
|
</body>
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
@@ -7,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
||||||
<title>
|
<title>
|
||||||
Llmex Blog
|
MonoTab Blog
|
||||||
</title>
|
</title>
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/mono.css">
|
<link rel="stylesheet" href="/css/mono.css">
|
||||||
@@ -18,7 +17,7 @@
|
|||||||
<body class="mono-all">
|
<body class="mono-all">
|
||||||
<aside>
|
<aside>
|
||||||
<nav>
|
<nav>
|
||||||
<h1><a href="/">Llmex Blog</a></h1>
|
<h1><a href="/">MonoTab Blog</a></h1>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/">Home</a></li>
|
<li><a href="/">Home</a></li>
|
||||||
<li><a href="/posts">Posts</a></li>
|
<li><a href="/posts">Posts</a></li>
|
||||||
@@ -31,8 +30,7 @@
|
|||||||
<section>
|
<section>
|
||||||
<h2>About</h2>
|
<h2>About</h2>
|
||||||
<p>
|
<p>
|
||||||
Welcome to Llmex Blog, a demonstration of building static sites with Elixir's Tableau generator.
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi velit felis, fermentum id dolor luctus, pellentesque aliquam dui. In hac habitasse platea dictumst. Cras non erat sed risus aliquet molestie eu eget massa.
|
||||||
This blog showcases the power and elegance of functional programming applied to web development.
|
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -40,17 +38,21 @@
|
|||||||
<h2>Technology Stack</h2>
|
<h2>Technology Stack</h2>
|
||||||
<p>This blog is built using:</p>
|
<p>This blog is built using:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="https://github.com/elixir-tools/tableau" target="_blank">Tableau</a> - Static site generator for Elixir</li>
|
<li>
|
||||||
<li><a href="https://github.com/artalar/mono" target="_blank">Mono</a> - A brutalist CSS framework for clean, semantic styling</li>
|
<a href="https://github.com/elixir-tools/tableau" target="_blank">Tableau</a>
|
||||||
|
- Static site generator for Elixir
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="https://github.com/artalar/mono" target="_blank">Mono</a>
|
||||||
|
- A brutalist CSS framework for clean, semantic styling
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<h2>Our Philosophy</h2>
|
<h2>Our Philosophy</h2>
|
||||||
<p>
|
<p>
|
||||||
We believe in the power of functional programming to create maintainable,
|
Proin nec sem vitae neque vehicula sagittis. Curabitur placerat, magna vel sodales rutrum, turpis massa cursus justo, quis faucibus nisl ante non est. Quisque eget dui venenatis, luctus ligula eget, malesuada nisl.
|
||||||
scalable, and elegant solutions. Through this blog, we aim to share insights,
|
|
||||||
tutorials, and experiences from the world of Elixir and functional web development.
|
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -63,7 +65,11 @@
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
<p>© 2025 Llmex Blog. Built with <a href="https://github.com/artalar/mono" target="_blank">Mono</a> and <a href="https://github.com/elixir-tools/tableau" target="_blank">Tableau</a></p>
|
<p>
|
||||||
|
© 2025 MonoTab Blog. Built with
|
||||||
|
<a href="https://github.com/artalar/mono" target="_blank">Mono</a>
|
||||||
|
and <a href="https://github.com/elixir-tools/tableau" target="_blank">Tableau</a>
|
||||||
|
</p>
|
||||||
</footer>
|
</footer>
|
||||||
</main>
|
</main>
|
||||||
</body>
|
</body>
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||||
<channel>
|
<channel>
|
||||||
<atom:link href="http://localhost:4999/feed.xml" rel="self" type="application/rss+xml" />
|
<atom:link href="http://localhost:4999/feed.xml" rel="self" type="application/rss+xml" />
|
||||||
<title>llmex</title>
|
<title>monotab</title>
|
||||||
<link>http://localhost:4999</link>
|
<link>http://localhost:4999</link>
|
||||||
<description>My beautiful website</description>
|
<description>My beautiful website</description>
|
||||||
<language>en-us</language>
|
<language>en-us</language>
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
@@ -7,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
||||||
<title>
|
<title>
|
||||||
Llmex Blog
|
MonoTab Blog
|
||||||
</title>
|
</title>
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/mono.css">
|
<link rel="stylesheet" href="/css/mono.css">
|
||||||
@@ -18,7 +17,7 @@
|
|||||||
<body class="mono-all">
|
<body class="mono-all">
|
||||||
<aside>
|
<aside>
|
||||||
<nav>
|
<nav>
|
||||||
<h1><a href="/">Llmex Blog</a></h1>
|
<h1><a href="/">MonoTab Blog</a></h1>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/">Home</a></li>
|
<li><a href="/">Home</a></li>
|
||||||
<li><a href="/posts">Posts</a></li>
|
<li><a href="/posts">Posts</a></li>
|
||||||
@@ -29,15 +28,18 @@
|
|||||||
|
|
||||||
<main>
|
<main>
|
||||||
<section>
|
<section>
|
||||||
<h2>Welcome to Llmex Blog</h2>
|
<h2>Welcome</h2>
|
||||||
<p>
|
<p>
|
||||||
A simple blog built with Elixir, Phoenix LiveView, and Tableau static site generator.
|
A simple blog built with Elixir, Phoenix LiveView, and Tableau static site generator.
|
||||||
Explore our latest posts and insights on functional programming, web development, and more.
|
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
<p>© 2025 Llmex Blog. Built with <a href="https://github.com/artalar/mono" target="_blank">Mono</a> and <a href="https://github.com/elixir-tools/tableau" target="_blank">Tableau</a></p>
|
<p>
|
||||||
|
© 2025 MonoTab Blog. Built with
|
||||||
|
<a href="https://github.com/artalar/mono" target="_blank">Mono</a>
|
||||||
|
and <a href="https://github.com/elixir-tools/tableau" target="_blank">Tableau</a>
|
||||||
|
</p>
|
||||||
</footer>
|
</footer>
|
||||||
</main>
|
</main>
|
||||||
</body>
|
</body>
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
@@ -7,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
||||||
<title>
|
<title>
|
||||||
Llmex Blog
|
MonoTab Blog
|
||||||
</title>
|
</title>
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/mono.css">
|
<link rel="stylesheet" href="/css/mono.css">
|
||||||
@@ -18,7 +17,7 @@
|
|||||||
<body class="mono-all">
|
<body class="mono-all">
|
||||||
<aside>
|
<aside>
|
||||||
<nav>
|
<nav>
|
||||||
<h1><a href="/">Llmex Blog</a></h1>
|
<h1><a href="/">MonoTab Blog</a></h1>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/">Home</a></li>
|
<li><a href="/">Home</a></li>
|
||||||
<li><a href="/posts">Posts</a></li>
|
<li><a href="/posts">Posts</a></li>
|
||||||
@@ -65,7 +64,11 @@
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
<p>© 2025 Llmex Blog. Built with <a href="https://github.com/artalar/mono" target="_blank">Mono</a> and <a href="https://github.com/elixir-tools/tableau" target="_blank">Tableau</a></p>
|
<p>
|
||||||
|
© 2025 MonoTab Blog. Built with
|
||||||
|
<a href="https://github.com/artalar/mono" target="_blank">Mono</a>
|
||||||
|
and <a href="https://github.com/elixir-tools/tableau" target="_blank">Tableau</a>
|
||||||
|
</p>
|
||||||
</footer>
|
</footer>
|
||||||
</main>
|
</main>
|
||||||
</body>
|
</body>
|
||||||
|
@@ -1 +1 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"><url><loc>http://localhost:4999/about</loc></url><url><loc>http://localhost:4999/</loc></url><url><loc>http://localhost:4999/posts</loc></url><url><lastmod>2024-01-15T00:00:00Z</lastmod><loc>http://localhost:4999/2024-01-15-test-post</loc></url></urlset>
|
<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"><url><loc>http://localhost:4999/posts</loc></url><url><loc>http://localhost:4999/</loc></url><url><loc>http://localhost:4999/about</loc></url><url><lastmod>2024-01-15T00:00:00Z</lastmod><loc>http://localhost:4999/2024-01-15-test-post</loc></url></urlset>
|
@@ -3,17 +3,14 @@ import Config
|
|||||||
config :tableau, :reloader,
|
config :tableau, :reloader,
|
||||||
patterns: [
|
patterns: [
|
||||||
~r"^lib/.*.ex",
|
~r"^lib/.*.ex",
|
||||||
~r"^(_posts|_pages)/.*.md",~r"^extra/.*.(css|js)"
|
~r"^(_posts|_pages)/.*.md",
|
||||||
|
~r"^extra/.*.(css|js)"
|
||||||
]
|
]
|
||||||
|
|
||||||
config :web_dev_utils, :reload_log, true
|
config :web_dev_utils, :reload_log, true
|
||||||
# uncomment this if you use something like ngrok
|
# uncomment this if you use something like ngrok
|
||||||
# config :web_dev_utils, :reload_url, "'wss://' + location.host + '/ws'"
|
# config :web_dev_utils, :reload_url, "'wss://' + location.host + '/ws'"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
config :tableau, :config,
|
config :tableau, :config,
|
||||||
url: "http://localhost:4999",
|
url: "http://localhost:4999",
|
||||||
markdown: [
|
markdown: [
|
||||||
@@ -39,10 +36,9 @@ config :tableau, Tableau.SitemapExtension, enabled: true
|
|||||||
|
|
||||||
config :tableau, Tableau.RSSExtension,
|
config :tableau, Tableau.RSSExtension,
|
||||||
enabled: true,
|
enabled: true,
|
||||||
title: "llmex",
|
title: "monotab",
|
||||||
description: "My beautiful website"
|
description: "My beautiful website"
|
||||||
|
|
||||||
config :elixir, :time_zone_database, Tz.TimeZoneDatabase
|
config :elixir, :time_zone_database, Tz.TimeZoneDatabase
|
||||||
|
|
||||||
import_config "#{Mix.env()}.exs"
|
import_config "#{Mix.env()}.exs"
|
||||||
|
|
||||||
|
@@ -1,25 +1,25 @@
|
|||||||
defmodule Llmex.IndexLayout do
|
defmodule MonoTab.IndexLayout do
|
||||||
use Tableau.Layout, layout: Llmex.RootLayout
|
use Tableau.Layout, layout: MonoTab.RootLayout
|
||||||
use Phoenix.Component
|
use Phoenix.Component
|
||||||
|
|
||||||
def template(assigns) do
|
def template(assigns) do
|
||||||
~H"""
|
~H"""
|
||||||
<h1><%= @page[:title] || "Latest Posts" %></h1>
|
<h1>{@page[:title] || "Latest Posts"}</h1>
|
||||||
|
|
||||||
<%= if @page[:description] do %>
|
<%= if @page[:description] do %>
|
||||||
<p><%= @page[:description] %></p>
|
<p>{@page[:description]}</p>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<%= if assigns[:posts] && length(@posts) > 0 do %>
|
<%= if assigns[:posts] && length(@posts) > 0 do %>
|
||||||
<ul>
|
<ul>
|
||||||
<%= for post <- @posts do %>
|
<%= for post <- @posts do %>
|
||||||
<li>
|
<li>
|
||||||
<h2><a href={post.permalink}><%= post.title %></a></h2>
|
<h2><a href={post.permalink}>{post.title}</a></h2>
|
||||||
<%= if post[:date] do %>
|
<%= if post[:date] do %>
|
||||||
<time datetime={post[:date]}><%= format_date(post[:date]) %></time>
|
<time datetime={post[:date]}>{format_date(post[:date])}</time>
|
||||||
<% end %>
|
<% end %>
|
||||||
<%= if post[:description] do %>
|
<%= if post[:description] do %>
|
||||||
<p><%= post[:description] %></p>
|
<p>{post[:description]}</p>
|
||||||
<% end %>
|
<% end %>
|
||||||
</li>
|
</li>
|
||||||
<% end %>
|
<% end %>
|
||||||
@@ -28,7 +28,7 @@ defmodule Llmex.IndexLayout do
|
|||||||
<p>No posts found.</p>
|
<p>No posts found.</p>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<%= {:safe, render(@inner_content)} %>
|
{{:safe, render(@inner_content)}}
|
||||||
"""
|
"""
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@@ -1,10 +1,10 @@
|
|||||||
defmodule Llmex.PageLayout do
|
defmodule MonoTab.PageLayout do
|
||||||
use Tableau.Layout, layout: Llmex.RootLayout
|
use Tableau.Layout, layout: MonoTab.RootLayout
|
||||||
use Phoenix.Component
|
use Phoenix.Component
|
||||||
|
|
||||||
def template(assigns) do
|
def template(assigns) do
|
||||||
~H"""
|
~H"""
|
||||||
<%= {:safe, render(@inner_content)} %>
|
{{:safe, render(@inner_content)}}
|
||||||
"""
|
"""
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@@ -1,12 +1,12 @@
|
|||||||
defmodule Llmex.PostLayout do
|
defmodule MonoTab.PostLayout do
|
||||||
use Tableau.Layout, layout: Llmex.RootLayout
|
use Tableau.Layout, layout: MonoTab.RootLayout
|
||||||
use Phoenix.Component
|
use Phoenix.Component
|
||||||
|
|
||||||
def template(assigns) do
|
def template(assigns) do
|
||||||
~H"""
|
~H"""
|
||||||
<%= {:safe, render(@inner_content)} %>
|
{{:safe, render(@inner_content)}}
|
||||||
<%= if @page[:date] do %>
|
<%= if @page[:date] do %>
|
||||||
<time datetime={@page[:date]}><%= format_date(@page[:date]) %></time>
|
<time datetime={@page[:date]}>{format_date(@page[:date])}</time>
|
||||||
<% end %>
|
<% end %>
|
||||||
"""
|
"""
|
||||||
end
|
end
|
||||||
|
@@ -1,11 +1,10 @@
|
|||||||
defmodule Llmex.RootLayout do
|
defmodule MonoTab.RootLayout do
|
||||||
use Tableau.Layout
|
use Tableau.Layout
|
||||||
use Phoenix.Component
|
use Phoenix.Component
|
||||||
|
|
||||||
def template(assigns) do
|
def template(assigns) do
|
||||||
~H"""
|
~H"""
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
@@ -13,21 +12,24 @@ defmodule Llmex.RootLayout do
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
|
||||||
<title>
|
<title>
|
||||||
<%= [@page[:title], "Llmex Blog"]
|
{[@page[:title], "MonoTab Blog"]
|
||||||
|> Enum.filter(& &1)
|
|> Enum.filter(& &1)
|
||||||
|> Enum.intersperse("|")
|
|> Enum.intersperse("|")
|
||||||
|> Enum.join(" ") %>
|
|> Enum.join(" ")}
|
||||||
</title>
|
</title>
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/mono.css" />
|
<link rel="stylesheet" href="/css/mono.css" />
|
||||||
<link rel="stylesheet" href="/css/responsive.css" />
|
<link rel="stylesheet" href="/css/responsive.css" />
|
||||||
<meta name="description" content={@page[:description] || "A simple blog built with Elixir and Tableau"} />
|
<meta
|
||||||
|
name="description"
|
||||||
|
content={@page[:description] || "A simple blog built with Elixir and Tableau"}
|
||||||
|
/>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="mono-all">
|
<body class="mono-all">
|
||||||
<aside>
|
<aside>
|
||||||
<nav>
|
<nav>
|
||||||
<h1><a href="/">Llmex Blog</a></h1>
|
<h1><a href="/">MonoTab Blog</a></h1>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/">Home</a></li>
|
<li><a href="/">Home</a></li>
|
||||||
<li><a href="/posts">Posts</a></li>
|
<li><a href="/posts">Posts</a></li>
|
||||||
@@ -37,16 +39,20 @@ defmodule Llmex.RootLayout do
|
|||||||
</aside>
|
</aside>
|
||||||
|
|
||||||
<main>
|
<main>
|
||||||
<%= render @inner_content %>
|
{render(@inner_content)}
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
<p>© <%= Date.utc_today().year %> Llmex Blog. Built with <a href="https://github.com/artalar/mono" target="_blank">Mono</a> and <a href="https://github.com/elixir-tools/tableau" target="_blank">Tableau</a></p>
|
<p>
|
||||||
|
© {Date.utc_today().year} MonoTab Blog. Built with
|
||||||
|
<a href="https://github.com/artalar/mono" target="_blank">Mono</a>
|
||||||
|
and <a href="https://github.com/elixir-tools/tableau" target="_blank">Tableau</a>
|
||||||
|
</p>
|
||||||
</footer>
|
</footer>
|
||||||
</main>
|
</main>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
<%= if Mix.env() == :dev do %>
|
<%= if Mix.env() == :dev do %>
|
||||||
<%= Phoenix.HTML.raw(Tableau.live_reload(assigns)) %>
|
{Phoenix.HTML.raw(Tableau.live_reload(assigns))}
|
||||||
<% end %>
|
<% end %>
|
||||||
</html>
|
</html>
|
||||||
"""
|
"""
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
defmodule Mix.Tasks.Llmex.Gen.Post do
|
defmodule Mix.Tasks.MonoTab.Gen.Post do
|
||||||
use Mix.Task
|
use Mix.Task
|
||||||
|
|
||||||
@shortdoc "Generate a new post"
|
@shortdoc "Generate a new post"
|
||||||
@@ -30,7 +30,7 @@ defmodule Mix.Tasks.Llmex.Gen.Post do
|
|||||||
|
|
||||||
front_matter = """
|
front_matter = """
|
||||||
---
|
---
|
||||||
layout: Llmex.PostLayout
|
layout: MonoTab.PostLayout
|
||||||
title: \"#{post_title}\"
|
title: \"#{post_title}\"
|
||||||
date: #{post_date} #{post_time}
|
date: #{post_date} #{post_time}
|
||||||
permalink: /:title/
|
permalink: /:title/
|
||||||
@@ -42,4 +42,3 @@ defmodule Mix.Tasks.Llmex.Gen.Post do
|
|||||||
Mix.shell().info("Succesfully created #{file_path}!")
|
Mix.shell().info("Succesfully created #{file_path}!")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@@ -1,7 +1,8 @@
|
|||||||
defmodule Llmex.Pages.About do
|
defmodule MonoTab.Pages.About do
|
||||||
use Tableau.Page,
|
use Tableau.Page,
|
||||||
layout: Llmex.PageLayout,
|
layout: MonoTab.PageLayout,
|
||||||
permalink: "/about"
|
permalink: "/about"
|
||||||
|
|
||||||
use Phoenix.Component
|
use Phoenix.Component
|
||||||
|
|
||||||
def template(assigns) do
|
def template(assigns) do
|
||||||
@@ -9,8 +10,7 @@ defmodule Llmex.Pages.About do
|
|||||||
<section>
|
<section>
|
||||||
<h2>About</h2>
|
<h2>About</h2>
|
||||||
<p>
|
<p>
|
||||||
Welcome to Llmex Blog, a demonstration of building static sites with Elixir's Tableau generator.
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi velit felis, fermentum id dolor luctus, pellentesque aliquam dui. In hac habitasse platea dictumst. Cras non erat sed risus aliquet molestie eu eget massa.
|
||||||
This blog showcases the power and elegance of functional programming applied to web development.
|
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -18,17 +18,21 @@ defmodule Llmex.Pages.About do
|
|||||||
<h2>Technology Stack</h2>
|
<h2>Technology Stack</h2>
|
||||||
<p>This blog is built using:</p>
|
<p>This blog is built using:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="https://github.com/elixir-tools/tableau" target="_blank">Tableau</a> - Static site generator for Elixir</li>
|
<li>
|
||||||
<li><a href="https://github.com/artalar/mono" target="_blank">Mono</a> - A brutalist CSS framework for clean, semantic styling</li>
|
<a href="https://github.com/elixir-tools/tableau" target="_blank">Tableau</a>
|
||||||
|
- Static site generator for Elixir
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="https://github.com/artalar/mono" target="_blank">Mono</a>
|
||||||
|
- A brutalist CSS framework for clean, semantic styling
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<h2>Our Philosophy</h2>
|
<h2>Our Philosophy</h2>
|
||||||
<p>
|
<p>
|
||||||
We believe in the power of functional programming to create maintainable,
|
Proin nec sem vitae neque vehicula sagittis. Curabitur placerat, magna vel sodales rutrum, turpis massa cursus justo, quis faucibus nisl ante non est. Quisque eget dui venenatis, luctus ligula eget, malesuada nisl.
|
||||||
scalable, and elegant solutions. Through this blog, we aim to share insights,
|
|
||||||
tutorials, and experiences from the world of Elixir and functional web development.
|
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@@ -1,16 +1,16 @@
|
|||||||
defmodule Llmex.Pages.Index do
|
defmodule MonoTab.Pages.Index do
|
||||||
use Tableau.Page,
|
use Tableau.Page,
|
||||||
layout: Llmex.RootLayout,
|
layout: MonoTab.RootLayout,
|
||||||
permalink: "/"
|
permalink: "/"
|
||||||
|
|
||||||
use Phoenix.Component
|
use Phoenix.Component
|
||||||
|
|
||||||
def template(assigns) do
|
def template(assigns) do
|
||||||
~H"""
|
~H"""
|
||||||
<section>
|
<section>
|
||||||
<h2>Welcome to Llmex Blog</h2>
|
<h2>Welcome</h2>
|
||||||
<p>
|
<p>
|
||||||
A simple blog built with Elixir, Phoenix LiveView, and Tableau static site generator.
|
A simple blog built with Elixir, Phoenix LiveView, and Tableau static site generator.
|
||||||
Explore our latest posts and insights on functional programming, web development, and more.
|
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
"""
|
"""
|
||||||
|
@@ -1,7 +1,8 @@
|
|||||||
defmodule Llmex.Pages.Posts do
|
defmodule MonoTab.Pages.Posts do
|
||||||
use Tableau.Page,
|
use Tableau.Page,
|
||||||
layout: Llmex.IndexLayout,
|
layout: MonoTab.IndexLayout,
|
||||||
permalink: "/posts"
|
permalink: "/posts"
|
||||||
|
|
||||||
use Phoenix.Component
|
use Phoenix.Component
|
||||||
|
|
||||||
def template(assigns) do
|
def template(assigns) do
|
||||||
|
4
mix.exs
4
mix.exs
@@ -1,9 +1,9 @@
|
|||||||
defmodule Llmex.MixProject do
|
defmodule MonoTab.MixProject do
|
||||||
use Mix.Project
|
use Mix.Project
|
||||||
|
|
||||||
def project do
|
def project do
|
||||||
[
|
[
|
||||||
app: :llmex,
|
app: :monotab,
|
||||||
version: "0.1.0",
|
version: "0.1.0",
|
||||||
elixir: "~> 1.15",
|
elixir: "~> 1.15",
|
||||||
start_permanent: Mix.env() == :prod,
|
start_permanent: Mix.env() == :prod,
|
||||||
|
Reference in New Issue
Block a user