{"id":759,"date":"2025-02-06T15:33:48","date_gmt":"2025-02-06T20:33:48","guid":{"rendered":"https:\/\/waterloobae.com\/?p=759"},"modified":"2025-08-20T14:23:02","modified_gmt":"2025-08-20T18:23:02","slug":"laravel-blade-templates-overly-simplified","status":"publish","type":"post","link":"https:\/\/waterloobae.com\/blog\/2025\/02\/06\/laravel-blade-templates-overly-simplified\/","title":{"rendered":"[Laravel] Laravel Blade Templates &#8211; overly simplified"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">I am going to use Laravel Blade Templates to render H1 tag in orange. It is overly simplified Laravel Blade Templates guide line. The full documentations are available on <a href=\"https:\/\/laravel.com\/docs\/blade\">https:\/\/laravel.com\/docs\/blade<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">First of all, create any customized resources you need like css, js or image files under \/public directory. I am going to create \/public\/waterloobae.css as below.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"css\" class=\"language-css\">h1 {\n    color: orange;\n    font-size: 50px;\n    text-align: center;\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">After that, create component to render H1 tags for Layouts or Views under \/resrouces\/views\/components\/. The file name will be <em><strong>waterloobae-h1.blade.php<\/strong><\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Component <\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"markup\" class=\"language-markup\">&lt;h1&gt;\n    {{ $slot }}\n&lt;\/h1&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Or<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"markup\" class=\"language-markup\">&lt;h1&gt;\n    {{ $h1 }}\n&lt;\/h1&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">php artisan make:component WaterloobaeH1<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">\/\/ \/app\/View\/Components\/WaterloobaeH1.php\n&lt;?php\nnamespace App\\View\\Components;\nuse Illuminate\\View\\Component;\n\nclass WaterloobaeH1 extends Component\n{\n    public $h1;\n\n    public function __construct($h1)\n    {\n        $this-&gt;h1 = $h1;\n    }\n\n    public function render()\n    {\n        return view('components.waterloobae-h1');\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">{{ $slop }} takes context what goes inside &lt;x-waterloobae-h1&gt;&lt;\/x-waterloobae-h1&gt; tags. {{ $h1 }} takes property value of h1 in the opening tag like &lt;x-waterloobae-h1 h1=&#8221;Hello There!&#8221;&gt;&lt;\/x-waterloobae-h1&gt;.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Layout<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, we are going to make layout for overly simplified template under \/resources\/views\/layouts. The file name will be waterloobae.blade.php and one more file under \/app\/View\/Components\/WaterlooLayout.php. Those two file will be created with command of<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">php artisan make:component WaterloobaeLayout<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">\/\/ \/app\/View\/Components\/WaterloobaeLayout.php\n&lt;?php\n\nnamespace App\\View\\Components;\nuse Illuminate\\View\\Component;\n\nclass WaterloobaeLayout extends Component\n{\n    public $title;\n\n    public function __construct($title)\n    {\n        $this-&gt;title = $title;\n    }\n\n    public function render()\n    {\n        return view('layouts.waterloobae');\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The view layout is created under \/resources\/views\/layouts\/ as <em><strong>waterloobae.blade.php<\/strong><\/em> and it looks as<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"markup\" class=\"language-markup\">&lt;!DOCTYPE html&gt;\n&lt;html lang=\"{{ str_replace('_', '-', app()-&gt;getLocale()) }}\"&gt;\n&lt;head&gt;\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"&gt;\n    &lt;meta name=\"csrf-token\" content=\"{{ csrf_token() }}\"&gt;\n    @vite(['resources\/css\/app.css', 'resources\/js\/app.js'])\n    &lt;link rel=\"stylesheet\" href=\"{{ asset('waterloobae.css') }}\"&gt;\n&lt;\/head&gt;\n\n&lt;body class=\"tex2jax_ignore\" data-aos-easing=\"ease\" data-aos-duration=\"400\" data-aos-delay=\"0\"&gt;\n    &lt;x-waterloobae-h1 h1=\"{{ $title }}\"&gt;&lt;\/x-waterloobae-h1&gt;\n        &lt;div class=\"body\"&gt;\t\t\t\n            {{ $slot }}\n            &lt;br&gt;\n        &lt;\/div&gt;\n    &lt;\/div&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">View<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Since we have layout and component to render the page, view page can be simple as below. It is stored as <em><strong>waterloobae.blade.php<\/strong><\/em> under \/resources\/views.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"markup\" class=\"language-markup\">&lt;x-waterloobae-layout title=\"Hello There!\"&gt;\n    &lt;div class=\"py-12 text-4xl text-center\"&gt;\n        Welcome to Waterloo BAE!\n    &lt;\/div&gt;\n&lt;\/x-waterloobae-layout&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Route<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The route to this page is added to \/routes\/web.php below. Then it can be accessed as http:\/\/yoursite\/waterloo.bae.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">Route::get('\/waterloobae', function () {\n    return view('waterloobae');\n});\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Screen will look like<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"388\" src=\"https:\/\/waterloobae.com\/wp-content\/uploads\/2025\/02\/image-1024x388.png\" alt=\"\" class=\"wp-image-763\" srcset=\"https:\/\/waterloobae.com\/wp-content\/uploads\/2025\/02\/image-1024x388.png 1024w, https:\/\/waterloobae.com\/wp-content\/uploads\/2025\/02\/image-300x114.png 300w, https:\/\/waterloobae.com\/wp-content\/uploads\/2025\/02\/image-768x291.png 768w, https:\/\/waterloobae.com\/wp-content\/uploads\/2025\/02\/image.png 1040w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">It was overly simplified version of how to get orange H1 heading in your Laravel application with Blade Template. Hope It Helps!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I am going to use Laravel Blade Templates to render H1 tag in orange. It is overly simplified Laravel Blade Templates guide line. The full documentations are available on https:\/\/laravel.com\/docs\/blade First of all, create any customized resources you need like css, js or image files under \/public directory. I am going to create \/public\/waterloobae.css as [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,14],"tags":[],"class_list":["post-759","post","type-post","status-publish","format-standard","hentry","category-it-tips","category-laravel"],"_links":{"self":[{"href":"https:\/\/waterloobae.com\/blog\/wp-json\/wp\/v2\/posts\/759","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/waterloobae.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/waterloobae.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/waterloobae.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/waterloobae.com\/blog\/wp-json\/wp\/v2\/comments?post=759"}],"version-history":[{"count":6,"href":"https:\/\/waterloobae.com\/blog\/wp-json\/wp\/v2\/posts\/759\/revisions"}],"predecessor-version":[{"id":784,"href":"https:\/\/waterloobae.com\/blog\/wp-json\/wp\/v2\/posts\/759\/revisions\/784"}],"wp:attachment":[{"href":"https:\/\/waterloobae.com\/blog\/wp-json\/wp\/v2\/media?parent=759"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/waterloobae.com\/blog\/wp-json\/wp\/v2\/categories?post=759"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/waterloobae.com\/blog\/wp-json\/wp\/v2\/tags?post=759"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}