PHPackages                             upline/nova-link-field - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. upline/nova-link-field

ActiveLibrary

upline/nova-link-field
======================

A Laravel Nova field.

1.0.0(3y ago)121.7k↑48.4%MITPHPPHP ^8.0

Since May 20Pushed 3y ago1 watchersCompare

[ Source](https://github.com/upline-studio/nova-link-field)[ Packagist](https://packagist.org/packages/upline/nova-link-field)[ RSS](/packages/upline-nova-link-field/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

Nova Link Field
===============

[](#nova-link-field)

```
composer require upline/nova-link-field
```

- Link is displayed as a resource link in the index and detail views.
- In forms, the link is shown as a text input.

Usage
-----

[](#usage)

```
use Upline\NovaLinkField\Link;

class User extends Resource
{
   // ...
   public function fields(NovaRequest $request)
   {
        return [
            // ...
            Link::make('Instagram')                 // Get link from instagram model field
                ->text(fn() => 'Instagram link')    // Set static anchor
                ->target('_blank')                  // Set target attribute
        ];
   }
}
```

```
use Upline\NovaLinkField\Link;

class User extends Resource
{
   // ...
   public function fields(NovaRequest $request)
   {
        return [
            // ...
            Link::make('Instagram', fn($resource) => 'https://instagram.com/' . $resource->instagramId) // Compute link
                ->text('instagram_username')    // Use instagram_username field as anchor text
                ->target('_blank')
        ];
   }
}
```

Why it is better than [formatting text as link](https://nova.laravel.com/docs/4.0/resources/fields.html#formatting-text-as-links)
---------------------------------------------------------------------------------------------------------------------------------

[](#why-it-is-better-than-formatting-text-as-link)

In this example we don't escape `$username`, so we can get some security troubles.

```
Text::make('Twitter Profile', function () {
    $username = $this->twitterUsername;

    return "@{$username}";
})->asHtml(),
```

Same, using this package:

```
Link::make('Twitter Profile', function () {
    $username = $this->twitterUsername;
    return "https://twitter.com/{$username}";
})->text('username'),
```

However, in this case link and username will be escaped. If you need to use html in anchor text, you still can use `asHtml()` method.

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity29

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1095d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2049573?v=4)[vail](/maintainers/vail)[@Vail](https://github.com/Vail)

---

Top Contributors

[![vaiil](https://avatars.githubusercontent.com/u/3755615?v=4)](https://github.com/vaiil "vaiil (5 commits)")

---

Tags

laravellinkfieldnova

###  Code Quality

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/upline-nova-link-field/health.svg)

```
[![Health](https://phpackages.com/badges/upline-nova-link-field/health.svg)](https://phpackages.com/packages/upline-nova-link-field)
```

###  Alternatives

[whitecube/nova-flexible-content

Flexible Content &amp; Repeater Fields for Laravel Nova.

8053.0M25](/packages/whitecube-nova-flexible-content)[stepanenko3/nova-json

Nova json field to spread a json column throughout multiple fields.

42249.7k](/packages/stepanenko3-nova-json)[optimistdigital/nova-notes-field

This Laravel Nova package adds a notes field to Nova's arsenal of fields.

52139.5k](/packages/optimistdigital-nova-notes-field)[digital-creative/nova-filepond

A Nova field for uploading File, Image and Video using filepond.

5568.0k1](/packages/digital-creative-nova-filepond)[outl1ne/nova-color-field

A Laravel Nova Color Picker field.

26249.4k](/packages/outl1ne-nova-color-field)[mad-web/nova-horizon-link

Smart Link for Laravel Nova to Horizon Dashboard.

24201.4k](/packages/mad-web-nova-horizon-link)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
