Welcome to Webmatrices Community

Welcome to Webmatrices Community

Our forum is here to help you fix your digital issues related to SEO, Digital Marketing, NFT development, Google Adsense, Blogging and more.

saffee.5217

Maximize Your Fiverr Success with Essential Tools from FiverrAnalyticsIf you're looking to stand out on Fiverr and attract more clients, using the right tools can make all the difference. FiverrAnalytics offers a suite of powerful tools designed to help you succeed on the platform—whether it’s tracking gig rank, optimizing keywords, or managing order completion rates. Below, we’ll guide you through each of our tools, complete with links, so you can start improving your Fiverr performance today.1. Fiverr Gig Rank CheckerChecking your gig’s rank is one of the most crucial steps to monitor how your gig is performing on Fiverr. Fiverr Gig Rank Checker allows you to quickly and accurately see where your gig stands on Fiverr’s search results for specific keywords.Visit Now: https://fiverranalytics.com/fiverr-gig-rank-checker2. Fiverr Keyword AnalyticsFinding the right keywords is essential for ranking on Fiverr. Fiverr Keyword Analytics tool helps you identify high-performing keywords with minimal competition, enabling you to optimize your gig descriptions and titles effectively.Visit Now: https://fiverranalytics.com/fiverr-keyword-analytics3. Fiverr Order Completion Rate CalculatorOrder completion rate is a critical factor in Fiverr’s ranking algorithm. Fiverr Order Completion Rate Calculator allows you to calculate your completion rate accurately, helping you maintain a high rating and avoid cancellations.Visit Now: https://fiverranalytics.com/fiverr-order-completion-rate-calculator4. Fiverr Keyword Generator ToolStruggling to find the best keywords for your gig? The Fiverr Keyword Generator Tool makes it easy to discover keywords that resonate with Fiverr’s search engine and potential buyers.Visit Now: https://fiverranalytics.com/fiverr-keyword-generatorConclusionWith FiverrAnalytics, you have a comprehensive toolkit to manage every aspect of your Fiverr gig. From tracking ranks to finding the right keywords, each tool is designed to make your freelancing journey smoother and more profitable. Explore the links above, start using these tools, and see the difference they can make in boosting your Fiverr success!Visit Now: https://fiverranalytics.com/     

Published 3 hours ago
0 likes 1 watched 0 commented
zakwanureed

Hey everyone! 👋Let’s talk about something super exciting—how AI is completely transforming web development. Whether you're a pro dev or just starting out, AI is becoming one of the biggest tools in our toolbox. Here’s how it’s making waves:1. Writing Code is Faster Than EverTools like GitHub Copilot or ChatGPT can now generate code snippets, help debug issues, and even create entire components for you. It’s like having a pair programming buddy who never takes a break. Does this mean AI replaces us? Nah—it’s just a really smart assistant!2. Personalized Websites on the FlyEver visited a site that feels like it “just gets you”? That’s AI in action. It analyzes user behavior and adapts the site content, layout, and recommendations in real-time. Think Netflix recommendations, but for every website.3. Smarter Testing and DebuggingGone are the days of manually finding that one annoying bug (okay, maybe not completely gone). AI-powered tools can predict where issues might pop up and run smarter tests for smoother deployments. Less stress, more success.4. AI for SEO and ContentIf you’re juggling content creation alongside development, AI’s got your back. Tools like Jasper and SurferSEO help generate content and optimize it for search engines, so your projects not only look good but also rank higher.5. Chatbots Done RightAI chatbots are getting scary good. They don’t just give scripted answers anymore—they adapt and respond almost like a human. Adding an AI bot to your site is now a no-brainer for better customer engagement.

Published 13 days ago
0 likes 12 watched 0 commented
jackreece02

I'm quite new to html and css and I'm having an issue with a label not appearing before an input. I've done the first set of lessons and am now on the certification project which is to make a survey form of my choosing. I have a few labels already which are appearing fine before the inputs they're id'ed to which is why I'm confused as to why my new label isn't showing now? any help is appreciated and as I've said I'm new to this so please go easy lol I'll paste my code below<form id="survey-form"><fieldset id="personal-details"><label id="name-label" for="name">Enter Your First Name Here <input id="name" type="text" placeholder="John/Jane Doe" required /><label id="email-label" for="email">Enter Your Email Here<input id="email" type="email" placeholder="[email protected]" required /><label id="number-label" for="number">Enter Your Number Here <input id="number" type="number" placeholder="07123456789" required /><label id="activision-id-label" for="activision-id">Enter Your Activision ID Here <input id="activision-id" required /></fieldset><fieldset id="map-preferences"><label id="dropdown1" for="favourite-core-map">What was your favourite Core map<select id="favourite-core-map" for="favourite-core-map" required><option value="">(Select one) </option><option value="1">Derelict</option><option value="2">Scud</option><option value="3">Skyline</option><option value="4">Rewind</option></select><label id="dropdown2" for="least-favourite-core-map">What was your least favourite Core map<select id="least-favourite-core-map" name="least-favourite-core-map"><option value="">(Select one) </option><option value="1">Derelict</option><option value="2">Scud</option><option value="3">Skyline</option><option value="4">Rewind</option><label id="reason" for="reason" name="reason">Tell us why these maps were your favourite and least favourite maps <input id="reason" type="text"></fieldset></form>

