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
- Först installera PHP-paketet genom att köra följande composer-kommando:
composer require defectivecode/link-sharer
- 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 | ✔️ | ✔️ | |
| ❌ | ✔️ | ||
| ✔️ | ✔️ | 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 | ❌️ | ✔️ | |
| ❌ | ✔️ | ||
| LiveJournal | ✔️ | ✔️ | |
| Meneame | ❌️ | ✔️ | |
| Okru | ❌️ | ✔️ | |
| Outlook | ✔️ | ✔️ | |
| ✔️ | ✔️ | media En bild-URL att visa på inlägget. |
|
| Plurk | ❌ ️ | ✔️ | |
| ✔️ | ✔️ | ||
| QZone | ✔️ | ✔️ | summary En sammanfattning av inlägget. |
| ✔️ | ✔️ | ||
| 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. |
| ✔️ | ✔️ | 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. |
| ✔️ | ✔️ | ||
| ✔️ | ✔️ | ||
| ❌ | ✔️ | ||
| 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:
- Om både
text- ochurl-attributen finns, läggsurltilltext-attributet. - Om endast
url-attributet är tillgängligt, tilldelastext-attributet värdet avurl.
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.