Анализ сайта learnstatamic.com
Основное Готовность: 100%
Домен
learnstatamic.com
Состояние доменного имени
?
Проверяем корректность доменного имени и наличие технических проблем на уровне домена.
Длина домена велика. Но если вы продвигаете запрос, входящий в название домена, то это хорошо.
Домен второго уровня идеален для продвижения.
Ответ сервера
200 Успешный ответ
HTTP-код ответа и цепочка редиректов
?
Код 200 — страница доступна. Коды 3xx — редиректы (цепочки замедляют загрузку и размывают ссылочный вес). Коды 4xx/5xx — ошибки, поисковик не сможет проиндексировать страницу.
Сервер настроен корректно.
Цепочка редиректов:
http://learnstatamic.com
301 MovedPermanently
https://laracasts.com/series/learn-statamic-with-jack
200 OK
Безопасность
Сайт безопасен
Использование HTTPS и SSL-сертификат
?
HTTPS — обязательный стандарт. Google и Яндекс отдают предпочтение защищённым сайтам. Отсутствие SSL или просроченный сертификат ведут к предупреждениям в браузере и снижению позиций.
Не настроен HSTS (Strict-Transport-Security) — рекомендуется включить.
На сайте работает защищенный протокол ssl и сайт открывается по https.
Ssl-сертификат действителен до 04.10.2026 22:45:22.
Сервер поддерживает HTTP/3 (QUIC) — новейший протокол.
HTTP автоматически перенаправляется на HTTPS.
Поздравляем! Сайт не содержится в реестре РКН.
Кодировка
utf-8
Кодировка символов страницы
?
Стандарт — UTF-8. Неправильная кодировка вызывает нечитаемые символы и мешает поисковику корректно распознать текст страницы.
Указана кодировка на странице utf-8.
Язык
en
Атрибут lang в HTML-теге
?
Атрибут lang (<html lang="ru">) сообщает поисковикам и браузерам, на каком языке написана страница. Помогает при ранжировании в региональном поиске.
Язык документа указан явно: en.
Скорость загрузки
~0,82сек
Время отклика сервера (TTFB)
?
Time To First Byte — время до получения первого байта от сервера. Норма до 200 мс. Медленный отклик ухудшает пользовательский опыт и ранжирование: Яндекс и Google учитывают скорость страниц.
Скорость загрузки сайта 0,82сек оптимальна.
Объем документа
229Кб
Размер HTML-кода страницы
?
Слишком большой HTML замедляет парсинг браузером и сканирование поисковым роботом. Рекомендуется не более 200 Кб.
Объем html-документа 229Кб оптимален.
Структура html-документа корректна.
Ресурсы
Ресурсы: 5
Внешние ресурсы страницы (CSS, JS, изображения)
?
Количество и тип подключённых ресурсов влияют на скорость загрузки. Большое число запросов увеличивает время рендеринга страницы.
Кол-во файлов ресурсов 5 достаточно.
Показать полный список ресурсов
| Тип | Название | Значение |
|---|---|---|
| stylesheet | https://laracasts.com/build/assets/css/app-ptE7ImAe.css | |
| stylesheet | https://laracasts.com/build/assets/css/app-ChM2B9ie.css | |
| js | c6aa5ef9ccc1491c048cc4f1-text/javascript | https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit |
| js | c6aa5ef9ccc1491c048cc4f1-module | https://laracasts.com/build/assets/js/app-CPsIF0Lk.js |
| js | /cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js |
Серверные заголовки
Кол-во: 14
HTTP-заголовки ответа сервера
?
Заголовки сервера передают браузеру и поисковику служебную информацию: кеширование, безопасность (CSP, HSTS), сжатие (gzip). Правильная настройка ускоряет загрузку и повышает защищённость.
Найдены серверные заголовки 14шт. Подробнее про серверные заголовки.
Показать полный список серверных заголовков
| Ключ | Значение |
|---|---|
| Date | Sun, 23 Aug 2026 23:40:28 GMT |
| Server | cloudflare |
| Vary | Accept-Encoding |
| Cache-Control | no-cache, private |
| Set-Cookie | XSRF-TOKEN=eyJpdiI6IkNTejUwYkFtS0JJN0hXSGpYME03TFE9PSIsInZhbHVlIjoiUUNBWVpYQ2hKMVFSbnRwL0VQRkZUZ05ld1FYZkcxV2dQMmlVOC9lYzlmenFQR1J3cjNoT24rQUt4NTdwc1pDdkF1SEFyZmN6K3lYRVhoQzlaOFY5RitaVEh2L1Joc29yeGo2QWlEZEVpYXcreTJYWHd3NFg4Z2YxcmtjNkRmNXIiLCJtYWMiOiJmY2ZiODQ1ODEzMGUxNGZkNTMxYjJhZWVlNDM5MGJmOWY5ZWI4YjQ4MDdkNjJlZjczNDNlYjZjN2VjMWI5ZTMzIiwidGFnIjoiIn0%3D; expires=Mon, 24 Aug 2026 01:40:28 GMT; Max-Age=7200; path=/; secure; samesite=lax |
| X-Frame-Options | SAMEORIGIN |
| X-XSS-Protection | 1; mode=block |
| X-Content-Type-Options | nosniff |
| nel | {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800} |
| cf-cache-status | DYNAMIC |
| speculation-rules | "/cdn-cgi/speculation" |
| report-to | {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=R21zqvSlssdMPZf5bEOReK9CEnTgcY%2Bd8d%2B7VY3cd7cEHrHTX0v1l%2F456Ua4N0PTdtNwLoUsjamQIej3Fp3XqqnrMUEB6ReDsLuIveRweaL7bVvBoswUtV%2FCQ%2Fff1G0%3D"}]} |
| cf-ray | a2fdf6644c3cad45-ARN |
| Alt-Svc | h3=":443" |
CMS
Не определена
Система управления сайтом (движок)
?
CMS — это движок, на котором работает сайт (WordPress, 1C-Bitrix, Tilda и др.). Знание CMS помогает понять возможности SEO-оптимизации и подобрать подходящие инструменты. «Не определена» — вероятно, самописный сайт или нестандартная сборка.
CMS не определена. Вероятно, сайт самописный либо движок надёжно скрыт. Это не ошибка.
Веб-сервер
Программное обеспечение сервера
?
Веб-сервер — это ПО, которое отдаёт страницы посетителям (nginx, Apache, IIS, LiteSpeed и др.). Определяется по серверным заголовкам ответа (Server, X-Powered-By и т.п.). «Не определён» — сервер намеренно скрывает эти заголовки, это нормальная практика безопасности.
Сайт работает на веб-сервере Cloudflare.
Мета-теги Готовность: 48%
Title
Laracasts: Learn Statamic with Jack
Заголовок страницы в браузере и поисковой выдаче
?
Title — главный SEO-заголовок страницы. Влияет на CTR в поиске и ранжирование. Оптимальная длина: 50–70 символов. Ключевые слова — ближе к началу.
Необходимо увеличить число символов в title (текущее значение: 35, оптимально: от 40 до 45)
Дублей словоформ в title не найдено.
Description
Learn Statamic with Jack! Build scalable, database-free Laravel-powered sites, create add-ons, and explore Statamic’s magic in this friendly, hands-on series.
Описание страницы в поисковой выдаче (сниппет)
?
Meta Description — текст под заголовком в выдаче. Напрямую на позиции не влияет, но влияет на CTR. Оптимальная длина: 120–160 символов.
Необходимо уменьшить число символов в description (текущее значение: 158, оптимально: от 120 до 130)
Keywords
Список ключевых слов страницы (устаревший тег)
?
Meta Keywords не учитывается Яндексом и Google для ранжирования с 2009–2012 годов. Заполнение не обязательно, но не вредит. Конкурент может использовать содержимое для анализа.
Установите мета-тег keywords!
Канонический Url
Указывает поисковику основную версию страницы
?
Canonical (rel=canonical) предотвращает проблему дублей страниц. Должен точно совпадать с URL проверяемой страницы. Неправильный canonical может передать ссылочный вес на другую страницу.
Рекомендуем прописать канонический Url.
Robots
Ошибок нет
Директивы для поисковых роботов на уровне страницы
?
Meta Robots управляет индексацией конкретной страницы: index/noindex — индексировать ли, follow/nofollow — следовать ли по ссылкам. Noindex полностью исключает страницу из поиска.
Meta-тег robots не указан. Страница свободна для индексации.
Адаптивность
width=device-width
Настройка масштабирования на мобильных устройствах
?
Тег viewport (<meta name="viewport">) сообщает браузеру, как масштабировать страницу на мобильных. Стандарт: width=device-width, initial-scale=1. Отсутствие — признак отсутствия мобильной версии.
Meta-тег viewport со значением-константой width=device-width задаёт ширину страницы в соответствии с размером экрана.
Разметка OpenGraph
Кол-во: 6
Мета-теги для красивых превью в соцсетях
?
OpenGraph (og:title, og:description, og:image) управляет тем, как страница выглядит при репосте в социальных сетях и мессенджерах. Отсутствие OG-тегов — невзрачный превью при шеринге.
Разметка OpenGraph задана. Страница оптимизирована под социальные сети.
Показать полный список og мета-тегов
| Тип | Значение |
|---|---|
| og:site_name | Laracasts |
| og:title | Learn Statamic with Jack |
| og:description | Learn Statamic with Jack! Build scalable, database-free Laravel-powered sites, create add-ons, and explore Statamic’s magic in this friendly, hands-on series. |
| og:type | website |
| og:url | /series/learn-statamic-with-jack |
| og:image | https://images.laracasts.com/series/thumbnails/png/learn-statamic-with-jack.png |
Все мета-теги
Кол-во: 14
Полный список мета-тегов страницы
?
Таблица всех meta-тегов, включая нестандартные. Позволяет найти опечатки, дубли и лишние теги.
Найдены мета-теги 14шт. Мета-теги не видимы для человека и предназначены для обмена информацией между веб-страницей и поисковыми системами, браузерами и другими веб-службами. С ними роботы 🤖 и устройства ведут себя более ожидаемо.
Показать полный список мета-тегов
| Тип | Название | Значение |
|---|---|---|
| name | viewport | width=device-width |
| name | apple-mobile-web-app-title | Laracasts |
| name | apple-itunes-app | app-id=6761379766, app-argument=https://laracasts.com/series/learn-statamic-with-jack |
| name | msapplication-TileColor | #ffffff |
| name | theme-color | #182a41 |
| name | twitter:card | summary |
| name | twitter:site | @laracasts |
| name | description | Learn Statamic with Jack! Build scalable, database-free Laravel-powered sites, create add-ons, and explore Statamic’s magic in this friendly, hands-on series. |
| property | og:site_name | Laracasts |
| property | og:title | Learn Statamic with Jack |
| property | og:description | Learn Statamic with Jack! Build scalable, database-free Laravel-powered sites, create add-ons, and explore Statamic’s magic in this friendly, hands-on series. |
| property | og:type | website |
| property | og:url | /series/learn-statamic-with-jack |
| property | og:image | https://images.laracasts.com/series/thumbnails/png/learn-statamic-with-jack.png |
Оптимизация Готовность: 92%
Структура
Ошибок нет
Семантические HTML-элементы страницы
?
Проверяет наличие основных структурных элементов: nav, header, footer, main. Корректная семантическая структура помогает поисковику понять архитектуру страницы.
Структура документа корректна (теги <html> и <body> присутствуют в единственном экземпляре).
Контент
Ошибок нет
Объём и качество текстового содержимого
?
Анализирует объём полезного текста на странице. Слишком мало — страница может считаться малополезной. Слишком много — ухудшается читаемость и восприятие.
Слова из title 4 встречаются в тексте достаточно.
Абзацев с текстом 16 достаточно.
Среднее число слов в абзаце 41 достаточно.
Кол-во знаков контента 11835 на странице оптимально.
Кол-во слов 1962 на странице оптимально.
Заголовки
Ошибок нет
Иерархия заголовков H1–H6
?
H1 должен быть один и содержать ключевой запрос. H2–H6 описывают подразделы. Пропуск уровней (H1 → H3) и несколько H1 — типичные ошибки, снижающие понятность страницы для поисковика.
На странице присутствуют заголовки <h1> 1. Это прекрасно.
На странице присутствуют заголовки <h2> 4. Это хорошо.
На странице присутствуют заголовки <h3> 6.
Тошнота
5,39
Насколько одно слово доминирует в тексте
?
Классическая тошнота = √(частота самого повторяющегося слова). Норма до 7–8: текст воспринимается естественно. Выше — поисковик может счесть страницу переспамленной.
Тошнота превышает норму 3. Измените текст страницы!
Академич. тошнота
14,58%
Насколько текст перенасыщен ключевыми словами
?
Академическая тошнота = (частота слова / общее количество слов) × 100%. Показывает долю конкретного слова в тексте. Норма 5–15%.
Академическая тошнота страницы в пределах нормы.
Семантическое ядро
20
Наиболее часто встречающиеся слова на странице
?
Топ слов по частоте использования. Показывает, какие слова доминируют в тексте с точки зрения поисковика.
Контент страницы содержит осмысленный текст и слова.
Показать список слов
| Слово | Кол-во | Частота |
|---|---|---|
| statamic | 29 | 1,48% |
| series | 18 | 0,92% |
| laravel | 14 | 0,71% |
| content | 11 | 0,56% |
| beyond | 11 | 0,56% |
| lesson? | 10 | 0,51% |
| episodes | 8 | 0,41% |
| components | 7 | 0,36% |
| search | 7 | 0,36% |
| frameworks | 6 | 0,31% |
| intermediate | 6 | 0,31% |
| filament | 6 | 0,31% |
| laracasts | 6 | 0,31% |
| livewire | 5 | 0,25% |
| building | 5 | 0,25% |
| explore | 5 | 0,25% |
| fields | 5 | 0,25% |
| manage | 5 | 0,25% |
| browse | 4 | 0,20% |
| starter | 4 | 0,20% |
Индексация Готовность: 30%
Индексирование
Ошибок нет
Разрешено ли индексирование страницы
?
Проверяет, не закрыта ли страница от индексации через robots.txt, meta robots или X-Robots-Tag. Страница, закрытая от индексации, не появится в поисковой выдаче.
Анкоров на странице 132 оптимально. Поисковые роботы обязательно проиндексируют сайт.
Robots.txt
Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Robots.txt настроен корректно. Размер файла: 234878 байт. Загружен за: 1сек.
Проверяемая страница не запрещена в robots.txt.
Robots.txt доступен по постоянному адресу
Цепочка редиректов для файла robots.txt:
http://learnstatamic.com/robots.txt
301 MovedPermanently
https://laracasts.com/series/learn-statamic-with-jack
200 OK
Показать содержимое robots.txt
<!DOCTYPE html>
<html lang="en" data-theme="dark">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width">
<meta property="og:site_name" content="Laracasts">
<link rel="icon" type="image/png" href="/favicons/favicon-96x96.png" sizes="96x96" />
<link rel="icon" type="image/svg+xml" href="/favicons/favicon.svg" />
<link rel="shortcut icon" href="/favicons/favicon.ico" />
<link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-touch-icon.png" />
<meta name="apple-mobile-web-app-title" content="Laracasts" />
<meta name="apple-itunes-app" content="app-id=6761379766, app-argument=https://laracasts.com/series/learn-statamic-with-jack">
<link rel="manifest" href="/favicons/site.webmanifest" />
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="theme-color" content="#182a41">
<link rel="alternate" type="application/atom+xml" title="Laracasts" href="/feed">
<script type="e820ca501f84d2cc1051a5d8-text/javascript">
// Apply persisted theme before the app boots to avoid a flash of the wrong theme during SSR hydration.
(function () {
try {
var theme = localStorage.getItem('theme');
if (theme === 'light' || theme === 'dark') {
document.documentElement.setAttribute('data-theme', theme);
}
} catch (e) {}
})();
</script>
<link rel="preload" href="/fonts/shadow-noir/ShadowNoir.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preconnect" href="https://challenges.cloudflare.com">
<style type="text/css">@font-face {font-family:'Hanken Grotesk';font-style:normal;font-weight:400;src:url(/cf-fonts/v/hanken-grotesk/5.2.8/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Hanken Grotesk';font-style:normal;font-weight:400;src:url(/cf-fonts/v/hanken-grotesk/5.2.8/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Hanken Grotesk';font-style:normal;font-weight:400;src:url(/cf-fonts/v/hanken-grotesk/5.2.8/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Hanken Grotesk';font-style:normal;font-weight:400;src:url(/cf-fonts/v/hanken-grotesk/5.2.8/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Hanken Grotesk';font-style:normal;font-weight:500;src:url(/cf-fonts/v/hanken-grotesk/5.2.8/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Hanken Grotesk';font-style:normal;font-weight:500;src:url(/cf-fonts/v/hanken-grotesk/5.2.8/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Hanken Grotesk';font-style:normal;font-weight:500;src:url(/cf-fonts/v/hanken-grotesk/5.2.8/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Hanken Grotesk';font-style:normal;font-weight:500;src:url(/cf-fonts/v/hanken-grotesk/5.2.8/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Hanken Grotesk';font-style:normal;font-weight:700;src:url(/cf-fonts/v/hanken-grotesk/5.2.8/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Hanken Grotesk';font-style:normal;font-weight:700;src:url(/cf-fonts/v/hanken-grotesk/5.2.8/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Hanken Grotesk';font-style:normal;font-weight:700;src:url(/cf-fonts/v/hanken-grotesk/5.2.8/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Hanken Grotesk';font-style:normal;font-weight:700;src:url(/cf-fonts/v/hanken-grotesk/5.2.8/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Hanken Grotesk';font-style:normal;font-weight:800;src:url(/cf-fonts/v/hanken-grotesk/5.2.8/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Hanken Grotesk';font-style:normal;font-weight:800;src:url(/cf-fonts/v/hanken-grotesk/5.2.8/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Hanken Grotesk';font-style:normal;font-weight:800;src:url(/cf-fonts/v/hanken-grotesk/5.2.8/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Hanken Grotesk';font-style:normal;font-weight:800;src:url(/cf-fonts/v/hanken-grotesk/5.2.8/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Hanken Grotesk';font-style:normal;font-weight:900;src:url(/cf-fonts/v/hanken-grotesk/5.2.8/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Hanken Grotesk';font-style:normal;font-weight:900;src:url(/cf-fonts/v/hanken-grotesk/5.2.8/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Hanken Grotesk';font-style:normal;font-weight:900;src:url(/cf-fonts/v/hanken-grotesk/5.2.8/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Hanken Grotesk';font-style:normal;font-weight:900;src:url(/cf-fonts/v/hanken-grotesk/5.2.8/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}</style>
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit" async defer type="e820ca501f84d2cc1051a5d8-text/javascript"></script>
<link rel="preload" as="style" href="https://laracasts.com/build/assets/css/app-ptE7ImAe.css" /><link rel="preload" as="style" href="https://laracasts.com/build/assets/css/app-ChM2B9ie.css" /><link rel="modulepreload" as="script" href="https://laracasts.com/build/assets/js/app-CPsIF0Lk.js" /><link rel="modulepreload" as="script" href="https://laracasts.com/build/assets/js/framework-WJp1PeKY.js" /><link rel="stylesheet" href="https://laracasts.com/build/assets/css/app-ptE7ImAe.css" /><link rel="stylesheet" href="https://laracasts.com/build/assets/css/app-ChM2B9ie.css" /><script type="e820ca501f84d2cc1051a5d8-module" src="https://laracasts.com/build/assets/js/app-CPsIF0Lk.js"></script>
<meta property="og:title" content="Learn Statamic with Jack" data-inertia>
<meta property="og:description" content="Learn Statamic with Jack! Build scalable, database-free Laravel-powered sites, create add-ons, and explore Statamic’s magic in this friendly, hands-on series." data-inertia>
<meta property="og:type" content="website" data-inertia>
<meta property="og:url" content="/series/learn-statamic-with-jack" data-inertia>
<meta property="og:image" content="https://images.laracasts.com/series/thumbnails/png/learn-statamic-with-jack.png" data-inertia>
<meta name="twitter:card" content="summary" data-inertia>
<meta name="twitter:site" content="@laracasts" data-inertia>
<meta name="description" content="Learn Statamic with Jack! Build scalable, database-free Laravel-powered sites, create add-ons, and explore Statamic’s magic in this friendly, hands-on series." data-inertia>
<title data-inertia>Laracasts: Learn Statamic with Jack</title>
<script type="application/ld+json" data-inertia="structured-data">[{"@context":"https://schema.org","@type":"Course","name":"Learn Statamic with Jack","description":"Learn Statamic with Jack! Build scalable, database-free Laravel-powered sites, create add-ons, and explore Statamic’s magic in this friendly, hands-on series.","url":"https://laracasts.com/series/learn-statamic-with-jack","provider":{"@type":"Organization","name":"Laracasts","url":"https://laracasts.com"},"instructor":{"@type":"Person","name":"Jack McDade","url":"https://laracasts.com/@jackmcdade"}},{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://laracasts.com/"},{"@type":"ListItem","position":2,"name":"Learn Statamic with Jack","item":"https://laracasts.com/series/learn-statamic-with-jack"}]}]</script> </head>
<body class="leading-normal" style="min-height: 100vh; min-height: -webkit-fill-available;">
<script data-page="app" type="application/json">{"component":"Series\/Show","props":{"sidebar":{"topics":[{"id":1,"name":"Laravel","slug":"laravel","path":"\/series?topics[]=laravel","series_count":78},{"id":19,"name":"Workshops","slug":"workshops","path":"\/series?topics[]=workshops","series_count":28},{"id":7,"name":"JavaScript","slug":"javascript","path":"\/series?topics[]=javascript","series_count":27},{"id":5,"name":"PHP ","slug":"php","path":"\/series?topics[]=php","series_count":25},{"id":2,"name":"Vue","slug":"vue","path":"\/series?topics[]=vue","series_count":15},{"id":20,"name":"Clean Code","slug":"clean-code","path":"\/series?topics[]=clean-code","series_count":14},{"id":28,"name":"Laravel Livewire","slug":"laravel-livewire","path":"\/series?topics[]=laravel-livewire","series_count":12},{"id":32,"name":"Laravel Packages","slug":"laravel-packages","path":"\/series?topics[]=laravel-packages","series_count":12},{"id":9,"name":"AlpineJS","slug":"alpine-js","path":"\/series?topics[]=alpine-js","series_count":10},{"id":6,"name":"CSS","slug":"css","path":"\/series?topics[]=css","series_count":8},{"id":27,"name":"Tailwind CSS","slug":"tailwind","path":"\/series?topics[]=tailwind","series_count":7},{"id":36,"name":"Inertia","slug":"inertia","path":"\/series?topics[]=inertia","series_count":6},{"id":11,"name":"PHPUnit","slug":"phpunit","path":"\/series?topics[]=phpunit","series_count":5},{"id":31,"name":"Authentication","slug":"authentication","path":"\/series?topics[]=authentication","series_count":4},{"id":53,"name":"Filament","slug":"filament","path":"\/series?topics[]=filament","series_count":4},{"id":16,"name":"React","slug":"react","path":"\/series?topics[]=react","series_count":4},{"id":46,"name":"AWS","slug":"aws","path":"\/series?topics[]=aws","series_count":3},{"id":34,"name":"Blade","slug":"blade","path":"\/series?topics[]=blade","series_count":3},{"id":13,"name":"Git","slug":"git","path":"\/series?topics[]=git","series_count":3},{"id":21,"name":"OOP","slug":"object-oriented-programming","path":"\/series?topics[]=object-oriented-programming","series_count":3},{"id":35,"name":"Queues","slug":"queues","path":"\/series?topics[]=queues","series_count":3},{"id":50,"name":"Servers","slug":"servers","path":"\/series?topics[]=servers","series_count":3},{"id":33,"name":"Billing","slug":"billing","path":"\/series?topics[]=billing","series_count":2},{"id":58,"name":"CI","slug":"continuous-integration","path":"\/series?topics[]=continuous-integration","series_count":2},{"id":29,"name":"Cypress","slug":"cypress","path":"\/series?topics[]=cypress","series_count":2},{"id":56,"name":"Debugging","slug":"debugging","path":"\/series?topics[]=debugging","series_count":2},{"id":44,"name":"Eloquent","slug":"eloquent","path":"\/series?topics[]=eloquent","series_count":2},{"id":38,"name":"Laravel Cashier","slug":"laravel-cashier","path":"\/series?topics[]=laravel-cashier","series_count":2},{"id":57,"name":"Laravel Reverb","slug":"laravel-reverb","path":"\/series?topics[]=laravel-reverb","series_count":2},{"id":22,"name":"MySQL","slug":"mysql","path":"\/series?topics[]=mysql","series_count":2},{"id":43,"name":"Pest","slug":"pest","path":"\/series?topics[]=pest","series_count":2},{"id":14,"name":"PhpStorm","slug":"phpstorm","path":"\/series?topics[]=phpstorm","series_count":2},{"id":23,"name":"Redis","slug":"redis","path":"\/series?topics[]=redis","series_count":2},{"id":49,"name":"Security","slug":"security","path":"\/series?topics[]=security","series_count":2},{"id":30,"name":"SQL","slug":"sql","path":"\/series?topics[]=sql","series_count":2},{"id":3,"name":"Sublime Text","slug":"sublime-text","path":"\/series?topics[]=sublime-text","series_count":2},{"id":25,"name":"Webpack","slug":"webpack","path":"\/series?topics[]=webpack","series_count":2},{"id":54,"name":"APIs","slug":"api","path":"\/series?topics[]=api","series_count":1},{"id":60,"name":"Authorization","slug":"authorization","path":"\/series?topics[]=authorization","series_count":1},{"id":62,"name":"Claude","slug":"claude","path":"\/series?topics[]=claude","series_count":1},{"id":55,"name":"CLI","slug":"cli","path":"\/series?topics[]=cli","series_count":1},{"id":39,"name":"Docker","slug":"docker","path":"\/series?topics[]=docker","series_count":1},{"id":12,"name":"Envoyer","slug":"envoyer","path":"\/series?topics[]=envoyer","series_count":1},{"id":41,"name":"GraphQL","slug":"graphql","path":"\/series?topics[]=graphql","series_count":1},{"id":24,"name":"Laravel Forge","slug":"laravel-forge","path":"\/series?topics[]=laravel-forge","series_count":1},{"id":52,"name":"Laravel Octane","slug":"laravel-octane","path":"\/series?topics[]=laravel-octane","series_count":1},{"id":48,"name":"Laravel Vapor","slug":"laravel-vapor","path":"\/series?topics[]=laravel-vapor","series_count":1},{"id":64,"name":"NativePHP","slug":"nativephp","path":"\/series?topics[]=nativephp","series_count":1},{"id":10,"name":"Nova","slug":"nova","path":"\/series?topics[]=nova","series_count":1},{"id":40,"name":"Nuxt","slug":"nuxt","path":"\/series?topics[]=nuxt","series_count":1},{"id":51,"name":"Pagination","slug":"pagination","path":"\/series?topics[]=pagination","series_count":1},{"id":61,"name":"Pinia","slug":"pinia","path":"\/series?topics[]=pinia","series_count":1},{"id":45,"name":"Statamic","slug":"statamic","path":"\/series?topics[]=statamic","series_count":1},{"id":42,"name":"Svelte","slug":"svelte","path":"\/series?topics[]=svelte","series_count":1},{"id":4,"name":"Symfony","slug":"symfony","path":"\/series?topics[]=symfony","series_count":1},{"id":37,"name":"TypeScript","slug":"typescript","path":"\/series?topics[]=typescript","series_count":1},{"id":63,"name":"Vibe Coding","slug":"vibe-coding","path":"\/series?topics[]=vibe-coding","series_count":1},{"id":15,"name":"Vim","slug":"vim","path":"\/series?topics[]=vim","series_count":1},{"id":8,"name":"Visual Studio Code","slug":"vs-code","path":"\/series?topics[]=vs-code","series_count":1},{"id":59,"name":"Vite","slug":"vite","path":"\/series?topics[]=vite","series_count":1}],"instructors":[{"id":1770,"username":"JeffreyWay","profile":{"full_name":"Jeffrey Way","employment":"Laracasts","job_title":"Owner"},"series_count":141,"path":"\/series?instructors[]=JeffreyWay"},{"id":2071,"username":"drehimself","profile":{"full_name":"Andre Madarang","employment":"Self","job_title":"Web Developer"},"series_count":26,"path":"\/series?instructors[]=drehimself"},{"id":24345,"username":"jwmcpeak","profile":{"full_name":"Jeremy McPeak","employment":"Laracasts","job_title":"Instructor"},"series_count":15,"path":"\/series?instructors[]=jwmcpeak"},{"id":253739,"username":"lukedowning19","profile":{"full_name":"Luke Downing","employment":"Laracasts","job_title":"Instructor"},"series_count":11,"path":"\/series?instructors[]=lukedowning19"},{"id":11951,"username":"themsaid","profile":{"full_name":"Mohamed Said","employment":"Laravel","job_title":"Core Team"},"series_count":8,"path":"\/series?instructors[]=themsaid"},{"id":80737,"username":"simonswiss","profile":{"full_name":"Simon Vrachliotis","employment":"Laracasts","job_title":"Instructor"},"series_count":7,"path":"\/series?instructors[]=simonswiss"},{"id":242506,"username":"ShrutiBalasa","profile":{"full_name":"Shruti Balasa","employment":"Self","job_title":"Tech Educator"},"series_count":5,"path":"\/series?instructors[]=ShrutiBalasa"},{"id":146405,"username":"aschmelyun","profile":{"full_name":"Andrew Schmelyun","employment":"Self","job_title":"Web Developer"},"series_count":5,"path":"\/series?instructors[]=aschmelyun"},{"id":7952,"username":"calebporzio","profile":{"full_name":"Caleb Porzio","employment":"Livewire","job_title":"Creator"},"series_count":5,"path":"\/series?instructors[]=calebporzio"},{"id":22175,"username":"mattstauffer","profile":{"full_name":"Matt Stauffer","employment":"Tighten","job_title":"Founder"},"series_count":4,"path":"\/series?instructors[]=mattstauffer"},{"id":118722,"username":"KevinMcKee","profile":{"full_name":"Kevin McKee","employment":"Padmission","job_title":"Co-Founder"},"series_count":3,"path":"\/series?instructors[]=KevinMcKee"},{"id":378145,"username":"SabatinoMasala","profile":{"full_name":"Sabatino Masala","employment":"Unipage","job_title":"Web Developer"},"series_count":2,"path":"\/series?instructors[]=SabatinoMasala"},{"id":3587,"username":"jtannenbaum","profile":{"full_name":"Joe Tannenbaum","employment":"Laravel","job_title":"Software Engineer"},"series_count":2,"path":"\/series?instructors[]=jtannenbaum"},{"id":21268,"username":"mateusjatenee","profile":{"full_name":"Mateus Guimarães","employment":"Laravel","job_title":"Software Developer"},"series_count":2,"path":"\/series?instructors[]=mateusjatenee"},{"id":1262,"username":"christophrumpel","profile":{"full_name":"Christoph Rumpel","employment":"Laravel","job_title":"Developer Evangelist"},"series_count":2,"path":"\/series?instructors[]=christophrumpel"},{"id":34923,"username":"jason-mccreary","profile":{"full_name":"Jason McCreary","employment":"Laravel Shift","job_title":"Founder"},"series_count":2,"path":"\/series?instructors[]=jason-mccreary"},{"id":98281,"username":"marcelpociot","profile":{"full_name":"Marcel Pociot","employment":"Beyond Code","job_title":"Software Engineer"},"series_count":2,"path":"\/series?instructors[]=marcelpociot"},{"id":335,"username":"TaylorOtwell","profile":{"full_name":"Taylor Otwell","employment":"Laravel","job_title":"Owner"},"series_count":2,"path":"\/series?instructors[]=TaylorOtwell"},{"id":17877,"username":"simonhamp","profile":{"full_name":"Simon Hamp","employment":"","job_title":"Freelance Software Engineer"},"series_count":1,"path":"\/series?instructors[]=simonhamp"},{"id":163514,"username":"jjohnson","profile":{"full_name":"Josh Johnson","employment":"Close","job_title":"Project Manager"},"series_count":1,"path":"\/series?instructors[]=jjohnson"},{"id":435798,"username":"laracastsinstructors","profile":{"full_name":"Instructor Team","employment":"Laracasts","job_title":"Staff"},"series_count":1,"path":"\/series?instructors[]=laracastsinstructors"},{"id":13469,"username":"pbm","profile":{"full_name":"Pascal Baljet","employment":"Laravel","job_title":"Software Developer"},"series_count":1,"path":"\/series?instructors[]=pbm"},{"id":5005,"username":"joedixon","profile":{"full_name":"Joe Dixon","employment":"Laravel","job_title":"Software Developer"},"series_count":1,"path":"\/series?instructors[]=joedixon"},{"id":110151,"username":"joshcirre","profile":{"full_name":"Josh Cirre","employment":"Laravel","job_title":"DevRel"},"series_count":1,"path":"\/series?instructors[]=joshcirre"},{"id":121510,"username":"KaterinaT","profile":{"full_name":"Katerina Trajchevska","employment":"Adeva","job_title":"CEO"},"series_count":1,"path":"\/series?instructors[]=KaterinaT"},{"id":214,"username":"Philo","profile":{"full_name":"Philo Hermans","employment":"Self","job_title":"Programmer"},"series_count":1,"path":"\/series?instructors[]=Philo"},{"id":167366,"username":"DanHarrin","profile":{"full_name":"Dan Harrin","employment":"","job_title":""},"series_count":1,"path":"\/series?instructors[]=DanHarrin"},{"id":323846,"username":"programwithgio","profile":{"full_name":"Giorgi Gelashvili","employment":"Self","job_title":"Web Developer"},"series_count":1,"path":"\/series?instructors[]=programwithgio"},{"id":7413,"username":"Valorin","profile":{"full_name":"Stephen Rees-Carter","employment":"Valorin Security","job_title":"Friendly Hacker"},"series_count":1,"path":"\/series?instructors[]=Valorin"},{"id":128223,"username":"jessarcher","profile":{"full_name":"Jess Archer","employment":"Laravel","job_title":"Software Engineer"},"series_count":1,"path":"\/series?instructors[]=jessarcher"},{"id":1140,"username":"reinink","profile":{"full_name":"Jonathan Reinink","employment":"Tailwind","job_title":"Developer"},"series_count":1,"path":"\/series?instructors[]=reinink"},{"id":2951,"username":"jackmcdade","profile":{"full_name":"Jack McDade","employment":"Statamic","job_title":"Founder"},"series_count":1,"path":"\/series?instructors[]=jackmcdade"},{"id":5820,"username":"aarondfrancis","profile":{"full_name":"Aaron Francis","employment":"Try Hard Studios","job_title":"Owner"},"series_count":1,"path":"\/series?instructors[]=aarondfrancis"},{"id":11254,"username":"jbrooksuk","profile":{"full_name":"James Brooks","employment":"Laravel","job_title":"Software Engineer"},"series_count":1,"path":"\/series?instructors[]=jbrooksuk"},{"id":34960,"username":"MichaelTimbs","profile":{"full_name":"Michael Timbs","employment":"Qwilr","job_title":"Staff Software Engineer"},"series_count":1,"path":"\/series?instructors[]=MichaelTimbs"}],"taxonomies":[{"id":7,"name":"AI","slug":"ai","path":"\/series?taxonomies[]=ai","series_count":8},{"id":1,"name":"Frameworks","slug":"frameworks","path":"\/series?taxonomies[]=frameworks","series_count":75},{"id":5,"name":"Techniques","slug":"techniques","path":"\/series?taxonomies[]=techniques","series_count":54},{"id":4,"name":"Tooling","slug":"tooling","path":"\/series?taxonomies[]=tooling","series_count":40},{"id":3,"name":"Languages","slug":"languages","path":"\/series?taxonomies[]=languages","series_count":21},{"id":2,"name":"Testing","slug":"testing","path":"\/series?taxonomies[]=testing","series_count":10},{"id":6,"name":"DevOps","slug":"devops","path":"\/series?taxonomies[]=devops","series_count":6}]},"errors":{},"auth":{"signedIn":false,"user":null},"bookmarks":[],"flash":{"success":null,"error":null,"overlay":null},"app":{"expired":false,"env":"production","status":{"newSeries":true,"newVideos":false,"newBits":false,"newPodcasts":false,"newSupportTickets":true,"lastUpdated":"5 days ago"},"url":"https:\/\/laracasts.com","year":2026},"plans":[{"chargePriceInDollars":75,"price":14900,"priceId":"price_0QCmK18R9TI0XxaOXinmfkD8","priceInDollars":149,"category":"business","kind":"team_yearly","name":"Team Yearly","frequencyLabel":"One Year","description":"Choose your <strong>team<\/strong> size and grant unlimited access.","size":1,"icon":"business","id":25,"frequency":"yearly","discounted":true,"discountedPrice":7450,"discountedPercentage":50},{"chargePriceInDollars":13,"price":2500,"priceId":"price_0QCmJN8R9TI0XxaOdCMr3dNu","priceInDollars":25,"category":"business","kind":"team_monthly","name":"Team Monthly","frequencyLabel":"One Month","description":"Choose your <strong>team<\/strong> size and grant unlimited access.","size":1,"icon":"business","id":24,"frequency":"monthly","discounted":true,"discountedPrice":1250,"discountedPercentage":50},{"chargePriceInDollars":13,"price":2500,"priceId":"price_0QCmHV8R9TI0XxaOqmiIYEWu","priceInDollars":25,"category":"individual","kind":"monthly","name":"Monthly","frequencyLabel":"One Month","description":"Be in the know. Fetch an endless stream of input with our <strong>individual<\/strong> plan.","size":null,"icon":"monthly","id":20,"frequency":"monthly","discounted":true,"discountedPrice":1250,"discountedPercentage":50},{"chargePriceInDollars":75,"price":14900,"priceId":"price_0QCmHc8R9TI0XxaOOM00lj7U","priceInDollars":149,"category":"individual","kind":"yearly","name":"Yearly","frequencyLabel":"One Year","description":"Set your ocular implants to binge-mode. Go all in with a discounted <strong>yearly<\/strong> plan.","size":null,"icon":"yearly","id":23,"frequency":"yearly","discounted":true,"discountedPrice":7450,"discountedPercentage":50},{"chargePriceInDollars":200,"price":39900,"priceId":"price_0KnPZ28R9TI0XxaO8EZTzoyD","priceInDollars":399,"category":"individual","kind":"forever","name":"Forever","frequencyLabel":"Lifetime","description":"Permanently uplink to our mainframe. Pay once, and access Laracasts <strong>forever<\/strong>.","size":null,"icon":"lifetime","id":5,"frequency":"forever","discounted":true,"discountedPrice":19950,"discountedPercentage":50}],"announcement":{"message":"Back to School Sale! All accounts are 50% off this week.","link":"\/join?coupon=qdF6VFkXtAPsHqKRMoJg2mLZxDxfho","shouldDisplay":true,"image":null,"buttonText":null,"sale":{"coupon":"qdF6VFkXtAPsHqKRMoJg2mLZxDxfho"}},"recaptchaKey":"0x4AAAAAAACQcLxtW0lUz22W","query":[],"appHost":"laracasts.com","series":{"id":179,"title":"Learn Statamic with Jack","body":"<p>You've probably heard of <a href=\"https:\/\/statamic.com\" target=\"_blank\" class=\"link\">Statamic<\/a> by now — that rebellious little Laravel-powered content management system that refuses to use databases. Well, it's pretty grown up now, and in this series we're going to learn how Statamic can help you build highly-scalable websites quickly and efficiently, <em>including<\/em> how to run on a database.<\/p><p>We'll get into building add-ons, starter kits, and even pop the hood and explore just how all the flat file Statamic Magic (or Statamagic, some might say) works. Let's do this!<\/p>","translations":null,"path":"\/series\/learn-statamic-with-jack","strippedBody":"You've probably heard of Statamic by now — that rebellious little Laravel-powered content management system that refuses to use databases. Well, it's pretty grown up now, and in this series we're going to learn how Statamic can help you build highly-scalable websites quickly and efficiently, including how to run on a database. We'll get into building add-ons, starter kits, and even pop the hood and explore just how all the flat file Statamic Magic (or Statamagic, some might say) works. Let's do this!","excerpt":"Learn Statamic with Jack! Build scalable, database-free Laravel-powered sites, create add-ons, and explore Statamic’s magic in this friendly, hands-on series.","thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","large_thumbnail":"https:\/\/laracasts.s3.amazonaws.com\/series\/thumbnails\/social-cards\/learn-statamic-with-jack.png","slug":"learn-statamic-with-jack","episodeCount":22,"difficultyLevel":"Intermediate","customUrl":null,"version":"Statamic 3-5","complete":1,"archived":false,"episode_order":"asc","replacedBy":null,"runTime":"2h 58m","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"hasChapters":true,"chapters":[{"heading":"Introduction","number":1,"count":1,"completed":false,"episodes":[{"id":2586,"chapter":1,"title":"Introduction","body":"<p>Let's talk real quick about what Statamic is and can do, so you approach this course with the right perspective.<\/p>","excerpt":"Get a concise introduction to Statamic: what it is, what it does, and how to approach this course with the right perspective.","hasSourceCode":false,"position":1,"dateSegments":{"published":"November 11, 2022","publishedAlt":"Nov 11th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":202,"lengthForHumans":"3m 22s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-1.png","isNew":false,"free":true,"isScheduled":false,"path":"\/episodes\/2586","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":true,"requiresReactivation":null,"requiresBillingDetails":false,"isCompleted":null},"cloudflarePlayback":{"src":"https:\/\/media.laracasts.com\/videos\/01KYDH8X44YHCZJ22P5663Q8XV\/v0001\/hls\/master.m3u8","poster":"https:\/\/media.laracasts.com\/videos\/01KYDH8X44YHCZJ22P5663Q8XV\/v0001\/poster.jpg","storyboard":"https:\/\/media.laracasts.com\/videos\/01KYDH8X44YHCZJ22P5663Q8XV\/v0001\/storyboards\/storyboard.vtt","withCredentials":true,"captions":[{"src":"https:\/\/media.laracasts.com\/videos\/01KYDH8X44YHCZJ22P5663Q8XV\/v0001\/captions\/en.vtt","label":"English CC","language":"en","kind":"subtitles","source":"mux"}]},"links":{"bookmark":"\/episodes\/2586\/bookmark"}}]},{"heading":"Site Build","number":2,"count":14,"completed":false,"episodes":[{"id":2587,"chapter":2,"title":"Installing Statamic","body":"<p>Statamic can be installed on its own with our installer binary, or into an existing Laravel application with composer. Let's walk through the steps needed to do both.<\/p>","excerpt":"Install Statamic standalone or into an existing Laravel app—step-by-step guide using the installer binary or Composer to get up and running.","hasSourceCode":false,"position":2,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":263,"lengthForHumans":"4m 23s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-2.png","isNew":false,"free":true,"isScheduled":false,"path":"\/episodes\/2587","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":true,"requiresReactivation":null,"requiresBillingDetails":false,"isCompleted":null},"cloudflarePlayback":{"src":"https:\/\/media.laracasts.com\/videos\/01KVXX21V7YSVZRCT8W28FK7FT\/v0001\/hls\/master.m3u8","poster":"https:\/\/media.laracasts.com\/videos\/01KVXX21V7YSVZRCT8W28FK7FT\/v0001\/poster.jpg","storyboard":"https:\/\/media.laracasts.com\/videos\/01KVXX21V7YSVZRCT8W28FK7FT\/v0001\/storyboards\/storyboard.vtt","withCredentials":true,"captions":[{"src":"https:\/\/media.laracasts.com\/videos\/01KVXX21V7YSVZRCT8W28FK7FT\/v0001\/captions\/en.vtt","label":"English CC","language":"en","kind":"subtitles","source":"mux"}]},"links":{"bookmark":"\/episodes\/2587\/bookmark"}},{"id":2588,"chapter":2,"title":"The Tour","body":"<p>Learning a new CMS is a lot like learning a new framework or programming language. Let's give you the grand tour of all the things Statamic adds to a base Laravel install as well as explore the Control Panel.<\/p>","excerpt":"Take a hands-on tour of Statamic: discover what it adds to Laravel, explore the Control Panel, and learn how it speeds site development.","hasSourceCode":false,"position":3,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":748,"lengthForHumans":"12m 28s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-3.png","isNew":false,"free":true,"isScheduled":false,"path":"\/episodes\/2588","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":true,"requiresReactivation":null,"requiresBillingDetails":false,"isCompleted":null},"cloudflarePlayback":{"src":"https:\/\/media.laracasts.com\/videos\/01KVXRM9418185ZR4TSSN4MKPB\/v0001\/hls\/master.m3u8","poster":"https:\/\/media.laracasts.com\/videos\/01KVXRM9418185ZR4TSSN4MKPB\/v0001\/poster.jpg","storyboard":"https:\/\/media.laracasts.com\/videos\/01KVXRM9418185ZR4TSSN4MKPB\/v0001\/storyboards\/storyboard.vtt","withCredentials":true,"captions":[{"src":"https:\/\/media.laracasts.com\/videos\/01KVXRM9418185ZR4TSSN4MKPB\/v0001\/captions\/en.vtt","label":"English CC","language":"en","kind":"subtitles","source":"mux"}]},"links":{"bookmark":"\/episodes\/2588\/bookmark"}},{"id":2589,"chapter":2,"title":"Layouts & Templates","body":"<p>Let's pretend you're a developer with a static HTML & Tailwind site and you need to hook it up to a CMS. You've picked Statamic. What do you do next?<\/p>","excerpt":"Turn your static HTML & Tailwind site into a Statamic-powered site, learn layouts, templates, and practical steps to integrate your design.","hasSourceCode":false,"position":4,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":421,"lengthForHumans":"7m 01s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-4.png","isNew":false,"free":true,"isScheduled":false,"path":"\/episodes\/2589","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":true,"requiresReactivation":null,"requiresBillingDetails":false,"isCompleted":null},"cloudflarePlayback":{"src":"https:\/\/media.laracasts.com\/videos\/01KVYNGSY45Q35SKE8K8KBHRVE\/v0001\/hls\/master.m3u8","poster":"https:\/\/media.laracasts.com\/videos\/01KVYNGSY45Q35SKE8K8KBHRVE\/v0001\/poster.jpg","storyboard":"https:\/\/media.laracasts.com\/videos\/01KVYNGSY45Q35SKE8K8KBHRVE\/v0001\/storyboards\/storyboard.vtt","withCredentials":true,"captions":[{"src":"https:\/\/media.laracasts.com\/videos\/01KVYNGSY45Q35SKE8K8KBHRVE\/v0001\/captions\/en.vtt","label":"English CC","language":"en","kind":"subtitles","source":"mux"}]},"links":{"bookmark":"\/episodes\/2589\/bookmark"}},{"id":2590,"chapter":2,"title":"Build a Landing Page","body":"<p>It's now time to set up Blueprint fields to hold and manage the content. Once we do that, we can pull the data out into our template and make the homepage of our new site editable.<\/p>","excerpt":"Build an editable landing page: set up Blueprint fields, pull data into templates, and make your homepage content easily manageable.","hasSourceCode":false,"position":5,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":1198,"lengthForHumans":"19m 58s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-5.png","isNew":false,"free":true,"isScheduled":false,"path":"\/episodes\/2590","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":true,"requiresReactivation":null,"requiresBillingDetails":false,"isCompleted":null},"cloudflarePlayback":{"src":"https:\/\/media.laracasts.com\/videos\/01KVYANMRJZXXW1W5JY67VJSQP\/v0001\/hls\/master.m3u8","poster":"https:\/\/media.laracasts.com\/videos\/01KVYANMRJZXXW1W5JY67VJSQP\/v0001\/poster.jpg","storyboard":"https:\/\/media.laracasts.com\/videos\/01KVYANMRJZXXW1W5JY67VJSQP\/v0001\/storyboards\/storyboard.vtt","withCredentials":true,"captions":[{"src":"https:\/\/media.laracasts.com\/videos\/01KVYANMRJZXXW1W5JY67VJSQP\/v0001\/captions\/en.vtt","label":"English CC","language":"en","kind":"subtitles","source":"mux"}]},"links":{"bookmark":"\/episodes\/2590\/bookmark"}},{"id":2591,"chapter":2,"title":"Building a Blog","body":"<p>Every good tutorial series needs to build a blog, right? Not this one! We'll be building a <em>news<\/em> section. It's much different. You'll learn how to create and configure a new Collection, set up a new Blueprint with all the fields you'll need to manage your content, scaffold out new views, and wire it up in your templates. Want to go beyond this lesson? Learn more about <a href=\"https:\/\/statamic.dev\/collections\" target=\"_blank\">Collections<\/a>.<\/p>","excerpt":"Build a Statamic news section: create Collections, configure Blueprints, scaffold views, and wire templates for publishable content.","hasSourceCode":false,"position":6,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":638,"lengthForHumans":"10m 38s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-6.png","isNew":false,"free":true,"isScheduled":false,"path":"\/episodes\/2591","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":true,"requiresReactivation":null,"requiresBillingDetails":false,"isCompleted":null},"cloudflarePlayback":{"src":"https:\/\/media.laracasts.com\/videos\/01KW76WAQEV7M5Z5QJCXWZSAD2\/v0001\/hls\/master.m3u8","poster":"https:\/\/media.laracasts.com\/videos\/01KW76WAQEV7M5Z5QJCXWZSAD2\/v0001\/poster.jpg","storyboard":"https:\/\/media.laracasts.com\/videos\/01KW76WAQEV7M5Z5QJCXWZSAD2\/v0001\/storyboards\/storyboard.vtt","withCredentials":true,"captions":[{"src":"https:\/\/media.laracasts.com\/videos\/01KW76WAQEV7M5Z5QJCXWZSAD2\/v0001\/captions\/en.vtt","label":"English CC","language":"en","kind":"subtitles","source":"mux"}]},"links":{"bookmark":"\/episodes\/2591\/bookmark"}},{"id":2592,"chapter":2,"title":"Creating Taxonomies","body":"<p>Collections and Entries aren't the only types of data Statamic can manage. Let's set up a new Taxonomy so you can tag your Entries and organize your content in new ways.<\/p>","excerpt":"Create Taxonomies in Statamic to tag and organize entries, learn to set up vocabularies for smarter content categorization.","hasSourceCode":false,"position":7,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":320,"lengthForHumans":"5m 20s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-7.png","isNew":false,"free":true,"isScheduled":false,"path":"\/episodes\/2592","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":true,"requiresReactivation":null,"requiresBillingDetails":false,"isCompleted":null},"cloudflarePlayback":{"src":"https:\/\/media.laracasts.com\/videos\/01KWM27DJYCCB7F097GH66Q229\/v0001\/hls\/master.m3u8","poster":"https:\/\/media.laracasts.com\/videos\/01KWM27DJYCCB7F097GH66Q229\/v0001\/poster.jpg","storyboard":"https:\/\/media.laracasts.com\/videos\/01KWM27DJYCCB7F097GH66Q229\/v0001\/storyboards\/storyboard.vtt","withCredentials":true,"captions":[{"src":"https:\/\/media.laracasts.com\/videos\/01KWM27DJYCCB7F097GH66Q229\/v0001\/captions\/en.vtt","label":"English CC","language":"en","kind":"subtitles","source":"mux"}]},"links":{"bookmark":"\/episodes\/2592\/bookmark"}},{"id":2593,"chapter":2,"title":"Manipulating Images with Glide","body":"<p>Don't waste your visitors bandwidth and load times! Let's use Glide to manipulate our Asset images so they're only as big as they need to be. We'll also look at how to set focal points so the good parts of the images are always in view. Want to go beyond this lesson? Learn more about <a href=\"https:\/\/statamic.dev\/tags\/glide\" target=\"_blank\">Glide<\/a>.<\/p>","excerpt":"Optimize images with Glide in Statamic: resize on the fly, set focal points, and reduce bandwidth for faster, responsive pages.","hasSourceCode":false,"position":8,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":298,"lengthForHumans":"4m 58s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-8.png","isNew":false,"free":true,"isScheduled":false,"path":"\/episodes\/2593","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":true,"requiresReactivation":null,"requiresBillingDetails":false,"isCompleted":null},"cloudflarePlayback":{"src":"https:\/\/media.laracasts.com\/videos\/01KWWY1HF2BN48WBZTVAB339K3\/v0001\/hls\/master.m3u8","poster":"https:\/\/media.laracasts.com\/videos\/01KWWY1HF2BN48WBZTVAB339K3\/v0001\/poster.jpg","storyboard":"https:\/\/media.laracasts.com\/videos\/01KWWY1HF2BN48WBZTVAB339K3\/v0001\/storyboards\/storyboard.vtt","withCredentials":true,"captions":[{"src":"https:\/\/media.laracasts.com\/videos\/01KWWY1HF2BN48WBZTVAB339K3\/v0001\/captions\/en.vtt","label":"English CC","language":"en","kind":"subtitles","source":"mux"}]},"links":{"bookmark":"\/episodes\/2593\/bookmark"}},{"id":2594,"chapter":2,"title":"DRY Up Our Templates","body":"<p>Partials are a great way to remove redundant code and create components you can use throughout your site. Let's look at how we can tap into their power, like He-Man and the power of Grayskull. Want to go beyond this lesson? Learn more about <a href=\"https:\/\/statamic.dev\/tags\/partial\" target=\"_blank\">Navigations<\/a>.<\/p>","excerpt":"DRY up templates with Statamic partials: create reusable components, eliminate redundancy, and streamline your site's codebase.","hasSourceCode":false,"position":9,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":275,"lengthForHumans":"4m 35s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-9.png","isNew":false,"free":true,"isScheduled":false,"path":"\/episodes\/2594","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":true,"requiresReactivation":null,"requiresBillingDetails":false,"isCompleted":null},"cloudflarePlayback":{"src":"https:\/\/media.laracasts.com\/videos\/01KWPB0TGMAP4X68H31AEFCVRC\/v0001\/hls\/master.m3u8","poster":"https:\/\/media.laracasts.com\/videos\/01KWPB0TGMAP4X68H31AEFCVRC\/v0001\/poster.jpg","storyboard":"https:\/\/media.laracasts.com\/videos\/01KWPB0TGMAP4X68H31AEFCVRC\/v0001\/storyboards\/storyboard.vtt","withCredentials":true,"captions":[{"src":"https:\/\/media.laracasts.com\/videos\/01KWPB0TGMAP4X68H31AEFCVRC\/v0001\/captions\/en.vtt","label":"English CC","language":"en","kind":"subtitles","source":"mux"}]},"links":{"bookmark":"\/episodes\/2594\/bookmark"}},{"id":2595,"chapter":2,"title":"Building Navs","body":"<p>Hardcoded nav? No way. Let's build a dynamic nav! Let's explore Structured Collections vs Navigations so you can understand when to use each approach in the real world. Want to go beyond this lesson? Learn more about <a href=\"https:\/\/statamic.dev\/navigation\" target=\"_blank\">Navigations<\/a>.<\/p>","excerpt":"Build dynamic navigation in Statamic—learn Structured Collections vs Navigations and when to use each for flexible, maintainable menus.","hasSourceCode":false,"position":10,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":523,"lengthForHumans":"8m 43s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-10.png","isNew":false,"free":true,"isScheduled":false,"path":"\/episodes\/2595","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":true,"requiresReactivation":null,"requiresBillingDetails":false,"isCompleted":null},"cloudflarePlayback":{"src":"https:\/\/media.laracasts.com\/videos\/01KWT044055PDP55TKSCV9WW02\/v0001\/hls\/master.m3u8","poster":"https:\/\/media.laracasts.com\/videos\/01KWT044055PDP55TKSCV9WW02\/v0001\/poster.jpg","storyboard":"https:\/\/media.laracasts.com\/videos\/01KWT044055PDP55TKSCV9WW02\/v0001\/storyboards\/storyboard.vtt","withCredentials":true,"captions":[{"src":"https:\/\/media.laracasts.com\/videos\/01KWT044055PDP55TKSCV9WW02\/v0001\/captions\/en.vtt","label":"English CC","language":"en","kind":"subtitles","source":"mux"}]},"links":{"bookmark":"\/episodes\/2595\/bookmark"}},{"id":2596,"chapter":2,"title":"Search","body":"<p>There's Algolia, MeiliSearch, ElasticSearch, and many other third-party search solutions, but Statamic has its own built-in search capabilities. What it lacks in configuration, it makes up for in simplicity. Let's look at how to wire up your own site search. Want to go beyond this lesson? Learn more about <a href=\"https:\/\/statamic.dev\/search\" target=\"_blank\">Search<\/a>.<\/p>","excerpt":"Implement simple, built-in Statamic search—learn to wire site search quickly for fast, maintainable results without complex third-party setup.","hasSourceCode":false,"position":11,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":449,"lengthForHumans":"7m 29s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-11.png","isNew":false,"free":true,"isScheduled":false,"path":"\/episodes\/2596","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":true,"requiresReactivation":null,"requiresBillingDetails":false,"isCompleted":null},"cloudflarePlayback":{"src":"https:\/\/media.laracasts.com\/videos\/01KX1TJXRYCXDHDBAJVW6SB9RS\/v0001\/hls\/master.m3u8","poster":"https:\/\/media.laracasts.com\/videos\/01KX1TJXRYCXDHDBAJVW6SB9RS\/v0001\/poster.jpg","storyboard":"https:\/\/media.laracasts.com\/videos\/01KX1TJXRYCXDHDBAJVW6SB9RS\/v0001\/storyboards\/storyboard.vtt","withCredentials":true,"captions":[{"src":"https:\/\/media.laracasts.com\/videos\/01KX1TJXRYCXDHDBAJVW6SB9RS\/v0001\/captions\/en.vtt","label":"English CC","language":"en","kind":"subtitles","source":"mux"}]},"links":{"bookmark":"\/episodes\/2596\/bookmark"}},{"id":2597,"chapter":2,"title":"Antlers","body":"<p>Antlers is a simple and powerful template engine provided with Statamic. It can fetch and filter content, display, modify, and set variables, tap into core features like user authentication and search, and handle complex logic. Let's explore what it can do and why you might want to use it instead of Blade. Want to go beyond this lesson? Learn more about <a href=\"https:\/\/statamic.dev\/new-antlers-parser\" target=\"_blank\">Antlers<\/a>.<\/p>","excerpt":"Learn Antlers, Statamic's simple yet powerful template engine—fetch, filter, and manipulate content, handle auth and complex logic with ease.","hasSourceCode":false,"position":12,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":957,"lengthForHumans":"15m 57s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-12.png","isNew":false,"free":true,"isScheduled":false,"path":"\/episodes\/2597","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":true,"requiresReactivation":null,"requiresBillingDetails":false,"isCompleted":null},"cloudflarePlayback":{"src":"https:\/\/media.laracasts.com\/videos\/01KX5H38Z2J3HMYD6QQ2EG0E94\/v0001\/hls\/master.m3u8","poster":"https:\/\/media.laracasts.com\/videos\/01KX5H38Z2J3HMYD6QQ2EG0E94\/v0001\/poster.jpg","storyboard":"https:\/\/media.laracasts.com\/videos\/01KX5H38Z2J3HMYD6QQ2EG0E94\/v0001\/storyboards\/storyboard.vtt","withCredentials":true,"captions":[{"src":"https:\/\/media.laracasts.com\/videos\/01KX5H38Z2J3HMYD6QQ2EG0E94\/v0001\/captions\/en.vtt","label":"English CC","language":"en","kind":"subtitles","source":"mux"}]},"links":{"bookmark":"\/episodes\/2597\/bookmark"}},{"id":2598,"chapter":2,"title":"Forms","body":"<p>Forms are a natural part of the internet experience and a core component of most websites. Let's build a basic contact form, and then look at how Statamic can dynamically manage the form fields with conditions and <a href=\"https:\/\/alpinejs.dev\" target=\"_blank\">Alpine.js<\/a>. Want to go beyond this lesson? Learn more about <a href=\"https:\/\/statamic.dev\/forms\" target=\"_blank\">Forms<\/a>.<\/p>","excerpt":"Build a dynamic contact form with Statamic: learn form setup, conditional fields, and Alpine.js tips for better UX.","hasSourceCode":false,"position":13,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":683,"lengthForHumans":"11m 23s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-13.png","isNew":false,"free":true,"isScheduled":false,"path":"\/episodes\/2598","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":true,"requiresReactivation":null,"requiresBillingDetails":false,"isCompleted":null},"cloudflarePlayback":{"src":"https:\/\/media.laracasts.com\/videos\/01KXXWP8DZ8088PWH5G78P624D\/v0001\/hls\/master.m3u8","poster":"https:\/\/media.laracasts.com\/videos\/01KXXWP8DZ8088PWH5G78P624D\/v0001\/poster.jpg","storyboard":"https:\/\/media.laracasts.com\/videos\/01KXXWP8DZ8088PWH5G78P624D\/v0001\/storyboards\/storyboard.vtt","withCredentials":true,"captions":[{"src":"https:\/\/media.laracasts.com\/videos\/01KXXWP8DZ8088PWH5G78P624D\/v0001\/captions\/en.vtt","label":"English CC","language":"en","kind":"subtitles","source":"mux"}]},"links":{"bookmark":"\/episodes\/2598\/bookmark"}},{"id":2599,"chapter":2,"title":"Advanced Bard","body":"<p>Bard is Statamic's powerful content block editor built ontop of TipTap and ProseMirror. It supports managing WYSIWYG-style content but uses structured data. It can also manage sets (or \"blocks\") of any other fields you desire. Even more Bard fields. ? Let's explore a bunch of the cool things you can do with Bard! Want to go beyond this lesson? Learn more about <a href=\"https:\/\/statamic.dev\/fieldtypes\/bard\" target=\"_blank\">Bard<\/a>.<\/p>","excerpt":"Master Bard's advanced content blocks in Statamic: create structured WYSIWYG content, reusable blocks, and rich editor workflows.","hasSourceCode":false,"position":14,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":533,"lengthForHumans":"8m 53s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-14.png","isNew":false,"free":true,"isScheduled":false,"path":"\/episodes\/2599","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":true,"requiresReactivation":null,"requiresBillingDetails":false,"isCompleted":null},"cloudflarePlayback":{"src":"https:\/\/media.laracasts.com\/videos\/01KWS76KE5SXB8YRFZ5WY3QFZ5\/v0001\/hls\/master.m3u8","poster":"https:\/\/media.laracasts.com\/videos\/01KWS76KE5SXB8YRFZ5WY3QFZ5\/v0001\/poster.jpg","storyboard":"https:\/\/media.laracasts.com\/videos\/01KWS76KE5SXB8YRFZ5WY3QFZ5\/v0001\/storyboards\/storyboard.vtt","withCredentials":true,"captions":[{"src":"https:\/\/media.laracasts.com\/videos\/01KWS76KE5SXB8YRFZ5WY3QFZ5\/v0001\/captions\/en.vtt","label":"English CC","language":"en","kind":"subtitles","source":"mux"}]},"links":{"bookmark":"\/episodes\/2599\/bookmark"}},{"id":2600,"chapter":2,"title":"Building Addons","body":"<p>Want to add your features into Statamic? Addons and Extensions are great ways to do that. Addons can be shared or sold on the <a href=\"https:\/\/statamic.com\/marketplace\" target=\"_blank\">Statamic Marketplace<\/a>, or be kept private for your own team's use. Learn more about <a href=\"https:\/\/statamic.dev\/extending\" target=\"_blank\">extending Statamic<\/a>.<\/p>","excerpt":"Create powerful Statamic addons and extensions - build, test, and publish reusable features for the Marketplace or keep them private for your team.","hasSourceCode":false,"position":15,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":488,"lengthForHumans":"8m 08s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-15.png","isNew":false,"free":true,"isScheduled":false,"path":"\/episodes\/2600","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":true,"requiresReactivation":null,"requiresBillingDetails":false,"isCompleted":null},"cloudflarePlayback":{"src":"https:\/\/media.laracasts.com\/videos\/01KX2776DWP1TX1VWZN2K4PS82\/v0001\/hls\/master.m3u8","poster":"https:\/\/media.laracasts.com\/videos\/01KX2776DWP1TX1VWZN2K4PS82\/v0001\/poster.jpg","storyboard":"https:\/\/media.laracasts.com\/videos\/01KX2776DWP1TX1VWZN2K4PS82\/v0001\/storyboards\/storyboard.vtt","withCredentials":true,"captions":[{"src":"https:\/\/media.laracasts.com\/videos\/01KX2776DWP1TX1VWZN2K4PS82\/v0001\/captions\/en.vtt","label":"English CC","language":"en","kind":"subtitles","source":"mux"}]},"links":{"bookmark":"\/episodes\/2600\/bookmark"}}]},{"heading":"Deployment & Production Performance","number":3,"count":2,"completed":false,"episodes":[{"id":2601,"chapter":3,"title":"Deploying and Cache Modes","body":"<p>With our site effectively completed, let's look at how to properly deploy a Statamic site and pick the right cache mode and settings for production. Want to go beyond this lesson? Learn more about <a href=\"https:\/\/statamic.dev\/deploying\" target=\"_blank\">deploying Statamic<\/a>.<\/p>","excerpt":"Deploy your Statamic site confidently: choose the right cache mode and production settings for fast, reliable live performance.","hasSourceCode":false,"position":16,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":646,"lengthForHumans":"10m 46s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-16.png","isNew":false,"free":true,"isScheduled":false,"path":"\/episodes\/2601","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":true,"requiresReactivation":null,"requiresBillingDetails":false,"isCompleted":null},"cloudflarePlayback":{"src":"https:\/\/media.laracasts.com\/videos\/01KWXG77XKFANSE576R1C1QCZZ\/v0001\/hls\/master.m3u8","poster":"https:\/\/media.laracasts.com\/videos\/01KWXG77XKFANSE576R1C1QCZZ\/v0001\/poster.jpg","storyboard":"https:\/\/media.laracasts.com\/videos\/01KWXG77XKFANSE576R1C1QCZZ\/v0001\/storyboards\/storyboard.vtt","withCredentials":true,"captions":[{"src":"https:\/\/media.laracasts.com\/videos\/01KWXG77XKFANSE576R1C1QCZZ\/v0001\/captions\/en.vtt","label":"English CC","language":"en","kind":"subtitles","source":"mux"}]},"links":{"bookmark":"\/episodes\/2601\/bookmark"}},{"id":2602,"chapter":3,"title":"Static Site Generator","body":"<p>You simply can't beat the speed of a fully static site. Let's look at how to generate static sites with Statamic. Want to go beyond this lesson? Learn more about <a href=\"https:\/\/github.com\/statamic\/ssg\" target=\"_blank\">Statamic SSG<\/a>.<\/p>","excerpt":"Generate lightning-fast static sites with Statamic: step-by-step guide to build, export, and optimize fully static builds for max performance.","hasSourceCode":false,"position":17,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":353,"lengthForHumans":"5m 53s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-17.png","isNew":false,"free":true,"isScheduled":false,"path":"\/episodes\/2602","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":true,"requiresReactivation":null,"requiresBillingDetails":false,"isCompleted":null},"cloudflarePlayback":{"src":"https:\/\/media.laracasts.com\/videos\/01KX8G2W338AM07Q4F27JB0A7X\/v0001\/hls\/master.m3u8","poster":"https:\/\/media.laracasts.com\/videos\/01KX8G2W338AM07Q4F27JB0A7X\/v0001\/poster.jpg","storyboard":"https:\/\/media.laracasts.com\/videos\/01KX8G2W338AM07Q4F27JB0A7X\/v0001\/storyboards\/storyboard.vtt","withCredentials":true,"captions":[{"src":"https:\/\/media.laracasts.com\/videos\/01KX8G2W338AM07Q4F27JB0A7X\/v0001\/captions\/en.vtt","label":"English CC","language":"en","kind":"subtitles","source":"mux"}]},"links":{"bookmark":"\/episodes\/2602\/bookmark"}}]},{"heading":"Tasty Extras","number":4,"count":5,"completed":false,"episodes":[{"id":2603,"chapter":4,"title":"Going Headless","body":"<p>Statamic can be decoupled and used in a \"headless\" fashion, essentially operating solely as a content store and control panel. You can fetch data from Statamic with the <a href=\"https:\/\/statamic.dev\/rest-api\" target=\"_blank\">REST API<\/a> or <a href=\"https:\/\/statamic.dev\/graphql\" target=\"_blank\">GraphQL<\/a> – whichever fits your workflow best.<\/p>","excerpt":"Decouple Statamic as a headless CMS—manage content in the control panel and fetch it via REST API or GraphQL to power any frontend.","hasSourceCode":false,"position":18,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":327,"lengthForHumans":"5m 27s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-18.png","isNew":false,"free":false,"isScheduled":false,"path":"\/episodes\/2603","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":false,"requiresReactivation":null,"requiresBillingDetails":true,"isCompleted":null},"links":{"bookmark":"\/episodes\/2603\/bookmark"}},{"id":2604,"chapter":4,"title":"Starter Kits","body":"<p><a href=\"https:\/\/statamic.dev\/starter-kits\">Starter Kits<\/a> are pre-built site packages that jump-start new Statamic sites with boilerplate code, features, functionality, and even design. We'll walk through how to install Starter Kits as well as how to create your own (spoiler: it's super easy) in under 5 minutes.\n<\/p>","excerpt":"Jump-start new Statamic sites with Starter Kits: install prebuilt boilerplate fast and learn how to create your own in under five minutes.","hasSourceCode":false,"position":19,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":303,"lengthForHumans":"5m 03s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-19.png","isNew":false,"free":false,"isScheduled":false,"path":"\/episodes\/2604","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":false,"requiresReactivation":null,"requiresBillingDetails":true,"isCompleted":null},"links":{"bookmark":"\/episodes\/2604\/bookmark"}},{"id":2605,"chapter":4,"title":"Content Queries and Repositories","body":"<p>Maybe you're thinking Statamic is pretty cool and all but you'd really rather just build your site with Controllers and Blade, the vanilla \"Laravel Way\". No problem, let's walk through how to do just that with <a href=\"https:\/\/statamic.dev\/content-queries\" target=\"_blank\">Content Queries<\/a> and <a href=\"https:\/\/statamic.dev\/reference\" target=\"_blank\">Repositories<\/a>.<\/p>","excerpt":"Build Statamic sites with Laravel controllers and Blade using Content Queries and Repositories—practical, hands-on integration guide.","hasSourceCode":false,"position":20,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":312,"lengthForHumans":"5m 12s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-20.png","isNew":false,"free":false,"isScheduled":false,"path":"\/episodes\/2605","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":false,"requiresReactivation":null,"requiresBillingDetails":true,"isCompleted":null},"links":{"bookmark":"\/episodes\/2605\/bookmark"}},{"id":2606,"chapter":4,"title":"The Database Driver","body":"<p>Let's talk about scaling options. Statamic's <a href=\"https:\/\/github.com\/statamic\/eloquent-driver\">Eloquent Driver<\/a> lets you switch from flat files to MySQL in a matter of moments. Let's walk through the steps!<\/p>","excerpt":"Switch Statamic from flat files to MySQL with the Eloquent Driver. Learn step-by-step how to scale your site quickly and safely.","hasSourceCode":false,"position":21,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":321,"lengthForHumans":"5m 21s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-21.png","isNew":false,"free":false,"isScheduled":false,"path":"\/episodes\/2606","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":false,"requiresReactivation":null,"requiresBillingDetails":true,"isCompleted":null},"links":{"bookmark":"\/episodes\/2606\/bookmark"}},{"id":2607,"chapter":4,"title":"How the Stache Works","body":"<p>Let's finish off this series by popping the hood and seeing just how the the flat file <a href=\"https:\/\/statamic.dev\/stache\" target=\"_blank\">Stache<\/a> makes Statamic possible.<\/p>","excerpt":"Explore how Statamic's Stache works under the hood, understand its flat-file cache, data flow, and performance benefits in clear, practical terms.","hasSourceCode":false,"position":22,"dateSegments":{"published":"November 14, 2022","publishedAlt":"Nov 14th, 2022","publishedDiff":"3 years ago","whenAvailableForHumans":"3 years"},"length":434,"lengthForHumans":"7m 14s","largeThumbnail":"https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/learn-statamic-with-jack-22.png","isNew":false,"free":false,"isScheduled":false,"path":"\/episodes\/2607","author":{"id":2951,"username":"jackmcdade","avatar":"https:\/\/images.laracasts.com\/instructors\/2951.jpeg?tr=w-400,h-400,q-80,fo-top","experience":{"points":"4,750","level":1,"elite":0},"reported":null,"staff":false,"subscribed":false,"ai":false,"elite":0,"leaderboardPosition":null,"profile":{"full_name":"Jack McDade","bio":"<div>I’m Jack McDade. I designed and created <a href=\"https:\/\/statamic.com\/\">Statamic<\/a>, designed <a href=\"https:\/\/laravel.com\/\">Laravel.com<\/a>, <a href=\"https:\/\/laracon.us\/\">Laracon<\/a> (a few times), and a <a href=\"https:\/\/jackmcdade.com\/design\">whole pile<\/a> of others. I design things, write code, create content, and dream of the 80s & 90s.<\/div>","twitter":"jackmcdade","github":"jackmcdade","website":"https:\/\/jackmcdade.com","employment":"Statamic","job_title":"Founder","location":"Florida","flag":"us","available_for_hire":0},"dateSegments":{"created_diff":"12 years ago"},"settings":{"show_profile":true},"links":{"profile":"https:\/\/laracasts.com\/@jackmcdade"}},"taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"series":{"title":"Learn Statamic with Jack","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/learn-statamic-with-jack.png","path":"\/series\/learn-statamic-with-jack"},"exam":null,"viewingStatus":{"scheduled":false,"watchable":false,"requiresReactivation":null,"requiresBillingDetails":true,"isCompleted":null},"links":{"bookmark":"\/episodes\/2607\/bookmark"}}]}],"topics":[{"name":"Statamic","episode_count":22,"series_count":1,"path":"https:\/\/laracasts.com\/topics\/statamic"}],"isLarabit":0,"isCreatorSeries":1,"progress":{"started":false,"completionPercentage":0,"episodesCompleted":0,"completed":false,"nextEpisodePosition":1},"dates":{"launch":"2022-11-14T15:43:19.000000Z","launchForHumans":"November 14, 2022","lastUpdated":"Nov 14, 2022"},"isScheduled":false,"links":{"continue":"\/series\/learn-statamic-with-jack\/episodes\/1","bookmark":"\/series\/learn-statamic-with-jack\/bookmark"},"og":{"card":"summary_large_image"}},"notifiesUserAtLaunch":false,"isOnWatchlist":false,"moreSeries":[{"id":270,"title":"Practical UI Components With Livewire and Alpine","body":"<p>In this series, we'll build a collection of practical UI components with <code>Livewire<\/code> and <code>AlpineJS<\/code>, using real interface patterns instead of toy examples. We'll start with smaller pieces like inline editing and a reusable <code>toast<\/code> system, then move into more stateful components like multi-step flows, tag inputs, dynamic search, notifications, and a drag-and-drop Kanban board.<\/p>\r\n<p>Along the way, we'll focus on the details that make UI feel great to use: autosave, subtle feedback, keyboard navigation, transitions, persisted state, polling, and clean reset behavior. By the end, you'll have a small library of polished components and a clearer sense of how to structure these kinds of interfaces with <code>Livewire<\/code> and <code>Alpine<\/code> in your own apps.<\/p>\r\n","path":"\/series\/practical-ui-components-with-livewire-and-alpinejs","strippedBody":"In this series, we'll build a collection of practical UI components with Livewire and AlpineJS, using real interface patterns instead of toy examples. We'll start with smaller pieces like inline editing and a reusable toast system, then move into more stateful components like multi-step flows, tag inputs, dynamic search, notifications, and a drag-and-drop Kanban board.\r\nAlong the way, we'll focus on the details that make UI feel great to use: autosave, subtle feedback, keyboard navigation, transitions, persisted state, polling, and clean reset behavior. By the end, you'll have a small library of polished components and a clearer sense of how to structure these kinds of interfaces with Livewire and Alpine in your own apps.\r\n","thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/practical-ui-components-recordings-thumbnail.png","large_thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/social-cards\/practical-ui-components-with-livewire-and-alpinejs.png","slug":"practical-ui-components-with-livewire-and-alpinejs","episodeCount":9,"difficultyLevel":"Intermediate","complete":0,"runTime":"1h 55m","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"author":{"id":242506,"avatar":"https:\/\/images.laracasts.com\/instructors\/242506.jpeg?tr=w-50,h-50,q-60,fo-top","username":"ShrutiBalasa","profile":{"full_name":"Shruti Balasa"}},"isCreatorSeries":0,"isScheduled":false,"dates":{"launch":"2026-07-22T15:19:25.000000Z","launchForHumans":"July 22, 2026","lastUpdated":"Jul 22, 2026"},"progress":{"started":false,"completionPercentage":0,"episodesCompleted":0,"completed":false,"nextEpisodePosition":1},"links":{"continue":"\/series\/practical-ui-components-with-livewire-and-alpinejs\/episodes\/1","bookmark":"\/series\/practical-ui-components-with-livewire-and-alpinejs\/bookmark"}},{"id":269,"title":"The Many Misconceptions of Laravel","body":"<p>Laravel is the recipient of plenty of criticism, but much of it is based on half-truths, outdated assumptions, or a fuzzy sense of what the framework is actually doing. In this series, we'll take those common complaints head-on and build a clearer mental model of Laravel, from modern PHP, to facades, the service container, Eloquent, and more.<\/p>\n","path":"\/series\/the-many-misconceptions-of-laravel","strippedBody":"Laravel is the recipient of plenty of criticism, but much of it is based on half-truths, outdated assumptions, or a fuzzy sense of what the framework is actually doing. In this series, we'll take those common complaints head-on and build a clearer mental model of Laravel, from modern PHP, to facades, the service container, Eloquent, and more.\n","thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/the-many-misconceptions-of-laravel-thumbnail.png","large_thumbnail":"https:\/\/images.laracasts.com\/series\/open-graph-cards\/the-many-misconceptions-of-laravel-open-graph.png","slug":"the-many-misconceptions-of-laravel","episodeCount":12,"difficultyLevel":"Intermediate","complete":0,"runTime":"2h 1m","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"author":{"id":24345,"avatar":"https:\/\/images.laracasts.com\/instructors\/24345.jpeg?tr=w-50,h-50,q-60,fo-top","username":"jwmcpeak","profile":{"full_name":"Jeremy McPeak"}},"isCreatorSeries":0,"isScheduled":false,"dates":{"launch":"2026-06-22T08:00:00.000000Z","launchForHumans":"June 22, 2026","lastUpdated":"Jun 22, 2026"},"progress":{"started":false,"completionPercentage":0,"episodesCompleted":0,"completed":false,"nextEpisodePosition":1},"links":{"continue":"\/series\/the-many-misconceptions-of-laravel\/episodes\/1","bookmark":"\/series\/the-many-misconceptions-of-laravel\/bookmark"}},{"id":267,"title":"Blaze Deep-Dive","body":"<p>Blade components are slow. Really slow. At scale, they quietly become the biggest bottleneck in your Laravel application. We discovered this while trying to make <a href=\"https:\/\/fluxui.dev\">Flux<\/a> as fast as possible, and the result is <a href=\"https:\/\/blazephp.dev\">Blaze<\/a>: a package that fundamentally rethinks how Blade components are compiled and rendered. With multiple levels of optimization, Blaze can shave hundreds of milliseconds off a page load, making Blade rendering up to 25x faster in some cases.<\/p><p>In this series, we'll install it, benchmark it, build a toy version from scratch so you truly understand how it works, and then master every directive and edge case so you can squeeze maximum performance out of your own apps.<\/p>\r\n","path":"\/series\/blaze-deep-dive","strippedBody":"Blade components are slow. Really slow. At scale, they quietly become the biggest bottleneck in your Laravel application. We discovered this while trying to make Flux as fast as possible, and the result is Blaze: a package that fundamentally rethinks how Blade components are compiled and rendered. With multiple levels of optimization, Blaze can shave hundreds of milliseconds off a page load, making Blade rendering up to 25x faster in some cases.In this series, we'll install it, benchmark it, build a toy version from scratch so you truly understand how it works, and then master every directive and edge case so you can squeeze maximum performance out of your own apps.\r\n","thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/blaze-creatorseries-thumbnail.png","large_thumbnail":"https:\/\/images.laracasts.com\/series\/open-graph-cards\/blaze-creatorseries-open-graph.png","trailer":"https:\/\/laracasts.nyc3.digitaloceanspaces.com\/series\/trailers\/blaze-creator-series-trailer.mp4","slug":"blaze-deep-dive","episodeCount":20,"difficultyLevel":"Advanced","complete":0,"runTime":"2h 13m","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"author":{"id":7952,"avatar":"https:\/\/images.laracasts.com\/instructors\/7952.jpeg?tr=w-50,h-50,q-60,fo-top","username":"calebporzio","profile":{"full_name":"Caleb Porzio"}},"isCreatorSeries":0,"isScheduled":false,"dates":{"launch":"2026-04-23T13:00:00.000000Z","launchForHumans":"April 23, 2026","lastUpdated":"Apr 23, 2026"},"progress":{"started":false,"completionPercentage":0,"episodesCompleted":0,"completed":false,"nextEpisodePosition":1},"links":{"continue":"\/series\/blaze-deep-dive\/episodes\/1","bookmark":"\/series\/blaze-deep-dive\/bookmark"}},{"id":262,"title":"Customizing Filament For User-Facing Apps","body":"<p>In this series, we'll build a real, user-facing app called <code>Booknest<\/code> using <code>Laravel<\/code> and <code>Filament<\/code>. We'll begin with a fresh install and begin pushing Filament beyond the usual "internal admin only" setup that you typically see. It's capable of so much more.<\/p>\r\n","path":"\/series\/customizing-filament-for-user-facing-apps","strippedBody":"In this series, we'll build a real, user-facing app called Booknest using Laravel and Filament. We'll begin with a fresh install and begin pushing Filament beyond the usual "internal admin only" setup that you typically see. It's capable of so much more.\r\n","thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/customizing-filament-thumbnail.png","large_thumbnail":"https:\/\/images.laracasts.com\/series\/open-graph-cards\/customizing-filament-open-graph.png","slug":"customizing-filament-for-user-facing-apps","episodeCount":14,"difficultyLevel":"Intermediate","complete":0,"runTime":"2h 53m","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"author":{"id":242506,"avatar":"https:\/\/images.laracasts.com\/instructors\/242506.jpeg?tr=w-50,h-50,q-60,fo-top","username":"ShrutiBalasa","profile":{"full_name":"Shruti Balasa"}},"isCreatorSeries":0,"isScheduled":false,"dates":{"launch":"2026-03-04T14:30:03.000000Z","launchForHumans":"March 4, 2026","lastUpdated":"Mar 4, 2026"},"progress":{"started":false,"completionPercentage":0,"episodesCompleted":0,"completed":false,"nextEpisodePosition":1},"links":{"continue":"\/series\/customizing-filament-for-user-facing-apps\/episodes\/1","bookmark":"\/series\/customizing-filament-for-user-facing-apps\/bookmark"}},{"id":261,"title":"Filament 5 in Depth","body":"<p>Filament's powers have increased exponentially. Now at version 5, it's more powerful and capable than ever. In this series, we'll build a practical Roadmap app from scratch, using Filament for the admin panel and Livewire for the public-facing side.<\/p><p>Along the way, we'll cover panel configuration, enum-driven UI, strict authorization with policies, and newer form inputs like ToggleButtons, Sliders, and the TipTap-powered RichEditor. By the end, you'll have a full-featured app and a solid handle on everything new in Filament.<\/p>\n","path":"\/series\/filament-5-in-depth","strippedBody":"Filament's powers have increased exponentially. Now at version 5, it's more powerful and capable than ever. In this series, we'll build a practical Roadmap app from scratch, using Filament for the admin panel and Livewire for the public-facing side.Along the way, we'll cover panel configuration, enum-driven UI, strict authorization with policies, and newer form inputs like ToggleButtons, Sliders, and the TipTap-powered RichEditor. By the end, you'll have a full-featured app and a solid handle on everything new in Filament.\n","thumbnail":"https:\/\/images.laracasts.com\/series\/thumbnails\/png\/filament-5-in-depth-thumbnail.png","large_thumbnail":"https:\/\/images.laracasts.com\/series\/open-graph-cards\/filament-5-in-depth-open-graph.png","trailer":"https:\/\/laracasts.nyc3.digitaloceanspaces.com\/series\/trailers\/filament-5-in-depth-trailer.mp4","slug":"filament-5-in-depth","episodeCount":16,"difficultyLevel":"Intermediate","complete":0,"runTime":"3h 40m","taxonomy":{"name":"Frameworks","path":"https:\/\/laracasts.com\/browse\/frameworks"},"author":{"id":118722,"avatar":"https:\/\/images.laracasts.com\/instructors\/118722.jpeg?tr=w-50,h-50,q-60,fo-top","username":"KevinMcKee","profile":{"full_name":"Kevin McKee"}},"isCreatorSeries":0,"isScheduled":false,"dates":{"launch":"2026-02-24T17:47:06.000000Z","launchForHumans":"February 24, 2026","lastUpdated":"Feb 24, 2026"},"progress":{"started":false,"completionPercentage":0,"episodesCompleted":0,"completed":false,"nextEpisodePosition":1},"links":{"continue":"\/series\/filament-5-in-depth\/episodes\/1","bookmark":"\/series\/filament-5-in-depth\/bookmark"}}],"level":null},"url":"\/series\/learn-statamic-with-jack","version":"139718bb42ac036850548e0917e4ac7a","sharedProps":["sidebar","errors","auth","bookmarks","flash","app","plans","announcement","recaptchaKey","query","appHost"],"onceProps":{"plans":{"prop":"plans","expiresAt":null}}}</script><div data-server-rendered="true" id="app"><!--[--><section class="section can-reach-edge bg-fg border-b-stroke relative z-20 border-b py-1" data-test="announcement-banner"><!--[--><a href="/join?coupon=qdF6VFkXtAPsHqKRMoJg2mLZxDxfho" class="announcement text-text-secondary block max-w-none overflow-hidden text-center text-sm md:h-[50px]" data-js="announcement"><div class="section-inner flex h-full items-center justify-center"><!--[--><svg width="20" viewbox="0 0 100 90" class="hover:text-blue! transition-colors duration-300 text-current-taxonomy hidden md:inline-block" shape-rendering="crispEdges"><rect x="40" width="20" height="30" class="fill-text-primary"></rect><rect x="20" y="20" width="20" height="10" class="fill-text-primary"></rect><rect x="10" y="50" width="20" height="20" class="fill-current"></rect><rect y="70" width="20" height="20" class="fill-current"></rect><rect x="70" y="50" width="20" height="20" class="fill-text-primary"></rect><rect x="40" y="70" width="60" height="20" class="fill-text-primary"></rect><rect x="20" y="30" width="20" height="10" class="fill-text-primary"></rect><rect x="60" y="20" width="20" height="10" class="fill-text-primary"></rect><rect x="60" y="30" width="20" height="10" class="fill-text-primary"></rect><rect x="60" y="40" width="20" height="10" class="fill-text-primary"></rect></svg><p class="ml-4 py-4 text-left font-medium hover:underline md:py-0 lg:ml-3">Back to School Sale! All accounts are 50% off this week.</p><button as="button" class="btn btn-primary btn-sm ml-4 hidden! flex-shrink-0 md:flex!"><!--[--><!--]--><!--[-->Check it Out<!--]--></button><!--]--></div></a><!--]--></section><div id="root" class="page text-text-primary selection:bg-blue w-screen selection:text-white bg-bg" style="background:linear-gradient(to bottom, var(--color-fg), var(--color-bg) 500px);"><div><!----><!----><!--[--><div class="pointer-events-none fixed inset-0 z-50"></div><main><div data-test="main-nav" class="sticky top-0 z-100 h-[50px]"><nav class="section h-full w-full overflow-hidden py-0 transition-[background-color] duration-300 xl:overflow-visible md:px-8 border-b-stroke bg-bg border-b"><!--[--><div class="relative flex h-full items-center justify-between"><div class="navbar-links relative flex justify-between space-x-5"><!----><a class="cursor-pointer self-center" aria-label="Home Page" href="/"><svg width="150" viewbox="0 0 287 30" class="text-current-taxonomy py-1" shape-rendering="crispEdges"><path d="M0.000244141 29.0626V0.9375H6.66321V23.4711H22.8686V29.0626H0.000244141Z" class="fill-text-primary"></path><path d="M50.937 29.0626L49.1959 24.3416H35.3342L33.5931 29.0626H26.6958L37.5775 0.9375H46.9526L57.8678 29.0626H50.937ZM37.2092 19.2858H47.3209L42.9012 7.26565H41.6289L37.2092 19.2858Z" class="fill-text-primary"></path><path d="M88.6796 29.0626H82.0501L77.4295 20.692H68.3558V29.0626H61.6929V0.9375H76.4586C83.9921 0.9375 87.9765 4.45314 87.9765 11.0157C87.9765 14.9331 86.068 17.7791 83.1885 19.3527L88.6796 29.0626ZM68.3558 6.52904V15.5692H76.0903C79.472 15.5692 81.347 14.0291 81.347 11.0491C81.347 8.06922 79.472 6.52904 76.0903 6.52904H68.3558Z" class="fill-text-primary"></path><path d="M116.747 29.0626L115.005 24.3416H101.144L99.4027 29.0626H92.5054L103.387 0.9375H112.762L123.677 29.0626H116.747ZM103.019 19.2858H113.13L108.711 7.26565H107.438L103.019 19.2858Z" class="fill-text-primary"></path><path d="M142.906 30.0001C133.799 30.0001 127.505 23.8394 127.505 15.0001C127.505 6.16074 133.799 0 142.906 0C149.067 0 155.395 2.74554 156.768 11.0157H150.373C149.168 7.39958 146.389 5.79243 142.906 5.79243C137.918 5.79243 134.101 9.57593 134.101 15.0001C134.101 20.3907 137.918 24.2077 142.906 24.2077C146.389 24.2077 149.168 22.6005 150.373 18.951H156.768C155.395 27.2546 149.134 30.0001 142.906 30.0001Z" class="fill-text-primary"></path><path d="M173.568 0.128296H180.054V10.0428H173.568V0.128296Z" class="fill-text-primary"></path><path d="M167.081 6.738H173.568L173.568 10.0428H167.081V6.738Z" class="fill-text-primary"></path><path d="M163.838 16.6526H170.325V23.2623H163.838V16.6526Z" class="fill-current"></path><path d="M160.594 23.2622H167.081V29.8719H160.594V23.2622Z" class="fill-current"></path><path d="M183.297 16.6526H189.784V23.2623H183.297V16.6526Z" class="fill-text-primary"></path><path d="M173.568 23.2622H193.027V29.8719H173.568V23.2622Z" class="fill-text-primary"></path><path d="M167.081 10.0428H173.568L173.568 13.3477H167.081V10.0428Z" class="fill-text-primary"></path><path d="M180.054 6.738H186.541V10.0428H180.054L180.054 6.738Z" class="fill-text-primary"></path><path d="M180.054 10.0428H186.541V13.3477H180.054L180.054 10.0428Z" class="fill-text-primary"></path><path d="M180.054 13.3477H186.541V16.6525H180.054V13.3477Z" class="fill-text-primary"></path><path d="M211.172 30.0001C202.6 30.0001 198.08 26.9532 198.113 20.3572H204.14C204.375 23.0023 206.551 24.6764 211.172 24.7099C215.524 24.7099 217.901 23.2367 217.901 21.0269C217.901 19.0849 216.328 18.1139 212.98 17.5447L209.497 16.942C204.174 16.0045 198.884 14.5983 198.884 8.47101C198.884 3.14733 203.37 0 211.239 0C218.571 0 223.66 2.57813 223.727 9.54245H217.734C217.299 6.99779 215.323 5.2902 211.105 5.2902C207.288 5.2902 205.279 6.59601 205.279 8.77236C205.279 10.48 206.651 11.5514 209.531 12.0871L212.578 12.6228C217.935 13.5938 224.531 14.4978 224.531 21.2278C224.531 26.8193 219.944 30.0001 211.172 30.0001Z" class="fill-text-primary"></path><path d="M256.116 0.9375V6.52904H245.57V29.0626H238.873V6.52904H228.36V0.9375H256.116Z" class="fill-text-primary"></path><path d="M273 30.0001C264.429 30.0001 259.909 26.9532 259.942 20.3572H265.969C266.203 23.0023 268.38 24.6764 273 24.7099C277.353 24.7099 279.73 23.2367 279.73 21.0269C279.73 19.0849 278.156 18.1139 274.808 17.5447L271.326 16.942C266.002 16.0045 260.712 14.5983 260.712 8.47101C260.712 3.14733 265.199 0 273.067 0C280.4 0 285.489 2.57813 285.556 9.54245H279.563C279.127 6.99779 277.152 5.2902 272.933 5.2902C269.116 5.2902 267.107 6.59601 267.107 8.77236C267.107 10.48 268.48 11.5514 271.36 12.0871L274.406 12.6228C279.764 13.5938 286.36 14.4978 286.36 21.2278C286.36 26.8193 281.773 30.0001 273 30.0001Z" class="fill-text-primary"></path></svg></a><div class="hidden space-x-5 lg:flex"><a class="navbar-link group hover:text-text-primary hover:border-current-taxonomy relative block shrink-0 cursor-pointer border-b text-sm leading-[50px] font-normal xl:text-center is-active text-text-primary border-current-taxonomy" href="/series/discover"><!--[-->Browse <!--]--><!----></a><a class="navbar-link group hover:text-text-primary hover:border-current-taxonomy relative block shrink-0 cursor-pointer border-b text-sm leading-[50px] font-normal xl:text-center text-text-secondary border-transparent" href="/discuss"><!--[-->Forum <!--]--><!----></a><a class="navbar-link group hover:text-text-primary hover:border-current-taxonomy relative block shrink-0 cursor-pointer border-b text-sm leading-[50px] font-normal xl:text-center text-text-secondary border-transparent" href="/series/the-laracasts-snippet"><!--[--> Podcast <!--]--><!----></a><!----><!----></div></div><div class="relative"><div class="flex items-center justify-end leading-none"><a href="/search"><svg width="20" height="27" viewbox="0 0 24 24" fill="none" class="text-icon hover:text-current-taxonomy hover:text-current-taxonomy"><circle cx="10" cy="10" r="7" fill="none" class="stroke-current" stroke-width="2"></circle><path d="M15 15L21 21" class="stroke-current" stroke-width="2.5" stroke-linecap="round"></path><path d="M6 7L8 9" class="stroke-current" stroke-width="1.5" stroke-linecap="round" opacity="0.5"></path><circle cx="5" cy="6" r="1" class="fill-current" opacity="0.6"></circle></svg></a><button class="hover:text-current-taxonomy ml-4 cursor-pointer"><svg width="20" height="20" viewbox="0 0 24 24" fill="none" class="text-current text-icon hover:text-current-taxonomy" style="display:none;"><circle cx="12" cy="12" r="4" fill="none" class="stroke-current" stroke-width="2"></circle><path d="M12 2V5" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><path d="M12 19V22" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.7"></path><path d="M4.22 4.22L6.34 6.34" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><path d="M17.66 17.66L19.78 19.78" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.6"></path><path d="M2 12H5" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><path d="M19 12H22" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.65"></path><path d="M4.22 19.78L6.34 17.66" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.75"></path><path d="M17.66 6.34L19.78 4.22" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.8"></path><circle cx="10.5" cy="10.5" r="1" class="fill-current" opacity="0.5"></circle></svg><svg width="20" height="20" viewbox="0 0 24 24" fill="none" class="text-icon hover:text-current-taxonomy"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" fill="none" class="stroke-current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><circle cx="19" cy="5" r="1" class="fill-current" opacity="0.7"></circle><circle cx="17" cy="9" r="0.75" class="fill-current" opacity="0.5"></circle><circle cx="9" cy="10" r="1" class="fill-current" opacity="0.4"></circle></svg></button><!----><!----><!--[--><button class="navbar-link group hover:text-text-primary hover:border-current-taxonomy relative block shrink-0 cursor-pointer border-b text-sm leading-[50px] font-normal xl:text-center text-text-secondary border-transparent ml-4 hidden lg:inline-block" prefetch><!--[--> Sign In <!--]--><!----></button><div class="ml-4 flex-none self-center hidden md:inline-block"><button as="button" style="--color-current-taxonomy:var(--color-blue);" class="btn btn-primary btn-sm px-2"><!--[--><!--]--><!--[--> Get Started For Free <!--]--></button></div><!--]--><div class="ml-4 lg:hidden"><div><!----><!--[--><button class="flex-center leading-none" aria-label="Toggle Nav Menu"><svg viewbox="0 0 24 24" fill="none" class="fill-current" width="20"><line x1="4" y1="6" x2="20" y2="6" class="stroke-current" stroke-width="2.5" stroke-linecap="round"></line><line x1="4" y1="12" x2="20" y2="12" class="stroke-current" stroke-width="2.5" stroke-linecap="round" opacity="0.8"></line><line x1="4" y1="18" x2="20" y2="18" class="stroke-current" stroke-width="2.5" stroke-linecap="round" opacity="0.6"></line><circle cx="3" cy="6" r="0.75" class="fill-current" opacity="0.5"></circle></svg></button><!--]--></div></div></div></div></div><!----><!----><!--]--></nav></div><div><!--[--><!--[--><!----><!----><!----><div class="bg-fg grid min-h-screen"><aside style="display:none;--fixed-sidebar-top:51px;" id="fixed-sidebar" class="bg-bg lg:border-r-stroke widescreen:max-w-[350px] fixed top-[var(--fixed-sidebar-top)] z-50 h-[calc(100dvh_-_var(--fixed-sidebar-top))] w-full overflow-auto overscroll-contain px-8 pt-8 md:max-w-[275px] lg:sticky lg:top-[51px] lg:h-dvh lg:border-r pb-20"><!--[--><!--[--><div class="space-y-10"><div class="border-stroke has-focus:bg-fg -mx-8 -mt-8 border-b"><form><label class="group flex px-8 font-normal"><svg width="20" height="27" viewbox="0 0 24 24" fill="none" class="text-icon absolute self-center"><circle cx="10" cy="10" r="7" fill="none" class="stroke-current" stroke-width="2"></circle><path d="M15 15L21 21" class="stroke-current" stroke-width="2.5" stroke-linecap="round"></path><path d="M6 7L8 9" class="stroke-current" stroke-width="1.5" stroke-linecap="round" opacity="0.5"></path><circle cx="5" cy="6" r="1" class="fill-current" opacity="0.6"></circle></svg><input value="" type="text" placeholder="Search series" class="placeholder:text-on-lifted-strong h-14 w-full pl-9" autofocus><span class="text-on-lifted-strong shrink-0 self-center" aria-label="Press ⌘K to activate the search input.">Ctrl K</span></label></form></div><nav class="space-y-4"><a class="nav-link hoverable hover:text-text-primary text-text-secondary data-current:text-text-primary hover:*:text-blue flex items-center gap-x-3 text-sm hover:font-medium data-current:font-medium" data-current="false" href="/series/discover"><span class=""><svg width="20" height="20" viewbox="0 0 24 24" fill="none" class="text-current"><path d="M2 21L9 9L12 14L16 6L22 21" fill="none" class="stroke-current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><circle cx="16" cy="3.5" r="1.2" class="stroke-current" stroke-width="1.5"></circle><path d="M16 4.7V6" class="stroke-current" stroke-width="1.5" stroke-linecap="round"></path><circle cx="6.5" cy="4.5" r="1" class="fill-current" opacity="0.7"></circle></svg></span><!--[--> Discover <!--]--><!----></a><a class="nav-link hoverable hover:text-text-primary text-text-secondary data-current:text-text-primary hover:*:text-blue flex items-center gap-x-3 text-sm hover:font-medium data-current:font-medium" data-current="false" href="/series"><span class=""><svg width="20" viewbox="0 0 24 24" fill="none" class="text-icon"><circle cx="5" cy="6" r="2" class="fill-current"></circle><circle cx="5" cy="12" r="2" class="fill-current" opacity="0.85"></circle><circle cx="5" cy="18" r="2" class="fill-current" opacity="0.7"></circle><path d="M10 6H20" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><path d="M10 12H18" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.8"></path><path d="M10 18H16" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.6"></path><circle cx="4" cy="4.5" r="0.75" class="fill-current" opacity="0.5"></circle></svg></span><!--[--> All Series <!--]--><span class="bg-blue ml-auto size-[5px]" title="New Content!"></span></a><a class="nav-link hoverable hover:text-text-primary text-text-secondary data-current:text-text-primary hover:*:text-blue flex items-center gap-x-3 text-sm hover:font-medium data-current:font-medium" data-current="false" href="/path"><span class=""><svg width="20" viewbox="0 0 24 24" fill="none" class="text-current"><circle cx="12" cy="4" r="3" fill="none" class="stroke-current" stroke-width="2"></circle><circle cx="5" cy="12" r="3" fill="none" class="stroke-current" stroke-width="2" opacity="0.85"></circle><circle cx="19" cy="12" r="3" fill="none" class="stroke-current" stroke-width="2" opacity="0.7"></circle><circle cx="12" cy="20" r="3" fill="none" class="stroke-current" stroke-width="2" opacity="0.6"></circle><path d="M12 7V17" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.5"></path><path d="M8 12H16" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.4"></path><circle cx="11" cy="2.5" r="0.75" class="fill-current" opacity="0.7"></circle></svg></span><!--[--> Path <!--]--><!----></a><a class="nav-link hoverable hover:text-text-primary text-text-secondary data-current:text-text-primary hover:*:text-blue flex items-center gap-x-3 text-sm hover:font-medium data-current:font-medium" data-current="false" href="/latest"><span class=""><svg width="20" height="20" viewbox="0 0 24 24" fill="none" class="fill-current"><path d="M12 2.5C12.8 2.5 13.5 3.2 13.5 4V4.5C16.5 5.3 18.5 8 18.5 11V16L20.5 18.5H3.5L5.5 16V11C5.5 8 7.5 5.3 10.5 4.5V4C10.5 3.2 11.2 2.5 12 2.5Z" fill="none" class="stroke-current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M9.5 18.5C9.5 19.9 10.6 21.5 12 21.5C13.4 21.5 14.5 19.9 14.5 18.5" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><path d="M19 8L21 6" class="stroke-current" stroke-width="1.5" stroke-linecap="round" opacity="0.5"></path><path d="M20 10.5L21.5 10" class="stroke-current" stroke-width="1" stroke-linecap="round" opacity="0.35"></path><circle cx="8" cy="8" r="1" class="fill-current" opacity="0.6"></circle></svg></span><!--[--> Recently Published <!--]--><!----></a><!----><!----><!----><!----></nav><ol class="space-y-12"><li><h4 class="font-dank text-text-tertiary text-sm"><!--[-->Instructors<!--]--></h4><ol class="border-stroke mt-4 mb-7 border-l pl-5"><!--[--><!--[--><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?instructors[]=JeffreyWay"><span class="lg:line-clamp-1"><!--[-->Jeffrey Way <!--]--></span><!--[--><span class="text-text-tertiary">141</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?instructors[]=drehimself"><span class="lg:line-clamp-1"><!--[-->Andre Madarang <!--]--></span><!--[--><span class="text-text-tertiary">26</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?instructors[]=jwmcpeak"><span class="lg:line-clamp-1"><!--[-->Jeremy McPeak <!--]--></span><!--[--><span class="text-text-tertiary">15</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?instructors[]=lukedowning19"><span class="lg:line-clamp-1"><!--[-->Luke Downing <!--]--></span><!--[--><span class="text-text-tertiary">11</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?instructors[]=themsaid"><span class="lg:line-clamp-1"><!--[-->Mohamed Said <!--]--></span><!--[--><span class="text-text-tertiary">8</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?instructors[]=simonswiss"><span class="lg:line-clamp-1"><!--[-->Simon Vrachliotis <!--]--></span><!--[--><span class="text-text-tertiary">7</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?instructors[]=ShrutiBalasa"><span class="lg:line-clamp-1"><!--[-->Shruti Balasa <!--]--></span><!--[--><span class="text-text-tertiary">5</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?instructors[]=aschmelyun"><span class="lg:line-clamp-1"><!--[-->Andrew Schmelyun <!--]--></span><!--[--><span class="text-text-tertiary">5</span><!--]--></a></li><!--]--><button class="font-dank text-text-tertiary hover:text-blue mt-1 cursor-pointer text-sm" aria-expanded="false"> View all (35) </button><!--]--></ol></li><li><h4 class="font-dank text-text-tertiary text-sm"><!--[-->Categories<!--]--></h4><ol class="border-stroke mt-4 mb-7 border-l pl-5"><!--[--><!--[--><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?taxonomies[]=ai"><span class="lg:line-clamp-1"><!--[-->AI <!--]--></span><!--[--><span class="text-text-tertiary">8</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?taxonomies[]=frameworks"><span class="lg:line-clamp-1"><!--[-->Frameworks <!--]--></span><!--[--><span class="text-text-tertiary">75</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?taxonomies[]=techniques"><span class="lg:line-clamp-1"><!--[-->Techniques <!--]--></span><!--[--><span class="text-text-tertiary">54</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?taxonomies[]=tooling"><span class="lg:line-clamp-1"><!--[-->Tooling <!--]--></span><!--[--><span class="text-text-tertiary">40</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?taxonomies[]=languages"><span class="lg:line-clamp-1"><!--[-->Languages <!--]--></span><!--[--><span class="text-text-tertiary">21</span><!--]--></a></li><!--]--><button class="font-dank text-text-tertiary hover:text-blue mt-1 cursor-pointer text-sm" aria-expanded="false"> View all (7) </button><!--]--></ol></li><li><h4 class="font-dank text-text-tertiary text-sm"><!--[-->Topics<!--]--></h4><ol class="border-stroke mt-4 mb-7 border-l pl-5"><!--[--><!--[--><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?topics[]=laravel"><span class="lg:line-clamp-1"><!--[-->Laravel <!--]--></span><!--[--><span class="text-text-tertiary">78</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?topics[]=workshops"><span class="lg:line-clamp-1"><!--[-->Workshops <!--]--></span><!--[--><span class="text-text-tertiary">28</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?topics[]=javascript"><span class="lg:line-clamp-1"><!--[-->JavaScript <!--]--></span><!--[--><span class="text-text-tertiary">27</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?topics[]=php"><span class="lg:line-clamp-1"><!--[-->PHP <!--]--></span><!--[--><span class="text-text-tertiary">25</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?topics[]=vue"><span class="lg:line-clamp-1"><!--[-->Vue <!--]--></span><!--[--><span class="text-text-tertiary">15</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?topics[]=clean-code"><span class="lg:line-clamp-1"><!--[-->Clean Code <!--]--></span><!--[--><span class="text-text-tertiary">14</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?topics[]=laravel-livewire"><span class="lg:line-clamp-1"><!--[-->Laravel Livewire <!--]--></span><!--[--><span class="text-text-tertiary">12</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?topics[]=laravel-packages"><span class="lg:line-clamp-1"><!--[-->Laravel Packages <!--]--></span><!--[--><span class="text-text-tertiary">12</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?topics[]=alpine-js"><span class="lg:line-clamp-1"><!--[-->AlpineJS <!--]--></span><!--[--><span class="text-text-tertiary">10</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?topics[]=css"><span class="lg:line-clamp-1"><!--[-->CSS <!--]--></span><!--[--><span class="text-text-tertiary">8</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?topics[]=tailwind"><span class="lg:line-clamp-1"><!--[-->Tailwind CSS <!--]--></span><!--[--><span class="text-text-tertiary">7</span><!--]--></a></li><li class="flex justify-between gap-6"><a class="hover:text-current-taxonomy hover:before:bg-current-taxonomy text-current-taxonomy before:bg-current-transparent relative flex flex-1 items-center justify-between py-[.3rem] text-sm font-normal text-pretty before:absolute before:top-[20%] before:left-[-1px] before:-ml-5 before:block before:h-[60%] before:w-[1px] hover:before:absolute hover:before:top-[20%] hover:before:-ml-5 hover:before:block hover:before:h-[60%] hover:before:w-[1px] text-text-secondary" href="/series?topics[]=inertia"><span class="lg:line-clamp-1"><!--[-->Inertia <!--]--></span><!--[--><span class="text-text-tertiary">6</span><!--]--></a></li><!--]--><button class="font-dank text-text-tertiary hover:text-blue mt-1 cursor-pointer text-sm" aria-expanded="false"> View all (60) </button><!--]--></ol></li></ol></div><!--]--><!--]--></aside><div class="grid grid-rows-[1fr_auto]"><div class="grid content-start"><!--[--><!--]--><div style="max-width: 1300px" class="mx-auto w-full px-4 md:px-14"><!--[--><div class="@container relative pt-8 lg:pt-16"><!--[--><div class="@container"><div class="lg:gap-10 lg:pt-8 widescreen:gap-10 mx-auto mb-10 grid grid-cols-12"><div class="lg:col-span-7 col-span-full"><header><a class="text-text-tertiary font-dank hover:text-current-taxonomy flex gap-2 text-sm xl:h-[2.5rem]" href="/series"><svg width="15" height="20" viewbox="0 0 24 24" fill="none" class="fill-current -ml-5 hidden text-current md:inline"><path d="M15 6L9 12L15 18" class="stroke-current" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" fill="none"></path><line x1="19" y1="12" x2="16" y2="12" class="stroke-current" stroke-width="1.5" stroke-linecap="round" opacity="0.4"></line></svg> Browse all series </a><!----><h1 class="hover:text-current-taxonomy mb-2 text-4xl/14 font-bold tracking-tighter text-balance xl:-mt-2 xl:text-[3.3rem]"><a href="/series/learn-statamic-with-jack/episodes/1">Learn Statamic with Jack</a></h1><div class="text-text-secondary content mt-6 overflow-auto xl:max-h-[18rem] [&_a]:font-normal [&_a]:text-current [&_a]:underline"><p>You've probably heard of <a href="https://statamic.com" target="_blank" class="link">Statamic</a> by now — that rebellious little Laravel-powered content management system that refuses to use databases. Well, it's pretty grown up now, and in this series we're going to learn how Statamic can help you build highly-scalable websites quickly and efficiently, <em>including</em> how to run on a database.</p><p>We'll get into building add-ons, starter kits, and even pop the hood and explore just how all the flat file Statamic Magic (or Statamagic, some might say) works. Let's do this!</p></div><!----><!----></header><div class="panel bg-fg-lifted relative z-10 rounded-xl py-4 @container relative px-8 pb-0 lg:hidden" data-test="series-page-stats-panel"><!--[--><div><div class="-mx-8 py-4 -mt-4 -mb-6 border-t-0 px-0 pt-0 border-t-on-lifted-subtle border-t -mt-4 -mb-6 border-t-0 px-0 pt-0"><!--[--><!--]--></div><div class="text-center"><figure class="-mt-[100px] hidden lg:block"><a href="/series/learn-statamic-with-jack/episodes/1"><img loading="lazy" class="lazy" src="https://images.laracasts.com/series/thumbnails/png/learn-statamic-with-jack.png?tr=w-300" alt="Learn Statamic with Jack thumbnail" width="150" height="150"></a></figure><div class="-mx-8 px-8 py-4 mt-2 mt-2"><!--[--><h4 class="font-dank text-text-secondary mb-2 text-sm text-left"><!--[-->Progress<!--]--></h4><div class="flex flex-1 bg-stroke" style="clip-path:polygon(
0px 3px, 3px 3px, 3px 0px,
calc(100% - 3px) 0px, calc(100% - 3px) 3px, 100% 3px,
100% calc(100% - 3px), calc(100% - 3px) calc(100% - 3px), calc(100% - 3px) 100%,
3px 100%, 3px calc(100% - 3px), 0px calc(100% - 3px)
);"><div class="m-[2px] flex h-2.5 flex-1 items-start"><div class="bg-frameworks h-full transition-all duration-500" style="width:2%;"><div class="mx-auto mt-px h-[3px] w-[90%] bg-white/25"></div></div></div></div><!--]--></div></div><div class="-mx-8 px-8 py-4 border-t-on-lifted-subtle border-t"><!--[--><h4 class="font-dank text-text-secondary mb-2 text-sm"><!--[-->Series Info<!--]--></h4><dl class="space-y-5 overflow-auto"><!--[--><!--[--><div class="flex items-center justify-between"><dt class="text-text-secondary flex gap-3 text-sm font-normal"><svg width="20" viewbox="0 0 24 24" fill="none" class="text-icon"><circle cx="5" cy="6" r="2" class="fill-current"></circle><circle cx="5" cy="12" r="2" class="fill-current" opacity="0.85"></circle><circle cx="5" cy="18" r="2" class="fill-current" opacity="0.7"></circle><path d="M10 6H20" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><path d="M10 12H18" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.8"></path><path d="M10 18H16" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.6"></path><circle cx="4" cy="4.5" r="0.75" class="fill-current" opacity="0.5"></circle></svg> Episodes</dt><dd class="text-sm leading-none font-normal">22</dd></div><!--]--><!--[--><div class="flex items-center justify-between"><dt class="text-text-secondary flex gap-3 text-sm font-normal"><svg width="20" height="20" viewbox="0 0 24 24" fill="none" class="text-icon"><rect x="2" y="2" width="20" height="20" rx="3" fill="none" class="stroke-current" stroke-width="2"></rect><path d="M12 6V12L16 15" class="stroke-current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" opacity="0.8"></path><circle cx="5" cy="5" r="1" class="fill-current" opacity="0.5"></circle></svg> Run Time</dt><dd class="text-sm leading-none font-normal">2h 58m</dd></div><!--]--><!--[--><div class="flex items-center justify-between"><dt class="text-text-secondary flex gap-3 text-sm font-normal"><!--[--><svg width="20" viewbox="0 0 24 16" fill="none"><rect x="2" y="10" width="5" height="4" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="1"></rect><rect x="9" y="6" width="5" height="8" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="1"></rect><rect x="16" y="2" width="5" height="12" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="0.4"></rect><!----></svg><!--[--><!--]--><!--]--> Difficulty</dt><dd class="text-sm leading-none font-normal">Intermediate</dd></div><!--]--><!--[--><div class="flex items-center justify-between"><dt class="text-text-secondary flex gap-3 text-sm font-normal"><svg width="20" height="20" viewbox="0 0 24 24" fill="none" class="text-icon"><rect x="3" y="6" width="18" height="15" rx="2" fill="none" class="stroke-current" stroke-width="2"></rect><path d="M3 10H21" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><path d="M8 3V7" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><path d="M16 3V7" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><circle cx="8" cy="14" r="1" class="fill-current" opacity="0.6"></circle><circle cx="12" cy="14" r="1" class="fill-current" opacity="0.5"></circle><circle cx="16" cy="14" r="1" class="fill-current" opacity="0.4"></circle><circle cx="5" cy="8" r="0.75" class="fill-current" opacity="0.5"></circle></svg> Last Updated</dt><dd class="text-sm leading-none font-normal">Nov 14, 2022</dd></div><!--]--><!--[--><div class="flex items-center justify-between"><dt class="text-text-secondary flex gap-3 text-sm font-normal"><svg width="20" height="20" viewbox="0 0 24 24" fill="none"><path d="M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2Z" fill="none" class="stroke-current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M14 2V8H20" class="stroke-current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"></path><path d="M9 12L15 18M15 18V14M15 18H11" class="stroke-current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" opacity="0.7"></path><circle cx="6" cy="4" r="0.75" class="fill-current" opacity="0.5"></circle></svg> Version</dt><dd class="text-sm leading-none font-normal">Statamic 3-5</dd></div><!--]--><!--]--></dl><!--]--></div><div class="-mx-8 px-8 py-4 flex gap-2 border-t-on-lifted-subtle border-t flex gap-2"><!--[--><!--[--><a class="btn pl-4! btn-primary max-w-none shrink-0 grow" href="/series/learn-statamic-with-jack/episodes/1"><!--[--><svg width="20" viewbox="0 0 24 24" fill="none"><defs><linearGradient id="playGrad" x1="6" y1="4" x2="20" y2="20" gradientUnits="userSpaceOnUse"><stop offset="0%" stop-color="currentColor" stop-opacity="0.9"></stop><stop offset="100%" stop-color="currentColor" stop-opacity="0.5"></stop></linearGradient></defs><circle cx="12" cy="12" r="11" stroke="currentColor" stroke-width="1.5" fill="none" opacity="0.15"></circle><circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="1" fill="none" opacity="0.3"></circle><path d="M9.5 6.5L18.5 12L9.5 17.5V6.5Z" fill="url(#playGrad)" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path></svg><!--]--><!--[--> Play Series<!--]--></a><button class="btn btn-secondary btn-icon flex-shrink-0 @max-[275px]:hidden" disabled aria-label="Add to Watchlist" data-tooltip="Add to Watchlist." data-placement="bottom" type="button"><!--[--><svg width="20" height="20" viewbox="0 0 24 24" fill="none" class="text-icon-btn"><path d="M5 3C5 2.4 5.4 2 6 2H18C18.6 2 19 2.4 19 3V21L12 17L5 21V3Z" fill="none" class="stroke-current" stroke-width="2" stroke-linejoin="round"></path><path d="M12 15L8 17.5" class="stroke-current" stroke-width="1" stroke-linecap="round" opacity="0.4"></path><circle cx="7" cy="4" r="1" class="fill-current" opacity="0.6"></circle></svg><!--]--><!--[--><!--]--></button><form><button as="button" class="btn btn-secondary btn-icon @max-[275px]:hidden relative h-full" type="submit" data-test="series-completion-toggle-button" aria-label="Mark series as completed?" data-tooltip="Mark series as completed?" data-placement="bottom"><!--[--><svg width="16" height="16" viewbox="0 0 24 24" fill="none" class="text-icon-btn"><path d="M4 12L9 17L20 6" fill="none" class="stroke-current" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"></path><circle cx="20" cy="5" r="1" class="fill-current" opacity="0.6"></circle></svg><!--]--><!--[--><!--]--></button></form><!--]--><!--]--></div></div><!--]--></div><div class="pt-12"><h2 class="relative flex items-center gap-x-2 text-2xl font-bold"><span class="-ml-10 hidden size-8 xl:flex xl:items-center xl:justify-center"><svg width="24" height="17" viewbox="0 0 24 24" fill="none" class="text-current text-icon-dim"><path d="M9 6L4 12L9 18" fill="none" class="stroke-current" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M15 6L20 12L15 18" fill="none" class="stroke-current" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" opacity="0.7"></path><circle cx="12" cy="12" r="1" class="fill-current" opacity="0.5"></circle><circle cx="5" cy="9" r="0.75" class="fill-current" opacity="0.4"></circle></svg></span><!--[-->Series Episodes<!--]--></h2><ol class="mt-8 space-y-10"><!--[--><li><div class="border-b-stroke font-dank text-text-secondary bg-fg sticky top-[3rem] mb-6 border-b pt-2 pb-2">Introduction (1) </div><ol class="space-y-2"><!--[--><li><a class="group flex items-start gap-x-5" data-test="episode-number-1" data-completed="false" href="/series/learn-statamic-with-jack/episodes/1"><div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Introduction</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">3m 22s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Let's talk real quick about what Statamic is and can do, so you approach this course with the right perspective.</div></div></a></li><!--]--></ol></li><li><div class="border-b-stroke font-dank text-text-secondary bg-fg sticky top-[3rem] mb-6 border-b pt-2 pb-2">Site Build (14) </div><ol class="space-y-2"><!--[--><li><a class="group flex items-start gap-x-5" data-test="episode-number-2" data-completed="false" href="/series/learn-statamic-with-jack/episodes/2"><div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Installing Statamic</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">4m 23s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Statamic can be installed on its own with our installer binary, or into an existing Laravel application with composer. Let's walk through the steps needed to do both.</div></div></a></li><li><a class="group flex items-start gap-x-5" data-test="episode-number-3" data-completed="false" href="/series/learn-statamic-with-jack/episodes/3"><div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">The Tour</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">12m 28s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Learning a new CMS is a lot like learning a new framework or programming language. Let's give you the grand tour of all the things Statamic adds to a base Laravel install as well as explore the Control Panel.</div></div></a></li><li><a class="group flex items-start gap-x-5" data-test="episode-number-4" data-completed="false" href="/series/learn-statamic-with-jack/episodes/4"><div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Layouts & Templates</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">7m 01s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Let's pretend you're a developer with a static HTML & Tailwind site and you need to hook it up to a CMS. You've picked Statamic. What do you do next?</div></div></a></li><li><a class="group flex items-start gap-x-5" data-test="episode-number-5" data-completed="false" href="/series/learn-statamic-with-jack/episodes/5"><div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Build a Landing Page</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">19m 58s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">It's now time to set up Blueprint fields to hold and manage the content. Once we do that, we can pull the data out into our template and make the homepage of our new site editable.</div></div></a></li><li><a class="group flex items-start gap-x-5" data-test="episode-number-6" data-completed="false" href="/series/learn-statamic-with-jack/episodes/6"><div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Building a Blog</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">10m 38s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Every good tutorial series needs to build a blog, right? Not this one! We'll be building a <em>news</em> section. It's much different. You'll learn how to create and configure a new Collection, set up a new Blueprint with all the fields you'll need to manage your content, scaffold out new views, and wire it up in your templates. Want to go beyond this lesson? Learn more about <a href="https://statamic.dev/collections" target="_blank">Collections</a>.</div></div></a></li><li><a class="group flex items-start gap-x-5" data-test="episode-number-7" data-completed="false" href="/series/learn-statamic-with-jack/episodes/7"><div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Creating Taxonomies</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">5m 20s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Collections and Entries aren't the only types of data Statamic can manage. Let's set up a new Taxonomy so you can tag your Entries and organize your content in new ways.</div></div></a></li><li><a class="group flex items-start gap-x-5" data-test="episode-number-8" data-completed="false" href="/series/learn-statamic-with-jack/episodes/8"><div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Manipulating Images with Glide</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">4m 58s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Don't waste your visitors bandwidth and load times! Let's use Glide to manipulate our Asset images so they're only as big as they need to be. We'll also look at how to set focal points so the good parts of the images are always in view. Want to go beyond this lesson? Learn more about <a href="https://statamic.dev/tags/glide" target="_blank">Glide</a>.</div></div></a></li><li><a class="group flex items-start gap-x-5" data-test="episode-number-9" data-completed="false" href="/series/learn-statamic-with-jack/episodes/9"><div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">DRY Up Our Templates</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">4m 35s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Partials are a great way to remove redundant code and create components you can use throughout your site. Let's look at how we can tap into their power, like He-Man and the power of Grayskull. Want to go beyond this lesson? Learn more about <a href="https://statamic.dev/tags/partial" target="_blank">Navigations</a>.</div></div></a></li><li><a class="group flex items-start gap-x-5" data-test="episode-number-10" data-completed="false" href="/series/learn-statamic-with-jack/episodes/10"><div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Building Navs</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">8m 43s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Hardcoded nav? No way. Let's build a dynamic nav! Let's explore Structured Collections vs Navigations so you can understand when to use each approach in the real world. Want to go beyond this lesson? Learn more about <a href="https://statamic.dev/navigation" target="_blank">Navigations</a>.</div></div></a></li><li><a class="group flex items-start gap-x-5" data-test="episode-number-11" data-completed="false" href="/series/learn-statamic-with-jack/episodes/11"><div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Search</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">7m 29s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">There's Algolia, MeiliSearch, ElasticSearch, and many other third-party search solutions, but Statamic has its own built-in search capabilities. What it lacks in configuration, it makes up for in simplicity. Let's look at how to wire up your own site search. Want to go beyond this lesson? Learn more about <a href="https://statamic.dev/search" target="_blank">Search</a>.</div></div></a></li><li><a class="group flex items-start gap-x-5" data-test="episode-number-12" data-completed="false" href="/series/learn-statamic-with-jack/episodes/12"><div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Antlers</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">15m 57s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Antlers is a simple and powerful template engine provided with Statamic. It can fetch and filter content, display, modify, and set variables, tap into core features like user authentication and search, and handle complex logic. Let's explore what it can do and why you might want to use it instead of Blade. Want to go beyond this lesson? Learn more about <a href="https://statamic.dev/new-antlers-parser" target="_blank">Antlers</a>.</div></div></a></li><li><a class="group flex items-start gap-x-5" data-test="episode-number-13" data-completed="false" href="/series/learn-statamic-with-jack/episodes/13"><div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Forms</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">11m 23s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Forms are a natural part of the internet experience and a core component of most websites. Let's build a basic contact form, and then look at how Statamic can dynamically manage the form fields with conditions and <a href="https://alpinejs.dev" target="_blank">Alpine.js</a>. Want to go beyond this lesson? Learn more about <a href="https://statamic.dev/forms" target="_blank">Forms</a>.</div></div></a></li><li><a class="group flex items-start gap-x-5" data-test="episode-number-14" data-completed="false" href="/series/learn-statamic-with-jack/episodes/14"><div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Advanced Bard</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">8m 53s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Bard is Statamic's powerful content block editor built ontop of TipTap and ProseMirror. It supports managing WYSIWYG-style content but uses structured data. It can also manage sets (or "blocks") of any other fields you desire. Even more Bard fields. ? Let's explore a bunch of the cool things you can do with Bard! Want to go beyond this lesson? Learn more about <a href="https://statamic.dev/fieldtypes/bard" target="_blank">Bard</a>.</div></div></a></li><li><a class="group flex items-start gap-x-5" data-test="episode-number-15" data-completed="false" href="/series/learn-statamic-with-jack/episodes/15"><div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Building Addons</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">8m 08s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Want to add your features into Statamic? Addons and Extensions are great ways to do that. Addons can be shared or sold on the <a href="https://statamic.com/marketplace" target="_blank">Statamic Marketplace</a>, or be kept private for your own team's use. Learn more about <a href="https://statamic.dev/extending" target="_blank">extending Statamic</a>.</div></div></a></li><!--]--></ol></li><li><div class="border-b-stroke font-dank text-text-secondary bg-fg sticky top-[3rem] mb-6 border-b pt-2 pb-2">Deployment & Production Performance (2) </div><ol class="space-y-2"><!--[--><li><a class="group flex items-start gap-x-5" data-test="episode-number-16" data-completed="false" href="/series/learn-statamic-with-jack/episodes/16"><div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Deploying and Cache Modes</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">10m 46s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">With our site effectively completed, let's look at how to properly deploy a Statamic site and pick the right cache mode and settings for production. Want to go beyond this lesson? Learn more about <a href="https://statamic.dev/deploying" target="_blank">deploying Statamic</a>.</div></div></a></li><li><a class="group flex items-start gap-x-5" data-test="episode-number-17" data-completed="false" href="/series/learn-statamic-with-jack/episodes/17"><div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Static Site Generator</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">5m 53s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">You simply can't beat the speed of a fully static site. Let's look at how to generate static sites with Statamic. Want to go beyond this lesson? Learn more about <a href="https://github.com/statamic/ssg" target="_blank">Statamic SSG</a>.</div></div></a></li><!--]--></ol></li><li><div class="border-b-stroke font-dank text-text-secondary bg-fg sticky top-[3rem] mb-6 border-b pt-2 pb-2">Tasty Extras (5) </div><ol class="space-y-2"><!--[--><li><a class="group flex items-start gap-x-5" data-test="episode-number-18" data-completed="false" href="/series/learn-statamic-with-jack/episodes/18"><div class="flex-center h-[2rem]"><div class="size-[7px]"><svg width="10" height="24" viewbox="0 0 24 24" fill="none" class="text-btn-bg"><rect x="4" y="10" width="16" height="12" rx="2" fill="none" class="stroke-current" stroke-width="2"></rect><path d="M8 10V7C8 4.8 9.8 3 12 3C14.2 3 16 4.8 16 7V10" class="stroke-current" stroke-width="2" stroke-linecap="round" fill="none"></path><circle cx="12" cy="15" r="1.5" class="fill-current" opacity="0.6"></circle><path d="M12 16V18" class="stroke-current" stroke-width="1.5" stroke-linecap="round" opacity="0.5"></path><circle cx="6" cy="12" r="1" class="fill-current" opacity="0.5"></circle></svg></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Going Headless</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">5m 27s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Statamic can be decoupled and used in a "headless" fashion, essentially operating solely as a content store and control panel. You can fetch data from Statamic with the <a href="https://statamic.dev/rest-api" target="_blank">REST API</a> or <a href="https://statamic.dev/graphql" target="_blank">GraphQL</a> – whichever fits your workflow best.</div></div></a></li><li><a class="group flex items-start gap-x-5" data-test="episode-number-19" data-completed="false" href="/series/learn-statamic-with-jack/episodes/19"><div class="flex-center h-[2rem]"><div class="size-[7px]"><svg width="10" height="24" viewbox="0 0 24 24" fill="none" class="text-btn-bg"><rect x="4" y="10" width="16" height="12" rx="2" fill="none" class="stroke-current" stroke-width="2"></rect><path d="M8 10V7C8 4.8 9.8 3 12 3C14.2 3 16 4.8 16 7V10" class="stroke-current" stroke-width="2" stroke-linecap="round" fill="none"></path><circle cx="12" cy="15" r="1.5" class="fill-current" opacity="0.6"></circle><path d="M12 16V18" class="stroke-current" stroke-width="1.5" stroke-linecap="round" opacity="0.5"></path><circle cx="6" cy="12" r="1" class="fill-current" opacity="0.5"></circle></svg></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Starter Kits</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">5m 03s</span></div><div class="content text-text-secondary mt-2 line-clamp-3"><a href="https://statamic.dev/starter-kits">Starter Kits</a> are pre-built site packages that jump-start new Statamic sites with boilerplate code, features, functionality, and even design. We'll walk through how to install Starter Kits as well as how to create your own (spoiler: it's super easy) in under 5 minutes.
</div></div></a></li><li><a class="group flex items-start gap-x-5" data-test="episode-number-20" data-completed="false" href="/series/learn-statamic-with-jack/episodes/20"><div class="flex-center h-[2rem]"><div class="size-[7px]"><svg width="10" height="24" viewbox="0 0 24 24" fill="none" class="text-btn-bg"><rect x="4" y="10" width="16" height="12" rx="2" fill="none" class="stroke-current" stroke-width="2"></rect><path d="M8 10V7C8 4.8 9.8 3 12 3C14.2 3 16 4.8 16 7V10" class="stroke-current" stroke-width="2" stroke-linecap="round" fill="none"></path><circle cx="12" cy="15" r="1.5" class="fill-current" opacity="0.6"></circle><path d="M12 16V18" class="stroke-current" stroke-width="1.5" stroke-linecap="round" opacity="0.5"></path><circle cx="6" cy="12" r="1" class="fill-current" opacity="0.5"></circle></svg></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Content Queries and Repositories</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">5m 12s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Maybe you're thinking Statamic is pretty cool and all but you'd really rather just build your site with Controllers and Blade, the vanilla "Laravel Way". No problem, let's walk through how to do just that with <a href="https://statamic.dev/content-queries" target="_blank">Content Queries</a> and <a href="https://statamic.dev/reference" target="_blank">Repositories</a>.</div></div></a></li><li><a class="group flex items-start gap-x-5" data-test="episode-number-21" data-completed="false" href="/series/learn-statamic-with-jack/episodes/21"><div class="flex-center h-[2rem]"><div class="size-[7px]"><svg width="10" height="24" viewbox="0 0 24 24" fill="none" class="text-btn-bg"><rect x="4" y="10" width="16" height="12" rx="2" fill="none" class="stroke-current" stroke-width="2"></rect><path d="M8 10V7C8 4.8 9.8 3 12 3C14.2 3 16 4.8 16 7V10" class="stroke-current" stroke-width="2" stroke-linecap="round" fill="none"></path><circle cx="12" cy="15" r="1.5" class="fill-current" opacity="0.6"></circle><path d="M12 16V18" class="stroke-current" stroke-width="1.5" stroke-linecap="round" opacity="0.5"></path><circle cx="6" cy="12" r="1" class="fill-current" opacity="0.5"></circle></svg></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">The Database Driver</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">5m 21s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Let's talk about scaling options. Statamic's <a href="https://github.com/statamic/eloquent-driver">Eloquent Driver</a> lets you switch from flat files to MySQL in a matter of moments. Let's walk through the steps!</div></div></a></li><li><a class="group flex items-start gap-x-5" data-test="episode-number-22" data-completed="false" href="/series/learn-statamic-with-jack/episodes/22"><div class="flex-center h-[2rem]"><div class="size-[7px]"><svg width="10" height="24" viewbox="0 0 24 24" fill="none" class="text-btn-bg"><rect x="4" y="10" width="16" height="12" rx="2" fill="none" class="stroke-current" stroke-width="2"></rect><path d="M8 10V7C8 4.8 9.8 3 12 3C14.2 3 16 4.8 16 7V10" class="stroke-current" stroke-width="2" stroke-linecap="round" fill="none"></path><circle cx="12" cy="15" r="1.5" class="fill-current" opacity="0.6"></circle><path d="M12 16V18" class="stroke-current" stroke-width="1.5" stroke-linecap="round" opacity="0.5"></path><circle cx="6" cy="12" r="1" class="fill-current" opacity="0.5"></circle></svg></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">How the Stache Works</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">7m 14s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Let's finish off this series by popping the hood and seeing just how the the flat file <a href="https://statamic.dev/stache" target="_blank">Stache</a> makes Statamic possible.</div></div></a></li><!--]--></ol></li><!--]--></ol></div><!----><!----></div><aside class="lg:col-span-4 lg:col-end-13 relative col-span-full mt-10 space-y-9"><div class="space-y-9"><div class="panel bg-fg-lifted relative z-10 rounded-xl py-4 @container relative px-8 pb-0 hidden lg:block" data-test="series-page-stats-panel"><!--[--><div><div class="-mx-8 py-4 -mt-4 -mb-6 border-t-0 px-0 pt-0 border-t-on-lifted-subtle border-t -mt-4 -mb-6 border-t-0 px-0 pt-0"><!--[--><!--]--></div><div class="text-center"><figure class="-mt-[100px] hidden lg:block"><a href="/series/learn-statamic-with-jack/episodes/1"><img loading="lazy" class="lazy" src="https://images.laracasts.com/series/thumbnails/png/learn-statamic-with-jack.png?tr=w-300" alt="Learn Statamic with Jack thumbnail" width="150" height="150"></a></figure><div class="-mx-8 px-8 py-4 mt-2 mt-2"><!--[--><h4 class="font-dank text-text-secondary mb-2 text-sm text-left"><!--[-->Progress<!--]--></h4><div class="flex flex-1 bg-stroke" style="clip-path:polygon(
0px 3px, 3px 3px, 3px 0px,
calc(100% - 3px) 0px, calc(100% - 3px) 3px, 100% 3px,
100% calc(100% - 3px), calc(100% - 3px) calc(100% - 3px), calc(100% - 3px) 100%,
3px 100%, 3px calc(100% - 3px), 0px calc(100% - 3px)
);"><div class="m-[2px] flex h-2.5 flex-1 items-start"><div class="bg-frameworks h-full transition-all duration-500" style="width:2%;"><div class="mx-auto mt-px h-[3px] w-[90%] bg-white/25"></div></div></div></div><!--]--></div></div><div class="-mx-8 px-8 py-4 border-t-on-lifted-subtle border-t"><!--[--><h4 class="font-dank text-text-secondary mb-2 text-sm"><!--[-->Series Info<!--]--></h4><dl class="space-y-5 overflow-auto"><!--[--><!--[--><div class="flex items-center justify-between"><dt class="text-text-secondary flex gap-3 text-sm font-normal"><svg width="20" viewbox="0 0 24 24" fill="none" class="text-icon"><circle cx="5" cy="6" r="2" class="fill-current"></circle><circle cx="5" cy="12" r="2" class="fill-current" opacity="0.85"></circle><circle cx="5" cy="18" r="2" class="fill-current" opacity="0.7"></circle><path d="M10 6H20" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><path d="M10 12H18" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.8"></path><path d="M10 18H16" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.6"></path><circle cx="4" cy="4.5" r="0.75" class="fill-current" opacity="0.5"></circle></svg> Episodes</dt><dd class="text-sm leading-none font-normal">22</dd></div><!--]--><!--[--><div class="flex items-center justify-between"><dt class="text-text-secondary flex gap-3 text-sm font-normal"><svg width="20" height="20" viewbox="0 0 24 24" fill="none" class="text-icon"><rect x="2" y="2" width="20" height="20" rx="3" fill="none" class="stroke-current" stroke-width="2"></rect><path d="M12 6V12L16 15" class="stroke-current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" opacity="0.8"></path><circle cx="5" cy="5" r="1" class="fill-current" opacity="0.5"></circle></svg> Run Time</dt><dd class="text-sm leading-none font-normal">2h 58m</dd></div><!--]--><!--[--><div class="flex items-center justify-between"><dt class="text-text-secondary flex gap-3 text-sm font-normal"><!--[--><svg width="20" viewbox="0 0 24 16" fill="none"><rect x="2" y="10" width="5" height="4" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="1"></rect><rect x="9" y="6" width="5" height="8" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="1"></rect><rect x="16" y="2" width="5" height="12" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="0.4"></rect><!----></svg><!--[--><!--]--><!--]--> Difficulty</dt><dd class="text-sm leading-none font-normal">Intermediate</dd></div><!--]--><!--[--><div class="flex items-center justify-between"><dt class="text-text-secondary flex gap-3 text-sm font-normal"><svg width="20" height="20" viewbox="0 0 24 24" fill="none" class="text-icon"><rect x="3" y="6" width="18" height="15" rx="2" fill="none" class="stroke-current" stroke-width="2"></rect><path d="M3 10H21" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><path d="M8 3V7" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><path d="M16 3V7" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><circle cx="8" cy="14" r="1" class="fill-current" opacity="0.6"></circle><circle cx="12" cy="14" r="1" class="fill-current" opacity="0.5"></circle><circle cx="16" cy="14" r="1" class="fill-current" opacity="0.4"></circle><circle cx="5" cy="8" r="0.75" class="fill-current" opacity="0.5"></circle></svg> Last Updated</dt><dd class="text-sm leading-none font-normal">Nov 14, 2022</dd></div><!--]--><!--[--><div class="flex items-center justify-between"><dt class="text-text-secondary flex gap-3 text-sm font-normal"><svg width="20" height="20" viewbox="0 0 24 24" fill="none"><path d="M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2Z" fill="none" class="stroke-current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M14 2V8H20" class="stroke-current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"></path><path d="M9 12L15 18M15 18V14M15 18H11" class="stroke-current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" opacity="0.7"></path><circle cx="6" cy="4" r="0.75" class="fill-current" opacity="0.5"></circle></svg> Version</dt><dd class="text-sm leading-none font-normal">Statamic 3-5</dd></div><!--]--><!--]--></dl><!--]--></div><div class="-mx-8 px-8 py-4 flex gap-2 border-t-on-lifted-subtle border-t flex gap-2"><!--[--><!--[--><a class="btn pl-4! btn-primary max-w-none shrink-0 grow" href="/series/learn-statamic-with-jack/episodes/1"><!--[--><svg width="20" viewbox="0 0 24 24" fill="none"><defs><linearGradient id="playGrad" x1="6" y1="4" x2="20" y2="20" gradientUnits="userSpaceOnUse"><stop offset="0%" stop-color="currentColor" stop-opacity="0.9"></stop><stop offset="100%" stop-color="currentColor" stop-opacity="0.5"></stop></linearGradient></defs><circle cx="12" cy="12" r="11" stroke="currentColor" stroke-width="1.5" fill="none" opacity="0.15"></circle><circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="1" fill="none" opacity="0.3"></circle><path d="M9.5 6.5L18.5 12L9.5 17.5V6.5Z" fill="url(#playGrad)" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path></svg><!--]--><!--[--> Play Series<!--]--></a><button class="btn btn-secondary btn-icon flex-shrink-0 @max-[275px]:hidden" disabled aria-label="Add to Watchlist" data-tooltip="Add to Watchlist." data-placement="bottom" type="button"><!--[--><svg width="20" height="20" viewbox="0 0 24 24" fill="none" class="text-icon-btn"><path d="M5 3C5 2.4 5.4 2 6 2H18C18.6 2 19 2.4 19 3V21L12 17L5 21V3Z" fill="none" class="stroke-current" stroke-width="2" stroke-linejoin="round"></path><path d="M12 15L8 17.5" class="stroke-current" stroke-width="1" stroke-linecap="round" opacity="0.4"></path><circle cx="7" cy="4" r="1" class="fill-current" opacity="0.6"></circle></svg><!--]--><!--[--><!--]--></button><form><button as="button" class="btn btn-secondary btn-icon @max-[275px]:hidden relative h-full" type="submit" data-test="series-completion-toggle-button" aria-label="Mark series as completed?" data-tooltip="Mark series as completed?" data-placement="bottom"><!--[--><svg width="16" height="16" viewbox="0 0 24 24" fill="none" class="text-icon-btn"><path d="M4 12L9 17L20 6" fill="none" class="stroke-current" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"></path><circle cx="20" cy="5" r="1" class="fill-current" opacity="0.6"></circle></svg><!--]--><!--[--><!--]--></button></form><!--]--><!--]--></div></div><!--]--></div><div class="panel bg-fg-lifted relative z-10 rounded-xl py-4 @container relative px-8 pb-0"><!--[--><h4 class="font-dank text-text-secondary mb-2 text-sm"><!--[-->Your Instructor<!--]--></h4><div class="flex items-center gap-5"><div class="h-[100px] w-[100px] flex-shrink-0" src="https://images.laracasts.com/instructors/2951.jpeg?tr=w-200" alt="Photo of Jack McDade"><img class="pixel-corners h-full w-full object-cover object-top" src="https://images.laracasts.com/instructors/2951.jpeg?tr=w-200" alt="Photo of Jack McDade"></div><a href="/browse/instructors/jackmcdade"><div class="text-xl font-medium">Jack McDade</div><div class="text-text-secondary text-sm font-normal">Founder at Statamic</div></a></div><p class="text-text-secondary content mt-3 line-clamp-4 text-sm"><!--[--><span><div>I’m Jack McDade. I designed and created <a href="https://statamic.com/">Statamic</a>, designed <a href="https://laravel.com/">Laravel.com</a>, <a href="https://laracon.us/">Laracon</a> (a few times), and a <a href="https://jackmcdade.com/design">whole pile</a> of others. I design things, write code, create content, and dream of the 80s &amp; 90s.</div></span><!--]--></p><div class="-mx-8 px-8 py-4 flex gap-2 border-t-on-lifted-subtle border-t flex gap-2"><!--[--><!--[--><a class="btn pl-4! btn-secondary group max-w-none flex-1" href="/browse/instructors/jackmcdade"><!--[--><svg width="20" viewbox="0 0 100 90" class="hover:text-blue! transition-colors duration-300 text-icon-dim group-hover:text-current-taxonomy" shape-rendering="crispEdges"><rect x="40" width="20" height="30" class="fill-white group-hover:fill-text-primary"></rect><rect x="20" y="20" width="20" height="10" class="fill-white group-hover:fill-text-primary"></rect><rect x="10" y="50" width="20" height="20" class="fill-current"></rect><rect y="70" width="20" height="20" class="fill-current"></rect><rect x="70" y="50" width="20" height="20" class="fill-white group-hover:fill-text-primary"></rect><rect x="40" y="70" width="60" height="20" class="fill-white group-hover:fill-text-primary"></rect><rect x="20" y="30" width="20" height="10" class="fill-white group-hover:fill-text-primary"></rect><rect x="60" y="20" width="20" height="10" class="fill-white group-hover:fill-text-primary"></rect><rect x="60" y="30" width="20" height="10" class="fill-white group-hover:fill-text-primary"></rect><rect x="60" y="40" width="20" height="10" class="fill-white group-hover:fill-text-primary"></rect></svg><!--]--><!--[--> My Courses <!--]--></a><a target="_blank" rel="noopener noreferrer" class="btn btn-secondary btn-icon" href="https://twitter.com/jackmcdade" aria-label="Instructor X Feed"><!--[--><svg viewbox="0 0 23 20" fill="none" width="15"><path d="m.759 0 8.24 11.018-8.292 8.958h1.866l7.26-7.843 5.866 7.843h6.35L13.347 8.338 21.064 0h-1.866l-6.686 7.223L7.11 0H.759zm2.745 1.375H6.42L19.305 18.6h-2.918L3.504 1.375z" class="fill-icon-btn"></path></svg><!--]--><!--[--><!--]--></a><a target="_blank" rel="noopener noreferrer" class="btn btn-secondary btn-icon @max-[275px]:hidden" href="https://github.com/jackmcdade" aria-label="Instructor Github Profile"><!--[--><svg viewbox="0 0 30 29" width="18"><path class="fill-current" fill-rule="nonzero" d="M27.959 7.434a14.866 14.866 0 0 0-5.453-5.414C20.21.69 17.703.025 14.984.025c-2.718 0-5.226.665-7.521 1.995A14.864 14.864 0 0 0 2.01 7.434C.67 9.714 0 12.202 0 14.901c0 3.242.953 6.156 2.858 8.746 1.906 2.589 4.367 4.38 7.385 5.375.351.064.611.019.78-.136a.755.755 0 0 0 .254-.58l-.01-1.047c-.007-.658-.01-1.233-.01-1.723l-.448.077a5.765 5.765 0 0 1-1.083.068 8.308 8.308 0 0 1-1.356-.136 3.04 3.04 0 0 1-1.308-.58c-.403-.304-.689-.701-.858-1.192l-.195-.445a4.834 4.834 0 0 0-.614-.988c-.28-.362-.563-.607-.85-.736l-.136-.097a1.428 1.428 0 0 1-.253-.233 1.062 1.062 0 0 1-.176-.271c-.039-.09-.007-.165.098-.223.104-.059.292-.087.566-.087l.39.058c.26.052.582.206.965.465.384.258.7.594.947 1.007.299.53.66.933 1.082 1.21.423.278.85.417 1.278.417.43 0 .8-.032 1.112-.097a3.9 3.9 0 0 0 .878-.29c.117-.866.436-1.53.956-1.996a13.447 13.447 0 0 1-2-.348 7.995 7.995 0 0 1-1.833-.756 5.244 5.244 0 0 1-1.571-1.298c-.416-.516-.758-1.195-1.024-2.034-.267-.84-.4-1.808-.4-2.905 0-1.563.514-2.893 1.541-3.99-.481-1.176-.436-2.493.137-3.952.377-.116.936-.03 1.678.261.741.291 1.284.54 1.629.746.345.207.621.381.83.523a13.948 13.948 0 0 1 3.745-.503c1.288 0 2.537.168 3.747.503l.741-.464c.507-.31 1.106-.595 1.795-.853.69-.258 1.216-.33 1.58-.213.586 1.46.638 2.777.156 3.951 1.028 1.098 1.542 2.428 1.542 3.99 0 1.099-.134 2.07-.4 2.916-.267.846-.611 1.524-1.034 2.034-.423.51-.95.94-1.58 1.288a8.01 8.01 0 0 1-1.834.756c-.592.155-1.259.271-2 .349.676.58 1.014 1.498 1.014 2.75v4.087c0 .232.081.426.244.58.163.155.42.2.77.136 3.019-.994 5.48-2.786 7.386-5.375 1.905-2.59 2.858-5.504 2.858-8.746 0-2.698-.671-5.187-2.01-7.466z"></path></svg><!--]--><!--[--><!--]--></a><!--]--><!--]--></div><!--]--></div><!----><div class="panel bg-fg-lifted relative z-10 rounded-xl py-4 relative px-8 pb-0 hidden lg:block"><!--[--><h4 class="font-dank text-text-secondary mb-2 text-sm"><!--[-->This is a CreatorSeries<!--]--></h4><div class="mt-4 flex items-center gap-5"><div class="h-[100px] w-[100px] flex-shrink-0" src="https://images.laracasts.com/series/thumbnails/png/learn-statamic-with-jack.png" alt="Learn Statamic with Jack course thumbnail"><img class="pixel-corners h-full w-full object-cover object-top" src="https://images.laracasts.com/series/thumbnails/png/learn-statamic-with-jack.png" alt="Learn Statamic with Jack course thumbnail"></div><a href><div class="text-xl leading-6 font-medium text-balance">Learn Statamic with Jack</div><div class="text-text-secondary mt-1 text-sm font-normal">By Jack McDade</div></a></div><p class="text-text-secondary content mt-3 line-clamp-4 text-sm"><!--[--> A "CreatorSeries" provides a deep-dive into technologies or tools, as presented by their original creators. <!--]--></p><div class="-mx-8 px-8 py-4 flex gap-2 border-t-on-lifted-subtle border-t flex gap-2"><!--[--><!--[--><a class="btn pl-4! btn-secondary flex-1" href="/creator-series"><!--[--><svg width="20" viewbox="0 0 100 90" class="hover:text-blue! transition-colors duration-300 text-current-taxonomy" shape-rendering="crispEdges"><rect x="40" width="20" height="30" class="fill-text-primary"></rect><rect x="20" y="20" width="20" height="10" class="fill-text-primary"></rect><rect x="10" y="50" width="20" height="20" class="fill-current"></rect><rect y="70" width="20" height="20" class="fill-current"></rect><rect x="70" y="50" width="20" height="20" class="fill-text-primary"></rect><rect x="40" y="70" width="60" height="20" class="fill-text-primary"></rect><rect x="20" y="30" width="20" height="10" class="fill-text-primary"></rect><rect x="60" y="20" width="20" height="10" class="fill-text-primary"></rect><rect x="60" y="30" width="20" height="10" class="fill-text-primary"></rect><rect x="60" y="40" width="20" height="10" class="fill-text-primary"></rect></svg><!--]--><!--[--> View More <!--]--></a><!--]--><!--]--></div><!--]--></div></div><div style="display:none;" class="@breakpoint-lg:block sticky top-[148px] hidden"><div class="panel bg-fg-lifted relative z-10 rounded-xl py-4 series-card-new panel group @container relative block cursor-pointer px-8 pb-0"><!--[--><img loading="lazy" class="lazy absolute left-1/2 z-10 mt-[-4.3rem] w-[30%] -translate-x-1/2" src="https://images.laracasts.com/series/thumbnails/png/learn-statamic-with-jack.png?tr=w-300" alt="Learn Statamic with Jack thumbnail"><div class="main relative flex flex-col gap-y-3 pt-[24%]"><div class="text-center"><h3 class="mt-auto text-center text-2xl leading-7 font-bold text-balance">Learn Statamic with Jack</h3></div><div class="flex-center gap-3"><img loading="lazy" class="lazy rounded-lg w-[10%]" src="https://images.laracasts.com/instructors/2951.jpeg?tr=w-400,h-400,q-80,fo-top" alt="jackmcdade's avatar"><span class="font-dank text-text-secondary text-sm @min-[300px]:text-base">With Jack McDade</span></div><div class="-mx-8 px-8 py-4 flex gap-2 mt-2 border-t-on-lifted-subtle border-t flex gap-2 mt-2"><!--[--><!--[--><a class="btn pl-4! btn-primary max-w-none flex-1" href="/series/learn-statamic-with-jack/episodes/1"><!--[--><svg width="20" viewbox="0 0 24 24" fill="none"><defs><linearGradient id="playGrad" x1="6" y1="4" x2="20" y2="20" gradientUnits="userSpaceOnUse"><stop offset="0%" stop-color="currentColor" stop-opacity="0.9"></stop><stop offset="100%" stop-color="currentColor" stop-opacity="0.5"></stop></linearGradient></defs><circle cx="12" cy="12" r="11" stroke="currentColor" stroke-width="1.5" fill="none" opacity="0.15"></circle><circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="1" fill="none" opacity="0.3"></circle><path d="M9.5 6.5L18.5 12L9.5 17.5V6.5Z" fill="url(#playGrad)" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path></svg><!--]--><!--[--> Play Series<!--]--></a><button class="btn btn-secondary btn-icon flex-shrink-0 @max-[275px]:hidden" disabled aria-label="Add to Watchlist" data-tooltip="Add to Watchlist." data-placement="bottom" type="button"><!--[--><svg width="20" height="20" viewbox="0 0 24 24" fill="none" class="text-icon-btn"><path d="M5 3C5 2.4 5.4 2 6 2H18C18.6 2 19 2.4 19 3V21L12 17L5 21V3Z" fill="none" class="stroke-current" stroke-width="2" stroke-linejoin="round"></path><path d="M12 15L8 17.5" class="stroke-current" stroke-width="1" stroke-linecap="round" opacity="0.4"></path><circle cx="7" cy="4" r="1" class="fill-current" opacity="0.6"></circle></svg><!--]--><!--[--><!--]--></button><form><button as="button" class="btn btn-secondary btn-icon @max-[275px]:hidden relative h-full" type="submit" aria-label="Mark series as completed?" data-tooltip="Mark series as completed?" data-placement="bottom"><!--[--><svg width="16" height="16" viewbox="0 0 24 24" fill="none" class="text-icon-btn"><path d="M4 12L9 17L20 6" fill="none" class="stroke-current" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"></path><circle cx="20" cy="5" r="1" class="fill-current" opacity="0.6"></circle></svg><!--]--><!--[--><!--]--></button></form><!--]--><!--]--></div></div><!--[--><!--]--><!--]--></div></div></aside></div><div class="border-t-stroke border-t"><section class="section px-0 pb-0"><!--[--><h2 class="relative flex items-center gap-x-2 text-2xl font-bold mb-4"><span class="-ml-10 hidden size-8 xl:flex xl:items-center xl:justify-center"><svg width="24" height="17" viewbox="0 0 24 24" fill="none" class="text-current text-icon-dim"><path d="M9 6L4 12L9 18" fill="none" class="stroke-current" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M15 6L20 12L15 18" fill="none" class="stroke-current" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" opacity="0.7"></path><circle cx="12" cy="12" r="1" class="fill-current" opacity="0.5"></circle><circle cx="5" cy="9" r="0.75" class="fill-current" opacity="0.4"></circle></svg></span><!--[-->Continue Learning<!--]--></h2><div class="relative mt-20"><div data-test="series-cards" class="justify-start cards grid grid-cols-1 gap-x-5 gap-y-12 min-[500px]:grid-cols-[repeat(auto-fit,220px)] md:gap-y-20"><!--[--><div class="series-card-new-wrap group/wrap relative"><a class="series-card-new group @container relative block min-w-[220px] cursor-pointer px-7 pt-0 pb-5 min-[500px]:aspect-220/297" style="--taxonomy-color:#EC454F;" href="/series/practical-ui-components-with-livewire-and-alpinejs"><div class="series-card-new-border bg-fg-lifted absolute inset-0 rounded-xl border-5 border-current text-transparent group-hover:border-[var(--taxonomy-color)]"></div><img loading="lazy" class="lazy absolute left-7 z-10 -mt-10" src="https://images.laracasts.com/series/thumbnails/png/practical-ui-components-recordings-thumbnail.png?tr=w-160" alt="Practical UI Components With Livewire and Alpine thumbnail" width="80" height="80"><div class="main relative flex h-full flex-col pt-16"><h3 class="leading-tighter text-xl font-bold text-balance min-[500px]:line-clamp-3" title="Practical UI Components With Livewire and Alpine">Practical UI Components With Livewire and Alpine</h3><!----><!----><div class="font-dank text-text-secondary mt-4 text-xs">With Shruti Balasa</div><p class="text-text-secondary mt-6 line-clamp-3 min-[500px]:hidden">In this series, we'll build a collection of practical UI components with Livewire and AlpineJS, using real interface patterns instead of toy examples. We'll start with smaller pieces like inline editing and a reusable toast system, then move into more stateful components like multi-step flows, tag inputs, dynamic search, notifications, and a drag-and-drop Kanban board.
Along the way, we'll focus on the details that make UI feel great to use: autosave, subtle feedback, keyboard navigation, transitions, persisted state, polling, and clean reset behavior. By the end, you'll have a small library of polished components and a clearer sense of how to structure these kinds of interfaces with Livewire and Alpine in your own apps.
</p><footer class="border-on-lifted-subtle mt-8 border-t pt-5 min-[500px]:mt-auto"><ul class="flex gap-x-6 gap-y-2 min-[500px]:flex-col"><li class="text-text-tertiary font-dank flex items-center gap-x-3 text-xs"><svg width="14" viewbox="0 0 24 24" fill="none" class="text-icon"><circle cx="5" cy="6" r="2" class="fill-current"></circle><circle cx="5" cy="12" r="2" class="fill-current" opacity="0.85"></circle><circle cx="5" cy="18" r="2" class="fill-current" opacity="0.7"></circle><path d="M10 6H20" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><path d="M10 12H18" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.8"></path><path d="M10 18H16" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.6"></path><circle cx="4" cy="4.5" r="0.75" class="fill-current" opacity="0.5"></circle></svg> 9 Episodes</li><li class="text-text-tertiary font-dank hidden items-center gap-x-3 text-xs min-[500px]:flex"><!--[--><svg width="14" viewbox="0 0 24 16" fill="none"><rect x="2" y="10" width="5" height="4" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="1"></rect><rect x="9" y="6" width="5" height="8" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="1"></rect><rect x="16" y="2" width="5" height="12" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="0.4"></rect><!----></svg><!--[--><!--]--><!--]--> Intermediate</li><li class="text-text-tertiary font-dank hidden items-center gap-x-3 text-xs min-[500px]:flex"><svg width="14" height="20" viewbox="0 0 24 24" fill="none" class="text-icon"><path d="M4 6H10L12 4H20C21.1 4 22 4.9 22 6V18C22 19.1 21.1 20 20 20H4C2.9 20 2 19.1 2 18V8C2 6.9 2.9 6 4 6Z" fill="none" class="stroke-current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M2 8H22" class="stroke-current" stroke-width="2" opacity="0.5"></path><circle cx="4" cy="6" r="0.75" class="fill-current" opacity="0.6"></circle></svg> Frameworks</li></ul></footer></div><!--[--><!--]--></a><!----></div><div class="series-card-new-wrap group/wrap relative"><a class="series-card-new group @container relative block min-w-[220px] cursor-pointer px-7 pt-0 pb-5 min-[500px]:aspect-220/297" style="--taxonomy-color:#EC454F;" href="/series/the-many-misconceptions-of-laravel"><div class="series-card-new-border bg-fg-lifted absolute inset-0 rounded-xl border-5 border-current text-transparent group-hover:border-[var(--taxonomy-color)]"></div><img loading="lazy" class="lazy absolute left-7 z-10 -mt-10" src="https://images.laracasts.com/series/thumbnails/png/the-many-misconceptions-of-laravel-thumbnail.png?tr=w-160" alt="The Many Misconceptions of Laravel thumbnail" width="80" height="80"><div class="main relative flex h-full flex-col pt-16"><h3 class="leading-tighter text-xl font-bold text-balance min-[500px]:line-clamp-3" title="The Many Misconceptions of Laravel">The Many Misconceptions of Laravel</h3><!----><!----><div class="font-dank text-text-secondary mt-4 text-xs">With Jeremy McPeak</div><p class="text-text-secondary mt-6 line-clamp-3 min-[500px]:hidden">Laravel is the recipient of plenty of criticism, but much of it is based on half-truths, outdated assumptions, or a fuzzy sense of what the framework is actually doing. In this series, we'll take those common complaints head-on and build a clearer mental model of Laravel, from modern PHP, to facades, the service container, Eloquent, and more.
</p><footer class="border-on-lifted-subtle mt-8 border-t pt-5 min-[500px]:mt-auto"><ul class="flex gap-x-6 gap-y-2 min-[500px]:flex-col"><li class="text-text-tertiary font-dank flex items-center gap-x-3 text-xs"><svg width="14" viewbox="0 0 24 24" fill="none" class="text-icon"><circle cx="5" cy="6" r="2" class="fill-current"></circle><circle cx="5" cy="12" r="2" class="fill-current" opacity="0.85"></circle><circle cx="5" cy="18" r="2" class="fill-current" opacity="0.7"></circle><path d="M10 6H20" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><path d="M10 12H18" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.8"></path><path d="M10 18H16" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.6"></path><circle cx="4" cy="4.5" r="0.75" class="fill-current" opacity="0.5"></circle></svg> 12 Episodes</li><li class="text-text-tertiary font-dank hidden items-center gap-x-3 text-xs min-[500px]:flex"><!--[--><svg width="14" viewbox="0 0 24 16" fill="none"><rect x="2" y="10" width="5" height="4" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="1"></rect><rect x="9" y="6" width="5" height="8" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="1"></rect><rect x="16" y="2" width="5" height="12" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="0.4"></rect><!----></svg><!--[--><!--]--><!--]--> Intermediate</li><li class="text-text-tertiary font-dank hidden items-center gap-x-3 text-xs min-[500px]:flex"><svg width="14" height="20" viewbox="0 0 24 24" fill="none" class="text-icon"><path d="M4 6H10L12 4H20C21.1 4 22 4.9 22 6V18C22 19.1 21.1 20 20 20H4C2.9 20 2 19.1 2 18V8C2 6.9 2.9 6 4 6Z" fill="none" class="stroke-current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M2 8H22" class="stroke-current" stroke-width="2" opacity="0.5"></path><circle cx="4" cy="6" r="0.75" class="fill-current" opacity="0.6"></circle></svg> Frameworks</li></ul></footer></div><!--[--><!--]--></a><!----></div><div class="series-card-new-wrap group/wrap relative"><a class="series-card-new group @container relative block min-w-[220px] cursor-pointer px-7 pt-0 pb-5 min-[500px]:aspect-220/297" style="--taxonomy-color:#EC454F;" href="/series/blaze-deep-dive"><div class="series-card-new-border bg-fg-lifted absolute inset-0 rounded-xl border-5 border-current text-transparent group-hover:border-[var(--taxonomy-color)]"></div><img loading="lazy" class="lazy absolute left-7 z-10 -mt-10" src="https://images.laracasts.com/series/thumbnails/png/blaze-creatorseries-thumbnail.png?tr=w-160" alt="Blaze Deep-Dive thumbnail" width="80" height="80"><div class="main relative flex h-full flex-col pt-16"><h3 class="leading-tighter text-xl font-bold text-balance min-[500px]:line-clamp-3" title="Blaze Deep-Dive">Blaze Deep-Dive</h3><!----><!----><div class="font-dank text-text-secondary mt-4 text-xs">With Caleb Porzio</div><p class="text-text-secondary mt-6 line-clamp-3 min-[500px]:hidden">Blade components are slow. Really slow. At scale, they quietly become the biggest bottleneck in your Laravel application. We discovered this while trying to make Flux as fast as possible, and the result is Blaze: a package that fundamentally rethinks how Blade components are compiled and rendered. With multiple levels of optimization, Blaze can shave hundreds of milliseconds off a page load, making Blade rendering up to 25x faster in some cases.In this series, we'll install it, benchmark it, build a toy version from scratch so you truly understand how it works, and then master every directive and edge case so you can squeeze maximum performance out of your own apps.
</p><footer class="border-on-lifted-subtle mt-8 border-t pt-5 min-[500px]:mt-auto"><ul class="flex gap-x-6 gap-y-2 min-[500px]:flex-col"><li class="text-text-tertiary font-dank flex items-center gap-x-3 text-xs"><svg width="14" viewbox="0 0 24 24" fill="none" class="text-icon"><circle cx="5" cy="6" r="2" class="fill-current"></circle><circle cx="5" cy="12" r="2" class="fill-current" opacity="0.85"></circle><circle cx="5" cy="18" r="2" class="fill-current" opacity="0.7"></circle><path d="M10 6H20" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><path d="M10 12H18" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.8"></path><path d="M10 18H16" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.6"></path><circle cx="4" cy="4.5" r="0.75" class="fill-current" opacity="0.5"></circle></svg> 20 Episodes</li><li class="text-text-tertiary font-dank hidden items-center gap-x-3 text-xs min-[500px]:flex"><!--[--><svg width="14" viewbox="0 0 24 16" fill="none"><rect x="2" y="10" width="5" height="4" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="1"></rect><rect x="9" y="6" width="5" height="8" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="1"></rect><rect x="16" y="2" width="5" height="12" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="1"></rect><circle cx="18.5" cy="3" r="0.75" class="fill-current" opacity="0.6"></circle></svg><!--[--><!--]--><!--]--> Advanced</li><li class="text-text-tertiary font-dank hidden items-center gap-x-3 text-xs min-[500px]:flex"><svg width="14" height="20" viewbox="0 0 24 24" fill="none" class="text-icon"><path d="M4 6H10L12 4H20C21.1 4 22 4.9 22 6V18C22 19.1 21.1 20 20 20H4C2.9 20 2 19.1 2 18V8C2 6.9 2.9 6 4 6Z" fill="none" class="stroke-current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M2 8H22" class="stroke-current" stroke-width="2" opacity="0.5"></path><circle cx="4" cy="6" r="0.75" class="fill-current" opacity="0.6"></circle></svg> Frameworks</li></ul></footer></div><!--[--><!--]--></a><!----></div><div class="series-card-new-wrap group/wrap relative"><a class="series-card-new group @container relative block min-w-[220px] cursor-pointer px-7 pt-0 pb-5 min-[500px]:aspect-220/297" style="--taxonomy-color:#EC454F;" href="/series/customizing-filament-for-user-facing-apps"><div class="series-card-new-border bg-fg-lifted absolute inset-0 rounded-xl border-5 border-current text-transparent group-hover:border-[var(--taxonomy-color)]"></div><img loading="lazy" class="lazy absolute left-7 z-10 -mt-10" src="https://images.laracasts.com/series/thumbnails/png/customizing-filament-thumbnail.png?tr=w-160" alt="Customizing Filament For User-Facing Apps thumbnail" width="80" height="80"><div class="main relative flex h-full flex-col pt-16"><h3 class="leading-tighter text-xl font-bold text-balance min-[500px]:line-clamp-3" title="Customizing Filament For User-Facing Apps">Customizing Filament For User-Facing Apps</h3><!----><!----><div class="font-dank text-text-secondary mt-4 text-xs">With Shruti Balasa</div><p class="text-text-secondary mt-6 line-clamp-3 min-[500px]:hidden">In this series, we'll build a real, user-facing app called Booknest using Laravel and Filament. We'll begin with a fresh install and begin pushing Filament beyond the usual "internal admin only" setup that you typically see. It's capable of so much more.
</p><footer class="border-on-lifted-subtle mt-8 border-t pt-5 min-[500px]:mt-auto"><ul class="flex gap-x-6 gap-y-2 min-[500px]:flex-col"><li class="text-text-tertiary font-dank flex items-center gap-x-3 text-xs"><svg width="14" viewbox="0 0 24 24" fill="none" class="text-icon"><circle cx="5" cy="6" r="2" class="fill-current"></circle><circle cx="5" cy="12" r="2" class="fill-current" opacity="0.85"></circle><circle cx="5" cy="18" r="2" class="fill-current" opacity="0.7"></circle><path d="M10 6H20" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><path d="M10 12H18" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.8"></path><path d="M10 18H16" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.6"></path><circle cx="4" cy="4.5" r="0.75" class="fill-current" opacity="0.5"></circle></svg> 14 Episodes</li><li class="text-text-tertiary font-dank hidden items-center gap-x-3 text-xs min-[500px]:flex"><!--[--><svg width="14" viewbox="0 0 24 16" fill="none"><rect x="2" y="10" width="5" height="4" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="1"></rect><rect x="9" y="6" width="5" height="8" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="1"></rect><rect x="16" y="2" width="5" height="12" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="0.4"></rect><!----></svg><!--[--><!--]--><!--]--> Intermediate</li><li class="text-text-tertiary font-dank hidden items-center gap-x-3 text-xs min-[500px]:flex"><svg width="14" height="20" viewbox="0 0 24 24" fill="none" class="text-icon"><path d="M4 6H10L12 4H20C21.1 4 22 4.9 22 6V18C22 19.1 21.1 20 20 20H4C2.9 20 2 19.1 2 18V8C2 6.9 2.9 6 4 6Z" fill="none" class="stroke-current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M2 8H22" class="stroke-current" stroke-width="2" opacity="0.5"></path><circle cx="4" cy="6" r="0.75" class="fill-current" opacity="0.6"></circle></svg> Frameworks</li></ul></footer></div><!--[--><!--]--></a><!----></div><div class="series-card-new-wrap group/wrap relative"><a class="series-card-new group @container relative block min-w-[220px] cursor-pointer px-7 pt-0 pb-5 min-[500px]:aspect-220/297" style="--taxonomy-color:#EC454F;" href="/series/filament-5-in-depth"><div class="series-card-new-border bg-fg-lifted absolute inset-0 rounded-xl border-5 border-current text-transparent group-hover:border-[var(--taxonomy-color)]"></div><img loading="lazy" class="lazy absolute left-7 z-10 -mt-10" src="https://images.laracasts.com/series/thumbnails/png/filament-5-in-depth-thumbnail.png?tr=w-160" alt="Filament 5 in Depth thumbnail" width="80" height="80"><div class="main relative flex h-full flex-col pt-16"><h3 class="leading-tighter text-xl font-bold text-balance min-[500px]:line-clamp-3" title="Filament 5 in Depth">Filament 5 in Depth</h3><!----><!----><div class="font-dank text-text-secondary mt-4 text-xs">With Kevin McKee</div><p class="text-text-secondary mt-6 line-clamp-3 min-[500px]:hidden">Filament's powers have increased exponentially. Now at version 5, it's more powerful and capable than ever. In this series, we'll build a practical Roadmap app from scratch, using Filament for the admin panel and Livewire for the public-facing side.Along the way, we'll cover panel configuration, enum-driven UI, strict authorization with policies, and newer form inputs like ToggleButtons, Sliders, and the TipTap-powered RichEditor. By the end, you'll have a full-featured app and a solid handle on everything new in Filament.
</p><footer class="border-on-lifted-subtle mt-8 border-t pt-5 min-[500px]:mt-auto"><ul class="flex gap-x-6 gap-y-2 min-[500px]:flex-col"><li class="text-text-tertiary font-dank flex items-center gap-x-3 text-xs"><svg width="14" viewbox="0 0 24 24" fill="none" class="text-icon"><circle cx="5" cy="6" r="2" class="fill-current"></circle><circle cx="5" cy="12" r="2" class="fill-current" opacity="0.85"></circle><circle cx="5" cy="18" r="2" class="fill-current" opacity="0.7"></circle><path d="M10 6H20" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><path d="M10 12H18" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.8"></path><path d="M10 18H16" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.6"></path><circle cx="4" cy="4.5" r="0.75" class="fill-current" opacity="0.5"></circle></svg> 16 Episodes</li><li class="text-text-tertiary font-dank hidden items-center gap-x-3 text-xs min-[500px]:flex"><!--[--><svg width="14" viewbox="0 0 24 16" fill="none"><rect x="2" y="10" width="5" height="4" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="1"></rect><rect x="9" y="6" width="5" height="8" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="1"></rect><rect x="16" y="2" width="5" height="12" rx="1" fill="none" class="stroke-current" stroke-width="1.5" opacity="0.4"></rect><!----></svg><!--[--><!--]--><!--]--> Intermediate</li><li class="text-text-tertiary font-dank hidden items-center gap-x-3 text-xs min-[500px]:flex"><svg width="14" height="20" viewbox="0 0 24 24" fill="none" class="text-icon"><path d="M4 6H10L12 4H20C21.1 4 22 4.9 22 6V18C22 19.1 21.1 20 20 20H4C2.9 20 2 19.1 2 18V8C2 6.9 2.9 6 4 6Z" fill="none" class="stroke-current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M2 8H22" class="stroke-current" stroke-width="2" opacity="0.5"></path><circle cx="4" cy="6" r="0.75" class="fill-current" opacity="0.6"></circle></svg> Frameworks</li></ul></footer></div><!--[--><!--]--></a><!----></div><!--]--></div><!--[--><!--]--></div><!--]--></section></div></div><!----><!--]--></div><!--]--></div></div><footer class="@container relative overflow-hidden mt-10 w-full pt-10"><div class="border-stroke border-t"><section class="section container max-w-[1300px] @max-breakpoint-2xl:px-16 @max-breakpoint-md:px-6 py-12 flex-1"><!--[--><div class="newsletter-form @breakpoint-lg:flex-row @breakpoint-lg:gap-12 flex flex-col items-center justify-between gap-6"><h2 class="@breakpoint-sm:text-center @breakpoint-lg:text-left max-w-md text-left text-2xl font-medium text-balance"> Want us to email you occasionally with Laracasts news? </h2><form id="newsletter-form" class="@breakpoint-lg:w-1/2 flex w-full justify-end" method="POST" action="/newsletters/subscribe"><div class="bg-fg-lifted pixel-corners @breakpoint-md:p-1 @breakpoint-lg:mx-0 @breakpoint-sm:max-w-[30rem] mx-auto flex w-full flex-1 justify-between gap-y-2"><input class="placeholder:text-text-tertiary @breakpoint-md:mr-1 @breakpoint-md:flex-1 @breakpoint-md:py-0 bg-transparent px-4 py-2 text-base" type="email" name="email" placeholder="Enter email address" autocomplete="off" required value><button as="button" class="btn pl-4! btn-primary pr-4!" type="submit"><!--[--><svg width="20" height="20" viewbox="0 0 24 24" fill="none" class="fill-current"><path d="M12 2.5C12.8 2.5 13.5 3.2 13.5 4V4.5C16.5 5.3 18.5 8 18.5 11V16L20.5 18.5H3.5L5.5 16V11C5.5 8 7.5 5.3 10.5 4.5V4C10.5 3.2 11.2 2.5 12 2.5Z" fill="none" class="stroke-current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M9.5 18.5C9.5 19.9 10.6 21.5 12 21.5C13.4 21.5 14.5 19.9 14.5 18.5" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><path d="M19 8L21 6" class="stroke-current" stroke-width="1.5" stroke-linecap="round" opacity="0.5"></path><path d="M20 10.5L21.5 10" class="stroke-current" stroke-width="1" stroke-linecap="round" opacity="0.35"></path><circle cx="8" cy="8" r="1" class="fill-current" opacity="0.6"></circle></svg><!--]--><!--[--> Subscribe <!--]--></button></div><!----></form></div><!--]--></section></div><div class="border-stroke relative border-t"><section class="section container max-w-[1300px] @max-breakpoint-2xl:px-16 @max-breakpoint-md:px-6 relative z-20 py-16 md:space-y-18"><!--[--><div><svg width="230" viewbox="0 0 287 30" class="text-current-taxonomy" shape-rendering="crispEdges"><path d="M0.000244141 29.0626V0.9375H6.66321V23.4711H22.8686V29.0626H0.000244141Z" class="fill-text-primary"></path><path d="M50.937 29.0626L49.1959 24.3416H35.3342L33.5931 29.0626H26.6958L37.5775 0.9375H46.9526L57.8678 29.0626H50.937ZM37.2092 19.2858H47.3209L42.9012 7.26565H41.6289L37.2092 19.2858Z" class="fill-text-primary"></path><path d="M88.6796 29.0626H82.0501L77.4295 20.692H68.3558V29.0626H61.6929V0.9375H76.4586C83.9921 0.9375 87.9765 4.45314 87.9765 11.0157C87.9765 14.9331 86.068 17.7791 83.1885 19.3527L88.6796 29.0626ZM68.3558 6.52904V15.5692H76.0903C79.472 15.5692 81.347 14.0291 81.347 11.0491C81.347 8.06922 79.472 6.52904 76.0903 6.52904H68.3558Z" class="fill-text-primary"></path><path d="M116.747 29.0626L115.005 24.3416H101.144L99.4027 29.0626H92.5054L103.387 0.9375H112.762L123.677 29.0626H116.747ZM103.019 19.2858H113.13L108.711 7.26565H107.438L103.019 19.2858Z" class="fill-text-primary"></path><path d="M142.906 30.0001C133.799 30.0001 127.505 23.8394 127.505 15.0001C127.505 6.16074 133.799 0 142.906 0C149.067 0 155.395 2.74554 156.768 11.0157H150.373C149.168 7.39958 146.389 5.79243 142.906 5.79243C137.918 5.79243 134.101 9.57593 134.101 15.0001C134.101 20.3907 137.918 24.2077 142.906 24.2077C146.389 24.2077 149.168 22.6005 150.373 18.951H156.768C155.395 27.2546 149.134 30.0001 142.906 30.0001Z" class="fill-text-primary"></path><path d="M173.568 0.128296H180.054V10.0428H173.568V0.128296Z" class="fill-text-primary"></path><path d="M167.081 6.738H173.568L173.568 10.0428H167.081V6.738Z" class="fill-text-primary"></path><path d="M163.838 16.6526H170.325V23.2623H163.838V16.6526Z" class="fill-current"></path><path d="M160.594 23.2622H167.081V29.8719H160.594V23.2622Z" class="fill-current"></path><path d="M183.297 16.6526H189.784V23.2623H183.297V16.6526Z" class="fill-text-primary"></path><path d="M173.568 23.2622H193.027V29.8719H173.568V23.2622Z" class="fill-text-primary"></path><path d="M167.081 10.0428H173.568L173.568 13.3477H167.081V10.0428Z" class="fill-text-primary"></path><path d="M180.054 6.738H186.541V10.0428H180.054L180.054 6.738Z" class="fill-text-primary"></path><path d="M180.054 10.0428H186.541V13.3477H180.054L180.054 10.0428Z" class="fill-text-primary"></path><path d="M180.054 13.3477H186.541V16.6525H180.054V13.3477Z" class="fill-text-primary"></path><path d="M211.172 30.0001C202.6 30.0001 198.08 26.9532 198.113 20.3572H204.14C204.375 23.0023 206.551 24.6764 211.172 24.7099C215.524 24.7099 217.901 23.2367 217.901 21.0269C217.901 19.0849 216.328 18.1139 212.98 17.5447L209.497 16.942C204.174 16.0045 198.884 14.5983 198.884 8.47101C198.884 3.14733 203.37 0 211.239 0C218.571 0 223.66 2.57813 223.727 9.54245H217.734C217.299 6.99779 215.323 5.2902 211.105 5.2902C207.288 5.2902 205.279 6.59601 205.279 8.77236C205.279 10.48 206.651 11.5514 209.531 12.0871L212.578 12.6228C217.935 13.5938 224.531 14.4978 224.531 21.2278C224.531 26.8193 219.944 30.0001 211.172 30.0001Z" class="fill-text-primary"></path><path d="M256.116 0.9375V6.52904H245.57V29.0626H238.873V6.52904H228.36V0.9375H256.116Z" class="fill-text-primary"></path><path d="M273 30.0001C264.429 30.0001 259.909 26.9532 259.942 20.3572H265.969C266.203 23.0023 268.38 24.6764 273 24.7099C277.353 24.7099 279.73 23.2367 279.73 21.0269C279.73 19.0849 278.156 18.1139 274.808 17.5447L271.326 16.942C266.002 16.0045 260.712 14.5983 260.712 8.47101C260.712 3.14733 265.199 0 273.067 0C280.4 0 285.489 2.57813 285.556 9.54245H279.563C279.127 6.99779 277.152 5.2902 272.933 5.2902C269.116 5.2902 267.107 6.59601 267.107 8.77236C267.107 10.48 268.48 11.5514 271.36 12.0871L274.406 12.6228C279.764 13.5938 286.36 14.4978 286.36 21.2278C286.36 26.8193 281.773 30.0001 273 30.0001Z" class="fill-text-primary"></path></svg><p class="text-text-secondary mt-5 max-w-sm"> Nine out of ten doctors recommend Laracasts over competing brands. Come inside, see for yourself, and massively level up your development skills in the process. </p></div><div class="[&_a:hover]:text-current-taxonomy @breakpoint-md:space-y-0 @breakpoint-md:grid-cols-1 @breakpoint-md:mt-0 mt-5 grid grid-cols-2 space-y-10 [&_a:hover]:underline"><div class="@breakpoint-md:flex-row @breakpoint-md:items-center mt-5 flex flex-col gap-x-3"><h5 class="@breakpoint-md:mb-0 mb-3 w-22 text-lg font-bold">Learn</h5><div class="text-text-secondary @breakpoint-md:flex-row flex flex-col gap-x-4 gap-y-2 text-sm"><a href="/series/discover">Browse</a><a href="/series">Series</a><a href="/creator-series">CreatorSeries</a><a href="/path">Laravel Path</a><a href="/bits">Larabits</a></div></div><div class="@breakpoint-md:flex-row @breakpoint-md:items-center mt-5 flex flex-col gap-x-3"><h5 class="@breakpoint-md:mb-0 mb-3 w-22 text-lg font-bold">Discuss</h5><div class="text-text-secondary @breakpoint-md:flex-row flex flex-col gap-x-4 gap-y-2 text-sm"><a href="/forum">Forum</a><a href="/series/the-laracasts-snippet">Podcast</a><a href="/contact">Support</a></div></div><div class="@breakpoint-md:flex-row @breakpoint-md:items-center mt-5 flex flex-col gap-x-3"><h5 class="@breakpoint-md:mb-0 mb-3 w-22 text-lg font-bold">Extras</h5><div class="text-text-secondary @breakpoint-md:flex-row flex flex-col gap-x-4 gap-y-2 text-sm"><a href="/gift-certificates">Gift Certificates</a><a href="https://shop.laracasts.com" target="_blank">Apparel</a><a href="/faq">FAQ</a><a href="https://apps.apple.com/app/id6761379766" target="_blank">iOS App</a><a href="/terms">Terms</a></div></div><div class="@breakpoint-md:flex-row @breakpoint-md:items-center mt-5 flex flex-col gap-x-3"><h5 class="@breakpoint-md:mb-0 mb-3 w-22 text-lg font-bold">Social</h5><div class="text-text-secondary @breakpoint-md:flex-row flex flex-col gap-x-4 gap-y-2 text-sm"><a href="https://twitter.com/laracasts" target="_blank">X(Twitter)</a><a href="https://tiktok.com/@laracasts" target="_blank">TikTok</a><a href="https://www.youtube.com/laracastsofficial" target="_blank">Youtube</a></div></div></div><div class="text-text-primary dark:text-text-primary/40 font-dank text-sm"><p>© Laracasts 2026. All rights reserved. Yes, all of them. That means you, Todd.</p><p> Proudly hosted with <a href="https://forge.laravel.com" class="hover:text-current-taxonomy underline">Laravel Forge</a> and <a href="https://www.digitalocean.com/?refcode=d2070a2d5f35" class="hover:text-current-taxonomy underline"> DigitalOcean</a>. </p></div><!--]--></section><div class="pointer-events-none absolute inset-0 z-10 bg-cover opacity-50 dark:hidden" style="background-image:linear-gradient(to bottom, var(--color-bg), transparent), url('/images/series/video-player-pixels.png');"></div><div class="pointer-events-none absolute inset-0 z-10 hidden bg-cover dark:block" style="background-image:url('/images/series/video-player-pixels.png');"></div><svg viewBox="0 0 1728 339" fill="none" class="text-current-taxonomy pointer-events-none absolute right-0 bottom-0 left-0 container hidden dark:inline" style="filter:blur(50px);"><g opacity="0.5" filter="url(#filter0_f_290_17194)"><ellipse cx="864" cy="348" rx="693" ry="98" class="fill-current"></ellipse></g><defs><filter id="filter0_f_290_17194" x="-79" y="0" width="1886" height="696" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"></feBlend><feGaussianBlur stdDeviation="125" result="effect1_foregroundBlur_290_17194"></feGaussianBlur></filter></defs></svg><svg width="40" viewbox="0 0 100 90" class="hover:text-blue! transition-colors duration-300 text-current-taxonomy @breakpoint-lg:dark:opacity-10 text-current-taxonomy absolute right-0 bottom-0 translate-x-1/4 opacity-5" shape-rendering="crispEdges" height="100%" style="width:auto;"><rect x="40" width="20" height="30" class="fill-text-primary"></rect><rect x="20" y="20" width="20" height="10" class="fill-text-primary"></rect><rect x="10" y="50" width="20" height="20" class="fill-current"></rect><rect y="70" width="20" height="20" class="fill-current"></rect><rect x="70" y="50" width="20" height="20" class="fill-text-primary"></rect><rect x="40" y="70" width="60" height="20" class="fill-text-primary"></rect><rect x="20" y="30" width="20" height="10" class="fill-text-primary"></rect><rect x="60" y="20" width="20" height="10" class="fill-text-primary"></rect><rect x="60" y="30" width="20" height="10" class="fill-text-primary"></rect><rect x="60" y="40" width="20" height="10" class="fill-text-primary"></rect></svg></div></footer></div></div><!--]--><!--]--></div></main><!--]--><footer class="@container relative overflow-hidden"><div class="border-stroke border-t"><section class="section container max-w-[1300px] @max-breakpoint-2xl:px-16 @max-breakpoint-md:px-6 py-12 flex-1"><!--[--><div class="newsletter-form @breakpoint-lg:flex-row @breakpoint-lg:gap-12 flex flex-col items-center justify-between gap-6"><h2 class="@breakpoint-sm:text-center @breakpoint-lg:text-left max-w-md text-left text-2xl font-medium text-balance"> Want us to email you occasionally with Laracasts news? </h2><form id="newsletter-form" class="@breakpoint-lg:w-1/2 flex w-full justify-end" method="POST" action="/newsletters/subscribe"><div class="bg-fg-lifted pixel-corners @breakpoint-md:p-1 @breakpoint-lg:mx-0 @breakpoint-sm:max-w-[30rem] mx-auto flex w-full flex-1 justify-between gap-y-2"><input class="placeholder:text-text-tertiary @breakpoint-md:mr-1 @breakpoint-md:flex-1 @breakpoint-md:py-0 bg-transparent px-4 py-2 text-base" type="email" name="email" placeholder="Enter email address" autocomplete="off" required value><button as="button" class="btn pl-4! btn-primary pr-4!" type="submit"><!--[--><svg width="20" height="20" viewbox="0 0 24 24" fill="none" class="fill-current"><path d="M12 2.5C12.8 2.5 13.5 3.2 13.5 4V4.5C16.5 5.3 18.5 8 18.5 11V16L20.5 18.5H3.5L5.5 16V11C5.5 8 7.5 5.3 10.5 4.5V4C10.5 3.2 11.2 2.5 12 2.5Z" fill="none" class="stroke-current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M9.5 18.5C9.5 19.9 10.6 21.5 12 21.5C13.4 21.5 14.5 19.9 14.5 18.5" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><path d="M19 8L21 6" class="stroke-current" stroke-width="1.5" stroke-linecap="round" opacity="0.5"></path><path d="M20 10.5L21.5 10" class="stroke-current" stroke-width="1" stroke-linecap="round" opacity="0.35"></path><circle cx="8" cy="8" r="1" class="fill-current" opacity="0.6"></circle></svg><!--]--><!--[--> Subscribe <!--]--></button></div><!----></form></div><!--]--></section></div><div class="border-stroke relative border-t"><section class="section container max-w-[1300px] @max-breakpoint-2xl:px-16 @max-breakpoint-md:px-6 relative z-20 py-16 md:space-y-18"><!--[--><div><svg width="230" viewbox="0 0 287 30" class="text-current-taxonomy" shape-rendering="crispEdges"><path d="M0.000244141 29.0626V0.9375H6.66321V23.4711H22.8686V29.0626H0.000244141Z" class="fill-text-primary"></path><path d="M50.937 29.0626L49.1959 24.3416H35.3342L33.5931 29.0626H26.6958L37.5775 0.9375H46.9526L57.8678 29.0626H50.937ZM37.2092 19.2858H47.3209L42.9012 7.26565H41.6289L37.2092 19.2858Z" class="fill-text-primary"></path><path d="M88.6796 29.0626H82.0501L77.4295 20.692H68.3558V29.0626H61.6929V0.9375H76.4586C83.9921 0.9375 87.9765 4.45314 87.9765 11.0157C87.9765 14.9331 86.068 17.7791 83.1885 19.3527L88.6796 29.0626ZM68.3558 6.52904V15.5692H76.0903C79.472 15.5692 81.347 14.0291 81.347 11.0491C81.347 8.06922 79.472 6.52904 76.0903 6.52904H68.3558Z" class="fill-text-primary"></path><path d="M116.747 29.0626L115.005 24.3416H101.144L99.4027 29.0626H92.5054L103.387 0.9375H112.762L123.677 29.0626H116.747ZM103.019 19.2858H113.13L108.711 7.26565H107.438L103.019 19.2858Z" class="fill-text-primary"></path><path d="M142.906 30.0001C133.799 30.0001 127.505 23.8394 127.505 15.0001C127.505 6.16074 133.799 0 142.906 0C149.067 0 155.395 2.74554 156.768 11.0157H150.373C149.168 7.39958 146.389 5.79243 142.906 5.79243C137.918 5.79243 134.101 9.57593 134.101 15.0001C134.101 20.3907 137.918 24.2077 142.906 24.2077C146.389 24.2077 149.168 22.6005 150.373 18.951H156.768C155.395 27.2546 149.134 30.0001 142.906 30.0001Z" class="fill-text-primary"></path><path d="M173.568 0.128296H180.054V10.0428H173.568V0.128296Z" class="fill-text-primary"></path><path d="M167.081 6.738H173.568L173.568 10.0428H167.081V6.738Z" class="fill-text-primary"></path><path d="M163.838 16.6526H170.325V23.2623H163.838V16.6526Z" class="fill-current"></path><path d="M160.594 23.2622H167.081V29.8719H160.594V23.2622Z" class="fill-current"></path><path d="M183.297 16.6526H189.784V23.2623H183.297V16.6526Z" class="fill-text-primary"></path><path d="M173.568 23.2622H193.027V29.8719H173.568V23.2622Z" class="fill-text-primary"></path><path d="M167.081 10.0428H173.568L173.568 13.3477H167.081V10.0428Z" class="fill-text-primary"></path><path d="M180.054 6.738H186.541V10.0428H180.054L180.054 6.738Z" class="fill-text-primary"></path><path d="M180.054 10.0428H186.541V13.3477H180.054L180.054 10.0428Z" class="fill-text-primary"></path><path d="M180.054 13.3477H186.541V16.6525H180.054V13.3477Z" class="fill-text-primary"></path><path d="M211.172 30.0001C202.6 30.0001 198.08 26.9532 198.113 20.3572H204.14C204.375 23.0023 206.551 24.6764 211.172 24.7099C215.524 24.7099 217.901 23.2367 217.901 21.0269C217.901 19.0849 216.328 18.1139 212.98 17.5447L209.497 16.942C204.174 16.0045 198.884 14.5983 198.884 8.47101C198.884 3.14733 203.37 0 211.239 0C218.571 0 223.66 2.57813 223.727 9.54245H217.734C217.299 6.99779 215.323 5.2902 211.105 5.2902C207.288 5.2902 205.279 6.59601 205.279 8.77236C205.279 10.48 206.651 11.5514 209.531 12.0871L212.578 12.6228C217.935 13.5938 224.531 14.4978 224.531 21.2278C224.531 26.8193 219.944 30.0001 211.172 30.0001Z" class="fill-text-primary"></path><path d="M256.116 0.9375V6.52904H245.57V29.0626H238.873V6.52904H228.36V0.9375H256.116Z" class="fill-text-primary"></path><path d="M273 30.0001C264.429 30.0001 259.909 26.9532 259.942 20.3572H265.969C266.203 23.0023 268.38 24.6764 273 24.7099C277.353 24.7099 279.73 23.2367 279.73 21.0269C279.73 19.0849 278.156 18.1139 274.808 17.5447L271.326 16.942C266.002 16.0045 260.712 14.5983 260.712 8.47101C260.712 3.14733 265.199 0 273.067 0C280.4 0 285.489 2.57813 285.556 9.54245H279.563C279.127 6.99779 277.152 5.2902 272.933 5.2902C269.116 5.2902 267.107 6.59601 267.107 8.77236C267.107 10.48 268.48 11.5514 271.36 12.0871L274.406 12.6228C279.764 13.5938 286.36 14.4978 286.36 21.2278C286.36 26.8193 281.773 30.0001 273 30.0001Z" class="fill-text-primary"></path></svg><p class="text-text-secondary mt-5 max-w-sm"> Nine out of ten doctors recommend Laracasts over competing brands. Come inside, see for yourself, and massively level up your development skills in the process. </p></div><div class="[&_a:hover]:text-current-taxonomy @breakpoint-md:space-y-0 @breakpoint-md:grid-cols-1 @breakpoint-md:mt-0 mt-5 grid grid-cols-2 space-y-10 [&_a:hover]:underline"><div class="@breakpoint-md:flex-row @breakpoint-md:items-center mt-5 flex flex-col gap-x-3"><h5 class="@breakpoint-md:mb-0 mb-3 w-22 text-lg font-bold">Learn</h5><div class="text-text-secondary @breakpoint-md:flex-row flex flex-col gap-x-4 gap-y-2 text-sm"><a href="/series/discover">Browse</a><a href="/series">Series</a><a href="/creator-series">CreatorSeries</a><a href="/path">Laravel Path</a><a href="/bits">Larabits</a></div></div><div class="@breakpoint-md:flex-row @breakpoint-md:items-center mt-5 flex flex-col gap-x-3"><h5 class="@breakpoint-md:mb-0 mb-3 w-22 text-lg font-bold">Discuss</h5><div class="text-text-secondary @breakpoint-md:flex-row flex flex-col gap-x-4 gap-y-2 text-sm"><a href="/forum">Forum</a><a href="/series/the-laracasts-snippet">Podcast</a><a href="/contact">Support</a></div></div><div class="@breakpoint-md:flex-row @breakpoint-md:items-center mt-5 flex flex-col gap-x-3"><h5 class="@breakpoint-md:mb-0 mb-3 w-22 text-lg font-bold">Extras</h5><div class="text-text-secondary @breakpoint-md:flex-row flex flex-col gap-x-4 gap-y-2 text-sm"><a href="/gift-certificates">Gift Certificates</a><a href="https://shop.laracasts.com" target="_blank">Apparel</a><a href="/faq">FAQ</a><a href="https://apps.apple.com/app/id6761379766" target="_blank">iOS App</a><a href="/terms">Terms</a></div></div><div class="@breakpoint-md:flex-row @breakpoint-md:items-center mt-5 flex flex-col gap-x-3"><h5 class="@breakpoint-md:mb-0 mb-3 w-22 text-lg font-bold">Social</h5><div class="text-text-secondary @breakpoint-md:flex-row flex flex-col gap-x-4 gap-y-2 text-sm"><a href="https://twitter.com/laracasts" target="_blank">X(Twitter)</a><a href="https://tiktok.com/@laracasts" target="_blank">TikTok</a><a href="https://www.youtube.com/laracastsofficial" target="_blank">Youtube</a></div></div></div><div class="text-text-primary dark:text-text-primary/40 font-dank text-sm"><p>© Laracasts 2026. All rights reserved. Yes, all of them. That means you, Todd.</p><p> Proudly hosted with <a href="https://forge.laravel.com" class="hover:text-current-taxonomy underline">Laravel Forge</a> and <a href="https://www.digitalocean.com/?refcode=d2070a2d5f35" class="hover:text-current-taxonomy underline"> DigitalOcean</a>. </p></div><!--]--></section><div class="pointer-events-none absolute inset-0 z-10 bg-cover opacity-50 dark:hidden" style="background-image:linear-gradient(to bottom, var(--color-bg), transparent), url('/images/series/video-player-pixels.png');"></div><div class="pointer-events-none absolute inset-0 z-10 hidden bg-cover dark:block" style="background-image:url('/images/series/video-player-pixels.png');"></div><svg viewBox="0 0 1728 339" fill="none" class="text-current-taxonomy pointer-events-none absolute right-0 bottom-0 left-0 container hidden dark:inline" style="filter:blur(50px);"><g opacity="0.5" filter="url(#filter0_f_290_17194)"><ellipse cx="864" cy="348" rx="693" ry="98" class="fill-current"></ellipse></g><defs><filter id="filter0_f_290_17194" x="-79" y="0" width="1886" height="696" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"></feBlend><feGaussianBlur stdDeviation="125" result="effect1_foregroundBlur_290_17194"></feGaussianBlur></filter></defs></svg><svg width="40" viewbox="0 0 100 90" class="hover:text-blue! transition-colors duration-300 text-current-taxonomy @breakpoint-lg:dark:opacity-10 text-current-taxonomy absolute right-0 bottom-0 translate-x-1/4 opacity-5" shape-rendering="crispEdges" height="100%" style="width:auto;"><rect x="40" width="20" height="30" class="fill-text-primary"></rect><rect x="20" y="20" width="20" height="10" class="fill-text-primary"></rect><rect x="10" y="50" width="20" height="20" class="fill-current"></rect><rect y="70" width="20" height="20" class="fill-current"></rect><rect x="70" y="50" width="20" height="20" class="fill-text-primary"></rect><rect x="40" y="70" width="60" height="20" class="fill-text-primary"></rect><rect x="20" y="30" width="20" height="10" class="fill-text-primary"></rect><rect x="60" y="20" width="20" height="10" class="fill-text-primary"></rect><rect x="60" y="30" width="20" height="10" class="fill-text-primary"></rect><rect x="60" y="40" width="20" height="10" class="fill-text-primary"></rect></svg></div></footer></div></div><!----><!----><!----><!----><!----><!----><!----><!----><!----><!----><span hidden aria-hidden="true" data-test="command-prompt-shortcut-listener"></span><button style="" type="button" data-test="command-prompt-indicator" class="border-stroke bg-fg/90 text-text-tertiary hover:text-text-secondary hover:border-stroke-strong fixed right-4 bottom-4 z-40 hidden cursor-pointer items-center gap-1.5 rounded-lg border px-2.5 py-1.5 text-sm font-medium backdrop-blur-sm transition-colors lg:flex"><kbd class="font-sans">Ctrl</kbd><kbd class="font-sans">K</kbd></button><!----><!----><!--]--></div> <script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="e820ca501f84d2cc1051a5d8-|49" defer></script></body>
</html>
Sitemap
Кол-во: 0
XML-карта сайта для поисковиков
?
Sitemap.xml помогает поисковику быстрее находить и индексировать страницы. Особенно важен для крупных сайтов и новых страниц, на которые ещё нет входящих ссылок.
Robots.txt не содержит ссылку на карту сайта. Рекомендуется добавить карту сайта и указать ссылку на нее в robots.txt.
Внутренние ссылки
Кол-во: 88
Ссылки на другие страницы своего сайта
?
Внутренние ссылки распределяют ссылочный вес между страницами и помогают поисковику обходить сайт. Пустые анкоры и ссылки на запрещённые robots.txt страницы — типичные ошибки.
Внутренних ссылок на странице 88 оптимально.
Внутренние ссылки не запрещены к индексации в robots.txt.
На странице присутствуют изображения 7.
Показать внутренние ссылки
| Url | Анкор | Состояние | Анализировать |
|---|---|---|---|
| /join?coupon=qdF6VFkXtAPsHqKRMoJg2mLZxDxfho |
<div class="section-inner flex h-full items-center justify-center"><!--[--><svg width="20" viewbox="0 0 100 90" class="hover:text-blue! transition-colors duration-300 text-current-taxonomy hidden md:inline-block" shape-rendering="crispEdges"><rect x="40" width="20" height="30" class="fill-text-primary"></rect><rect x="20" y="20" width="20" height="10" class="fill-text-primary"></rect><rect x="10" y="50" width="20" height="20" class="fill-current"></rect><rect y="70" width="20" height="20" class="fill-current"></rect><rect x="70" y="50" width="20" height="20" class="fill-text-primary"></rect><rect x="40" y="70" width="60" height="20" class="fill-text-primary"></rect><rect x="20" y="30" width="20" height="10" class="fill-text-primary"></rect><rect x="60" y="20" width="20" height="10" class="fill-text-primary"></rect><rect x="60" y="30" width="20" height="10" class="fill-text-primary"></rect><rect x="60" y="40" width="20" height="10" class="fill-text-primary"></rect></svg><p class="ml-4 py-4 text-left font-medium hover:underline md:py-0 lg:ml-3">Back to School Sale! All accounts are 50% off this week.</p><button as="button" class="btn btn-primary btn-sm ml-4 hidden! flex-shrink-0 md:flex!"><!--[--><!--]--><!--[-->Check it Out<!--]--></button><!--]--></div>
|
|
Анализировать url |
| / |
<svg width="150" viewbox="0 0 287 30" class="text-current-taxonomy py-1" shape-rendering="crispEdges"><path d="M0.000244141 29.0626V0.9375H6.66321V23.4711H22.8686V29.0626H0.000244141Z" class="fill-text-primary"></path><path d="M50.937 29.0626L49.1959 24.3416H35.3342L33.5931 29.0626H26.6958L37.5775 0.9375H46.9526L57.8678 29.0626H50.937ZM37.2092 19.2858H47.3209L42.9012 7.26565H41.6289L37.2092 19.2858Z" class="fill-text-primary"></path><path d="M88.6796 29.0626H82.0501L77.4295 20.692H68.3558V29.0626H61.6929V0.9375H76.4586C83.9921 0.9375 87.9765 4.45314 87.9765 11.0157C87.9765 14.9331 86.068 17.7791 83.1885 19.3527L88.6796 29.0626ZM68.3558 6.52904V15.5692H76.0903C79.472 15.5692 81.347 14.0291 81.347 11.0491C81.347 8.06922 79.472 6.52904 76.0903 6.52904H68.3558Z" class="fill-text-primary"></path><path d="M116.747 29.0626L115.005 24.3416H101.144L99.4027 29.0626H92.5054L103.387 0.9375H112.762L123.677 29.0626H116.747ZM103.019 19.2858H113.13L108.711 7.26565H107.438L103.019 19.2858Z" class="fill-text-primary"></path><path d="M142.906 30.0001C133.799 30.0001 127.505 23.8394 127.505 15.0001C127.505 6.16074 133.799 0 142.906 0C149.067 0 155.395 2.74554 156.768 11.0157H150.373C149.168 7.39958 146.389 5.79243 142.906 5.79243C137.918 5.79243 134.101 9.57593 134.101 15.0001C134.101 20.3907 137.918 24.2077 142.906 24.2077C146.389 24.2077 149.168 22.6005 150.373 18.951H156.768C155.395 27.2546 149.134 30.0001 142.906 30.0001Z" class="fill-text-primary"></path><path d="M173.568 0.128296H180.054V10.0428H173.568V0.128296Z" class="fill-text-primary"></path><path d="M167.081 6.738H173.568L173.568 10.0428H167.081V6.738Z" class="fill-text-primary"></path><path d="M163.838 16.6526H170.325V23.2623H163.838V16.6526Z" class="fill-current"></path><path d="M160.594 23.2622H167.081V29.8719H160.594V23.2622Z" class="fill-current"></path><path d="M183.297 16.6526H189.784V23.2623H183.297V16.6526Z" class="fill-text-primary"></path><path d="M173.568 23.2622H193.027V29.8719H173.568V23.2622Z" class="fill-text-primary"></path><path d="M167.081 10.0428H173.568L173.568 13.3477H167.081V10.0428Z" class="fill-text-primary"></path><path d="M180.054 6.738H186.541V10.0428H180.054L180.054 6.738Z" class="fill-text-primary"></path><path d="M180.054 10.0428H186.541V13.3477H180.054L180.054 10.0428Z" class="fill-text-primary"></path><path d="M180.054 13.3477H186.541V16.6525H180.054V13.3477Z" class="fill-text-primary"></path><path d="M211.172 30.0001C202.6 30.0001 198.08 26.9532 198.113 20.3572H204.14C204.375 23.0023 206.551 24.6764 211.172 24.7099C215.524 24.7099 217.901 23.2367 217.901 21.0269C217.901 19.0849 216.328 18.1139 212.98 17.5447L209.497 16.942C204.174 16.0045 198.884 14.5983 198.884 8.47101C198.884 3.14733 203.37 0 211.239 0C218.571 0 223.66 2.57813 223.727 9.54245H217.734C217.299 6.99779 215.323 5.2902 211.105 5.2902C207.288 5.2902 205.279 6.59601 205.279 8.77236C205.279 10.48 206.651 11.5514 209.531 12.0871L212.578 12.6228C217.935 13.5938 224.531 14.4978 224.531 21.2278C224.531 26.8193 219.944 30.0001 211.172 30.0001Z" class="fill-text-primary"></path><path d="M256.116 0.9375V6.52904H245.57V29.0626H238.873V6.52904H228.36V0.9375H256.116Z" class="fill-text-primary"></path><path d="M273 30.0001C264.429 30.0001 259.909 26.9532 259.942 20.3572H265.969C266.203 23.0023 268.38 24.6764 273 24.7099C277.353 24.7099 279.73 23.2367 279.73 21.0269C279.73 19.0849 278.156 18.1139 274.808 17.5447L271.326 16.942C266.002 16.0045 260.712 14.5983 260.712 8.47101C260.712 3.14733 265.199 0 273.067 0C280.4 0 285.489 2.57813 285.556 9.54245H279.563C279.127 6.99779 277.152 5.2902 272.933 5.2902C269.116 5.2902 267.107 6.59601 267.107 8.77236C267.107 10.48 268.48 11.5514 271.36 12.0871L274.406 12.6228C279.764 13.5938 286.36 14.4978 286.36 21.2278C286.36 26.8193 281.773 30.0001 273 30.0001Z" class="fill-text-primary"></path></svg>
|
|
Анализировать url |
| /series/discover |
<!--[-->Browse <!--]--><!---->
|
|
Анализировать url |
| /discuss |
<!--[-->Forum <!--]--><!---->
|
|
Анализировать url |
| /series/the-laracasts-snippet |
<!--[--> Podcast <!--]--><!---->
|
|
Анализировать url |
| /search |
<svg width="20" height="27" viewbox="0 0 24 24" fill="none" class="text-icon hover:text-current-taxonomy hover:text-current-taxonomy"><circle cx="10" cy="10" r="7" fill="none" class="stroke-current" stroke-width="2"></circle><path d="M15 15L21 21" class="stroke-current" stroke-width="2.5" stroke-linecap="round"></path><path d="M6 7L8 9" class="stroke-current" stroke-width="1.5" stroke-linecap="round" opacity="0.5"></path><circle cx="5" cy="6" r="1" class="fill-current" opacity="0.6"></circle></svg>
|
|
Анализировать url |
| /series/discover |
<span class=""><svg width="20" height="20" viewbox="0 0 24 24" fill="none" class="text-current"><path d="M2 21L9 9L12 14L16 6L22 21" fill="none" class="stroke-current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><circle cx="16" cy="3.5" r="1.2" class="stroke-current" stroke-width="1.5"></circle><path d="M16 4.7V6" class="stroke-current" stroke-width="1.5" stroke-linecap="round"></path><circle cx="6.5" cy="4.5" r="1" class="fill-current" opacity="0.7"></circle></svg></span><!--[--> Discover <!--]--><!---->
|
|
Анализировать url |
| /series |
<span class=""><svg width="20" viewbox="0 0 24 24" fill="none" class="text-icon"><circle cx="5" cy="6" r="2" class="fill-current"></circle><circle cx="5" cy="12" r="2" class="fill-current" opacity="0.85"></circle><circle cx="5" cy="18" r="2" class="fill-current" opacity="0.7"></circle><path d="M10 6H20" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><path d="M10 12H18" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.8"></path><path d="M10 18H16" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.6"></path><circle cx="4" cy="4.5" r="0.75" class="fill-current" opacity="0.5"></circle></svg></span><!--[--> All Series <!--]--><span class="bg-blue ml-auto size-[5px]" title="New Content!"></span>
|
|
Анализировать url |
| /path |
<span class=""><svg width="20" viewbox="0 0 24 24" fill="none" class="text-current"><circle cx="12" cy="4" r="3" fill="none" class="stroke-current" stroke-width="2"></circle><circle cx="5" cy="12" r="3" fill="none" class="stroke-current" stroke-width="2" opacity="0.85"></circle><circle cx="19" cy="12" r="3" fill="none" class="stroke-current" stroke-width="2" opacity="0.7"></circle><circle cx="12" cy="20" r="3" fill="none" class="stroke-current" stroke-width="2" opacity="0.6"></circle><path d="M12 7V17" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.5"></path><path d="M8 12H16" class="stroke-current" stroke-width="2" stroke-linecap="round" opacity="0.4"></path><circle cx="11" cy="2.5" r="0.75" class="fill-current" opacity="0.7"></circle></svg></span><!--[--> Path <!--]--><!---->
|
|
Анализировать url |
| /latest |
<span class=""><svg width="20" height="20" viewbox="0 0 24 24" fill="none" class="fill-current"><path d="M12 2.5C12.8 2.5 13.5 3.2 13.5 4V4.5C16.5 5.3 18.5 8 18.5 11V16L20.5 18.5H3.5L5.5 16V11C5.5 8 7.5 5.3 10.5 4.5V4C10.5 3.2 11.2 2.5 12 2.5Z" fill="none" class="stroke-current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M9.5 18.5C9.5 19.9 10.6 21.5 12 21.5C13.4 21.5 14.5 19.9 14.5 18.5" class="stroke-current" stroke-width="2" stroke-linecap="round"></path><path d="M19 8L21 6" class="stroke-current" stroke-width="1.5" stroke-linecap="round" opacity="0.5"></path><path d="M20 10.5L21.5 10" class="stroke-current" stroke-width="1" stroke-linecap="round" opacity="0.35"></path><circle cx="8" cy="8" r="1" class="fill-current" opacity="0.6"></circle></svg></span><!--[--> Recently Published <!--]--><!---->
|
|
Анализировать url |
| /series?instructors[]=JeffreyWay |
<span class="lg:line-clamp-1"><!--[-->Jeffrey Way <!--]--></span><!--[--><span class="text-text-tertiary">141</span><!--]-->
|
|
Анализировать url |
| /series?instructors[]=drehimself |
<span class="lg:line-clamp-1"><!--[-->Andre Madarang <!--]--></span><!--[--><span class="text-text-tertiary">26</span><!--]-->
|
|
Анализировать url |
| /series?instructors[]=jwmcpeak |
<span class="lg:line-clamp-1"><!--[-->Jeremy McPeak <!--]--></span><!--[--><span class="text-text-tertiary">15</span><!--]-->
|
|
Анализировать url |
| /series?instructors[]=lukedowning19 |
<span class="lg:line-clamp-1"><!--[-->Luke Downing <!--]--></span><!--[--><span class="text-text-tertiary">11</span><!--]-->
|
|
Анализировать url |
| /series?instructors[]=themsaid |
<span class="lg:line-clamp-1"><!--[-->Mohamed Said <!--]--></span><!--[--><span class="text-text-tertiary">8</span><!--]-->
|
|
Анализировать url |
| /series?instructors[]=simonswiss |
<span class="lg:line-clamp-1"><!--[-->Simon Vrachliotis <!--]--></span><!--[--><span class="text-text-tertiary">7</span><!--]-->
|
|
Анализировать url |
| /series?instructors[]=ShrutiBalasa |
<span class="lg:line-clamp-1"><!--[-->Shruti Balasa <!--]--></span><!--[--><span class="text-text-tertiary">5</span><!--]-->
|
|
Анализировать url |
| /series?instructors[]=aschmelyun |
<span class="lg:line-clamp-1"><!--[-->Andrew Schmelyun <!--]--></span><!--[--><span class="text-text-tertiary">5</span><!--]-->
|
|
Анализировать url |
| /series?taxonomies[]=ai |
<span class="lg:line-clamp-1"><!--[-->AI <!--]--></span><!--[--><span class="text-text-tertiary">8</span><!--]-->
|
|
Анализировать url |
| /series?taxonomies[]=frameworks |
<span class="lg:line-clamp-1"><!--[-->Frameworks <!--]--></span><!--[--><span class="text-text-tertiary">75</span><!--]-->
|
|
Анализировать url |
| /series?taxonomies[]=techniques |
<span class="lg:line-clamp-1"><!--[-->Techniques <!--]--></span><!--[--><span class="text-text-tertiary">54</span><!--]-->
|
|
Анализировать url |
| /series?taxonomies[]=tooling |
<span class="lg:line-clamp-1"><!--[-->Tooling <!--]--></span><!--[--><span class="text-text-tertiary">40</span><!--]-->
|
|
Анализировать url |
| /series?taxonomies[]=languages |
<span class="lg:line-clamp-1"><!--[-->Languages <!--]--></span><!--[--><span class="text-text-tertiary">21</span><!--]-->
|
|
Анализировать url |
| /series?topics[]=laravel |
<span class="lg:line-clamp-1"><!--[-->Laravel <!--]--></span><!--[--><span class="text-text-tertiary">78</span><!--]-->
|
|
Анализировать url |
| /series?topics[]=workshops |
<span class="lg:line-clamp-1"><!--[-->Workshops <!--]--></span><!--[--><span class="text-text-tertiary">28</span><!--]-->
|
|
Анализировать url |
| /series?topics[]=javascript |
<span class="lg:line-clamp-1"><!--[-->JavaScript <!--]--></span><!--[--><span class="text-text-tertiary">27</span><!--]-->
|
|
Анализировать url |
| /series?topics[]=php |
<span class="lg:line-clamp-1"><!--[-->PHP <!--]--></span><!--[--><span class="text-text-tertiary">25</span><!--]-->
|
|
Анализировать url |
| /series?topics[]=vue |
<span class="lg:line-clamp-1"><!--[-->Vue <!--]--></span><!--[--><span class="text-text-tertiary">15</span><!--]-->
|
|
Анализировать url |
| /series?topics[]=clean-code |
<span class="lg:line-clamp-1"><!--[-->Clean Code <!--]--></span><!--[--><span class="text-text-tertiary">14</span><!--]-->
|
|
Анализировать url |
| /series?topics[]=laravel-livewire |
<span class="lg:line-clamp-1"><!--[-->Laravel Livewire <!--]--></span><!--[--><span class="text-text-tertiary">12</span><!--]-->
|
|
Анализировать url |
| /series?topics[]=laravel-packages |
<span class="lg:line-clamp-1"><!--[-->Laravel Packages <!--]--></span><!--[--><span class="text-text-tertiary">12</span><!--]-->
|
|
Анализировать url |
| /series?topics[]=alpine-js |
<span class="lg:line-clamp-1"><!--[-->AlpineJS <!--]--></span><!--[--><span class="text-text-tertiary">10</span><!--]-->
|
|
Анализировать url |
| /series?topics[]=css |
<span class="lg:line-clamp-1"><!--[-->CSS <!--]--></span><!--[--><span class="text-text-tertiary">8</span><!--]-->
|
|
Анализировать url |
| /series?topics[]=tailwind |
<span class="lg:line-clamp-1"><!--[-->Tailwind CSS <!--]--></span><!--[--><span class="text-text-tertiary">7</span><!--]-->
|
|
Анализировать url |
| /series?topics[]=inertia |
<span class="lg:line-clamp-1"><!--[-->Inertia <!--]--></span><!--[--><span class="text-text-tertiary">6</span><!--]-->
|
|
Анализировать url |
| /series |
<svg width="15" height="20" viewbox="0 0 24 24" fill="none" class="fill-current -ml-5 hidden text-current md:inline"><path d="M15 6L9 12L15 18" class="stroke-current" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" fill="none"></path><line x1="19" y1="12" x2="16" y2="12" class="stroke-current" stroke-width="1.5" stroke-linecap="round" opacity="0.4"></line></svg> Browse all series
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/1 |
Learn Statamic with Jack
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/1 |
<!--[--><svg width="20" viewbox="0 0 24 24" fill="none"><defs><lineargradient id="playGrad" x1="6" y1="4" x2="20" y2="20" gradientunits="userSpaceOnUse"><stop offset="0%" stop-color="currentColor" stop-opacity="0.9"></stop><stop offset="100%" stop-color="currentColor" stop-opacity="0.5"></stop></lineargradient></defs><circle cx="12" cy="12" r="11" stroke="currentColor" stroke-width="1.5" fill="none" opacity="0.15"></circle><circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="1" fill="none" opacity="0.3"></circle><path d="M9.5 6.5L18.5 12L9.5 17.5V6.5Z" fill="url(#playGrad)" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path></svg><!--]--><!--[--> Play Series<!--]-->
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/1 |
<div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Introduction</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">3m 22s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Let's talk real quick about what Statamic is and can do, so you approach this course with the right perspective.</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/2 |
<div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Installing Statamic</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">4m 23s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Statamic can be installed on its own with our installer binary, or into an existing Laravel application with composer. Let's walk through the steps needed to do both.</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/3 |
<div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">The Tour</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">12m 28s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Learning a new CMS is a lot like learning a new framework or programming language. Let's give you the grand tour of all the things Statamic adds to a base Laravel install as well as explore the Control Panel.</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/4 |
<div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Layouts & Templates</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">7m 01s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Let's pretend you're a developer with a static HTML & Tailwind site and you need to hook it up to a CMS. You've picked Statamic. What do you do next?</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/5 |
<div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Build a Landing Page</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">19m 58s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">It's now time to set up Blueprint fields to hold and manage the content. Once we do that, we can pull the data out into our template and make the homepage of our new site editable.</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/6 |
<div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Building a Blog</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">10m 38s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Every good tutorial series needs to build a blog, right? Not this one! We'll be building a <em>news</em> section. It's much different. You'll learn how to create and configure a new Collection, set up a new Blueprint with all the fields you'll need to manage your content, scaffold out new views, and wire it up in your templates. Want to go beyond this lesson? Learn more about <a href="https://statamic.dev/collections" target="_blank">Collections</a>.</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/7 |
<div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Creating Taxonomies</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">5m 20s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Collections and Entries aren't the only types of data Statamic can manage. Let's set up a new Taxonomy so you can tag your Entries and organize your content in new ways.</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/8 |
<div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Manipulating Images with Glide</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">4m 58s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Don't waste your visitors bandwidth and load times! Let's use Glide to manipulate our Asset images so they're only as big as they need to be. We'll also look at how to set focal points so the good parts of the images are always in view. Want to go beyond this lesson? Learn more about <a href="https://statamic.dev/tags/glide" target="_blank">Glide</a>.</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/9 |
<div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">DRY Up Our Templates</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">4m 35s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Partials are a great way to remove redundant code and create components you can use throughout your site. Let's look at how we can tap into their power, like He-Man and the power of Grayskull. Want to go beyond this lesson? Learn more about <a href="https://statamic.dev/tags/partial" target="_blank">Navigations</a>.</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/10 |
<div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Building Navs</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">8m 43s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Hardcoded nav? No way. Let's build a dynamic nav! Let's explore Structured Collections vs Navigations so you can understand when to use each approach in the real world. Want to go beyond this lesson? Learn more about <a href="https://statamic.dev/navigation" target="_blank">Navigations</a>.</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/11 |
<div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Search</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">7m 29s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">There's Algolia, MeiliSearch, ElasticSearch, and many other third-party search solutions, but Statamic has its own built-in search capabilities. What it lacks in configuration, it makes up for in simplicity. Let's look at how to wire up your own site search. Want to go beyond this lesson? Learn more about <a href="https://statamic.dev/search" target="_blank">Search</a>.</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/12 |
<div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Antlers</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">15m 57s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Antlers is a simple and powerful template engine provided with Statamic. It can fetch and filter content, display, modify, and set variables, tap into core features like user authentication and search, and handle complex logic. Let's explore what it can do and why you might want to use it instead of Blade. Want to go beyond this lesson? Learn more about <a href="https://statamic.dev/new-antlers-parser" target="_blank">Antlers</a>.</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/13 |
<div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Forms</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">11m 23s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Forms are a natural part of the internet experience and a core component of most websites. Let's build a basic contact form, and then look at how Statamic can dynamically manage the form fields with conditions and <a href="https://alpinejs.dev" target="_blank">Alpine.js</a>. Want to go beyond this lesson? Learn more about <a href="https://statamic.dev/forms" target="_blank">Forms</a>.</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/14 |
<div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Advanced Bard</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">8m 53s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Bard is Statamic's powerful content block editor built ontop of TipTap and ProseMirror. It supports managing WYSIWYG-style content but uses structured data. It can also manage sets (or "blocks") of any other fields you desire. Even more Bard fields. ? Let's explore a bunch of the cool things you can do with Bard! Want to go beyond this lesson? Learn more about <a href="https://statamic.dev/fieldtypes/bard" target="_blank">Bard</a>.</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/15 |
<div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Building Addons</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">8m 08s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Want to add your features into Statamic? Addons and Extensions are great ways to do that. Addons can be shared or sold on the <a href="https://statamic.com/marketplace" target="_blank">Statamic Marketplace</a>, or be kept private for your own team's use. Learn more about <a href="https://statamic.dev/extending" target="_blank">extending Statamic</a>.</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/16 |
<div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Deploying and Cache Modes</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">10m 46s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">With our site effectively completed, let's look at how to properly deploy a Statamic site and pick the right cache mode and settings for production. Want to go beyond this lesson? Learn more about <a href="https://statamic.dev/deploying" target="_blank">deploying Statamic</a>.</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/17 |
<div class="flex-center h-[2rem]"><div class="size-[7px] bg-btn-bg" aria-label="Episode Not Completed"></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Static Site Generator</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">5m 53s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">You simply can't beat the speed of a fully static site. Let's look at how to generate static sites with Statamic. Want to go beyond this lesson? Learn more about <a href="https://github.com/statamic/ssg" target="_blank">Statamic SSG</a>.</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/18 |
<div class="flex-center h-[2rem]"><div class="size-[7px]"><svg width="10" height="24" viewbox="0 0 24 24" fill="none" class="text-btn-bg"><rect x="4" y="10" width="16" height="12" rx="2" fill="none" class="stroke-current" stroke-width="2"></rect><path d="M8 10V7C8 4.8 9.8 3 12 3C14.2 3 16 4.8 16 7V10" class="stroke-current" stroke-width="2" stroke-linecap="round" fill="none"></path><circle cx="12" cy="15" r="1.5" class="fill-current" opacity="0.6"></circle><path d="M12 16V18" class="stroke-current" stroke-width="1.5" stroke-linecap="round" opacity="0.5"></path><circle cx="6" cy="12" r="1" class="fill-current" opacity="0.5"></circle></svg></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Going Headless</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">5m 27s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Statamic can be decoupled and used in a "headless" fashion, essentially operating solely as a content store and control panel. You can fetch data from Statamic with the <a href="https://statamic.dev/rest-api" target="_blank">REST API</a> or <a href="https://statamic.dev/graphql" target="_blank">GraphQL</a> – whichever fits your workflow best.</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/19 |
<div class="flex-center h-[2rem]"><div class="size-[7px]"><svg width="10" height="24" viewbox="0 0 24 24" fill="none" class="text-btn-bg"><rect x="4" y="10" width="16" height="12" rx="2" fill="none" class="stroke-current" stroke-width="2"></rect><path d="M8 10V7C8 4.8 9.8 3 12 3C14.2 3 16 4.8 16 7V10" class="stroke-current" stroke-width="2" stroke-linecap="round" fill="none"></path><circle cx="12" cy="15" r="1.5" class="fill-current" opacity="0.6"></circle><path d="M12 16V18" class="stroke-current" stroke-width="1.5" stroke-linecap="round" opacity="0.5"></path><circle cx="6" cy="12" r="1" class="fill-current" opacity="0.5"></circle></svg></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Starter Kits</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">5m 03s</span></div><div class="content text-text-secondary mt-2 line-clamp-3"><a href="https://statamic.dev/starter-kits">Starter Kits</a> are pre-built site packages that jump-start new Statamic sites with boilerplate code, features, functionality, and even design. We'll walk through how to install Starter Kits as well as how to create your own (spoiler: it's super easy) in under 5 minutes.
</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/20 |
<div class="flex-center h-[2rem]"><div class="size-[7px]"><svg width="10" height="24" viewbox="0 0 24 24" fill="none" class="text-btn-bg"><rect x="4" y="10" width="16" height="12" rx="2" fill="none" class="stroke-current" stroke-width="2"></rect><path d="M8 10V7C8 4.8 9.8 3 12 3C14.2 3 16 4.8 16 7V10" class="stroke-current" stroke-width="2" stroke-linecap="round" fill="none"></path><circle cx="12" cy="15" r="1.5" class="fill-current" opacity="0.6"></circle><path d="M12 16V18" class="stroke-current" stroke-width="1.5" stroke-linecap="round" opacity="0.5"></path><circle cx="6" cy="12" r="1" class="fill-current" opacity="0.5"></circle></svg></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">Content Queries and Repositories</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">5m 12s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Maybe you're thinking Statamic is pretty cool and all but you'd really rather just build your site with Controllers and Blade, the vanilla "Laravel Way". No problem, let's walk through how to do just that with <a href="https://statamic.dev/content-queries" target="_blank">Content Queries</a> and <a href="https://statamic.dev/reference" target="_blank">Repositories</a>.</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/21 |
<div class="flex-center h-[2rem]"><div class="size-[7px]"><svg width="10" height="24" viewbox="0 0 24 24" fill="none" class="text-btn-bg"><rect x="4" y="10" width="16" height="12" rx="2" fill="none" class="stroke-current" stroke-width="2"></rect><path d="M8 10V7C8 4.8 9.8 3 12 3C14.2 3 16 4.8 16 7V10" class="stroke-current" stroke-width="2" stroke-linecap="round" fill="none"></path><circle cx="12" cy="15" r="1.5" class="fill-current" opacity="0.6"></circle><path d="M12 16V18" class="stroke-current" stroke-width="1.5" stroke-linecap="round" opacity="0.5"></path><circle cx="6" cy="12" r="1" class="fill-current" opacity="0.5"></circle></svg></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">The Database Driver</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">5m 21s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Let's talk about scaling options. Statamic's <a href="https://github.com/statamic/eloquent-driver">Eloquent Driver</a> lets you switch from flat files to MySQL in a matter of moments. Let's walk through the steps!</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/22 |
<div class="flex-center h-[2rem]"><div class="size-[7px]"><svg width="10" height="24" viewbox="0 0 24 24" fill="none" class="text-btn-bg"><rect x="4" y="10" width="16" height="12" rx="2" fill="none" class="stroke-current" stroke-width="2"></rect><path d="M8 10V7C8 4.8 9.8 3 12 3C14.2 3 16 4.8 16 7V10" class="stroke-current" stroke-width="2" stroke-linecap="round" fill="none"></path><circle cx="12" cy="15" r="1.5" class="fill-current" opacity="0.6"></circle><path d="M12 16V18" class="stroke-current" stroke-width="1.5" stroke-linecap="round" opacity="0.5"></path><circle cx="6" cy="12" r="1" class="fill-current" opacity="0.5"></circle></svg></div></div><div><div class="flex items-start gap-2"><h4 class="group-hover:text-current-taxonomy text-[1.2rem] font-medium md:leading-[2rem]">How the Stache Works</h4><span class="font-dank text-text-secondary ml-1 hidden shrink-0 text-sm leading-none md:inline md:leading-[2rem]">7m 14s</span></div><div class="content text-text-secondary mt-2 line-clamp-3">Let's finish off this series by popping the hood and seeing just how the the flat file <a href="https://statamic.dev/stache" target="_blank">Stache</a> makes Statamic possible.</div></div>
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/1 |
<!--[--><svg width="20" viewbox="0 0 24 24" fill="none"><defs><lineargradient id="playGrad" x1="6" y1="4" x2="20" y2="20" gradientunits="userSpaceOnUse"><stop offset="0%" stop-color="currentColor" stop-opacity="0.9"></stop><stop offset="100%" stop-color="currentColor" stop-opacity="0.5"></stop></lineargradient></defs><circle cx="12" cy="12" r="11" stroke="currentColor" stroke-width="1.5" fill="none" opacity="0.15"></circle><circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="1" fill="none" opacity="0.3"></circle><path d="M9.5 6.5L18.5 12L9.5 17.5V6.5Z" fill="url(#playGrad)" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path></svg><!--]--><!--[--> Play Series<!--]-->
|
|
Анализировать url |
| /browse/instructors/jackmcdade |
<div class="text-xl font-medium">Jack McDade</div><div class="text-text-secondary text-sm font-normal">Founder at Statamic</div>
|
|
Анализировать url |
| /browse/instructors/jackmcdade |
<!--[--><svg width="20" viewbox="0 0 100 90" class="hover:text-blue! transition-colors duration-300 text-icon-dim group-hover:text-current-taxonomy" shape-rendering="crispEdges"><rect x="40" width="20" height="30" class="fill-white group-hover:fill-text-primary"></rect><rect x="20" y="20" width="20" height="10" class="fill-white group-hover:fill-text-primary"></rect><rect x="10" y="50" width="20" height="20" class="fill-current"></rect><rect y="70" width="20" height="20" class="fill-current"></rect><rect x="70" y="50" width="20" height="20" class="fill-white group-hover:fill-text-primary"></rect><rect x="40" y="70" width="60" height="20" class="fill-white group-hover:fill-text-primary"></rect><rect x="20" y="30" width="20" height="10" class="fill-white group-hover:fill-text-primary"></rect><rect x="60" y="20" width="20" height="10" class="fill-white group-hover:fill-text-primary"></rect><rect x="60" y="30" width="20" height="10" class="fill-white group-hover:fill-text-primary"></rect><rect x="60" y="40" width="20" height="10" class="fill-white group-hover:fill-text-primary"></rect></svg><!--]--><!--[--> My Courses <!--]-->
|
|
Анализировать url |
| / |
<div class="text-xl leading-6 font-medium text-balance">Learn Statamic with Jack</div><div class="text-text-secondary mt-1 text-sm font-normal">By Jack McDade</div>
|
|
Анализировать url |
| /creator-series |
<!--[--><svg width="20" viewbox="0 0 100 90" class="hover:text-blue! transition-colors duration-300 text-current-taxonomy" shape-rendering="crispEdges"><rect x="40" width="20" height="30" class="fill-text-primary"></rect><rect x="20" y="20" width="20" height="10" class="fill-text-primary"></rect><rect x="10" y="50" width="20" height="20" class="fill-current"></rect><rect y="70" width="20" height="20" class="fill-current"></rect><rect x="70" y="50" width="20" height="20" class="fill-text-primary"></rect><rect x="40" y="70" width="60" height="20" class="fill-text-primary"></rect><rect x="20" y="30" width="20" height="10" class="fill-text-primary"></rect><rect x="60" y="20" width="20" height="10" class="fill-text-primary"></rect><rect x="60" y="30" width="20" height="10" class="fill-text-primary"></rect><rect x="60" y="40" width="20" height="10" class="fill-text-primary"></rect></svg><!--]--><!--[--> View More <!--]-->
|
|
Анализировать url |
| /series/learn-statamic-with-jack/episodes/1 |
<!--[--><svg width="20" viewbox="0 0 24 24" fill="none"><defs><lineargradient id="playGrad" x1="6" y1="4" x2="20" y2="20" gradientunits="userSpaceOnUse"><stop offset="0%" stop-color="currentColor" stop-opacity="0.9"></stop><stop offset="100%" stop-color="currentColor" stop-opacity="0.5"></stop></lineargradient></defs><circle cx="12" cy="12" r="11" stroke="currentColor" stroke-width="1.5" fill="none" opacity="0.15"></circle><circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="1" fill="none" opacity="0.3"></circle><path d="M9.5 6.5L18.5 12L9.5 17.5V6.5Z" fill="url(#playGrad)" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path></svg><!--]--><!--[--> Play Series<!--]-->
|
|
Анализировать url |
| /series/discover |
Browse
|
|
Анализировать url |
| /series |
Series
|
|
Анализировать url |
| /creator-series |
CreatorSeries
|
|
Анализировать url |
| /path |
Laravel Path
|
|
Анализировать url |
| /bits |
Larabits
|
|
Анализировать url |
| /forum |
Forum
|
|
Анализировать url |
| /series/the-laracasts-snippet |
Podcast
|
|
Анализировать url |
| /contact |
Support
|
|
Анализировать url |
| /gift-certificates |
Gift Certificates
|
|
Анализировать url |
| /faq |
FAQ
|
|
Анализировать url |
| /terms |
Terms
|
|
Анализировать url |
| /series/discover |
Browse
|
|
Анализировать url |
| /series |
Series
|
|
Анализировать url |
| /creator-series |
CreatorSeries
|
|
Анализировать url |
| /path |
Laravel Path
|
|
Анализировать url |
| /bits |
Larabits
|
|
Анализировать url |
| /forum |
Forum
|
|
Анализировать url |
| /series/the-laracasts-snippet |
Podcast
|
|
Анализировать url |
| /contact |
Support
|
|
Анализировать url |
| /gift-certificates |
Gift Certificates
|
|
Анализировать url |
| /faq |
FAQ
|
|
Анализировать url |
| /terms |
Terms
|
|
Анализировать url |
Внешние ссылки
Кол-во: 37
Ссылки на сторонние сайты
?
Исходящие внешние ссылки передают часть ссылочного веса на чужие сайты. Ссылки на авторитетные ресурсы безопасны; ссылки на мусорные сайты могут навредить репутации страницы.
Внешних ссылок на странице 37 слишком много. Спрячьте лишние ссылки в тег noindex или атрибут rel='nofollow'!
Показать внешние ссылки
| Url | Анкор | Анализировать |
|---|---|---|
| statamic.com |
Statamic
|
Анализировать url |
| statamic.dev |
Collections
|
Анализировать url |
| statamic.dev |
Glide
|
Анализировать url |
| statamic.dev |
Navigations
|
Анализировать url |
| statamic.dev |
Navigations
|
Анализировать url |
| statamic.dev |
Search
|
Анализировать url |
| statamic.dev |
Antlers
|
Анализировать url |
| alpinejs.dev |
Alpine.js
|
Анализировать url |
| statamic.dev |
Forms
|
Анализировать url |
| statamic.dev |
Bard
|
Анализировать url |
| statamic.com |
Statamic Marketplace
|
Анализировать url |
| statamic.dev |
extending Statamic
|
Анализировать url |
| statamic.dev |
deploying Statamic
|
Анализировать url |
| github.com |
Statamic SSG
|
Анализировать url |
| statamic.dev |
REST API
|
Анализировать url |
| statamic.dev |
GraphQL
|
Анализировать url |
| statamic.dev |
Starter Kits
|
Анализировать url |
| statamic.dev |
Content Queries
|
Анализировать url |
| statamic.dev |
Repositories
|
Анализировать url |
| github.com |
Eloquent Driver
|
Анализировать url |
| statamic.dev |
Stache
|
Анализировать url |
| twitter.com |
<!--[--><svg viewbox="0 0 23 20" fill="none" width="15"><path d="m.759 0 8.24 11.018-8.292 8.958h1.866l7.26-7.843 5.866 7.843h6.35L13.347 8.338 21.064 0h-1.866l-6.686 7.223L7.11 0H.759zm2.745 1.375H6.42L19.305 18.6h-2.918L3.504 1.375z" class="fill-icon-btn"></path></svg><!--]--><!--[--><!--]-->
|
|
| github.com |
<!--[--><svg viewbox="0 0 30 29" width="18"><path class="fill-current" fill-rule="nonzero" d="M27.959 7.434a14.866 14.866 0 0 0-5.453-5.414C20.21.69 17.703.025 14.984.025c-2.718 0-5.226.665-7.521 1.995A14.864 14.864 0 0 0 2.01 7.434C.67 9.714 0 12.202 0 14.901c0 3.242.953 6.156 2.858 8.746 1.906 2.589 4.367 4.38 7.385 5.375.351.064.611.019.78-.136a.755.755 0 0 0 .254-.58l-.01-1.047c-.007-.658-.01-1.233-.01-1.723l-.448.077a5.765 5.765 0 0 1-1.083.068 8.308 8.308 0 0 1-1.356-.136 3.04 3.04 0 0 1-1.308-.58c-.403-.304-.689-.701-.858-1.192l-.195-.445a4.834 4.834 0 0 0-.614-.988c-.28-.362-.563-.607-.85-.736l-.136-.097a1.428 1.428 0 0 1-.253-.233 1.062 1.062 0 0 1-.176-.271c-.039-.09-.007-.165.098-.223.104-.059.292-.087.566-.087l.39.058c.26.052.582.206.965.465.384.258.7.594.947 1.007.299.53.66.933 1.082 1.21.423.278.85.417 1.278.417.43 0 .8-.032 1.112-.097a3.9 3.9 0 0 0 .878-.29c.117-.866.436-1.53.956-1.996a13.447 13.447 0 0 1-2-.348 7.995 7.995 0 0 1-1.833-.756 5.244 5.244 0 0 1-1.571-1.298c-.416-.516-.758-1.195-1.024-2.034-.267-.84-.4-1.808-.4-2.905 0-1.563.514-2.893 1.541-3.99-.481-1.176-.436-2.493.137-3.952.377-.116.936-.03 1.678.261.741.291 1.284.54 1.629.746.345.207.621.381.83.523a13.948 13.948 0 0 1 3.745-.503c1.288 0 2.537.168 3.747.503l.741-.464c.507-.31 1.106-.595 1.795-.853.69-.258 1.216-.33 1.58-.213.586 1.46.638 2.777.156 3.951 1.028 1.098 1.542 2.428 1.542 3.99 0 1.099-.134 2.07-.4 2.916-.267.846-.611 1.524-1.034 2.034-.423.51-.95.94-1.58 1.288a8.01 8.01 0 0 1-1.834.756c-.592.155-1.259.271-2 .349.676.58 1.014 1.498 1.014 2.75v4.087c0 .232.081.426.244.58.163.155.42.2.77.136 3.019-.994 5.48-2.786 7.386-5.375 1.905-2.59 2.858-5.504 2.858-8.746 0-2.698-.671-5.187-2.01-7.466z"></path></svg><!--]--><!--[--><!--]-->
|
Анализировать url |
| shop.laracasts.com |
Apparel
|
Анализировать url |
| apps.apple.com |
iOS App
|
Анализировать url |
| twitter.com |
X(Twitter)
|
|
| tiktok.com |
TikTok
|
|
| youtube.com |
Youtube
|
Анализировать url |
| forge.laravel.com |
Laravel Forge
|
Анализировать url |
| digitalocean.com |
DigitalOcean
|
Анализировать url |
| shop.laracasts.com |
Apparel
|
Анализировать url |
| apps.apple.com |
iOS App
|
Анализировать url |
| twitter.com |
X(Twitter)
|
|
| tiktok.com |
TikTok
|
|
| youtube.com |
Youtube
|
Анализировать url |
| forge.laravel.com |
Laravel Forge
|
Анализировать url |
| digitalocean.com |
DigitalOcean
|
Анализировать url |
Конкуренты Готовность: 0%
Конкуренты в Яндексе
Кол-во: 0
Топ сайтов-конкурентов в Яндексе
?
Сайты, чаще всего появляющиеся в ТОПе Яндекса по запросам из семантического ядра этой страницы.
Мы не нашли у вас конкурентов в Яндексе. Сайт или очень молодой или плохо продвигается.
Конкурентов в ТОП-10 Яндекса не нашлось.
Конкуренты в Google
Кол-во: 0
Топ сайтов-конкурентов в Google
?
Сайты, чаще всего появляющиеся в ТОПе Google по запросам из семантического ядра этой страницы.
Конкуренты в Google тоже не найдены. Займитесь продвижением сайта!
Конкурентов в ТОП-10 Google не нашлось.
ЗоЗПП: права потребителей Готовность: 100%
Нарушения
Не выявлены
Признаков дистанционной продажи товаров (интернет-магазина) не обнаружено — требования ЗоЗПП о раскрытии информации продавца к сайту не применяются. Нарушений нет.
ФЗ-149: рекомендательные технологии Готовность: 100%
Нарушения
Не выявлены
Рекомендательные блоки («с этим покупают», «похожие товары» и т.п.) на сайте не обнаружены — требования ст. 10.7 ФЗ-149 к сайту не применяются. Нарушений нет.
ФЗ-38: реклама Готовность: 100%
Нарушения
Не выявлены
Рекламных тематик с обязательными оговорками (медицина, БАД, кредиты и займы, новостройки) на сайте не обнаружено. Нарушений нет.
ФЗ-436: защита детей Готовность: 100%
Нарушения
Не выявлены
Признаков информационной продукции (новости, видео, книги, игры, курсы) не обнаружено — обязательная возрастная маркировка по ФЗ-436 сайту не требуется. Нарушений нет.
Вердикт
Оптимизация сайта learnstatamic.com выполнена всего на 68%. Чтобы исправить ситуацию и попасть в ТОП необходимо:
Исправьте ошибки в мета-тегах.
Исправьте ошибки индексации.
Поделитесь с друзьями: