From a1978571e8b86303b9a1da0d7a912a9810e12cb7 Mon Sep 17 00:00:00 2001 From: Kim Gardner Date: Thu, 5 Oct 2017 13:38:08 +0100 Subject: [PATCH 1/7] First part of Product Guide --- docs/_docs/product-guide-how-talk-works.md | 23 +++++ .../product-guide-plugins-and-recipes.md | 91 +++++++++++++++++++ 2 files changed, 114 insertions(+) create mode 100644 docs/_docs/product-guide-how-talk-works.md create mode 100644 docs/_docs/product-guide-plugins-and-recipes.md diff --git a/docs/_docs/product-guide-how-talk-works.md b/docs/_docs/product-guide-how-talk-works.md new file mode 100644 index 000000000..09dfbdb74 --- /dev/null +++ b/docs/_docs/product-guide-how-talk-works.md @@ -0,0 +1,23 @@ +--- +title: How Talk Works +permalink: /how-talk-works// +class: product-guide +--- + +Talk is an open-source commenting platform. It has two pieces. One is the embedded script, which allows newsrooms to have a unique comments section on each story/post/page they have on their site, and allows their readers to comment and discuss articles. The other is the Admin, which is where newsrooms moderate their comments and manage and configure Talk. + +### What is Talk Core? + +As we’re building Talk, our vision was always to have it be very modular, so there are features we have built and are opinionated about, but we allow newsrooms and their developers to customize Talk easily so that it fits their use cases and needs. + +Talk Core is the core application of Talk - this contains all of the standard commenting features that are necessary for a comment section, and ones that we believe are important to be universal. + +### What are Plugins? + +Plugins are additional functionality which are optional to use with Talk. You can turn these on or off, depending on your specific needs. Plugins are either part of our core plugins, which ship with Talk, or they are developed by 3rd parties and either used privately and internally, or are open sourced for use across the greater community. + + +### What are Recipes? + +Recipes are plugin templates that are created by the Talk team and 3rd party developers, in order to help contributors and newsrooms build plugins easily. + diff --git a/docs/_docs/product-guide-plugins-and-recipes.md b/docs/_docs/product-guide-plugins-and-recipes.md new file mode 100644 index 000000000..b907eb49f --- /dev/null +++ b/docs/_docs/product-guide-plugins-and-recipes.md @@ -0,0 +1,91 @@ +--- +title: Plugins & Recipes +permalink: /plugins-and-recipes/ +class: product-guide +--- + +### Default Plugins + +The default Talk plugins can be found in the `plugins.default.json` file [here](https://github.com/coralproject/talk/blob/master/plugins.default.json). + +Talk ships out of the box with these plugins: + +#### Auth `talk-plugin-auth` + +Enables generic registration via an email address, a username, a password, and a password confirmation. To sync Talk auth with your own auth systems, you can use this plugin as a template. + +#### Facebook Auth `talk-plugin-facebook-auth` + +Enables sign-in via Facebook. + +#### Comment Content `talk-plugin-comment-content` + +Pluginizes the text of a comment to support custom treatment of this text. By default, we linkify urls so they are clickable. + +#### Respect `talk-plugin-respect` + +Enables a Respect reaction button. Why a “respect” button, you ask? [Read more here](https://mediaengagement.org/research/engagement-buttons/). + +#### Ignore User `talk-plugin-ignore-user` + +Enables ability for users to ignore (or “mute”) other users. If a user is ignored, you will not see any of their comments. You can un-ignore a user via the My Profile tab. + +#### Permalinks `talk-plugin-permalink` + +#### Featured Comments `talk-plugin-featured-comments` + +Enables the ability for Moderators to feature and un-feature comments via the Stream and the Admin. Featured comments show in a first-place tab on the Stream if there are any featured comments on that story. + +#### Viewing Options `talk-plugin-viewing-options` + +##### Sorting Options `talk-plugin-sort-newest`, `talk-plugin-sort-oldest`, `talk-plugin-most-respected`, `talk-plugin-most-replied` + +##### Off-topic `talk-plugin-offtopic` + +#### Author Menu `talk-plugin-author-menu` + +##### Member Since `talk-plugin-member-since` + +#### In-Stream Moderation `talk-plugin-moderation-actions` + +Enables in-stream moderation so that Moderators can reject, approve, and feature comments, as well as ban users, directly from the comment stream. + +#### Moderation Flag Details `talk-plugin-flag-details` + +Enables other plugins to use the Flag Details area of comments in the Moderation Queues to display data. + + +### Additional Plugins + +#### Like `talk-plugin-like` + +Provides a `like` reaction button. Can also be added to the Viewing Options sorts by including `talk-plugin-most-liked`. + +#### Love `talk-plugin-love` + +Provides a `love` reaction button. Can also be added to the Viewing Options sorts by including `talk-plugin-most-loved`. + +#### Remember Sort `talk-plugin-remember-sort` + +Enables saving a user’s last sort selection as they browse other articles. + +#### Deep Reply Count `talk-plugin-deep-reply-count` + +Enables counting of comments to include replies. Requires dev work to enable this fully. + +### Recipes + +Recipes are available here: +https://github.com/coralproject/talk-recipes + +#### Avatars `recipe-avatar` + +Provides support for commenter avatars. + +#### Subscriber Badge `recipe-subscriber` + +Provides support for badges for `subscribers`. + +#### Author Name `recipe-author-name` + +Enables the ability to hover over a commenter’s name and add plugin functionality there. The Member Since plugin is an example of this. From 71de5a33a95f6192b440f7c030b20c5470313043 Mon Sep 17 00:00:00 2001 From: Kim Gardner Date: Thu, 5 Oct 2017 13:40:53 +0100 Subject: [PATCH 2/7] Update nav --- docs/_data/nav.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/_data/nav.yaml b/docs/_data/nav.yaml index 51b44f025..2a6f5b5e1 100644 --- a/docs/_data/nav.yaml +++ b/docs/_data/nav.yaml @@ -16,4 +16,10 @@ items: - title: Plugins children: - title: Plugins Overview - url: /plugins/ \ No newline at end of file + url: /plugins/ + - title: Product Guide + children: + - title: How Talk Works + url: /how-talk-works/ + - title: Plugin and Recipe List + url: /plugins-and-recipes/ From 6ffab51bcf0ceeb46c6b217971c09e8899c2aa4a Mon Sep 17 00:00:00 2001 From: Kim Gardner Date: Thu, 5 Oct 2017 13:41:54 +0100 Subject: [PATCH 3/7] Cleanup titles --- docs/_docs/product-guide-plugins-and-recipes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_docs/product-guide-plugins-and-recipes.md b/docs/_docs/product-guide-plugins-and-recipes.md index b907eb49f..aed661adb 100644 --- a/docs/_docs/product-guide-plugins-and-recipes.md +++ b/docs/_docs/product-guide-plugins-and-recipes.md @@ -1,5 +1,5 @@ --- -title: Plugins & Recipes +title: Plugin and Recipe List permalink: /plugins-and-recipes/ class: product-guide --- From a7d87f4ee1a2f10492cd5f231c0498aa85eeb473 Mon Sep 17 00:00:00 2001 From: Kim Gardner Date: Wed, 11 Oct 2017 13:34:15 +0100 Subject: [PATCH 4/7] Add Trust Product Docs --- docs/_docs/product-guide-how-talk-works.md | 2 +- docs/_docs/product-guide-trust.md | 26 ++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 docs/_docs/product-guide-trust.md diff --git a/docs/_docs/product-guide-how-talk-works.md b/docs/_docs/product-guide-how-talk-works.md index 09dfbdb74..1fc70eecc 100644 --- a/docs/_docs/product-guide-how-talk-works.md +++ b/docs/_docs/product-guide-how-talk-works.md @@ -1,6 +1,6 @@ --- title: How Talk Works -permalink: /how-talk-works// +permalink: /how-talk-works/ class: product-guide --- diff --git a/docs/_docs/product-guide-trust.md b/docs/_docs/product-guide-trust.md new file mode 100644 index 000000000..3600031d0 --- /dev/null +++ b/docs/_docs/product-guide-trust.md @@ -0,0 +1,26 @@ +--- +title: Trust +permalink: /trust// +class: product-guide +--- + +“Trust” are components within Talk that incorporate automated moderation features based on a user’s previous behavior. + +### User Karma Score + +Using Trust’s calculations, Talk will automatically pre-moderate comments of users who have a negative karma score. All users start out with a `0` neutral karma score. If they have a comment approved by a moderator, their score increases by 1; if they have a comment rejected by a moderator, it decreases by 1. When a commenter is labeled as Unreliable, their comments must be moderated before they are posted. + +When a commenter has one comment rejected, their next comment must be moderated once in order to post freely again. If they instead get rejected again, then they must have two of their comments approved in order to get added back to the queue. + +Here are the default thresholds: + +-2 and lower: Unreliable +-1 to +2: Neutral ++3 and higher: Reliable + +You can configure your own Trust thresholds by using `TRUST_THRESHOLD` in your configuration. [https://coralproject.github.io/talk/advanced-configuration/#trust_thresholds](Learn more about how to configure Trust here). + + +### Reliable and Unreliable Flaggers + +Details coming soon. From 1dd1a0d986421361305554c41bec2ddf6c190888 Mon Sep 17 00:00:00 2001 From: Kim Gardner Date: Wed, 11 Oct 2017 13:43:48 +0100 Subject: [PATCH 5/7] Update Trust details and update nav --- docs/_data/nav.yaml | 4 +++- docs/_docs/product-guide-trust.md | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/_data/nav.yaml b/docs/_data/nav.yaml index 2a6f5b5e1..b9902965a 100644 --- a/docs/_data/nav.yaml +++ b/docs/_data/nav.yaml @@ -22,4 +22,6 @@ items: - title: How Talk Works url: /how-talk-works/ - title: Plugin and Recipe List - url: /plugins-and-recipes/ + url: /plugins-and-recipes/ + - title: Trust + url: /trust/ diff --git a/docs/_docs/product-guide-trust.md b/docs/_docs/product-guide-trust.md index 3600031d0..dcdc7a5ff 100644 --- a/docs/_docs/product-guide-trust.md +++ b/docs/_docs/product-guide-trust.md @@ -23,4 +23,10 @@ You can configure your own Trust thresholds by using `TRUST_THRESHOLD` in your c ### Reliable and Unreliable Flaggers -Details coming soon. +Trust also calculates how reliable users are in terms of the comments they report. This information is displayed to moderators in the User History drawer, which is accessed by clicking on a user’s name in the Admin. + +If a user's reports mostly match what moderators reject, their Report status will display to moderators as Reliable in the user information drawer. If a user's reports mostly differ from what moderators reject, their Report status will show as Unreliable. + +If we don't have enough reports to make a call, or the reports even out, their status is Neutral. + +Note: Report Karma doesn't include reports of "I don't agree with this comment". From ac281062510de58df4dad14e2fa5fa32861eb7ab Mon Sep 17 00:00:00 2001 From: Kim Gardner Date: Wed, 11 Oct 2017 13:56:35 +0100 Subject: [PATCH 6/7] Add docs on Toxic Comments --- docs/_data/nav.yaml | 2 + docs/_docs/product-guide-toxic-comments.md | 54 ++++++++++++++++++++++ docs/_docs/product-guide-trust.md | 2 +- 3 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 docs/_docs/product-guide-toxic-comments.md diff --git a/docs/_data/nav.yaml b/docs/_data/nav.yaml index b9902965a..96f00edaa 100644 --- a/docs/_data/nav.yaml +++ b/docs/_data/nav.yaml @@ -25,3 +25,5 @@ items: url: /plugins-and-recipes/ - title: Trust url: /trust/ + - title: Toxic Comments + url: /toxic-comments/ diff --git a/docs/_docs/product-guide-toxic-comments.md b/docs/_docs/product-guide-toxic-comments.md new file mode 100644 index 000000000..f72066c46 --- /dev/null +++ b/docs/_docs/product-guide-toxic-comments.md @@ -0,0 +1,54 @@ +--- +title: Toxic Comments +permalink: /toxic-comments/ +class: product-guide +--- + +Leveraging Google's Perspective API, you can now set a Toxicity Threshold for Talk (0.8 or 80% is the default), which works like this: + +- If a comment exceeds the threshold, the commenter is warned that their comment may be toxic, and are given the chance to modify their comment before posting + +- If the revised comment is below the Toxicity Threshold, it is posted and displayed normally + +- If the revised comment still exceeds the Toxicity Threshold, it is not displayed on the stream and instead is sent to the Reported queue for moderation + +- If the moderator accepts the comment, it's displayed on the stream; if it's rejected, it will not be displayed + +- Moderators see a Toxic Probability Score on toxic comments in the Moderation queues + +Read more about Coral’s take on toxicity [on our blog](https://blog.coralproject.net/toxic-avenging/). + + +### What is the Perspective API? + +The likely toxicity of a comment is evaluated using scores generated from [Perspective API](http://perspectiveapi.com/). This is part of the [Conversation AI](https://conversationai.github.io/) research effort run by Jigsaw (a section of Google that works on global problems around speech and access to information). + +Perspective API uses machine learning, based on existing databases of accepted/rejected comments, to guess the probability that a comment is abusive and/or toxic. It is currently English only, but the system is designed to work with multiple languages. + +In order to activate our plugin, each news organization applies for an API key from Jigsaw (click “Request API access” on this site.) Sites can also work with Jigsaw to create an individualized data set specifically trained on their own comment history. + +Perspective API was released earlier this year, and is currently in alpha (meaning that it is being continually refined and improved.) Jigsaw should certainly be praised for devoting serious resources to this issue, and making their work available for others, including us, to use. + +We’ve talked with their team on several occasions, and have been impressed by their dedication and commitment to this issue. These are smart people who are trying to improve a broken part of the internet. + + +### How do I add the Toxic Comments plugin to my Talk? + +You can turn on this plugin by including talk-plugin-toxic-comments (as well as talk-plugin-flag-details, see above) in your plugins.json + +Environment variables for configuration: + +- `TALK_PERSPECTIVE_API_KEY` (required) + +- `TALK_TOXICITY_THRESHOLD` (optional, default 0.8) + +- `TALK_PERSPECTIVE_API_ENDPOINT` (optional, default https://commentanalyzer.googleapis.com/v1alpha1) + +- `TALK_PERSPECTIVE_TIMEOUT` (optional, default 300) + +Note: this is a beta plugin and will see a lot of changes/improvement in the coming weeks) + + +### Request an API Key + +You can read more about Google's Perspective API and/or request an API key here: [http://perspectiveapi.com/](http://perspectiveapi.com/). diff --git a/docs/_docs/product-guide-trust.md b/docs/_docs/product-guide-trust.md index dcdc7a5ff..510d451f9 100644 --- a/docs/_docs/product-guide-trust.md +++ b/docs/_docs/product-guide-trust.md @@ -1,6 +1,6 @@ --- title: Trust -permalink: /trust// +permalink: /trust/ class: product-guide --- From 97eee92499512d715f6c6ca1bcdda0700d76cbd0 Mon Sep 17 00:00:00 2001 From: Wyatt Johnson Date: Wed, 11 Oct 2017 15:32:25 -0600 Subject: [PATCH 7/7] updated docs --- docs/_data/nav.yaml | 18 ++- ...quickstart.md => 01-01-talk-quickstart.md} | 0 ...r.md => 01-02-installation-from-docker.md} | 0 ...e.md => 01-03-installation-from-source.md} | 0 ...ion.md => 02-01-required-configuration.md} | 0 ...ion.md => 02-02-advanced-configuration.md} | 0 ...-overview.md => 03-01-plugins-overview.md} | 0 docs/_docs/03-02-default-plugins.md | 151 ++++++++++++++++++ docs/_docs/03-03-additional-plugins.md | 106 ++++++++++++ docs/_docs/03-04-plugin-recipes.md | 50 ++++++ .../04-01-product-guide-how-talk-works.md | 40 +++++ docs/_docs/04-02-product-guide-trust.md | 49 ++++++ .../04-03-product-guide-toxic-comments.md | 53 ++++++ docs/_docs/product-guide-how-talk-works.md | 23 --- .../product-guide-plugins-and-recipes.md | 91 ----------- docs/_docs/product-guide-toxic-comments.md | 54 ------- docs/_docs/product-guide-trust.md | 32 ---- docs/_layouts/doc.html | 2 +- docs/_sass/talk.scss | 11 +- plugins.default.json | 28 ++-- .../talk-plugin-toxic-comments/package.json | 5 +- .../server/config.js | 4 +- plugins/talk-plugin-toxic-comments/yarn.lock | 3 + 23 files changed, 494 insertions(+), 226 deletions(-) rename docs/_docs/{installation-talk-quickstart.md => 01-01-talk-quickstart.md} (100%) rename docs/_docs/{installation-from-docker.md => 01-02-installation-from-docker.md} (100%) rename docs/_docs/{installation-from-source.md => 01-03-installation-from-source.md} (100%) rename docs/_docs/{running-required-configuration.md => 02-01-required-configuration.md} (100%) rename docs/_docs/{running-advanced-configuration.md => 02-02-advanced-configuration.md} (100%) rename docs/_docs/{plugins-overview.md => 03-01-plugins-overview.md} (100%) create mode 100644 docs/_docs/03-02-default-plugins.md create mode 100644 docs/_docs/03-03-additional-plugins.md create mode 100644 docs/_docs/03-04-plugin-recipes.md create mode 100644 docs/_docs/04-01-product-guide-how-talk-works.md create mode 100644 docs/_docs/04-02-product-guide-trust.md create mode 100644 docs/_docs/04-03-product-guide-toxic-comments.md delete mode 100644 docs/_docs/product-guide-how-talk-works.md delete mode 100644 docs/_docs/product-guide-plugins-and-recipes.md delete mode 100644 docs/_docs/product-guide-toxic-comments.md delete mode 100644 docs/_docs/product-guide-trust.md diff --git a/docs/_data/nav.yaml b/docs/_data/nav.yaml index 96f00edaa..eeb7c2ebc 100644 --- a/docs/_data/nav.yaml +++ b/docs/_data/nav.yaml @@ -13,17 +13,21 @@ items: url: /configuration/ - title: Advanced Configuration url: /advanced-configuration/ - - title: Plugins - children: - - title: Plugins Overview - url: /plugins/ - title: Product Guide - children: + children: - title: How Talk Works url: /how-talk-works/ - - title: Plugin and Recipe List - url: /plugins-and-recipes/ - title: Trust url: /trust/ - title: Toxic Comments url: /toxic-comments/ + - title: Plugins + children: + - title: Plugins Overview + url: /plugins/ + - title: Default Plugins + url: /default-plugins/ + - title: Additional Plugins + url: /additional-plugins/ + - title: Plugin Recipes + url: /plugin-recipes/ diff --git a/docs/_docs/installation-talk-quickstart.md b/docs/_docs/01-01-talk-quickstart.md similarity index 100% rename from docs/_docs/installation-talk-quickstart.md rename to docs/_docs/01-01-talk-quickstart.md diff --git a/docs/_docs/installation-from-docker.md b/docs/_docs/01-02-installation-from-docker.md similarity index 100% rename from docs/_docs/installation-from-docker.md rename to docs/_docs/01-02-installation-from-docker.md diff --git a/docs/_docs/installation-from-source.md b/docs/_docs/01-03-installation-from-source.md similarity index 100% rename from docs/_docs/installation-from-source.md rename to docs/_docs/01-03-installation-from-source.md diff --git a/docs/_docs/running-required-configuration.md b/docs/_docs/02-01-required-configuration.md similarity index 100% rename from docs/_docs/running-required-configuration.md rename to docs/_docs/02-01-required-configuration.md diff --git a/docs/_docs/running-advanced-configuration.md b/docs/_docs/02-02-advanced-configuration.md similarity index 100% rename from docs/_docs/running-advanced-configuration.md rename to docs/_docs/02-02-advanced-configuration.md diff --git a/docs/_docs/plugins-overview.md b/docs/_docs/03-01-plugins-overview.md similarity index 100% rename from docs/_docs/plugins-overview.md rename to docs/_docs/03-01-plugins-overview.md diff --git a/docs/_docs/03-02-default-plugins.md b/docs/_docs/03-02-default-plugins.md new file mode 100644 index 000000000..e43c03b16 --- /dev/null +++ b/docs/_docs/03-02-default-plugins.md @@ -0,0 +1,151 @@ +--- +title: Default Plugins +permalink: /default-plugins/ +class: configuration +--- + +The default Talk plugins can be found in the `plugins.default.json` file +[here](https://github.com/coralproject/talk/blob/master/plugins.default.json). + +Talk ships out of the box with these plugins enabled: + +{% include toc.html %} + +We ship [Additional Plugins]({{ "/additional-plugins/" | relative_url }}) with +Talk that are not enabled by default. You can enable these or disable these +default plugins by consulting the [Plugins Overview]({{ "/plugins/" | relative_url }}) +page. + +## talk-plugin-auth + +Source: [plugins/talk-plugin-auth](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-auth){:target="_blank"} + +Enables generic registration via an email address, a username, a password, and a +password confirmation. To sync Talk auth with your own auth systems, you can use +this plugin as a template. + +## talk-plugin-facebook-auth + +Source: [plugins/talk-plugin-auth](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-auth){:target="_blank"} + +Requires: [talk-plugin-facebook-auth](#talk-plugin-facebook-auth){:.param} + +Enables sign-in via Facebook via the server side passport middleware. + +### Configuration +{:.no_toc} + +- [TALK_FACEBOOK_APP_ID]({{ "/configuration/#talk_facebook_app_id" | relative_url }}){:.param} (**required**) - See the existing documentation for the [TALK_FACEBOOK_APP_ID]({{ "/configuration/#talk_facebook_app_id" | relative_url }}){:.param}. +- [TALK_FACEBOOK_APP_SECRET]({{ "/configuration/#talk_facebook_app_secret" | relative_url }}){:.param} (**required**) - See the existing documentation for the [TALK_FACEBOOK_APP_SECRET]({{ "/configuration/#talk_facebook_app_secret" | relative_url }}){:.param}. + +## talk-plugin-featured-comments + +Source: [plugins/talk-plugin-featured-comments](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-featured-comments){:target="_blank"} + +Enables the ability for Moderators to feature and un-feature comments via the +Stream and the Admin. Featured comments show in a first-place tab on the Stream +if there are any featured comments on that story. + +## talk-plugin-respect + +Source: [plugins/talk-plugin-respect](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-respect){:target="_blank"} + +Enables a `respect` reaction button. Why a "respect" button, you ask? +[Read more here](https://mediaengagement.org/research/engagement-buttons/). + +## talk-plugin-comment-content + +Source: [plugins/talk-plugin-comment-content](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-comment-content){:target="_blank"} + +Pluginizes the text of a comment to support custom treatment of this text. This +plugin currently parses the given text to see if it contains a link, and makes +them clickable. + +## talk-plugin-ignore-user + +Source: [plugins/talk-plugin-ignore-user](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-ignore-user){:target="_blank"} + +Enables ability for users to ignore (or "mute") other users. If a user is +ignored, you will not see any of their comments. You can un-ignore a user via +the My Profile tab. + +## talk-plugin-permalink + +Source: [plugins/talk-plugin-permalink](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-permalink){:target="_blank"} + +Enables a `Link` button that will provide a permalink to the comment that can be +shared with others. + +## talk-plugin-viewing-options + +Source: [plugins/talk-plugin-viewing-options](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-viewing-options){:target="_blank"} + +Pluginizes the sorting/viewing options for a comment stream. + +## talk-plugin-sort-newest + +Source: [plugins/talk-plugin-sort-newest](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-sort-newest){:target="_blank"} + +Requires: [talk-plugin-viewing-options](#talk-plugin-viewing-options){:.param} + +Provides a sort for the newest comments first. This isn't necessarily required +as the default sort without options/plugins is newest first. + +## talk-plugin-sort-oldest + +Source: [plugins/talk-plugin-sort-oldest](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-sort-oldest){:target="_blank"} + +Requires: [talk-plugin-viewing-options](#talk-plugin-viewing-options){:.param} + +Provides a sort for the newest comments first. + +## talk-plugin-most-respected + +Source: [plugins/talk-plugin-most-respected](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-most-respected){:target="_blank"} + +Requires: [talk-plugin-viewing-options](#talk-plugin-viewing-options){:.param}, [talk-plugin-respect](#talk-plugin-respect){:.param} + +Provides a sort for the comments with the most `respect` reactions first. + +## talk-plugin-most-replied + +Source: [plugins/talk-plugin-most-replied](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-most-replied){:target="_blank"} + +Requires: [talk-plugin-viewing-options](#talk-plugin-viewing-options){:.param} + +Provides a sort for the comments with the most replies first. + +## talk-plugin-offtopic + +Source: [plugins/talk-plugin-offtopic](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-offtopic){:target="_blank"} + +Allows the comment authors to tag their comment as `Off-Topic` which will add a +visible badge on the frontend to other users that their comment is off-topic. + +## talk-plugin-author-menu + +Source: [plugins/talk-plugin-author-menu](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-author-menu){:target="_blank"} + +Pluginizes the author's name on hover. + +## talk-plugin-member-since + +Source: [plugins/talk-plugin-member-since](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-member-since){:target="_blank"} + +Requires: [talk-plugin-author-menu](#talk-plugin-author-menu){:.param} + +Displays the date that the user was created as a `Member Since ${created_at}`. + +## talk-plugin-moderation-actions + +Source: [plugins/talk-plugin-moderation-actions](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-moderation-actions){:target="_blank"} + +Enables in-stream moderation so that Moderators can reject, approve comments, +as well as ban users, directly from the comment stream. When [talk-plugin-featured-comments](#talk-plugin-featured-comments){:.param} is enabled + +## talk-plugin-flag-details + +Source: [plugins/talk-plugin-flag-details](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-flag-details){:target="_blank"} + +Pluginizes the Flag Details area of comments in the Moderation Queues to display +data. Some basic details are already included on flags by default. \ No newline at end of file diff --git a/docs/_docs/03-03-additional-plugins.md b/docs/_docs/03-03-additional-plugins.md new file mode 100644 index 000000000..c04c023df --- /dev/null +++ b/docs/_docs/03-03-additional-plugins.md @@ -0,0 +1,106 @@ +--- +title: Additional Plugins +permalink: /additional-plugins/ +class: configuration +--- + +Talk ships with several plugins that aren't enabled by default: + +{% include toc.html %} + +These plugins can be enabled by consulting the +[Plugins Overview]({{ "/plugins/" | relative_url }}) page. + +## talk-plugin-like + +Source: [plugins/talk-plugin-like](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-like){:target="_blank"} + +Enables a `like` reaction button. + +## talk-plugin-sort-most-liked + +Source: [plugins/talk-plugin-sort-most-liked](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-sort-most-liked){:target="_blank"} + +Requires: [talk-plugin-viewing-options]({{ "/default-plugins/#talk-plugin-viewing-options" | relative_url }}){:.param}, [talk-plugin-like](#talk-plugin-like){:.param} + +Provides a sort for the comments with the most `like` reactions first. + +## talk-plugin-love + +Source: [plugins/talk-plugin-love](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-love){:target="_blank"} + +Enables a `love` reaction button. + +## talk-plugin-sort-most-loved + +Source: [plugins/talk-plugin-sort-most-loved](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-sort-most-loved){:target="_blank"} + +Requires: [talk-plugin-viewing-options]({{ "/default-plugins/#talk-plugin-viewing-options" | relative_url }}){:.param}, [talk-plugin-love](#talk-plugin-love){:.param} + +Provides a sort for the comments with the most `love` reactions first. + +## talk-plugin-remember-sort + +Source: [plugins/talk-plugin-remember-sort](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-remember-sort){:target="_blank"} + +Requires: [talk-plugin-viewing-options]({{ "/default-plugins/#talk-plugin-viewing-options" | relative_url }}){:.param} + +Enables saving a user’s last sort selection as they browse other articles. + +## talk-plugin-deep-reply-count + +Source: [plugins/talk-plugin-deep-reply-count](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-deep-reply-count){:target="_blank"} + +Enables counting of comments to include replies via a new graph edge. Not +recommended for large installations as it will unreasonably reduce the query +efficiency to compute this number. + +## talk-plugin-slack-notifications + +Source: [plugins/talk-plugin-slack-notifications](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-slack-notifications){:target="_blank"} + +Enables all new comments that are written to be posted to a Slack channel as +well. Configure an +[Incoming Webhook](https://api.slack.com/incoming-webhooks){:target="_blank"} +app and provide that url in the form of the `SLACK_WEBHOOK_URL` +detailed below. + +*Warning: On high volume sites, this means every single comment will flow into +Slack, if this isn't what you want, be sure to use the provided plugin as a +recipe to further customize the behavior*. + +### Configuration +{:.no_toc} + +- `SLACK_WEBHOOK_URL` (**required**) - The webhook url that will be + used to post new comments to. + +## talk-plugin-toxic-comments + +Source: [plugins/talk-plugin-toxic-comments](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-toxic-comments){:target="_blank"} + +Using the [Perspective API](http://perspectiveapi.com/){:target="_blank"}, this +plugin will warn users and reject comments that exceed the predefined toxicity +threshold. For more information on what Toxic Comments are, check out the +[Toxic Comments]({{ "/toxic-comments/" | relative_url }}) documentation. + +### Configuration +{:.no_toc} + +- `TALK_PERSPECTIVE_API_KEY` (**required**) - The API Key for Perspective. You + can register and get your own key at [http://perspectiveapi.com/](http://perspectiveapi.com/){:target="_blank"}. +- `TALK_TOXICITY_THRESHOLD` - If the comments toxicity exceeds this threshold, + the comment will be rejected. (Default `0.8`) +- `TALK_PERSPECTIVE_API_ENDPOINT` - API Endpoint for hitting the + perspective API. (Default `https://commentanalyzer.googleapis.com/v1alpha1`) +- `TALK_PERSPECTIVE_TIMEOUT` - The timeout for sending a comment to + be processed before it will skip the toxicity analysis, parsed by + [ms](https://www.npmjs.com/package/ms){:target="_blank"}. (Default `300ms`) + +## talk-plugin-subscriber + +Source: [plugins/talk-plugin-subscriber](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-subscriber){:target="_blank"} + +Enables a `Subscriber` badge to be added to comments where the author has the +`SUBSCRIBER` tag. This must match with a custom auth integration that adds the +tag to the users that are subscribed to the service. \ No newline at end of file diff --git a/docs/_docs/03-04-plugin-recipes.md b/docs/_docs/03-04-plugin-recipes.md new file mode 100644 index 000000000..019ff21e4 --- /dev/null +++ b/docs/_docs/03-04-plugin-recipes.md @@ -0,0 +1,50 @@ +--- +title: Plugin Recipes +permalink: /plugin-recipes/ +class: configuration +--- + +Plugin Recipes are plugin templates used to help bootstrap the development of a +plugin. Recipes are available at the +[coralproject/talk-recipes](https://github.com/coralproject/talk-recipes) repo. +When first developing a plugin with a recipe, you can simply visit the +aforementioned repository to find the desired recipe, and using the file +listings on the page, determine which files need to be modified to suit your +needs. + +The following are the available recipes for use: + +{% include toc.html %} + +## recipe-avatar + +Source: [talk-recipes/tree/master/plugins/avatar](https://github.com/coralproject/talk-recipes/tree/master/plugins/avatar){:target="_blank"} + +Provides support for avatars hosted via third party, extends the User Model and +provides UI on the client-side too. + + +## recipe-translations + +Source: [talk-recipes/tree/master/plugins/translations](https://github.com/coralproject/talk-recipes/tree/master/plugins/translations){:target="_blank"} + +Provides an example for overriding application text through the translation +system. + + +## recipe-subscriber + +Source: [talk-recipes/tree/master/plugins/subscriber](https://github.com/coralproject/talk-recipes/tree/master/plugins/subscriber){:target="_blank"} + +Provides an example for adding `SUBSCRIBER` badges for users with the +`SUBSCRIBER` tag added to their user model through a direct server plugin with +the auth system. + + +## recipe-author-name + +Source: [talk-recipes/tree/master/plugins/author-name](https://github.com/coralproject/talk-recipes/tree/master/plugins/author-name){:target="_blank"} + +Enables the ability to hover over a commenter’s name and add plugin +functionality there. The Member Since plugin that is provided in this recipe is +an example of this. diff --git a/docs/_docs/04-01-product-guide-how-talk-works.md b/docs/_docs/04-01-product-guide-how-talk-works.md new file mode 100644 index 000000000..01931872c --- /dev/null +++ b/docs/_docs/04-01-product-guide-how-talk-works.md @@ -0,0 +1,40 @@ +--- +title: How Talk Works +permalink: /how-talk-works/ +--- + +Talk is an open-source commenting platform. It has two pieces. One is the +embedded script, which allows newsrooms to have a unique comments section on +each story/post/page they have on their site, and allows their readers to +comment and discuss articles. The other is the Admin, which is where newsrooms +moderate their comments and manage and configure Talk. + +## Talk Core + +As we’re building Talk, our vision was always to have it be very modular, so +there are features we have built and are opinionated about, but we allow +newsrooms and their developers to customize Talk easily so that it fits their +use cases and needs. + +Talk Core is the core application of Talk - this contains all of the standard +commenting features that are necessary for a comment section, and ones that we +believe are important to be universal. If you would like to contribute to Talk, +be sure to check out our +[Contributor's Guide](https://github.com/coralproject/talk/blob/master/CONTRIBUTING.md){:target="_blank"}. + +## Plugins + +Plugins are additional functionality which are optional to use with Talk. You +can turn these on or off, depending on your specific needs. Plugins are either +part of our core plugins, which ship with Talk, or they are developed by 3rd +parties and either used privately and internally, or are open sourced for use +across the greater community. You can explore the plugins we offer by vising our [Default Plugins]({{ "/default-plugins/" | relative_url}}) +and [Additional Plugins]({{ "/additional-plugins/" | relative_url }}) pages. + +## Recipes + +Recipes are plugin templates that are created by the Talk team and 3rd party +developers, in order to help contributors and newsrooms build plugins easily. +You can explore the recipes we offer by vising our [Plugin Recipes]({{ "/plugin-recipes/" | relative_url}}) +page. + diff --git a/docs/_docs/04-02-product-guide-trust.md b/docs/_docs/04-02-product-guide-trust.md new file mode 100644 index 000000000..e0dd90182 --- /dev/null +++ b/docs/_docs/04-02-product-guide-trust.md @@ -0,0 +1,49 @@ +--- +title: Trust +permalink: /trust/ +--- + +Trust is a set of components within Talk that incorporate automated moderation +behaviors based on a user interactions. + +### User Karma Score + +Using Trust’s calculations, Talk will automatically pre-moderate comments of +users who have a negative karma score. All users start out with a `0` neutral +karma score. If they have a comment approved by a moderator, their score +increases by `1`; if they have a comment rejected by a moderator, it decreases +by `1`. When a commenter is labeled as Unreliable, their comments must be +moderated before they are posted. + +When a commenter has one comment rejected, their next comment must be moderated +once in order to post freely again. If they instead get rejected again, then +they must have two of their comments approved in order to get added back to the +queue. + +Here are the default thresholds: + +```text +-2 and lower: Unreliable +-1 to +2: Neutral ++3 and higher: Reliable +``` + +You can configure your own Trust thresholds by using [TRUST_THRESHOLD]({{"/advanced-configuration/#trust_thresholds" | relative_url }}{:.param} in your +configuration. + + +### Reliable and Unreliable Flaggers + +Trust also calculates how reliable users are in terms of the comments they +report. This information is displayed to moderators in the User History drawer, +which is accessed by clicking on a user’s name in the Admin. + +If a user's reports mostly match what moderators reject, their Report status +will display to moderators as Reliable in the user information drawer. If a +user's reports mostly differ from what moderators reject, their Report status +will show as Unreliable. + +If we don't have enough reports to make a call, or the reports even out, their +status is Neutral. + +Note: Report Karma doesn't include reports of "I don't agree with this comment". diff --git a/docs/_docs/04-03-product-guide-toxic-comments.md b/docs/_docs/04-03-product-guide-toxic-comments.md new file mode 100644 index 000000000..f3dd506ba --- /dev/null +++ b/docs/_docs/04-03-product-guide-toxic-comments.md @@ -0,0 +1,53 @@ +--- +title: Toxic Comments +permalink: /toxic-comments/ +--- + +Leveraging Google's Perspective API, you can now set a Toxicity Threshold for +Talk (0.8 or 80% is the default), which works like this: + +- If a comment exceeds the threshold, the commenter is warned that their comment + may be toxic, and are given the chance to modify their comment before posting +- If the revised comment is below the Toxicity Threshold, it is posted and + displayed normally +- If the revised comment still exceeds the Toxicity Threshold, it is not + displayed on the stream and instead is sent to the Reported queue for + moderation +- If the moderator accepts the comment, it's displayed on the stream; if it's + rejected, it will not be displayed +- Moderators see a Toxic Probability Score on toxic comments in the Moderation + queues + +Read more about Coral’s take on toxicity +[on our blog](https://blog.coralproject.net/toxic-avenging/){:target="_blank"}. + +To enable this behavior, visit the +[talk-plugin-toxic-comments]({{ "/additional-plugins/#talk-plugin-toxic-comments" | relative_url }}) +plugin documentation. + +## What is the Perspective API? + +The likely toxicity of a comment is evaluated using scores generated from +[Perspective API](http://perspectiveapi.com/){:target="_blank"}. This is part of +the [Conversation AI](https://conversationai.github.io/){:target="_blank"} +research effort run by Jigsaw (a section of Google that works on global problems +around speech and access to information). + +Perspective API uses machine learning, based on existing databases of +accepted/rejected comments, to guess the probability that a comment is abusive +and/or toxic. It is currently English only, but the system is designed to work +with multiple languages. + +In order to activate our plugin, each news organization applies for an API key +from Jigsaw (click “Request API access” on this site.) Sites can also work with +Jigsaw to create an individualized data set specifically trained on their own +comment history. + +Perspective API was released earlier this year, and is currently in alpha +(meaning that it is being continually refined and improved.) Jigsaw should +certainly be praised for devoting serious resources to this issue, and making +their work available for others, including us, to use. + +We’ve talked with their team on several occasions, and have been impressed by +their dedication and commitment to this issue. These are smart people who are +trying to improve a broken part of the internet. \ No newline at end of file diff --git a/docs/_docs/product-guide-how-talk-works.md b/docs/_docs/product-guide-how-talk-works.md deleted file mode 100644 index 1fc70eecc..000000000 --- a/docs/_docs/product-guide-how-talk-works.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: How Talk Works -permalink: /how-talk-works/ -class: product-guide ---- - -Talk is an open-source commenting platform. It has two pieces. One is the embedded script, which allows newsrooms to have a unique comments section on each story/post/page they have on their site, and allows their readers to comment and discuss articles. The other is the Admin, which is where newsrooms moderate their comments and manage and configure Talk. - -### What is Talk Core? - -As we’re building Talk, our vision was always to have it be very modular, so there are features we have built and are opinionated about, but we allow newsrooms and their developers to customize Talk easily so that it fits their use cases and needs. - -Talk Core is the core application of Talk - this contains all of the standard commenting features that are necessary for a comment section, and ones that we believe are important to be universal. - -### What are Plugins? - -Plugins are additional functionality which are optional to use with Talk. You can turn these on or off, depending on your specific needs. Plugins are either part of our core plugins, which ship with Talk, or they are developed by 3rd parties and either used privately and internally, or are open sourced for use across the greater community. - - -### What are Recipes? - -Recipes are plugin templates that are created by the Talk team and 3rd party developers, in order to help contributors and newsrooms build plugins easily. - diff --git a/docs/_docs/product-guide-plugins-and-recipes.md b/docs/_docs/product-guide-plugins-and-recipes.md deleted file mode 100644 index aed661adb..000000000 --- a/docs/_docs/product-guide-plugins-and-recipes.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -title: Plugin and Recipe List -permalink: /plugins-and-recipes/ -class: product-guide ---- - -### Default Plugins - -The default Talk plugins can be found in the `plugins.default.json` file [here](https://github.com/coralproject/talk/blob/master/plugins.default.json). - -Talk ships out of the box with these plugins: - -#### Auth `talk-plugin-auth` - -Enables generic registration via an email address, a username, a password, and a password confirmation. To sync Talk auth with your own auth systems, you can use this plugin as a template. - -#### Facebook Auth `talk-plugin-facebook-auth` - -Enables sign-in via Facebook. - -#### Comment Content `talk-plugin-comment-content` - -Pluginizes the text of a comment to support custom treatment of this text. By default, we linkify urls so they are clickable. - -#### Respect `talk-plugin-respect` - -Enables a Respect reaction button. Why a “respect” button, you ask? [Read more here](https://mediaengagement.org/research/engagement-buttons/). - -#### Ignore User `talk-plugin-ignore-user` - -Enables ability for users to ignore (or “mute”) other users. If a user is ignored, you will not see any of their comments. You can un-ignore a user via the My Profile tab. - -#### Permalinks `talk-plugin-permalink` - -#### Featured Comments `talk-plugin-featured-comments` - -Enables the ability for Moderators to feature and un-feature comments via the Stream and the Admin. Featured comments show in a first-place tab on the Stream if there are any featured comments on that story. - -#### Viewing Options `talk-plugin-viewing-options` - -##### Sorting Options `talk-plugin-sort-newest`, `talk-plugin-sort-oldest`, `talk-plugin-most-respected`, `talk-plugin-most-replied` - -##### Off-topic `talk-plugin-offtopic` - -#### Author Menu `talk-plugin-author-menu` - -##### Member Since `talk-plugin-member-since` - -#### In-Stream Moderation `talk-plugin-moderation-actions` - -Enables in-stream moderation so that Moderators can reject, approve, and feature comments, as well as ban users, directly from the comment stream. - -#### Moderation Flag Details `talk-plugin-flag-details` - -Enables other plugins to use the Flag Details area of comments in the Moderation Queues to display data. - - -### Additional Plugins - -#### Like `talk-plugin-like` - -Provides a `like` reaction button. Can also be added to the Viewing Options sorts by including `talk-plugin-most-liked`. - -#### Love `talk-plugin-love` - -Provides a `love` reaction button. Can also be added to the Viewing Options sorts by including `talk-plugin-most-loved`. - -#### Remember Sort `talk-plugin-remember-sort` - -Enables saving a user’s last sort selection as they browse other articles. - -#### Deep Reply Count `talk-plugin-deep-reply-count` - -Enables counting of comments to include replies. Requires dev work to enable this fully. - -### Recipes - -Recipes are available here: -https://github.com/coralproject/talk-recipes - -#### Avatars `recipe-avatar` - -Provides support for commenter avatars. - -#### Subscriber Badge `recipe-subscriber` - -Provides support for badges for `subscribers`. - -#### Author Name `recipe-author-name` - -Enables the ability to hover over a commenter’s name and add plugin functionality there. The Member Since plugin is an example of this. diff --git a/docs/_docs/product-guide-toxic-comments.md b/docs/_docs/product-guide-toxic-comments.md deleted file mode 100644 index f72066c46..000000000 --- a/docs/_docs/product-guide-toxic-comments.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: Toxic Comments -permalink: /toxic-comments/ -class: product-guide ---- - -Leveraging Google's Perspective API, you can now set a Toxicity Threshold for Talk (0.8 or 80% is the default), which works like this: - -- If a comment exceeds the threshold, the commenter is warned that their comment may be toxic, and are given the chance to modify their comment before posting - -- If the revised comment is below the Toxicity Threshold, it is posted and displayed normally - -- If the revised comment still exceeds the Toxicity Threshold, it is not displayed on the stream and instead is sent to the Reported queue for moderation - -- If the moderator accepts the comment, it's displayed on the stream; if it's rejected, it will not be displayed - -- Moderators see a Toxic Probability Score on toxic comments in the Moderation queues - -Read more about Coral’s take on toxicity [on our blog](https://blog.coralproject.net/toxic-avenging/). - - -### What is the Perspective API? - -The likely toxicity of a comment is evaluated using scores generated from [Perspective API](http://perspectiveapi.com/). This is part of the [Conversation AI](https://conversationai.github.io/) research effort run by Jigsaw (a section of Google that works on global problems around speech and access to information). - -Perspective API uses machine learning, based on existing databases of accepted/rejected comments, to guess the probability that a comment is abusive and/or toxic. It is currently English only, but the system is designed to work with multiple languages. - -In order to activate our plugin, each news organization applies for an API key from Jigsaw (click “Request API access” on this site.) Sites can also work with Jigsaw to create an individualized data set specifically trained on their own comment history. - -Perspective API was released earlier this year, and is currently in alpha (meaning that it is being continually refined and improved.) Jigsaw should certainly be praised for devoting serious resources to this issue, and making their work available for others, including us, to use. - -We’ve talked with their team on several occasions, and have been impressed by their dedication and commitment to this issue. These are smart people who are trying to improve a broken part of the internet. - - -### How do I add the Toxic Comments plugin to my Talk? - -You can turn on this plugin by including talk-plugin-toxic-comments (as well as talk-plugin-flag-details, see above) in your plugins.json - -Environment variables for configuration: - -- `TALK_PERSPECTIVE_API_KEY` (required) - -- `TALK_TOXICITY_THRESHOLD` (optional, default 0.8) - -- `TALK_PERSPECTIVE_API_ENDPOINT` (optional, default https://commentanalyzer.googleapis.com/v1alpha1) - -- `TALK_PERSPECTIVE_TIMEOUT` (optional, default 300) - -Note: this is a beta plugin and will see a lot of changes/improvement in the coming weeks) - - -### Request an API Key - -You can read more about Google's Perspective API and/or request an API key here: [http://perspectiveapi.com/](http://perspectiveapi.com/). diff --git a/docs/_docs/product-guide-trust.md b/docs/_docs/product-guide-trust.md deleted file mode 100644 index 510d451f9..000000000 --- a/docs/_docs/product-guide-trust.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: Trust -permalink: /trust/ -class: product-guide ---- - -“Trust” are components within Talk that incorporate automated moderation features based on a user’s previous behavior. - -### User Karma Score - -Using Trust’s calculations, Talk will automatically pre-moderate comments of users who have a negative karma score. All users start out with a `0` neutral karma score. If they have a comment approved by a moderator, their score increases by 1; if they have a comment rejected by a moderator, it decreases by 1. When a commenter is labeled as Unreliable, their comments must be moderated before they are posted. - -When a commenter has one comment rejected, their next comment must be moderated once in order to post freely again. If they instead get rejected again, then they must have two of their comments approved in order to get added back to the queue. - -Here are the default thresholds: - --2 and lower: Unreliable --1 to +2: Neutral -+3 and higher: Reliable - -You can configure your own Trust thresholds by using `TRUST_THRESHOLD` in your configuration. [https://coralproject.github.io/talk/advanced-configuration/#trust_thresholds](Learn more about how to configure Trust here). - - -### Reliable and Unreliable Flaggers - -Trust also calculates how reliable users are in terms of the comments they report. This information is displayed to moderators in the User History drawer, which is accessed by clicking on a user’s name in the Admin. - -If a user's reports mostly match what moderators reject, their Report status will display to moderators as Reliable in the user information drawer. If a user's reports mostly differ from what moderators reject, their Report status will show as Unreliable. - -If we don't have enough reports to make a call, or the reports even out, their status is Neutral. - -Note: Report Karma doesn't include reports of "I don't agree with this comment". diff --git a/docs/_layouts/doc.html b/docs/_layouts/doc.html index 0325ea9fe..53d49adf0 100644 --- a/docs/_layouts/doc.html +++ b/docs/_layouts/doc.html @@ -2,7 +2,7 @@ layout: default --- - Suggest Edits + Suggest Edits

