Defective Code Logo

Total Downloads Latest Stable Version Latest Stable Version

English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文

Introduktion

Detta paket förenklar processen för att lägga till delningslänkar till din Laravel-applikation. Tveka inte att öppna en pull-förfrågan om du märker att vi saknar en tjänst!

En delningslänk är en URL som kombinerar en grundläggande URL för social media med frågeparametrar för att dela innehåll från din webbplats eller app. Parametrar inkluderar oftast innehålls-URL:en och ett förinställt meddelande. Dessa länkar, som visas i exemplen, gör det enkelt för användare att dela inlägg på plattformar som Twitter, Facebook och Telegram. Använd detta öppna programvara-paket för att snabbt skapa delningslänkar via Laravels blade-komponentsystem.

Exempel

<x-link-sharer service="twitter" text="Dela mig!" url="https://www.defectivecode.com" hashtags="fantastiskt,länkar" class="p-4">
<!-- Din HTML-kod här för att styra utseendet och känslan av delningsknappen -->
<span class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">Klicka på mig!</span>
</x-link-sharer>

Installation

  1. Först installera PHP-paketet genom att köra följande composer-kommando:
    composer require defectivecode/link-sharer
  2. Det är allt! Vårt paket kommer automatiskt att installeras med hjälp av Laravels paketupptäcktsystem.

Tjänster

Tjänsteleverantörer uppdaterar ibland sina delningslänkar utan förvarning. Vi gör vårt bästa för att hålla oss uppdaterade med dessa förändringar. Men om du stöter på en icke-fungerande tjänst, vänligen öppna ett problem eller skicka en pull-förfrågan. För att lägga till en ny tjänst, se avsnittet bidra nedan.

Vissa tjänster tillhandahåller extra parametrar som kan skickas till komponenten. Dessa är dokumenterade i tabellen nedan.

Tjänst Stödda texter Stödda URL:er Anteckningar
Blogger ✔️ ✔️ t Texten av blogginlägget.
Diaspora ✔️ ✔️
Diigo ✔️ ✔️ description En beskrivning att lägga till i inlägget.
Douban ✔️ ✔️ comment En kommentar att lägga till i inlägget.
Evernote ✔️ ✔️
Facebook ✔️
Flipboard ✔️ ✔️ quote Ett citat att lägga till i inlägget.
Gmail ✔️ ✔️ bcc En kommaseparerad lista över e-postadresser att BCC:a.
cc En kommaseparerad lista över e-postadresser att CC:a.
su Ämnet för e-postmeddelandet.
to En kommaseparerad lista över e-postadresser att skicka till.
HackNews ✔️ ✔️
Instapaper ✔️ ✔️ description En beskrivning av inlägget.
LineMe ❌️ ✔️
LinkedIn ✔️
LiveJournal ✔️ ✔️
Meneame ❌️ ✔️
Okru ❌️ ✔️
Outlook ✔️ ✔️
Pinterest ✔️ ✔️ media En bild-URL att visa på inlägget.
Plurk ❌ ️ ✔️
Pocket ✔️ ✔️
QZone ✔️ ✔️ summary En sammanfattning av inlägget.
Reddit ✔️ ✔️
Renren ✔️ ✔️ description En beskrivning av inlägget.
srcUrl Den ursprungliga URL:en för inlägget.
Skype ✔️ ✔️
Telegram ✔️ ✔️
Threema ✔️ id Id:t för personen att skicka inlägget till.
Tumblr ✔️ ✔️ caption En bildtext att lägga till i inlägget.
tags En kommaseparerad lista över taggar att tillämpa på inlägget.
Twitter ✔️ ✔️ hastags En kommaseparerad lista över hashtaggor att tillämpa på tweeten.
via Twittraren att ge erkännande till.
Viber ✔️ ✔️
VKontakte ✔️ ✔️ description En beskrivning av inlägget.
image En bild-URL att visa på inlägget.
Weibo ✔️ ✔️
WhatsApp ✔️ ✔️
Xing ✔️
YahooMail ✔️ ✔️

Bidra

Att lägga till en tjänst är relativt enkelt. Börja med att skapa en ny tjänsteklass inom mappen src/Services. Namnge klassen efter den tjänst du lägger till. Systemet registrerar automatiskt tjänsten via fabriken, så manuell registrering behövs inte.

Gmail-tjänsten som tillhandahålls nedan fungerar som ett bra exempel.

<?php
 
namespace DefectiveCode\LinkSharer\Services;
 
use DefectiveCode\LinkSharer\Traits\AppendsLinks;
 
class Gmail extends Service
{
use AppendsLinks;
 
protected string $baseUrl = 'https://mail.google.com/mail/u/0';
 
protected array $baseParameterMapping = [
'text' => 'body',
];
 
protected array $additionalParameters = [
'bcc',
'cc',
'su',
'to',
];
 
protected array $defaultParameters = [
'view' => 'cm',
];
}

Observera att endast baseUrl är obligatoriskt. baseParameterMapping, additionalParameters och defaultParameters är valfria men kan förbättra funktionalitet.

$baseUrl

En tjänsts URL behöver inte börja med HTTPS. Till exempel använder Viber viber://forward.

Egenskapen baseUrl specificerar tjänstens primära URL. Denna URL är grundläggande vid generering av delningslänken, till vilken frågeparametrar läggs till. Med Gmail som exempel är dess bas-URL https://mail.google.com/mail/u/0.

$baseParameterMapping

Detta paket identifierar två primära attribut: text och url, med tanke på deras allmängiltighet över de flesta tjänsteleverantörer. Definiera endast dessa attribut om den aktuella tjänsten använder en annan namngivningskonvention. Till exempel använder Gmail body istället för text, vilket gör denna explicita mappning nödvändig. När du använder Gmail kommer vilket text-attribut som passerar till blade-komponenten att omvandlas till body-frågeparametern i delningslänken.

