diff --git a/README.md b/README.md index c9424b9..f909d1f 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,26 @@ -Folio for Laravel logo. +

+Folio for Laravel logo. +Folio for Laravel logo. +

-A customizable Laravel content-management system. (Currently in beta.) +A customizable Laravel content-management system. -## Live Examples +You can see it working at [Nono.MA](https://nono.ma), [Getting Simple](https://gettingsimple.com), [Burns.art](https://burns.art), [RCA Media Studies](https://ms.rca-architecture.com), or [Luis Ruiz Padrón](https://luisruiz.es). -[Nono.MA](https://nono.ma) | [Getting Simple](https://gettingsimple.com) | [Lourdes.AC](https://lourdes.ac) | [AR-MA](https://ar-ma.net) | [Getting Architecture Done](http://gettingarchitecturedone.com/writing) | [Nacho.MA](https://nacho.ma) | [Burns.art](https://burns.art) | [RCA Media Studies](https://ms.rca-architecture.com) | [Luis Ruiz Padrón](https://luisruiz.es) +## Installation · Laravel 9.x -## Installation · Laravel 8.x - -- Add alternate VCS repos for packages without Laravel 8 support to `composer.json`. +- Add alternate VCS repos for packages without Laravel 9.x support to `composer.json`. ```json "repositories": [ { "type": "vcs", "url": "https://github.com/nonoesp/laravel-imgix" - } + }, + { + "type": "vcs", + "url": "https://github.com/macpaw/laravel-feed" + } ], ``` @@ -71,7 +76,7 @@ php artisan vendor:publish --provider="Nonoesp\Folio\FolioServiceProvider" --tag ## Other - Subscriber email notifications can be configured in `folio.subscribers` and setting up Amazon SES in `services.ses`. -- Backups can be configured by adding disks to `backup.destination.disks` (having those disks configured in `filesystems`, say [Dropbox](https://www.dropbox.com/developers/apps), Digital Ocean, or S3). +- Backups can be configured by adding disks to `backup.destination.disks` (having those disks configured in `filesystems`, say [Dropbox](https://www.dropbox.com/developers/apps), DigitalOcean, or AWS S3). ## License @@ -79,11 +84,11 @@ Folio is licensed under the [MIT license](http://opensource.org/licenses/MIT). ## Me -Hi. I'm [Nono Martínez Alonso](https://nono.ma/about) (Nono.MA), a computational designer with a penchant for simplicity. +Hi. I'm [Nono Martínez Alonso](https://nono.ma/about) (Nono.MA), a creative technologist with a penchant for simplicity. -I host [Getting Simple](https://gettingsimple.com)—a podcast about how you can live a meaningful, creative, simple life—[sketch](https://sketch.nono.ma) things that call my attention, [write](https://gettingsimple.com/writing) about enjoying a slower life, and recently started [live streaming and recording videos](https://youtube.com/NonoMartinezAlonso) on machine learning, life hacking, and more. +I host [Getting Simple](https://gettingsimple.com) — a podcast about simple living, lifestyle design, technology, and culture — [sketch](https://sketch.nono.ma) things that call my attention, [write](https://gettingsimple.com/writing) about enjoying a slower life, and record creative coding and machine intelligence [live streams](https://youtube.com/NonoMartinezAlonso) on YouTube. -[Join the Discord community](https://nono.ma/discord). +[Join us on Discord](https://nono.ma/discord). 🗣 If you find Folio useful in any way, reach out on Twitter at [@nonoesp](https://twitter.com/nonoesp). Cheers! @@ -97,3 +102,4 @@ If you find Folio useful in any way, reach out on Twitter at [@nonoesp](https:// ✍🏻 [Blog](https://nono.ma) 🐦 [Twitter](https://twitter.com/nonoesp) 📸 [Instagram](https://instagram.com/nonoesp) +📸 [YouTube](https://youtube.com/NonoMartinezAlonso) diff --git a/assets/folio-dark@2x.gif b/assets/folio-dark@2x.gif new file mode 100644 index 0000000..c00b268 Binary files /dev/null and b/assets/folio-dark@2x.gif differ diff --git a/assets/folio-light@2x.gif b/assets/folio-light@2x.gif new file mode 100644 index 0000000..5a47098 Binary files /dev/null and b/assets/folio-light@2x.gif differ diff --git a/assets/folio@2x.gif b/assets/folio@2x.gif deleted file mode 100644 index d272d1d..0000000 Binary files a/assets/folio@2x.gif and /dev/null differ diff --git a/composer.json b/composer.json index a506e50..b82cd8f 100644 --- a/composer.json +++ b/composer.json @@ -12,8 +12,12 @@ { "type": "vcs", "url": "https://github.com/nonoesp/laravel-imgix" + }, + { + "type": "vcs", + "url": "https://github.com/macpaw/laravel-feed" } - ], + ], "autoload": { "psr-4": { "Nonoesp\\Folio\\": "src" @@ -21,35 +25,36 @@ }, "minimum-stability": "dev", "require": { - "php": "^8.0.1|^7.3.0", - "illuminate/support": "^8.0", + "php": "^8.0.2", + "illuminate/support": "^9.11.0", "aws/aws-sdk-php": "~3.0", - "graham-campbell/markdown": "^13.0.0", + "macpaw/feed": "^9.0.0", + "graham-campbell/markdown": "^14.0-dev", "jenssegers/date": "^4.0.0", "laravelcollective/html": "^6.0", - "laravelium/feed": "^8.0.0", - "league/flysystem-aws-s3-v3": "^1.0@dev", + "league/flysystem-aws-s3-v3": "^3.x-dev", "michelf/php-markdown": "^1.9", "mtownsend/read-time": "^2.0.0", - "spatie/eloquent-sortable": "^3.8", - "spatie/laravel-translatable": "^4.3", + "spatie/eloquent-sortable": "^4.0.1", + "spatie/laravel-translatable": "^6.0.0", "spatie/regex": "^1.4", "spatie/laravel-feed": "^4.0", "spatie/dropbox-api": "^1.12", - "spatie/laravel-sitemap": "^5.7", - "spatie/flysystem-dropbox": "^1.2", - "spatie/laravel-backup": "^6.8", - "spatie/laravel-searchable": "dev-main", + "spatie/laravel-sitemap": "^6.1", + "spatie/flysystem-dropbox": "^2.0.6", + "spatie/laravel-backup": "^8.1.2", + "spatie/laravel-searchable": "^1.11.0", "spatie/laravel-newsletter": "^4.8", - "rap2hpoutre/laravel-log-viewer": "^1.4", + "rap2hpoutre/laravel-log-viewer": "^2.2", "rtconner/laravel-tagging": "~4.0", "symfony/intl": "^5.0", "hashids/hashids": "^4.0.0", - "nasyrov/laravel-imgix": "8.x-dev", + "nasyrov/laravel-imgix": "9.x-dev", "mpociot/versionable": "^4.0.0", "laravel/ui": "^3.0", "spatie/laravel-honeypot": "^4.0", - "johannebert/laravel-spam-protector": "^6.1" + "johannebert/laravel-spam-protector": "dev-master", + "wnx/commonmark-mark-extension": "^1.1" }, "require-dev": { "phpunit/phpunit": "^9.0" @@ -58,8 +63,7 @@ "laravel": { "providers": [ "Nonoesp\\Folio\\FolioServiceProvider", - "Nonoesp\\Folio\\Providers\\DropboxServiceProvider", - "Nonoesp\\Folio\\Providers\\SpacesServiceProvider" + "Nonoesp\\Folio\\Providers\\DropboxServiceProvider" ], "aliases": { "Folio": "Nonoesp\\Folio\\Facades\\Folio", diff --git a/resources/views/admin/upload/list.blade.php b/resources/views/admin/upload/list.blade.php index f0ce349..7d18d28 100644 --- a/resources/views/admin/upload/list.blade.php +++ b/resources/views/admin/upload/list.blade.php @@ -29,6 +29,7 @@ $images = []; $videos = []; $animations = []; + $otherFiles = []; @endphp @foreach($filenames as $filename) @@ -44,19 +45,22 @@ $isVideo = in_array($extension, ['mp4', 'mov', 'webm']); $isAnimation = in_array($extension, ['gif']); + $isImage = in_array($extension, ['jpeg', 'jpg', 'svg', 'png', 'tiff', 'bmp', 'webp']); if ($isVideo) { // Videos array_push($videos, $filename); - continue; } else if ($isAnimation) { // Animations array_push($animations, $filename); - continue; + } else if ($isImage) { + // Images + array_push($images, $filename); + } else { + // Other files + array_push($otherFiles, $filename); } - // Images - array_push($images, $filename); @endphp @endforeach @@ -98,7 +102,7 @@
{{ $basename }} · - +

