FastComments.com

Add Live Discussions to Super.So Sites

FastComments Collab Chat ืžืฉื“ืจื’ ืืชืจื™ Super.so ืœืจืžื” ื”ื‘ืื” ืขืœ ื™ื“ื™ ื”ื•ืกืคืช ื“ื™ื•ื ื™ื ื—ื™ื™ื ื‘ืชื•ืš ื”ื˜ืงืกื˜. ืžืฉืชืžืฉื™ื ื™ื›ื•ืœื™ื ืœื”ื“ื’ื™ืฉ ื•ืœื”ื’ื™ื‘ ืขืœ ืงื˜ืขื™ ื˜ืงืกื˜ ื‘ืื•ืคืŸ ืฉื™ืชื•ืคื™, ื‘ื™ื—ื“ - ื‘ื–ืžืŸ ืืžืช!

ื›ืืŸ ื ืกื‘ื™ืจ ืืช ืฉืœื‘ื™ ื”ื”ืชืงื ื”, ืฉืœื•ืงื—ื™ื ืจืง ื›ืžื” ื“ืงื•ืช.

ืฉืœื‘ 1: ืคืชื— ืืช ื”ื”ื’ื“ืจื•ืช Internal Link

ืจืืฉื™ืช ืขืœื™ื ื• ืœืคืชื•ื— ืืช ืขื•ืจืš ื”ืงื•ื“. ืื ื‘ืจืฆื•ื ืš ืœื”ื•ืกื™ืฃ ืืช FastComments ืœื›ืœ ื”ื“ืคื™ื, ืคืฉื•ื˜ ื‘ื—ืจ ื‘ึพCode ื‘ืคื™ื ื” ื”ืฉืžืืœื™ืช ื”ืชื—ืชื•ื ื”:

ืคืชื— ื”ื’ื“ืจื•ืช ื”ืงื•ื“
ืคืชื— ื”ื’ื“ืจื•ืช ื”ืงื•ื“

ืื ื‘ืจืฆื•ื ืš ืœื”ื•ืกื™ืฃ ืื•ืชื• ืœืขืžื•ื“ ืžืกื•ื™ื, ื‘ื—ืจ ื‘ึพEdit Custom Code ื‘ื”ื’ื“ืจื•ืช ืฉืœ ืื•ืชื• ืขืžื•ื“.

ืขื›ืฉื™ื• ื‘ื•ืื• ื ื‘ื—ืจ ื‘ื›ืจื˜ื™ืกื™ื™ืช Body. ื–ื” ื—ืฉื•ื‘!. ื”ืชืงื ืช ืงื˜ืข ื”ืงื•ื“ ื‘ึพHead ืœื ืขื•ื‘ื“ืช.

ื‘ื—ืจ ื‘ื›ืจื˜ื™ืกื™ื™ืช Body
ื‘ื—ืจ ื‘ื›ืจื˜ื™ืกื™ื™ืช Body

ื›ืขืช ื ื™ืชืŸ ืœื”ืžืฉื™ืš ืœืฉืœื‘ 2.


ืฉืœื‘ 2: ื”ื•ืกืฃ ืงื•ื“ ืžื•ื›ืŸ ืžืจืืฉ Internal Link

ื‘ืฉืœื‘ ื”ื‘ื ืขืœื™ืš ืœื”ืขืชื™ืง ืืช ืงื•ื“ ื”ื•ื•ื™ื“ื’'ื˜ ื”ืžื•ื›ืŸ ืžื˜ื”.

ื›ืœ ืขื•ื“ ืืชื” ืžื—ื•ื‘ืจ ืœ-FastComments.com ื”ืงื˜ืข ื”ืงื•ื“ ืœืžื˜ื” ื›ื‘ืจ ื™ื›ืœื•ืœ ืืช ืžื™ื“ืข ื”ื—ืฉื‘ื•ืŸ ืฉืœืš. ื‘ื•ื ื ืขืชื™ืง ืื•ืชื•:

