# Laravel Pages
This package lets you create pages using Markdown or Blade without having to worry about creating routes or controllers yourself.
Essentially, you create either `content/pages/foo.md` or `resources/views/pages/foo.blade.php` and the page will be accessible on the `/foo` route.
Markdown files use a pre-defined Blade view to get rendered. Blade files are meant for pages which don't follow the default layout and need more custom styling.
For instance, you could have the `/pricing` route use a Blade file (`pages/pricing.blade.php`) with a pretty design that accompanies your pricing copy.
Whereas for `/about`, you could have a simple Markdown file (`content/pages/about.md`) that describes your service using pure text without any special graphical elements.
We use this on the ArchTech website — the [About](https://archte.ch/about), [Careers](https://archte.ch/careers), and [Open source](https://archte.ch/open-source) pages are simple Markdown files.
## Installation
Require the package via composer:
```
composer require archtechx/laravel-pages
```
Publish the config file:
```
php artisan vendor:publish --tag=archtech-pages-config
```
And finally, add this line to the **end** of your `routes/web.php` file:
```php
ArchTech\Pages\Page::routes();
```
This line will register the routes in a way that ensures that your routes take precedence, and the page route is only used as the final option.
**Important: Before attempting to visit URLs managed by this package, make sure that you configure it to use the correct layout (see the section below). Otherwise you might get an error saying that the view cannot be found.**
## Usage
### Markdown pages
To create a markdown file, create a file in `content/pages/`. The route to the page will match the file name (without `.md`).
For example, to create the `/about` page, create `content/pages/about.md` with this content:
```md
---
slug: about
title: 'About us'
updated_at: 2021-05-19T19:09:02+00:00
created_at: 2021-05-19T19:09:02+00:00
---
We are a web development agency that specializes in ...
```
### Blade pages
To create a Blade page, create a file in `resources/views/pages/`. Like in the Markdown example, the route to the page will match the file name without the extension.
Therefore to create the `/about` page, you'd create `resources/views/pages/about.blade.php`:
```html