FastComments.com

Προσθήκη σχολίων στον ιστότοπο Jekyll σας


Αυτή είναι η επίσημη βιβλιοθήκη Jekyll για το FastComments.

Ενσωματώστε widgets για ζωντανά σχόλια, συνομιλία και αξιολογήσεις στον ιστότοπό σας Jekyll.

Αποθετήριο

Δείτε στο GitHub


Ζωντανή παρουσίαση Internal Link

Για να δείτε κάθε tag να τρέχει τοπικά ενάντια στον δημόσιο tenant demo, κλωνοποιήστε το αποθετήριο και εκτελέστε:

cd example
bundle install
bundle exec jekyll serve

Κάθε widget έχει τη δική του σελίδα κάτω από example/ την οποία μπορείτε να αντιγράψετε απευθείας στην δική σας Jekyll ιστοσελίδα.

Εγκατάσταση Internal Link

Gem

Προσθέστε το gem στην ομάδα :jekyll_plugins στο Gemfile του ιστότοπού σας:

group :jekyll_plugins do
  gem "fastcomments-jekyll"
end

Στη συνέχεια:

bundle install

(Συμβατό με Jekyll 3.7+ και 4.x.)

Ετικέτες Internal Link

ΕτικέταΠεριγραφή
fastcommentsΖωντανά σχόλια με απαντήσεις, ψήφους, μετρίαση και ενημερώσεις σε πραγματικό χρόνο
fastcomments_comment_countΑριθμός σχολίων για την τρέχουσα σελίδα
fastcomments_comment_count_bulkΑριθμοί σχολίων για πολλές σελίδες σε μια σελίδα καταλόγου/ευρετηρίου
fastcomments_live_chatWidget συνομιλίας σε πραγματικό χρόνο
fastcomments_collab_chatΣυνεργατικός inline σχολιασμός (σημειώσεις κειμένου)
fastcomments_image_chatΣχόλια με σημειώσεις σε εικόνες
fastcomments_recent_commentsΠρόσφατα σχόλια σε ολόκληρο τον ιστότοπο
fastcomments_recent_discussionsΠρόσφατα ενεργά νήματα συζήτησης
fastcomments_reviews_summaryΣύνοψη αξιολογήσεων με αστέρια
fastcomments_top_pagesΟι πλέον συζητημένες σελίδες
fastcomments_user_activity_feedΡοή δραστηριότητας ανά χρήστη

Παραδείγματα