$additionalParameters

Vissa tjänster accepterar mer specifika frågeparametrar. Med Gmail som referens stöder den bcc, cc, su och to. Definiera dessa i arrayen additionalParameters. När användare inkluderar dessa attribut i blade-komponenten läggs de till i delningslänken. Se till att dessa parametrar också listas i tabellen över stödda tjänster, komplett med korta beskrivningar.

$defaultParameters

Vissa tjänster kräver specifika frågeparametrar för att delningslänken ska fungera. Som exempel kräver Gmail att view=cm inkluderas. Sådana obligatoriska attribut deklareras i arrayen defaultParameters. De läggs alltid till delningslänken och kan inte utelämnas.

prepareAttributes()

För att manipulera attributen innan en delningslänk genereras kan du introducera en prepareAttributes-metod i din tjänst. Denna metod aktiveras före överföringen av attribut till generateLink-metoden, vilket möjliggör anpassade attributmodifieringar. Nedan följer en demonstration som använder AppendsLinks-traiten.

<?php
 
namespace DefectiveCode\LinkSharer\Traits;
 
trait AppendsLinks
{
protected function prepareAttributes(): void
{
if (isset($this->attributes['text']) && isset($this->attributes['url'])) {
$this->attributes['text'] = $this->attributes['text'] . "\n" . $this->attributes['url'];
return;
}
 
if (isset($this->attributes['url'])) {
$this->attributes['text'] = $this->attributes['url'];
}
}
}

Attribut som skickas till tjänsten är tillgängliga via arrayen $attributes. I det illustrerade exemplet:

Stödriktlinjer

Tack för att du valde vårt öppna källkodsprojekt! Vänligen ta ett ögonblick för att titta på dessa stödriktlinjer. De kommer att hjälpa dig att få ut det mesta av vårt projekt.

Gemenskapsdriven Stöd

Vårt öppna källkodsprojekt drivs av vår fantastiska gemenskap. Om du har frågor eller behöver hjälp, är StackOverflow och andra online-resurser dina bästa alternativ.

Buggar och Prioritering av Funktioner

Verkligheten av att hantera ett öppet källkodsprojekt betyder att vi inte kan ta itu med varje rapporterad bugg eller funktionsönskemål omedelbart. Vi prioriterar ärenden i följande ordning:

1. Buggar som Påverkar Våra Betalda Produkter

Buggar som påverkar våra betalda produkter kommer alltid att vara vår högsta prioritet. I vissa fall kan vi endast ta itu med buggar som påverkar oss direkt.

2. Gemenskaps Pull Begärningar

Om du har identifierat en bugg och har en lösning, vänligen skicka in en pull-begäran. Efter ärenden som påverkar våra produkter ger vi näst högsta prioritet till dessa gemenskapsdrivna lösningar. När de har granskats och godkänts, kommer vi att sammanfoga din lösning och kreditera ditt bidrag.

3. Ekonomiskt Stöd

För frågor utanför de nämnda kategorierna kan du välja att finansiera deras lösning. Varje öppen fråga är kopplad till ett beställningsformulär där du kan bidra ekonomiskt. Vi prioriterar dessa frågor baserat på det belopp som anges.

Gemenskapsbidrag

Öppen källkod blomstrar när dess gemenskap är aktiv. Även om du inte åtgärdar buggar, överväg att bidra genom kodförbättringar, dokumentationsuppdateringar, handledningar eller genom att hjälpa andra i gemenskapskanaler. Vi uppmuntrar starkt alla, som en gemenskap, att hjälpa till att stödja arbetet med öppen källkod.

För att upprepa, kommer DefectiveCode att prioritera buggar baserat på hur de påverkar våra betalda produkter, gemenskaps pull-begärningar, och det ekonomiska stöd som erhållits för problem.

Licens - MIT Licens

Copyright © Defective Code, LLC. Alla rättigheter förbehålles

Härmed beviljas tillstånd, kostnadsfritt, till varje person som erhåller en kopia av denna programvara och tillhörande dokumentationsfiler (”Programvaran”), att hantera Programvaran utan begränsningar, inklusive utan begränsning rätten att använda, kopiera, modifiera, sammanfoga, publicera, distribuera, underlicensiera och/eller sälja kopior av Programvaran, och att tillåta personer som Programvaran tillhandahålls till att göra det, med förbehåll för följande villkor:

Den ovanstående copyrightnotisen och denna tillståndsnotis ska inkluderas i alla kopior eller väsentliga delar av Programvaran.

PROGRAMVARAN TILLHANDAHÅLLS "I BEFINTLIGT SKICK", UTAN NÅGON SOM HELST GARANTI, VARE SIG UTTRYCKLIG ELLER UNDERFÖRSTÅDD, INKLUSIVE MEN INTE BEGRÄNSAT TILL GARANTIER FÖR SÄLJBARHET, LÄMPLIGHET FÖR ETT BESTÄMT ÄNDAMÅL OCH INTE KRÄNKNING. UNDER INGA OMSTÄNIGHETER SKA FÖRFATTARNA ELLER COPYRIGHTINNEHAVARNA ANSVARA FÖR NÅGON FORDRAN, SKADOR ELLER ANNAN ANSVARSSKYLDIGHET, VARE SIG I EN RÄTTSLIG ÅTGÄRD, SKADESTÅND ELLER ANNAT, SOM UPPSTÅR FRÅN, GENOM ELLER I SAMBAND MED PROGRAMVARAN ELLER ANVÄNDNINGEN ELLER ANDRA AFFÄRER I PROGRAMVARAN.