2022-06-01 15:03:01 +01:00
|
|
|
<div class="comments">
|
|
|
|
<div class="title">
|
|
|
|
<span>Comments</span>
|
|
|
|
<span class="counter"><span class="remark42__counter" data-url="{{ .page.Permalink }}"></span></span>
|
|
|
|
</div>
|
|
|
|
<div id="remark42">
|
|
|
|
</div>
|
|
|
|
</div>
|
2022-05-30 17:24:54 +01:00
|
|
|
|
|
|
|
<script>
|
|
|
|
var remark_config = {
|
2022-06-01 15:03:01 +01:00
|
|
|
host: '{{ .ctx.url }}',
|
|
|
|
site_id: '{{ .ctx.site }}',
|
|
|
|
components: ['embed', 'counter'],
|
2022-05-30 17:24:54 +01:00
|
|
|
max_shown_comments: 20,
|
|
|
|
theme: 'light',
|
|
|
|
// page_title: 'My custom title for a page',
|
|
|
|
// show_email_subscription: false,
|
|
|
|
simple_view: true
|
|
|
|
};
|
|
|
|
if (isDarkTheme()) {
|
|
|
|
remark_config.theme = 'dark'
|
|
|
|
}
|
|
|
|
|
|
|
|
(function() {
|
2022-06-01 10:14:46 +01:00
|
|
|
// toogle theme callback
|
|
|
|
const key = 'remark42'
|
|
|
|
if (!toggleThemeCallbacks.hasOwnProperty(key)) {
|
|
|
|
toggleThemeCallbacks[key] = (isDark) => {
|
|
|
|
const remark42 = window.REMARK42
|
|
|
|
if (!remark42 || !document.querySelector('#remark42')) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (isDark) {
|
|
|
|
remark42.changeTheme('light');
|
|
|
|
} else {
|
|
|
|
remark42.changeTheme('dark');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2022-05-30 17:24:54 +01:00
|
|
|
|
2022-06-01 10:14:46 +01:00
|
|
|
// init or reset remark42
|
|
|
|
const remark42 = window.REMARK42
|
2022-05-30 17:24:54 +01:00
|
|
|
if (remark42) {
|
|
|
|
remark42.destroy()
|
|
|
|
remark42.createInstance(remark_config)
|
|
|
|
} else {
|
|
|
|
for (const component of remark_config.components) {
|
|
|
|
var d = document, s = d.createElement('script');
|
|
|
|
s.src = `${remark_config.host}/web/${component}.mjs`;
|
|
|
|
s.type = 'module';
|
|
|
|
s.defer = true;
|
|
|
|
// prevent the <script> from loading mutiple times by InstantClick
|
|
|
|
s.setAttribute('data-no-instant', '')
|
|
|
|
d.head.appendChild(s);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})();
|
|
|
|
</script>
|