PHPackages                             keenops/wink - 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. [Framework](/categories/framework)
4. /
5. keenops/wink

ActiveLibrary[Framework](/categories/framework)

keenops/wink
============

Wink Publishing Framework.

v0.0.1(9mo ago)03MITVuePHP ^8.2

Since Aug 12Pushed 9mo agoCompare

[ Source](https://github.com/keenops/wink)[ Packagist](https://packagist.org/packages/keenops/wink)[ RSS](/packages/keenops-wink/feed)WikiDiscussions main Synced 1mo ago

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

[![wink logo](/art/header.png?1)](/art/header.png?1)

Wink adds a nice UI where you can manage a publication of any size with posts, pages, tags, and authors.

You can add photos, code blocks, featured images, social media &amp; SEO attributes, embedded HTML (YouTube Videos, Embedded Podcasts Episodes, Tweets, ...), and markdown!

Wink is used to manage the [official Laravel blog](https://blog.laravel.com), [divinglaravel.com](https://divinglaravel.com), and many more.

Dark &amp; Light modes available so everyone is happy 😁

Installation
------------

[](#installation)

Wink uses a separate database connection and authentication system so that you don't have to modify any of your project code.

To install Wink, run these commands in the root of your Laravel app:

```
composer require keenops/wink
php artisan wink:install
php artisan storage:link
```

**Configure the database connection** wink is going to be using in `config/wink.php`. Then run:

```
php artisan wink:migrate
```

Head to `yourproject.test/wink` and use the provided email and password to log in.

Uploading to S3
---------------

[](#uploading-to-s3)

If you want to upload images to S3, update the `storage_disk` attribute in your `wink.php` configuration file to s3. Make sure your S3 disk is correctly configured in your `filesystems.php` configuration file.

```
's3' => [
    'driver' => 's3',
    'key' => env('AWS_ACCESS_KEY_ID'),
    'secret' => env('AWS_SECRET_ACCESS_KEY'),
    'region' => env('AWS_DEFAULT_REGION'),
    'bucket' => env('AWS_BUCKET'),
    'url' => env('CDN_URL'),
    'options' => [
        'CacheControl' => 'public, max-age=315360000'
    ],
],
```

Note: you're going to need to install the AWS-S3 Flysystem adapter, using `composer require league/flysystem-aws-s3-v3` for this to work.

Using Unsplash
--------------

[](#using-unsplash)

Visit  to create a new unsplash app. Grab the 'Access Key' and add it to your `.env` file as `UNSPLASH_ACCESS_KEY`. Lastly, add unsplash to your `config/services.php` file:

```
'unsplash' => [
    'key' => env('UNSPLASH_ACCESS_KEY'),
],
```

Updates
-------

[](#updates)

After each update, make sure you run these commands:

```
php artisan wink:migrate
php artisan vendor:publish --tag=wink-assets --force
```

Displaying your content
-----------------------

[](#displaying-your-content)

Wink is faceless, it doesn't have any opinions on how you display your content in your frontend. You can use the wink models in your controllers to display the different resources:

- `Wink\WinkPost`
- `Wink\WinkPage`
- `Wink\WinkAuthor`
- `Wink\WinkTag`

To display posts and pages content, use `$post->content` instead of `$post->body`. The content will always be in HTML format while the body might be HTML or raw markdown based on the post type.

Credits
-------

[](#credits)

- [Mohamed Said](https://github.com/themsaid)
- [Kee Nops](https://github.com/keenops)
- [All contributors](https://github.com/keenops/wink/contributors)

Special thanks to [Caneco](https://twitter.com/caneco) for the logo ✨

Contributing
------------

[](#contributing)

Check the [contribution guide](CONTRIBUTING.md).

License
-------

[](#license)

Wink is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance58

Moderate activity, may be stable

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

 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

279d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/979e7b5ad115c575c452f36f2316011ad49f9bb01cf45c5eb68d069af01ed64e?d=identicon)[kimwalu](/maintainers/kimwalu)

---

Top Contributors

[![keenops](https://avatars.githubusercontent.com/u/37520787?v=4)](https://github.com/keenops "keenops (3 commits)")

---

Tags

frameworklaravelblog

### Embed Badge

![Health badge](/badges/keenops-wink/health.svg)

```
[![Health](https://phpackages.com/badges/keenops-wink/health.svg)](https://phpackages.com/packages/keenops-wink)
```

###  Alternatives

[themsaid/wink

Wink Publishing Framework.

2.9k101.1k2](/packages/themsaid-wink)[microweber/microweber

New generation CMS with drag and drop

3.4k13.8k1](/packages/microweber-microweber)[codewithdennis/larament

Larament is a time-saving starter kit to quickly launch Laravel 13.x projects. It includes FilamentPHP 5.x pre-installed and configured, along with additional tools and features to streamline your development workflow.

3691.5k](/packages/codewithdennis-larament)

PHPackages © 2026

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