feat: hashover comments integration

This commit is contained in:
2023-12-19 21:18:21 +01:00
parent 1caf73dce1
commit 22fcc7b96c
3 changed files with 226 additions and 253 deletions

View File

@@ -5,9 +5,9 @@ version: 1.0.0
description: "Paxover is a theme for Tymoteusz Jóźwiak's personal website" description: "Paxover is a theme for Tymoteusz Jóźwiak's personal website"
icon: empire icon: empire
author: author:
name: Tymoteusz Jóźwiak name: Tymoteusz Jóźwiak
email: tymoteusz@jozwiak.top email: tymoteusz@jozwiak.top
url: https://jozwiak.top url: https://jozwiak.top
homepage: https://codeberg.org/tymoteuszjozwiak/paxover homepage: https://codeberg.org/tymoteuszjozwiak/paxover
demo: https://jozwiak.top demo: https://jozwiak.top
keywords: paxover keywords: paxover
@@ -15,250 +15,235 @@ bugs: https://codeberg.org/tymoteuszjozwiak/paxover/issues
license: MIT license: MIT
dependencies: dependencies:
- { name: grav, version: ">=1.6.0" } - { name: grav, version: ">=1.6.0" }
form: form:
validation: loose validation: loose
fields: fields:
blog_section: blog_section:
type: section type: section
title: Blog settings title: Blog settings
underline: true underline: true
blog.slug: blog.slug:
type: text type: text
label: Blog slug label: Blog slug
help: Route to the blog page help: Route to the blog page
size: medium size: medium
default: "/blog" default: "/blog"
blog.tag_title: blog.tag_title:
type: text type: text
label: Tag title label: Tag title
help: Title displayed on tag view page help: Title displayed on tag view page
size: medium size: medium
default: "Tag" default: "Tag"
blog.tags_title: blog.tags_title:
type: text type: text
label: Tags title label: Tags title
help: Title displayed on tag list help: Title displayed on tag list
size: medium size: medium
default: "Tagi" default: "Tagi"
blog.series_title: blog.series_title:
type: text type: text
label: Series title label: Series title
help: Title displayed on series field help: Title displayed on series field
size: medium size: medium
default: "Seria" default: "Seria"
blog.pagination_limit: blog.pagination_limit:
type: text type: text
label: Blog pagination limit label: Blog pagination limit
help: Limit of posts displayed on one page help: Limit of posts displayed on one page
size: medium size: medium
default: "7" default: "7"
blog.pagination_newer: blog.pagination_newer:
type: text type: text
label: Pagination "newer" label: Pagination "newer"
help: Title displayed on "newer" button help: Title displayed on "newer" button
size: medium size: medium
default: "Nowsze" default: "Nowsze"
blog.pagination_older: blog.pagination_older:
type: text type: text
label: Pagination "older" label: Pagination "older"
help: Title displayed on "older" button help: Title displayed on "older" button
size: medium size: medium
default: "Starsze" default: "Starsze"
blog.share: blog.share:
type: text type: text
label: Share section title label: Share section title
size: medium size: medium
default: "Udostępnij" default: "Udostępnij"
blog.share_buttons: blog.share_buttons:
type: list type: list
label: Share buttons label: Share buttons
btnLabel: Add button btnLabel: Add button
fields: fields:
.name: .name:
type: text type: text
label: Name label: Name
size: medium size: medium
.class: .class:
type: text type: text
label: Class (e.g. btn-twitter) label: Class (e.g. btn-twitter)
size: medium size: medium
.attributes: .attributes:
type: text type: text
label: Attributes (e.g. disabled) label: Attributes (e.g. disabled)
size: medium size: medium
.link: .link:
type: text type: text
label: Link label: Link
size: medium size: medium
.url_param: .url_param:
type: text type: text
label: URL param (e.g. url) label: URL param (e.g. url)
size: medium size: medium
.title: .title:
type: text type: text
label: Title label: Title
size: medium size: medium
.title_en: .title_en:
type: text type: text
label: Title [EN] label: Title [EN]
size: medium size: medium
social_section: social_section:
type: section type: section
title: Main page settings title: Main page settings
underline: true underline: true
social_buttons: social_buttons:
type: list type: list
label: Social buttons label: Social buttons
btnLabel: Add button btnLabel: Add button
fields: fields:
.name: .name:
type: text type: text
label: Name label: Name
size: medium size: medium
.class: .class:
type: text type: text
label: Class (e.g. btn-twitter) label: Class (e.g. btn-twitter)
size: medium size: medium
.attributes: .attributes:
type: text type: text
label: Attributes (e.g. disabled) label: Attributes (e.g. disabled)
size: medium size: medium
.link: .link:
type: text type: text
label: Link label: Link
size: medium size: medium
.title: .title:
type: text type: text
label: Title label: Title
size: medium size: medium
.title_en: .title_en:
type: text type: text
label: Title [EN] label: Title [EN]
size: medium size: medium
contact: contact:
type: textarea type: textarea
label: Contact label: Contact
help: Contact info displayed on main page help: Contact info displayed on main page
size: big size: big
default: "" default: ""
contact_en: contact_en:
type: textarea type: textarea
label: Contact EN label: Contact EN
help: English version of the previous field help: English version of the previous field
size: big size: big
default: "" default: ""
lang_title_en: lang_title_en:
type: text type: text
label: Lang title EN label: Lang title EN
help: Main language title displayed on english version of main page help: Main language title displayed on english version of main page
size: medium size: medium
default: "" default: ""
footer_section: footer_section:
type: section type: section
title: Footer settings title: Footer settings
underline: true underline: true
footer.title: footer.title:
type: text type: text
label: Footer link title label: Footer link title
size: medium size: medium
default: "" default: ""
footer.title_en: footer.title_en:
type: text type: text
label: Footer link title EN label: Footer link title EN
help: English translation of footer link title help: English translation of footer link title
size: medium size: medium
default: "" default: ""
footer.url: footer.url:
type: text type: text
label: Footer link label: Footer link
help: Footer link help: Footer link
size: medium size: medium
default: "" default: ""
footer.year: footer.year:
type: number type: number
label: Footer year label: Footer year
help: Website start year displayed in footer help: Website start year displayed in footer
size: medium size: medium
default: "2022" default: "2022"
owner_title: owner_title:
type: text type: text
label: Owner title label: Owner title
size: medium size: medium
default: "Owner" default: "Owner"
wordcount_title: wordcount_title:
type: text type: text
label: Word count title label: Word count title
size: medium size: medium
default: "słów" default: "słów"
analytics: analytics:
type: textarea type: textarea
label: Analytics script label: Analytics script
help: Script inserted at the bottom of every page help: Script inserted at the bottom of every page
size: big size: big
default: "" default: ""
cusdis_section: hashover_section:
type: section type: section
title: Cusdis integration settings title: hashover integration settings
underline: true underline: true
cusdis.domain: hashover.domain:
type: text type: text
label: Cusdis domain label: hashover domain
help: Domain where your Cusdis instance is hosted help: Domain where your hashover instance is hosted
size: medium size: medium
default: "cusdis.com"
cusdis.app_id: hashover.title:
type: text type: text
label: Cusdis App ID label: Comments section title
help: ID from Cusdis dashboard (e.g. 35b01c49-15f9-46b3-807f-9240f6cadc1a) size: medium
size: medium default: "Komentarze"
default: ""
cusdis.title: hashover.disable_comments:
type: text type: text
label: Comments section title label: Disable comments info text
size: medium help: Information displayed where the comments are disabled
default: "Komentarze" size: medium
default: "Komentarze są wyłączone dla tego artykułu"
cusdis.disable_comments:
type: text
label: Disable comments info text
help: Information displayed where the comments are disabled
size: medium
default: "Komentarze są wyłączone dla tego artykułu"
cusdis.lang:
type: textarea
label: Cusdis language override
help: More info at https://cusdis.com/doc#/advanced/i18n?id=contributing-more-languages
size: big
default: ""

