writingink / wink
Wink Publishing Framework.
Installs: 49 156
Dependents: 1
Suggesters: 0
Security: 0
Stars: 2 806
Watchers: 73
Forks: 372
Open Issues: 13
Language:Vue
Requires
- php: ^7.3||^7.4||^8.0
- laravel/framework: ^7.0||^8.0||^9.0|^10.0
- 1.x-dev
- dev-master / 1.x-dev
- v1.3.3
- v1.3.2
- v1.3.1
- v1.2.1
- v1.2.0
- v1.1.0
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0
- v0.2
- v0.1
- v0.0.13
- v0.0.12
- v0.0.11
- v0.0.10
- v0.0.9
- v0.0.8
- v0.0.7
- v0.0.6
- v0.0.5
- v0.0.4
- v0.0.3
- v0.0.2
- v0.0.1
- dev-dependabot/npm_and_yarn/postcss-and-laravel-mix-and-tailwindcss-8.4.31
- dev-dependabot/npm_and_yarn/ansi-html-and-webpack-dev-server--removed
- dev-dependabot/npm_and_yarn/axios-0.21.2
- dev-dependabot/npm_and_yarn/semver-5.7.2
- dev-configurable_markdown_parser
This package is auto-updated.
Last update: 2023-10-06 05:25:58 UTC
README
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 & SEO attributes, embedded HTML (YouTube Videos, Embedded Podcasts Episodes, Tweets, ...), and markdown!
Wink is used to manage the official Laravel blog, divinglaravel.com, and many more.
Dark & Light modes available so everyone is happy 😁
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 themsaid/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
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
Visit https://unsplash.com/oauth/applications 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
After each update, make sure you run these commands:
php artisan wink:migrate php artisan vendor:publish --tag=wink-assets --force
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
Special thanks to Caneco for the logo ✨
Contributing
Check the contribution guide.
License
Wink is open-sourced software licensed under the MIT license.