맨유를 언급하다...가다

Linda Hamilton
풀어 주다: 2024-10-04 20:23:30
원래의
828명이 탐색했습니다.

블로그는 자신의 의견을 공개적으로 공개하는 것을 의미하며 당연히 그에 대한 반응을 기대합니다. 그렇지 않으면 작은 노트에 생각을 적어 침대 옆 탁자에 숨겨 두는 것이 좋습니다. 따라서 블로그 게시물은 항상 동료 인간, 독자 및 웹 사용자와의 대화의 전반부에 불과합니다. 나머지 절반은 반응 또는 더 나은 상호 작용으로 구성됩니다. 더 널리 퍼뜨리거나 토론하기 위해 자신의 블로그 게시물에 의견을 포함하는 다른 블로거의 좋아요, 댓글 또는 링크입니다. 이 두 부분에서 이야기가 나옵니다.

블로깅이 다시 인기를 얻고 있는 것 같습니다. 정보를 쉽게 공유할 수 있게 해주는 대규모 “오피니언 기업”에 의해 수년 동안 갇혀 있던 후, 많은 사람들은 이러한 단순성에 대가가 따른다는 것을 깨달았습니다. 의견 그 자체나 사람조차도 결코 관심의 초점이 아니었기 때문입니다. 폐쇄된 네트워크의 중심에 있는 콘텐츠는 화폐화되거나 타인을 조작하는 데 사용됩니다. 오늘날 블로그 활동은 자유와 독립, 그리고 대규모 소셜 미디어 플랫폼으로부터의 해방에 대한 열망의 표현이기도 합니다.

그러나 이러한 자유로움은 상당한 기술적 이해가 있어야 하며 콘텐츠 연결이 키보드만 사용할 수 있는 대형 플랫폼만큼 쉽지 않다는 것을 의미하기도 합니다. 이 시점에서는 Wordpress와 같은 블로깅 플랫폼이 확실히 도움이 되지만 결국에는 자신의 생각을 게시물 형식으로 적고 게시할 수 있는 블로그만 있을 뿐 자동으로 대화가 되는 것은 아닙니다. 블로그를 통한 실제 대화를 위한 가장 중요한 구성 요소는 월드 와이드 웹(World Wide Web)의 핵심 요소인 하이퍼링크입니다. 그리고 블로그 초창기인 2000년대와 달리 오늘날에는 링크를 통해 소통하고 단순히 블로그 게시물에 댓글을 다는 것 이상의 상호 작용에 참여할 수 있는 방법이 많이 있습니다.

상호작용

예: Alice가 자신의 블로그에 글을 씁니다...

  1. Bob은 이 글을 읽고 자신의 블로그에 해당 주제에 대해 글을 쓰며 URL을 통해 Alice의 글을 언급합니다.
  2. Alice는 Mastodon과 같은 소셜 웹 플랫폼에 헤드라인을 포함하여 자신의 게시물에 대한 URL을 게시합니다. 글을 읽고 좋아요를 눌러주는 크리스
  3. 다니엘은 마스토돈 게시글에 답글과 재게시를 동시에 합니다
  4. Alice는 DEV와 같은 개발자 플랫폼에서 원본 URL을 포함한 전체 게시물을 배포하고 Eric은 이 게시물에 댓글을 달았습니다.

위의 모든 상호 작용은 Alice의 블로그에서 시작되었지만 Alice의 시스템 외부에서 발생하며 원본 게시물에는 반영되지 않습니다. Bob은 확실히 Eric의 의견이나 Daniel의 답변이 흥미로울 것이라고 생각하지만 Alice가 자신의 블로그에서 Bob이 언급한 내용을 알지 못하는 것과 마찬가지로 Bob도 이러한 내용을 인식하지 못합니다. 원본 게시물에는 웹에서의 모든 상호작용 목록이 누락되어 있습니다.

이 모든 것을 달성하는 기술은 이미 존재합니다. 실천에 옮기기만 하면 됩니다:

1: Bob은 게시물 페이지(예: webmention.io)에서 Alice가 연결한 엔드포인트로 웹멘션을 보내고 Alice는 API를 통해 그곳에서 이를 검색합니다
2와 3: Alice는 이전에 Brid.gy를 설정하여 Mastodon 상호 작용을 Webmention 엔드포인트에 전달했습니다
4: Alice는 전용 API를 통해 DEV 댓글을 검색합니다

Fediverse라고도 불리는 소셜 웹의 상호 작용은 오늘날 다양한 블로그 게시물에서 이미 볼 수 있습니다. 일반적으로 Mastodon의 API에서 페이지로 직접 가져옵니다. 그러나 이는 일반적으로 한 가지 중요한 측면, 즉 원본 게시물에 자체 수행 신디케이션을 연결하여 독자에게 단 한 번의 클릭으로 상호 작용 옵션을 제공할 수 있는 기회를 제공한다는 점을 간과합니다.

하지만 Alice는 해당 API에 익숙해지지 않고도 어떻게 자신의 페이지에서 상호 작용을 할 수 있을까요?

그녀는 Mentions United 프로젝트의 클라이언트 스크립트를 사용합니다...

운동량

