development update 2.5.5d0 to be shared on the forum

git-svn-id: https://plugins.svn.wordpress.org/footnotes/trunk@2475227 b8457f37-d9ea-0310-8a92-e5e31aec5664
This commit is contained in:
pewgeuges 2021-02-16 02:23:40 +00:00
parent ef1137e446
commit 3a341d36b2
31 changed files with 716 additions and 286 deletions

View file

@ -6,13 +6,14 @@
* @author Stefan Herndler
* @since 1.5.0 12.09.14 10:56
*
* Edited:
* 2.1.2 add versioning of settings.css for cache busting 2020-11-19T1456+0100
* 2.1.4 automate passing version number for cache busting 2020-11-30T0648+0100
* 2.1.4 optional step argument and support for floating in numbox 2020-12-05T0540+0100
* 2.1.6 fix punctuation-related localization issue in dashboard labels 2020-12-08T1547+0100
* @lastmodified 2021-02-16T0101+0100
*
* Last modified: 2021-01-22T0440+0100
* @since 2.1.2 add versioning of settings.css for cache busting 2020-11-19T1456+0100
* @since 2.1.4 automate passing version number for cache busting 2020-11-30T0648+0100
* @since 2.1.4 optional step argument and support for floating in numbox 2020-12-05T0540+0100
* @since 2.1.6 fix punctuation-related localization issue in dashboard labels 2020-12-08T1547+0100
*
* @since 2.5.5 Bugfix: Stylesheets: minify to shrink the carbon footprint, increase speed and implement best practice, thanks to @docteurfitness issue report.
*/
@ -115,9 +116,9 @@ abstract class MCI_Footnotes_LayoutEngine {
*/
protected function addMetaBox($p_str_SectionID, $p_str_ID, $p_str_Title, $p_str_CallbackFunctionName) {
return array(
"parent" => MCI_Footnotes_Config::C_STR_PLUGIN_NAME . "-" . $p_str_SectionID,
"id" => $p_str_ID,
"title" => $p_str_Title,
"parent" => MCI_Footnotes_Config::C_STR_PLUGIN_NAME . "-" . $p_str_SectionID,
"id" => $p_str_ID,
"title" => $p_str_Title,
"callback" => $p_str_CallbackFunctionName
);
}
@ -210,13 +211,35 @@ abstract class MCI_Footnotes_LayoutEngine {
wp_enqueue_script('wp-color-picker');
// register stylesheet
// added version # after changes started to settings.css from 2.1.2 on:
// automated update of version number for cache busting
wp_register_style( 'mci-footnotes-admin-styles', plugins_url('footnotes/css/settings.css'), array(), C_STR_FOOTNOTES_VERSION );
/**
* Registers and enqueues the dashboard stylesheet.
*
* - Bugfix: Stylesheets: minify to shrink the carbon footprint, increase speed and implement best practice, thanks to @docteurfitness issue report.
*
* @since 2.5.5
* @date 2021-02-14T1928+0100
*
* @reporter @docteurfitness
* @link https://wordpress.org/support/topic/simply-speed-optimisation/
*
* See the public stylesheet enqueuing:
* @see class/init.php
*
* added version # after changes started to settings.css from 2.1.2 on.
* automated update of version number for cache busting.
* No need to use '-styles' in the handle, as '-css' is appended automatically.
*/
if ( C_BOOL_CSS_PRODUCTION_MODE === true ) {
// add stylesheet to the output
wp_enqueue_style('mci-footnotes-admin-styles');
wp_register_style( 'mci-footnotes-admin', plugins_url( 'footnotes/css/settings.min.css' ), array(), C_STR_FOOTNOTES_VERSION );
} else {
wp_register_style( 'mci-footnotes-admin', plugins_url( 'footnotes/css/settings.css' ), array(), C_STR_FOOTNOTES_VERSION );
}
wp_enqueue_style('mci-footnotes-admin');
}
/**

View file

@ -7,7 +7,7 @@
* @since 1.5.0 12.09.14 10:56
*
*
* @lastmodified 2021-02-11T0816+0100
* @lastmodified 2021-02-16T0258+0100
*
* @since 1.6.5 Bugfix: Improve widgets registration, thanks to @felipelavinz code contribution.
* @since 1.6.5 Update: Fix for deprecated PHP function create_function(), thanks to @psykonevro @daliasued bug reports, thanks to @felipelavinz code contribution.
@ -16,7 +16,11 @@
* @since 2.0.3 add versioning of public.css for cache busting 2020-10-29T1413+0100
* @since 2.0.4 add jQuery UI from WordPress 2020-11-01T1902+0100
* @since 2.1.4 automate passing version number for cache busting 2020-11-30T0646+0100
* @since 2.1.4 optionally enqueue an extra style sheet 2020-12-04T2231+0100
* @since 2.1.4 optionally enqueue an extra stylesheet 2020-12-04T2231+0100
*
* @since 2.5.5 Update: Stylesheets: increase speed and energy efficiency by tailoring stylesheets to the needs of the instance, thanks to @docteurfitness design contribution.
* @since 2.5.5 Bugfix: Stylesheets: minify to shrink the carbon footprint, increase speed and implement best practice, thanks to @docteurfitness issue report.
* @since 2.5.5 Bugfix: Libraries: optimize processes by loading external and internal scripts only if needed, thanks to @docteurfitness issue report.
*/
/**
@ -36,6 +40,29 @@ class MCI_Footnotes {
*/
public $a_obj_Task = null;
/**
* Template process and script / stylesheet load optimization.
*
* - Bugfix: Templates: optimize template load and processing based on settings, thanks to @misfist code contribution.
*
* @since 2.4.0
* @date 2021-01-04T1355+0100
*
* @author Patrizia Lutz @misfist
*
* @link https://wordpress.org/support/topic/template-override-filter/#post-13864301
* @link https://github.com/misfist/footnotes/releases/tag/2.4.0d3 repository
* @link https://github.com/misfist/footnotes/compare/2.4.0%E2%80%A62.4.0d3 diff
*
* @var bool
*
* Streamline process depending on tooltip enabled status.
* Load tooltip inline script only if jQuery tooltips are enabled.
* Actual value depends on settings.
*/
public static $a_bool_TooltipsEnabled = false;
public static $a_bool_AlternativeTooltipsEnabled = false;
/**
* Executes the Plugin.
*
@ -134,50 +161,48 @@ class MCI_Footnotes {
* @author Stefan Herndler
* @since 1.5.0
*
*
* - Update: Tooltips: fix disabling bug by loading jQuery UI library, thanks to @rajinderverma @ericcorbett2 @honlapdavid @mmallett bug reports, thanks to @vonpiernik code contribution.
*
* @since 2.0.0
* Updated for v2.0.4 by adding jQuery UI from WordPress following @check2020de:
* <https://wordpress.org/support/topic/gdpr-issue-with-jquery/>
* See <https://wordpress.stackexchange.com/questions/273986/correct-way-to-enqueue-jquery-ui>
*
* jQueryUI re-enables the tooltip infobox disabled when WPv5.5 was released.
* @since 2.0.0 Update: Tooltips: fix disabling bug by loading jQuery UI library, thanks to @rajinderverma @ericcorbett2 @honlapdavid @mmallett bug reports, thanks to @vonpiernik code contribution.
* @since 2.0.3 add versioning of public.css for cache busting 2020-10-29T1413+0100
* @since 2.0.4 add jQuery UI from WordPress 2020-11-01T1902+0100
* @since 2.1.4 automate passing version number for cache busting 2020-11-30T0646+0100
* @since 2.1.4 optionally enqueue an extra style sheet 2020-12-04T2231+0100
* @since 2.1.4 optionally enqueue an extra stylesheet 2020-12-04T2231+0100
*/
public function registerPublic() {
//### SCRIPTS
/**
* Enqueues external scripts.
*
* - Bugfix: Libraries: optimize processes by loading external and internal scripts only if needed, thanks to @docteurfitness issue report.
*
* @since 2.5.5
* @reporter @docteurfitness
* @link https://wordpress.org/support/topic/simply-speed-optimisation/
*
* The condition about tooltips was missing, only the not-alternative-tooltips part was present.
*/
// These are only enqueued if the jQuery tooltips are enabled.
// If alternative tooltips are enabled, these libraries are not needed.
// Scroll animation doesnt seem to need even jQuery Core or it gets it from elsewhere.
// @since 2.0.0 add jQueryUI from Cloudflare 2020-10-26T1907+0100
// @since 2.0.3 add versioning of public.css for cache busting 2020-10-29T1413+0100
// @since 2.0.4 add jQuery UI from WordPress 2020-11-01T1902+0100
// @since 2.1.4 automate passing version number for cache busting 2020-11-30T0646+0100
// @since 2.1.4 optionally enqueue an extra style sheet 2020-12-04T2231+0100
/**
* Enqueues the jQuery library registered by WordPress.
*
* jQuery is also used for animated scrolling, so it should be loaded by default.
* The function wp_enqueue_script() avoids loading the same library multiple times.
*/
wp_enqueue_script( 'jquery' );
if (!MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE))) {
// set conditions re-used for stylesheet enqueuing:
self::$a_bool_TooltipsEnabled = MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ENABLED ) );
self::$a_bool_AlternativeTooltipsEnabled = MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE ) );
// enqueue the jQuery plugin registered by WordPress:
wp_enqueue_script( 'jquery' );
if ( self::$a_bool_TooltipsEnabled && ! self::$a_bool_AlternativeTooltipsEnabled ) {
// enqueue jQuery UI libraries registered by WordPress, needed for tooltips:
wp_enqueue_script( 'jquery-ui-core' );
wp_enqueue_script( 'jquery-ui-widget' );
wp_enqueue_script( 'jquery-ui-position' );
wp_enqueue_script( 'jquery-ui-tooltip' );
// enqueue jQuery Tools:
// redacted jQuery.browser, completed minification;
// see full header in js/jquery.tools.js
// added versioning 2020-11-18T2150+0100
// not use '-js' in the handle, is appended automatically
/**
* Enqueues the jQuery Tools library shipped with the plugin.
*
* redacted jQuery.browser, completed minification;
* see full header in js/jquery.tools.js
* added versioning 2020-11-18T2150+0100
* not use '-js' in the handle, is appended automatically
*/
wp_enqueue_script(
'mci-footnotes-jquery-tools',
plugins_url('footnotes/js/jquery.tools.min.js'),
@ -185,49 +210,150 @@ class MCI_Footnotes {
'1.2.7.redacted.2'
);
// Alternatively, fetch jQuery UI from cdnjs.cloudflare.com:
// Used to add jQuery UI following @vonpiernik:
// <https://wordpress.org/support/topic/tooltip-hover-not-showing/#post-13456762>:
// This was enabled in Footnotes v2.0.0 through v2.0.3.
// Re-added for 2.0.9d1 / 2.1.1d0 to look whether it can fix a broken tooltip display. 2020-11-07T1601+0100/2020-11-08T2246+0100
/**
* Registers jQuery UI from the JavaScript Content Delivery Network.
*
* - Update: Tooltips: fix disabling bug by loading jQuery UI library, thanks to @rajinderverma @ericcorbett2 @honlapdavid @mmallett bug reports, thanks to @vonpiernik code contribution.
*
* @since 2.0.0
* Alternatively, fetch jQuery UI from cdnjs.cloudflare.com:
* @since 2.0.0 add jQueryUI from Cloudflare 2020-10-26T1907+0100
* Used to add jQuery UI following @vonpiernik:
* <https://wordpress.org/support/topic/tooltip-hover-not-showing/#post-13456762>:
*
*
* jQueryUI re-enables the tooltip infobox disabled when WPv5.5 was released.
*
* Updated for v2.0.4 by adding jQuery UI from WordPress following @check2020de:
* <https://wordpress.org/support/topic/gdpr-issue-with-jquery/>
* See <https://wordpress.stackexchange.com/questions/273986/correct-way-to-enqueue-jquery-ui>
*
* This was enabled in Footnotes v2.0.0 through v2.0.3.
* Re-added for 2.0.9d1 / 2.1.1d0 to look whether it can fix a broken tooltip display. 2020-11-07T1601+0100/2020-11-08T2246+0100
*/
//wp_register_script( 'jQueryUI', 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js', null, null, false ); // in header 2020-11-09T2003+0100
//wp_enqueue_script( 'jQueryUI' );
// This is then needed instead of the above first instance:
// Add jQuery Tools and finish adding jQueryUI: 2020-11-08T1638+0100/2020-11-08T2246+0100
/**
* This is then needed instead of the above first instance:
* Add jQuery Tools and finish adding jQueryUI: 2020-11-08T1638+0100/2020-11-08T2246+0100
*/
//wp_enqueue_script('mci-footnotes-js-jquery-tools', plugins_url('../js/jquery.tools.min.js', __FILE__), ['jQueryUI']);
/**
* Enqueues some jQuery UI libraries registered by WordPress.
*
* @since 2.0.4 add jQuery UI from WordPress 2020-11-01T1902+0100
* If alternative tooltips are enabled, these libraries are not needed.
*/
wp_enqueue_script( 'jquery-ui-core' );
wp_enqueue_script( 'jquery-ui-widget' );
wp_enqueue_script( 'jquery-ui-position' );
wp_enqueue_script( 'jquery-ui-tooltip' );
}
/**
* Enables enqueuing a new-scheme stylesheet.
*
* @since 2.5.5
* @date 2021-02-14T1512+0100
*
* Enables enqueuing the formatted individual stylesheets if false.
* WARNING: This facility is designed for development and must NOT be used in production.
*
* The Boolean may be set at the bottom of the plugins main PHP file.
* @see footnotes.php
*/
if ( C_BOOL_CSS_PRODUCTION_MODE === true ) {
//### STYLES
/**
* Enqueues a minified united external stylesheet in production.
*
* - Update: Stylesheets: increase speed and energy efficiency by tailoring stylesheets to the needs of the instance, thanks to @docteurfitness design contribution.
* - Bugfix: Stylesheets: minify to shrink the carbon footprint, increase speed and implement best practice, thanks to @docteurfitness issue report.
*
* @since 2.5.5
* @date 2021-02-14T1543+0100
*
* @contributor @docteurfitness
* @link https://wordpress.org/support/topic/simply-speed-optimisation/
*
* @reporter @docteurfitness
* @link https://wordpress.org/support/topic/simply-speed-optimisation/
*
* The dashboard stylesheet is minified as-is.
* @see class/dashboard/layout.php
*
* @since 2.0.3 add versioning of public.css for cache busting.
* @date 2020-10-29T1413+0100
* Plugin version number is needed for busting browser caches after each plugin update.
* @since 2.1.4 automate passing version number for cache busting.
* @date 2020-11-30T0646+0100
* The constant C_STR_FOOTNOTES_VERSION is defined at start of footnotes.php.
*
* The media scope argument 'all' is the default.
* No need to use '-css' in the handle, as this is appended automatically.
*/
// set tooltip mode for use in stylesheet name:
if ( self::$a_bool_TooltipsEnabled ) {
if ( self::$a_bool_AlternativeTooltipsEnabled ) {
$l_str_TooltipMode = 'al';
$l_str_TComplement = 'ternative-tooltips';
} else {
$l_str_TooltipMode = 'jq';
$l_str_TComplement = 'uery-tooltips';
}
} else {
$l_str_TooltipMode = 'no';
$l_str_TComplement = '-tooltips';
}
// up-to-date plugin version number needed for cache busting:
// not use '-css' in the handle, is appended automatically;
// constant C_STR_FOOTNOTES_VERSION defined in footnotes.php, media all is default
wp_enqueue_style(
'mci-footnotes-public',
plugins_url(
MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/css/public.css'
),
array(),
C_STR_FOOTNOTES_VERSION,
'all'
);
// set basic responsive page layout mode for use in stylesheet name:
$l_str_PageLayoutOption = MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_FOOTNOTES_PAGE_LAYOUT_SUPPORT);
switch ( $l_str_PageLayoutOption ) {
case "reference-container": $l_str_LayoutMode = '1'; break;
case "entry-content" : $l_str_LayoutMode = '2'; break;
case "main-content" : $l_str_LayoutMode = '3'; break;
case "none": default: $l_str_LayoutMode = '0'; break;
}
// optional layout fix by lack of layout support:
// since 2.1.4 2020-12-05T1417+0100
$l_str_LayoutOption = MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_FOOTNOTES_PAGE_LAYOUT_SUPPORT);
if ($l_str_LayoutOption != 'none') {
// enqueue the tailored united minified stylesheet:
wp_enqueue_style(
'mci-footnotes-layout-' . $l_str_LayoutOption,
'mci-footnotes-' . $l_str_TooltipMode . $l_str_TComplement . '-pagelayout-' . $l_str_PageLayoutOption,
plugins_url(
MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/css/layout-' . $l_str_LayoutOption . '.css'
MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/css/footnotes-' . $l_str_TooltipMode . 'ttbrpl' . $l_str_LayoutMode . '.min.css'
),
array(),
C_STR_FOOTNOTES_VERSION,
'all'
);
} else {
/**
* Enqueues external stylesheets, ONLY in development now.
*
* @since 2.1.4 optionally enqueue an extra stylesheet.
* @date 2020-12-04T2231+0100
*
* This optional layout fix is useful by lack of layout support.
*/
wp_enqueue_style( 'mci-footnotes-common', plugins_url( MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/css/dev-common.css' ), array(), C_STR_FOOTNOTES_VERSION );
wp_enqueue_style( 'mci-footnotes-tooltips', plugins_url( MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/css/dev-tooltips.css' ), array(), C_STR_FOOTNOTES_VERSION );
wp_enqueue_style( 'mci-footnotes-alternative', plugins_url( MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/css/dev-tooltips-alternative.css' ), array(), C_STR_FOOTNOTES_VERSION );
$l_str_PageLayoutOption = MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_FOOTNOTES_PAGE_LAYOUT_SUPPORT);
if ($l_str_PageLayoutOption != 'none') {
wp_enqueue_style(
'mci-footnotes-layout-' . $l_str_PageLayoutOption,
plugins_url(
MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/css/dev-layout-' . $l_str_PageLayoutOption . '.css'
),
array(),
C_STR_FOOTNOTES_VERSION,
'all'
);
}
}
}
}

View file

@ -42,7 +42,7 @@ class MCI_Footnotes_Language {
* - Bugfix: Correct function call apply_filters() with all required arguments after PHP 7.1 promoted warning to error, thanks to @matkus2 bug report and code contribution.
*
* @since 2.0.0
* @datetime 2020-10-26T1609+0100
* @date 2020-10-26T1609+0100
*
* @contributor @matkus2
* @link https://wordpress.org/support/topic/error-missing-parameter-if-using-php-7-1-or-later/
@ -87,7 +87,7 @@ class MCI_Footnotes_Language {
* - Bugfix: Localization: conform to WordPress plugin language file name scheme, thanks to @nikelaos bug report.
*
* @since 2.1.6
* @datetime 2020-12-08T1931+0100
* @date 2020-12-08T1931+0100
*
* @reporter @nikelaos
* @link https://wordpress.org/support/topic/more-feature-ideas/

View file

@ -7,7 +7,7 @@
* @since 1.5.0 14.09.14 10:43
*
*
* @lastmodified 2021-02-12T1744+0100
* @lastmodified 2021-02-16T0101+0100
*
* @since 2.0.4 restore arrow settings 2020-11-02T2115+0100
* @since 2.0.7 remove hook the_post 2020-11-06T1342+0100
@ -51,7 +51,7 @@
* @link https://wordpress.org/support/topic/reference-container-in-elementor/#post-13786635
*
* @since 2.3.0 Bugfix: Dashboard: Custom CSS: swap migration Boolean, meaning 'show legacy' instead of 'migration complete', due to storage data structure constraints.
* @datetime 2020-12-27T1243+0100
* @date 2020-12-27T1243+0100
* @since 2.3.0 referrers, reference container: settings for anchor slugs 2020-12-31T1429+0100
*
@ -180,7 +180,7 @@ class MCI_Footnotes_Settings {
* @var str
*
* @since 2.1.6 This setting removed as irrelevant since priority level settings need permanent visibility.
* @datetime 2020-12-09T2107+0100
* @date 2020-12-09T2107+0100
*/
const C_BOOL_FOOTNOTES_EXPERT_MODE = "footnote_inputfield_enable_expert_mode";
@ -217,7 +217,7 @@ class MCI_Footnotes_Settings {
* - Bugfix: Tooltips: optional alternative JS implementation with CSS transitions to fix configuration-related outage, thanks to @andreasra feedback.
*
* @since 2.1.1
* @datetime 2020-11-11T1817+0100
* @date 2020-11-11T1817+0100
*
* @reporter @andreasra
* @link https://wordpress.org/support/topic/footnotes-appearing-in-header/page/2/#post-13632566
@ -367,7 +367,7 @@ class MCI_Footnotes_Settings {
* Settings Container Key for the Custom CSS migrated to a dedicated tab.
*
* @since 2.2.2 Bugfix: Dashboard: Custom CSS: unearth text area and migrate to dedicated tab as designed.
* @datetime 2020-12-15T0520+0100
* @date 2020-12-15T0520+0100
* @var str
*/
const C_STR_CUSTOM_CSS_NEW = "footnote_inputfield_custom_css_new";
@ -376,11 +376,11 @@ class MCI_Footnotes_Settings {
* Settings Container Key to enable display of legacy Custom CSS metaboxes.
*
* @since 2.2.2
* @datetime 2020-12-15T0520+0100
* @date 2020-12-15T0520+0100
* @var str
*
* @since 2.3.0 swap Boolean from 'migration complete' to 'show legacy'
* @datetime 2020-12-27T1233+0100
* @date 2020-12-27T1233+0100
*
* The Boolean must be false if its setting is contained in the container to be hidden,
* because when saving, all missing constants are emptied, and toBool() converts empty to false.
@ -438,7 +438,7 @@ class MCI_Footnotes_Settings {
* - Adding: Tooltips: Read-on button: Label: configurable instead of localizable, thanks to @rovanov example provision.
*
* @since 2.1.0
* @datetime 2020-11-08T2106+0100
* @date 2020-11-08T2106+0100
*
* @reporter @rovanov
* @link https://wordpress.org/support/topic/offset-x-axis-and-offset-y-axis-does-not-working/
@ -453,7 +453,7 @@ class MCI_Footnotes_Settings {
* - Bugfix: Referrers: new setting for vertical align: superscript (default) or baseline (optional), thanks to @cwbayer bug report.
*
* @since 2.1.1
* @datetime 2020-11-16T0859+0100
* @date 2020-11-16T0859+0100
*
* @reporter @cwbayer
* @link https://wordpress.org/support/topic/footnote-number-in-text-superscript-disrupts-leading/
@ -506,7 +506,7 @@ class MCI_Footnotes_Settings {
* - Bugfix: Reference container: option to append symbol (prepended by default), thanks to @spaceling code contribution.
*
* @since 2.1.1
* @datetime 2020-11-16T2024+0100
* @date 2020-11-16T2024+0100
*
* @contributor @spaceling
* @link https://wordpress.org/support/topic/change-the-position-5/#post-13615994
@ -519,7 +519,7 @@ class MCI_Footnotes_Settings {
* Settings Container Key for 'the_content' hook priority level.
*
* @since 2.1.1
* @datetime 2020-11-16T0859+0100
* @date 2020-11-16T0859+0100
*
* @var str
*/
@ -529,7 +529,7 @@ class MCI_Footnotes_Settings {
* Settings Container Key for '' hook priority level
*
* @since 2.1.2
* @datetime 2020-11-20T0620+0100
* @date 2020-11-20T0620+0100
*
* @var str
*/
@ -591,7 +591,7 @@ class MCI_Footnotes_Settings {
* - Bugfix: Scroll duration: make configurable to conform to website content and style requirements.
*
* @since 2.1.4
* @datetime 2020-12-05T0538+0100
* @date 2020-12-05T0538+0100
*/
// scroll offset and duration:
const C_INT_FOOTNOTES_SCROLL_OFFSET = "footnotes_inputfield_scroll_offset";
@ -848,7 +848,7 @@ class MCI_Footnotes_Settings {
self::C_STR_REFERENCE_CONTAINER_POSITION_SHORTCODE => '[[references]]',
self::C_BOOL_REFERENCE_CONTAINER_START_PAGE_ENABLE => 'yes',
// whether to enqueue additional style sheet:
// whether to enqueue additional stylesheet:
self::C_STR_FOOTNOTES_PAGE_LAYOUT_SUPPORT => 'none',
// top and bottom margins:

View file

@ -7,7 +7,7 @@
* @since 1.5.0
*
*
* @lastmodified 2021-02-12T1744+0100
* @lastmodified 2021-02-16T0055+0100
*
* @since 2.0.0 Bugfix: various.
* @since 2.0.4 Bugfix: Referrers and backlinks: remove hard links to streamline browsing history, thanks to @theroninjedi47 bug report.
@ -16,7 +16,7 @@
* @since 2.0.6 Bugfix: Infinite scroll: debug autoload by adding post ID, thanks to @docteurfitness code contribution.
* @since 2.0.6 Bugfix: Priority level back to PHP_INT_MAX (ref container positioning not this plugins responsibility).
* @since 2.0.6 Bugfix: Reference container: fix line breaking behavior in footnote number clusters.
* @since 2.0.7 BUGFIX: Hooks: Default-disable 'the_post', thanks to @spaceling @@markcheret @nyamachi @whichgodsaves @spiralofhope2 @mmallett @andreasra @widecast @ymorin007 @tashi1es bug reports.
* @since 2.0.7 BUGFIX: Hooks: Default-disable 'the_post', thanks to @spaceling @markcheret @nyamachi @whichgodsaves @spiralofhope2 @mmallett @andreasra @widecast @ymorin007 @tashi1es bug reports.
* @since 2.0.9 Bugfix: Remove the_post hook 2020-11-08T1839+0100.
* @since 2.1.0 Adding: Tooltips: Read-on button: Label: configurable instead of localizable, thanks to @rovanov example provision.
* @since 2.1.1 Bugfix: Referrers, reference container: Combining identical footnotes: fix dead links and ensure referrer-backlink bijectivity, thanks to @happyches bug report.
@ -76,7 +76,7 @@
* @since 2.5.3 Bugfix: Reference container, tooltips: URL wrap: exclude URL pattern as folder name in Wayback Machine URL, thanks to @rumperuu bug report.
* @since 2.5.4 Bugfix: Referrers: optional fixes to vertical alignment, font size and position (static) for in-theme consistency and cross-theme stability, thanks to @tomturowski bug report.
* @since 2.5.4 Bugfix: Reference container, tooltips: URL wrap: account for leading space in value, thanks to @karolszakiel example provision.
* @since 2.5.4 Update: Reference container: Hard backlinks (optional): optional configurable tooltip hinting to use the backbutton instead, thanks to @@theroninjedi47 bug report.
* @since 2.5.4 Update: Reference container: Hard backlinks (optional): optional configurable tooltip hinting to use the backbutton instead, thanks to @theroninjedi47 bug report.
* @since 2.5.4 Bugfix: Tooltips: fix display in Popup Maker popups by correcting a coding error.
*/
@ -148,7 +148,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Reference container, widget_text hook: support for multiple containers in a page, thanks to @justbecuz bug report.
*
* @since 2.2.9
* @datetime 2020-12-25T0338+0100
* @date 2020-12-25T0338+0100
*
* @reporter @justbecuz
* @link https://wordpress.org/support/topic/reset-footnotes-to-1/
@ -168,7 +168,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Templates: optimize template load and processing based on settings, thanks to @misfist code contribution.
*
* @since 2.4.0
* @datetime 2021-01-04T1355+0100
* @date 2021-01-04T1355+0100
*
* @author Patrizia Lutz @misfist
*
@ -225,14 +225,14 @@ class MCI_Footnotes_Task {
* - Bugfix: Scroll offset: make configurable to fix site-dependent issues related to fixed headers.
*
* @since 2.1.4
* @datetime 2020-12-05T0538+0100
* @date 2020-12-05T0538+0100
*
*
* - Bugfix: Scroll offset: initialize to safer one third window height for more robustness, thanks to @lukashuggenberg bug report.
*
* @since 2.4.0
* @datetime 2021-01-03T2055+0100
* @datetime 2021-01-04T0504+0100
* @date 2021-01-03T2055+0100
* @date 2021-01-04T0504+0100
*
* @reporter @lukashuggenberg
* @link https://wordpress.org/support/topic/2-2-6-breaks-all-footnotes/#post-13857922
@ -254,8 +254,8 @@ class MCI_Footnotes_Task {
* - Bugfix: Referrers and backlinks: Styling: make link elements optional to fix issues, thanks to @docteurfitness issue report and code contribution.
*
* @since 2.1.4
* @datetime 2020-11-25T1306+0100
* @datetime 2020-11-26T1051+0100
* @date 2020-11-25T1306+0100
* @date 2020-11-26T1051+0100
*
* @contributor @docteurfitness
* @link https://wordpress.org/support/topic/update-2-1-3/#post-13704194
@ -267,7 +267,7 @@ class MCI_Footnotes_Task {
* - Adding: Referrers and backlinks: optional hard links for AMP compatibility, thanks to @psykonevro bug report, thanks to @martinneumannat code contribution.
*
* @since 2.3.0
* @datetime 2020-12-30T2313+0100
* @date 2020-12-30T2313+0100
*
* @contributor @martinneumannat
* @link https://wordpress.org/support/topic/making-it-amp-compatible/
@ -302,7 +302,7 @@ class MCI_Footnotes_Task {
* - Update: Tooltips: ability to display dedicated content before `[[/tooltip]]`, thanks to @jbj2199 issue report.
*
* @since 2.5.2
* @datetime 2021-01-19T2223+0100
* @date 2021-01-19T2223+0100
*
* @reporter @jbj2199
* @link https://wordpress.org/support/topic/change-tooltip-text/
@ -322,7 +322,7 @@ class MCI_Footnotes_Task {
* - Adding: Footnote delimiters: syntax validation for balanced footnote start and end tag short codes.
*
* @since 2.4.0
* @datetime 2021-01-01T0227+0100
* @date 2021-01-01T0227+0100
*
* @var bool
*
@ -352,7 +352,7 @@ class MCI_Footnotes_Task {
* @since 2.0.5 Bugfix: Reference container: fix relative position through priority level, thanks to @june01 @imeson @spaceling bug reports, thanks to @spaceling code contribution.
* @since 2.0.5 Update: Hooks: Default-enable all hooks to prevent footnotes from seeming broken in some parts.
* @since 2.0.6 Bugfix: Priority level back to PHP_INT_MAX (ref container positioning not this plugins responsibility).
* @since 2.0.7 BUGFIX: Hooks: Default-disable 'the_post', thanks to @spaceling @@markcheret @nyamachi @whichgodsaves @spiralofhope2 @mmallett @andreasra @widecast @ymorin007 @tashi1es bug reports.
* @since 2.0.7 BUGFIX: Hooks: Default-disable 'the_post', thanks to @spaceling @markcheret @nyamachi @whichgodsaves @spiralofhope2 @mmallett @andreasra @widecast @ymorin007 @tashi1es bug reports.
* @since 2.0.7 Bugfix: Set priority level back to 10 assuming it is unproblematic 2020-11-06T1344+0100.
* @since 2.0.8 Bugfix: Priority level back to PHP_INT_MAX (need to get in touch with other plugins).
* @since 2.1.0 UPDATE: Hooks: remove 'the_post', the plugin stops supporting this hook.
@ -369,7 +369,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Reference container: fix relative position through priority level, thanks to @june01 @imeson @spaceling bug reports, thanks to @spaceling code contribution.
*
* @since 2.0.5
* @datetime 2020-11-02T0330+0100
* @date 2020-11-02T0330+0100
* @link https://codex.wordpress.org/Plugin_API/#Hook_in_your_Filter
*
* @contributor @spaceling
@ -385,7 +385,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Dashboard: priority level setting for the_content hook, thanks to @imeson bug report.
*
* @since 2.1.1
* @datetime 2020-11-17T0254+0100
* @date 2020-11-17T0254+0100
*
* @reporter @imeson
* @link https://wordpress.org/support/topic/change-the-position-5/#post-13538345
@ -394,7 +394,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Dashboard: priority level settings for all other hooks, thanks to @nikelaos bug report.
*
* @since 2.1.2
* @datetime 2020-11-19T1849+0100
* @date 2020-11-19T1849+0100
*
* @reporter @nikelaos
* @link https://wordpress.org/support/topic/doesnt-work-any-more-11/#post-13676705
@ -447,7 +447,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Hooks: support footnotes on category pages, thanks to @vitaefit bug report, thanks to @misfist code contribution.
*
* @since 2.5.0
* @datetime 2021-01-05T1402+0100
* @date 2021-01-05T1402+0100
*
* @contributor @misfist
* @link https://wordpress.org/support/topic/footnote-doesntwork-on-category-page/#post-13864859
@ -467,7 +467,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Hooks: support footnotes in Popup Maker popups, thanks to @squatcher bug report.
*
* @since 2.5.1
* @datetime 2021-01-18T2038+0100
* @date 2021-01-18T2038+0100
*
* @reporter @squatcher
* @link https://wordpress.org/support/topic/footnotes-use-in-popup-maker/
@ -502,7 +502,7 @@ class MCI_Footnotes_Task {
* @accountable @pewgeuges
*
*
* - BUGFIX: Hooks: Default-disable 'the_post', thanks to @spaceling @@markcheret @nyamachi @whichgodsaves @spiralofhope2 @mmallett @andreasra @widecast @ymorin007 @tashi1es bug reports.
* - BUGFIX: Hooks: Default-disable 'the_post', thanks to @spaceling @markcheret @nyamachi @whichgodsaves @spiralofhope2 @mmallett @andreasra @widecast @ymorin007 @tashi1es bug reports.
*
* @since 2.0.7
* @accountable @pewgeuges
@ -548,7 +548,7 @@ class MCI_Footnotes_Task {
* - UPDATE: Hooks: remove 'the_post', the plugin stops supporting this hook.
*
* @since 2.1.0
* @datetime 2020-11-08T1839+0100
* @date 2020-11-08T1839+0100
* @accountable @pewgeuges
*/
@ -566,7 +566,7 @@ class MCI_Footnotes_Task {
*
* @since 2.1.1 Bugfix: Reference container: fix start pages by making its display optional, thanks to @dragon013 bug report.
* @since 2.1.1 Bugfix: Tooltips: optional alternative JS implementation with CSS transitions to fix configuration-related outage, thanks to @andreasra feedback.
* @since 2.1.3 raise settings priority to override theme style sheets
* @since 2.1.3 raise settings priority to override theme stylesheets
* @since 2.1.4 Bugfix: Tooltips: Styling: fix font size issue by adding font size to settings with legacy as default.
* @since 2.1.4 Bugfix: Reference container: fix layout issues by moving backlink column width to settings.
* @since 2.2.5 Bugfix: Reference container: Label: make bottom border an option, thanks to @markhillyer issue report.
@ -575,7 +575,7 @@ class MCI_Footnotes_Task {
* @since 2.5.4 Bugfix: Referrers: optional fixes to vertical alignment, font size and position (static) for in-theme consistency and cross-theme stability, thanks to @tomturowski bug report.
*/
public function wp_head() {
// insert start tag without switching out of PHP:
echo "\r\n<style type=\"text/css\" media=\"all\">\r\n";
@ -585,12 +585,12 @@ class MCI_Footnotes_Task {
* - Bugfix: Referrers: optional fixes to vertical alignment, font size and position (static) for in-theme consistency and cross-theme stability, thanks to @tomturowski bug report.
*
* @since 2.5.4
* @datetime 2021-02-12T1631+0100
* @date 2021-02-12T1631+0100
*
* @reporter @tomturowski
* @link https://wordpress.org/support/topic/in-line-superscript-ref-rides-to-high/
*
* Cannot be included in external style sheet, as it is only optional.
* Cannot be included in external stylesheet, as it is only optional.
* The scope is variable too: referrers only, or all superscript elements.
*/
$l_str_NormalizeSuperscript = MCI_Footnotes_Settings::instance()->get( MCI_Footnotes_Settings::C_STR_FOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT );
@ -642,7 +642,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Reference container: Label: option to select paragraph or heading element, thanks to @markhillyer issue report.
*
* @since 2.2.5
* @datetime 2020-12-18T1447+0100
* @date 2020-12-18T1447+0100
*
* @reporter @markhillyer
* @link https://wordpress.org/support/topic/how-do-i-eliminate-the-horizontal-line-beneath-the-reference-container-heading/
@ -660,7 +660,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Reference container: add option for table borders to restore pre-2.0.0 design, thanks to @noobishh issue report.
*
* @since 2.2.10
* @datetime 2020-12-25T2304+0100
* @date 2020-12-25T2304+0100
*
* @reporter @noobishh
* @link https://wordpress.org/support/topic/borders-25/
@ -752,7 +752,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Styling: Tooltips: fix font size issue by adding font size to settings with legacy as default.
*
* @since 2.1.4
* @datetime 2020-12-03T0954+0100
* @date 2020-12-03T0954+0100
*/
echo ' font-size: ';
if(MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_MOUSE_OVER_BOX_FONT_SIZE_ENABLED))) {
@ -808,13 +808,13 @@ class MCI_Footnotes_Task {
* - Bugfix: Tooltips: make display delays and fade durations configurable to conform to website style.
*
* @since 2.1.4
* @datetime 2020-12-06T1320+0100
* @date 2020-12-06T1320+0100
*
*
* - Update: Tooltips: Alternative tooltips: connect to position/timing settings (for themes not supporting jQuery tooltips).
*
* @since 2.2.5
* @datetime 2020-12-18T1113+0100
* @date 2020-12-18T1113+0100
*/
// alternative tooltips:
if ( ! self::$a_bool_AlternativeTooltipsEnabled) {
@ -880,7 +880,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Custom CSS: insert new CSS in the public page header element after existing CSS.
*
* @since 2.2.3
* @datetime 2020-12-15T1128+0100
* @date 2020-12-15T1128+0100
*
* Set custom CSS to override settings, not conversely.
* Legacy Custom CSS is used until its set to disappear after dashboard tab migration.
@ -908,17 +908,17 @@ class MCI_Footnotes_Task {
*/
if ( self::$a_bool_AlternativeTooltipsEnabled ) {
?>
<script content="text/javascript">
function footnoteTooltipShow(footnoteTooltipId) {
document.getElementById(footnoteTooltipId).classList.remove('hidden');
document.getElementById(footnoteTooltipId).classList.add('shown');
}
function footnoteTooltipHide(footnoteTooltipId) {
document.getElementById(footnoteTooltipId).classList.remove('shown');
document.getElementById(footnoteTooltipId).classList.add('hidden');
}
</script>
<?php
<script content="text/javascript">
function footnoteTooltipShow(footnoteTooltipId) {
document.getElementById(footnoteTooltipId).classList.remove('hidden');
document.getElementById(footnoteTooltipId).classList.add('shown');
}
function footnoteTooltipHide(footnoteTooltipId) {
document.getElementById(footnoteTooltipId).classList.remove('shown');
document.getElementById(footnoteTooltipId).classList.add('hidden');
}
</script>
<?php
};
}
@ -1086,7 +1086,7 @@ class MCI_Footnotes_Task {
* - Adding: Reference container: support for custom position shortcode, thanks to @hamshe issue report.
*
* @since 2.2.0
* @datetime 2020-12-13T2057+0100
* @date 2020-12-13T2057+0100
*
* @reporter @hamshe
* @link https://wordpress.org/support/topic/reference-container-in-elementor/
@ -1095,7 +1095,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Reference container: delete position shortcode if unused because position may be widget or footer, thanks to @hamshe bug report.
*
* @since 2.2.5
* @datetime 2020-12-18T1434+0100
* @date 2020-12-18T1434+0100
*
* @reporter @hamshe
* @link https://wordpress.org/support/topic/reference-container-in-elementor/#post-13784126
@ -1193,7 +1193,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Footnote delimiters: Syntax validation: limit length of quoted string to 300 characters, thanks to @andreasra bug report.
*
* @since 2.5.0
* @datetime 2021-01-07T0824+0100
* @date 2021-01-07T0824+0100
*
* @reporter @andreasra
* @link https://wordpress.org/support/topic/warning-unbalanced-footnote-start-tag-short-code-before/
@ -1360,7 +1360,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Reference container, tooltips: fix line wrapping of URLs (hyperlinked or not) based on pattern, not link element.
*
* @since 2.1.4
* @datetime 2020-11-25T0837+0100
* @date 2020-11-25T0837+0100
* @link https://wordpress.org/support/topic/footnotes-on-mobile-phones/#post-13710682
*
*
@ -1375,7 +1375,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Reference container, tooltips: URL wrap: fix regex, thanks to @a223123131 bug report.
*
* @since 2.1.6
* @datetime 2020-12-09T1921+0100
* @date 2020-12-09T1921+0100
*
* @reporter @a223123131
* @link https://wordpress.org/support/topic/broken-layout-starting-version-2-1-4/
@ -1385,13 +1385,13 @@ class MCI_Footnotes_Task {
* - Bugfix: Dashboard: URL wrap: add option to properly enable/disable URL wrap.
*
* @since 2.1.6
* @datetime 2020-12-09T1606+0100
* @date 2020-12-09T1606+0100
*
*
* - Bugfix: Reference container, tooltips: URL wrap: make the quotation mark optional wrt query parameters, thanks to @spiralofhope2 bug report.
*
* @since 2.2.6
* @datetime 2020-12-23T0409+0100
* @date 2020-12-23T0409+0100
*
* @reporter @spiralofhope2
* @link https://wordpress.org/support/topic/two-links-now-breaks-footnotes-with-blogtext/
@ -1400,7 +1400,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Reference container, tooltips: URL wrap: remove a bug introduced in the regex, thanks to @rjl20 @spaceling @lukashuggenberg @klusik @friedrichnorth @bernardzit bug reports.
*
* @since 2.2.7
* @datetime 2020-12-23T1046+0100
* @date 2020-12-23T1046+0100
*
* @reporter @rjl20
* @link https://wordpress.org/support/topic/two-links-now-breaks-footnotes-with-blogtext/#post-13825479
@ -1422,19 +1422,19 @@ class MCI_Footnotes_Task {
*
*
* @since 2.2.8 Bugfix: Reference container, tooltips: URL wrap: correctly make the quotation mark optional wrt query parameters, thanks to @spiralofhope2 bug report.
* @datetime 2020-12-23T1107+0100
* @date 2020-12-23T1107+0100
*
* Correct is duplicating the negative lookbehind w/o quotes: '(?<!\w=)'
*
* @since 2.2.9 Bugfix: Reference container, tooltips: URL wrap: account for RFC 2396 allowed characters in parameter names.
* @datetime 2020-12-24T1956+0100
* @date 2020-12-24T1956+0100
* @link https://stackoverflow.com/questions/814700/http-url-allowed-characters-in-parameter-names
*
* @since 2.2.9 Bugfix: Reference container, tooltips: URL wrap: exclude URLs also where the equals sign is preceded by an entity or character reference.
* @datetime 2020-12-25T1251+0100
* @date 2020-12-25T1251+0100
*
* @since 2.2.10 Bugfix: Reference container, tooltips: URL wrap: support also file transfer protocol URLs.
* @datetime 2020-12-25T2220+0100
* @date 2020-12-25T2220+0100
*
*
* - Bugfix: Reference container, tooltips: URL wrap: exclude URL pattern as folder name in Wayback Machine URL, thanks to @rumperuu bug report.
@ -1451,7 +1451,6 @@ class MCI_Footnotes_Task {
* - Bugfix: Reference container, tooltips: URL wrap: account for leading space in value, thanks to @karolszakiel example provision.
*
* @since 2.5.4
* @datetime
*
* @reporter @karolszakiel
* @link https://wordpress.org/support/topic/footnotes-on-mobile-phones/
@ -1508,7 +1507,7 @@ class MCI_Footnotes_Task {
* - Adding: Tooltips: Read-on button: Label: configurable instead of localizable, thanks to @rovanov example provision.
*
* @since 2.1.0
* @datetime 2020-11-08T2146+0100
* @date 2020-11-08T2146+0100
*
* @reporter @rovanov
* @link https://wordpress.org/support/topic/offset-x-axis-and-offset-y-axis-does-not-working/
@ -1550,7 +1549,7 @@ class MCI_Footnotes_Task {
* - Adding: Tooltips: Read-on button: Label: configurable instead of localizable, thanks to @rovanov example provision.
*
* @since 2.1.0
* @datetime 2020-11-08T2146+0100
* @date 2020-11-08T2146+0100
*
* @reporter @rovanov
* @link https://wordpress.org/support/topic/offset-x-axis-and-offset-y-axis-does-not-working/
@ -1613,7 +1612,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Process: initialize hard link address variables to empty string to fix 'undefined variable' bug, thanks to @a223123131 bug report.
*
* @since 2.4.0
* @datetime 2021-01-04T1622+0100
* @date 2021-01-04T1622+0100
*
* @reporter @a223123131
* @link https://wordpress.org/support/topic/wp_debug-php-notice/
@ -1776,7 +1775,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Reference container: make separating and terminating punctuation optional and configurable, thanks to @docteurfitness issue report and code contribution.
*
* @since 2.1.4
* @datetime 2020-11-28T1048+0100
* @date 2020-11-28T1048+0100
*
* @contributor @docteurfitness
* @link https://wordpress.org/support/topic/update-2-1-3/#post-13704194
@ -1844,7 +1843,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Reference container: Backlinks: fix stacked enumerations by adding optional line breaks.
*
* @since 2.1.4
* @datetime 2020-11-28T1049+0100
* @date 2020-11-28T1049+0100
*
* The backlinks of combined footnotes are generally preferred in an enumeration.
* But when few footnotes are identical, stacking the items in list form is better.
@ -1867,7 +1866,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Reference container: option to restore pre-2.0.0 layout with the backlink symbol in an extra column.
*
* @since 2.1.1
* @datetime 2020-11-16T2024+0100
* @date 2020-11-16T2024+0100
*/
// when combining identical footnotes is turned on, another template is needed:
@ -1902,7 +1901,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Reference container: option to append symbol (prepended by default), thanks to @spaceling code contribution.
*
* @since 2.1.1
* @datetime 2020-11-16T2024+0100
* @date 2020-11-16T2024+0100
*
* @contributor @spaceling
* @link https://wordpress.org/support/topic/change-the-position-5/#post-13615994
@ -1911,7 +1910,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Reference container: Backlink symbol: support for appending when combining identicals is on.
*
* @since 2.1.4
* @datetime 2020-11-26T1633+0100
* @date 2020-11-26T1633+0100
*/
$l_bool_SymbolSwitch = MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH));
@ -1947,11 +1946,11 @@ class MCI_Footnotes_Task {
/**
* Use-Backbutton-Hint tooltip, optional and configurable.
*
* - Update: Reference container: Hard backlinks (optional): optional configurable tooltip hinting to use the backbutton instead, thanks to @@theroninjedi47 bug report.
* - Update: Reference container: Hard backlinks (optional): optional configurable tooltip hinting to use the backbutton instead, thanks to @theroninjedi47 bug report.
*
* @since 2.5.4
*
* @reporter @@theroninjedi47
* @reporter @theroninjedi47
* @link https://wordpress.org/support/topic/hyperlinked-footnotes-creating-excessive-back-history/
*
* When hard links are enabled, clicks on the backlinks are logged in the browsing history.
@ -1999,7 +1998,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Referrers, reference container: Combining identical footnotes: fix dead links and ensure referrer-backlink bijectivity, thanks to @happyches bug report.
*
* @since 2.1.1
* @datetime 2020-11-14T2233+0100
* @date 2020-11-14T2233+0100
*
* @reporter @happyches
* @link https://wordpress.org/support/topic/custom-css-for-jumbled-references/
@ -2210,7 +2209,7 @@ class MCI_Footnotes_Task {
* - Bugfix: Reference container: Label: set empty label to U+202F NNBSP for more robustness, thanks to @lukashuggenberg feedback.
*
* @since 2.4.0
* @datetime 2021-01-04T0504+0100
* @date 2021-01-04T0504+0100
*
* @reporter @lukashuggenberg
*

112
css/public.css → css/dev-common.css Executable file → Normal file
View file

@ -1,18 +1,59 @@
/*<?php for docblocks
/**
* Created by Stefan Herndler.
* User: Stefan
* Created-Date: 15.05.14
* Created-Time: 16:21
* Since: 1.0
*/
/*<?php for docblocks
/**
* @version 2.5.4
* @lastmodified 2021-02-13T0004+0100
*
* @version 2.5.5
* @lastmodified 2021-02-16T0159+0100
*
* Classes recommended for Custom CSS:
* @see templates/dashboard/customize-css-new.html
*
* System of unified minified style sheets tailored to the needs of the instance.
*
* - Update: Stylesheets: increase speed and energy efficiency by tailoring stylesheets to the needs of the instance, thanks to @docteurfitness design contribution.
* - Bugfix: Stylesheets: minify to shrink the carbon footprint, increase speed and implement best practice, thanks to @docteurfitness issue report.
*
* @since 2.5.5
* @date 2021-02-14T1543+0100
*
* @contributor @docteurfitness
* @link https://wordpress.org/support/topic/simply-speed-optimisation/
*
* @reporter @docteurfitness
* @link https://wordpress.org/support/topic/simply-speed-optimisation/
*
* Six development stylesheets are concatenated to 12 unified stylesheets.
* @see development/csscat.sh
* Once these are minified, the temporary files are deleted, to streamline
* the plugins codebase shipped in production.
* The stylesheet file names consist of "footnotes-" and a code showing
* which one of the 5 additional stlesheets enter into its composition:
*
* The first part of the code contains 4 letters showing whether tooltips
* are enabled, and if so, which implementation: jQuery or alternative:
* nott no tooltips -
* jqtt jQuery tooltips dev-tooltips.css
* altt alternative tooltips dev-tooltips.css & dev-tooltips-alternative.css
*
* The second part of the code consists of the 4 letters "brpl", for
* Basic Responsive Page Layout, followed by a digit showing if a fix
* is applied, and if so, which one:
* 0 -
* 1 dev-layout-reference-container.css (only)
* 2 dev-layout-entry-content.css article without the title
* 3 dev-layout-main-content.css the article with its title
*
* So you can easily determine which ones of the formatted stylesheets are
* relevant to your Footnotes installation under the current preferences.
*
* The dashboard stylesheet is minified as-is.
* @see class/dashboard/layout.php
*
* @since 2.0.0 various.
* @since 2.0.0 Referrers: vertical align: lower from top: 0.4em to top: 0.6em
* @since 2.0.0 Tooltips: Font size: set to inherit instead of 13px
* @since 2.0.0 Tooltips: Continue button: apply distinctive font color and font style
@ -27,35 +68,6 @@
* @since 2.5.0 validation error warning box more paragraphs
*/
/**
* MCI Footnotes logo
*
* The classes with 'heading' fix display in dashboard,
* where since WordPress 5.5 settings box labels with
* spans are displayed as justified not last line.
*
* @see class/config.php
* @see css/settings.css
*/
.footnotes_logo,
.footnotes_logo:hover,
.footnotes_logo_heading {
text-decoration: none;
font-weight: normal;
}
.footnotes_logo_part1,
.footnotes_logo_part1_heading {
color: #2bb975;
}
.footnotes_logo_part2,
.footnotes_logo_part2_heading {
color: #545f5a;
}
/**
* Validation error warning displayed below post title
*
@ -319,7 +331,7 @@ templates/public/reference-container-switch.html
templates/public/reference-container-3column.html
Optional responsive basic page layout support
style sheets:
stylesheets:
css/layout-reference-container.css
css/layout-main-content.css
css/layout-page-content.css
@ -547,3 +559,33 @@ Link color set to inherit, so referrers/numbers are not grayed out.
display: none;
}
}
/**
* MCI Footnotes logo
*
* The classes with 'heading' fixing display in dashboard
* have all their rules moved to settings.css so as to alleviate
* the common stylesheet. Still these rules are only used if the
* Footnotes ad link logo is present in the page footer per user
* dashboard setting. Making these rules conditional like those
* pertaining to tooltips, either jQuery or alternative, would
* double the number of united minified stylesheets shipped with
* the plugin. Hence these are present by default at the bottom.
*
* @see class/config.php
* @see css/settings.css
*/
.footnotes_logo,
.footnotes_logo:hover {
text-decoration: none;
font-weight: normal;
}
.footnotes_logo_part1 {
color: #2bb975;
}
.footnotes_logo_part2 {
color: #545f5a;
}

View file

@ -1,3 +1,4 @@
/*<?php for docblocks
/**
* Basic responsive layout for the entry content div
*
@ -14,7 +15,7 @@
*
* Last modified: 2020-12-29T0210+0100
*
* The enqueuing of this style sheet is optional and can be
* The enqueuing of this stylesheet is optional and can be
* enabled in the dashboard under General settings >
* Reference container > Apply basic responsive page layout.
**/
@ -30,7 +31,7 @@ Therefore, in pages built with Elementor, proper layout is
applied only to features managed by Elementor, not others.
Footnotes reference containers are near the bottom of main.
This style sheet lets Footnotes reference containers come
This stylesheet lets Footnotes reference containers come
into the benefit of the basic responsive layout style rules
that would apply if the page were not built with Elementor.

View file

@ -1,3 +1,4 @@
/*<?php for docblocks
/**
* Basic responsive layout for the main element
*
@ -11,7 +12,7 @@
* Last modified for v2.2.2 2020-12-15T1004+0100
* Last modified for v2.2.4 2020-12-16T0625+0100
*
* The enqueuing of this style sheet is optional and can be
* The enqueuing of this stylesheet is optional and can be
* enabled in the Reference container settings.
**/
@ -26,7 +27,7 @@ Therefore, in pages built with Elementor, proper layout is
applied only to features managed by Elementor, not others.
Footnotes reference containers are near the bottom of main.
This style sheet lets Footnotes reference containers come
This stylesheet lets Footnotes reference containers come
into the benefit of the basic responsive layout style rules
that would apply if the page were not built with Elementor.

View file

@ -1,3 +1,4 @@
/*<?php for docblocks
/**
* Basic responsive layout for the reference container
*
@ -10,7 +11,7 @@
*
* Last modified for v2.2.4 2020-12-16T0624+0100
*
* The enqueuing of this style sheet is optional and can be
* The enqueuing of this stylesheet is optional and can be
* enabled in the Reference container settings.
**/
@ -25,7 +26,7 @@ Therefore, in pages built with Elementor, proper layout is
applied only to features managed by Elementor, not others.
Footnotes reference containers are near the bottom of main.
This style sheet lets Footnotes reference containers come
This stylesheet lets Footnotes reference containers come
into the benefit of the basic responsive layout style rules
that would apply if the page were not built with Elementor.

View file

@ -0,0 +1,63 @@
/*<?php for docblocks
/**
* Additional stylesheet for alternative tooltips.
*
* @since 2.5.5
* @version 2.5.5
* @lastmodified 2021-02-16T0206+0100
*
* System of unified minified style sheets tailored to the instance.
*
* @see full header in dev-common.css.
*/
/**
* Alternative tooltips
*
* These default position values may be overridden by internal CSS.
*/
.footnote_referrer.relative {
position: relative;
}
.footnote_tooltip.position {
display: unset;
position: absolute;
bottom: 24px;
left: -50px;
width: 400px;
}
/*
fade-in parameters
*/
.footnote_tooltip.shown {
visibility: visible;
opacity: 1;
transition-property: visibility opacity;
transition-timing-function: linear;
/*
property values of settings are inline CSS
transition-delay: 0ms;
transition-duration: 200ms;
*/
}
/*
fade-out parameters
*/
.footnote_tooltip.hidden {
visibility: hidden;
opacity: 0;
transition-property: visibility opacity;
transition-timing-function: linear;
/*
property values of settings are inline CSS
transition-delay: 400ms;
transition-duration: 200ms;
*/
}

58
css/dev-tooltips.css Normal file
View file

@ -0,0 +1,58 @@
/*<?php for docblocks
/**
* Created by Stefan Herndler.
* User: Stefan
* Created-Date: 15.05.14
* Created-Time: 16:21
* Since: 1.0
*
* Additional stylesheet needed when tooltips are enabled.
*
* It doesnt matter if the tooltips are jQuery based or alternative.
* @since 2.5.5
* @version 2.5.5
* @lastmodified 2021-02-16T0206+0100
*
* System of unified minified style sheets tailored to the instance.
*
* @see full header in dev-common.css.
*/
/**
* Tooltips
*
* - Bugfix: Tooltips: set z-index to maximum 2147483647 to address display issues with overlay content, thanks to @russianicons bug report.
*
* @since 2.1.6
* @reporter @russianicons
* @link https://wordpress.org/support/topic/counter-styles-not-working/#post-13767299
*/
.footnote_tooltip {
display: none;
z-index: 2147483647 !important;
cursor: auto;
text-align: left;
padding: 12px;
line-height: 1.2;
font-weight: normal;
font-style: normal;
}
/*
Read-on button
*/
.footnote_tooltip_continue {
font-style: italic;
color: green;
text-decoration: none !important;
cursor: pointer;
white-space: nowrap;
}
.footnote_tooltip_continue:hover {
color: blue;
text-decoration: underline !important;
}

1
css/footnotes-alttbrpl0.min.css vendored Normal file

File diff suppressed because one or more lines are too long

1
css/footnotes-alttbrpl1.min.css vendored Normal file

File diff suppressed because one or more lines are too long

1
css/footnotes-alttbrpl2.min.css vendored Normal file

File diff suppressed because one or more lines are too long

1
css/footnotes-alttbrpl3.min.css vendored Normal file

File diff suppressed because one or more lines are too long

1
css/footnotes-jqttbrpl0.min.css vendored Normal file

File diff suppressed because one or more lines are too long

1
css/footnotes-jqttbrpl1.min.css vendored Normal file

File diff suppressed because one or more lines are too long

1
css/footnotes-jqttbrpl2.min.css vendored Normal file

File diff suppressed because one or more lines are too long

1
css/footnotes-jqttbrpl3.min.css vendored Normal file

File diff suppressed because one or more lines are too long

1
css/footnotes-nottbrpl0.min.css vendored Normal file
View file

@ -0,0 +1 @@
.footnotes_validation_error{border:4px solid red;padding:20px 40px;margin:20px 0;background:#ff000055;text-align:start}.footnotes_validation_error p:first-child{font-size:20px;font-weight:700;text-align:center}.footnotes_validation_error p:nth-child(2){font-size:16px;font-style:italic}.footnotes_validation_error p:nth-child(3){font-size:14px;font-weight:700}.footnotes_validation_error p:last-child{font-size:12px}.footnote_url_wrap{word-wrap:anywhere;overflow-wrap:anywhere;word-break:break-all}.footnote_item_base,.footnote_referrer_base{position:absolute}.footnote_item_anchor,.footnote_referrer_anchor{position:relative}.footnote_plugin_tooltip_text,.footnote_plugin_tooltip_text:hover,.footnote_referrer,.footnote_referrer:hover,.footnote_referrer:link,.footnote_referrer>a,.footnote_referrer>a:hover,.footnote_referrer>a:link,.main-content .footnote_plugin_tooltip_text,.main-content .footnote_plugin_tooltip_text:hover,.main-content .footnote_referrer,.main-content .footnote_referrer:hover,.main-content .footnote_referrer:link,.main-content .footnote_referrer>a,.main-content .footnote_referrer>a:hover,.main-content .footnote_referrer>a:link{text-decoration:none!important;border-bottom:none!important;box-shadow:none!important}.footnote_plugin_tooltip_text{line-height:0;position:relative!important;cursor:pointer}.footnote_tooltip{display:none;z-index:2147483647!important;cursor:auto;text-align:left;padding:12px;line-height:1.2;font-weight:400;font-style:normal}.footnote_referrer.relative{position:relative}.footnote_tooltip.position{display:unset;position:absolute;bottom:24px;left:-50px;width:400px}.footnote_tooltip.shown{visibility:visible;opacity:1;transition-property:visibility opacity;transition-timing-function:linear}.footnote_tooltip.hidden{visibility:hidden;opacity:0;transition-property:visibility opacity;transition-timing-function:linear}.footnote_tooltip_continue{font-style:italic;color:green;text-decoration:none!important;cursor:pointer;white-space:nowrap}.footnote_tooltip_continue:hover{color:#00f;text-decoration:underline!important}.footnotes_reference_container{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.footnote_container_prepare{display:block!important;padding-top:24px!important}.footnote_container_prepare>p{line-height:1.3!important;margin-top:1em!important;margin-bottom:.25em!important;padding:0!important;font-weight:400!important;display:block!important;-webkit-margin-before:.83em!important;-webkit-margin-after:.83em!important;-webkit-margin-start:0!important;-webkit-margin-end:0!important;text-align:left!important;vertical-align:middle}.footnote_container_prepare>p>span:first-child{text-align:left!important;font-size:1.5em!important}.footnote_reference_container_collapse_button{cursor:pointer;padding:0 .5em;font-size:1.3em!important;vertical-align:2px;text-decoration:none!important}h2>.footnote_reference_container_collapse_button,h3>.footnote_reference_container_collapse_button,h4>.footnote_reference_container_collapse_button,h5>.footnote_reference_container_collapse_button,h6>.footnote_reference_container_collapse_button{font-size:inherit!important}.footnote_container_prepare>p>span:last-child a,.footnote_reference_container_collapse_button a{text-decoration:none!important}.footnote-reference-container,.footnotes_table{width:100%;border:none}.footnote_plugin_index,.footnote_plugin_index_combi,.footnote_plugin_symbol,.footnote_plugin_text{border:none!important;text-align:left!important;vertical-align:top!important;padding:5px 6px 10px 0!important}.footnote_backlink,.footnote_backlink:link,.footnote_plugin_link,.footnote_plugin_link:link,.main-content .footnote_backlink,.main-content .footnote_backlink:link,.main-content .footnote_plugin_link,.main-content .footnote_plugin_link:link{text-decoration:none!important;border-bottom:none!important}.footnote_backlink,.footnote_plugin_link{white-space:nowrap}.footnote_backlink,.footnote_index,.pointer{cursor:pointer}.footnote_backlink:hover,.footnote_plugin_link:hover,.footnote_plugin_text a:hover{text-decoration:unset;text-decoration:underline}.footnote_plugin_text{width:unset}.footnote_plugin_index,.footnote_plugin_index_combi{max-width:100px;width:2.5em}@media only screen and (max-width:768px){.footnote_plugin_index,.footnote_plugin_index_combi{max-width:80px}}.footnotes_reference_container{page-break-inside:avoid}@media print{.footnote_index_arrow,.footnote_reference_container_collapse_button,.footnote_tooltip{display:none}.footnote_plugin_tooltip_text{color:inherit}.footnote_plugin_index a,.footnote_plugin_index_combi a{color:inherit;text-decoration:none!important}div.post-meta-edit-link-wrapper{display:none}}.footnotes_logo,.footnotes_logo:hover{text-decoration:none;font-weight:400}.footnotes_logo_part1{color:#2bb975}.footnotes_logo_part2{color:#545f5a}

1
css/footnotes-nottbrpl1.min.css vendored Normal file

File diff suppressed because one or more lines are too long

1
css/footnotes-nottbrpl2.min.css vendored Normal file

File diff suppressed because one or more lines are too long

1
css/footnotes-nottbrpl3.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -1,3 +1,4 @@
/*<?php for docblocks
/**
* Created by Stefan Herndler.
* User: Stefan
@ -5,33 +6,35 @@
* Created-Time: 16:21
* Since: 1.0
*
* Version: 2.5.4
*
* Last modified: 2021-02-12T1805+0100
* @version 2.5.5
* @lastmodified 2021-02-16T0033+0100
*/
/**
* MCI Footnotes logo
*
* The classes with 'heading' fix display in dashboard,
* where since WordPress 5.5 settings box labels with
* spans are displayed as justified not last line.
*
* @see class/config.php
* @see css/dev-common.css
*/
/************************************************************
MCI Footnotes logo
The classes with 'heading' fix display in dashboard
See class/config.php and css/public.css
*/
.postbox-header {
position: relative;
padding: 0 20px;
}
.footnotes_logo_heading {
display: inline-block;
float: left;
position: absolute;
text-decoration: none;
font-weight: normal;
}
.footnotes_logo_part1_heading {
left: 20px;
color: #2bb975;
}
.footnotes_logo_part2_heading {
left: 51px;
color: #545f5a;
}
.footnotes_heart_heading {
color:#ff6d3b;
@ -40,6 +43,15 @@ See class/config.php and css/public.css
left: 96px;
}
/**
* Metabox headings
*/
.postbox-header {
position: relative;
padding: 0 20px;
}
/************************************************************
Input fields

1
css/settings.min.css vendored Normal file
View file

@ -0,0 +1 @@
.postbox-header{position:relative;padding:0 20px}.footnotes_logo_heading{display:inline-block;float:left;position:absolute}.footnotes_logo_part1_heading{left:20px}.footnotes_logo_part2_heading{left:51px}.footnotes_heart_heading{color:#ff6d3b;font-weight:700;position:absolute;left:96px}#footnote_inputfield_love,#footnote_inputfield_readon_label,#footnote_inputfield_references_label{padding-left:8px!important;padding-right:8px!important;width:80%!important}#footnote_inputfield_reference_container_place{width:310px}#footnote_inputfield_counter_style,#footnotes_inputfield_page_layout_support{width:505px}#footnote_inputfield_custom_mouse_over_box_excerpt_length,#footnote_inputfield_placeholder_end,#footnote_inputfield_placeholder_start{width:180px}#footnote_inputfield_placeholder_end_user_defined,#footnote_inputfield_placeholder_start_user_defined{width:320px}#footnote_inputfield_combine_identical,#footnote_inputfield_custom_mouse_over_box_border_radius,#footnote_inputfield_custom_mouse_over_box_border_width,#footnote_inputfield_custom_mouse_over_box_excerpt_enabled,#footnote_inputfield_custom_mouse_over_box_max_width,#footnote_inputfield_custom_mouse_over_box_offset_x,#footnote_inputfield_custom_mouse_over_box_offset_y,#footnotes_inputfield_alternative_mouse_over_box_offset_x,#footnotes_inputfield_alternative_mouse_over_box_offset_y,#footnotes_inputfield_alternative_mouse_over_box_width,#footnotes_inputfield_mouse_over_box_fade_in_delay,#footnotes_inputfield_mouse_over_box_fade_in_duration,#footnotes_inputfield_mouse_over_box_fade_out_delay,#footnotes_inputfield_mouse_over_box_fade_out_duration,#footnotes_inputfield_scroll_duration,#footnotes_inputfield_scroll_offset{width:80px}#footnote_inputfield_custom_hyperlink_symbol,#footnotes_inputfield_backlinks_separator_option,#footnotes_inputfield_backlinks_terminator_option{width:230px}#footnotes_inputfield_backlinks_column_max_width_scalar,#footnotes_inputfield_backlinks_column_width_scalar,#footnotes_inputfield_mouse_over_box_font_size_scalar,#footnotes_inputfield_reference_container_bottom_margin,#footnotes_inputfield_reference_container_top_margin{width:85px}#footnotes_inputfield_backlinks_column_max_width_unit,#footnotes_inputfield_backlinks_column_width_unit,#footnotes_inputfield_mouse_over_box_font_size_unit{width:140px}label{display:inline-block}.postbox>h3{height:32px!important;line-height:32px!important}.postbox>h3>span{padding:0 10px}.postbox>.inside>table{border:none!important}.postbox>.inside>table>tbody>tr>td:first-child{width:15%!important;font-weight:700!important}.footnote_placeholder_box_container{text-align:center!important}span.footnote_highlight_placeholder{font-weight:700!important;padding:0 8px!important}.footnote_placeholder_box_example{border:2px solid #2bb975!important;border-radius:4px!important;padding:16px 0!important;width:50%!important;display:block!important;margin:20px auto!important;text-align:center!important}.expert_lookup tr td:first-child,.expert_lookup tr th:first-child{width:170px!important}.expert_lookup tr td:nth-child(2),.expert_lookup tr th:nth-child(2){width:65px!important}.expert_lookup tr td:nth-child(3),.expert_lookup tr th:nth-child(3){width:200px!important}.expert_lookup tr td:nth-child(3) input{width:190px}.expert_lookup tr td:last-child,.expert_lookup tr th:last-child{white-space:nowrap}#customize_css_new tr td:first-child{width:38%!important;font-weight:400!important}.customize_css_new tr td:first-child span:first-child{font-weight:700!important}.customize_css_new .list{padding-top:10px}.customize_css_new .list p{font-family:monospace;padding:0 10px;text-indent:-10px;margin:.5em 0}#footnote_inputfield_custom_css_new{height:500px}#footnote_inputfield_custom_css,#footnote_inputfield_custom_css_new{width:96%;resize:both;overflow:scroll;font-family:monospace}.footnotes_notice{font-style:italic;display:inline-block;text-align:end}.footnotes_description{padding:0 6%}.footnotes_description p{font-size:1.2em;font-style:italic}

68
development/csscat.sh Executable file
View file

@ -0,0 +1,68 @@
#!/bin/bash
# 2021-02-15T1839+0100
# Last modified: 2021-02-16T0155+0100
# csscat.sh
# Concatenates CSS files; deletes the concatenations after theyve been minified.
#
# 12 unified style sheets are concatenated out of these files:
# dev-common.css
# dev-tooltips.css
# dev-tooltips-alternative.css
# dev-layout-reference-container.css
# dev-layout-entry-content.css
# dev-layout-main-content.css
#
echo "Running $(dirname "$0")/csscat.sh"
if [[ $1 == "c" ]]; then
echo "Concatenate in csscat/ for minification:"
cd ../css
mkdir csscat
cat dev-common.css > csscat/footnotes-nottbrpl0.css
cat dev-common.css dev-layout-reference-container.css > csscat/footnotes-nottbrpl1.css
cat dev-common.css dev-layout-entry-content.css > csscat/footnotes-nottbrpl2.css
cat dev-common.css dev-layout-main-content.css > csscat/footnotes-nottbrpl3.css
cat dev-common.css dev-tooltips.css > csscat/footnotes-jqttbrpl0.css
cat dev-common.css dev-tooltips.css dev-layout-reference-container.css > csscat/footnotes-jqttbrpl1.css
cat dev-common.css dev-tooltips.css dev-layout-entry-content.css > csscat/footnotes-jqttbrpl2.css
cat dev-common.css dev-tooltips.css dev-layout-main-content.css > csscat/footnotes-jqttbrpl3.css
cat dev-common.css dev-tooltips.css dev-tooltips-alternative.css > csscat/footnotes-alttbrpl0.css
cat dev-common.css dev-tooltips.css dev-tooltips-alternative.css dev-layout-reference-container.css > csscat/footnotes-alttbrpl1.css
cat dev-common.css dev-tooltips.css dev-tooltips-alternative.css dev-layout-entry-content.css > csscat/footnotes-alttbrpl2.css
cat dev-common.css dev-tooltips.css dev-tooltips-alternative.css dev-layout-main-content.css > csscat/footnotes-alttbrpl3.css
echo "Done."
elif [[ $1 == "d" ]]; then
echo "Move minified to css/ and delete concatenations and their temp dir:"
cd ../css/csscat
mv footnotes-nottbrpl0.min.css ..
mv footnotes-nottbrpl1.min.css ..
mv footnotes-nottbrpl2.min.css ..
mv footnotes-nottbrpl3.min.css ..
mv footnotes-jqttbrpl0.min.css ..
mv footnotes-jqttbrpl1.min.css ..
mv footnotes-jqttbrpl2.min.css ..
mv footnotes-jqttbrpl3.min.css ..
mv footnotes-alttbrpl0.min.css ..
mv footnotes-alttbrpl1.min.css ..
mv footnotes-alttbrpl2.min.css ..
mv footnotes-alttbrpl3.min.css ..
cd ..
rm -r csscat
echo "Done."
else
echo "Concatenates CSS files; deletes the concatenations after theyve been minified."
echo ""
echo "12 unified style sheets are concatenated out of these files:"
echo ""
echo "dev-common.css"
echo ""
echo "dev-tooltips.css"
echo "dev-tooltips-alternative.css"
echo ""
echo "dev-layout-reference-container.css"
echo "dev-layout-entry-content.css"
echo "dev-layout-main-content.css"
echo ""
echo "Command: c: Concatenate temporary files waiting for minification."
echo "Command: d: Move the minified files to css/, delete the temporary."
echo "No command, \"--help\", or anything else: Output this help section."
fi

View file

@ -1,57 +1,12 @@
note-for-developers.txt
@datetime 2020-12-19T0609+0100
@lastmodified 2021-02-12T0616+0100
customized-documentation-schema.txt
@lastmodified 2021-02-15T2022+0100
Plugin Footnotes for WordPress, v2.5.3 and later
Plugin Footnotes for WordPress, v2.5.4 and later
A. Customized template parts
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Since v2.2.6, Footnotes supports custom templates.
Custom templates may be loaded from a sibling folder 'footnotes-custom'
or since v2.4.0 from a folder 'templates/footnotes/' in the active theme.
Priority order:
1. active theme
2. sibling folder
3. internal
See footnotes/class/template.php:67..116
1. Active theme
‾‾‾‾‾‾‾‾‾‾‾‾
Please create a folder 'templates/footnotes/' in your child theme and
store all your public custom templates for Footnotes directly therein.
Existing homonymous templates are loaded instead of their counterparts in
wp-content/plugins/footnotes/templates/public/.
2. Sibling folder
‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Please make a sibling of the "footnotes" folder called 'footnotes-custom' and
the same internal structure and file names as 'footnotes/templates/public/'.
Example for custom tooltips:
footnotes-custom
└── templates
└── public
├── footnote.html
└── tooltip.html
Note: The timing parameters in the inline jQuery script 'tooltip.html' are already
configurable in the dashboard > Referrers and tooltips > Tooltip timing.
B. Customized documentation schema
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Customized documentation schema
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
In community-based, open source projects, it is important to comprehensively
recognize, acknowledge and document how developers, testers and users helped
@ -62,8 +17,10 @@ Note: Per the WordPress Coding Standards, the '@author' tag must not be used.
https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/
PHPDOC tag: Role: Acknowledgment in the changelog:
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
@contributor Provided code. “thanks to @USERNAME code contribution.”
@contributor Provided design. “thanks to @USERNAME design contribution.”
@contributor Provided content. “thanks to @USERNAME design contribution.” (!)
@reporter Reported a bug. “thanks to @USERNAME bug report.”
@reporter Reported an issue. “thanks to @USERNAME issue report.”
@ -185,7 +142,7 @@ https://phpstan.org/blog/generics-in-php-using-phpdocs
@template
▲ Tags supported in Atom TextMate found in VSCode 1.47.3:
▲ Tags supported in Atom TextMate found in VS Code 1.47.3:
/usr/share/code/resources/app/extensions/php/syntaxes/php.tmLanguage.json
Note the 4 tags appended to the list, hence initially missing.
@ -240,7 +197,7 @@ MISSING TAGS:
@template
▲ up-to-date list (standard/WP/PHPStan, custom) as per 2021-02-08T0335+0100:
▲ up-to-date list (standard/WP/PHPStan, custom):
@api
@abstract
@ -301,7 +258,7 @@ MISSING TAGS:
@user
▲ Config (original, missing and added tags):
▲ Config (original, missing and added tags), example of VS Code
/usr/share/code/resources/app/extensions/php/syntaxes/php.tmLanguage.json
original:

View file

@ -0,0 +1,47 @@
customized-template-stack.txt
@date 2020-12-19T0609+0100
@lastmodified 2021-02-15T2027+0100
Plugin Footnotes for WordPress, v2.5.3 and later
A. Customized template parts
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
@since 2.2.6 Adding: Templates: support for custom templates in sibling folder, thanks to @misfist issue report.
@since 2.5.0 Adding: Templates: Enable template location stack, thanks to @misfist code contribution.
Priority order:
1. active theme
2. sibling folder
3. internal
See footnotes/class/template.php:67..116
1. Active theme
‾‾‾‾‾‾‾‾‾‾‾‾
Please create a folder 'templates/footnotes/' in your child theme and
store all your public custom templates for Footnotes directly therein.
Existing homonymous templates are loaded instead of their counterparts in
wp-content/plugins/footnotes/templates/public/.
2. Sibling folder
‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Please make a sibling of the "footnotes" folder called 'footnotes-custom' and
the same internal structure and file names as 'footnotes/templates/public/'.
Example for custom tooltips:
footnotes-custom
└── templates
└── public
├── footnote.html
└── tooltip.html
Note: The timing parameters in the inline jQuery script 'tooltip.html' are already
configurable in the dashboard > Referrers and tooltips > Tooltip timing.

View file

@ -4,7 +4,7 @@
Plugin URI: https://wordpress.org/plugins/footnotes/
Description: time to bring footnotes to your website! footnotes are known from offline publishing and everybody takes them for granted when reading a magazine.
Author: Mark Cheret
Version: 2.5.4
Version: 2.5.5d0
Author URI: http://cheret.de/plugins/footnotes-2/
Text Domain: footnotes
Domain Path: /languages
@ -13,15 +13,15 @@
* Copyright 2021 Mark Cheret (email: mark@cheret.de)
*/
/**
* Version number for style sheet cache busting.
* Version number for stylesheet cache busting.
*
* @since 2.1.4
* @since 2.5.3 (Hungarian)
* @var str
* @lastmodified 2021-02-12T1804+0100
* @lastmodified 2021-02-16T0300+0100
* @committer @pewgeuges
*/
define( 'C_STR_FOOTNOTES_VERSION', '2.5.4' );
define( 'C_STR_FOOTNOTES_VERSION', '2.5.5d0' );
/*
LICENSE NOTICE
@ -59,3 +59,17 @@ add_filter("plugin_action_links_{$l_str_plugin_file}", array("MCI_Footnotes_Hook
$g_obj_MCI_Footnotes = new MCI_Footnotes();
// run the Plugin
$g_obj_MCI_Footnotes->run();
/**
* Sets the stylesheet enqueuing mode for production.
*
* @since 2.5.5
* @var bool
* @see class/init.php
*
* In production, a minified CSS file tailored to the settings is enqueued.
*
* Developing stylesheets is meant to be easier when this is set to false.
* WARNING: This facility is designed for development and must NOT be used in production.
*/
define( 'C_BOOL_CSS_PRODUCTION_MODE', true );

View file

@ -43,7 +43,7 @@
* - Update: Libraries: jQuery Tools: add condition whether deprecated function jQuery.browser() exists, thanks to @vonpiernik code contribution
*
* @since 2.0.0
* @datetime 2020-10-26T2005+0100
* @date 2020-10-26T2005+0100
* @accountable @pewgeuges
*
* @contributor @vonpiernik
@ -73,7 +73,7 @@
* - Update: Libraries: jQuery Tools: redact (comment out) all 6 instances of deprecated function jQuery.browser(), thanks to @bjrnet21 @cconser @vyassuresh @spaceling @widecast @olivlyon @maxident bug reports
*
* @since 2.1.1
* @datetime 2020-11-12T0127+0100
* @date 2020-11-12T0127+0100
* @accountable @pewgeuges
*
* @reporter @bjrnet21
@ -157,7 +157,7 @@
* - Bugfix: Libraries: jQuery Tools: replace discouraged double equals sign with recommended triple equals sign
*
* @since 2.5.4
* @datetime 2021-01-27T1955+0100
* @date 2021-01-27T1955+0100
* @accountable @pewgeuges
*
* 23 instances (27 less 4 already triple), first below, next was already
@ -498,7 +498,7 @@
* - Update: Libraries: jQuery Tools: replace deprecated function jQuery.isFunction(), thanks to @a223123131 bug report
*
* @since 2.5.4
* @datetime 2021-01-27T1911+0100
* @date 2021-01-27T1911+0100
* @accountable @pewgeuges
*
* @reporter @a223123131

View file

@ -79,6 +79,11 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
== Changelog ==
= 2.5.5d0 =
- Update: Stylesheets: increase speed and energy efficiency by tailoring stylesheets to the needs of the instance, thanks to @docteurfitness design contribution.
- Bugfix: Stylesheets: minify to shrink the carbon footprint, increase speed and implement best practice, thanks to @docteurfitness issue report.
- Bugfix: Libraries: optimize processes by loading external and internal scripts only if needed, thanks to @docteurfitness issue report.
= 2.5.4 =
- Bugfix: Referrers: optional fixes to vertical alignment, font size and position (static) for in-theme consistency and cross-theme stability, thanks to @tomturowski bug report.
- Bugfix: Tooltips: fix jQuery positioning bug moving tooltips out of view and affecting (TablePress tables in) some themes, thanks to @wisenilesh bug report.
@ -87,7 +92,7 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
- Bugfix: Dashboard: Tooltip dimensions: move from 'Tooltip position' to a dedicated metabox, thanks to @codldmac issue report.
- Update: Libraries: jQuery Tools: replace deprecated function jQuery.isFunction(), thanks to @a223123131 bug report.
- Bugfix: Editor button: Classic Editor text mode: try to fix uncaught reference error of “QTags is not defined”, thanks to @dpartridge bug report.
- Update: Reference container: Hard backlinks (optional): optional configurable tooltip hinting to use the backbutton instead, thanks to @@theroninjedi47 bug report.
- Update: Reference container: Hard backlinks (optional): optional configurable tooltip hinting to use the backbutton instead, thanks to @theroninjedi47 bug report.
- Update: Tooltips: Excerpt delimiter: add configuration settings in the dashboard.
- Bugfix: Tooltips: fix display in Popup Maker popups by correcting a coding error.
- Bugfix: Editor button: Classic Editor text mode: correct label to singular.
@ -137,7 +142,7 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
- Bugfix: Referrers and tooltips: correct scope of the line height fix to only affect the referrers, not the tooltip content.
- Bugfix: Referrers: extend clickable area to the full line height in sync with current pointer shape.
- Bugfix: Referrers: extend scope of the underline inhibition to be more comprehensive and consistent.
- Bugfix: Reference container: Basic responsive page layout: edits to one of the optional style sheets.
- Bugfix: Reference container: Basic responsive page layout: edits to one of the optional stylesheets.
= 2.2.10 =
- Bugfix: Reference container: add option for table borders to restore pre-2.0.0 design, thanks to @noobishh issue report.
@ -161,7 +166,7 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
- Adding: Templates: support for custom templates in sibling folder, thanks to @misfist issue report.
= 2.2.5 =
- Bugfix: Dashboard: Footnotes numbering: add missing support for Ibid. notation to suggestions, thanks to @meglio code contribution.
- Bugfix: Dashboard: Footnotes numbering: add missing support for Ibid. notation to suggestions, thanks to @meglio design contribution.
- Bugfix: Reference container: Label: make bottom border an option, thanks to @markhillyer issue report.
- Bugfix: Reference container: Label: option to select paragraph or heading element, thanks to @markhillyer issue report.
- Bugfix: Reference container: delete position shortcode if unused because position may be widget or footer, thanks to @hamshe bug report.
@ -179,7 +184,7 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
= 2.2.2 =
- Bugfix: Dashboard: Link element setting only under General settings > Reference container.
- Bugfix: Dashboard: Custom CSS: unearth text area and migrate to dedicated tab as designed.
- Bugfix: Reference container: edits to optional basic responsive page layout style sheets.
- Bugfix: Reference container: edits to optional basic responsive page layout stylesheets.
= 2.2.1 =
- Bugfix: Dashboard: duplicate moved settings under their legacy tab to account for data structure.
@ -218,7 +223,7 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
- Bugfix: Scroll duration: make configurable to conform to website content and style requirements.
- Bugfix: Tooltips: make display delays and fade durations configurable to conform to website style.
- Bugfix: Tooltips: Styling: fix font size issue by adding font size to settings with legacy as default.
- Bugfix: Reference container: fix layout by optionally enqueuing additional style sheet (depends on theme).
- Bugfix: Reference container: fix layout by optionally enqueuing additional stylesheet (depends on theme).
- Bugfix: Reference container: fix layout issues by moving backlink column width to settings.
- Bugfix: Reference container: make separating and terminating punctuation optional and configurable, thanks to @docteurfitness issue report and code contribution.
- Bugfix: Reference container: Backlinks: fix stacked enumerations by adding optional line breaks.
@ -247,7 +252,7 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
- Bugfix: Reference container: fix width in mobile view by URL wrapping for Unicode-non-conformant browsers, thanks to @karolszakiel bug report.
- Bugfix: Reference container: table cell backlinking if index is single and combining identicals turned on.
- Bugfix: Styling: raise Custom CSS priority to override settings.
- Bugfix: Styling: Tooltips: raise settings priority to override theme style sheets.
- Bugfix: Styling: Tooltips: raise settings priority to override theme stylesheets.
= 2.1.2 =
- Bugfix: Reference container: Backlinks: no underline on hover cell when combining identicals is on.
@ -286,7 +291,7 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
- BUGFIX: Priority level back to PHP_INT_MAX (need to get in touch with other plugins).
= 2.0.7 =
- BUGFIX: Hooks: Default-disable 'the_post', thanks to @spaceling @@markcheret @nyamachi @whichgodsaves @spiralofhope2 @mmallett @andreasra @widecast @ymorin007 @tashi1es bug reports.
- BUGFIX: Hooks: Default-disable 'the_post', thanks to @spaceling @markcheret @nyamachi @whichgodsaves @spiralofhope2 @mmallett @andreasra @widecast @ymorin007 @tashi1es bug reports.
- Update: Set priority level back to 10 assuming it is unproblematic.
- Update: Added backwards compatible support for legacy arrow and index placeholders in template.
- Update: Settings defaults adjusted for better and more up-to-date tooltip layout.
@ -311,7 +316,7 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
- Bugfix: Reference container: unset width of text column to fix site issues.
- Update: Hooks: Default-enable all hooks to prevent footnotes from seeming broken in some parts.
- Bugfix: Tooltips: Restore cursor shape 'pointer' over Read-on button after hard link removal.
- Bugfix: Settings style sheet: unenqueue to fix input boxes on public pages (enqueued for 2.0.4).
- Bugfix: Settings stylesheet: unenqueue to fix input boxes on public pages (enqueued for 2.0.4).
= 2.0.4 =
- Update: Restore arrow settings to customize or disable the now prepended arrow symbol.
@ -327,7 +332,7 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
- Bugfix: Reference container: Self-adjusting width of ID column but hidden overflow.
- Update: Reference container: clarify backlink semantics by prepended transitional up arrow, thanks to bug report.
- Bugfix: Fragment IDs: Prepended post ID to footnote number.
- Bugfix: External style sheets cache busting: add plugin version number argument in enqueuing function call.
- Bugfix: External stylesheets cache busting: add plugin version number argument in enqueuing function call.
- Bugfix: Print style: prevent a page break just after the reference container label.
- Bugfix: Print style: Hide reference collapse button.
- Update: Reference container: Headline: remove padding before reference container label.