Rumah >hujung hadapan web >tutorial js >Sebut Bersatu ... Pergi
Blogging bermaksud meletakkan pendapat anda sendiri pada paparan umum, dan sudah tentu anda mengharapkan reaksi terhadapnya, jika tidak, anda lebih suka menulis fikiran anda dalam buku nota kecil dan menyembunyikannya di meja sisi katil anda. Oleh itu, catatan blog sentiasa hanya separuh pertama perbualan dengan sesama manusia, pembaca dan pengguna web. Separuh lagi terdiri daripada tindak balas atau, lebih baik lagi, interaksi. Suka, komen, atau pautan daripada blogger lain yang mengambil pendapat dalam catatan blog mereka sendiri untuk menyebarkannya lebih lanjut atau membincangkannya. Sebuah cerita muncul daripada dua bahagian ini.
Nampaknya blogging semakin popular semula. Selepas bertahun-tahun dipagari oleh "perbadanan pendapat" yang besar, yang memudahkan untuk berkongsi maklumat, ramai orang telah menyedari bahawa kesederhanaan ini datang pada harga, kerana pendapat itu sendiri atau orang itu tidak pernah menjadi tumpuan minat. Kandungan di tengah-tengah rangkaian tertutup diwangkan atau digunakan untuk memanipulasi orang lain. Hari ini, blog juga merupakan ungkapan keinginan untuk kebebasan dan kemerdekaan serta pembebasan daripada platform media sosial yang besar.
Walau bagaimanapun, kebebasan ini juga bermakna anda perlu mempunyai pemahaman teknikal yang mencukupi dan memautkan kandungan tidak semudah di platform besar, di mana anda hanya perlu menggunakan papan kekunci. Platform blog seperti Wordpress sememangnya membantu pada ketika ini, tetapi pada penghujung hari anda hanya mempunyai blog di mana anda boleh menulis dan menerbitkan pemikiran anda dalam bentuk siaran, tetapi bukan perbualan secara automatik. Blok binaan yang paling penting untuk perbualan sebenar melalui blog ialah hiperpautan, elemen utama World Wide Web. Dan berbeza dengan tahun 2000-an, hari-hari awal blogging, hari ini terdapat beberapa cara untuk berkomunikasi melalui pautan dan dengan itu melibatkan diri dalam interaksi yang melampaui sekadar mengulas pada catatan blog.
Contoh: Alice menulis siaran di blognya...
Semua interaksi di atas berasal dari blog Alice, tetapi ia berlaku di luar sistemnya dan tidak ditunjukkan dalam siaran asal. Bob pastinya akan mendapati komen Eric atau balasan Daniel menarik, tetapi dia sama tidak menyedarinya sebagaimana Alice menyebut Bob di blognya. Senarai semua interaksi daripada web tiada pada siaran asal.
Teknik untuk mencapai semua ini sudah wujud. Ia hanya perlu dipraktikkan:
pada 1: Bob menghantar sebutan web ke titik akhir yang dipautkan oleh Alice pada halaman siaran (cth. webmention.io) dan Alice mendapatkannya semula di sana melalui API
pada 2 dan 3: Alice sebelum ini telah menyediakan brid.gy untuk turut menyampaikan interaksi Mastodon ke titik akhir Webmention
pada 4: Alice mendapatkan semula ulasan DEV melalui API khusus
Interaksi dari web sosial aka Fediverse sudah boleh dilihat pada pelbagai catatan blog hari ini. Mereka biasanya ditarik terus dari API Mastodon ke halaman. Walau bagaimanapun, ini biasanya mengabaikan satu aspek penting: pemautan sindiket yang dilakukan sendiri pada siaran asal, untuk memberi peluang kepada pembaca untuk mendapatkan pilihan interaksi dengan hanya satu klik!
Tetapi bagaimanakah Alice mendapat interaksi di halamannya tanpa perlu membiasakan diri dengan API masing-masing?
Dia hanya menggunakan skrip klien projek Mentions United ...
Tiga tahun lalu, saya bukan sahaja memperkenalkan Webmentions di blog ini dan menulis tentangnya di sini dan di sini, tetapi saya juga mula merekodkan pensindiketan manual saya secara sistematik pada platform lain dan memaparkannya di bawah siaran.
Saya mensindiketkan siaran teks di Mastodon dan, jika kandungannya sesuai, pada DEV dan foto di Pixelfed, Flickr dan beberapa platform tertutup yang lain (malangnya). Saya mengumpulkan semua Sebutan Web dan interaksi daripada Mastodon dan Flickr menggunakan gabungan webmention.io Aaron Parecki dan brid.gy Ryan Barrett dan membawanya ke halaman siaran menggunakan JavaScript sisi pelanggan.
Tetapi perkara yang selalu hilang ialah interaksi daripada platform lain. brid.gy boleh, pada dasarnya, mengumpul suka dan komen daripada Pixelfed, platform foto terbesar di web sosial, tetapi beberapa pepijat yang telah diketahui selama empat tahun di platform menghalang perkara ini.
Sekarang, saya bukan orang yang paling sabar, dan memandangkan tiada maklum balas walaupun selepas pertanyaan berulang dalam isu Pixelfed, dan ia hanya akan menyelesaikan satu masalah untuk saya, saya fikir sendiri: maka saya akan cuma bina sendiri sesuatu yang mampu mengambil interaksi daripada semua API yang mungkin dan memasukkannya ke dalam halaman siaran saya.
Seperti yang Robb Knight katakan tentang EchoFeednya:
Menamakan perkara itu sukar, tinggalkan saya sendiri.
Kefungsian dan struktur penyelesaian lebih mudah untuk ditentukan. Di satu pihak, ia adalah untuk menjadi aplikasi JavaScript pelanggan tulen yang berjalan dalam penyemak imbas pada halaman untuk memastikan bahawa data sentiasa terkini dan interaksi yang ditarik balik tidak diambil kira. Sebaliknya, sistem pemalam seharusnya hanya melaksanakan skrip yang diperlukan sahaja.
Oleh itu, projek ini terdiri daripada skrip utama hanya 7 KB dan dua jenis skrip pemalam:
Pemalam penyedia untuk mendapatkan semula data interaksi berkaitan orang dan meletakkannya dalam bentuk biasa
Pemalam Renderer untuk mengubah data yang dikumpul menjadi HTML dan memasukkannya ke dalam halaman
Skrip utama (mentions-united.js) melaksanakan kaedah berkaitan berikut:
Penjelasan lanjut tentang cara penyelesaian distrukturkan boleh didapati dalam README repo GitHub.
Pemalam yang dibangunkan pada mulanya secara semula jadi memenuhi keperluan saya untuk blog ini, tetapi alangkah baiknya jika dari semasa ke semasa lebih banyak daripada komuniti pembangun akan ditambahkan. Saya akan menyumbang pemalam penyedia asli untuk Mastodon dan Flickr dalam beberapa minggu akan datang untuk mengurangkan pergantungan semasa pada brid.gy, di mana ia tidak lagi diperlukan.
Pemalam-Pembekal Sebutan Web (mention-united-provider_webmentions.js)
Dapatkan semua interaksi daripada webmention.io API melalui URL catatan blog (sasaran), sama ada webmention sebenar atau interaksi daripada platform Mastodon, Bluesky, GitHub, Flickr dan lain-lain yang telah disepadukan melalui brid.gy
Penyedia-Pemalam Pixelfed (menyebut-united-provider_pixelfed.js)
Dapatkan semua interaksi daripada API tika Pixelfed melalui URL pensindiketan (sumber). Dalam pilihan yang diluluskan, anda juga boleh menentukan URL proksi API untuk menghalang kunci yang diperlukan untuk mendapatkan semula daripada tersedia secara umum.
Penyedia-Pemalam DEV.to (menyebut-united-provider_devto.js)
Dapatkan semua ulasan daripada API DEV melalui URL pensindiketan
Setelah semua interaksi telah dikumpulkan, pemalam pemapar boleh menyepadukannya ke dalam halaman dengan cara yang berbeza. Adalah penting untuk ambil perhatian bahawa penyelesaian mengeluarkan HTML tulen tanpa sebarang gaya, kerana ini adalah sangat individu selepas semua.
Renderer-Plugin Senarai (mention-united-renderer_list.js)
Menghasilkan senarai diisih menurun bagi semua interaksi
Renderer-Plugin Avatar mengikut Jenis (menyebut-united-renderer_avatars-by-type.js)
Menjana senarai sebaris avatar untuk semua interaksi jenis tertentu, contohnya Suka
Renderer-Plugin Jumlah Nombor (menyebut-united-renderer_total-number.js)
Mencipta sauh dengan bilangan interaksi
Maklumat tambahan tentang pemalam, pilihan dan banyak lagi butiran boleh didapati di repositori GitHub untuk projek itu.
Pada siaran asal di kiko.io saya memberikan gambaran bagaimana pelaksanaan saya kelihatan di bawah SSG Hexo ... https://kiko.io/post/Mentions-United-3-2-1-go/
Atas ialah kandungan terperinci Sebut Bersatu ... Pergi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!