View File

@@ -7,23 +7,21 @@ contact:
contact_en: contact_en:
lang_title_en: lang_title_en:
blog: blog:
slug: slug:
tag_title: tag_title:
tags_title: tags_title:
series_title: series_title:
pagination_limit: pagination_limit:
pagination_newer: pagination_newer:
pagination_older: pagination_older:
share: share:
share_buttons: share_buttons:
footer: footer:
title: title:
title_en: title_en:
url: url:
year: year:
cusdis: hashover:
domain: domain:
app_id: title:
title: disable_comments:
disable_comments:
lang:

View File

@@ -1,19 +1,9 @@
{% if theme_config.cusdis.domain %} {% if theme_config.hashover.domain %}
<h2 class="left">{{ theme_config.cusdis.title|raw }}</h2> <h2 class="left">{{ theme_config.hashover.title|raw }}</h2>
{% if page.header.disableComments %} {% if page.header.disableComments %}
<p class="left">{{ theme_config.cusdis.disable_comments|raw }}</p> <p class="left">{{ theme_config.hashover.disable_comments|raw }}</p>
{% else %} {% else %}
{% if theme_config.cusdis.lang %} <div id="hashover"></div>
<script>{{ theme_config.cusdis.lang|raw }}</script> <script async defer src="https://{{ theme_config.cusdis.domain }}/comments.php"></script>
{% endif %}
<div id="cusdis_thread"
data-host="https://{{ theme_config.cusdis.domain }}"
data-app-id="{{ theme_config.cusdis.app_id }}"
data-page-id="{{ page.slug }}"
data-page-url="{{ page.url(true) }}"
data-page-title="{{ page.title }}"
data-theme="auto"
></div>
<script async defer src="https://{{ theme_config.cusdis.domain }}/js/cusdis.es.js"></script>
{% endif %} {% endif %}
{% endif %} {% endif %}