3년 전부터 저는 이 블로그에 웹멘션을 소개하고 여기저기 글을 썼을 뿐만 아니라, 다른 플랫폼에서 수동으로 신디케이션을 체계적으로 기록하여 게시물 아래에 표시하기 시작했습니다.
나는 Mastodon에 텍스트 게시물을 배포하고 콘텐츠가 적합하다면 Pixelfed, Flickr 및 기타 (불행히도) 폐쇄 플랫폼의 DEV 및 사진에 게시합니다. Aaron Parecki의 webmention.io와 Ryan Barrett의 brid.gy를 결합하여 Mastodon과 Flickr의 모든 웹멘션과 상호 작용을 수집하고 클라이언트측 JavaScript를 사용하여 게시물 페이지로 가져왔습니다.

하지만 항상 부족한 것은 다른 플랫폼과의 상호작용이었습니다. brid.gy는 원칙적으로 소셜 웹 최대 사진 플랫폼인 Pixelfed의 좋아요와 댓글을 수집할 수 있지만, 플랫폼에서 4년 동안 알려진 몇 가지 버그로 인해 이를 방해하고 있습니다.

Nun, ich bin nicht der geduldigste Mensch, und da in der Pixelfed-Ausgabe auch nach mehrmaligem Nachfragen keine Antwort kam und es bei mir sowieso nur ein Problem gelöst hätte, dachte ich mir: Dann werde ich es tun Bauen Sie einfach selbst etwas auf, das in der Lage ist, Interaktionen von allen möglichen APIs aufzunehmen und sie in meine Beitragsseiten einzufügen.

Projekt «Mentions United»

Wie Robb Knight über sein EchoFeed sagte:

Dinge zu benennen ist schwer, lass mich in Ruhe.

Funktionalität und Struktur der Lösung waren einfacher zu definieren. Einerseits sollte es eine reine Client-JavaScript-Anwendung sein, die im Browser auf der Seite läuft, um sicherzustellen, dass die Daten immer aktuell sind und zurückgezogene Interaktionen nicht berücksichtigt werden. Andererseits sollte ein Plugin-System immer nur die Skripte ausführen, die benötigt werden.

Das Projekt besteht daher aus einem Hauptskript von nur 7 KB und zwei Arten von Plug-in-Skripten:

  • Anbieter-Plugins um personenbezogene Interaktionsdaten abzurufen und in eine gemeinsame Form zu bringen

  • Renderer-Pluginsum die gesammelten Daten in HTML umzuwandeln und in die Seite einzufügen

Das Hauptskript (mentions-united.js) implementiert die folgenden relevanten Methoden:

  • register(plugin) – Registriert ein Plugin-Skript zur Ausführung
  • load() – Führt die Methode „retrie()“ in allen registrierten Anbieter-Plugins aus, die die Daten von den jeweiligen APIs sammelt
  • show() – Führt die render(interactions)-Methode in allen registrierten Renderer-Plugins aus, die die zusammengeführten Daten in HTML konvertiert und einfügt

Weitere Erläuterungen zum Aufbau der Lösung finden Sie in der README des GitHub-Repos.

Verfügbare Plugins

Die ursprünglich entwickelten Plugins decken natürlich meine Bedürfnisse für diesen Blog ab, es wäre aber toll, wenn im Laufe der Zeit weitere aus der Entwickler-Community hinzukämen. Ich werde in den nächsten Wochen native Anbieter-Plugins für Mastodon und Flickr beisteuern, um die aktuelle Abhängigkeit von brid.gy zu reduzieren, wo es nicht mehr notwendig ist.

  • Anbieter-Plugin Webmentions (mentions-united-provider_webmentions.js)
    Erhalten Sie alle Interaktionen von der webmention.io-API über die URL des Blog-Beitrags (Ziel), seien es echte Webmentionen oder Interaktionen von den über brid.gy eingebundenen Plattformen Mastodon, Bluesky, GitHub, Flickr und anderen

  • Provider-Plugin Pixelfed (mentions-united-provider_pixelfed.js)
    Erhalten Sie alle Interaktionen von der API einer Pixelfed-Instanz über die Syndication-URL (Quelle). In den übergebenen Optionen können Sie auch eine API-Proxy-URL angeben, um zu verhindern, dass der für den Abruf notwendige Schlüssel öffentlich verfügbar ist.

  • Provider-Plugin DEV.to (mentions-united-provider_devto.js)
    Erhalten Sie alle Kommentare von der DEV-API über die Syndication-URL

Mentions United ... Go

Sobald alle Interaktionen gesammelt wurden, können die Renderer-Plugins sie auf unterschiedliche Weise in die Seite integrieren. Es ist wichtig zu beachten, dass die Lösung reines HTML ohne jegliche Stile ausgibt, da diese schließlich sehr individuell sind.

  • Renderer-Plugin Liste (mentions-united-renderer_list.js)
    Erzeugt eine absteigend sortierte Liste aller Interaktionen

  • Renderer-Plugin Avatare nach Typ (mentions-united-renderer_avatars-by-type.js)
    Erzeugt eine Inline-Liste von Avataren für alle Interaktionen eines bestimmten Typs, zum Beispiel „Gefällt mir“-Angaben

  • Renderer-Plugin Gesamtzahl (mentions-united-renderer_total-number.js)
    Erstellt einen Anker mit der Anzahl der Interaktionen

Weitere Informationen zu den Plugins, den Optionen und viele weitere Details finden Sie im GitHub-Repository zum Projekt.


Im Originalbeitrag auf kiko.io gebe ich einen Einblick, wie meine Umsetzung unter der SSG Hexo aussieht ... https://kiko.io/post/Mentions-United-3-2-1-go/

위 내용은 맨유를 언급하다...가다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