English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文
Einführung
Dieses Paket vereinfacht den Prozess, Share-Links zu Ihrer Laravel-Anwendung hinzuzufügen. Fühlen Sie sich frei, einen Pull-Request zu eröffnen, wenn Sie bemerken, dass uns ein Dienst fehlt!
Ein Share-Link ist eine URL, die eine Basis-URL der sozialen Medien mit Abfrageparametern kombiniert, um Inhalte von Ihrer Website oder App zu teilen. Zu den Parametern gehören in der Regel die Inhalts-URL und eine vorab festgelegte Nachricht. Diese Links ermöglichen es den Nutzern, Beiträge einfach auf Plattformen wie Twitter, Facebook und Telegram zu teilen, wie in den Beispielen gezeigt. Verwenden Sie dieses Open-Source-Paket, um schnell Share-Links über das Blade-Komponenten-System von Laravel zu erstellen.
Beispiel
<x-link-sharer service="twitter" text="Teile mich!" url="https://www.defectivecode.com" hashtags="awesome,links" class="p-4"> <!-- Ihr HTML-Code hier, um das Aussehen und Gefühl der Share-Schaltfläche zu steuern --> <span class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">Klick mich!</span></x-link-sharer>
Installation
- Zuerst installieren Sie das PHP-Paket, indem Sie den folgenden Composer-Befehl ausführen:
composer require defectivecode/link-sharer
- Das war's! Unser Paket wird automatisch mit Laravel's Paketentdeckung installiert.
Dienste
Dienstanbieter aktualisieren gelegentlich ihre Share-Links ohne Vorankündigung. Wir bemühen uns, mit diesen Änderungen Schritt zu halten. Wenn Sie jedoch auf einen nicht funktionierenden Dienst stoßen, öffnen Sie bitte ein Issue oder reichen Sie einen Pull-Request ein. Um einen neuen Dienst hinzuzufügen, beachten Sie bitte den Abschnitt Beitragen weiter unten.
Einige Dienste bieten zusätzliche Parameter an, die an die Komponente übergeben werden können. Diese sind in der Tabelle unten dokumentiert.
| Dienst | Unterstützter Text | Unterstützte URL | Hinweise |
|---|---|---|---|
| Blogger | ✔️ | ✔️ | t Der Text des Blogbeitrags. |
| Diaspora | ✔️ | ✔️ | |
| Diigo | ✔️ | ✔️ | description Eine Beschreibung, die zum Beitrag hinzugefügt werden soll. |
| Douban | ✔️ | ✔️ | comment Ein Kommentar, der zum Beitrag hinzugefügt werden soll. |
| Evernote | ✔️ | ✔️ | |
| ❌ | ✔️ | ||
| ✔️ | ✔️ | quote Ein Zitat, das zum Beitrag hinzugefügt werden soll. |
|
| Gmail | ✔️ | ✔️ | bcc Eine durch Kommas getrennte Liste von E-Mail-Adressen für BCC. cc Eine durch Kommas getrennte Liste von E-Mail-Adressen für CC. su Der Betreff der E-Mail. to Eine durch Kommas getrennte Liste von E-Mail-Adressen, an die gesendet werden soll. |
| HackNews | ✔️ | ✔️ | |
| Instapaper | ✔️ | ✔️ | description Eine Beschreibung des Beitrags. |
| LineMe | ❌ | ✔️ | |
| ❌ | ✔️ | ||
| LiveJournal | ✔️ | ✔️ | |
| Meneame | ❌ | ✔️ | |
| Okru | ❌ | ✔️ | |
| Outlook | ✔️ | ✔️ | |
| ✔️ | ✔️ | media Eine Bild-URL, die im Beitrag angezeigt werden soll. |
|
| Plurk | ❌ | ✔️ | |
| ✔️ | ✔️ | ||
| QZone | ✔️ | ✔️ | summary Eine Zusammenfassung des Beitrags. |
| ✔️ | ✔️ | ||
| Renren | ✔️ | ✔️ | description Eine Beschreibung des Beitrags. srcUrl Die ursprüngliche URL des Beitrags. |
| Skype | ✔️ | ✔️ | |
| Telegram | ✔️ | ✔️ | |
| Threema | ❌ | ✔️ | id Die ID der Person, an die der Beitrag gesendet werden soll. |
| Tumblr | ✔️ | ✔️ | caption Eine Bildunterschrift, die zum Beitrag hinzugefügt werden soll. tags Eine durch Kommas getrennte Liste von Tags, die auf den Beitrag angewendet werden sollen. |
| ✔️ | ✔️ | hastags Eine durch Kommas getrennte Liste von Hashtags, die auf den Tweet angewendet werden sollen. via Der Twitter-Nutzer, dem Anerkennung gezollt werden soll. |
|
| Viber | ✔️ | ✔️ | |
| VKontakte | ✔️ | ✔️ | description Eine Beschreibung des Beitrags. image Eine Bild-URL, die im Beitrag angezeigt werden soll. |
| ✔️ | ✔️ | ||
| ✔️ | ✔️ | ||
| ❌ | ✔️ | ||
| YahooMail | ✔️ | ✔️ |
Beitragen
Ein Dienst hinzuzufügen ist relativ unkompliziert. Beginnen Sie damit, eine neue Dienstklasse im Ordner src/Services zu erstellen. Nennen Sie die Klasse nach dem Dienst, den Sie hinzufügen. Das System registriert den Dienst automatisch über die Factory, sodass keine manuelle Registrierung erforderlich ist.
Der unten bereitgestellte Gmail-Dienst dient als gutes Beispiel.
<?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', ];}
Bitte beachten Sie, dass nur die baseUrl obligatorisch ist. Die baseParameterMapping, additionalParameters und defaultParameters sind optional, können jedoch die Funktionalität verbessern.
$baseUrl
Die URL eines Dienstes muss nicht mit HTTPS beginnen. Zum Beispiel verwendet Viber
viber://forward.
Die Eigenschaft baseUrl gibt die primäre URL des Dienstes an. Diese URL ist grundlegend für die Generierung des Share-Links, an den Abfrageparameter angehängt werden. Am Beispiel von Gmail ist die Basis-URL https://mail.google.com/mail/u/0.
$baseParameterMapping
Dieses Paket identifiziert zwei Hauptattribute: text und url, angesichts ihrer Verbreitung über die meisten Dienstanbieter. Definieren Sie nur diese Attribute, wenn der betreffende Dienst eine andere Namenskonvention verwendet. Gmail verwendet beispielsweise body anstelle von text, was diese explizite Zuordnung erforderlich macht. Wenn Gmail verwendet wird, wird jedes text-Attribut, das an die Blade-Komponente übergeben wird, in den body-Abfrageparameter im Share-Link umgewandelt.
$additionalParameters
Einige Dienste akzeptieren spezifischere Abfrageparameter. Am Beispiel von Gmail unterstützt es bcc, cc, su und to. Definieren Sie diese im Array additionalParameters. Wenn Nutzer diese Attribute in die Blade-Komponente einfügen, werden sie zum Share-Link hinzugefügt. Stellen Sie sicher, dass diese Parameter auch in der Tabelle unterstützte Dienste aufgeführt sind, einschließlich kurzer Beschreibungen.
$defaultParameters
Einige Dienste erfordern bestimmte Abfrageparameter, damit der Share-Link funktioniert. Beispielsweise benötigt Gmail die Einbeziehung von view=cm. Solche obligatorischen Attribute werden im Array defaultParameters deklariert. Sie werden immer dem Share-Link hinzugefügt und können nicht weggelassen werden.
prepareAttributes()
Um die Attribute vor der Generierung eines Share-Links zu manipulieren, fügen Sie Ihrer Dienstklasse eine Methode prepareAttributes hinzu. Diese Methode wird aktiviert, bevor die Attribute an die Methode generateLink übergeben werden, was individuelle Attributmodifikationen ermöglicht. Nachfolgend ein Beispiel unter Verwendung des Traits AppendsLinks.
<?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']; } }}
Die an den Dienst übergebenen Attribute sind über das Array $attributes zugänglich. Im dargestellten Beispiel:
- Wenn sowohl die Attribute
textals auchurlvorhanden sind, wird dieurlan das Attributtextangehängt. - Sollte nur das Attribut
urlverfügbar sein, erhält das Attributtextden Wert derurl.
Support Richtlinien
Danke, dass Sie sich für unser Open-Source-Paket entschieden haben! Bitte nehmen Sie sich einen Moment Zeit, um diese Unterstützungsrichtlinien durchzulesen. Sie helfen Ihnen, das Beste aus unserem Projekt herauszuholen.
Community-gesteuerte Unterstützung
Unser Open-Source-Projekt wird von unserer großartigen Community unterstützt. Wenn Sie Fragen haben oder Hilfe benötigen, sind StackOverflow und andere Online-Ressourcen Ihre besten Optionen.
Bugs und Priorisierung von Funktionen
Die Realität des Managements eines Open-Source-Projekts bedeutet, dass wir nicht sofort jeden gemeldeten Fehler oder jede Funktionsanfrage angehen können. Wir priorisieren Probleme in der folgenden Reihenfolge:
1. Bugs, die unsere kostenpflichtigen Produkte betreffen
Bugs, die unsere kostenpflichtigen Produkte beeinträchtigen, haben immer die höchste Priorität. In einigen Fällen behandeln wir möglicherweise nur Bugs, die uns direkt betreffen.
2. Community Pull Requests
Wenn Sie einen Bug identifiziert haben und eine Lösung haben, reichen Sie bitte einen Pull Request ein. Nach den Problemen, die unsere Produkte betreffen, geben wir diesen community-gesteuerten Fehlerbehebungen die nächsthöchste Priorität. Sobald Ihr Lösungsvorschlag geprüft und genehmigt wurde, werden wir Ihre Lösung zusammenführen und Ihre Beiträge anerkennen.
3. Finanzielle Unterstützung
Für Probleme außerhalb der genannten Kategorien können Sie sich entscheiden, deren Lösung zu finanzieren. Jedes offene Problem ist mit einem Bestellformular verknüpft, über das Sie finanziell beitragen können. Wir priorisieren diese Probleme basierend auf dem bereitgestellten Finanzierungsbetrag.
Community-Beiträge
Open Source gedeiht, wenn seine Community aktiv ist. Auch wenn Sie keine Bugs beheben, ziehen Sie in Betracht, durch Codeverbesserungen, Dokumentationsaktualisierungen, Tutorials oder durch Unterstützung anderer in Community-Kanälen einen Beitrag zu leisten. Wir ermutigen alle, als Community zusammenzuarbeiten, um die Arbeit im Bereich Open Source zu unterstützen.
Nocht einmal: DefectiveCode wird Bugs priorisieren, basierend darauf, wie sie unsere kostenpflichtigen Produkte, Community-Pull-Requests und die finanzielle Unterstützung für Probleme beeinträchtigen.
Lizenz - MIT Lizenz
Copyright © Defective Code, LLC. Alle Rechte vorbehalten
Hiermit wird jedermann, der eine Kopie dieser Software und der dazugehörigen Dokumentationsdateien (die "Software") erhält, kostenlos die Erlaubnis erteilt, die Software ohne Einschränkung zu nutzen, einschließlich, aber nicht beschränkt auf das Recht, die Software zu verwenden, zu kopieren, zu modifizieren, zusammenzuführen, zu veröffentlichen, zu vertreiben, Unterlizenzen zu erteilen und/oder Kopien der Software zu verkaufen, sowie Personen, denen die Software bereitgestellt wird, dies zu gestatten, vorbehaltlich der folgenden Bedingungen:
Die obige Urheberrechtshinweis und diese Erlaubnismitteilung sind in allen Kopien oder wesentlichen Teilen der Software enthalten.
DIE SOFTWARE WIRD "WIE BESEHEN" BEREITGESTELLT, OHNE GARANTIE IRGENDWELCHER ART, WEDER AUSDRÜCKLICH NOCH STILLSCHWEIGEND, EINSCHLIESSLICH, ABER NICHT BEGRENZT AUF DIE GARANTIEN DER MARKTFÄHIGKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG. IN KEINEM FALL SIND DIE AUTOREN ODER URHEBERRECHTSINHABER FÜR IRGENDEINEN ANSPRUCH, SCHÄDEN ODER ANDERE HAFTUNGEN HAFTBAR, OB IN EINER KLAUSEL FÜR VERTRAG, DELIKT ODER ANDERS, DIE AUS DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN GEHEIMNISSEN IN DER SOFTWARE ENTSTEHEN.