stable tag remains 2.0.4, this update as RC0 for user support and testing

git-svn-id: https://plugins.svn.wordpress.org/footnotes/trunk@2412893 b8457f37-d9ea-0310-8a92-e5e31aec5664
This commit is contained in:
pewgeuges 2020-11-05 02:34:35 +00:00
parent 8eeb6b7c35
commit 75885b77cf
14 changed files with 599 additions and 510 deletions

View file

@ -10,8 +10,9 @@
*
* Edited for v2.0.0: Added jQueryUI from CDN 2020-10-26T1907+0100
* Edited for v2.0.3: Added style sheet versioning 2020-10-29T1413+0100
* Edited for v2.0.4: Enqueuing settings.css 2020-11-01T0317+0100
* Edited for v2.0.4: Added jQuery UI from WordPress 2020-11-01T1902+0100
*
* Last modified: 2020-11-05T0239+0100
*/
@ -64,6 +65,14 @@ class MCI_Footnotes {
*
* @author Stefan Herndler
* @since 1.5.0
*
* Edited for 1.6.5: replaced deprecated function create_function()
*
* Contributed by Felipe Lavín Z. Thankfully acknowledged.
*
* create_function() was deprecated in PHP 7.2:
* <https://wordpress.org/support/topic/deprecated-in-php-7-2-function-create_function-is-deprecated/>
* See also: <https://wordpress.org/support/topic/deprecated-function-create_function-14/>
*/
public function initializeWidgets() {
register_widget("MCI_Footnotes_Widget_ReferenceContainer");
@ -106,8 +115,7 @@ class MCI_Footnotes {
// add the jQuery plugin (already registered by WordPress)
wp_enqueue_script( 'jquery' );
// Add jQueryUI: 'no need to enqueue -core, because dependancies are set'
// Add jQueryUI: 'no need to enqueue -core, because dependencies are set'
wp_enqueue_script( 'jquery-ui-widget' );
wp_enqueue_script( 'jquery-ui-mouse' );
wp_enqueue_script( 'jquery-ui-accordion' );
@ -118,7 +126,6 @@ class MCI_Footnotes {
wp_enqueue_script('mci-footnotes-js-jquery-tools', plugins_url('../js/jquery.tools.min.js', __FILE__));
// IMPORTANT: up-to-date plugin version number for cache busting.
wp_enqueue_style('mci-footnotes-css-public', plugins_url('../css/public.css', __FILE__), '', '2.0.4');
wp_enqueue_style('mci-footnotes-css-settings', plugins_url('../css/settings.css', __FILE__), '', '2.0.4');
wp_enqueue_style('mci-footnotes-css-public', plugins_url('../css/public.css', __FILE__), '', '2.0.5rc0');
}
}

View file

@ -6,7 +6,7 @@
* @author Stefan Herndler
* @since 1.5.0 14.09.14 10:43
*
* Edited for v2.0.4 2020-11-01T0333+0100
* Edited for v2.0.4 2020-11-02T2115+0100
*/
@ -407,13 +407,15 @@ class MCI_Footnotes_Settings {
self::C_STR_HYPERLINK_ARROW_USER_DEFINED => '',
self::C_STR_CUSTOM_CSS => ''
),
// These should all be enabled by default.
// See <https://wordpress.org/support/topic/more-feature-ideas/>
"footnotes_storage_expert" => array(
self::C_BOOL_EXPERT_LOOKUP_THE_TITLE => '',
self::C_BOOL_EXPERT_LOOKUP_THE_TITLE => 'yes',
self::C_BOOL_EXPERT_LOOKUP_THE_CONTENT => 'yes',
self::C_BOOL_EXPERT_LOOKUP_THE_EXCERPT => 'yes',
self::C_BOOL_EXPERT_LOOKUP_WIDGET_TITLE => '',
self::C_BOOL_EXPERT_LOOKUP_WIDGET_TITLE => 'yes',
self::C_BOOL_EXPERT_LOOKUP_WIDGET_TEXT => 'yes',
self::C_BOOL_EXPERT_LOOKUP_THE_POST => ''
self::C_BOOL_EXPERT_LOOKUP_THE_POST => 'yes'
)
);

View file

@ -7,7 +7,11 @@
* @since 1.5.0
*
* Edited for v2.0.0 and following.
* Last modified 2020-11-01T0342+0100
*
* Edited for v2.0.5: Autoload / infinite scroll support added thanks to code from
* @docteurfitness <https://wordpress.org/support/topic/auto-load-post-compatibility-update/>
*
* Last modified 2020-11-05T0232+0100
*/
// If called directly, abort:
@ -53,6 +57,18 @@ class MCI_Footnotes_Task {
*
* @author Stefan Herndler
* @since 1.5.0
*
* Edited for v2.0.5 2020-11-02T0330+0100 2020-11-04T2006+0100
*
* Explicitly setting all priority to (default) "10" instead of lowest "PHP_INT_MAX",
* especially for the_content, makes the footnotes reference container display
* beneath the content and above other features added by other plugins.
* Requested by users: <https://wordpress.org/support/topic/change-the-position-5/>
* Documentation: <https://codex.wordpress.org/Plugin_API/#Hook_in_your_Filter>
*
* But then, the blog engine calls this plugin in the editor, as reported in:
* <https://wordpress.org/support/topic/blogs-all-messed-up/>
* <https://wordpress.org/support/topic/change-the-position-5/#post-13612697>
*/
public function registerHooks() {
// append custom css to the header
@ -309,8 +325,9 @@ class MCI_Footnotes_Task {
* @return string
*/
public function search($p_str_Content, $p_bool_ConvertHtmlChars, $p_bool_HideFootnotesText) {
// prepare prepending post ID to make footnote IDs unique wrt archive view:
self::$a_str_Prefix = get_the_id() . '_';
// post ID to make everything unique wrt archive view and infinite scroll
global $l_int_PostID;
$l_int_PostID = get_the_id();
// contains the index for the next footnote on this page
$l_int_FootnoteIndex = count(self::$a_arr_Footnotes) + 1;
// contains the starting position for the lookup of a footnote
@ -376,29 +393,35 @@ class MCI_Footnotes_Task {
if (is_int($l_int_MaxLength) && strlen($l_str_DummyText) > $l_int_MaxLength) {
$l_str_ExcerptText = substr($l_str_DummyText, 0, $l_int_MaxLength);
$l_str_ExcerptText = substr($l_str_ExcerptText, 0, strrpos($l_str_ExcerptText, ' '));
$l_str_ExcerptText .= '&nbsp;&#x2026; ' . sprintf(__("%scontinue%s", MCI_Footnotes_Config::C_STR_PLUGIN_NAME), '<a class="continue" href="#footnote_plugin_reference_' . self::$a_str_Prefix.$l_str_Index . '" onclick="footnote_moveToAnchor(\'footnote_plugin_reference_' . self::$a_str_Prefix . $l_str_Index . '\');">', '</a>');
// Removed hyperlink navigation on user request, but left <a> element for style.
$l_str_ExcerptText .= '&nbsp;&#x2026; ' . sprintf(__("%scontinue%s", MCI_Footnotes_Config::C_STR_PLUGIN_NAME), '<a class="continue" onclick="footnote_moveToAnchor_' . $l_int_PostID . '(\'footnote_plugin_reference_' . $l_int_PostID . '_' . $l_str_Index . '\');">', '</a>');
}
}
// fill the footnotes template
// fill the footnotes template templates/public/footnote.html
$l_obj_Template->replace(
array(
"id" => self::$a_str_Prefix . $l_str_Index,
"index" => $l_str_Index,
"text" => MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ENABLED)) ? $l_str_ExcerptText : "",
"post_id" => $l_int_PostID,
"id" => $l_str_Index,
"before" => MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_FOOTNOTES_STYLING_BEFORE),
"after" => MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_FOOTNOTES_STYLING_AFTER)
"index" => $l_str_Index,
"after" => MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_FOOTNOTES_STYLING_AFTER),
"text" => MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ENABLED)) ? $l_str_ExcerptText : "",
)
);
$l_str_FootnoteReplaceText = $l_obj_Template->getContent();
// reset the template
$l_obj_Template->reload();
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ENABLED))) {
$l_int_OffsetY = intval(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_INT_FOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y));
$l_int_OffsetX = intval(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_INT_FOOTNOTES_MOUSE_OVER_BOX_OFFSET_X));
// fill in the tooltip template templates/public/tooltip.html
$l_obj_TemplateTooltip->replace(
array(
"id" => self::$a_str_Prefix . $l_str_Index,
"post_id" => $l_int_PostID,
"id" => $l_str_Index,
"position" => MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_FOOTNOTES_MOUSE_OVER_BOX_POSITION),
"offset-y" => !empty($l_int_OffsetY) ? $l_int_OffsetY : 0,
"offset-x" => !empty($l_int_OffsetX) ? $l_int_OffsetX : 0
@ -479,12 +502,13 @@ class MCI_Footnotes_Task {
}
}
}
// replace all placeholders in the template
// replace all placeholders in the template templates/public/reference-container-body.html
$l_obj_Template->replace(
array(
"index" => $l_str_FootnoteIndex,
"id" => self::$a_str_Prefix . MCI_Footnotes_Convert::Index($l_str_FirstFootnoteIndex, MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_FOOTNOTES_COUNTER_STYLE)),
"post_id" => $l_int_PostID,
"id" => MCI_Footnotes_Convert::Index($l_str_FirstFootnoteIndex, MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_FOOTNOTES_COUNTER_STYLE)),
"arrow" => $l_str_Arrow,
"index" => $l_str_FootnoteIndex,
"text" => $l_str_FootnoteText
)
);
@ -495,13 +519,13 @@ class MCI_Footnotes_Task {
$l_obj_Template->reload();
}
// load template file
// load template file templates/public/reference-container.html
$l_obj_TemplateContainer = new MCI_Footnotes_Template(MCI_Footnotes_Template::C_STR_PUBLIC, "reference-container");
$l_obj_TemplateContainer->replace(
array(
"post_id" => $l_int_PostID,
"label" => MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_REFERENCE_CONTAINER_NAME),
"button-style" => !MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_COLLAPSE)) ? 'display: none;' : '',
"id" => "footnote_references_container",
"style" => MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_COLLAPSE)) ? 'display: none;' : '',
"content" => $l_str_Body
)