codie replied 3 months ago
It looks like the issue with your labels not appearing is due to missing closing </label> tags. In HTML, each <label> should be properly closed.
Published 3 months ago
1 likes 80 watched 1 commented
kovacs.bence95

Hello! This code works really well but not able to choose what to display, In order view and in email it displays extra_product_field but i want to display only 'Product'. It have a costum text option in email too but not working, I try everything but it looks like im too beginner for this :( // Display custom field on single product page function d_extra_product_field(){ $value = isset( $_POST['extra_product_field'] ) ? sanitize_text_field( $_POST['extra_product_field'] ) : ''; printf( '<div><label>%s</label><br><textarea name="extra_product_field" value="%s"></textarea></div>', __( 'Enter your custom text' ), esc_attr( $value ) ); } add_action( 'woocommerce_after_add_to_cart_button', 'd_extra_product_field', 9 ); // validate when add to cart function d_extra_field_validation($passed, $product_id, $qty){ if( isset( $_POST['extra_product_field'] ) && sanitize_text_field( $_POST['extra_product_field'] ) == '' ){ $product = wc_get_product( $product_id ); wc_add_notice( sprintf( __( '%s cannot be added to the cart until you enter some text.' ), $product->get_title() ), 'error' ); return false; } return $passed; } add_filter( 'woocommerce_add_to_cart_validation', 'd_extra_field_validation', 10, 3 ); // add custom field data in to cart function d_add_cart_item_data( $cart_item, $product_id ){ if( isset( $_POST['extra_product_field'] ) ) { $cart_item['extra_product_field'] = sanitize_text_field( $_POST['extra_product_field'] ); } return $cart_item; } add_filter( 'woocommerce_add_cart_item_data', 'd_add_cart_item_data', 10, 2 ); // load data from session function d_get_cart_data_f_session( $cart_item, $values ) { if ( isset( $values['extra_product_field'] ) ){ $cart_item['extra_product_field'] = $values['extra_product_field']; } return $cart_item; } add_filter( 'woocommerce_get_cart_item_from_session', 'd_get_cart_data_f_session', 20, 2 ); //add meta to order function d_add_order_meta( $item_id, $values ) { if ( ! empty( $values['extra_product_field'] ) ) { woocommerce_add_order_item_meta( $item_id, 'extra_product_field', $values['extra_product_field'] ); } } add_action( 'woocommerce_add_order_item_meta', 'd_add_order_meta', 10, 2 ); // display data in cart function d_get_itemdata( $other_data, $cart_item ) { if ( isset( $cart_item['extra_product_field'] ) ){ $other_data[] = array( 'name' => __( 'Your extra field text' ), 'value' => sanitize_text_field( $cart_item['extra_product_field'] ) ); } return $other_data; } add_filter( 'woocommerce_get_item_data', 'd_get_itemdata', 10, 2 ); // display custom field data in order view function d_dis_metadata_order( $cart_item, $order_item ){ if( isset( $order_item['extra_product_field'] ) ){ $cart_item_meta['extra_product_field'] = $order_item['extra_product_field']; } return $cart_item; } add_filter( 'woocommerce_order_item_product', 'd_dis_metadata_order', 10, 2 ); // add field data in email function d_order_email_data( $fields ) { $fields['extra_product_field'] = __( 'Your extra field text' ); return $fields; } add_filter('woocommerce_email_order_meta_fields', 'd_order_email_data'); // again order function d_order_again_meta_data( $cart_item, $order_item, $order ){ if( isset( $order_item['extra_product_field'] ) ){ $cart_item_meta['extra_product_field'] = $order_item['extra_product_field']; } return $cart_item; } add_filter( 'woocommerce_order_again_cart_item_data', 'd_order_again_meta_data', 10, 3 );

Published 3 months ago
0 likes 98 watched 0 commented
anupamdesign

`my modal form is not working and not redirected to mailbox.my html code<html><body><div id="myModal_pickup" class="modal fade" role="dialog"> <div class="modal-dialog"> <!-- Modal content--> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h2 class="modal-title">Schedule Pickup</h2> </div> <div class="modal-body"> <p id="error_message_pickup"></p> <form id="regiration_form" class="schedule_pickup_form" action="booking_contactform.php"> <fieldset> <div class="form-group"> <input type="text" class="form-control" name="pickname" id="PickName" placeholder="Name"> </div> <div class="form-group"> <textarea class="form-control" name="pickaddress" placeholder="Pickup Address" id="PickAddress"></textarea> </div> <div class="form-group"> <input type="tel" class="form-control" id="PickNumber" name="picknumber" placeholder="Contact Number" pattern="[0-9]{3}-[0-9]{2}-[0-9]{3}"> </div> <div class="form-group"> <input type="email" class="form-control" id="PickEmail" name="pickemail" placeholder="Email"> </div> <input type="button" name="next" class="next btn pickup_btn" value="Next"> </fieldset> <fieldset> <div class="form-group"> <input type="date" class="form-control" name="pickdate" id="PickDate" placeholder=""> </div> <div class="form-group"> <label for="lName">Time Slot</label><br> <input type="radio" name="picktimeslot" id="pick1" value="10:00am - 1:00 pm" checked> 10:00am - 1:00 pm <input type="radio" name="picktimeslot" id="pick2" value="1:00pm - 4:00pm"> 1:00pm - 4:00pm <input type="radio" name="picktimeslot" id="pick3" value="4:00pm - 7:00pm"> 4:00pm - 7:00pm </div> <input type="button" name="previous" class="previous btn btn-default " value="Previous"> <input type="submit" name="submit_book" class="submit btn pickup_btn" value="Submit" onclick="validateSchedulePickup()" id="submit_data"> </fieldset> </form></body></html>my modal css<style>#myModal_pickup .modal-body{ text-align:left; padding:10px 30px 40px 30px; } .previous{ background-color: transparent; border: 2px solid #c5a759; color: #c5a759; font-size:14px; font-family: 'd-din_expregular'; border-radius:0px; padding:4px 15px; transition: all 0.3s ease-in-out; } .previous:hover{ background-color:#c5a759; border:2px solid #c5a759; color:#fff; } .previous:focus{ outline:none; } .pickup_btn{ transition: all 0.3s ease-in-out; background-color:#c5a759; border:2px solid #c5a759; color:#fff; font-size:14px; border-radius:0px; padding:4px 15px; font-family: 'd-din_expregular'; } .pickup_btn:hover{ background-color: transparent; border: 2px solid #c5a759; color: #c5a759; } .pickup_btn:focus{ outline:none; } .error{color: #f00;}</style>my javascript<script> function validateSchedulePickup() { event.preventDefault(); var pickname = $("#PickName").val(); var pickaddress = $("#PickAddress").val(); var pickemail = $("#PickEmail").val(); var pickdate = $("#PickDate").val(); var picknumber = $("#PickNumber").val(); var picktimeslot = $("input[name='picktimeslot']:checked").val(); $(".error").remove(); if (pickname.length < 2) { $('#PickName').after('<span class="error">Name is required</span>'); } if (pickaddress.length < 10) { $('#PickAddress').after('<span class="error">Address is required</span>'); } if (pickdate.length < 1) { $('#PickDate').after('<span class="error">Date is required</span>'); } if (picknumber.length < 1) { $('#PickNumber').after('<span class="error">Phone number is required</span>'); } else { var regNu = /([0-9]{10})|(\([0-9]{3}\)\s+[0-9]{3}\-[0-9]{4})/; var validNumber = regNu.test(picknumber); if (!validNumber) { $('#PickNumber').after('<span class="error">Enter a valid Number</span>'); } } if (pickemail.length < 1) { $('#Pickemail').after('<span class="error">Email is required</span>'); } else { var regEx = /^\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b$/i; var validEmail = regEx.test(pickemail); if (!validEmail) { $('#Pickemail').after('<span class="error">Enter a valid email</span>'); } } if(pickname == '' || pickaddress == '' || pickemail == '' || picknumber == '' || pickdate == '' || picktimeslot == '') { $('#error_message_pickup').html("<span class='error'>All Detail is required</span>"); } else { $.ajax({ url:"booking_contactform.php", method:"POST", data:{pickname:pickname, pickaddress:pickaddress, picknumber:picknumber, pickemail:pickemail, pickdate:pickdate, picktimeslot:picktimeslot}, success:function(data){ $('#error_message_pickup').html("Thank you! for pickup request"); $("form").trigger("reset"); } }); event.preventDefault(); } return false;</script>here is my php code<?php if(isset($_POST['submit_book'])){`your text` $to = "[email protected]"; // this is your Email address $from = $_POST['email']; // this is the sender's Email address $pickname = $_POST['pickname']; $pickaddress = $_POST['pickaddress']; $picknumber = $_POST['picknumber']; $pickemail = $_POST['pickemail']; $pickdate = $_POST['pickdate']; $picktimeslot = $_POST['picktimeslot']; $book_subject = "Booking submission"; // $message = " Name : ".$name."\n\n"." Email : ".$email."\n\n"." Phone : ".$phone."\n\n"." Message : ".$contet." wrote the following: "."\n\n".$_POST['message'];$message = $pickname."\n\n".$pickaddress."\n\n".$picknumber."\n\n".$pickemail."\n\n".$pickdate."\n\n".$picktimeslot."\n\n". $_POST['message']; $headers = "From:" . $from; mail($to,$book_subject,$message,$headers); header('Location: index.php'); }?>

Published 3 months ago
1 likes 97 watched 0 commented
samerike123

import pygameimport randomfrom pygame.locals import *import timepygame.init()# Screen dimensionsscreen_width = 800screen_height = 600# Initialize pygame screenscreen = pygame.display.set_mode((screen_width, screen_height))pygame.display.set_caption('Simple Game')# Game variables for the first gameplayer_width = 50player_height = 50player_pos2 = [screen_width - 100, 270]player_pos1 = [screen_width - 100, 430]player_speed = 5enemy1_width = 50enemy1_height = 50enemy1_speed = 3enemies1 = []score1 = 0game_over1 = Falsewin1 = Falsegame_active = True# Game variables for the second gameplayer2_width = 50normal_height = 50crouch_height = 25player_pos = [0, screen_height - normal_height]player_speed = 5player_current_height = normal_heightenemy2_width = 40enemy2_height = 25initial_enemy2_speed = 3enemy2_speed = initial_enemy2_speedenemies2 = []score2 = 0game_over2 = Falsewin2 = Falsestart_ticks = pygame.time.get_ticks()boom = 1000start2_ticks = pygame.time.get_ticks()# Function to spawn enemy for the first gamedef spawn_enemy_game1():x = 0y = random.randint(60, screen_height - 110)enemies1.append(pygame.Rect(x, y, enemy1_width, enemy1_height))# Function to spawn enemy for the second gamedef spawn_enemy_game2():y = random.choice([screen_height - 50, screen_height - 25])enemy = pygame.Rect(screen_width, y, enemy2_width, enemy2_height)enemies2.append(enemy)# Function to check collision with player in the first gamedef check_collision_game1(player_rect1, player_rect2):for enemy in enemies1:if player_rect1.colliderect(enemy) or player_rect2.colliderect(enemy):return Truereturn False# Function to check collision with player in the second gamedef check_collision_game2(player_rect):for enemy in enemies2:if player_rect.colliderect(enemy):return Truereturn False# Function to restart game for the first gamedef restart_game1():global player_pos1, player_pos2, enemies1, game_over1, win1, score1player_pos1 = [screen_width - 100, 430]player_pos2 = [screen_width - 100, 270]enemies1.clear()game_over1 = Falsewin1 = Falsescore1 = 0# Function to restart game for the second gamedef restart_game2():global player_pos, enemies2, game_over2, win2, enemy2_speed, start_ticks, player_current_height, score2, player2_width, boom, start2_ticksplayer_current_height = normal_heightplayer_pos = [0, screen_height - normal_height]enemies2.clear()game_over2 = Falsewin2 = Falseenemy2_speed = initial_enemy2_speedstart_ticks = pygame.time.get_ticks()start2_ticks = pygame.time.get_ticks()score2 = 0player2_width = 50boom = 1000# Menu functiondef show_menu():screen.fill((0, 0, 0))menu_font = pygame.font.SysFont(None, 60)menu_text1 = menu_font.render('Press 1 to open first game', True, (255, 255, 255))menu_text2 = menu_font.render('Press 2 to open the other game', True, (255, 255, 255))screen.blit(menu_text1, (screen_width // 2 - menu_text1.get_width() // 2, screen_height // 2 - 30))screen.blit(menu_text2, (screen_width // 2 - menu_text2.get_width() // 2, screen_height // 2 + 30))pygame.display.flip()# Function to show pause menudef show_pause_menu():screen.fill((0, 0, 0))pause_font = pygame.font.SysFont(None, 60)pause_text = pause_font.render('Press SPACE to Continue', True, (255, 255, 255))screen.blit(pause_text, (screen_width // 2 - pause_text.get_width() // 2, screen_height // 2 - 30))pygame.display.flip()# Function to show game over menudef show_game_over_menu():screen.fill((0, 0, 0))game_over_font = pygame.font.SysFont(None, 60)game_over_text = game_over_font.render("Game Over!", True, (255, 0, 0))screen.blit(game_over_text, (screen_width // 2 - game_over_text.get_width() // 2, screen_height // 2 - 30))pygame.display.flip()# Function to show win menudef show_win_menu():global game_activescreen.fill((0, 0, 0))win_font = pygame.font.SysFont(None, 60)win_text = win_font.render("You Win!", True, (0, 255, 0))screen.blit(win_text, (screen_width // 2 - win_text.get_width() // 2, screen_height // 2 - 30))pygame.display.flip()game_active = False# Game loopclock = pygame.time.Clock()running = Truein_menu = Truegame1_active = Falsegame2_active = Falsepaused = Falseshow_pause = Falsewhile running:dt = clock.tick(60) / 1000.0for event in pygame.event.get():if event.type == QUIT:running = Falseif event.type == pygame.KEYDOWN:if win2:if event.key == pygame.K_r:paused = Falsewin2 = False # Reset win2 to avoid re-entering this block immediatelyrestart_game2()elif event.type == KEYDOWN:if event.key == K_ESCAPE:if not in_menu:if not paused:paused = Trueshow_pause = Trueelse:paused = Falseshow_pause = Falseelif event.key == K_SPACE and show_pause:paused = Falseshow_pause = Falseelif event.key == K_m:if not in_menu:in_menu = Truegame1_active = Falsegame2_active = Falseelif event.key == K_1:if in_menu:in_menu = Falsegame1_active = Truegame2_active = Falserestart_game1()elif event.key == K_2:if in_menu:in_menu = Falsegame1_active = Falsegame2_active = Truerestart_game2()elif event.key == K_r:if game1_active and game_over1:restart_game1()if game2_active and game_over2:restart_game2()elif event.key == K_DOWN:if game2_active:player_current_height = crouch_heightplayer_pos[1] = screen_height - crouch_heightelif event.key == K_UP:if game2_active:player_current_height = crouch_heightplayer_pos[1] = 550current_time = pygame.time.get_ticks()# Calculate the elapsed timeelapsed_time = (current_time - start2_ticks) / 1000 # Convert milliseconds to seconds# Adjust boom and player width based on elapsed timeif 10 <= score2 < 20:boom = 500player2_width = 25if 20 <= score2 < 30:boom = 400player2_width = 12.5if 30 <= elapsed_time <= 40:boom = 300if 40 <= score2:boom = 250if in_menu:show_menu()elif show_pause:show_pause_menu()elif game1_active:if not paused:keys = pygame.key.get_pressed()if keys[K_DOWN] and player_pos2[1] + player_height < screen_height:player_pos2[1] += player_speedplayer_pos1[1] += player_speedif keys[K_UP] and player_pos2[1] > 0:player_pos2[1] -= player_speedplayer_pos1[1] -= player_speedplayer_pos1[1] = max(0, min(player_pos1[1], screen_height - player_height))player_pos2[1] = max(0, min(player_pos2[1], 390))player_rect1 = pygame.Rect(player_pos1[0], player_pos1[1], player_width, player_height)player_rect2 = pygame.Rect(player_pos2[0], player_pos2[1], player_width, player_height)middle_top = min(player_pos1[1], player_pos2[1]) + player_heightmiddle_bottom = max(player_pos1[1], player_pos2[1])middle_rect = pygame.Rect(player_pos1[0], middle_top, 60, middle_bottom - middle_top)if random.randint(1, 100) == 1:spawn_enemy_game1()for enemy in enemies1[:]:enemy.x += enemy1_speedif enemy.x > screen_width:enemies1.remove(enemy)if check_collision_game1(player_rect1, player_rect2):game_over1 = Truescreen.fill((0, 0, 0))pygame.draw.rect(screen, (255, 255, 255), player_rect1)pygame.draw.rect(screen, (255, 255, 255), player_rect2)for enemy in enemies1[:]:pygame.draw.rect(screen, (255, 0, 0), enemy)if enemy.colliderect(middle_rect):score1 += 1enemies1.remove(enemy)score_font = pygame.font.SysFont(None, 36)score_text = score_font.render(f"Score: {score1}", True, (255, 255, 255))screen.blit(score_text, (10, 10))if game_over1:show_game_over_menu()elif game2_active:if not paused:keys = pygame.key.get_pressed()if keys[K_UP]:player_current_height = crouch_heightplayer_pos[1] = 550elif keys[K_DOWN]:player_current_height = crouch_heightplayer_pos[1] = screen_height - crouch_heightelse:player_current_height = 50player_pos[1] = 550if pygame.time.get_ticks() - start_ticks > boom:spawn_enemy_game2()start_ticks = pygame.time.get_ticks()for enemy in enemies2[:]:enemy.x -= enemy2_speedif enemy.x < 0:score2 += 1enemies2.remove(enemy)if score2 >= 1:win2 = Trueif check_collision_game2(pygame.Rect(player_pos[0], player_pos[1], player2_width, player_current_height)):game_over2 = Truescreen.fill((0, 0, 0))pygame.draw.rect(screen, (255, 255, 255),pygame.Rect(player_pos[0], player_pos[1], player2_width, player_current_height))for enemy in enemies2[:]:pygame.draw.rect(screen, (255, 0, 0), enemy)score_font = pygame.font.SysFont(None, 36)score_text = score_font.render(f"Score: {score2}", True, (255, 255, 255))screen.blit(score_text, (10, 10))if game_over2:show_game_over_menu()pygame.display.flip()pygame.quit()can anyone help me fix the win2 function it shuld be like this Show up a win screen and restart the game if r pressed and open menu if m pressed

Published 4 months ago
1 likes 104 watched 0 commented
codie
codie

I was working in Phoenix/Elixir and created a function component for navbar, and got this issue:Done in 38ms. Compiling 1 file (.ex) error: undefined function sigil_p/2 (expected RankgistWeb.NavComponents to define such a function or for it to be imported, but none are available) │ 55 │ href={~p"/users/log_out"} │ ^^^^^^^^^^^^^^^^^^^^^^^^^ │ └─ (rankgist 0.1.0) lib/rankgist_web/components/nav_components.ex:55: RankgistWeb.NavComponents.main/1 error: undefined function sigil_p/2 (expected RankgistWeb.NavComponents to define such a function or for it to be imported, but none are available) │ 45 │ href={~p"/track-competitors"} │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ │ └─ (rankgist 0.1.0) lib/rankgist_web/components/nav_components.ex:45: RankgistWeb.NavComponents.main/1 error: undefined function sigil_p/2 (expected RankgistWeb.NavComponents to define such a function or for it to be imported, but none are available) │ 8 │ <.link href={~p"/"} class="flex items-center space-x-3 rtl:space-x-reverse"> │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ │ └─ (rankgist 0.1.0) lib/rankgist_web/components/nav_components.ex:8: RankgistWeb.NavComponents.main/1 == Compilation error in file lib/rankgist_web/components/nav_components.ex == ** (CompileError) lib/rankgist_web/components/nav_components.ex: cannot compile module RankgistWeb.NavComponents (errors have been logged) Compiling 1 file (.ex) error: undefined function sigil_p/2 (expected RankgistWeb.NavComponents to define such a function or for it to be imported, but none are available) │ 55 │ href={~p"/users/log_out"} │ ^^^^^^^^^^^^^^^^^^^^^^^^^ │ └─ (rankgist 0.1.0) lib/rankgist_web/components/nav_components.ex:55: RankgistWeb.NavComponents.main/1 error: undefined function sigil_p/2 (expected RankgistWeb.NavComponents to define such a function or for it to be imported, but none are available) │ 45 │ href={~p"/track-competitors"} │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ │ └─ (rankgist 0.1.0) lib/rankgist_web/components/nav_components.ex:45: RankgistWeb.NavComponents.main/1 error: undefined function sigil_p/2 (expected RankgistWeb.NavComponents to define such a function or for it to be imported, but none are available) │ 8 │ <.link href={~p"/"} class="flex items-center space-x-3 rtl:space-x-reverse"> │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ │ └─ (rankgist 0.1.0) lib/rankgist_web/components/nav_components.ex:8: RankgistWeb.NavComponents.main/1 == Compilation error in file lib/rankgist_web/components/nav_components.ex == ** (CompileError) lib/rankgist_web/components/nav_components.ex: cannot compile module RankgistWeb.NavComponents (errors have been logged)to fix the issue of sigil_p/2 being undefined:defmodule LiveViewAppWeb.NavComponents do use Phoenix.Component use LiveViewAppWeb, :verified_routes def main(assigns) do ~H"""...use LiveViewAppWeb, :verified_routes adding this fixed it.

Published 5 months ago
1 likes 167 watched 0 commented
codie
codie

I've been trying sudo apt-get update in Ubuntu 20.04 LTS server, and I was getting the below error.W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/focal/InRelease Temporary failure resolving 'archive.ubuntu.com' W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/focal-updates/InRelease Temporary failure resolving 'archive.ubuntu.com' W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/focal-backports/InRelease Temporary failure resolving 'archive.ubuntu.com' W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/focal-security/InRelease Temporary failure resolving 'security.ubuntu.com' W: Failed to fetch http://ppa.launchpad.net/certbot/certbot/ubuntu/dists/focal/InRelease Temporary failure resolving 'ppa.launchpad.net' W: Failed to fetch http://rpms.litespeedtech.com/debian/dists/focal/InRelease Temporary failure resolving 'rpms.litespeedtech.com' W: Some index files failed to download. They have been ignored, or old ones used instead.Fix for Temporary failure resolving us.archive.ubuntu.comHere's how I fixed it:Removing bad sources.listsudo rm -rf /etc/apt/sources.list*Adding new good sources.listcd /etc/apt/ wget https://gist.githubusercontent.com/ishad0w/788555191c7037e249a439542c53e170/raw/3822ba49241e6fd851ca1c1cbcc4d7e87382f484/sources.listFixing the Ubuntu's connectionsudo dhclient -v -4 sudo echo 'nameserver 8.8.8.8' > /etc/resolv.confRunning the update commandsudo apt-get updateHooray! you fixed it.

Published 5 months ago
1 likes 187 watched 0 commented
codie
codie

So, you’ve heard about the sweet, sweet internet cash flowing in from Google AdSense, and you want a piece of that pie? Well, my friend, you've landed on the right page! Let's walk you through the mystical, often misunderstood journey to AdSense approval. Believe it or not, it's easier than assembling an IKEA coffee table, and there are fewer leftover screws!The Golden Criteria for AdSense ApprovalTo get Google AdSense to sprinkle those revenue dollars upon you, your website needs to be top-notch. Think of it like trying to impress a date but with less cologne and more quality content.1. Domain AgeYour domain can't be a toddler in the internet world. Generally, it should be at least 6 months old, though this can vary by region.2. Domain AuthorityJust like a stern librarian, your site needs some authority. Over time, as your site earns backlinks (the good kind, not the shady alley ones), your domain authority increases.3. Page AuthorityEach specific page on your website should also ooze authority. Google likes influential pages—think of them as the superheroes of your domain.4. BacklinksIt's all about the web connections. The more legit websites linking back to yours, the better Google thinks you are. Isn’t it all about who you know?5. Indexed PagesThese are the pages Google has decided are worthy of appearing in search results. If they’re good enough for Google, they're good enough for AdSense.6. Essential PagesYou need the essentials: About Us, Contact Us, Privacy Policy, and Terms of Service. It's like your website wearing a tuxedo to the prom—Google likes formalities.7. Website TrafficNot to sound like a hipster, but Google prefers sites with a significant amount of genuine traffic. No need to buy fake visitors from the dark web!8. Website SpeedIf your site loads slower than a snail in molasses, Google’s going to swipe left. Fast loading times keep the bounce rates low.9. Mobile FriendlyOur pint-sized devices rule the world. Make sure your site looks fab on mobiles; otherwise, you’re missing out big time.10. HTTPSIf your site isn’t secure, Google might just send it to internet jail. Get that SSL certificate and keep the padlock icon happy.The Magic Number: 70%Okay, here’s the juice: to get Google AdSense's green light, your site needs a score of at least 70%. Think of it like getting a C in college—it's not the best, but it’s passing, and that’s all you need.https://webmatrices.com/adsense-eligibility-checker is your go-to tool for finding out if your site makes the cut. Simply pop in your URL, hit the "Check" button, and—voilà! You’ll see your score along with pointers on where you stand and where you need to tighten the screws.How Long Does It Take to Get Approved?The million-dollar question. If your site matches all these conditions, the AdSense approval time is generally on the shorter side. But if your site needs some TLC, then you may be waiting a bit longer. Quality content, user-friendly layout, and high engagement can speed this process up considerably.Step-by-Step Guide to Get AdSense ApprovedStep 1: Content is KingWrite high-quality, unique content that provides value. Avoid clickbait; Google’s smarter than your average bear.Step 2: Design MattersA clean, user-friendly layout is crucial. If your site looks like a 90s Geocities page, time for a makeover.Step 3: Build BacklinksGet backlinks from reputable sites. Networking is key here!Step 4: Optimize for SpeedUse tools like Google PageSpeed Insights to make sure your site doesn’t lag.Step 5: Be Mobile-FriendlyTest your site on different devices. If it’s smooth on mobile, you’re halfway there.Step 6: Secure Your SiteInvest in an SSL certificate and make sure your site runs on HTTPS.Step 7: Sign Up for AdSenseOnce you believe your site is up to the mark, sign up for AdSense. Fill out all the necessary details, and let Google do its thing.Step 8: Be PatientAfter submitting, sit back and maybe watch some funny cat videos to pass the time. Google will get back to you!Final Thoughts: AdSense AwesomenessGetting AdSense approval can seem like battling a Hydra, but with the right approach, you’ll slay it. Keep producing top-tier content, maintain a user-friendly site, and make sure you’re ticking all the boxes we discussed.And remember, if you’re ever in doubt or just want to see how you're faring before applying, give https://webmatrices.com/adsense-eligibility-checker a whirl. May the ad revenue be ever in your favor!

abhishekrajdhami replied 4 months ago
Here are the tips for blogger user, that how they can Optimize SEO on their sitesLink: https://www.technicalgorkha.com/2024/08/advanced-blogger-seo-settings-to-boost-organic-traffic.html
Published 5 months ago
4 likes 1238 watched 3 commented
codie
codie

Alright folks, let's cut the crap. We know web dev can be a brutal grind. Django for the backend, SvelteKit for the frontend—sounds perfect, until you try to make them work together. Endless configs, dependencies throwing tantrums, and a heap of wasted nights.Pain In The Ass? Let’s Fix It 🎯We’ve all been there:Backend Ready: Django's solid, backend is rolling.Frontend Dream: SvelteKit is ready to dazzle.Reality: Integration is a flaming dumpster fire. 🔥Enter Django Svelte Template 🦸‍♂️Screw the headaches. This template is your knight in shining armor. Pre-configured, smooth as butter. Clone it, run it, done.🚀 Getting Shit DoneClone the Repogit clone [email protected]:Bishwas-py/django-svelte-template.git Fire Up Django Backendcd django_backend python3 -m venv venv source venv/bin/activate pip install -r requirements.txt python manage.py migrate python manage.py runserver Spin Up SvelteKitcd svelte_frontend npm install npm run dev Set .env:SECRET_BASE_API=http://localhost:8000 Boom! You’ve got a working todo app to play with.Why Use This?Backend Power:Django: Steady and reliable.Djapy: Enhanced validation, swagger in dark-mode.DjangoKit: Smooth Django-SvelteKit integration.Frontend Magic:Svelte 5: Reactive, quick.@friendofsvelte/django-kit: Seamless connection to Django.Tailwind CSS: Style without the hassle.Insta-FeaturesAuto Flash Messages: Toasts on errors, no sweat.Form Handling: Handling & validation, out of the box.Notifier Store: Easy to use toast notifications.Why Give a Damn?Plug and Play: No more setup nightmares.Full-Featured: A ready-to-use todo app to kickstart your project.Seamless Integration: Django and SvelteKit are besties here.Ready To Roll? 🏎️💨Head to the repo, fork it, clone it, and start building. No more late nights swearing at broken builds. Just smooth, painless dev.Let's code smarter, not harder. 🌟Contributions are welcomed!

cemen1 replied 5 months ago
cool one, thanks for sharing!
Published 5 months ago
3 likes 204 watched 2 commented
codie
codie

I have been doing a lot of Phoenix Framework these days, but I am struggling with writing heex templates because the elixir_ls was/might not be working well.So here's how I made it cool. The primary idea of this note is grabbed from this discussion.VsCode extension to install:Phoenix FrameworkElixirLSSetup to make:In your .vscode/settings.json write the following configurations:{ "emmet.includeLanguages": { "phoenix-heex": "html" } }This will give you emmet abbreviation for phoenix heex templates.For formatting Phoenix Heex"[phoenix-heex]": { "editor.defaultFormatter": "RoyalMist.vscode-eex-format" },Install, Elixir Templates Formatter, finally for tailwind css suggestions: "tailwindCSS.includeLanguages": { "phoenix-heex": "html" },I am not much of a fan of vscode, due to lack of dedicated Intellij IDE for Elixir, I am using vscode. You can vote, for Elixir support with LSP.Thanks!

codie replied 6 months ago
try this new one:{ "elixirLS.suggestSpecs": false, "elixirLS.dialyzerEnabled": true, "elixirLS.signatureAfterComplete": false, "elixirLS.fetchDeps": false, "files.associations": { "*.heex": "phoenix-heex" }, "[elixir]": { "editor.formatOnSave": true, "editor.defaultFormatter": "JakeBecker.elixir-ls" }, "[phoenix-heex]": { "editor.formatOnSave": true, "editor.defaultFormatter": "JakeBecker.elixir-ls" }, "emmet.includeLanguages": { "elixir": "html", "phoenix-heex": "html", "html-eex": "html" }, "emmet.triggerExpansionOnTab": true, "[html-eex]": { "editor.defaultFormatter": "JakeBecker.elixir-ls", }, "tailwindCSS.includeLanguages": { "phoenix-heex": "html" } }works well
Published 6 months ago
2 likes 175 watched 1 commented