English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文
Uvod
Ovaj paket pojednostavljuje proces dodavanja linkova za deljenje u vašu Laravel aplikaciju. Slobodno otvorite pull request ako primetite da nedostaje neka usluga!
Link za deljenje je URL koji kombinuje osnovni URL društvenih mreža sa upitnim parametrima za deljenje sadržaja sa vaše veb stranice ili aplikacije. Parametri obično uključuju URL sadržaja i prethodno postavljenu poruku. Ovi linkovi, kao što je prikazano u primerima, omogućavaju korisnicima lako deljenje postova na platformama kao što su Twitter, Facebook i Telegram. Koristite ovaj open-source paket da brzo kreirate linkove za deljenje putem Laravelovog sistema blade komponenti.
Primer
<x-link-sharer service="twitter" text="Podeli me!" url="https://www.defectivecode.com" hashtags="super,linkovi" class="p-4"> <!-- Vaš HTML kod ovde za kontrolu izgleda i osećaja dugmeta za deljenje --> <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
- Prvo instalirajte PHP paket pokretanjem sledeće composer komande:
composer require defectivecode/link-sharer
- To je to! Naš paket će se automatski instalirati koristeći Laravelovu otkrivanje paketa.
Usluge
Pružatelji usluga povremeno ažuriraju svoje linkove za deljenje bez prethodne najave. Trudimo se da budemo u toku sa tim promenama. Međutim, ako naiđete na nefunkcionalnu uslugu, ljubazno otvorite problem ili pošaljite pull request. Za dodavanje nove usluge, pogledajte odeljak kontribucije ispod.
Neke usluge pružaju dodatne parametre koji se mogu proslediti komponenti. Ovi su dokumentovani u tabeli ispod.
| Usluga | Podržan tekst | Podržan URL | Napomene |
|---|---|---|---|
| Blogger | ✔️ | ✔️ | t Tekst blog posta. |
| Diaspora | ✔️ | ✔️ | |
| Diigo | ✔️ | ✔️ | description Opis koji će se dodati postu. |
| Douban | ✔️ | ✔️ | comment Komentar koji će se dodati postu. |
| Evernote | ✔️ | ✔️ | |
| ❌ | ✔️ | ||
| ✔️ | ✔️ | quote Citat koji će se dodati postu. |
|
| Gmail | ✔️ | ✔️ | bcc Lista email adresa za BCC, odvojena zarezima. cc Lista email adresa za CC, odvojena zarezima. su Tema emaila. to Lista email adresa na koje će se slati. |
| HackNews | ✔️ | ✔️ | |
| Instapaper | ✔️ | ✔️ | description Opis posta. |
| LineMe | ❌️ | ✔️ | |
| ❌ | ✔️ | ||
| LiveJournal | ✔️ | ✔️ | |
| Meneame | ❌️ | ✔️ | |
| Okru | ❌️ | ✔️ | |
| Outlook | ✔️ | ✔️ | |
| ✔️ | ✔️ | media URL slike koja će se prikazati na 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 Naslov koji će se dodati postu. tags Lista tagova, razdvojenih zarezima, koja će se primeniti na post. |
| ✔️ | ✔️ | hastags Lista heš tagova, razdvojenih zarezima, koja će se primeniti na tvit. via Tvit koji daje zaslugu. |
|
| Viber | ✔️ | ✔️ | |
| VKontakte | ✔️ | ✔️ | description Opis posta. image URL slike koja će se prikazati na postu. |
| ✔️ | ✔️ | ||
| ✔️ | ✔️ | ||
| ❌ | ✔️ | ||
| YahooMail | ✔️ | ✔️ |
Kontribucije
Dodavanje usluge je relativno jednostavno. Počnite tako što ćete kreirati novu klasu 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.
Usluga Gmail koja je data u nastavku služi kao dobar primer.
<?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', ];}
Molimo vas da imate na umu da je samo baseUrl obavezan. baseParameterMapping, additionalParameters i defaultParameters su opcioni, ali mogu poboljšati funkcionalnost.
$baseUrl
URL usluge ne mora početi sa HTTPS. Na primer, Viber koristi
viber://forward.
Svojstvo baseUrl specifično je za primarni URL usluge. Ovaj URL je osnovan prilikom generisanja linka za deljenje, kome se dodaju upitni parametri. Koristeći Gmail kao primer, njegov osnovni URL je https://mail.google.com/mail/u/0.
$baseParameterMapping
Ovaj paket identifikuje dva osnovna atributa: text i url, s obzirom na njihovu prisutnost kod većine pružatelja usluga. Definišite ove atribute samo ako usluga koju razmatrate koristi drugačiju nomenklaturu. Na primer, Gmail koristi body umesto text, što zahteva ovu eksplicitnu mapu. Kada se koristi Gmail, svaki text atribut prosleđen blade komponenti pretvara se u body upitni parametar u linku za deljenje.
$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 nizu additionalParameters. Kada korisnici uključe ove atribute u blade komponentu, oni se dodaju u link za deljenje. Osigurajte da su ovi parametri takođe navedeni u tabeli podržanih usluga, uz kratke opise.
$defaultParameters
Određene usluge zahtevaju specifične upitne parametre da bi link za deljenje funkcionisao. Kao primer, Gmail zahteva uključivanje view=cm. Takvi obavezni atributi se deklariraju u nizu defaultParameters. Uvek se dodaju u link za deljenje i ne mogu se izostaviti.
prepareAttributes()
Da biste manipulisali atributima pre generisanja linka za deljenje, uvedite metodu prepareAttributes u vašu uslugu. Ova metoda se aktivira pre nego što se atributi proslede metodi generateLink, omogućavajući prilagodbu atributa. U sledećem je prikazana demonstracija korišćenjem AppendsLinks svojstva.
<?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 prosleđeni u uslugu su dostupni putem $attributes niza. U ilustrovanom primeru:
- Ako su prisutna oba atributa
textiurl,urlse dodaje atribututext. - Ako je dostupan samo atribut
url, atributtextpreuzima vrednosturl.
Smjernice za podršku
Hvala što ste odabrali naš paket otvorenog koda! Molimo vas da odvojite trenutak da pregledate ove smjernice za podršku. Pomoći će vam da izvučete maksimum iz našeg projekta.
Podrška vođena zajednicom
Naš projekat otvorenog koda pokreće naša sjajna zajednica. Ako imate pitanja ili trebate pomoć, StackOverflow i ostali online resursi su najbolji izbor.
Greške i prioritizacija funkcionalnosti
Stvarnost upravljanja projektom otvorenog koda je da ne možemo odmah riješiti svaku prijavljenu grešku ili zahtjev za funkcionalnošću. Prioritizujemo probleme u sledećem redu:
1. Greške koje utiču na naše plaćene proizvode
Greške koje utiču na naše plaćene proizvode uvijek će biti naš najveći prioritet. U nekim slučajevima, možda ćemo se fokusirati samo na greške koje direktno utiču na nas.
2. Pull zahtjevi zajednice
Ako ste identificirali grešku i imate rešenje, molimo pošaljite pull zahtjev. Nakon problema koji utiču na naše proizvode, sledeći najveći prioritet daju se ovim ispravkama koje pokreće zajednica. Kada se pregledaju i odobre, spojit ćemo vaše rešenje i priznati vaš doprinos.
3. Finansijska podrška
Za probleme izvan pomenutih kategorija, možete se odlučiti da finansijski podržite njihovo rješavanje. Svaki otvoreni problem je povezan s narudžbenicom na kojoj možete financijski doprinijeti. Prioritizujemo ove probleme na osnovu iznosa finansiranja koji je pružen.
Doprinosi zajednice
Otvoreni kod napreduje kada je njegova zajednica aktivna. Čak i ako ne ispravljate greške, razmislite o doprinosu kroz poboljšanja koda, ažuriranja dokumentacije, tutorijale ili pomažući drugima u zajedničkim kanalima. Veoma ohrabrujemo sve, kao zajednicu, da pomognu u podršci radu otvorenog koda.
Ponovo naglašavamo, DefectiveCode će prioritetizovati greške na osnovu njihovog uticaja na naše plaćene proizvode, pull zahtjeve zajednice i finansijsku podršku primljenu za probleme.
Licenca - MIT Licenca
Autorska prava © Defective Code, LLC. Sva prava zadržana
Ovim se dozvoljava, bez naplate, svakoj osobi koja dobije kopiju ovog softvera i pripadajućeg dokumentacionog materijala (u daljem tekstu "Softver"), da se bavi Softverom bez ograničenja, uključujući, ali ne ograničavajući se na prava da koristi, kopira, modifikuje, spaja, objavljuje, distribuira, sublicencira i/ili prodaje kopije Softvera, te da omogući osobama kojima je Softver dostavljen da učine tako, pod sledećim uslovima:
Gore navedena autorska prava i ova dozvola moraju biti uključeni u sve kopije ili bitne delove Softvera.
SOFTVER SE DOSTAVLJA "KAKAV JESTE", BEZ GARANCIJE BILO KAKVE VRSTE, IZRIČITE ILI IMPLICIRANE, UKLJUČUJUĆI, ALI NE OGRANIČAVAJUĆI SE NA GARANCIJE PRODAJE, PRIKLADNOSTI ZA ODREĐENU NAMENU I NEPOŠTOVANJE PRAVA. U NIKAKVOM SLUČAJU AUTORI ILI NOSIOCI AUTORSKIH PRAVA NEĆE BITI ODGOVORNI ZA BILO KAKVE POTRAŽIVANJA, ŠTETE ILI DRUGE OBAVEZE, BEZ OBZIRA NA TO DA LI JE U PITANJU TUŽBA ZBOG UGOVORA, DELIKTA ILI DRUGIH RAZLOGA, PROIZAŠLE IZ, VAN ILI U VEZI SA SOFTVEROM ILI KORIŠĆENJEM ILI DRUGIM TRANSAKCIJAMA U VEZI SA SOFTVEROM.