{{ page.title }}


diff --git a/docs/_sass/talk.scss b/docs/_sass/talk.scss index f33cf09db..7597275c3 100644 --- a/docs/_sass/talk.scss +++ b/docs/_sass/talk.scss @@ -36,13 +36,17 @@ h2, h3, h4 { } } +.param { + font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + article.configuration { h2 { font-weight: bolder; } - h2, .toc, .param { - font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + h2, .toc { + @extend .param; } } @@ -260,6 +264,9 @@ pre { p a:not(.plain-link) { @extend .coral-link; } + ul:not(.toc__menu) li a { + @extend .coral-link; + } } } diff --git a/plugins.default.json b/plugins.default.json index a26a38c8e..e6d1b23cb 100644 --- a/plugins.default.json +++ b/plugins.default.json @@ -1,27 +1,27 @@ { "server": [ "talk-plugin-auth", - "talk-plugin-respect", - "talk-plugin-offtopic", "talk-plugin-facebook-auth", - "talk-plugin-featured-comments" + "talk-plugin-featured-comments", + "talk-plugin-offtopic", + "talk-plugin-respect" ], "client": [ - "talk-plugin-respect", "talk-plugin-auth", - "talk-plugin-offtopic", - "talk-plugin-viewing-options", + "talk-plugin-author-menu", "talk-plugin-comment-content", - "talk-plugin-permalink", "talk-plugin-featured-comments", + "talk-plugin-flag-details", + "talk-plugin-ignore-user", + "talk-plugin-member-since", + "talk-plugin-moderation-actions", + "talk-plugin-offtopic", + "talk-plugin-permalink", + "talk-plugin-respect", + "talk-plugin-sort-most-replied", + "talk-plugin-sort-most-respected", "talk-plugin-sort-newest", "talk-plugin-sort-oldest", - "talk-plugin-sort-most-respected", - "talk-plugin-sort-most-replied", - "talk-plugin-author-menu", - "talk-plugin-member-since", - "talk-plugin-ignore-user", - "talk-plugin-moderation-actions", - "talk-plugin-flag-details" + "talk-plugin-viewing-options" ] } diff --git a/plugins/talk-plugin-toxic-comments/package.json b/plugins/talk-plugin-toxic-comments/package.json index 848e6d948..f941e1b6c 100644 --- a/plugins/talk-plugin-toxic-comments/package.json +++ b/plugins/talk-plugin-toxic-comments/package.json @@ -5,5 +5,8 @@ "description": "Provides support for measuring the toxicity of user comments using the Perspectives API", "main": "index.js", "author": "The Coral Project Team ", - "license": "Apache-2.0" + "license": "Apache-2.0", + "dependencies": { + "ms": "^2.0.0" + } } diff --git a/plugins/talk-plugin-toxic-comments/server/config.js b/plugins/talk-plugin-toxic-comments/server/config.js index bc7ddf138..e60d56dd1 100644 --- a/plugins/talk-plugin-toxic-comments/server/config.js +++ b/plugins/talk-plugin-toxic-comments/server/config.js @@ -1,8 +1,10 @@ +const ms = require('ms'); + const config = { API_ENDPOINT: process.env.TALK_PERSPECTIVE_API_ENDPOINT || 'https://commentanalyzer.googleapis.com/v1alpha1', API_KEY: process.env.TALK_PERSPECTIVE_API_KEY, THRESHOLD: process.env.TALK_TOXICITY_THRESHOLD || 0.8, - API_TIMEOUT: process.env.TALK_PERSPECTIVE_TIMEOUT || 300, + API_TIMEOUT: ms(process.env.TALK_PERSPECTIVE_TIMEOUT || '300ms'), }; if (process.env.NODE_ENV !== 'test' && !config.API_KEY) { diff --git a/plugins/talk-plugin-toxic-comments/yarn.lock b/plugins/talk-plugin-toxic-comments/yarn.lock index fb57ccd13..f73f43463 100644 --- a/plugins/talk-plugin-toxic-comments/yarn.lock +++ b/plugins/talk-plugin-toxic-comments/yarn.lock @@ -2,3 +2,6 @@ # yarn lockfile v1 +ms@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"