View file

@ -4,8 +4,9 @@
* Created-Date: 15.05.14
* Created-Time: 16:21
* Since: 1.0
* Version: 2.0.4
* Last modified: 2020-11-01T0536+0100
* Version: 2.0.6
*
* Last modified: 2020-11-04T2131+0100
*/
@ -37,9 +38,6 @@
*/
.footnote_plugin_tooltip_text {
vertical-align: top !important;
position: relative !important;
top: 0.6em !important;
cursor: pointer;
z-index: 1;
}
@ -63,6 +61,7 @@ span.footnote_tooltip {
font-style: italic;
color: green;
text-decoration: none !important;
cursor: pointer;
}
.continue:hover {
color: blue;
@ -72,11 +71,6 @@ span.footnote_tooltip {
/* Footnotes reference container
*/
.footnote-reference-container {
width: 100%;
border: none;
}
/* label */
.footnote_container_prepare {
display: block !important;
@ -105,30 +99,41 @@ span.footnote_tooltip {
}
/* collapse button */
#footnote_reference_container_collapse_button {
/* fully clickable, not sign only */
.footnote_reference_container_collapse_button {
cursor: pointer;
}
.footnote_container_prepare > p > span:last-child a {
text-decoration: none;
text-decoration: none !important;
}
.footnote_container_prepare > p > span:last-child a:hover {
text-decoration: underline;
color: #008800;
}
/* footnotes */
/* Table starts here */
.footnote-reference-container {
width: 100%;
border: none;
}
/* footnotes
* class footnote_plugin_link is for backcompat.
* Used in reference-container-body.html
* See <https://wordpress.org/support/topic/change-the-position-5/#post-13617988>
.footnote_plugin_link, */
.footnote_plugin_index,
.footnote_plugin_text {
border:none !important;
text-align: left;
vertical-align: top;
padding: 10px 3px 5px 0;
text-align: left !important;
vertical-align: top !important;
padding: 10px 5px 5px 0 !important;
}
.footnote_plugin_index a,
.footnote_plugin_text a {
text-decoration: none;
text-decoration: none !important;
}
.footnote_plugin_index a:hover,
.footnote_plugin_index:hover,
.footnote_plugin_text a:hover {
text-decoration: underline !important;
}
@ -139,10 +144,16 @@ span.footnote_tooltip {
word-wrap: normal !important;
word-break: unset;
word-break: keep-all !important;
white-space: nowrap;
max-width: 140px;
width: 1px; /*auto-extending column to fit widest*/
white-space: nowrap;
overflow: hidden;
}
.footnote_plugin_text {
width: unset; /*unset width of text column to fix site issues*/
}
/* Responsive*/
@media only screen and (max-width: 768px) {
.footnote_plugin_index {
max-width: 100px;
@ -152,28 +163,18 @@ span.footnote_tooltip {
/* Footnotes printing style rules
*
* Printing a table, browsers tend to avoid page breaks,
* but it takes a wrapper to avoid a page break before the table
* but it takes a wrapper to avoid a page break before the table.
*
* UI elements (button, arrows) and link styling are removed.
*/
.footnote_container_overall_wrapper {
page-break-inside: avoid;
}
.footnote_container_prepare {
page-break-after: avoid;
}
table.footnote_reference_container td {
display: block;
}
table.footnote_reference_container {
page-break-before: avoid;
page-break-inside: auto;
}
table.footnote_reference_container tr {
page-break-before: auto;
}
@media print {
.footnote_tooltip,
.footnote_reference_container_collapse_button_outfit,
.footnote_reference_container_collapse_button,
.footnote_plugin_index_arrow {
display: none;
}
@ -184,7 +185,7 @@ table.footnote_reference_container tr {
color: inherit;
text-decoration: none !important;
}
div.post-meta-edit-link-wrapper { /*hides the Edit button in WP2020*/
div.post-meta-edit-link-wrapper { /* Edit button in WP2020*/
display: none; /*(added as a service)*/
}
}

Binary file not shown.

View file

@ -5,7 +5,7 @@ msgstr ""
"Project-Id-Version: footnotes\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tag/footnotes\n"
"POT-Creation-Date: 2014-10-18 20:58+0100\n"
"PO-Revision-Date: 2020-11-01T1640+0100\n"
"PO-Revision-Date: 2020-11-04T2152+0100\n"
"Last-Translator: @pewgeuges\n"
"Language-Team: SHE <s.herndler@methis.at>\n"
"Language: en_GB\n"
@ -348,7 +348,7 @@ msgstr "Vertical offset downwards"
#: class/dashboard/subpage-main.php:335
msgid "Offset (Y axis) in px (may be negative)"
msgstr "pixels; negative value for a upwards offset"
msgstr "pixels; negative value for an upwards offset"
#: class/dashboard/subpage-main.php:337
msgid "Color"

Binary file not shown.

View file

@ -5,7 +5,7 @@ msgstr ""
"Project-Id-Version: footnotes\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tag/footnotes\n"
"POT-Creation-Date: 2014-10-18 20:59+0100\n"
"PO-Revision-Date: 2020-11-01T1641+0100\n"
"PO-Revision-Date: 2020-11-04T2153+0100\n"
"Last-Translator: @pewgeuges\n"
"Language-Team: SHE <s.herndler@methis.at>\n"
"Language: en_US\n"
@ -348,7 +348,7 @@ msgstr "Vertical offset downwards"
#: class/dashboard/subpage-main.php:335
msgid "Offset (Y axis) in px (may be negative)"
msgstr "pixels; negative value for a upwards offset"
msgstr "pixels; negative value for an upwards offset"
#: class/dashboard/subpage-main.php:337
msgid "Color"

View file

@ -80,11 +80,28 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
== Changelog ==
= 2.0.5rc0 =
- Update: Autoload / infinite scroll support added thanks to @docteurfitness <https://wordpress.org/support/topic/auto-load-post-compatibility-update/>
- Bugfix: Settings style sheet unenqueued to fix input boxes on public pages (enqueued for 2.0.4)
- Bugfix: Public style sheet: Footnote referrers: deleted vertical align tweaks for cross-theme and user agent compatibility
- Bugfix: Public style sheet: Reference container: auto-extending column to fit widest, to fix display with short note texts
- Bugfix: Public style sheet: Reference container: IDs: slightly increased left padding
- Bugfix: Public style sheet: Reference container: unset width of text column to fix site issues
- Update: Enable all hooks by default to prevent footnotes from seeming broken in post titles
- Bugfix: Restore cursor shape pointer over 'Continue reading' button after hyperlink removal
- Update: Tooltip infobox: set display predelay to 0 for responsiveness (was 800 since 2.0.0, 400 before)
- Bugfix: Reference container: collapse button fully clickable, not sign only
- Bugfix: Reference container: collapse button 'collapse' with minus sign not hyphen-minus
- Bugfix: Translations: Spelling error in en_GB and en_US
= 2.0.4 =
- Update: Restored arrow settings to customize or disable the now prepended arrow symbol
- Update: GDPR: Added jQuery UI from WordPress instead of third party
- Bugfix: UX: Removed hyperlink addresses from referrers and backlinks wrt browsing history
- Bugfix: Reference container: layout: removed inconvenient left/right cellpadding
- Bugfix: Tooltip infobox: improved layout with inherited font size by lower line height
- Bugfix: Tooltip infobox: 'Continue reading' button: disabled default underline
- Bugfix: Translations: reviewed all locales (en, de, es, fr), synced ref line # with edited code
- Bugfix: Fixed display of 2 dashboard headings
= 2.0.3 =

View file

@ -1,2 +1,13 @@
<a href="#footnote_plugin_reference_[[id]]"><sup id="footnote_plugin_tooltip_[[id]]" class="footnote_plugin_tooltip_text" onclick="footnote_moveToAnchor('footnote_plugin_reference_[[id]]');">[[before]][[index]][[after]]</sup></a>
<span class="footnote_tooltip" id="footnote_plugin_tooltip_text_[[id]]">[[text]]</span>
<a
><sup
id="footnote_plugin_tooltip_[[post_id]]_[[id]]"
class="footnote_plugin_tooltip_text"
onclick="footnote_moveToAnchor_[[post_id]]('footnote_plugin_reference_[[post_id]]_[[id]]');"
>[[before]][[index]][[after]]</sup
></a
>
<span
class="footnote_tooltip"
id="footnote_plugin_tooltip_text_[[post_id]]_[[id]]"
>[[text]]</span
>

View file

@ -1,4 +1,15 @@
<tr>
<td class="footnote_plugin_index" id="footnote_plugin_reference_[[id]]" onclick="footnote_moveToAnchor('footnote_plugin_tooltip_[[id]]');"><a href="#footnote_plugin_tooltip_[[id]]"><span class="footnote_plugin_index_arrow">[[arrow]]&#x200A;</span>[[index]].</a></td>
<td class="footnote_plugin_text">[[text]]</td>
<td
class="footnote_plugin_index footnote_plugin_link"
id="footnote_plugin_reference_[[post_id]]_[[id]]"
onclick="footnote_moveToAnchor_[[post_id]]('footnote_plugin_tooltip_[[post_id]]_[[id]]');"
><a
><span
class="footnote_plugin_index_arrow"
>[[arrow]]&#x200A;</span
>[[index]].</a
></td>
<td
class="footnote_plugin_text"
>[[text]]</td>
</tr>

View file

@ -1,16 +1,20 @@
<div class="footnote_container_overall_wrapper">
<div class="footnote_container_prepare">
<p><span
onclick="footnote_expand_reference_container();"
>[[label]]</span><span
class="footnote_reference_container_collapse_button_outfit"
onclick="footnote_expand_reference_container_[[post_id]]();"
>[[label]]</span
><span
class="footnote_reference_container_collapse_button"
style="[[button-style]]"
onclick="footnote_expand_collapse_reference_container_[[post_id]]();"
>&nbsp;&nbsp;&nbsp;[<a
id="footnote_reference_container_collapse_button"
onclick="footnote_expand_collapse_reference_container();"
>+</a> ]</span></p>
id="footnote_reference_container_collapse_button_[[post_id]]"
> + </a
>]</span
></p
>
</div>
<div id="[[id]]" style="[[style]]">
<div id="footnote_references_container_[[post_id]]" style="[[style]]">
<table class="footnote-reference-container">
<tbody>
[[content]]
@ -19,29 +23,29 @@
</div>
</div>
<script type="text/javascript">
function footnote_expand_reference_container() {
jQuery('#[[id]]').show();
jQuery('#footnote_reference_container_collapse_button').text('-');
function footnote_expand_reference_container_[[post_id]]() {
jQuery('#footnote_references_container_[[post_id]]').show();
jQuery('#footnote_reference_container_collapse_button_[[post_id]]').text(' ');
}
function footnote_collapse_reference_container() {
jQuery('#[[id]]').hide();
jQuery('#footnote_reference_container_collapse_button').text('+');
function footnote_collapse_reference_container_[[post_id]]() {
jQuery('#footnote_references_container_[[post_id]]').hide();
jQuery('#footnote_reference_container_collapse_button_[[post_id]]').text(' + ');
}
function footnote_expand_collapse_reference_container() {
if (jQuery('#[[id]]').is(':hidden')) {
footnote_expand_reference_container();
function footnote_expand_collapse_reference_container_[[post_id]]() {
if (jQuery('#footnote_references_container_[[post_id]]').is(':hidden')) {
footnote_expand_reference_container_[[post_id]]();
} else {
footnote_collapse_reference_container();
footnote_collapse_reference_container_[[post_id]]();
}
}
function footnote_moveToAnchor(p_str_TargetID) {
footnote_expand_reference_container();
function footnote_moveToAnchor_[[post_id]](p_str_TargetID) {
footnote_expand_reference_container_[[post_id]]();
var l_obj_Target = jQuery('#' + p_str_TargetID);
if (l_obj_Target.length) {
jQuery('html, body').animate({
scrollTop: l_obj_Target.offset().top - window.innerHeight * 0.12
scrollTop: l_obj_Target.offset().top - window.innerHeight * 0.50
},
80);
870);/*speed*/
}
}
</script>

View file

@ -1 +1,13 @@
<script type="text/javascript"> jQuery("#footnote_plugin_tooltip_[[id]]").tooltip({ tip: "#footnote_plugin_tooltip_text_[[id]]", tipClass: "footnote_tooltip", effect: "fade", predelay: 800, fadeInSpeed: 200, fadeOutSpeed: 2000, position: "[[position]]", relative: true, offset: [[[offset-y]], [[offset-x]]] }); </script>
<script type="text/javascript">
jQuery('#footnote_plugin_tooltip_[[post_id]]_[[id]]').tooltip({
tip: '#footnote_plugin_tooltip_text_[[post_id]]_[[id]]',
tipClass: 'footnote_tooltip',
effect: 'fade',
predelay: 0,
fadeInSpeed: 200,
fadeOutSpeed: 200,
position: '[[position]]',
relative: true,
offset: [[[offset-y]], [[offset-x]]],
});
</script>