ืงื•ื“ Super.so ืฉืœ FastComments Collab Chat
Copy Copy
1
2<script src="https://cdn.fastcomments.com/js/embed-collab-chat.min.js"></script>
3<script>
4 (function () {
5 let currentPathname = window.location.pathname;
6 let currentWidget = null;
7 let currentTopBar = null;
8
9 function load() {
10 if (!window.FastCommentsCollabChat) {
11 console.log('...no script, trying again...');
12 return setTimeout(load, 100);
13 }
14
15 const target = document.querySelector('.super-content');
16 if (!target || !target.innerHTML || target.innerHTML.length < 100) {
17 console.log('...no content, trying again...');
18 return setTimeout(load, 100);
19 }
20
21 // ื ื™ืงื•ื™ ืžื•ืคืข ืงื™ื™ื
22 if (target.fastCommentsInstance) {
23 target.fastCommentsInstance.destroy();
24 }
25
26 // ื”ืกืจ ืืช ืกืจื’ืœ ื”ืขืœื™ื•ืŸ ื”ืงื™ื™ื ืื ืงื™ื™ื
27 if (currentTopBar && currentTopBar.parentNode) {
28 currentTopBar.parentNode.removeChild(currentTopBar);
29 }
30
31 // ืฆื•ืจ ืกืจื’ืœ ืขืœื™ื•ืŸ ื—ื“ืฉ
32 const topBarTarget = document.createElement('div');
33 target.parentNode.insertBefore(topBarTarget, target);
34 topBarTarget.style.maxWidth = 'var(--layout-max-width)';
35 topBarTarget.style.margin = '0 auto';
36 currentTopBar = topBarTarget;
37 currentWidget = target;
38
39 // ืืชื—ื•ืœ FastComments Collab Chat
40 target.fastCommentsInstance = FastCommentsCollabChat(target, {
41 tenantId: "demo",
42 topBarTarget: topBarTarget
43 });
44
45 // ืขื“ื›ืŸ ืืช currentPathname
46 currentPathname = window.location.pathname;
47 }
48
49 // ื˜ืขื™ื ื” ืจืืฉื•ื ื™ืช
50 load();
51
52 // ื‘ื“ื•ืง ื›ืœ 500ms ืื ื™ืฉ ืฉื™ื ื•ื™ื™ื
53 setInterval(() => {
54 // ื˜ืขืŸ ืžื—ื“ืฉ ืื ื”-pathname ื”ืฉืชื ื”
55 if (window.location.pathname !== currentPathname) {
56 console.log('Pathname changed, reloading...');
57 load();
58 return;
59 }
60
61 // ื˜ืขืŸ ืžื—ื“ืฉ ืื ื”ื•ื•ื™ื“ื’'ื˜ ื”ื•ืกืจ
62 if (currentWidget && !currentWidget.parentNode) {
63 console.log('Widget removed, reloading...');
64 load();
65 return;
66 }
67
68 // ื˜ืขืŸ ืžื—ื“ืฉ ืื ื”ืžื›ื•ืœื” ื”ืชืจื•ืงื ื”
69 const target = document.querySelector('.super-content');
70 if (target && target.innerHTML.length < 100) {
71 console.log('Container emptied, reloading...');
72 load();
73 }
74 }, 500);
75 })();
76</script>
77

Now paste in the Body area:

ื”ืงื•ื“ ืฉื”ื•ืฆืžื“
ื”ืงื•ื“ ืฉื”ื•ืฆืžื“

If you see a "this is a demo message" after pasting the code:

  • Ensure you're logged into your fastcomments.com account.
  • Ensure you have 3rd party cookies enabled.
  • Then refresh this page and copy the code snippet again. It should have tenantId populated with your tenant's identifier.

ืจืื• ื’ื: ื•ื•ื™ื“ื’'ื˜ ืชื’ื•ื‘ื•ืช ืจื’ื™ืœ Internal Link

ื”ื•ืกืคืช ื•ื•ื™ื“ื’ื˜ ืชื’ื•ื‘ื•ืช ื—ื™ื•ืช ืœืžืืžืจื™ Notion ืฉืœืš ื‘โ€‘Super.so

ื‘ื ื•ืกืฃ ืœโ€‘Collab Chat, ื‘ืืคืฉืจื•ืชืš ืœื”ื•ืกื™ืฃ ื•ื•ื™ื“ื’ื˜ ืชื’ื•ื‘ื•ืช ืžืกื•ืจืชื™ ืœืชื—ืชื™ืช ื”ืžืืžืจื™ื ืฉืœืš ื‘โ€‘Notion. ื–ื” ืžืืคืฉืจ ืœืงื•ืจืื™ื ืœื”ืฉืื™ืจ ืชื’ื•ื‘ื•ืช ื•ืœื ื”ืœ ื“ื™ื•ื ื™ื ืขืœ ื›ืœ ื”ืžืืžืจ.

ืฉืœื‘ื™ ื”ืชืงื ื”

ื”ืขืชืง ืืช ื”ืงื•ื“ ื”ื‘ื ื•ื”ื“ื‘ืง ืื•ืชื• ื‘ืงื˜ืข ื”โ€‘Body ื‘ื”ื’ื“ืจื•ืช ื”ืืชืจ ืฉืœืš ื‘โ€‘Super.so:

