# Customizations

## Customizing The Media Disk

You can change the default disk on which the generated medias are being stored by changing the config file or updating your environment file. By default the generated images will be stored in the public disk. You may change it by updating the config file as follows.

```php
 /*
  * The disk on which to store added files and derived images by default. Choose
  * one of the disks you've configured in config/filesystems.php.
  */
 'disk_name' => env('OG_IMAGE_DISK', 'custom_disk'),
```

or by adding an environment variable to your .env file.

```bash
OG_IMAGE_DISK=custom_disk
```

## Customizing The Media Prefix

You may want to change the directory to which the generated images are being stored. To do this, you can update the config file as follows.

```php
/*
 * You can specify a prefix for that is used for storing all media. If you set this
 * to `/og-images`, all your media will be stored in a `/og-images` directory.
 */
'media_prefix' => env('OG_IMAGE_MEDIA_PREFIX', '/custom-directory'),
```

Or by updating your environment file as follows

```bash
OG_IMAGE_MEDIA_PREFIX='/custom-directory'
```

## Customizing The View Template

You can get total control over how your open graph images are being generated by using your own view to generate the images. To do this, add your own view to the config file as below.

```php
/*
 * The path of the view template file that will
 * be used to generate the open graph image.
 * */
'view_path' => 'web.print.graphify-image'
```

By doing this, Graphify will look for a view in `resources/views/web/print/graphify-image.blade.php`&#x20;

### Accessing The Model Instance

When you are within your custom view, you will have access to your model view `$model` variable. So if you want to display anything like title, author name or published time, you can do so as follows.

```php
<div>
    <div>{{ $model->title }}</div>
    <div>{{ $model->author?->name}}</div>
    <div>{{ $model->published_at?->format('d M Y') }}</div>
</div>
```

## Customizing The File Name

You can also chose how you want to name the saved files. To do this, just override the following method on your model.

```php
public function getGraphifyFileName(): string
{
    return $this->slug . '.png';
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ibnnajjaar.gitbook.io/graphify/advanced-usage/customizations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