{% raw %}{# Αριθμός σχολίων. Το widget εμφανίζει τη δική του ετικέτα, π.χ. "0 σχόλια" #}
{% fastcomments_comment_count %}

{# Συνομιλία σε πραγματικό χρόνο #}
{% fastcomments_live_chat %}

{# Συνεργατική συνομιλία. Στοχεύστε το σε ένα στοιχείο περιεχομένου με έναν CSS selector #}
<article id="post-body">
  <p>Highlight me to leave a comment.</p>
</article>
{% fastcomments_collab_chat target="#post-body" %}

{# Συνομιλία εικόνας. Στοχεύστε το σε ένα στοιχείο εικόνας με έναν CSS selector #}
<img id="hero" src="/hero.jpg" alt="Hero image">
{% fastcomments_image_chat target="#hero" %}

{# Σύνοψη αξιολογήσεων #}
{% fastcomments_reviews_summary %}

{# Ροή δραστηριότητας χρήστη. Απαιτεί αναγνωριστικό χρήστη #}
{% fastcomments_user_activity_feed user_id="demo:demo-user" %}

{# Μαζικοί αριθμοί σχολίων για ένα ευρετήριο ιστολογίου #}
{% for post in site.posts %}
  <a href="\{{ post.url }}">\{{ post.title }}</a>
  <span class="fast-comments-count" data-fast-comments-url-id="\{{ post.url }}"></span>
{% endfor %}
{% fastcomments_comment_count_bulk %}{% endraw %}

Διαμόρφωση Internal Link

Config comes from three places. Later sources win:

  1. Παγκόσμιες προεπιλογές στο _config.yml κάτω από το κλειδί fastcomments:.
  2. Πλαίσιο σελίδας, παράγεται αυτόματα για widgets που αφορούν συγκεκριμένη σελίδα (βλέπε παρακάτω).
  3. Ιδιότητες tag γραμμένες στο ίδιο το tag.

Έτσι ένα url_id στο tag υπερισχύει της τιμής που προέρχεται από τη σελίδα, η οποία με τη σειρά της υπερισχύει οποιασδήποτε παγκόσμιας προεπιλογής.

Σύνταξη χαρακτηριστικών

Οι ιδιότητες είναι ζεύγη key=value σε snake_case:

{% raw %}{% fastcomments url_id="my-stable-id" readonly=true count=20 %}{% endraw %}
  • Τιμές σε εισαγωγικά ("..." ή '...') είναι κυριολεκτικές συμβολοσειρές.
  • Χωρίς εισαγωγικά true/false γίνονται boolean, και οι αριθμοί γίνονται αριθμοί.
  • Χωρίς εισαγωγικά οτιδήποτε άλλο επιλύεται ως μεταβλητή Liquid από το πλαίσιο της σελίδας, π.χ. url_id=page.slug. (Το Liquid δεν επεκτείνει {% raw %}\{{ ... }}{% endraw %} μέσα στις ιδιότητες ενός tag, οπότε χρησιμοποιήστε τη μορφή page.slug αντί για "{% raw %}\{{ page.slug }}{% endraw %}".)

Τα κλειδιά ιδιοτήτων και ρυθμίσεων σε snake_case αντιστοιχίζονται αυτόματα στα camelCase κλειδιά που περιμένει το FastComments (tenant_idtenantId, url_idurlId, page_titlepageTitle, has_dark_backgroundhasDarkBackground, κ.τ.λ.). Οποιαδήποτε άλλη επιλογή από τη widget configuration περνάει με τον ίδιο τρόπο.

Τιμές προερχόμενες από τη σελίδα

Για τα widgets που περιορίζονται σε σελίδα (fastcomments, fastcomments_comment_count, fastcomments_live_chat, fastcomments_collab_chat, fastcomments_image_chat) αυτές συμπληρώνονται αυτόματα από την τρέχουσα σελίδα εκτός αν τις ορίσετε εσείς:

  • url_idpage.url (ένα σταθερό αναγνωριστικό ανεξάρτητο από το επισκεπτόμενο domain)
  • urlsite.url + page.url (μόνο όταν το url έχει ρυθμιστεί στο _config.yml)
  • page_titlepage.title

Τα site-wide widgets (recent comments/discussions, top pages, reviews summary, user activity feed, bulk count) δεν σχετίζονται με κάποια σελίδα και δεν συμπληρώνονται αυτόματα από τέτοιες τιμές.

Διαμονή δεδομένων στην ΕΕ

Οι πελάτες στην ΕΕ προσθέτουν region: eu, είτε παγκοσμίως:

fastcomments:
  tenant_id: your-tenant-id
  region: eu

ή ανά tag: {% raw %}{% fastcomments region="eu" %}{% endraw %}. Τα widgets τότε φορτώνονται από το CDN της ΕΕ.



Κατάσταση συντήρησης Internal Link

Αυτά τα στοιχεία είναι περιτυλίγματα γύρω από τα βασικά μας στοιχεία σε VanillaJS. Μπορούμε να ενημερώνουμε αυτόματα αυτά τα στοιχεία (διόρθωση σφαλμάτων, προσθήκη λειτουργιών) χωρίς να δημοσιεύουμε αυτή τη βιβλιοθήκη, οπότε παρόλο που μπορεί να μην δημοσιευτεί για λίγο, αυτό δεν σημαίνει ότι το FastComments δεν βρίσκεται σε ενεργή ανάπτυξη! Μη διστάσετε να δείτε το ιστολόγιό μας για ενημερώσεις. Αλλαγές που σπάνε τη συμβατότητα του API ή νέες λειτουργίες δεν θα αποσταλούν ποτέ στη βασική υποκείμενη βιβλιοθήκη χωρίς αύξηση έκδοσης σε αυτή τη βιβλιοθήκη.


Χρειάζεστε βοήθεια;

Αν αντιμετωπίσετε προβλήματα ή έχετε ερωτήσεις σχετικά με τη βιβλιοθήκη Jekyll, παρακαλούμε:

Συνεισφορά

Οι συνεισφορές είναι ευπρόσδεκτες! Παρακαλούμε επισκεφθείτε το αποθετήριο στο GitHub για οδηγίες συνεισφοράς.