English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文
# Upozorenje o Prevodu
Ovaj dokument je automatski preveden. Ako postoje greške u prevodu, molimo vas da otvorite
pull request na
projektu i dodate prevedeni fajl u docs/{ISO 639-1 Code}.md
.
# Uvod
Ovaj paket pojednostavljuje proces dodavanja linkova za dijeljenje u vašu Laravel aplikaciju. Slobodno otvorite pull request ako primijetite da nam nedostaje neka usluga!
Link za dijeljenje je URL koji kombinuje osnovni URL društvene mreže sa query parametrima za dijeljenje sadržaja sa vaše web stranice ili aplikacije. Parametri obično uključuju URL sadržaja i unaprijed postavljenu poruku. Ovi linkovi, kao što je prikazano u primjerima, omogućavaju korisnicima da lako dijele postove na platformama kao što su Twitter, Facebook i Telegram. Koristite ovaj open-source paket za brzo kreiranje linkova za dijeljenje putem Laravelovog blade komponentnog sistema.
<x-link-sharer service="twitter" text="Podijeli me!" url="https://www.defectivecode.com" hashtags="awesome,links" class="p-4"> <!-- Vaš HTML kod ovdje za kontrolu izgleda i osjećaja dugmeta za dijeljenje --> <span class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">Klikni me!</span></x-link-sharer>
# Instalacija
composer require defectivecode/link-sharer
Pružatelji usluga povremeno ažuriraju svoje linkove za dijeljenje bez prethodne najave. Ulažemo sve napore da ostanemo ažurirani s ovim promjenama. Međutim, ako naiđete na nefunkcionalnu uslugu, ljubazno otvorite problem ili podnesite zahtjev za povlačenje. Za dodavanje nove usluge, pogledajte odjeljak doprinos ispod.
Neke usluge pružaju dodatne parametre koji se mogu proslijediti komponenti. Oni su dokumentirani u tabeli ispod.
Usluga | Podržan Tekst | Podržan URL | Napomene |
---|---|---|---|
Blogger | ✔️ | ✔️ | t Tekst blog posta. |
Diaspora | ✔️ | ✔️ | |
Diigo | ✔️ | ✔️ | description Opis za dodavanje u post. |
Douban | ✔️ | ✔️ | comment Komentar za dodavanje u post. |
Evernote | ✔️ | ✔️ | |
❌ | ✔️ | ||
✔️ | ✔️ | quote Citat za dodavanje u post. |
|
Gmail | ✔️ | ✔️ | bcc Lista email adresa za BCC, odvojena zarezima. cc Lista email adresa za CC, odvojena zarezima. su Predmet emaila. to Lista email adresa za slanje, odvojena zarezima. |
HackNews | ✔️ | ✔️ | |
Instapaper | ✔️ | ✔️ | description Opis posta. |
LineMe | ❌️ | ✔️ | |
❌ | ✔️ | ||
LiveJournal | ✔️ | ✔️ | |
Meneame | ❌️ | ✔️ | |
Okru | ❌️ | ✔️ | |
Outlook | ✔️ | ✔️ | |
✔️ | ✔️ | media URL slike za prikaz u postu. |
|
Plurk | ❌ ️ | ✔️ | |
✔️ | ✔️ | ||
QZone | ✔️ | ✔️ | summary Sažetak posta. |
✔️ | ✔️ | ||
Renren | ✔️ | ✔️ | description Opis posta. srcUrl Originalni URL posta. |
Skype | ✔️ | ✔️ | |
Telegram | ✔️ | ✔️ | |
Threema | ❌ | ✔️ | id ID osobe kojoj se šalje post. |
Tumblr | ✔️ | ✔️ | caption Natpis za dodavanje u post. tags Lista tagova za primjenu na post, odvojena zarezima. |
✔️ | ✔️ | hastags Lista hash tagova za primjenu na tweet, odvojena zarezima. via Twitter korisnik kojem se daje kredit. |
|
Viber | ✔️ | ✔️ | |
VKontakte | ✔️ | ✔️ | description Opis posta. image URL slike za prikaz u postu. |
✔️ | ✔️ | ||
✔️ | ✔️ | ||
❌ | ✔️ | ||
YahooMail | ✔️ | ✔️ |
Dodavanje usluge je relativno jednostavno. Počnite kreiranjem nove klase usluge unutar src/Services
foldera. Imenujte klasu prema usluzi koju dodajete. Sistem automatski registruje uslugu putem fabrike, tako da nema potrebe za ručnom registracijom.
Gmail usluga prikazana ispod služi kao dobar primjer.
<?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', ];}
Napominjemo da je samo baseUrl
obavezan. baseParameterMapping
, additionalParameters
i defaultParameters
su opcionalni, ali mogu poboljšati funkcionalnost.
$baseUrl
URL usluge ne mora počinjati sa HTTPS. Na primjer, Viber koristi
viber://forward
.
Svojstvo baseUrl
specificira primarni URL usluge. Ovaj URL je osnovni pri generisanju linka za dijeljenje, kojem se dodaju upitni parametri. Koristeći Gmail kao primjer, njegov osnovni URL je https://mail.google.com/mail/u/0
.
$baseParameterMapping
Ovaj paket prepoznaje dva primarna atributa: text
i url
, s obzirom na njihovu rasprostranjenost kod većine pružatelja usluga. Definišite ove atribute samo ako usluga koristi drugačiju konvenciju imenovanja. Na primjer, Gmail koristi body
umjesto text
, što zahtijeva eksplicitno mapiranje. Kada koristite Gmail, svaki text
atribut proslijeđen blade komponenti se transformiše u body
upitni parametar u linku za dijeljenje.
$additionalParameters
Neke usluge prihvataju specifičnije upitne parametre. Uzimajući Gmail kao referencu, on podržava bcc
, cc
, su
i to
. Definišite ih u additionalParameters
nizu. Kada korisnici uključe ove atribute u blade komponenti, oni se dodaju u link za dijeljenje. Osigurajte da su ovi parametri također navedeni u tabeli podržanih usluga, zajedno sa kratkim opisima.
$defaultParameters
Određene usluge zahtijevaju specifične upitne parametre da bi link za dijeljenje funkcionisao. Na primjer, Gmail zahtijeva uključivanje view=cm
. Takvi obavezni atributi se deklariraju u defaultParameters
nizu. Oni se uvijek dodaju u link za dijeljenje i ne mogu se izostaviti.
prepareAttributes()
Da biste manipulisali atributima prije generisanja linka za dijeljenje, uvedite metodu prepareAttributes
u svoju uslugu. Ova metoda se aktivira prije prosljeđivanja atributa metodi generateLink
, omogućavajući prilagođene modifikacije atributa. Ispod je demonstracija koristeći AppendsLinks
trait.
<?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']; } }}
Atributi proslijeđeni u uslugu su dostupni putem $attributes
niza. U prikazanom primjeru:
Ako su prisutni i text
i url
atributi, url
se dodaje text
atributu.
Ako je dostupan samo url
atribut, text
atribut preuzima vrijednost url
.
Hvala što ste odabrali naš open source paket! Molimo vas da odvojite trenutak da pregledate ove smjernice za podršku. One će vam pomoći da maksimalno iskoristite naš projekt.
Naš open-source projekt pokreće naša sjajna zajednica. Ako imate pitanja ili trebate pomoć, StackOverflow i drugi online resursi su vaša najbolja opcija.
Realnost upravljanja open-source projektom znači da ne možemo odmah riješiti svaku prijavljenu grešku ili zahtjev za funkcijom. Prioritiziramo probleme prema sljedećem redoslijedu:
Greške koje utječu na naše plaćene proizvode uvijek će biti naš glavni prioritet. U nekim slučajevima, možemo riješiti samo greške koje direktno utječu na nas.
Ako ste identificirali grešku i imate rješenje, molimo vas da podnesete pull zahtjev. Nakon problema koji utječu na naše proizvode, sljedeći najviši prioritet dajemo ovim rješenjima vođenim zajednicom. Nakon pregleda i odobrenja, spojit ćemo vaše rješenje i priznati vaš doprinos.
Za probleme izvan navedenih kategorija, možete odabrati financiranje njihovog rješenja. Svaki otvoreni problem je povezan s narudžbenicom gdje možete financijski doprinijeti. Prioritiziramo ove probleme na osnovu iznosa financiranja.
Open source napreduje kada je njegova zajednica aktivna. Čak i ako ne popravljate greške, razmislite o doprinosu kroz poboljšanja koda, ažuriranja dokumentacije, tutorijale ili pomažući drugima u kanalima zajednice. Toplo ohrabrujemo sve, kao zajednicu, da pomognu podržati open-source rad.
Da ponovimo, DefectiveCode će prioritizirati greške na osnovu toga kako utječu na naše plaćene proizvode, pull zahtjeve zajednice i financijsku podršku primljenu za probleme.
Autorska prava © Defective Code, LLC. Sva prava zadržana
Dozvola se ovim putem daje, besplatno, bilo kojoj osobi koja dobije kopiju ovog softvera i pridruženih dokumentacijskih datoteka (u daljem tekstu "Softver"), da koristi Softver bez ograničenja, uključujući bez ograničenja prava na korištenje, kopiranje, modifikaciju, spajanje, objavljivanje, distribuciju, podlicenciranje i/ili prodaju kopija Softvera, i da dozvoli osobama kojima je Softver dostavljen da to učine, pod sljedećim uvjetima:
Gore navedena obavijest o autorskim pravima i ova dozvola moraju biti uključeni u sve kopije ili značajne dijelove Softvera.
SOFTVER SE PRUŽA "KAKAV JEST", BEZ IKAKVIH JAMSTAVA, IZRIČITIH ILI IMPLICIRANIH, UKLJUČUJUĆI, ALI NE OGRANIČAVAJUĆI SE NA JAMSTVA PRODAJNOSTI, PODOBNOSTI ZA ODREĐENU SVRHU I NEKRŠENJA PRAVA. NI U KOJEM SLUČAJU AUTORI ILI VLASNICI AUTORSKIH PRAVA NEĆE BITI ODGOVORNI ZA BILO KOJI ZAHTJEV, ŠTETU ILI DRUGU ODGOVORNOST, BILO U UGOVORU, DELIKTU ILI DRUGAČIJE, KOJA PROIZLAZI IZ, IZVAN ILI U VEZI SA SOFTVEROM ILI KORIŠTENJEM ILI DRUGIM POSTUPCIMA U SOFTVERU.