Recent Questions

متن مرتبط با «what does it mean when a cat licks you» در سایت Recent Questions نوشته شده است

[Updated] Free Mobile-Friendly Layout Wizard

  • Updated: The Free Mobile-Friendly Layout Wizard has been updated. It will now place the meta charset tag before the title in the head section (so that it will be in the first 1 KB of your page even if you have a long title). In addition, if you select HTML5 as the output type, the shorter meta charset tag will be used., ...ادامه مطلب

  • [Fixed] Feedback Form Wizard

  • The Feedback Form Wizard has been fixed so that it can now, once again, create the CAPTCHA versions (ReCAPTCHA and hCaptcha) of the script. Apparently, somewhere along the line, I seem to have broken it during one of my inteal updates. I'm very sorry for the inconvenience. Note: you do not have to recreate your script if you successfully generated it before. (The problem was that under certain conditions, the wizard choked and died before it could generate a script. So if you actually received a script, you are fine.), ...ادامه مطلب

  • GitHub patch release previous version

  • On Github you way from time to time need to patch release the previous version of a published release.  This took me longer than I care to admit to understand the steps involved. Hence I'm documenting them in this post. Step 1: Check out the branch corresponding to the previous version of your code. git checkout 7.3.0 Step 2: Fix the bug in the code. Let's say it's a breaking change that's been fixed in the code. Step 3: Commit the changes with a version number that indicates the patch release. Commit the fix git commit -m "Fix bug in 7.3.0" Next, create a new tag git tag 7.4.0 Step 4: Push the changes to the remote repository. git push origin 7.4.0 Step 5: Create a new release for the patch version on GitHub. Navigate to the main page of the repository on GitHub.com, click on the Releases tab, and then click on the "Draft a new release" button. Step 6: Fill in the details for the release in the form, select the tag created from Step 3, and fill in the release notes. Once you have filled in the details, click on the "Publish release" button to publish the release. بخوانید, ...ادامه مطلب

  • 15 years of blogging 500 posts later

  • You know, it's funny how the big milestones can sneak up on us. Just as I was putting the finishing touches on my recent Headless Hashnode tutorial, I realized it's been 15 years since I started this blogging jouey—and what's more, I was just 1 post away from blog update 500! It got me thinking about how this whole blogging adventure has shaped my career in web development. I’ve had the same enthusiasm for sharing my experiences as I have for coding, and what better way to commemorate this occasion than to share a bit of that story? Getting started It all started back in 2009 as a university student studying web design at the since-closed Hull School of Art and Design, An early assignment was creating a blog, not even a dynamically driven one - although mine certainly was - and the content expectations were simple too, just a post or 2 for every semester. For me, I began pouring my newfound knowledge into blog posts or tutorials—basic at first, like a PHP script connecting to a MySQL database. As time went on and my understanding broadened, so did the richness of my content. A huge motivation at the time was how helpful this content was for my classmates. I've always loved helping people, and seeing my content become a go-to reference for those around me boosted my confidence to no end. Tinkering and Transformation As the content of my blog evolved so did the blog platform itself. I've always loved deep-diving into how things work, and creating a blog has always been a cycl, ...ادامه مطلب

  • How to disable Laravel console commands

  • Suppose you find yourself in a situation where you need to disable or intercept a console command in Laravel. This tutorial will primarily focus on how to intercept the php artisan migrate command. We'll delve into the command method app/Console/Keel.php and explore how to prevent the migrate command from executing any actions. Inside the command method of app/Console/Keel.php In Laravel 11 use routes/console.php Intercept command You can intercept php artisan migrate and, instead, catch it and use a closure. Artisan::command('migrate', function () { // }); This would essentially stop the migrate command from doing anything. You could then print a message out: Artisan::command('migrate', function () { $this->info('Command NOT AVAILABLE. Use this: php artisan app:migrate'); }); Running an alteative command: To run a different command: Artisan::command('migrate', function () { $this->call('app:migrate'); }); In this case, a new command called app:migrate would be executed. Run command with a --path option: Artisan::command('migrate', function () { $this->call('app:migrate', [ '--path' => 'database/migrations' ]); }); Now when running php artisan migrate you will get an error: The "--path" option does not exist. The reason for this is the custom command does not have a path option. Lets create the command and add the option. Create a command: php artisan make:command AppMigrate This creates a class called AppMigrate.php inside, ...ادامه مطلب

  • Vue show and hide form elements

  • Introduction When working with forms, it is common to display or conceal various fields based on the options selected. I'll use Vue to conditionally show or hide form elements. In this example, I'm going to use an SFC (Single File Component) for ease of us. You'll see this in full in the putting it all together section below. For this to work it does not need to use a SFC, the HTML and JS will work when used in traditional setups i.e. having JS in javascript blocks and the HTML in a page's body. Creating the form elements Here I have 2 select elements, imagine the insurance type should only be displayed if the answer to Do you want insurance? was Yes <div> <label for="insurance">Do you want insurance?</label> <select id="insurance"> <option value="">Select</option> <option>Yes</option> <option>No</option> </select> </div> <div> <label for="insuranceType">Insurance Type</label> <select id="insuranceType"> <option value="">Select</option> <option>Home</option> <option>Travel</option> </select> </div> Binding Form Elements First, we need to create variables to bind the elements. Inside a script tag define a const for each element. <script setup> import {ref} from "vue"; const insurance = ref(); const insuranceType = ref(); </script> Notice that , ...ادامه مطلب

  • Extracting a time into select menus with PHP

  • That begs the question how do you separate the time into seperate elements? Making use of explode can work. Exploding where there a : so: $parts = explode(':', '14:25:00'); This would result in an array: [ "14", "25", "00", ] To use an element you can refer to its index for example $parts[0] would contain 14 Using them by their index is fine to do but kinda messy. I prefer to give each element a name using the list function list($hours, $minutes, $seconds) = explode(':', '14:25:00'); When using list() passing an array to it will allow you to name each index of the array in the order listed. Putting this into practice I like to define the null versions before using list to ensure the variables will exist. $estimatedTime = 14:25:00; $estimatedHour = null; $estimatedMinute = null; $estimatedSeconds = null; list($estimatedHour, $estimatedMinute, $estimatedSeconds) = explode(':', $estimatedTime); Now we have the variables that can be used in select menus: note I'm using Blade syntax here for readability. <select name="estimatedTime_hour"> <option value="0">Hours</option> @foreach(range(0,23) as $hour) <option value="{{ $hour }}" {{ old('estimatedTime_hour', $estimatedHour) == $hour ? 'selected=selected' : '' }}>{{ $hour }}</option> @endforeach </select> <select name="estimatedTime_minute"> <option value="0">Minutes&l, ...ادامه مطلب

  • I'm writing a new Laravel book on testing called Laravel Testing Cookbook

  • Laravel Testing Cookbook will cover common use cases and will be ready in a few months time. Sign up for the waitlist to be notified when it's ready! The book will cover both PestPHP and PHPUnit. Use the book as a reference for practical examples of testing URLs, Forms, Interactions, Transactions, using third-party API's and more. Join the waitlist or pre-order at https://laraveltestingcookbook.com/ بخوانید, ...ادامه مطلب

  • Laravel Extract Language to lang files

  • If you've already used JSON lang in your views, here's a handy package to extract all lang keys to language files. The package exports all your __(‘some text’) calls to language files. https://github.com/kkomelin/laravel-translatable-string-exporter Here's a video demo. [embedded content] بخوانید, ...ادامه مطلب

  • [Updated] Feedback Form Wizard: improved PHP 8 (8.0, 8.1, etc) compatibility

  • The script generated by the Feedback Form Wizard has been updated to improve compatibility with PHP 8 (eg, 8.0, 8.1, etc). Note: if you have generated your form and script after 1 January 2023, you already have this version (ver 3.2.0). , ...ادامه مطلب

  • Upload images in Ckeditor 5 with Laravel

  • CKeditor 5 out of the box does not come with upload capabilities. Uploading is supported with its plugins, some are official paid plugins that require subscriptions. There are a few free options. Base64 upload adapter This plugin allows uploads that will convert an uploaded image into base64 data. Very easy to use but will require you to save the complete base64 code with the post, this can be get long. Docs Simple image adapter An image upload tool. It allows uploading images to an application running on your server using the XMLHttpRequest API with a minimal editor configuration. Docs Use the online builder to add the simple image adapter then download the generated bundle unzip and place the folder inside a publicly accessible place in Laravel. such as /public/js/ckeditor5 Then link ckeditor.js in the pages you want to use Ckeditor <script src="/js/ckeditor5/build/ckeditor.js"></script> Using Ckeditor in a textarea. I've made a blade component called Ckeditor so I can use: <x-form.ckeditor wire:model="content" name="content" /> To render the editor. I'm using Livewire and AlpineJS. The component looks like this: @props([ 'name' => '', 'label' => '', 'required' => false ]) @if ($label == '') @php //remove underscores from name $label = str_replace('_', ' ', $name); //detect subsequent letters starting with a capital $label = preg_split('/(?=[A-Z])/', $label); //display capi, ...ادامه مطلب

  • Laravel Livewire Resources

  • Tools Livewire dev tools AlpineJS dev tools Livewire Kit Livewire Demos WireUI Wire-elements Raycast - Livewire docs Packages Laravel Livewire Wizard Filament Laravel AdminTW  Laravel Livewire Tables Laravel Modules with Livewire Livewire - a Statamic addon Courses Livewire courses on Codecourse.com Livewire courses on Laracasts.com Practical Laravel Livewire from Scratch Advanced Laravel Livewire Tools Livewire dev tools Chrome and Firefox DevTools extension for debugging Livewire applications https://github.com/rw4lll/livewire-devtools AlpineJS dev tools Chrome/Firefox DevTools extension for debugging Alpine.js applications. https://github.com/alpine-collective/alpinejs-devtools Livewire Kit 41 Laravel Livewire Components Ready-made. Downl, ...ادامه مطلب

  • Adding pinned posts with Laravel

  • Let's say you have a blog and have posts ordered by their published date. Later you decide you want to pin certain posts. Pinned posts should be displayed before any other posts regardless of their published date. The Solution You can accomplish this by modifying the order clause in the query. Take this order: ->orderBy('published_at', 'desc') This will order posts by their published date in descending order. Adding a second-order clause: ->orderBy('is_pinned', 'desc')->orderBy('published_at', 'desc'); This time ordered by a is_pinned column then order by the published_at column. This will show the posts pinned first and then show the posts in their published order. The Setup Adding a migration to add a column called is_pinned to a posts table php artisan make:migration add_pinned_field_to_posts Migration <?php use IlluminateSupportFacadesSchema; use IlluminateDatabaseSchemaBlueprint; use IlluminateDatabaseMigrationsMigration; class AddPinnedFieldToPosts extends Migration { /** * Run the migrations. * * @retu void */ public function up() { Schema::table('posts', function (Blueprint $table) { $table->boolean('is_pinned')->default(false); }); } /** * Reverse the migrations. * * @retu void */ public function down() { Schema::table('posts', function (Blueprint $table) { $table->dropColumn('is_pinned'); , ...ادامه مطلب

  • Running Docker on M1 Mac - docker: compose is not a docker

  • When upgrading from an Intel mac to an Apple Silicone I noticed docker fails to run. I'm using Laravel Sail when Sail is installed or when a sail up command is attempted I get an error:  docker: 'compose' is not a docker command The reason for this is a docker-compose is now a plugin. Docker needs docker-compose to be installed. Use brew to install docker-compose brew install docker-compose Once installed sail will function normally without any extra setup. بخوانید, ...ادامه مطلب

  • Use PHP to generate table of contents from heading tags

  • I wanted to create a table of contents from the post's heading tags automatically without having to change the headings like adding an id or anchor. I started to look at existing solutions and came across this custom function on Stackoverflow by sjaak-wish function generateIndex($html) { preg_match_all('/<h([1-6])*[^>]*>(.*?)</h[1-6]>/',$html,$matches); $index = "<ul>"; $prev = 2; foreach ($matches[0] as $i => $match){ $curr = $matches[1][$i]; $text = strip_tags($matches[2][$i]); $slug = strtolower(str_replace("--","-",preg_replace('/[^da-z]/i', '-', $text))); $anchor = '<a name="'.$slug.'">'.$text.'</a>'; $html = str_replace($text,$anchor,$html); $prev <= $curr ?: $index .= str_repeat('</ul>',($prev - $curr)); $prev >= $curr ?: $index .= "<ul>"; $index .= '<li><a href="#'.$slug.'">'.$text.'</a></li>'; $prev = $curr; } $index .= "</ul>"; retu ["html" => $html, "index" => $index]; } This will generate a list of links based on the headings. To use the function call it and pass in your content, then specify the array key to use. html for the body and index for the table of contents. Table of contents: toc($post->content)['index'] Content: toc($post->content)['html'] بخوانید, ...ادامه مطلب

  • جدیدترین مطالب منتشر شده

    گزیده مطالب

    تبلیغات

    برچسب ها