From d461084d1c76c8574f3f12e878fd578523c3d01e Mon Sep 17 00:00:00 2001 From: Mohamed Jinas Date: Sun, 9 Aug 2020 02:10:14 +0500 Subject: [PATCH] Read time to article resource --- app/Http/Resources/ArticleResource.php | 2 + composer.json | 3 +- composer.lock | 63 ++++++++++++++++++- .../lang/vendor/read-time/bg/read-time.php | 10 +++ .../lang/vendor/read-time/ca/read-time.php | 10 +++ .../lang/vendor/read-time/de/read-time.php | 10 +++ .../lang/vendor/read-time/en/read-time.php | 10 +++ .../lang/vendor/read-time/es/read-time.php | 10 +++ .../lang/vendor/read-time/fr/read-time.php | 10 +++ .../lang/vendor/read-time/nl/read-time.php | 10 +++ .../lang/vendor/read-time/ru/read-time.php | 10 +++ .../lang/vendor/read-time/tr/read-time.php | 10 +++ .../lang/vendor/read-time/uk/read-time.php | 10 +++ tailwind.config.js | 8 +++ webpack.mix.js | 14 ++++- 15 files changed, 186 insertions(+), 4 deletions(-) create mode 100644 resources/lang/vendor/read-time/bg/read-time.php create mode 100644 resources/lang/vendor/read-time/ca/read-time.php create mode 100644 resources/lang/vendor/read-time/de/read-time.php create mode 100644 resources/lang/vendor/read-time/en/read-time.php create mode 100644 resources/lang/vendor/read-time/es/read-time.php create mode 100644 resources/lang/vendor/read-time/fr/read-time.php create mode 100644 resources/lang/vendor/read-time/nl/read-time.php create mode 100644 resources/lang/vendor/read-time/ru/read-time.php create mode 100644 resources/lang/vendor/read-time/tr/read-time.php create mode 100644 resources/lang/vendor/read-time/uk/read-time.php create mode 100644 tailwind.config.js diff --git a/app/Http/Resources/ArticleResource.php b/app/Http/Resources/ArticleResource.php index 580c52d..2eee597 100644 --- a/app/Http/Resources/ArticleResource.php +++ b/app/Http/Resources/ArticleResource.php @@ -5,6 +5,7 @@ namespace App\Http\Resources; use Illuminate\Http\Resources\Json\JsonResource; use App\Http\Resources\SourceResource; use App\Http\Resources\TopicResource; +use Mtownsend\ReadTime\ReadTime; class ArticleResource extends JsonResource { @@ -22,6 +23,7 @@ class ArticleResource extends JsonResource "author" => $this->author, "featured_image" => $this->featured_image, "body" => $this->body, + "readtime" => (new ReadTime($this->body))->get(), "source" => new SourceResource($this->source), "topics" => TopicResource::collection($this->topics), "link" => url(route('article.show',$this->id)), diff --git a/composer.json b/composer.json index 18828ac..01d5b09 100644 --- a/composer.json +++ b/composer.json @@ -14,7 +14,8 @@ "goldspecdigital/laravel-eloquent-uuid": "^7.0", "guzzlehttp/guzzle": "^6.3", "laravel/framework": "^7.24", - "laravel/tinker": "^2.0" + "laravel/tinker": "^2.0", + "mtownsend/read-time": "^1.1" }, "require-dev": { "facade/ignition": "^2.0", diff --git a/composer.lock b/composer.lock index 789f5e4..9103290 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "236d8e4a460be1e94f70ff505339e87c", + "content-hash": "8015ef38fcd1634dba0af7dfd8d3c8f6", "packages": [ { "name": "asm89/stack-cors", @@ -1213,6 +1213,67 @@ ], "time": "2020-07-23T08:41:23+00:00" }, + { + "name": "mtownsend/read-time", + "version": "1.1.01", + "source": { + "type": "git", + "url": "https://github.com/mtownsend5512/read-time.git", + "reference": "0cffc92e12d4ca96eea48ee6b38db22d76a917ab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mtownsend5512/read-time/zipball/0cffc92e12d4ca96eea48ee6b38db22d76a917ab", + "reference": "0cffc92e12d4ca96eea48ee6b38db22d76a917ab", + "shasum": "" + }, + "require": { + "php": "~7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.4" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Mtownsend\\ReadTime\\Providers\\ReadTimeServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Mtownsend\\ReadTime\\": "src" + }, + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mark Townsend", + "email": "mtownsend5512@gmail.com", + "role": "Developer" + } + ], + "description": "A PHP package to show users how long it takes to read content.", + "keywords": [ + "Minutes", + "article", + "blog", + "content", + "medium", + "min", + "read", + "reading", + "time" + ], + "time": "2019-01-24T21:27:16+00:00" + }, { "name": "nesbot/carbon", "version": "2.38.0", diff --git a/resources/lang/vendor/read-time/bg/read-time.php b/resources/lang/vendor/read-time/bg/read-time.php new file mode 100644 index 0000000..39e3f84 --- /dev/null +++ b/resources/lang/vendor/read-time/bg/read-time.php @@ -0,0 +1,10 @@ + true, + 'min' => 'мин', + 'minute' => 'минута', + 'sec' => 'сек', + 'second' => 'секунда', + 'read' => 'четене' +]; diff --git a/resources/lang/vendor/read-time/ca/read-time.php b/resources/lang/vendor/read-time/ca/read-time.php new file mode 100644 index 0000000..6f894b4 --- /dev/null +++ b/resources/lang/vendor/read-time/ca/read-time.php @@ -0,0 +1,10 @@ + true, + 'min' => 'min', + 'minute' => 'minut', + 'sec' => 'seg', + 'second' => 'segon', + 'read' => 'llegir' +]; diff --git a/resources/lang/vendor/read-time/de/read-time.php b/resources/lang/vendor/read-time/de/read-time.php new file mode 100644 index 0000000..8747413 --- /dev/null +++ b/resources/lang/vendor/read-time/de/read-time.php @@ -0,0 +1,10 @@ + true, + 'min' => 'min', + 'minute' => 'minute', + 'sec' => 'sek', + 'second' => 'sekunde', + 'read' => 'lesen' +]; diff --git a/resources/lang/vendor/read-time/en/read-time.php b/resources/lang/vendor/read-time/en/read-time.php new file mode 100644 index 0000000..93b7713 --- /dev/null +++ b/resources/lang/vendor/read-time/en/read-time.php @@ -0,0 +1,10 @@ + true, + 'min' => 'min', + 'minute' => 'minute', + 'sec' => 'sec', + 'second' => 'second', + 'read' => 'read' +]; diff --git a/resources/lang/vendor/read-time/es/read-time.php b/resources/lang/vendor/read-time/es/read-time.php new file mode 100644 index 0000000..c42b3d3 --- /dev/null +++ b/resources/lang/vendor/read-time/es/read-time.php @@ -0,0 +1,10 @@ + true, + 'min' => 'min', + 'minute' => 'minuto', + 'sec' => 'seg', + 'second' => 'segundo', + 'read' => 'leer' +]; diff --git a/resources/lang/vendor/read-time/fr/read-time.php b/resources/lang/vendor/read-time/fr/read-time.php new file mode 100644 index 0000000..e1e86ac --- /dev/null +++ b/resources/lang/vendor/read-time/fr/read-time.php @@ -0,0 +1,10 @@ + true, + 'min' => 'min', + 'minute' => 'minute', + 'sec' => 'sec', + 'second' => 'seconde', + 'read' => 'lire' +]; diff --git a/resources/lang/vendor/read-time/nl/read-time.php b/resources/lang/vendor/read-time/nl/read-time.php new file mode 100644 index 0000000..4da3259 --- /dev/null +++ b/resources/lang/vendor/read-time/nl/read-time.php @@ -0,0 +1,10 @@ + true, + 'min' => 'min', + 'minute' => 'minuut', + 'sec' => 'sec', + 'second' => 'seconde', + 'read' => 'leestijd' +]; diff --git a/resources/lang/vendor/read-time/ru/read-time.php b/resources/lang/vendor/read-time/ru/read-time.php new file mode 100644 index 0000000..72e4a50 --- /dev/null +++ b/resources/lang/vendor/read-time/ru/read-time.php @@ -0,0 +1,10 @@ + true, + 'min' => 'мин.', + 'minute' => 'минут', + 'sec' => 'сек.', + 'second' => 'секунд', + 'read' => 'чтения' +]; diff --git a/resources/lang/vendor/read-time/tr/read-time.php b/resources/lang/vendor/read-time/tr/read-time.php new file mode 100644 index 0000000..f1e3fc7 --- /dev/null +++ b/resources/lang/vendor/read-time/tr/read-time.php @@ -0,0 +1,10 @@ + true, + 'min' => 'dk', + 'minute' => 'dakika', + 'sec' => 'sn', + 'second' => 'saniye', + 'read' => 'okuma süresi' +]; diff --git a/resources/lang/vendor/read-time/uk/read-time.php b/resources/lang/vendor/read-time/uk/read-time.php new file mode 100644 index 0000000..96adb82 --- /dev/null +++ b/resources/lang/vendor/read-time/uk/read-time.php @@ -0,0 +1,10 @@ + true, + 'min' => 'хв.', + 'minute' => 'хвилин', + 'sec' => 'сек.', + 'second' => 'секунд', + 'read' => 'читання' +]; diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..138dac7 --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,8 @@ +module.exports = { + purge: [], + theme: { + extend: {}, + }, + variants: {}, + plugins: [], +} diff --git a/webpack.mix.js b/webpack.mix.js index 8a923cb..d3581a8 100644 --- a/webpack.mix.js +++ b/webpack.mix.js @@ -1,5 +1,7 @@ const mix = require('laravel-mix'); - +require('laravel-mix-postcss-config'); +require('laravel-mix-tailwind'); +require('laravel-mix-purgecss'); /* |-------------------------------------------------------------------------- | Mix Asset Management @@ -11,5 +13,13 @@ const mix = require('laravel-mix'); | */ +const tailwindcss = require('tailwindcss') + mix.js('resources/js/app.js', 'public/js') - .sass('resources/sass/app.scss', 'public/css'); + .sass('resources/sass/app.scss', 'public/css') + .tailwind('./tailwind.config.js') + .purgeCss({ + enabled: mix.inProduction(), + folders: ['./resources'], + extensions: ['php', 'js', 'vue'] + }); \ No newline at end of file