FastComments.com

Add Comments to Your Eleventy (11ty) Site

これは FastComments の公式 Eleventy (11ty) ライブラリです。

Eleventy (11ty) サイトにライブコメント、チャット、およびレビューウィジェットを埋め込めます。

リポジトリ

GitHubで表示


ライブショーケース Internal Link

パブリックな demo テナントに対してローカルで実行されているすべてのショートコードとフローを確認するには、リポジトリをクローンして次を実行してください:

cd example
npm install
npm start

各コンポーネントは example/src/pages/ の下にそれぞれページがあり、これらをそのままあなたの Eleventy サイトにコピーできます。

インストール Internal Link

npm install fastcomments-11ty

クイックスタート Internal Link

Eleventy の設定ファイル(.eleventy.js または eleventy.config.js)にプラグインを登録します:

const { fastcommentsPlugin } = require('fastcomments-11ty');

module.exports = function(eleventyConfig) {
    eleventyConfig.addPlugin(fastcommentsPlugin);
};

または ESM を使用する場合:

import { fastcommentsPlugin } from 'fastcomments-11ty';

export default function(eleventyConfig) {
    eleventyConfig.addPlugin(fastcommentsPlugin);
}

次に、テンプレートでショートコードを使用します。Nunjucks(.njk)では:

{% fastcomments { tenantId: "demo" } %}

Liquid(.liquid)では:

{% fastcomments tenantId: "demo" %}

"demo" をあなたの FastComments テナント ID に置き換えてください。

ショートコード Internal Link


Shortcode 説明
fastcomments 返信、投票などを備えたコメントウィジェット
fastcommentsCommentCount ページのコメント数を表示
fastcommentsImageChat 画像への注釈コメント
fastcommentsLiveChat ライブチャットウィジェット
fastcommentsCollabChat 共同インラインコメント
fastcommentsRecentComments サイト全体の最近のコメント
fastcommentsRecentDiscussions 最近アクティブなディスカッションスレッド
fastcommentsReviewsSummary 星評価レビューの概要
fastcommentsTopPages 最も議論されたページ
fastcommentsUserActivityFeed ユーザーアクティビティフィード

{# テキスト内でのコメント数をインライン表示 #}
This page has {% fastcommentsCommentCount { tenantId: "demo" } %} comments.

{# ライブチャット #}
{% fastcommentsLiveChat { tenantId: "demo" } %}

{# コラボチャット — CSSセレクターでコンテンツ要素をターゲットにする #}
<article id="post-body">
  <p>Highlight me to leave a comment.</p>
</article>
{% fastcommentsCollabChat { tenantId: "demo", target: "#post-body" } %}

{# 画像チャット — CSSセレクターで画像要素をターゲットにする #}
<img id="hero" src="/hero.jpg" alt="Hero image" />
{% fastcommentsImageChat { tenantId: "demo", target: "#hero" } %}

{# レビュー概要 #}
{% fastcommentsReviewsSummary { tenantId: "demo" } %}

{# ユーザーアクティビティフィード #}
{% fastcommentsUserActivityFeed { tenantId: "demo", userId: "demo:demo-user" } %}

プラグインオプション Internal Link

eleventyConfig.addPlugin(fastcommentsPlugin, {
    // ショートコードのサブセットのみ登録します:
    shortcodes: ['fastcomments', 'fastcommentsCommentCount'],
    // 登録される各ショートコード名にプレフィックスを追加します(例: "fc" -> "fcFastcomments"):
    prefix: 'fc'
});

手動での使用(プラグインなし) Internal Link

各ショートコードは、HTML文字列を返すスタンドアロン関数としてもエクスポートされます:

const { fastcomments, commentCount } = require('fastcomments-11ty');

eleventyConfig.addShortcode('comments', fastcomments);
eleventyConfig.addShortcode('commentCount', commentCount);

サンプルプロジェクト Internal Link

動作するデモは example/ ディレクトリに含まれています:

cd example && npm install && npm start


メンテナンス状況 Internal Link

これらのコンポーネントは、当社のコアVanillaJSコンポーネントのラッパーです。これらのコンポーネントは(バグ修正や機能追加を含め)自動的に更新できるため、このライブラリ自体がしばらく公開されていない場合でも、FastCommentsが活発に開発されていないというわけではありません!最新情報は当社のブログをご覧ください。破壊的なAPI変更や機能は、このライブラリでバージョンを上げない限り基盤となるコアライブラリへは決して反映されません。

ヘルプが必要ですか?

Eleventy (11ty) ライブラリに関して問題が発生したり質問がある場合は、次のいずれかを行ってください:

貢献

貢献は歓迎します!貢献ガイドラインについてはGitHubリポジトリをご覧ください。