ื•ื•ื™ื“ื’ื˜ ืชื’ื•ื‘ื•ืช ื—ื™ื•ืช ืฉืœ FastComments ืœโ€‘Super.so
Copy Copy
1
2<script src="https://cdn.fastcomments.com/js/embed-v2.min.js"></script>
3<script>
4 (function () {
5 let currentPathname = window.location.pathname;
6 let currentWidget = null;
7
8 function load() {
9 if (!window.FastCommentsUI) {
10 console.log('...no script, trying again...');
11 return setTimeout(load, 100);
12 }
13
14 const contentArea = document.querySelector('.notion-root');
15 if (!contentArea || !contentArea.innerHTML || contentArea.innerHTML.length < 100) {
16 console.log('...no content, trying again...');
17 return setTimeout(load, 100);
18 }
19
20 // ื ืงื” ืžื•ืคืข ืงื™ื™ื
21 if (contentArea.fastCommentsInstance) {
22 contentArea.fastCommentsInstance.destroy();
23 }
24
25 // ืฆื•ืจ ื™ืขื“ ื—ื“ืฉ
26 const target = document.createElement('div');
27 contentArea.append(target);
28 currentWidget = target;
29
30 // ืืชื—ืœ ืืช FastComments
31 contentArea.fastCommentsInstance = FastCommentsUI(target, {
32 tenantId: "demo",
33 urlId: window.location.pathname
34 });
35
36 // ืขื“ื›ืŸ ืืช currentPathname
37 currentPathname = window.location.pathname;
38 }
39
40 // ื˜ืขื™ื ื” ืจืืฉื•ื ื™ืช
41 load();
42
43 // ื‘ื“ื•ืง ื›ืœ 500ms ืขื‘ื•ืจ ืฉื™ื ื•ื™ื™ื
44 setInterval(() => {
45 // ื˜ืขืŸ ืžื—ื“ืฉ ืื ื”โ€‘pathname ื”ืฉืชื ื”
46 if (window.location.pathname !== currentPathname) {
47 console.log('Pathname changed, reloading...');
48 load();
49 return;
50 }
51
52 // ื˜ืขืŸ ืžื—ื“ืฉ ืื ื”ื•ื•ื™ื“ื’ื˜ ื”ื•ืกืจ
53 if (currentWidget && !currentWidget.parentNode) {
54 console.log('Widget removed, reloading...');
55 load();
56 return;
57 }
58
59 // ื˜ืขืŸ ืžื—ื“ืฉ ืื ื”ืžื›ื•ืœื” ืจื•ืงื ื”
60 const contentArea = document.querySelector('.notion-root');
61 if (contentArea && contentArea.innerHTML.length < 100) {
62 console.log('Container emptied, reloading...');
63 load();
64 }
65 }, 500);
66 })();
67</script>
68

ื”ืขืจื•ืช ื—ืฉื•ื‘ื•ืช

  • ื”ื•ื•ื™ื“ื’ื˜ ื”ืชื’ื•ื‘ื•ืช ื™ื•ืคื™ืข ื‘ืชื—ืชื™ืช ื”ืžืืžืจื™ื ืฉืœืš ื‘โ€‘Notion
  • ืœื›ืœ ืขืžื•ื“ ื™ืฉ ืฉืจืฉื•ืจ ืชื’ื•ื‘ื•ืช ื™ื™ื—ื•ื“ื™ ืžื‘ื•ืกืก ืขืœ ื ืชื™ื‘ ื”โ€‘URL
  • ื”ืงืคื“ ืœื”ื—ืœื™ืฃ ืืช "demo" ื‘โ€‘tenant ID ื”ืืžื™ืชื™ ืฉืœืš ืžื—ืฉื‘ื•ืŸ FastComments ืฉืœืš
  • ื”ื•ื•ื™ื“ื’ื˜ ืžื˜ืคืœ ืื•ื˜ื•ืžื˜ื™ืช ื‘ื˜ืขื™ื ืช ื”ื“ืคื™ื ื”ื“ื™ื ืžื™ืช ืฉืœ Super.so

ื”ืชืืžื” ืื™ืฉื™ืช Internal Link


FastComments ื ื•ืขื“ ืœื”ื™ื•ืช ืžื•ืชืื ืœืฆื•ืจื›ื™ ื”ืืชืจ ืฉืœืš.

ืื ื‘ืจืฆื•ื ืš ืœื”ื•ืกื™ืฃ ืขื™ืฆื•ื‘ ืžื•ืชืื ืื™ืฉื™ืช, ืื• ืœื›ื•ื•ื ืŸ ืืช ื”ืชืฆื•ืจื”, ืขื™ื™ืŸ ื‘ืชื™ืขื•ื“ ื”ื”ืชืืžื•ืช ื•ื”ื”ื’ื“ืจื•ืช ืฉืœื ื• ื›ื“ื™ ืœืœืžื•ื“ ื›ื™ืฆื“.