@endforeach @@ -156,7 +160,7 @@ @endif - + {{-- Videos --}} @if(count($videos)) @@ -176,15 +180,13 @@ // Construct file path // $filePath = Folio::upload($basename); - $image = Folio::uploadUrl($basename); + $video = Folio::uploadUrl($basename); // $image = config('folio.imgix') ? imgix($filePath) : Folio::mediaUrl($filePath); @endphp

- - {{ $basename }} - + {{ $basename }} · + +

+ Files +
+ + @foreach($otherFiles as $filename) + @php + $basename = basename($filename); + $extension = explode('.', $basename); + $extension = $extension[count($extension) - 1]; + $file = Folio::uploadUrl($basename); + @endphp + +
+

+ {{ $basename }} + · + + ╳ + +

+
+ @endforeach + +
+ + @endif + @if(!count($images) && !count($videos)) diff --git a/resources/views/layout-v2.blade.php b/resources/views/layout-v2.blade.php index 46607bb..81b3848 100644 --- a/resources/views/layout-v2.blade.php +++ b/resources/views/layout-v2.blade.php @@ -52,7 +52,8 @@ {{ $title }} - + + diff --git a/resources/views/legacy/partial/c-footer__credits.blade.php b/resources/views/legacy/partial/c-footer__credits.blade.php index 722be87..d9062fe 100644 --- a/resources/views/legacy/partial/c-footer__credits.blade.php +++ b/resources/views/legacy/partial/c-footer__credits.blade.php @@ -2,7 +2,7 @@ if(!isset($text)) { $footer = config('folio.footer'); $text = null; - if($footer['credits_text']) { + if ($footer && array_key_exists('credits_text', $footer)) { $text = $footer['credits_text']; } } @@ -15,6 +15,19 @@

@if($text) + @php + $text = str_replace( + [ + '{year}', + '{footer-text}', + ], + [ + Item::formatDate(Date::now(), 'Y'), + trans('folio.footer-text'), + ], + $text); + @endphp + {!! $text !!} @else diff --git a/resources/views/legacy/template/_base-v2.blade.php b/resources/views/legacy/template/_base-v2.blade.php index 05e671b..a449087 100644 --- a/resources/views/legacy/template/_base-v2.blade.php +++ b/resources/views/legacy/template/_base-v2.blade.php @@ -89,7 +89,7 @@ $og_description = $item->stringProperty('meta-description', $og_description); } $og_type = 'article'; - $og_url = $item->permalink(); + $og_url = $og_url ?? $item->permalink(); $apple_touch_icon = $item->stringProperty('apple-touch-icon'); ?> diff --git a/resources/views/partial/c-footer-v2.blade.php b/resources/views/partial/c-footer-v2.blade.php index f42f314..f70fd65 100644 --- a/resources/views/partial/c-footer-v2.blade.php +++ b/resources/views/partial/c-footer-v2.blade.php @@ -12,7 +12,7 @@ $subscribe_hidden = $subscribe_hidden ?? config('folio.subscribe.hidden'); @endphp -