diff --git a/CITATION.cff b/CITATION.cff index 7e59d83..f0268a1 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -6,7 +6,7 @@ authors: given-names: Justin - family-names: Tresova given-names: Armand -version: 1.10.0 +version: 1.11.0 doi: 10.5281/zenodo.1171250 date-released: 2017-05-08 url: "https://github.com/XjSv/cooked" \ No newline at end of file diff --git a/SECURITY.md b/SECURITY.md index a3abe69..09adbea 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -4,8 +4,10 @@ Versions that are currently being supported with security updates. | Version | Supported | -| ------- | ------------------ | -| 1.9.4 | :white_check_mark: | +| ----------- | ------------------ | +| 1.11.0 | :white_check_mark: | +| 1.10.0 | :x: | +| 1.9.4 | :x: | | 1.9.3 | :x: | | 1.9.2 | :x: | | 1.9.1 | :x: | diff --git a/assets/admin/js/cooked-functions.js b/assets/admin/js/cooked-functions.js index 7b7b934..0a718de 100644 --- a/assets/admin/js/cooked-functions.js +++ b/assets/admin/js/cooked-functions.js @@ -90,7 +90,7 @@ var $_CookedConditionalTimeout = false; cooked_save_default_nonce = thisButton.data('nonce'), cooked_save_default_bulk_nonce = thisButton.data('bulk-nonce'), thisContainer = thisButton.parent(), - confirm_save = confirm(cooked_js_vars.i18n_confirm_save_default_all), + confirm_save = confirm(cooked_functions_js_vars.i18n_confirm_save_default_all), recipe_editor_textarea = $( "#_recipe_settings_content" ), recipe_editor = tinymce.get('_recipe_settings_content'); @@ -104,7 +104,7 @@ var $_CookedConditionalTimeout = false; thisContainer.find('.button, .button-primary').addClass('disabled'); var ajax__save_default_new = $.post( - cooked_js_vars.ajax_url, + cooked_functions_js_vars.ajax_url, { action: 'cooked_save_default', 'default_content': recipe_editor_content, @@ -112,7 +112,7 @@ var $_CookedConditionalTimeout = false; }, function(result) { var ajax__save_default_all = $.post( - cooked_js_vars.ajax_url, + cooked_functions_js_vars.ajax_url, { action: 'cooked_get_recipe_ids', nonce: cooked_save_default_bulk_nonce @@ -152,14 +152,14 @@ var $_CookedConditionalTimeout = false; if (!thisButton.hasClass('disabled')) { thisContainer.find('.button, .button-primary').addClass('disabled'); var ajax__save_default_new = $.post( - cooked_js_vars.ajax_url, + cooked_functions_js_vars.ajax_url, { action: 'cooked_save_default', 'default_content': recipe_editor_content, nonce: nonce }, function(result) { - thisButton.text( cooked_js_vars.i18n_saved ); + thisButton.text( cooked_functions_js_vars.i18n_saved ); thisContainer.find('.button-primary').removeClass('disabled'); } ).fail(function(result) { @@ -175,14 +175,14 @@ var $_CookedConditionalTimeout = false; var thisButton = $(this), thisContainer = thisButton.parent(), - confirm_load = confirm( cooked_js_vars.i18n_confirm_load_default ), + confirm_load = confirm( cooked_functions_js_vars.i18n_confirm_load_default ), recipe_editor_textarea = $( "#_recipe_settings_content" ), recipe_editor = tinymce.get('_recipe_settings_content'); if (confirm_load && !thisButton.hasClass('disabled')) { thisContainer.find('.button, .button-primary').addClass('disabled'); var ajax__save_default_all = $.post( - cooked_js_vars.ajax_url, + cooked_functions_js_vars.ajax_url, { action: 'cooked_load_default' }, @@ -537,8 +537,8 @@ var $_CookedConditionalTimeout = false; // Sets up the media library frame direction_image_frame = wp.media.frames.direction_image_frame = wp.media({ - title: cooked_js_vars.i18n_image_title, - button: { text: cooked_js_vars.i18n_image_button }, + title: cooked_functions_js_vars.i18n_image_title, + button: { text: cooked_functions_js_vars.i18n_image_button }, library: { type: 'image' } }); @@ -550,7 +550,7 @@ var $_CookedConditionalTimeout = false; // Sends the attachment URL to our custom image input field. $('#direction-'+directionID+'-image-src').attr('src',media_attachment.sizes.thumbnail.url).parent().addClass('cooked-has-image'); $('input[name="_recipe_settings[directions]['+directionID+'][image]"]').val( media_attachment.id ); - $('.direction-image-button[data-id="'+directionID+'"]').prop( 'value', cooked_js_vars.i18n_image_change ); + $('.direction-image-button[data-id="'+directionID+'"]').prop( 'value', cooked_functions_js_vars.i18n_image_change ); }); // Opens the media library frame. @@ -576,8 +576,8 @@ var $_CookedConditionalTimeout = false; // Sets up the media library frame gallery_images_frame = wp.media.frames.gallery_images_frame = wp.media({ - title: cooked_js_vars.i18n_gallery_image_title, - button: { text: cooked_js_vars.i18n_gallery_image_title }, + title: cooked_functions_js_vars.i18n_gallery_image_title, + button: { text: cooked_functions_js_vars.i18n_gallery_image_title }, library: { type: 'image' }, multiple: true }); @@ -616,8 +616,8 @@ var $_CookedConditionalTimeout = false; // Sets up the media library frame var image_edit_frame = wp.media.frames.gallery_images_frame = wp.media({ - title: cooked_js_vars.i18n_edit_image_title, - button: { text: cooked_js_vars.i18n_edit_image_button }, + title: cooked_functions_js_vars.i18n_edit_image_title, + button: { text: cooked_functions_js_vars.i18n_edit_image_button }, library: { type: 'image' }, multiple: false }); @@ -657,7 +657,7 @@ var $_CookedConditionalTimeout = false; if ( directionID ) { $('#direction-'+directionID+'-image-src').parent().removeClass('cooked-has-image').prop('src',false); $('input[name="_recipe_settings[directions]['+directionID+'][image]"]').val(''); - $('.direction-image-button[data-id="'+directionID+'"]').prop( 'value',cooked_js_vars.i18n_image_title ); + $('.direction-image-button[data-id="'+directionID+'"]').prop( 'value',cooked_functions_js_vars.i18n_image_title ); } else { thisButton.parent().remove(); } @@ -705,7 +705,7 @@ function cooked_set_default_template(recipe_ids, total_recipes, content, nonce, } var ajax__bulk_save_default_template = jQuery.post( - cooked_js_vars.ajax_url, + cooked_functions_js_vars.ajax_url, { action: 'cooked_save_default_bulk', recipe_ids: recipe_ids, @@ -724,7 +724,7 @@ function cooked_set_default_template(recipe_ids, total_recipes, content, nonce, progress_text.text(cooked_recipe_update_counter + " / " + total_recipes); cooked_set_default_template(new_recipe_ids, total_recipes, content, nonce, instance); } else { - jQuery('.cooked-save-default-all').text(cooked_js_vars.i18n_applied); + jQuery('.cooked-save-default-all').text(cooked_functions_js_vars.i18n_applied); progress_bar.css({ "width" : "100%" }); progress.removeClass('cooked-active'); progress_text.removeClass('cooked-active').text(""); @@ -869,7 +869,7 @@ function cooked_reset_direction_builder() { var fieldID = 'direction-' + randomKeyForInterval + '-' + directionPartName; thisField.attr('id', fieldID); - if (directionPartName === 'content' && thisField.is('textarea') && cooked_js_vars.wp_editor_roles_allowed) { + if (directionPartName === 'content' && thisField.is('textarea') && cooked_functions_js_vars.wp_editor_roles_allowed) { // Init the WordPress Editor. wp.editor.initialize(fieldID, { tinymce: { diff --git a/assets/admin/js/cooked-functions.min.js b/assets/admin/js/cooked-functions.min.js index b2e2b8b..ec07bab 100644 --- a/assets/admin/js/cooked-functions.min.js +++ b/assets/admin/js/cooked-functions.min.js @@ -1 +1 @@ -var $_CookedConditionalTimeout=!1,cooked_recipe_update_counter=((_=>{_(document).ready(function(){var r,o,t,e,i,n,a,d,c,l=_(".cooked-color-field"),s=_("#cooked_recipe_settings").find("select"),u=_("#cooked-recipe-tabs"),k=(_("#cooked-settings-wrap"),_("#cooked_recipe_settings")),p=k.find("input#submit");$_CookedTooltips=_(".cooked-tooltip"),$_CookedConditionals=_(".cooked-conditional-hidden"),$_CookedSortable=_(".cooked-sortable"),$_CookedRecipeSaveDefault=_(".cooked-layout-save-default"),$_CookedShortcodeField=_(".cooked-shortcode-field"),$_CookedIngredientBuilder=_("#cooked-ingredients-builder"),$_CookedAutoNutritionButton=_(".cooked-auto-nutrition-button"),$_CookedDirectionBuilder=_("#cooked-directions-builder"),$_CookedRecipeGallery=_("#cooked-recipe-image-gallery"),$_CookedNutritionFactsTab=_("#cooked-recipe-tab-content-nutrition"),$_CookedSettingsPanel=_("#cooked-settings-panel"),$_CookedSettingsTabs=_("#cooked-settings-tabs"),l.length&&l.wpColorPicker(),$_CookedSortable.length&&($_CookedSortable.find(".cooked-icon-drag")?$_CookedSortable.sortable({stop:function(e,t){var t=t.item.find("textarea"),o=t.attr("name"),t=t.attr("id");wp.editor.remove(t),wp.editor.initialize(t,{tinymce:{wpautop:!1,toolbar1:"bold,italic,underline,blockquote,strikethrough,bullist,numlist,alignleft,aligncenter,alignright,undo,redo,wp_link_advanced,unlink,fullscreen",toolbar2:"",toolbar3:"",toolbar4:"",height:100,textarea_name:o,plugins:"link lists fullscreen wordpress wplink",setup:function(e){}},quicktags:!0,mediaButtons:!1})}}):$_CookedSortable.sortable()),$_CookedRecipeSaveDefault.length&&($_CookedRecipeSaveDefault.tooltipster({theme:["tooltipster-light","tooltipster-sideTip-cooked"],trigger:"click",animation:"grow",delay:0,speed:200,maxWidth:275,contentAsHTML:!0,interactive:!0,functionReady:function(c,e){_(".cooked-save-default-all").on("click",function(e){e.preventDefault();var o,i=_(this),e=i.data("nonce"),n=i.data("bulk-nonce"),t=i.parent(),a=confirm(cooked_js_vars.i18n_confirm_save_default_all),d=_("#_recipe_settings_content"),r=tinymce.get("_recipe_settings_content");o=null===r?d.val():r.getContent(),a&&!i.hasClass("disabled")&&(t.find(".button, .button-primary").addClass("disabled"),_.post(cooked_js_vars.ajax_url,{action:"cooked_save_default",default_content:o,nonce:e},function(e){_.post(cooked_js_vars.ajax_url,{action:"cooked_get_recipe_ids",nonce:n},function(e){var t;i.removeClass("button-primary").addClass("button"),e&&(t=JSON.parse(e),0<(t=Object.keys(t).length))&&cooked_set_default_template(e,t,o,n,c)})}))}),_(".cooked-save-default-new").on("click",function(e){e.preventDefault();var t=_(this),e=t.data("nonce"),o=t.parent(),i=_("#_recipe_settings_content"),n=tinymce.get("_recipe_settings_content");i=null===n?i.val():n.getContent(),t.hasClass("disabled")||(o.find(".button, .button-primary").addClass("disabled"),_.post(cooked_js_vars.ajax_url,{action:"cooked_save_default",default_content:i,nonce:e},function(e){t.text(cooked_js_vars.i18n_saved),o.find(".button-primary").removeClass("disabled")}).fail(function(e){}))})}}),_(".cooked-layout-load-default").on("click",function(e){e.preventDefault();var e=_(this),t=e.parent(),o=confirm(cooked_js_vars.i18n_confirm_load_default),i=_("#_recipe_settings_content"),n=tinymce.get("_recipe_settings_content");o&&!e.hasClass("disabled")&&(t.find(".button, .button-primary").addClass("disabled"),_.post(cooked_js_vars.ajax_url,{action:"cooked_load_default"},function(e){null===n?i.val(e):(i.val(e),n.setContent(e)),t.find(".button, .button-primary").removeClass("disabled")}).fail(function(e){t.find(".button, .button-primary").removeClass("disabled")}))})),s.length&&s.each(function(){_(this).wrap('
')}),$_CookedTooltips.length&&$_CookedTooltips.tooltipster({theme:["tooltipster-light","tooltipster-sideTip-cooked"],animation:"grow",delay:100,speed:200,maxWidth:275,contentAsHTML:!0,interactive:!0}),$_CookedShortcodeField.length&&$_CookedShortcodeField.on("click",function(e){_(this).select()}),$_CookedConditionals.length&&(r=[],$_CookedConditionals.each(function(){var e=_(this),t=_(this).data("condition"),o=_(this).data("value"),i=_("#"+t),o=!!o&&o.split(" "),n=e.is("li")||e.is("span")?"inline-block":"block";i.is(":checkbox")&&i.is(":checked")||i.is(":radio")&&i.is(":checked")||!(i.is(":checkbox")&&!i.is(":checked")||i.is(":radio")&&!i.is(":checked"))&&(!i.is(":checkbox")&&!o&&i.val()||!i.is(":checkbox")&&o&&-1<_.inArray(i.val(),o)||!i.is(":radio")&&!o&&i.val()||!i.is(":radio")&&o&&-1<_.inArray(i.val(),o))?e.css({display:n}):e.hide(),-1==_.inArray(t,r)&&r.push(t);for(var a=r.length,d=0;d a").attr("href")).split("#"))[1],_(".cooked-settings-tab-content").hide(),_("#cooked-settings-tab-content-"+n).show(),s.on("click",function(e){_(".tab-content").hide();var t=_(this).find("a"),t=($_CookedSettingsTabs.find("li").removeClass("active"),_(this).addClass("active"),t.attr("href"));"migration"==(t=(t=t.split("#"))[1])?p.hide():p.show(),_(".cooked-settings-tab-content").hide(),_("#cooked-settings-tab-content-"+t).show(),_("#cooked-settings-panel").hasClass("stuck")?window.scrollTo(0,130):window.scrollTo(0,0)})),$_CookedIngredientBuilder.length&&(cooked_reset_ingredient_builder(),$_CookedIngredientBuilder.on("keydown",'input[data-ingredient-part="name"]',function(e){9!==e.keyCode&&13!==e.keyCode||_(this).parents(".cooked-ingredient-block").is(":last-child")&&(e.preventDefault(),_("#cooked-recipe-tab-content-ingredients").find(".cooked-add-ingredient-button").trigger("click"),$_CookedIngredientBuilder.find('.cooked-ingredient-block:last-child input[data-ingredient-part="amount"]').focus())}),$_CookedIngredientBuilder.parent().on("click",".cooked-show-heading-element",function(e){e.preventDefault();e=_(this).parent();e.hasClass("cooked-expanded")?e.removeClass("cooked-expanded"):(e.addClass("cooked-expanded"),e.find('input[data-ingredient-part="section_heading_element"]').focus())}),$_CookedAutoNutritionButton.length&&$_CookedIngredientBuilder.on("change",'input[data-ingredient-part="name"]',function(e){var t=!1;$_CookedIngredientBuilder.find('input[data-ingredient-part="name"]').each(function(){if(""!=_(this).val())return!(t=!0)}),t?$_CookedAutoNutritionButton.prop("disabled",!1):$_CookedAutoNutritionButton.prop("disabled",!0)}),$_CookedIngredientBuilder.on("keyup",'input[data-ingredient-part="url"]',function(e){var t=_(this).val(),o=_(this).parents(".recipe-setting-block");t?o.addClass("cooked-has-url"):o.removeClass("cooked-has-url")}),$_CookedIngredientBuilder.parent().on("click",".cooked-add-ingredient-button",function(e){e.preventDefault();e=$_CookedIngredientBuilder.parent().find(".cooked-ingredient-template").clone().removeClass("cooked-template cooked-ingredient-template").addClass("cooked-ingredient-block");$_CookedIngredientBuilder.append(e),cooked_reset_ingredient_builder()}),$_CookedIngredientBuilder.parent().on("click",".cooked-add-heading-button",function(e){e.preventDefault();e=$_CookedIngredientBuilder.parent().find(".cooked-heading-template").clone().removeClass("cooked-template cooked-heading-template").addClass("cooked-ingredient-block cooked-ingredient-heading");$_CookedIngredientBuilder.append(e),cooked_reset_ingredient_builder()}),$_CookedIngredientBuilder.parent().on("click",".cooked-delete-ingredient",function(e){e.preventDefault(),_(this).parent().remove(),cooked_reset_ingredient_builder()})),$_CookedDirectionBuilder.length&&(cooked_reset_direction_builder(),$_CookedDirectionBuilder.parent().on("click",".cooked-show-heading-element",function(e){e.preventDefault();e=_(this).parent();e.hasClass("cooked-expanded")?e.removeClass("cooked-expanded"):(e.addClass("cooked-expanded"),e.find('input[data-direction-part="section_heading_element"]').focus())}),$_CookedDirectionBuilder.parent().on("click",".cooked-add-direction-button",function(e){e.preventDefault();e=$_CookedDirectionBuilder.parent().find(".cooked-direction-template").clone().removeClass("cooked-template cooked-direction-template").addClass("cooked-direction-block");$_CookedDirectionBuilder.append(e),cooked_reset_direction_builder()}),$_CookedDirectionBuilder.parent().on("click",".cooked-add-heading-button",function(e){e.preventDefault();e=$_CookedDirectionBuilder.parent().find(".cooked-heading-template").clone().removeClass("cooked-template cooked-heading-template").addClass("cooked-direction-block cooked-direction-heading");$_CookedDirectionBuilder.append(e),cooked_reset_direction_builder()}),$_CookedDirectionBuilder.parent().on("click",".cooked-delete-direction",function(e){e.preventDefault(),_(this).parent().remove(),cooked_reset_direction_builder()}),$_CookedDirectionBuilder.parent().on("click",".remove-image-button",function(e){e.preventDefault(),_(this).parent().removeClass("cooked-has-image"),_(this).parent().find("img").remove(),_(this).parent().find('input[data-direction-part="image"]').val(""),cooked_reset_direction_builder()}),_("body").on("click",".cooked-direction-img-placeholder, .cooked-direction-img",function(e){e.preventDefault(),_(this).parent().find(".direction-image-button").trigger("click")}),_("body").on("click",".direction-image-button",function(e){var t=_(this);d=t.data("id"),e.preventDefault(),a||(a=wp.media.frames.direction_image_frame=wp.media({title:cooked_js_vars.i18n_image_title,button:{text:cooked_js_vars.i18n_image_button},library:{type:"image"}})).on("select",function(){var e=a.state().get("selection").first().toJSON();_("#direction-"+d+"-image-src").attr("src",e.sizes.thumbnail.url).parent().addClass("cooked-has-image"),_('input[name="_recipe_settings[directions]['+d+'][image]"]').val(e.id),_('.direction-image-button[data-id="'+d+'"]').prop("value",cooked_js_vars.i18n_image_change)}),a.open()})),$_CookedRecipeGallery.length&&(cooked_init_gallery_sorting(),_("body").on("click",".cooked-gallery-add-button",function(e){_(this);e.preventDefault(),c||(c=wp.media.frames.gallery_images_frame=wp.media({title:cooked_js_vars.i18n_gallery_image_title,button:{text:cooked_js_vars.i18n_gallery_image_title},library:{type:"image"},multiple:!0})).on("select",function(){var e,t,o,i=c.state().get("selection").toJSON();for(e in i)i.hasOwnProperty(e)&&(o=(t=i[e]).sizes.thumbnail.url,_("#cooked-recipe-image-gallery").append(''));cooked_init_gallery_sorting()}),c.open()}),_("body").on("click",".cooked-recipe-gallery-item img",function(e){e.preventDefault(),_(this).parent().find(".cooked-gallery-edit-button").trigger("click")}),_("body").on("click",".cooked-gallery-edit-button",function(e){var n=_(this),t=n.data("attachment-id"),a=(e.preventDefault(),wp.media.frames.gallery_images_frame=wp.media({title:cooked_js_vars.i18n_edit_image_title,button:{text:cooked_js_vars.i18n_edit_image_button},library:{type:"image"},multiple:!1}));a.on("open",function(){var e=a.state().get("selection");(attachment=wp.media.attachment(t)).fetch(),e.add(attachment?[attachment]:[])}),a.open(),a.on("select",function(){var e,t,o,i=a.state().get("selection").toJSON();for(e in i)i.hasOwnProperty(e)&&(o=(t=i[e]).sizes.thumbnail.url,n.parent().replaceWith(''));cooked_init_gallery_sorting()})}),$_CookedRecipeGallery.on("click",".remove-image-button",function(e){var t=_(this);d=t.data("id"),e.preventDefault(),d?(_("#direction-"+d+"-image-src").parent().removeClass("cooked-has-image").prop("src",!1),_('input[name="_recipe_settings[directions]['+d+'][image]"]').val(""),_('.direction-image-button[data-id="'+d+'"]').prop("value",cooked_js_vars.i18n_image_title)):t.parent().remove()})),$_CookedNutritionFactsTab.length&&(init_nutrition_facts($_CookedNutritionFactsTab),$_CookedNutritionFactsTab.on("keyup","input",function(e){init_nutrition_facts($_CookedNutritionFactsTab)})),_("#cooked-prep-time").length&&_("#cooked-prep-time,#cooked-cook-time").on("change",function(){cooked_updateTotalTimeValue(parseInt(_("#cooked-prep-time").val()),parseInt(_("#cooked-cook-time").val()))})})})(jQuery),0);function cooked_set_default_template(e,o,i,n,a){var d,r,c,l;0{p(document).ready(function(){var c,o,t,e,i,n,a,d,r,l=p(".cooked-color-field"),s=p("#cooked_recipe_settings").find("select"),u=p("#cooked-recipe-tabs"),k=(p("#cooked-settings-wrap"),p("#cooked_recipe_settings")),_=k.find("input#submit");$_CookedTooltips=p(".cooked-tooltip"),$_CookedConditionals=p(".cooked-conditional-hidden"),$_CookedSortable=p(".cooked-sortable"),$_CookedRecipeSaveDefault=p(".cooked-layout-save-default"),$_CookedShortcodeField=p(".cooked-shortcode-field"),$_CookedIngredientBuilder=p("#cooked-ingredients-builder"),$_CookedAutoNutritionButton=p(".cooked-auto-nutrition-button"),$_CookedDirectionBuilder=p("#cooked-directions-builder"),$_CookedRecipeGallery=p("#cooked-recipe-image-gallery"),$_CookedNutritionFactsTab=p("#cooked-recipe-tab-content-nutrition"),$_CookedSettingsPanel=p("#cooked-settings-panel"),$_CookedSettingsTabs=p("#cooked-settings-tabs"),l.length&&l.wpColorPicker(),$_CookedSortable.length&&($_CookedSortable.find(".cooked-icon-drag")?$_CookedSortable.sortable({stop:function(e,t){var t=t.item.find("textarea"),o=t.attr("name"),t=t.attr("id");wp.editor.remove(t),wp.editor.initialize(t,{tinymce:{wpautop:!1,toolbar1:"bold,italic,underline,blockquote,strikethrough,bullist,numlist,alignleft,aligncenter,alignright,undo,redo,wp_link_advanced,unlink,fullscreen",toolbar2:"",toolbar3:"",toolbar4:"",height:100,textarea_name:o,plugins:"link lists fullscreen wordpress wplink",setup:function(e){}},quicktags:!0,mediaButtons:!1})}}):$_CookedSortable.sortable()),$_CookedRecipeSaveDefault.length&&($_CookedRecipeSaveDefault.tooltipster({theme:["tooltipster-light","tooltipster-sideTip-cooked"],trigger:"click",animation:"grow",delay:0,speed:200,maxWidth:275,contentAsHTML:!0,interactive:!0,functionReady:function(r,e){p(".cooked-save-default-all").on("click",function(e){e.preventDefault();var o,i=p(this),e=i.data("nonce"),n=i.data("bulk-nonce"),t=i.parent(),a=confirm(cooked_functions_js_vars.i18n_confirm_save_default_all),d=p("#_recipe_settings_content"),c=tinymce.get("_recipe_settings_content");o=null===c?d.val():c.getContent(),a&&!i.hasClass("disabled")&&(t.find(".button, .button-primary").addClass("disabled"),p.post(cooked_functions_js_vars.ajax_url,{action:"cooked_save_default",default_content:o,nonce:e},function(e){p.post(cooked_functions_js_vars.ajax_url,{action:"cooked_get_recipe_ids",nonce:n},function(e){var t;i.removeClass("button-primary").addClass("button"),e&&(t=JSON.parse(e),0<(t=Object.keys(t).length))&&cooked_set_default_template(e,t,o,n,r)})}))}),p(".cooked-save-default-new").on("click",function(e){e.preventDefault();var t=p(this),e=t.data("nonce"),o=t.parent(),i=p("#_recipe_settings_content"),n=tinymce.get("_recipe_settings_content");i=null===n?i.val():n.getContent(),t.hasClass("disabled")||(o.find(".button, .button-primary").addClass("disabled"),p.post(cooked_functions_js_vars.ajax_url,{action:"cooked_save_default",default_content:i,nonce:e},function(e){t.text(cooked_functions_js_vars.i18n_saved),o.find(".button-primary").removeClass("disabled")}).fail(function(e){}))})}}),p(".cooked-layout-load-default").on("click",function(e){e.preventDefault();var e=p(this),t=e.parent(),o=confirm(cooked_functions_js_vars.i18n_confirm_load_default),i=p("#_recipe_settings_content"),n=tinymce.get("_recipe_settings_content");o&&!e.hasClass("disabled")&&(t.find(".button, .button-primary").addClass("disabled"),p.post(cooked_functions_js_vars.ajax_url,{action:"cooked_load_default"},function(e){null===n?i.val(e):(i.val(e),n.setContent(e)),t.find(".button, .button-primary").removeClass("disabled")}).fail(function(e){t.find(".button, .button-primary").removeClass("disabled")}))})),s.length&&s.each(function(){p(this).wrap('
')}),$_CookedTooltips.length&&$_CookedTooltips.tooltipster({theme:["tooltipster-light","tooltipster-sideTip-cooked"],animation:"grow",delay:100,speed:200,maxWidth:275,contentAsHTML:!0,interactive:!0}),$_CookedShortcodeField.length&&$_CookedShortcodeField.on("click",function(e){p(this).select()}),$_CookedConditionals.length&&(c=[],$_CookedConditionals.each(function(){var e=p(this),t=p(this).data("condition"),o=p(this).data("value"),i=p("#"+t),o=!!o&&o.split(" "),n=e.is("li")||e.is("span")?"inline-block":"block";i.is(":checkbox")&&i.is(":checked")||i.is(":radio")&&i.is(":checked")||!(i.is(":checkbox")&&!i.is(":checked")||i.is(":radio")&&!i.is(":checked"))&&(!i.is(":checkbox")&&!o&&i.val()||!i.is(":checkbox")&&o&&-1 a").attr("href")).split("#"))[1],p(".cooked-settings-tab-content").hide(),p("#cooked-settings-tab-content-"+n).show(),s.on("click",function(e){p(".tab-content").hide();var t=p(this).find("a"),t=($_CookedSettingsTabs.find("li").removeClass("active"),p(this).addClass("active"),t.attr("href"));"migration"==(t=(t=t.split("#"))[1])?_.hide():_.show(),p(".cooked-settings-tab-content").hide(),p("#cooked-settings-tab-content-"+t).show(),p("#cooked-settings-panel").hasClass("stuck")?window.scrollTo(0,130):window.scrollTo(0,0)})),$_CookedIngredientBuilder.length&&(cooked_reset_ingredient_builder(),$_CookedIngredientBuilder.on("keydown",'input[data-ingredient-part="name"]',function(e){9!==e.keyCode&&13!==e.keyCode||p(this).parents(".cooked-ingredient-block").is(":last-child")&&(e.preventDefault(),p("#cooked-recipe-tab-content-ingredients").find(".cooked-add-ingredient-button").trigger("click"),$_CookedIngredientBuilder.find('.cooked-ingredient-block:last-child input[data-ingredient-part="amount"]').focus())}),$_CookedIngredientBuilder.parent().on("click",".cooked-show-heading-element",function(e){e.preventDefault();e=p(this).parent();e.hasClass("cooked-expanded")?e.removeClass("cooked-expanded"):(e.addClass("cooked-expanded"),e.find('input[data-ingredient-part="section_heading_element"]').focus())}),$_CookedAutoNutritionButton.length&&$_CookedIngredientBuilder.on("change",'input[data-ingredient-part="name"]',function(e){var t=!1;$_CookedIngredientBuilder.find('input[data-ingredient-part="name"]').each(function(){if(""!=p(this).val())return!(t=!0)}),t?$_CookedAutoNutritionButton.prop("disabled",!1):$_CookedAutoNutritionButton.prop("disabled",!0)}),$_CookedIngredientBuilder.on("keyup",'input[data-ingredient-part="url"]',function(e){var t=p(this).val(),o=p(this).parents(".recipe-setting-block");t?o.addClass("cooked-has-url"):o.removeClass("cooked-has-url")}),$_CookedIngredientBuilder.parent().on("click",".cooked-add-ingredient-button",function(e){e.preventDefault();e=$_CookedIngredientBuilder.parent().find(".cooked-ingredient-template").clone().removeClass("cooked-template cooked-ingredient-template").addClass("cooked-ingredient-block");$_CookedIngredientBuilder.append(e),cooked_reset_ingredient_builder()}),$_CookedIngredientBuilder.parent().on("click",".cooked-add-heading-button",function(e){e.preventDefault();e=$_CookedIngredientBuilder.parent().find(".cooked-heading-template").clone().removeClass("cooked-template cooked-heading-template").addClass("cooked-ingredient-block cooked-ingredient-heading");$_CookedIngredientBuilder.append(e),cooked_reset_ingredient_builder()}),$_CookedIngredientBuilder.parent().on("click",".cooked-delete-ingredient",function(e){e.preventDefault(),p(this).parent().remove(),cooked_reset_ingredient_builder()})),$_CookedDirectionBuilder.length&&(cooked_reset_direction_builder(),$_CookedDirectionBuilder.parent().on("click",".cooked-show-heading-element",function(e){e.preventDefault();e=p(this).parent();e.hasClass("cooked-expanded")?e.removeClass("cooked-expanded"):(e.addClass("cooked-expanded"),e.find('input[data-direction-part="section_heading_element"]').focus())}),$_CookedDirectionBuilder.parent().on("click",".cooked-add-direction-button",function(e){e.preventDefault();e=$_CookedDirectionBuilder.parent().find(".cooked-direction-template").clone().removeClass("cooked-template cooked-direction-template").addClass("cooked-direction-block");$_CookedDirectionBuilder.append(e),cooked_reset_direction_builder()}),$_CookedDirectionBuilder.parent().on("click",".cooked-add-heading-button",function(e){e.preventDefault();e=$_CookedDirectionBuilder.parent().find(".cooked-heading-template").clone().removeClass("cooked-template cooked-heading-template").addClass("cooked-direction-block cooked-direction-heading");$_CookedDirectionBuilder.append(e),cooked_reset_direction_builder()}),$_CookedDirectionBuilder.parent().on("click",".cooked-delete-direction",function(e){e.preventDefault(),p(this).parent().remove(),cooked_reset_direction_builder()}),$_CookedDirectionBuilder.parent().on("click",".remove-image-button",function(e){e.preventDefault(),p(this).parent().removeClass("cooked-has-image"),p(this).parent().find("img").remove(),p(this).parent().find('input[data-direction-part="image"]').val(""),cooked_reset_direction_builder()}),p("body").on("click",".cooked-direction-img-placeholder, .cooked-direction-img",function(e){e.preventDefault(),p(this).parent().find(".direction-image-button").trigger("click")}),p("body").on("click",".direction-image-button",function(e){var t=p(this);d=t.data("id"),e.preventDefault(),a||(a=wp.media.frames.direction_image_frame=wp.media({title:cooked_functions_js_vars.i18n_image_title,button:{text:cooked_functions_js_vars.i18n_image_button},library:{type:"image"}})).on("select",function(){var e=a.state().get("selection").first().toJSON();p("#direction-"+d+"-image-src").attr("src",e.sizes.thumbnail.url).parent().addClass("cooked-has-image"),p('input[name="_recipe_settings[directions]['+d+'][image]"]').val(e.id),p('.direction-image-button[data-id="'+d+'"]').prop("value",cooked_functions_js_vars.i18n_image_change)}),a.open()})),$_CookedRecipeGallery.length&&(cooked_init_gallery_sorting(),p("body").on("click",".cooked-gallery-add-button",function(e){p(this);e.preventDefault(),r||(r=wp.media.frames.gallery_images_frame=wp.media({title:cooked_functions_js_vars.i18n_gallery_image_title,button:{text:cooked_functions_js_vars.i18n_gallery_image_title},library:{type:"image"},multiple:!0})).on("select",function(){var e,t,o,i=r.state().get("selection").toJSON();for(e in i)i.hasOwnProperty(e)&&(o=(t=i[e]).sizes.thumbnail.url,p("#cooked-recipe-image-gallery").append(''));cooked_init_gallery_sorting()}),r.open()}),p("body").on("click",".cooked-recipe-gallery-item img",function(e){e.preventDefault(),p(this).parent().find(".cooked-gallery-edit-button").trigger("click")}),p("body").on("click",".cooked-gallery-edit-button",function(e){var n=p(this),t=n.data("attachment-id"),a=(e.preventDefault(),wp.media.frames.gallery_images_frame=wp.media({title:cooked_functions_js_vars.i18n_edit_image_title,button:{text:cooked_functions_js_vars.i18n_edit_image_button},library:{type:"image"},multiple:!1}));a.on("open",function(){var e=a.state().get("selection");(attachment=wp.media.attachment(t)).fetch(),e.add(attachment?[attachment]:[])}),a.open(),a.on("select",function(){var e,t,o,i=a.state().get("selection").toJSON();for(e in i)i.hasOwnProperty(e)&&(o=(t=i[e]).sizes.thumbnail.url,n.parent().replaceWith(''));cooked_init_gallery_sorting()})}),$_CookedRecipeGallery.on("click",".remove-image-button",function(e){var t=p(this);d=t.data("id"),e.preventDefault(),d?(p("#direction-"+d+"-image-src").parent().removeClass("cooked-has-image").prop("src",!1),p('input[name="_recipe_settings[directions]['+d+'][image]"]').val(""),p('.direction-image-button[data-id="'+d+'"]').prop("value",cooked_functions_js_vars.i18n_image_title)):t.parent().remove()})),$_CookedNutritionFactsTab.length&&(init_nutrition_facts($_CookedNutritionFactsTab),$_CookedNutritionFactsTab.on("keyup","input",function(e){init_nutrition_facts($_CookedNutritionFactsTab)})),p("#cooked-prep-time").length&&p("#cooked-prep-time,#cooked-cook-time").on("change",function(){cooked_updateTotalTimeValue(parseInt(p("#cooked-prep-time").val()),parseInt(p("#cooked-cook-time").val()))})})})(jQuery),0);function cooked_set_default_template(e,o,i,n,a){var d,c,r,l;0= 1 ){ - progress_text.html( formattedComplete + " / " + formattedTotal + "" + estimatedHours + " hrs, " + estimatedMinutes + " mins " + cooked_js_vars.i18n_remaining + "" ); + progress_text.html( formattedComplete + " / " + formattedTotal + "" + estimatedHours + " hrs, " + estimatedMinutes + " mins " + cooked_migration_js_vars.i18n_remaining + "" ); } else if ( estimatedMinutes >= 1 ){ - progress_text.html( formattedComplete + " / " + formattedTotal + "" + estimatedMinutes + " mins " + cooked_js_vars.i18n_remaining + "" ); + progress_text.html( formattedComplete + " / " + formattedTotal + "" + estimatedMinutes + " mins " + cooked_migration_js_vars.i18n_remaining + "" ); } else { progress_text.text( formattedComplete + " / " + formattedTotal ); } @@ -219,7 +219,7 @@ function cooked_import_recipes(recipe_ids, total_recipes, import_type) { formattedTotal.toLocaleString(); var ajax__bulk_migrate_recipes = jQuery.post( - cooked_js_vars.ajax_url, + cooked_migration_js_vars.ajax_url, { action: 'cooked_import_recipes', recipe_ids: recipe_ids, @@ -251,9 +251,9 @@ function cooked_import_recipes(recipe_ids, total_recipes, import_type) { estimatedHours = Math.floor(estimatedCompletionTime / 3600); estimatedMinutes = Math.floor((estimatedCompletionTime / 60) % 60); if ( estimatedHours >= 1 ){ - progress_text.html( formattedComplete + " / " + formattedTotal + "" + estimatedHours + " hrs, " + estimatedMinutes + " mins " + cooked_js_vars.i18n_remaining + "" ); + progress_text.html( formattedComplete + " / " + formattedTotal + "" + estimatedHours + " hrs, " + estimatedMinutes + " mins " + cooked_migration_js_vars.i18n_remaining + "" ); } else if ( estimatedMinutes >= 1 ){ - progress_text.html( formattedComplete + " / " + formattedTotal + "" + estimatedMinutes + " mins " + cooked_js_vars.i18n_remaining + "" ); + progress_text.html( formattedComplete + " / " + formattedTotal + "" + estimatedMinutes + " mins " + cooked_migration_js_vars.i18n_remaining + "" ); } else { progress_text.text( formattedComplete + " / " + formattedTotal ); } diff --git a/assets/admin/js/cooked-migration.min.js b/assets/admin/js/cooked-migration.min.js index fddff11..c632055 100644 --- a/assets/admin/js/cooked-migration.min.js +++ b/assets/admin/js/cooked-migration.min.js @@ -1 +1 @@ -(r=>{r(document).ready(function(){var e=r("#cooked-migration-button"),o=r("#cooked-import-button");r("#cooked-migration-progress"),r("#cooked-migration-progress-text");e.length&&e.on("click",function(e){e.preventDefault();e=r(this);confirm(cooked_js_vars.i18n_confirm_migrate_recipe)&&!e.hasClass("disabled")&&(e.addClass("disabled").attr("disabled",!0),e.hide(),r.post(cooked_js_vars.ajax_url,{action:"cooked_get_migrate_ids"},function(e){var o;e&&(o=JSON.parse(e),0"+i+" hrs, "+r+" mins "+cooked_js_vars.i18n_remaining+""):1<=r?n.html(t+" / "+o+""+r+" mins "+cooked_js_vars.i18n_remaining+""):n.text(t+" / "+o)):n.text(t+" / "+o),cooked_migrate_recipes(e,s)):(a.hide(),n.hide(),jQuery(".recipe-setting-block.migrate_button").find("h3").hide(),jQuery(".recipe-setting-block.migrate_button").find("p:nth-child(2)").hide(),jQuery(".recipe-setting-block.migrate_button").find("ul.cooked-admin-ul").hide(),jQuery("#cooked-migration-button").hide(),jQuery("#cooked-migration-completed").addClass("cooked-active"))}))}function cooked_import_recipes(e,s,a){var c,n,d,o,l=0;0"+i+" hrs, "+r+" mins "+cooked_js_vars.i18n_remaining+""):1<=r?d.html(t+" / "+o+""+r+" mins "+cooked_js_vars.i18n_remaining+""):d.text(t+" / "+o)):d.text(t+" / "+o),cooked_import_recipes(e,s,a)):(c.hide(),d.hide(),jQuery(".recipe-setting-block.import_button").find("h3").hide(),jQuery(".recipe-setting-block.import_button").find("p:nth-child(2)").hide(),jQuery(".recipe-setting-block.import_button").find(".cooked-import-note").hide(),jQuery(".recipe-setting-block.import_button").find("ul.cooked-admin-ul").hide(),jQuery("#cooked-import-button").hide(),jQuery("#cooked-import-completed").addClass("cooked-active"))}))} \ No newline at end of file +(r=>{r(document).ready(function(){var e=r("#cooked-migration-button"),o=r("#cooked-import-button");r("#cooked-migration-progress"),r("#cooked-migration-progress-text");e.length&&e.on("click",function(e){e.preventDefault();e=r(this);confirm(cooked_migration_js_vars.i18n_confirm_migrate_recipe)&&!e.hasClass("disabled")&&(e.addClass("disabled").attr("disabled",!0),e.hide(),r.post(cooked_migration_js_vars.ajax_url,{action:"cooked_get_migrate_ids"},function(e){var o;e&&(o=JSON.parse(e),0"+i+" hrs, "+r+" mins "+cooked_migration_js_vars.i18n_remaining+""):1<=r?c.html(t+" / "+o+""+r+" mins "+cooked_migration_js_vars.i18n_remaining+""):c.text(t+" / "+o)):c.text(t+" / "+o),cooked_migrate_recipes(e,s)):(a.hide(),c.hide(),jQuery(".recipe-setting-block.migrate_button").find("h3").hide(),jQuery(".recipe-setting-block.migrate_button").find("p:nth-child(2)").hide(),jQuery(".recipe-setting-block.migrate_button").find("ul.cooked-admin-ul").hide(),jQuery("#cooked-migration-button").hide(),jQuery("#cooked-migration-completed").addClass("cooked-active"))}))}function cooked_import_recipes(e,s,a){var n,c,d,o,_=0;0"+i+" hrs, "+r+" mins "+cooked_migration_js_vars.i18n_remaining+""):1<=r?d.html(t+" / "+o+""+r+" mins "+cooked_migration_js_vars.i18n_remaining+""):d.text(t+" / "+o)):d.text(t+" / "+o),cooked_import_recipes(e,s,a)):(n.hide(),d.hide(),jQuery(".recipe-setting-block.import_button").find("h3").hide(),jQuery(".recipe-setting-block.import_button").find("p:nth-child(2)").hide(),jQuery(".recipe-setting-block.import_button").find(".cooked-import-note").hide(),jQuery(".recipe-setting-block.import_button").find("ul.cooked-admin-ul").hide(),jQuery("#cooked-import-button").hide(),jQuery("#cooked-import-completed").addClass("cooked-active"))}))} \ No newline at end of file diff --git a/assets/admin/js/cooked-widgets.js b/assets/admin/js/cooked-widgets.js index b241b33..0eb8fec 100644 --- a/assets/admin/js/cooked-widgets.js +++ b/assets/admin/js/cooked-widgets.js @@ -47,7 +47,7 @@ this.refreshItems(); if (!query.length) return callback(); $.ajax({ - url: cooked_js_vars.rest_url + 'wp/v2/cooked_recipe/', + url: cooked_widgets_js_vars.rest_url + 'wp/v2/cooked_recipe/', type: 'GET', dataType: 'json', data: { diff --git a/assets/css/colors.php b/assets/css/colors.php index 160eb3b..f93a2df 100644 --- a/assets/css/colors.php +++ b/assets/css/colors.php @@ -43,7 +43,7 @@ .cooked-nutrition-label { background:rgba(0,0,0,0.25); border:none; border-radius:5px; } .cooked-nutrition-label .cooked-nutrition-title { color:#fff; } body .cooked-nutrition-label .cooked-nut-hr { border-color:rgba(255,255,255,0.15); } -body .cooked-nutrition-label dt.cooked-nut-spacer { background:rgba(255,255,255,0.15); } +body .cooked-nutrition-label dt.cooked-nut-spacer, body .cooked-nutrition-label dl.cooked-nut-spacer { background:rgba(255,255,255,0.15); } body .cooked-nutrition-label dt, body .cooked-nutrition-label dl.cooked-nut-bottom dt, body .cooked-nutrition-label dl.cooked-nut-bottom dt:nth-last-child(2):nth-child(2n) { border-color:rgba(255,255,255,0.15); } diff --git a/assets/css/print.css b/assets/css/print.css index e07fd2c..270a8d7 100644 --- a/assets/css/print.css +++ b/assets/css/print.css @@ -62,7 +62,7 @@ body .cooked-nutrition-label dl { margin:0 !important; padding:0 !important; } body .cooked-nutrition-label dt { position:relative; margin:0; padding:2px 0; border-top:1px solid #aaa; } body .cooked-nutrition-label dt dt { padding:2px 0 0; margin:2px 0 0; } body .cooked-nutrition-label dt:after { content: ""; display: table; clear: both; } -body .cooked-nutrition-label dt.cooked-nut-spacer { border:none; height:0.5rem; padding:0; background:#333; } +body .cooked-nutrition-label dt.cooked-nut-spacer, body .cooked-nutrition-label div.cooked-nut-spacer { border:none; height:0.5rem; padding:0; background:#333; } body .cooked-nutrition-label > dl > dt:first-child, body .cooked-nutrition-label dl dt.cooked-nut-no-border { border:none; } body .cooked-nutrition-label dt dl { padding:0; margin:0 0 0 1.5rem; } diff --git a/assets/css/print.min.css b/assets/css/print.min.css index 22850ad..9aceb98 100644 --- a/assets/css/print.min.css +++ b/assets/css/print.min.css @@ -1 +1 @@ -body,html{color:#000;box-sizing:border-box;padding:0;margin:0;width:100%;height:100%;font-family:sans-serif;font-size:1rem;line-height:1.6rem}body *{box-sizing:border-box}body img{max-width:100%;height:auto}body{padding:0 30px;max-width:800px;margin:0 auto}body a{color:inherit;text-decoration:none}body h1{font-size:1.75rem;line-height:1.5;margin:0 0 1rem;padding:0}body p{font-size:1rem;line-height:1.6;margin:0 0 1rem;padding:0}.cooked-clearfix:after{content:"";display:table;clear:both}.cooked-button,button.cooked-button{cursor:pointer;border:none;display:inline-block;padding:8px 10px;line-height:1;font-size:13px;font-weight:600;color:#fff;background:#666;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.cooked-button:hover,button.cooked-button:hover{background:#333}.cooked-servings-switcher{display:block}.cooked-servings-switcher .cooked-button:first-child{margin-right:1rem}.cooked-servings-switcher .cooked-button:last-child{margin-left:1rem}.cooked-post-featured-image{width:100%;max-width:100%;height:auto;border:none;display:block;margin:0 0 2rem;padding:0}.cooked-post-featured-image img{width:100%;max-width:100%}.cooked-recipe-ingredients{display:block;padding:0;margin:0 0 2rem}.cooked-recipe-ingredients .cooked-heading{margin:1rem 0 .3rem;display:block;font-weight:600;font-size:1.25rem;line-height:1.5}.cooked-recipe-ingredients .cooked-heading:first-child{margin:0}.cooked-recipe-ingredients .cooked-ingredient{position:relative;padding:.5rem 0 0 2rem;margin:0;font-size:inherit}.cooked-recipe-ingredients .cooked-ingredient .cooked-ing-name{line-height:1.4rem;padding:1px 0}.cooked-recipe-ingredients .cooked-ingredient-checkbox{transform:scale(1);position:absolute;top:.5rem;left:0;display:inline-block;width:1rem;height:1rem;line-height:1rem;border:1px solid #ddd;border-color:rgba(0,0,0,.2);margin:.2rem .8rem 0 0}.cooked-recipe-ingredients .cooked-ingredient-checkbox.cooked-checked:after{font-family:CookedIcons;content:'\f01d';position:absolute;top:0;left:0;font-size:.6rem;line-height:1.8rem;width:100%;height:100%;text-align:center}.cooked-recipe-ingredients .cooked-ingredient.cooked-checked{text-decoration:line-through;opacity:.5}.cooked-recipe-directions{display:block;padding:0;margin:0 0 2rem}.cooked-recipe-directions .cooked-heading{margin:0 0 1rem;display:block;font-weight:600;font-size:1.25rem;line-height:1.5}.cooked-recipe-directions .cooked-direction{position:relative;padding:0;margin:0;font-size:inherit}.cooked-recipe-directions .cooked-direction img{max-width:100%;height:auto;display:block;margin:0 0 2rem;padding:0;border:none}.cooked-recipe-directions .cooked-direction.cooked-direction-has-number .cooked-dir-content{padding-left:2rem}.cooked-recipe-directions .cooked-direction.cooked-direction-has-number-wide .cooked-dir-content{padding-left:2.75rem}.cooked-recipe-directions .cooked-direction-number{opacity:.35;position:absolute;display:inline-block;width:auto;height:1rem;line-height:1rem;font-weight:800;top:0;left:0;font-size:1.5rem}.cooked-recipe-notes{display:block;padding:0;margin:0 0 2rem}.cooked-recipe-notes ol,.cooked-recipe-notes ul{padding-left:1.5rem}.cooked-recipe-notes .cooked-heading{margin:0 0 1rem;display:block;font-weight:600;font-size:1.25rem;line-height:1.5}.cooked-recipe-excerpt{display:block;padding:0;margin:0 0 1rem}.cooked-recipe-info{display:block;padding:0;margin:0 0 1rem;line-height:2.25rem}.cooked-recipe-info>section.cooked-left>span,.cooked-recipe-info>span{line-height:1.3rem;position:relative;box-sizing:border-box;vertical-align:top;margin:0 2rem 1rem 0;font-size:.85rem;display:inline-block;width:auto}.cooked-recipe-info>section.cooked-right>span{line-height:1.4rem;position:relative;box-sizing:border-box;vertical-align:top;margin:0 0 1rem 2rem;font-size:.85rem;display:inline-block;width:auto}.cooked-recipe-info>section.cooked-left>span:last-child,.cooked-recipe-info>span:last-child{margin-right:0}.cooked-recipe-info>section.cooked-right>span:first-child{margin-left:0}.cooked-recipe-info strong{font-size:.75rem;font-weight:800;text-transform:uppercase;display:block}.cooked-recipe-info span.cooked-time{padding-left:3rem}.cooked-recipe-info span.cooked-time-icon{opacity:.5;width:1rem;height:1rem;font-size:2.2rem;display:block;position:absolute;top:50%;left:0;margin:-1.1rem 0 0 0}.cooked-recipe-info span.cooked-time-icon i.cooked-icon{display:block}.cooked-recipe-info span.cooked-servings{padding-left:3rem}.cooked-recipe-info span.cooked-servings select.cooked-servings-changer{opacity:0;position:absolute;bottom:3px;left:0;-webkit-appearance:none;cursor:pointer;border:none;background:0 0;width:100%;padding:0;margin:0}.cooked-recipe-info span.cooked-servings-icon{opacity:.5;width:1rem;height:1rem;font-size:2.2rem;display:block;position:absolute;top:50%;left:0;margin:-1.1rem 0 0 0}.cooked-recipe-info span.cooked-servings-icon i.cooked-icon{display:block}.cooked-left{float:left;display:inline-block;width:auto}.cooked-right{float:right;display:inline-block;width:auto}.cooked-nutrition-label{width:100%;max-width:400px;margin:0 auto 2rem;background:#fff;font-size:.9rem;border:1px solid #aaa;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:15px}.cooked-nutrition-label .cooked-nutrition-title{font-size:2rem;line-height:1;letter-spacing:0;font-weight:800;padding:0;margin:0 0 .4rem;color:#333}.cooked-nutrition-label.cooked-float-right{max-width:45%;margin:0 0 3rem 3rem;float:right}.cooked-nutrition-label.cooked-float-left{max-width:45%;margin:0 3rem 3rem 0;float:left}body .cooked-nutrition-label p{margin:0!important;padding:0!important}body .cooked-nutrition-label p.cooked-daily-value-text{padding:.5rem 0 0 0!important;margin:0!important;font-size:.9rem}body .cooked-nutrition-label dl{margin:0!important;padding:0!important}body .cooked-nutrition-label dt{position:relative;margin:0;padding:2px 0;border-top:1px solid #aaa}body .cooked-nutrition-label dt dt{padding:2px 0 0;margin:2px 0 0}body .cooked-nutrition-label dt:after{content:"";display:table;clear:both}body .cooked-nutrition-label dt.cooked-nut-spacer{border:none;height:.5rem;padding:0;background:#333}body .cooked-nutrition-label dl dt.cooked-nut-no-border,body .cooked-nutrition-label>dl>dt:first-child{border:none}body .cooked-nutrition-label dt dl{padding:0;margin:0 0 0 1.5rem}body .cooked-nutrition-label .cooked-nut-hr{border:none;border-top:1rem solid #333;margin:1rem 0 0;padding:0}body .cooked-nutrition-label strong{font-weight:800}body .cooked-nutrition-label strong.cooked-nut-heading{font-size:.75rem}body .cooked-nutrition-label span.cooked-calories-fat,body .cooked-nutrition-label strong.cooked-nut-label{font-weight:400}body .cooked-nutrition-label .cooked-nut-right{float:right}body .cooked-nutrition-label dl.cooked-nut-bottom dt{border-top:none;border-bottom:1px solid #aaa;float:left;width:50%;box-sizing:border-box}body .cooked-nutrition-label dl.cooked-nut-bottom dt strong{font-weight:400}body .cooked-nutrition-label dl.cooked-nut-bottom dt:last-child,body .cooked-nutrition-label dl.cooked-nut-bottom dt:nth-last-child(2){border:none}body .cooked-nutrition-label dl.cooked-nut-bottom dt:nth-last-child(2):nth-child(even){border-bottom:1px solid #aaa}#cooked-print-options{margin:0 0 2rem;background:0 0;padding:2.2rem 0 2.5rem;border-bottom:1px dashed rgba(0,0,0,.25)}#cooked-print-options h3{margin:0 0 .25rem;font-size:.75rem;text-transform:uppercase;font-weight:800}#cooked-print-options label{font-size:.9rem;cursor:pointer;position:relative;display:inline-block;top:1px;margin-right:1rem}#cooked-print-options .cooked-button{float:right;margin-top:1.45rem}.cooked-button{-webkit-transition:all .2s cubic-bezier(.42,0,.15,1);-moz-transition:all .2s cubic-bezier(.42,0,.15,1);-o-transition:all .2s cubic-bezier(.42,0,.15,1);transition:all .2s cubic-bezier(.42,0,.15,1);-webkit-transition-timing-function:cubic-bezier(.42,0,.15,1);-moz-transition-timing-function:cubic-bezier(.42,0,.15,1);-o-transition-timing-function:cubic-bezier(.42,0,.15,1);transition-timing-function:cubic-bezier(.42,0,.15,1)}@media print{body{padding:20px 30px;font-size:.9rem}#cooked-print-options{display:none}} \ No newline at end of file +body,html{color:#000;box-sizing:border-box;padding:0;margin:0;width:100%;height:100%;font-family:sans-serif;font-size:1rem;line-height:1.6rem}body *{box-sizing:border-box}body img{max-width:100%;height:auto}body{padding:0 30px;max-width:800px;margin:0 auto}body a{color:inherit;text-decoration:none}body h1{font-size:1.75rem;line-height:1.5;margin:0 0 1rem;padding:0}body p{font-size:1rem;line-height:1.6;margin:0 0 1rem;padding:0}.cooked-clearfix:after{content:"";display:table;clear:both}.cooked-button,button.cooked-button{cursor:pointer;border:none;display:inline-block;padding:8px 10px;line-height:1;font-size:13px;font-weight:600;color:#fff;background:#666;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.cooked-button:hover,button.cooked-button:hover{background:#333}.cooked-servings-switcher{display:block}.cooked-servings-switcher .cooked-button:first-child{margin-right:1rem}.cooked-servings-switcher .cooked-button:last-child{margin-left:1rem}.cooked-post-featured-image{width:100%;max-width:100%;height:auto;border:none;display:block;margin:0 0 2rem;padding:0}.cooked-post-featured-image img{width:100%;max-width:100%}.cooked-recipe-ingredients{display:block;padding:0;margin:0 0 2rem}.cooked-recipe-ingredients .cooked-heading{margin:1rem 0 .3rem;display:block;font-weight:600;font-size:1.25rem;line-height:1.5}.cooked-recipe-ingredients .cooked-heading:first-child{margin:0}.cooked-recipe-ingredients .cooked-ingredient{position:relative;padding:.5rem 0 0 2rem;margin:0;font-size:inherit}.cooked-recipe-ingredients .cooked-ingredient .cooked-ing-name{line-height:1.4rem;padding:1px 0}.cooked-recipe-ingredients .cooked-ingredient-checkbox{transform:scale(1);position:absolute;top:.5rem;left:0;display:inline-block;width:1rem;height:1rem;line-height:1rem;border:1px solid #ddd;border-color:rgba(0,0,0,.2);margin:.2rem .8rem 0 0}.cooked-recipe-ingredients .cooked-ingredient-checkbox.cooked-checked:after{font-family:CookedIcons;content:'\f01d';position:absolute;top:0;left:0;font-size:.6rem;line-height:1.8rem;width:100%;height:100%;text-align:center}.cooked-recipe-ingredients .cooked-ingredient.cooked-checked{text-decoration:line-through;opacity:.5}.cooked-recipe-directions{display:block;padding:0;margin:0 0 2rem}.cooked-recipe-directions .cooked-heading{margin:0 0 1rem;display:block;font-weight:600;font-size:1.25rem;line-height:1.5}.cooked-recipe-directions .cooked-direction{position:relative;padding:0;margin:0;font-size:inherit}.cooked-recipe-directions .cooked-direction img{max-width:100%;height:auto;display:block;margin:0 0 2rem;padding:0;border:none}.cooked-recipe-directions .cooked-direction.cooked-direction-has-number .cooked-dir-content{padding-left:2rem}.cooked-recipe-directions .cooked-direction.cooked-direction-has-number-wide .cooked-dir-content{padding-left:2.75rem}.cooked-recipe-directions .cooked-direction-number{opacity:.35;position:absolute;display:inline-block;width:auto;height:1rem;line-height:1rem;font-weight:800;top:0;left:0;font-size:1.5rem}.cooked-recipe-notes{display:block;padding:0;margin:0 0 2rem}.cooked-recipe-notes ol,.cooked-recipe-notes ul{padding-left:1.5rem}.cooked-recipe-notes .cooked-heading{margin:0 0 1rem;display:block;font-weight:600;font-size:1.25rem;line-height:1.5}.cooked-recipe-excerpt{display:block;padding:0;margin:0 0 1rem}.cooked-recipe-info{display:block;padding:0;margin:0 0 1rem;line-height:2.25rem}.cooked-recipe-info>section.cooked-left>span,.cooked-recipe-info>span{line-height:1.3rem;position:relative;box-sizing:border-box;vertical-align:top;margin:0 2rem 1rem 0;font-size:.85rem;display:inline-block;width:auto}.cooked-recipe-info>section.cooked-right>span{line-height:1.4rem;position:relative;box-sizing:border-box;vertical-align:top;margin:0 0 1rem 2rem;font-size:.85rem;display:inline-block;width:auto}.cooked-recipe-info>section.cooked-left>span:last-child,.cooked-recipe-info>span:last-child{margin-right:0}.cooked-recipe-info>section.cooked-right>span:first-child{margin-left:0}.cooked-recipe-info strong{font-size:.75rem;font-weight:800;text-transform:uppercase;display:block}.cooked-recipe-info span.cooked-time{padding-left:3rem}.cooked-recipe-info span.cooked-time-icon{opacity:.5;width:1rem;height:1rem;font-size:2.2rem;display:block;position:absolute;top:50%;left:0;margin:-1.1rem 0 0 0}.cooked-recipe-info span.cooked-time-icon i.cooked-icon{display:block}.cooked-recipe-info span.cooked-servings{padding-left:3rem}.cooked-recipe-info span.cooked-servings select.cooked-servings-changer{opacity:0;position:absolute;bottom:3px;left:0;-webkit-appearance:none;cursor:pointer;border:none;background:0 0;width:100%;padding:0;margin:0}.cooked-recipe-info span.cooked-servings-icon{opacity:.5;width:1rem;height:1rem;font-size:2.2rem;display:block;position:absolute;top:50%;left:0;margin:-1.1rem 0 0 0}.cooked-recipe-info span.cooked-servings-icon i.cooked-icon{display:block}.cooked-left{float:left;display:inline-block;width:auto}.cooked-right{float:right;display:inline-block;width:auto}.cooked-nutrition-label{width:100%;max-width:400px;margin:0 auto 2rem;background:#fff;font-size:.9rem;border:1px solid #aaa;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:15px}.cooked-nutrition-label .cooked-nutrition-title{font-size:2rem;line-height:1;letter-spacing:0;font-weight:800;padding:0;margin:0 0 .4rem;color:#333}.cooked-nutrition-label.cooked-float-right{max-width:45%;margin:0 0 3rem 3rem;float:right}.cooked-nutrition-label.cooked-float-left{max-width:45%;margin:0 3rem 3rem 0;float:left}body .cooked-nutrition-label p{margin:0!important;padding:0!important}body .cooked-nutrition-label p.cooked-daily-value-text{padding:.5rem 0 0 0!important;margin:0!important;font-size:.9rem}body .cooked-nutrition-label dl{margin:0!important;padding:0!important}body .cooked-nutrition-label dt{position:relative;margin:0;padding:2px 0;border-top:1px solid #aaa}body .cooked-nutrition-label dt dt{padding:2px 0 0;margin:2px 0 0}body .cooked-nutrition-label dt:after{content:"";display:table;clear:both}body .cooked-nutrition-label div.cooked-nut-spacer,body .cooked-nutrition-label dt.cooked-nut-spacer{border:none;height:.5rem;padding:0;background:#333}body .cooked-nutrition-label dl dt.cooked-nut-no-border,body .cooked-nutrition-label>dl>dt:first-child{border:none}body .cooked-nutrition-label dt dl{padding:0;margin:0 0 0 1.5rem}body .cooked-nutrition-label .cooked-nut-hr{border:none;border-top:1rem solid #333;margin:1rem 0 0;padding:0}body .cooked-nutrition-label strong{font-weight:800}body .cooked-nutrition-label strong.cooked-nut-heading{font-size:.75rem}body .cooked-nutrition-label span.cooked-calories-fat,body .cooked-nutrition-label strong.cooked-nut-label{font-weight:400}body .cooked-nutrition-label .cooked-nut-right{float:right}body .cooked-nutrition-label dl.cooked-nut-bottom dt{border-top:none;border-bottom:1px solid #aaa;float:left;width:50%;box-sizing:border-box}body .cooked-nutrition-label dl.cooked-nut-bottom dt strong{font-weight:400}body .cooked-nutrition-label dl.cooked-nut-bottom dt:last-child,body .cooked-nutrition-label dl.cooked-nut-bottom dt:nth-last-child(2){border:none}body .cooked-nutrition-label dl.cooked-nut-bottom dt:nth-last-child(2):nth-child(even){border-bottom:1px solid #aaa}#cooked-print-options{margin:0 0 2rem;background:0 0;padding:2.2rem 0 2.5rem;border-bottom:1px dashed rgba(0,0,0,.25)}#cooked-print-options h3{margin:0 0 .25rem;font-size:.75rem;text-transform:uppercase;font-weight:800}#cooked-print-options label{font-size:.9rem;cursor:pointer;position:relative;display:inline-block;top:1px;margin-right:1rem}#cooked-print-options .cooked-button{float:right;margin-top:1.45rem}.cooked-button{-webkit-transition:all .2s cubic-bezier(.42,0,.15,1);-moz-transition:all .2s cubic-bezier(.42,0,.15,1);-o-transition:all .2s cubic-bezier(.42,0,.15,1);transition:all .2s cubic-bezier(.42,0,.15,1);-webkit-transition-timing-function:cubic-bezier(.42,0,.15,1);-moz-transition-timing-function:cubic-bezier(.42,0,.15,1);-o-transition-timing-function:cubic-bezier(.42,0,.15,1);transition-timing-function:cubic-bezier(.42,0,.15,1)}@media print{body{padding:20px 30px;font-size:.9rem}#cooked-print-options{display:none}} \ No newline at end of file diff --git a/assets/css/style.css b/assets/css/style.css index fa41d5a..2bc34dd 100644 --- a/assets/css/style.css +++ b/assets/css/style.css @@ -743,11 +743,13 @@ body .cooked-nutrition-label dt.cooked-serving-size { padding-top: 0; } body .cooked-nutrition-label dt.cooked-serving-size strong, +body .cooked-nutrition-label div.cooked-serving-size strong, body .cooked-nutrition-label dt.cooked-serving-size strong.cooked-nut-label { font-size: 1.3rem; font-weight: 800; } -body .cooked-nutrition-label dt.cooked-nut-servings p { +body .cooked-nutrition-label dt.cooked-nut-servings p, +body .cooked-nutrition-label div.cooked-nut-servings p { font-size: 1.2rem; } body .cooked-nutrition-label dt dt { @@ -762,7 +764,8 @@ body .cooked-nutrition-label dt:after { body .cooked-nutrition-label dt.no-after:after { content: none; } -body .cooked-nutrition-label dt.cooked-nut-spacer { +body .cooked-nutrition-label dt.cooked-nut-spacer, +body .cooked-nutrition-label div.cooked-nut-spacer { border: none; height: 0.5rem; padding: 0; diff --git a/assets/css/style.min.css b/assets/css/style.min.css index 6a5c28e..322aa72 100644 --- a/assets/css/style.min.css +++ b/assets/css/style.min.css @@ -1 +1 @@ -#wp-admin-bar-cooked-ab .ab-icon:before{font-family:CookedIcons;content:"\f035";font-size:17px;top:-2px}.cooked-clearfix:after{content:"";display:table;clear:both}.cooked-noscroll{overflow:hidden;width:100%;height:100%}.cooked-hidden-schema{display:none}.cooked-fsm .cooked-fsm-mobile-nav{display:none}.cooked-browse-search-button,.cooked-button,.cooked-fsm .cooked-fsm-top,.cooked-icon-loading,.cooked-profile-tabs,.cooked-progress span{color:#fff!important;text-decoration:none!important}.cooked-recipe-search .cooked-taxonomy-selected .cooked-field-title,.cooked-recipe-search .cooked-taxonomy-selected:before{color:#fff}.cooked-button,button.cooked-button,input[type=button].cooked-button,input[type=submit].cooked-button{box-sizing:border-box;cursor:pointer;display:inline-block;padding:.4rem .65rem;height:2.1rem;line-height:1.25rem;font-size:.9rem;font-weight:500;letter-spacing:.03rem;color:#fff;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.cooked-button i.cooked-icon{color:#fff;font-size:1rem;font-weight:400}.cooked-button.cooked-square-button{padding:0;width:2.25rem;height:2.25rem;line-height:2.25rem;text-align:center}.cooked-button.cooked-square-button i.cooked-icon{font-size:1rem}.cooked-servings-switcher{display:block}.cooked-servings-switcher .cooked-button:first-child{margin-right:1rem}.cooked-servings-switcher .cooked-button:last-child{margin-left:1rem}.cooked-post-featured-image{max-width:100%;height:auto;border:none;display:block;margin:0 0 2rem;padding:0}body .cooked-post-featured-image img{display:block;width:100%;height:auto}.cooked-recipe-ingredients{display:block;padding:0;margin:0 0 2rem}.cooked-recipe-ingredients .cooked-heading{margin:1rem 0 .3rem;display:block;font-weight:600;font-size:1.25rem;line-height:1.5}.cooked-recipe-ingredients .cooked-heading:first-child{margin-top:0}.cooked-recipe-ingredients .cooked-ingredient{position:relative;padding:.5rem 0 0 2rem;margin:0;font-size:inherit}.cooked-recipe-ingredients .cooked-ingredient.cooked-ing-no-checkbox{padding-left:0}.cooked-recipe-ingredients .cooked-ingredient .cooked-ing-name{line-height:1.4rem;padding:1px 0}.cooked-recipe-ingredients .cooked-ingredient-checkbox{transform:scale(1);position:absolute;top:.9rem;left:0;cursor:pointer;display:inline-block;width:1rem;height:1rem;line-height:1rem;border:1px solid #ddd;border-color:rgba(0,0,0,.2);margin:0 .8rem 0 0}.cooked-recipe-ingredients .cooked-ingredient-checkbox:active{transform:scale(.9)}.cooked-recipe-ingredients .cooked-ingredient-checkbox:hover{border-color:#bbb;border-color:rgba(0,0,0,.5)}.cooked-recipe-ingredients .cooked-ingredient-checkbox.cooked-checked:after{font-family:CookedIcons;content:"\f01d";position:absolute;top:0;left:0;font-size:.6rem;line-height:1rem;width:100%;height:100%;text-align:center}.cooked-recipe-ingredients .cooked-ingredient.cooked-checked{text-decoration:line-through;opacity:.5}.cooked-recipe-directions{display:block;padding:0;margin:0 0 2rem}.cooked-recipe-directions .cooked-heading{margin:0 0 1rem;display:block;font-weight:600;font-size:1.25rem;line-height:1.5}.cooked-recipe-directions .cooked-direction{position:relative;padding:0;margin:0;font-size:inherit}.cooked-recipe-directions .cooked-direction img{max-width:100%;height:auto;display:block;margin:0 0 2rem;padding:0;border:none}.cooked-recipe-directions .cooked-direction.cooked-direction-has-number .cooked-dir-content{padding-left:2rem}.cooked-recipe-directions .cooked-direction.cooked-direction-has-number-wide .cooked-dir-content{padding-left:2.75rem}.cooked-recipe-directions .cooked-direction-number{opacity:.35;position:absolute;display:inline-block;width:auto;height:1.5rem;line-height:1.5rem;font-weight:800;top:0;left:0;font-size:1.5rem}.cooked-recipe-excerpt{display:block;padding:0;margin:0 0 1rem}.cooked-recipe-info{display:block;padding:0;margin:0 0 1rem}.cooked-recipe-info>section.cooked-left>span,.cooked-recipe-info>span{line-height:1.25rem;position:relative;box-sizing:border-box;vertical-align:top;margin:0 2rem 1rem 0;display:inline-block;width:auto}.cooked-recipe-info>section.cooked-right>span{line-height:1.3rem;position:relative;box-sizing:border-box;vertical-align:top;margin:0 0 1rem 2rem;display:inline-block;width:auto}.cooked-recipe-info>section.cooked-left>span:last-child,.cooked-recipe-info>span:last-child{margin-right:0}.cooked-recipe-info>section.cooked-right>span:first-child{margin-left:0}.cooked-recipe-info strong{font-size:.75rem;letter-spacing:.03rem;font-weight:800;text-transform:uppercase;display:block}.cooked-recipe-notes{display:block;padding:0;margin:0 0 2rem}.cooked-recipe-notes .cooked-heading{margin:0 0 1rem;display:block;font-weight:600;font-size:1.25rem;line-height:1.5}.cooked-recipe-info span.cooked-print,.cooked-recipe-info span.cooked-print>a{height:2rem;display:inline-block}.cooked-recipe-info span.cooked-print>a{color:rgba(0,0,0,.4)}.cooked-recipe-info span.cooked-print>a:hover{color:rgba(0,0,0,.6)}.cooked-recipe-info span.cooked-print .cooked-icon{font-size:2.25rem;line-height:2.5rem}.cooked-recipe-info span.cooked-fsm-button{cursor:pointer;color:rgba(0,0,0,.4);height:2rem;display:inline-block}.cooked-recipe-info span.cooked-fsm-button:hover{color:rgba(0,0,0,.6)}.cooked-recipe-info span.cooked-fsm-button .cooked-icon{font-size:2.25rem;line-height:2.5rem}.cooked-recipe span.cooked-author,.cooked-recipe-info span.cooked-author{padding-left:3.25rem}.cooked-recipe span.cooked-author.cooked-no-avatar,.cooked-recipe-info span.cooked-author.cooked-no-avatar{padding-left:0}.cooked-recipe span.cooked-author-avatar,.cooked-recipe-info span.cooked-author-avatar{width:2.5rem;height:2.5rem;display:block;position:absolute;top:50%;left:0;margin:-1.25rem 0 0 0}.cooked-recipe span.cooked-author-avatar img,.cooked-recipe-info span.cooked-author-avatar img{margin:0;padding:0;display:block;height:auto;width:100%;max-width:100%;max-height:100%;border-radius:100px}.cooked-author-avatar,.cooked-author-avatar img{border-radius:5rem}.cooked-recipe-info span.cooked-time{padding-left:3rem}.cooked-recipe-info span.cooked-time-icon{opacity:.5;width:1rem;height:1rem;font-size:2.2rem;display:block;position:absolute;top:50%;left:0;margin:-1.1rem 0 0 0}.cooked-recipe-info span.cooked-time-icon i.cooked-icon{display:block}.cooked-timer{padding-left:2px}.cooked-timer i.cooked-icon{opacity:.6}body .cooked-timer a{font-weight:600;cursor:pointer;text-decoration:none}body .cooked-timer a:hover{text-decoration:none}#cooked-timers-wrap{z-index:99999;white-space:nowrap;overflow:hidden;border-radius:10px 10px 0 0;background:#fff;box-shadow:0 -5px 30px rgba(0,0,0,.15);line-height:1.6rem;font-size:1rem;width:50%;max-width:100%;height:7.5rem;position:fixed;transform:translate3d(0,7.2em,0);opacity:0;bottom:0;right:50%;margin:0 -25% 0 0;box-sizing:border-box}#cooked-timers-wrap.cooked-visible{transform:translate3d(0,0,0);opacity:1}#cooked-timers-wrap .cooked-timer-block{overflow:hidden;position:relative;display:block;height:0;padding:0;width:100%;opacity:0;padding:0 1.5rem 0 6rem;box-sizing:border-box}#cooked-timers-wrap .cooked-timer-block.cooked-visible{opacity:1;height:7.5rem;padding:1.9rem 1.5rem 1.55rem 6rem}#cooked-timers-wrap .cooked-timer-block>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:auto}#cooked-timers-wrap .cooked-timer-block i.cooked-icon-times{line-height:2rem;color:rgba(0,0,0,.25);position:absolute;font-size:2rem;top:2.5rem;left:2rem;cursor:pointer}#cooked-timers-wrap .cooked-timer-block i.cooked-icon-times:hover{color:inherit}#cooked-timers-wrap .cooked-timer-block .cooked-timer-step{font-size:1.1rem;font-weight:800;text-transform:uppercase}#cooked-timers-wrap .cooked-timer-block .cooked-timer-desc{font-size:1.2rem;width:100%;padding-right:14rem;box-sizing:border-box;font-weight:400;color:rgba(0,0,0,.65)}#cooked-timers-wrap .cooked-timer-block .cooked-timer-obj{font-weight:600;position:absolute;top:2.5rem;right:2rem;width:13.5rem;font-size:2rem;line-height:2rem}#cooked-timers-wrap .cooked-timer-block .cooked-timer-obj>div,#cooked-timers-wrap .cooked-timer-block .cooked-timer-obj>i.cooked-icon{display:inline-block}#cooked-timers-wrap .cooked-timer-block .cooked-timer-obj>i.cooked-icon-pause,#cooked-timers-wrap .cooked-timer-block .cooked-timer-obj>i.cooked-icon-play,#cooked-timers-wrap .cooked-timer-block .cooked-timer-obj>i.cooked-icon-reverse{cursor:pointer;opacity:.5;width:2rem;text-align:center;margin-right:.5rem;position:relative;font-size:2rem;transform:scale(.75)}#cooked-timers-wrap .cooked-timer-block .cooked-timer-obj>i.cooked-icon-play{display:none}#cooked-timers-wrap .cooked-timer-block .cooked-timer-obj>i.cooked-icon:hover{opacity:1}#cooked-timers-wrap.cooked-multiples{margin:0;right:0;border-radius:10px 0 0 0;width:20rem}#cooked-timers-wrap.cooked-multiples .cooked-timer-block{padding-left:3.25rem}#cooked-timers-wrap.cooked-multiples .cooked-timer-block.cooked-visible{padding-top:1rem;line-height:1.5rem;padding-left:3.25rem}#cooked-timers-wrap.cooked-multiples .cooked-timer-block .cooked-timer-step{font-size:.9rem}#cooked-timers-wrap.cooked-multiples .cooked-timer-block .cooked-timer-desc{font-size:1rem;padding:0}#cooked-timers-wrap.cooked-multiples .cooked-timer-block .cooked-timer-obj{top:auto;right:auto;width:auto;font-size:1.5rem;line-height:2rem}#cooked-timers-wrap.cooked-multiples .cooked-timer-block .cooked-timer-obj>i.cooked-icon{font-size:1.5rem;width:1.3rem;margin-right:.5rem}#cooked-timers-wrap.cooked-multiples .cooked-timer-block i.cooked-icon-times{line-height:1rem;font-size:1rem;top:1.4rem;left:1.2rem}#cooked-timers-wrap .cooked-timer-block .cooked-progress{display:block;position:absolute;left:0;bottom:0;height:.5rem;width:100%;background:rgba(0,0,0,.15)}#cooked-timers-wrap .cooked-timer-block .cooked-progress span{width:0;display:block;position:absolute;left:0;top:0;height:.5rem}#cooked-timers-wrap .cooked-timer-block.cooked-paused{background:#f9f9f9}#cooked-timers-wrap .cooked-timer-block.cooked-paused .cooked-timer-obj{color:rgba(0,0,0,.5)}#cooked-timers-wrap .cooked-timer-block.cooked-complete{background:rgba(255,0,0,.05)}#cooked-timers-wrap .cooked-timer-block.cooked-complete .cooked-progress span{background:red}#cooked-timers-wrap .cooked-timer-block.cooked-complete .cooked-timer-obj{color:red}.cooked-recipe-info span.cooked-servings{padding-left:3rem}.cooked-recipe-info span.cooked-servings select.cooked-servings-changer{opacity:0;position:absolute;bottom:0;left:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0;width:100%;padding:0;margin:0}.cooked-recipe-info span.cooked-servings-icon{opacity:.5;width:1rem;height:1rem;font-size:2.2rem;display:block;position:absolute;top:50%;left:0;margin:-1.1rem 0 0 0}.cooked-recipe-info span.cooked-servings-icon i.cooked-icon{display:block}.cooked-left{float:left;display:inline-block;width:auto}.cooked-right{float:right;display:inline-block;width:auto}.cooked-recipe-gallery{height:1px;overflow:hidden;opacity:0;transform:translate3d(0,10px,0);padding:0;margin:0}.cooked-recipe-gallery .fotorama__thumb-border{border-color:#333}.cooked-recipe-gallery .fotorama__caption__wrap{background:#333;color:#fff}.cooked-recipe-gallery .fotorama__stage__frame.fotorama__active{background:#333}.cooked-recipe-gallery.cooked-gallery-loaded{height:auto;overflow:inherit;opacity:1;transform:translate3d(0,0,0);margin:0 0 2rem}.cooked-nutrition-label{background:#fff;font-size:.9rem;border:1px solid #aaa;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:10px;margin:0 0 2rem;font-family:Helvetica,Arial,sans-serif;container-name:nutrition-label;container-type:inline-size}.cooked-nutrition-label .cooked-nutrition-title{font-size:2.3rem;line-height:1;letter-spacing:0;font-weight:800;padding:0 0 .5rem 0;margin:0;color:#333;border-bottom:1px solid #aaa}.cooked-nutrition-label.cooked-float-left{max-width:45%;margin:0 3rem 3rem 0;float:left}body .cooked-nutrition-label p{margin:0!important;padding:0!important}body .cooked-nutrition-label p.cooked-daily-value-text{padding:.75rem 0 .15rem 0!important;margin:0!important;font-size:.9rem;line-height:1.3rem!important}body .cooked-nutrition-label p.cooked-daily-value-text strong{font-weight:400}body .cooked-nutrition-label dl{margin:0!important;padding:0!important}body .cooked-nutrition-label dt{position:relative;margin:0;padding:2px 0;border-top:1px solid #aaa}body .cooked-nutrition-label dt.cooked-calories{border-top:none;display:flex;justify-content:space-between;align-items:baseline;padding-bottom:10px}body .cooked-nutrition-label dt.cooked-calories strong{font-size:2rem;font-weight:800}body .cooked-nutrition-label dt.cooked-calories strong.cooked-nut-label{font-size:2.5rem}body .cooked-nutrition-label dt.cooked-nut-servings{border-top:none;padding-bottom:0}body .cooked-nutrition-label dt.cooked-serving-size{border-top:none;padding-top:0}body .cooked-nutrition-label dt.cooked-serving-size strong,body .cooked-nutrition-label dt.cooked-serving-size strong.cooked-nut-label{font-size:1.3rem;font-weight:800}body .cooked-nutrition-label dt.cooked-nut-servings p{font-size:1.2rem}body .cooked-nutrition-label dt dt{padding:2px 0 0;margin:2px 0 0}body .cooked-nutrition-label dt:after{content:"";display:table;clear:both}body .cooked-nutrition-label dt.no-after:after{content:none}body .cooked-nutrition-label dt.cooked-nut-spacer{border:none;height:.5rem;padding:0;background:#333;margin-top:.3rem}body .cooked-nutrition-label dl dt.cooked-nut-no-border,body .cooked-nutrition-label>dl>dt:first-child{border:none}body .cooked-nutrition-label dt dl{margin:0 0 0 1.5rem!important}body .cooked-nutrition-label .cooked-nut-hr{border:none;border-top:1rem solid #333;margin:.1rem 0 0;padding:0}body .cooked-nutrition-label strong{font-weight:800}body .cooked-nutrition-label strong.cooked-nut-heading{font-size:1rem}body .cooked-nutrition-label strong.cooked-nut-label{font-weight:400}body .cooked-nutrition-label dl dl strong.cooked-nut-right{font-weight:800}body .cooked-nutrition-label .cooked-nut-right{float:right}body .cooked-nutrition-label dl.cooked-nut-bottom dt{border-top:none;border-bottom:1px solid #aaa;float:left;width:100%;box-sizing:border-box}body .cooked-nutrition-label dl.cooked-nut-bottom dt strong{font-weight:400}body .cooked-nutrition-label dl.cooked-nut-bottom dt:last-child{border:none}body .cooked-nutrition-label dl.cooked-nut-bottom dt:nth-last-child(2):nth-child(even){border-bottom:1px solid #aaa}.widget .cooked-nutrition-label{margin:0}body .cooked-nutrition-label .cooked-nutrition-facts-powered-by-edamam img{float:right;height:2rem}.cooked-recipe-search{box-sizing:border-box;padding:0;margin:0;width:100%;display:block;border:1px solid transparent;position:relative}.cooked-recipe-search .cooked-field-wrap,.cooked-recipe-search .cooked-fields-wrap{display:inline-block;box-sizing:border-box;width:100%;margin:0 1% 0 0}.cooked-recipe-search .cooked-fields-wrap{margin:0}.cooked-recipe-search .cooked-browse-select{display:block;cursor:pointer;position:relative;border-radius:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;background:rgba(0,0,0,.075);box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);width:100%;font-size:1rem;line-height:3rem;height:auto;padding:0 1rem}.cooked-recipe-search .cooked-browse-select:hover{background:rgba(0,0,0,.1)}.cooked-recipe-search .cooked-browse-select .cooked-field-title{font-size:.9rem;vertical-align:top}.cooked-recipe-search .cooked-taxonomy-selected{border-radius:3px}.cooked-recipe-search .cooked-sortby-wrap{background:#f5f5f5;position:absolute;top:0;height:3rem;width:12rem;display:inline-block;margin:0 1px 0 0;right:3.5rem}.cooked-recipe-search .cooked-sortby-wrap>select{margin:0;box-shadow:none;position:relative;width:100%;background:0 0;cursor:pointer;font-size:.9rem;border:none;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1);-webkit-appearance:none;-moz-appearance:none;appearance:none;height:100%;border-radius:0;display:inline-block;padding:0 1.25rem}.cooked-recipe-search .cooked-sortby-wrap:hover{background:#eee}.cooked-recipe-search input[type=text]{margin:0;vertical-align:initial;box-shadow:none;display:inline-block;box-sizing:border-box;background:#fff;width:100%;height:3rem;padding:0 1rem;font-size:1rem;border:1px solid rgba(0,0,0,.15);border-right:none}.cooked-recipe-search .cooked-3-search-fields>*,.cooked-recipe-search .cooked-4-search-fields>*{float:left}.cooked-recipe-search .cooked-field-wrap-select{position:relative}.cooked-recipe-search .cooked-field-wrap-select:before,.cooked-recipe-search .cooked-sortby-wrap:before{content:"\f00b";opacity:.25;font-family:CookedIcons;font-size:.75rem;position:absolute;top:50%;right:1.5rem;line-height:1.25rem;height:1.25rem;margin-top:-.5rem}.cooked-recipe-search .cooked-field-wrap-select:hover:before,.cooked-recipe-search .cooked-sortby-wrap:hover:before{opacity:.75;margin-top:-.5rem}.cooked-recipe-search .cooked-fields-wrap{padding-right:3.5rem;position:relative}.cooked-recipe-search .cooked-fields-wrap>.cooked-field-wrap-select{width:14%}.cooked-recipe-search .cooked-fields-wrap>.cooked-browse-search{width:85%;max-width:85%;margin:0}.cooked-recipe-search.cooked-search-no-sorting.cooked-search-no-browse .cooked-fields-wrap>.cooked-browse-search{width:100%}.cooked-recipe-search .cooked-browse-search-button{position:absolute;top:0;right:1px;width:3.5rem;text-decoration:none;font-size:1rem;text-align:center;color:#fff;line-height:3rem;height:3rem}.cooked-recipe-search .cooked-browse-search-button:hover{color:#fff;text-decoration:none}.cooked-recipe-search .cooked-browse-select-block{display:flex;color:inherit;cursor:default;visibility:hidden;opacity:0;transform:translate3d(0,-6px,0);box-sizing:border-box;z-index:99;position:absolute;width:auto;background:#fff;top:4rem;left:-10px;margin:0;line-height:1.5rem;border-radius:6px}.cooked-recipe-search .cooked-browse-select-block .cooked-tax-column{display:block;width:25%;min-width:25%;box-sizing:border-box;padding:0 .75rem}.cooked-recipe-search .cooked-browse-select-block .cooked-tax-column>div{max-height:16rem;overflow:auto}.cooked-recipe-search .cooked-browse-select-block .cooked-tax-column>div>span{display:block}.cooked-recipe-search .cooked-browse-select-block .cooked-tax-column>div>a,.cooked-recipe-search .cooked-browse-select-block .cooked-tax-column>span{display:block;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.cooked-recipe-search .cooked-browse-select-block .cooked-tax-column>span.cooked-tax-column-title{font-size:.9rem;font-weight:800;text-transform:uppercase;margin:0 0 .6rem;padding:0 10px .6rem 0;border-bottom:1px solid rgba(0,0,0,.15)}.cooked-recipe-search .cooked-browse-select-block .cooked-tax-column>div>a{line-height:1.6rem}.cooked-recipe-search .cooked-browse-select-block .cooked-tax-column>div>span.cooked-tax-sub-item{margin-left:.75rem}.cooked-recipe-search .cooked-browse-select-block .cooked-tax-column i.cooked-icon{font-size:.9rem;color:rgba(0,0,0,.5)}.cooked-recipe-search .cooked-fields-wrap.cooked-1-search-fields .cooked-browse-select-block{width:170%;padding:1.5rem}.cooked-recipe-search .cooked-fields-wrap.cooked-1-search-fields .cooked-browse-select-block .cooked-tax-column{width:100%;padding:0}.cooked-recipe-search .cooked-browse-select.cooked-active .cooked-browse-select-block{visibility:visible;opacity:1;transform:translate3d(0,-1px,0)}.cooked-recipe-search .cooked-browse-select-block{box-shadow:0 2px 2px rgba(0,0,0,.05),0 4px 4px rgba(0,0,0,.05),0 8px 8px rgba(0,0,0,.05),0 16px 16px rgba(0,0,0,.05),0 32px 32px rgba(0,0,0,.05),0 64px 64px rgba(0,0,0,.05)}.cooked-browse-select-inline-block{display:flex;color:inherit;cursor:default;visibility:visible;opacity:1;box-sizing:border-box;z-index:99;position:relative;width:auto;background:#fff;margin:10px 2px 3rem;line-height:1.5rem;border-radius:6px;padding:1.5rem}.cooked-browse-select-inline-block .cooked-tax-column{display:block;width:100%;box-sizing:border-box;padding:0 .75rem}.cooked-browse-select-inline-block .cooked-tax-column>div{max-height:16rem;overflow:auto}.cooked-browse-select-inline-block .cooked-tax-column>div>span{display:block}.cooked-browse-select-inline-block .cooked-tax-column>div>a,.cooked-browse-select-inline-block .cooked-tax-column>span{display:block;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.cooked-browse-select-inline-block .cooked-tax-column>span.cooked-tax-column-title{font-size:.9rem;font-weight:800;text-transform:uppercase;margin:0 0 .6rem;padding:0 10px .6rem 0;border-bottom:1px solid rgba(0,0,0,.15)}.cooked-browse-select-inline-block .cooked-tax-column>div>a{line-height:1.6rem}.cooked-browse-select-inline-block .cooked-tax-column>div>span.cooked-tax-sub-item{margin-left:.75rem}.cooked-browse-select-inline-block .cooked-tax-column i.cooked-icon{font-size:.9rem;color:rgba(0,0,0,.5)}.cooked-browse-select-inline-block{box-shadow:0 2px 2px -1px rgba(0,0,0,.15)}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap{padding:0;display:block}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap>.cooked-browse-search{width:100%;max-width:100%;border-right:1px solid rgba(0,0,0,.15);margin:3% 0}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap.cooked-1-search-fields .cooked-browse-select-block{width:100%;left:0}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap>.cooked-field-wrap-select{display:block;width:100%}.cooked-recipe-search.cooked-search-compact .cooked-sortby-wrap{display:block;position:relative;width:67%;right:auto;top:auto;float:left;margin:0}.cooked-recipe-search.cooked-search-compact .cooked-sortby-wrap>select{position:absolute;width:100%;border:1px solid rgba(0,0,0,.15);margin:0}.cooked-recipe-search.cooked-search-compact .cooked-browse-search-button{width:30%;right:auto;position:relative;display:block;float:right}.cooked-recipe-search.cooked-search-compact .cooked-browse-select-block{top:3rem;left:0;max-height:16rem;overflow:auto;transform:translate3d(0,-1px,0)}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap.cooked-1-search-fields .cooked-browse-select-block{width:100%;padding:1.5rem}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap.cooked-2-search-fields .cooked-browse-select-block{width:100%;padding:1.5rem}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap.cooked-3-search-fields .cooked-browse-select-block{width:100%;padding:1.5rem}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap.cooked-4-search-fields .cooked-browse-select-block{width:100%;padding:1.5rem}.cooked-recipe-search.cooked-search-compact .cooked-browse-select-block .cooked-tax-column{float:none;padding:0 0 1.5rem 0}.cooked-recipe-search.cooked-search-compact .cooked-browse-select-block .cooked-tax-column:last-child{padding:0}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap.cooked-1-search-fields .cooked-browse-select-block .cooked-tax-column{width:100%}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap.cooked-2-search-fields .cooked-browse-select-block .cooked-tax-column{width:100%}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap.cooked-3-search-fields .cooked-browse-select-block .cooked-tax-column{width:100%}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap.cooked-4-search-fields .cooked-browse-select-block .cooked-tax-column{width:100%}.cooked-recipe-search.cooked-search-compact.cooked-search-no-sorting .cooked-fields-wrap>.cooked-browse-search{width:80%;margin:3% 0}.cooked-recipe-search.cooked-search-compact.cooked-search-no-sorting .cooked-browse-search-button{width:20%;margin:3% 0}.cooked-recipe-search.cooked-search-compact.cooked-search-no-browse .cooked-browse-search-button,.cooked-recipe-search.cooked-search-compact.cooked-search-no-browse .cooked-fields-wrap>.cooked-browse-search{margin:0 0 3%}.cooked-recipe-search.cooked-search-compact.cooked-search-no-sorting.cooked-search-no-browse .cooked-browse-search-button,.cooked-recipe-search.cooked-search-compact.cooked-search-no-sorting.cooked-search-no-browse .cooked-fields-wrap>.cooked-browse-search{margin:0}.cooked-author-list-heading{display:block;margin:0 0 2rem}.cooked-author-list-heading .cooked-author-avatar{float:left;width:3rem;height:auto;display:block;margin:0 1rem 0 0}.cooked-author-list-heading .cooked-author-avatar img{display:block;margin:0}.cooked-author-list-heading .cooked-meta-title{font-size:1.25rem;line-height:1.2rem;margin:0}.cooked-author-list-heading a{font-size:.9rem}body p.cooked-none-found{display:block;margin:0;padding:1rem 0 2rem;color:#888;text-align:center;font-style:italic}.cooked-recipe-grid{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0);position:relative;box-sizing:border-box;padding:0;margin:3% -1.5%;width:103%;display:flex;flex-wrap:wrap}.cooked-recipe-grid .cooked-recipe{width:30.333%;min-width:30.333%;display:block;box-sizing:border-box;margin:0 1.5% 3%;padding:0}.cooked-recipe-grid .cooked-recipe .cooked-recipe-card-title{cursor:pointer;color:inherit;text-decoration:none}.cooked-recipe-grid .cooked-recipe .cooked-recipe-card-title:hover{text-decoration:none!important}.cooked-recipe-grid.cooked-columns-1 .cooked-recipe{width:97%;min-width:97%}.cooked-recipe-grid.cooked-columns-2 .cooked-recipe{width:47%;min-width:47%}.cooked-recipe-grid.cooked-columns-3 .cooked-recipe{width:30.333%;min-width:30.333%}.cooked-recipe-grid.cooked-columns-4 .cooked-recipe{width:22%;min-width:22%}.cooked-recipe-grid.cooked-columns-5 .cooked-recipe{width:17%;min-width:17%}.cooked-recipe-grid.cooked-columns-6 .cooked-recipe{width:13.666%;min-width:13.666%}.cooked-recipe a,.cooked-recipe a:hover,.cooked-recipe-info a,.cooked-recipe-info a:hover,.cooked-recipe-search a,.cooked-recipe-search:hover{box-shadow:none!important}.cooked-recipe-card{text-align:left;background:#fff;text-decoration:none!important;border:none!important;color:inherit!important;display:block;overflow:hidden;border-radius:3px;margin:0 auto 1rem;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.cooked-recipe-card-content>span,.cooked-recipe-card>span{display:block!important}.cooked-recipe-card:hover{text-decoration:none!important;border:none!important;color:inherit!important}.cooked-recipe-card-image{background-size:cover;background-position:center;display:block;margin:0;padding:0;height:250px;width:100%;position:relative}.cooked-recipe-card .cooked-recipe-image-empty{display:block;margin:0;padding:0;height:250px;width:100%;position:relative}.cooked-recipe-card .cooked-recipe-card-sep{display:none}.cooked-recipe-card-content{padding:1rem 1.5rem;margin:0}.cooked-recipe-card-title{display:block;font-weight:600;margin:.5rem 0;font-size:1.25rem;line-height:1.65rem}.cooked-recipe-card-author{margin:.5rem 0;font-size:.9rem}.cooked-recipe-card-excerpt{display:block;margin:.5rem 0;font-size:1rem}.cooked-recipe-card-centered,.cooked-recipe-card-modern-centered{text-align:center}.cooked-recipe-card-modern,.cooked-recipe-card-modern-centered{transform:translate3d(0,0,0);border-radius:10px;box-shadow:0 2px 3px rgba(0,0,0,.04),inset 0 0 0 1px rgba(0,0,0,.1)}.cooked-recipe-card-modern .cooked-recipe-card-author,.cooked-recipe-card-modern .cooked-recipe-card-excerpt,.cooked-recipe-card-modern .cooked-recipe-card-title,.cooked-recipe-card-modern-centered .cooked-recipe-card-author,.cooked-recipe-card-modern-centered .cooked-recipe-card-excerpt,.cooked-recipe-card-modern-centered .cooked-recipe-card-title{margin:.25rem 0}.cooked-recipe-card-modern .cooked-recipe-card-content,.cooked-recipe-card-modern-centered .cooked-recipe-card-content{padding:1.25rem 1.5rem}.cooked-recipe-card-modern .cooked-recipe-card-author,.cooked-recipe-card-modern-centered .cooked-recipe-card-author{opacity:.75}.cooked-recipe-card-modern .cooked-recipe-card-sep,.cooked-recipe-card-modern-centered .cooked-recipe-card-sep{margin:1rem 0;display:block;width:15%;height:6px;border-radius:3px;background:#ddd}.cooked-recipe-card-modern-centered .cooked-recipe-card-sep{margin:1rem auto}.cooked-recipe-card-modern-centered:hover,.cooked-recipe-card-modern:hover{transform:translate3d(0,-2px,0)!important;box-shadow:0 5px 5px rgba(0,0,0,.05),inset 0 0 0 1px rgba(0,0,0,.1)}.cooked-recipe-card-modern-centered:hover .cooked-recipe-card-sep,.cooked-recipe-card-modern:hover .cooked-recipe-card-sep{width:25%}.widget .cooked-recipe-card{margin:0 auto}.cooked-recipe-term-list .cooked-term-item a{display:block;padding:5px 0;border-top:1px solid rgba(0,0,0,.1)}.cooked-shortcode-recipe-list{margin:0 auto 1rem}.cooked-shortcode-recipe-list .cooked-srl-single{box-sizing:border-box;border:none;border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.15);position:relative;display:block;padding:.6rem 0 0 0;margin:0 0 1rem}.cooked-shortcode-recipe-list .cooked-srl-single:hover{border:none;border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.15)}.cooked-shortcode-recipe-list .cooked-srl-single.cooked-srl-has-image{padding-left:4rem;min-height:3.75rem}.cooked-shortcode-recipe-list .cooked-srl-image{margin:0;padding:0}.cooked-shortcode-recipe-list .cooked-srl-image img{width:3rem;height:3rem;border-radius:3px;position:absolute;top:.9rem;left:0;display:block;margin:0;padding:0}.cooked-shortcode-recipe-list .cooked-srl-sep{display:none}.cooked-shortcode-recipe-list .cooked-srl-content{line-height:1.4rem;padding:0;margin:0}.cooked-shortcode-recipe-list .cooked-srl-title{line-height:1.4rem;display:block;font-weight:600;margin:.25rem 0;font-size:1rem}.cooked-shortcode-recipe-list .cooked-srl-author{line-height:1.4rem;margin:.25rem 0;font-size:.9rem;opacity:.75}.cooked-shortcode-recipe-list .cooked-srl-single:first-child{border:none;padding-top:0}.cooked-shortcode-recipe-list .cooked-srl-single:first-child .cooked-srl-image img{top:0}.cooked-shortcode-recipe-list .cooked-srl-single.cooked-srl-has-image:first-child{min-height:3rem}.cooked-pagination-numbered{text-align:center;display:block;margin:0 0 2rem}.cooked-pagination-numbered>a,.cooked-pagination-numbered>span{font-size:1.2rem;font-weight:600;display:inline-block;padding:0 5px;background:0 0}.cooked-pagination-numbered>span{color:rgba(0,0,0,.25)}body .cooked-pagination-numbered>a{text-decoration:none;border:none}body .cooked-pagination-numbered>a:hover{text-decoration:none;border:none}.cooked-fsm{box-sizing:border-box;display:none;opacity:0;transform:scale(.95);position:fixed;top:0;left:0;width:100%;height:100%;background:#fff;z-index:99998}.cooked-fsm.cooked-visible{display:block}.cooked-fsm.cooked-active{opacity:1;transform:scale(1)}.cooked-fsm .cooked-fsm-top{font-size:1.2rem;font-weight:300;text-align:center;box-sizing:border-box;position:absolute;top:0;left:0;width:100%;color:#fff;padding:0 4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:3.5rem;height:3.5rem}.cooked-fsm .cooked-fsm-ingredients{box-sizing:border-box;padding:5.5rem 2rem 1rem;font-size:1rem;line-height:1.6rem;width:30%;height:100%;background:#f9f9f9;overflow-y:scroll;-webkit-overflow-scrolling:touch;position:absolute;top:0;left:0}.cooked-fsm .cooked-recipe-ingredients{margin-top:-.75rem}.cooked-fsm .cooked-recipe-ingredients .cooked-ingredient{padding:.75rem 0 0 2rem}.cooked-fsm .cooked-recipe-ingredients .cooked-heading{font-size:1.25rem}.cooked-fsm .cooked-recipe-ingredients .cooked-heading:first-child{padding-top:.75rem}.cooked-fsm .cooked-recipe-ingredients .cooked-ingredient-checkbox{top:.75rem}.cooked-fsm .cooked-fsm-directions-wrap{box-sizing:border-box;padding:5.5rem 2rem 1rem;font-size:1rem;line-height:1.6rem;width:70%;height:100%;overflow-y:scroll;-webkit-overflow-scrolling:touch;position:absolute;top:0;left:30%}.cooked-fsm .cooked-fsm-directions p{margin:0 0 1.5rem;font-size:1.2rem;line-height:1.6rem}.cooked-fsm .cooked-recipe-directions .cooked-heading{font-size:1.5rem}.cooked-fsm .cooked-recipe-directions .cooked-direction-number{font-size:1.8rem}.cooked-fsm .cooked-recipe-directions .cooked-direction.cooked-direction-has-number .cooked-dir-content{padding-left:2.3rem}.cooked-fsm .cooked-recipe-directions .cooked-direction.cooked-direction-has-number-wide .cooked-dir-content{padding-left:3.05rem}.cooked-fsm .cooked-close-fsm{color:#fff;position:absolute;top:0;right:1.25rem}.cooked-fsm h2{margin:0 0 2rem;padding:0;font-size:1rem;text-transform:uppercase;letter-spacing:.05rem;font-weight:800}.cooked-fsm-directions .cooked-panel,.cooked-fsm-ingredients .cooked-panel,.cooked-fsm-notes .cooked-panel{padding-left:1%;padding-right:2%}.cooked-fsm-notes .cooked-panel .cooked-recipe-notes{font-size:1.2rem;line-height:1.6rem}.cooked-fsm-notes .cooked-panel .cooked-recipe-notes{margin:0 0 1rem}.cooked-fsm-notes .cooked-panel .cooked-recipe-notes ol,.cooked-fsm-notes .cooked-panel .cooked-recipe-notes ul{padding-left:1.5rem}.cooked-fsm-notes .cooked-panel .cooked-recipe-notes ul li{margin:0 0 1rem 1rem}.cooked-fsm .cooked-fsm-mobile-nav{box-sizing:border-box;position:absolute;top:3.5rem;left:0;margin:-1px 0 0 0;width:100%;padding:0;line-height:3.5rem;z-index:9999999}.cooked-fsm .cooked-fsm-mobile-nav a{text-transform:uppercase;font-size:.9rem;font-weight:700;letter-spacing:.03rem;display:block;float:left;width:50%;text-align:center;color:#fff;color:rgba(255,255,255,.6);background:rgba(25,25,25,.3);box-shadow:inset -1px 0 0 0 rgba(0,0,0,.15)}.cooked-fsm .cooked-fsm-mobile-nav a.cooked-active{color:#fff}.cooked-fsm .cooked-fsm-mobile-nav a.cooked-active{box-shadow:none}.cooked-fsm .cooked-fsm-mobile-nav a:last-child{box-shadow:inset 1px 0 0 0 rgba(0,0,0,.15)}body.cooked-fsm-active #wpadminbar{display:none}.cooked-recipe-term-grid{margin:3% -1%;position:relative}.cooked-term-block{box-sizing:border-box;display:block;background:0 0;position:relative;float:left}.cooked-term-block .cooked-recipe-card{margin:0}.cooked-term-block .cooked-recipe-card .cooked-recipe-card-sep{margin:.65rem auto;height:3px}.cooked-term-block.cooked-col-33{width:31.333%;margin:1%}.cooked-term-block.cooked-col-25{width:23%;margin:1%}.cooked-recipe-gallery{-webkit-transition:all .5s cubic-bezier(.42,0,.15,1);-moz-transition:all .5s cubic-bezier(.42,0,.15,1);-o-transition:all .5s cubic-bezier(.42,0,.15,1);transition:all .5s cubic-bezier(.42,0,.15,1)}#cooked-timers-wrap,#cooked-timers-wrap .cooked-timer-block,#cooked-timers-wrap .cooked-timer-block .cooked-timer-obj,.cooked-fsm,.cooked-icon-loading-wrap,.cooked-progress>span,.cooked-recipe,.cooked-recipe-card-modern,.cooked-recipe-card-modern-centered,.cooked-recipe-card-sep,.cooked-recipe-info span.cooked-fsm-button,.cooked-recipe-info span.cooked-print>a,.cooked-recipe-search .cooked-browse-search-button,.cooked-recipe-search .cooked-browse-select,.cooked-recipe-search .cooked-field-wrap-select:before,.cooked-recipe-search .cooked-sortby-wrap,.cooked-recipe-search .cooked-sortby-wrap:before,.cooked-recipe-search .cooked-taxonomy-selected,.cooked-recipe-search>form>div:last-child .cooked-browse-search-button{-webkit-transition:all .2s cubic-bezier(.42,0,.15,1);-moz-transition:all .2s cubic-bezier(.42,0,.15,1);-o-transition:all .2s cubic-bezier(.42,0,.15,1);transition:all .2s cubic-bezier(.42,0,.15,1)}.cooked-term-block{-webkit-transition:all .1s cubic-bezier(.25,.25,.75,.75);-moz-transition:all .1s cubic-bezier(.25,.25,.75,.75);-o-transition:all .1s cubic-bezier(.25,.25,.75,.75);transition:all .1s cubic-bezier(.25,.25,.75,.75)}.cooked-term-block .cooked-term-name,.cooked-term-block .cooked-term-thumbnail img{-webkit-transition:all .3s cubic-bezier(.47,0,0,1);-moz-transition:all .3s cubic-bezier(.47,0,0,1);-o-transition:all .3s cubic-bezier(.47,0,0,1);transition:all .3s cubic-bezier(.47,0,0,1)}.cooked-button,.cooked-button i.cooked-icon{-webkit-transition:border .2s cubic-bezier(.42,0,.15,1),background .2s cubic-bezier(.42,0,.15,1),color .2s cubic-bezier(.42,0,.15,1);-moz-transition:border .2s cubic-bezier(.42,0,.15,1),background .2s cubic-bezier(.42,0,.15,1),color .2s cubic-bezier(.42,0,.15,1);-o-transition:border .2s cubic-bezier(.42,0,.15,1),background .2s cubic-bezier(.42,0,.15,1),color .2s cubic-bezier(.42,0,.15,1);transition:border .2s cubic-bezier(.42,0,.15,1),background .2s cubic-bezier(.42,0,.15,1),color .2s cubic-bezier(.42,0,.15,1)}.cooked-recipe-ingredients .cooked-ingredient-checkbox,.cooked-recipe-search .cooked-browse-select.cooked-active .cooked-browse-select-block{-webkit-transition:all .1s cubic-bezier(.42,0,.15,1);-moz-transition:all .1s cubic-bezier(.42,0,.15,1);-o-transition:all .1s cubic-bezier(.42,0,.15,1);transition:all .1s cubic-bezier(.42,0,.15,1)} \ No newline at end of file +#wp-admin-bar-cooked-ab .ab-icon:before{font-family:CookedIcons;content:"\f035";font-size:17px;top:-2px}.cooked-clearfix:after{content:"";display:table;clear:both}.cooked-noscroll{overflow:hidden;width:100%;height:100%}.cooked-hidden-schema{display:none}.cooked-fsm .cooked-fsm-mobile-nav{display:none}.cooked-browse-search-button,.cooked-button,.cooked-fsm .cooked-fsm-top,.cooked-icon-loading,.cooked-profile-tabs,.cooked-progress span{color:#fff!important;text-decoration:none!important}.cooked-recipe-search .cooked-taxonomy-selected .cooked-field-title,.cooked-recipe-search .cooked-taxonomy-selected:before{color:#fff}.cooked-button,button.cooked-button,input[type=button].cooked-button,input[type=submit].cooked-button{box-sizing:border-box;cursor:pointer;display:inline-block;padding:.4rem .65rem;height:2.1rem;line-height:1.25rem;font-size:.9rem;font-weight:500;letter-spacing:.03rem;color:#fff;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.cooked-button i.cooked-icon{color:#fff;font-size:1rem;font-weight:400}.cooked-button.cooked-square-button{padding:0;width:2.25rem;height:2.25rem;line-height:2.25rem;text-align:center}.cooked-button.cooked-square-button i.cooked-icon{font-size:1rem}.cooked-servings-switcher{display:block}.cooked-servings-switcher .cooked-button:first-child{margin-right:1rem}.cooked-servings-switcher .cooked-button:last-child{margin-left:1rem}.cooked-post-featured-image{max-width:100%;height:auto;border:none;display:block;margin:0 0 2rem;padding:0}body .cooked-post-featured-image img{display:block;width:100%;height:auto}.cooked-recipe-ingredients{display:block;padding:0;margin:0 0 2rem}.cooked-recipe-ingredients .cooked-heading{margin:1rem 0 .3rem;display:block;font-weight:600;font-size:1.25rem;line-height:1.5}.cooked-recipe-ingredients .cooked-heading:first-child{margin-top:0}.cooked-recipe-ingredients .cooked-ingredient{position:relative;padding:.5rem 0 0 2rem;margin:0;font-size:inherit}.cooked-recipe-ingredients .cooked-ingredient.cooked-ing-no-checkbox{padding-left:0}.cooked-recipe-ingredients .cooked-ingredient .cooked-ing-name{line-height:1.4rem;padding:1px 0}.cooked-recipe-ingredients .cooked-ingredient-checkbox{transform:scale(1);position:absolute;top:.9rem;left:0;cursor:pointer;display:inline-block;width:1rem;height:1rem;line-height:1rem;border:1px solid #ddd;border-color:rgba(0,0,0,.2);margin:0 .8rem 0 0}.cooked-recipe-ingredients .cooked-ingredient-checkbox:active{transform:scale(.9)}.cooked-recipe-ingredients .cooked-ingredient-checkbox:hover{border-color:#bbb;border-color:rgba(0,0,0,.5)}.cooked-recipe-ingredients .cooked-ingredient-checkbox.cooked-checked:after{font-family:CookedIcons;content:"\f01d";position:absolute;top:0;left:0;font-size:.6rem;line-height:1rem;width:100%;height:100%;text-align:center}.cooked-recipe-ingredients .cooked-ingredient.cooked-checked{text-decoration:line-through;opacity:.5}.cooked-recipe-directions{display:block;padding:0;margin:0 0 2rem}.cooked-recipe-directions .cooked-heading{margin:0 0 1rem;display:block;font-weight:600;font-size:1.25rem;line-height:1.5}.cooked-recipe-directions .cooked-direction{position:relative;padding:0;margin:0;font-size:inherit}.cooked-recipe-directions .cooked-direction img{max-width:100%;height:auto;display:block;margin:0 0 2rem;padding:0;border:none}.cooked-recipe-directions .cooked-direction.cooked-direction-has-number .cooked-dir-content{padding-left:2rem}.cooked-recipe-directions .cooked-direction.cooked-direction-has-number-wide .cooked-dir-content{padding-left:2.75rem}.cooked-recipe-directions .cooked-direction-number{opacity:.35;position:absolute;display:inline-block;width:auto;height:1.5rem;line-height:1.5rem;font-weight:800;top:0;left:0;font-size:1.5rem}.cooked-recipe-excerpt{display:block;padding:0;margin:0 0 1rem}.cooked-recipe-info{display:block;padding:0;margin:0 0 1rem}.cooked-recipe-info>section.cooked-left>span,.cooked-recipe-info>span{line-height:1.25rem;position:relative;box-sizing:border-box;vertical-align:top;margin:0 2rem 1rem 0;display:inline-block;width:auto}.cooked-recipe-info>section.cooked-right>span{line-height:1.3rem;position:relative;box-sizing:border-box;vertical-align:top;margin:0 0 1rem 2rem;display:inline-block;width:auto}.cooked-recipe-info>section.cooked-left>span:last-child,.cooked-recipe-info>span:last-child{margin-right:0}.cooked-recipe-info>section.cooked-right>span:first-child{margin-left:0}.cooked-recipe-info strong{font-size:.75rem;letter-spacing:.03rem;font-weight:800;text-transform:uppercase;display:block}.cooked-recipe-notes{display:block;padding:0;margin:0 0 2rem}.cooked-recipe-notes .cooked-heading{margin:0 0 1rem;display:block;font-weight:600;font-size:1.25rem;line-height:1.5}.cooked-recipe-info span.cooked-print,.cooked-recipe-info span.cooked-print>a{height:2rem;display:inline-block}.cooked-recipe-info span.cooked-print>a{color:rgba(0,0,0,.4)}.cooked-recipe-info span.cooked-print>a:hover{color:rgba(0,0,0,.6)}.cooked-recipe-info span.cooked-print .cooked-icon{font-size:2.25rem;line-height:2.5rem}.cooked-recipe-info span.cooked-fsm-button{cursor:pointer;color:rgba(0,0,0,.4);height:2rem;display:inline-block}.cooked-recipe-info span.cooked-fsm-button:hover{color:rgba(0,0,0,.6)}.cooked-recipe-info span.cooked-fsm-button .cooked-icon{font-size:2.25rem;line-height:2.5rem}.cooked-recipe span.cooked-author,.cooked-recipe-info span.cooked-author{padding-left:3.25rem}.cooked-recipe span.cooked-author.cooked-no-avatar,.cooked-recipe-info span.cooked-author.cooked-no-avatar{padding-left:0}.cooked-recipe span.cooked-author-avatar,.cooked-recipe-info span.cooked-author-avatar{width:2.5rem;height:2.5rem;display:block;position:absolute;top:50%;left:0;margin:-1.25rem 0 0 0}.cooked-recipe span.cooked-author-avatar img,.cooked-recipe-info span.cooked-author-avatar img{margin:0;padding:0;display:block;height:auto;width:100%;max-width:100%;max-height:100%;border-radius:100px}.cooked-author-avatar,.cooked-author-avatar img{border-radius:5rem}.cooked-recipe-info span.cooked-time{padding-left:3rem}.cooked-recipe-info span.cooked-time-icon{opacity:.5;width:1rem;height:1rem;font-size:2.2rem;display:block;position:absolute;top:50%;left:0;margin:-1.1rem 0 0 0}.cooked-recipe-info span.cooked-time-icon i.cooked-icon{display:block}.cooked-timer{padding-left:2px}.cooked-timer i.cooked-icon{opacity:.6}body .cooked-timer a{font-weight:600;cursor:pointer;text-decoration:none}body .cooked-timer a:hover{text-decoration:none}#cooked-timers-wrap{z-index:99999;white-space:nowrap;overflow:hidden;border-radius:10px 10px 0 0;background:#fff;box-shadow:0 -5px 30px rgba(0,0,0,.15);line-height:1.6rem;font-size:1rem;width:50%;max-width:100%;height:7.5rem;position:fixed;transform:translate3d(0,7.2em,0);opacity:0;bottom:0;right:50%;margin:0 -25% 0 0;box-sizing:border-box}#cooked-timers-wrap.cooked-visible{transform:translate3d(0,0,0);opacity:1}#cooked-timers-wrap .cooked-timer-block{overflow:hidden;position:relative;display:block;height:0;padding:0;width:100%;opacity:0;padding:0 1.5rem 0 6rem;box-sizing:border-box}#cooked-timers-wrap .cooked-timer-block.cooked-visible{opacity:1;height:7.5rem;padding:1.9rem 1.5rem 1.55rem 6rem}#cooked-timers-wrap .cooked-timer-block>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:auto}#cooked-timers-wrap .cooked-timer-block i.cooked-icon-times{line-height:2rem;color:rgba(0,0,0,.25);position:absolute;font-size:2rem;top:2.5rem;left:2rem;cursor:pointer}#cooked-timers-wrap .cooked-timer-block i.cooked-icon-times:hover{color:inherit}#cooked-timers-wrap .cooked-timer-block .cooked-timer-step{font-size:1.1rem;font-weight:800;text-transform:uppercase}#cooked-timers-wrap .cooked-timer-block .cooked-timer-desc{font-size:1.2rem;width:100%;padding-right:14rem;box-sizing:border-box;font-weight:400;color:rgba(0,0,0,.65)}#cooked-timers-wrap .cooked-timer-block .cooked-timer-obj{font-weight:600;position:absolute;top:2.5rem;right:2rem;width:13.5rem;font-size:2rem;line-height:2rem}#cooked-timers-wrap .cooked-timer-block .cooked-timer-obj>div,#cooked-timers-wrap .cooked-timer-block .cooked-timer-obj>i.cooked-icon{display:inline-block}#cooked-timers-wrap .cooked-timer-block .cooked-timer-obj>i.cooked-icon-pause,#cooked-timers-wrap .cooked-timer-block .cooked-timer-obj>i.cooked-icon-play,#cooked-timers-wrap .cooked-timer-block .cooked-timer-obj>i.cooked-icon-reverse{cursor:pointer;opacity:.5;width:2rem;text-align:center;margin-right:.5rem;position:relative;font-size:2rem;transform:scale(.75)}#cooked-timers-wrap .cooked-timer-block .cooked-timer-obj>i.cooked-icon-play{display:none}#cooked-timers-wrap .cooked-timer-block .cooked-timer-obj>i.cooked-icon:hover{opacity:1}#cooked-timers-wrap.cooked-multiples{margin:0;right:0;border-radius:10px 0 0 0;width:20rem}#cooked-timers-wrap.cooked-multiples .cooked-timer-block{padding-left:3.25rem}#cooked-timers-wrap.cooked-multiples .cooked-timer-block.cooked-visible{padding-top:1rem;line-height:1.5rem;padding-left:3.25rem}#cooked-timers-wrap.cooked-multiples .cooked-timer-block .cooked-timer-step{font-size:.9rem}#cooked-timers-wrap.cooked-multiples .cooked-timer-block .cooked-timer-desc{font-size:1rem;padding:0}#cooked-timers-wrap.cooked-multiples .cooked-timer-block .cooked-timer-obj{top:auto;right:auto;width:auto;font-size:1.5rem;line-height:2rem}#cooked-timers-wrap.cooked-multiples .cooked-timer-block .cooked-timer-obj>i.cooked-icon{font-size:1.5rem;width:1.3rem;margin-right:.5rem}#cooked-timers-wrap.cooked-multiples .cooked-timer-block i.cooked-icon-times{line-height:1rem;font-size:1rem;top:1.4rem;left:1.2rem}#cooked-timers-wrap .cooked-timer-block .cooked-progress{display:block;position:absolute;left:0;bottom:0;height:.5rem;width:100%;background:rgba(0,0,0,.15)}#cooked-timers-wrap .cooked-timer-block .cooked-progress span{width:0;display:block;position:absolute;left:0;top:0;height:.5rem}#cooked-timers-wrap .cooked-timer-block.cooked-paused{background:#f9f9f9}#cooked-timers-wrap .cooked-timer-block.cooked-paused .cooked-timer-obj{color:rgba(0,0,0,.5)}#cooked-timers-wrap .cooked-timer-block.cooked-complete{background:rgba(255,0,0,.05)}#cooked-timers-wrap .cooked-timer-block.cooked-complete .cooked-progress span{background:red}#cooked-timers-wrap .cooked-timer-block.cooked-complete .cooked-timer-obj{color:red}.cooked-recipe-info span.cooked-servings{padding-left:3rem}.cooked-recipe-info span.cooked-servings select.cooked-servings-changer{opacity:0;position:absolute;bottom:0;left:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0;width:100%;padding:0;margin:0}.cooked-recipe-info span.cooked-servings-icon{opacity:.5;width:1rem;height:1rem;font-size:2.2rem;display:block;position:absolute;top:50%;left:0;margin:-1.1rem 0 0 0}.cooked-recipe-info span.cooked-servings-icon i.cooked-icon{display:block}.cooked-left{float:left;display:inline-block;width:auto}.cooked-right{float:right;display:inline-block;width:auto}.cooked-recipe-gallery{height:1px;overflow:hidden;opacity:0;transform:translate3d(0,10px,0);padding:0;margin:0}.cooked-recipe-gallery .fotorama__thumb-border{border-color:#333}.cooked-recipe-gallery .fotorama__caption__wrap{background:#333;color:#fff}.cooked-recipe-gallery .fotorama__stage__frame.fotorama__active{background:#333}.cooked-recipe-gallery.cooked-gallery-loaded{height:auto;overflow:inherit;opacity:1;transform:translate3d(0,0,0);margin:0 0 2rem}.cooked-nutrition-label{background:#fff;font-size:.9rem;border:1px solid #aaa;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:10px;margin:0 0 2rem;font-family:Helvetica,Arial,sans-serif;container-name:nutrition-label;container-type:inline-size}.cooked-nutrition-label .cooked-nutrition-title{font-size:2.3rem;line-height:1;letter-spacing:0;font-weight:800;padding:0 0 .5rem 0;margin:0;color:#333;border-bottom:1px solid #aaa}.cooked-nutrition-label.cooked-float-left{max-width:45%;margin:0 3rem 3rem 0;float:left}body .cooked-nutrition-label p{margin:0!important;padding:0!important}body .cooked-nutrition-label p.cooked-daily-value-text{padding:.75rem 0 .15rem 0!important;margin:0!important;font-size:.9rem;line-height:1.3rem!important}body .cooked-nutrition-label p.cooked-daily-value-text strong{font-weight:400}body .cooked-nutrition-label dl{margin:0!important;padding:0!important}body .cooked-nutrition-label dt{position:relative;margin:0;padding:2px 0;border-top:1px solid #aaa}body .cooked-nutrition-label dt.cooked-calories{border-top:none;display:flex;justify-content:space-between;align-items:baseline;padding-bottom:10px}body .cooked-nutrition-label dt.cooked-calories strong{font-size:2rem;font-weight:800}body .cooked-nutrition-label dt.cooked-calories strong.cooked-nut-label{font-size:2.5rem}body .cooked-nutrition-label dt.cooked-nut-servings{border-top:none;padding-bottom:0}body .cooked-nutrition-label dt.cooked-serving-size{border-top:none;padding-top:0}body .cooked-nutrition-label div.cooked-serving-size strong,body .cooked-nutrition-label dt.cooked-serving-size strong,body .cooked-nutrition-label dt.cooked-serving-size strong.cooked-nut-label{font-size:1.3rem;font-weight:800}body .cooked-nutrition-label div.cooked-nut-servings p,body .cooked-nutrition-label dt.cooked-nut-servings p{font-size:1.2rem}body .cooked-nutrition-label dt dt{padding:2px 0 0;margin:2px 0 0}body .cooked-nutrition-label dt:after{content:"";display:table;clear:both}body .cooked-nutrition-label dt.no-after:after{content:none}body .cooked-nutrition-label div.cooked-nut-spacer,body .cooked-nutrition-label dt.cooked-nut-spacer{border:none;height:.5rem;padding:0;background:#333;margin-top:.3rem}body .cooked-nutrition-label dl dt.cooked-nut-no-border,body .cooked-nutrition-label>dl>dt:first-child{border:none}body .cooked-nutrition-label dt dl{margin:0 0 0 1.5rem!important}body .cooked-nutrition-label .cooked-nut-hr{border:none;border-top:1rem solid #333;margin:.1rem 0 0;padding:0}body .cooked-nutrition-label strong{font-weight:800}body .cooked-nutrition-label strong.cooked-nut-heading{font-size:1rem}body .cooked-nutrition-label strong.cooked-nut-label{font-weight:400}body .cooked-nutrition-label dl dl strong.cooked-nut-right{font-weight:800}body .cooked-nutrition-label .cooked-nut-right{float:right}body .cooked-nutrition-label dl.cooked-nut-bottom dt{border-top:none;border-bottom:1px solid #aaa;float:left;width:100%;box-sizing:border-box}body .cooked-nutrition-label dl.cooked-nut-bottom dt strong{font-weight:400}body .cooked-nutrition-label dl.cooked-nut-bottom dt:last-child{border:none}body .cooked-nutrition-label dl.cooked-nut-bottom dt:nth-last-child(2):nth-child(even){border-bottom:1px solid #aaa}.widget .cooked-nutrition-label{margin:0}body .cooked-nutrition-label .cooked-nutrition-facts-powered-by-edamam img{float:right;height:2rem}.cooked-recipe-search{box-sizing:border-box;padding:0;margin:0;width:100%;display:block;border:1px solid transparent;position:relative}.cooked-recipe-search .cooked-field-wrap,.cooked-recipe-search .cooked-fields-wrap{display:inline-block;box-sizing:border-box;width:100%;margin:0 1% 0 0}.cooked-recipe-search .cooked-fields-wrap{margin:0}.cooked-recipe-search .cooked-browse-select{display:block;cursor:pointer;position:relative;border-radius:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;background:rgba(0,0,0,.075);box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);width:100%;font-size:1rem;line-height:3rem;height:auto;padding:0 1rem}.cooked-recipe-search .cooked-browse-select:hover{background:rgba(0,0,0,.1)}.cooked-recipe-search .cooked-browse-select .cooked-field-title{font-size:.9rem;vertical-align:top}.cooked-recipe-search .cooked-taxonomy-selected{border-radius:3px}.cooked-recipe-search .cooked-sortby-wrap{background:#f5f5f5;position:absolute;top:0;height:3rem;width:12rem;display:inline-block;margin:0 1px 0 0;right:3.5rem}.cooked-recipe-search .cooked-sortby-wrap>select{margin:0;box-shadow:none;position:relative;width:100%;background:0 0;cursor:pointer;font-size:.9rem;border:none;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1);-webkit-appearance:none;-moz-appearance:none;appearance:none;height:100%;border-radius:0;display:inline-block;padding:0 1.25rem}.cooked-recipe-search .cooked-sortby-wrap:hover{background:#eee}.cooked-recipe-search input[type=text]{margin:0;vertical-align:initial;box-shadow:none;display:inline-block;box-sizing:border-box;background:#fff;width:100%;height:3rem;padding:0 1rem;font-size:1rem;border:1px solid rgba(0,0,0,.15);border-right:none}.cooked-recipe-search .cooked-3-search-fields>*,.cooked-recipe-search .cooked-4-search-fields>*{float:left}.cooked-recipe-search .cooked-field-wrap-select{position:relative}.cooked-recipe-search .cooked-field-wrap-select:before,.cooked-recipe-search .cooked-sortby-wrap:before{content:"\f00b";opacity:.25;font-family:CookedIcons;font-size:.75rem;position:absolute;top:50%;right:1.5rem;line-height:1.25rem;height:1.25rem;margin-top:-.5rem}.cooked-recipe-search .cooked-field-wrap-select:hover:before,.cooked-recipe-search .cooked-sortby-wrap:hover:before{opacity:.75;margin-top:-.5rem}.cooked-recipe-search .cooked-fields-wrap{padding-right:3.5rem;position:relative}.cooked-recipe-search .cooked-fields-wrap>.cooked-field-wrap-select{width:14%}.cooked-recipe-search .cooked-fields-wrap>.cooked-browse-search{width:85%;max-width:85%;margin:0}.cooked-recipe-search.cooked-search-no-sorting.cooked-search-no-browse .cooked-fields-wrap>.cooked-browse-search{width:100%}.cooked-recipe-search .cooked-browse-search-button{position:absolute;top:0;right:1px;width:3.5rem;text-decoration:none;font-size:1rem;text-align:center;color:#fff;line-height:3rem;height:3rem}.cooked-recipe-search .cooked-browse-search-button:hover{color:#fff;text-decoration:none}.cooked-recipe-search .cooked-browse-select-block{display:flex;color:inherit;cursor:default;visibility:hidden;opacity:0;transform:translate3d(0,-6px,0);box-sizing:border-box;z-index:99;position:absolute;width:auto;background:#fff;top:4rem;left:-10px;margin:0;line-height:1.5rem;border-radius:6px}.cooked-recipe-search .cooked-browse-select-block .cooked-tax-column{display:block;width:25%;min-width:25%;box-sizing:border-box;padding:0 .75rem}.cooked-recipe-search .cooked-browse-select-block .cooked-tax-column>div{max-height:16rem;overflow:auto}.cooked-recipe-search .cooked-browse-select-block .cooked-tax-column>div>span{display:block}.cooked-recipe-search .cooked-browse-select-block .cooked-tax-column>div>a,.cooked-recipe-search .cooked-browse-select-block .cooked-tax-column>span{display:block;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.cooked-recipe-search .cooked-browse-select-block .cooked-tax-column>span.cooked-tax-column-title{font-size:.9rem;font-weight:800;text-transform:uppercase;margin:0 0 .6rem;padding:0 10px .6rem 0;border-bottom:1px solid rgba(0,0,0,.15)}.cooked-recipe-search .cooked-browse-select-block .cooked-tax-column>div>a{line-height:1.6rem}.cooked-recipe-search .cooked-browse-select-block .cooked-tax-column>div>span.cooked-tax-sub-item{margin-left:.75rem}.cooked-recipe-search .cooked-browse-select-block .cooked-tax-column i.cooked-icon{font-size:.9rem;color:rgba(0,0,0,.5)}.cooked-recipe-search .cooked-fields-wrap.cooked-1-search-fields .cooked-browse-select-block{width:170%;padding:1.5rem}.cooked-recipe-search .cooked-fields-wrap.cooked-1-search-fields .cooked-browse-select-block .cooked-tax-column{width:100%;padding:0}.cooked-recipe-search .cooked-browse-select.cooked-active .cooked-browse-select-block{visibility:visible;opacity:1;transform:translate3d(0,-1px,0)}.cooked-recipe-search .cooked-browse-select-block{box-shadow:0 2px 2px rgba(0,0,0,.05),0 4px 4px rgba(0,0,0,.05),0 8px 8px rgba(0,0,0,.05),0 16px 16px rgba(0,0,0,.05),0 32px 32px rgba(0,0,0,.05),0 64px 64px rgba(0,0,0,.05)}.cooked-browse-select-inline-block{display:flex;color:inherit;cursor:default;visibility:visible;opacity:1;box-sizing:border-box;z-index:99;position:relative;width:auto;background:#fff;margin:10px 2px 3rem;line-height:1.5rem;border-radius:6px;padding:1.5rem}.cooked-browse-select-inline-block .cooked-tax-column{display:block;width:100%;box-sizing:border-box;padding:0 .75rem}.cooked-browse-select-inline-block .cooked-tax-column>div{max-height:16rem;overflow:auto}.cooked-browse-select-inline-block .cooked-tax-column>div>span{display:block}.cooked-browse-select-inline-block .cooked-tax-column>div>a,.cooked-browse-select-inline-block .cooked-tax-column>span{display:block;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.cooked-browse-select-inline-block .cooked-tax-column>span.cooked-tax-column-title{font-size:.9rem;font-weight:800;text-transform:uppercase;margin:0 0 .6rem;padding:0 10px .6rem 0;border-bottom:1px solid rgba(0,0,0,.15)}.cooked-browse-select-inline-block .cooked-tax-column>div>a{line-height:1.6rem}.cooked-browse-select-inline-block .cooked-tax-column>div>span.cooked-tax-sub-item{margin-left:.75rem}.cooked-browse-select-inline-block .cooked-tax-column i.cooked-icon{font-size:.9rem;color:rgba(0,0,0,.5)}.cooked-browse-select-inline-block{box-shadow:0 2px 2px -1px rgba(0,0,0,.15)}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap{padding:0;display:block}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap>.cooked-browse-search{width:100%;max-width:100%;border-right:1px solid rgba(0,0,0,.15);margin:3% 0}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap.cooked-1-search-fields .cooked-browse-select-block{width:100%;left:0}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap>.cooked-field-wrap-select{display:block;width:100%}.cooked-recipe-search.cooked-search-compact .cooked-sortby-wrap{display:block;position:relative;width:67%;right:auto;top:auto;float:left;margin:0}.cooked-recipe-search.cooked-search-compact .cooked-sortby-wrap>select{position:absolute;width:100%;border:1px solid rgba(0,0,0,.15);margin:0}.cooked-recipe-search.cooked-search-compact .cooked-browse-search-button{width:30%;right:auto;position:relative;display:block;float:right}.cooked-recipe-search.cooked-search-compact .cooked-browse-select-block{top:3rem;left:0;max-height:16rem;overflow:auto;transform:translate3d(0,-1px,0)}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap.cooked-1-search-fields .cooked-browse-select-block{width:100%;padding:1.5rem}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap.cooked-2-search-fields .cooked-browse-select-block{width:100%;padding:1.5rem}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap.cooked-3-search-fields .cooked-browse-select-block{width:100%;padding:1.5rem}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap.cooked-4-search-fields .cooked-browse-select-block{width:100%;padding:1.5rem}.cooked-recipe-search.cooked-search-compact .cooked-browse-select-block .cooked-tax-column{float:none;padding:0 0 1.5rem 0}.cooked-recipe-search.cooked-search-compact .cooked-browse-select-block .cooked-tax-column:last-child{padding:0}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap.cooked-1-search-fields .cooked-browse-select-block .cooked-tax-column{width:100%}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap.cooked-2-search-fields .cooked-browse-select-block .cooked-tax-column{width:100%}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap.cooked-3-search-fields .cooked-browse-select-block .cooked-tax-column{width:100%}.cooked-recipe-search.cooked-search-compact .cooked-fields-wrap.cooked-4-search-fields .cooked-browse-select-block .cooked-tax-column{width:100%}.cooked-recipe-search.cooked-search-compact.cooked-search-no-sorting .cooked-fields-wrap>.cooked-browse-search{width:80%;margin:3% 0}.cooked-recipe-search.cooked-search-compact.cooked-search-no-sorting .cooked-browse-search-button{width:20%;margin:3% 0}.cooked-recipe-search.cooked-search-compact.cooked-search-no-browse .cooked-browse-search-button,.cooked-recipe-search.cooked-search-compact.cooked-search-no-browse .cooked-fields-wrap>.cooked-browse-search{margin:0 0 3%}.cooked-recipe-search.cooked-search-compact.cooked-search-no-sorting.cooked-search-no-browse .cooked-browse-search-button,.cooked-recipe-search.cooked-search-compact.cooked-search-no-sorting.cooked-search-no-browse .cooked-fields-wrap>.cooked-browse-search{margin:0}.cooked-author-list-heading{display:block;margin:0 0 2rem}.cooked-author-list-heading .cooked-author-avatar{float:left;width:3rem;height:auto;display:block;margin:0 1rem 0 0}.cooked-author-list-heading .cooked-author-avatar img{display:block;margin:0}.cooked-author-list-heading .cooked-meta-title{font-size:1.25rem;line-height:1.2rem;margin:0}.cooked-author-list-heading a{font-size:.9rem}body p.cooked-none-found{display:block;margin:0;padding:1rem 0 2rem;color:#888;text-align:center;font-style:italic}.cooked-recipe-grid{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0);position:relative;box-sizing:border-box;padding:0;margin:3% -1.5%;width:103%;display:flex;flex-wrap:wrap}.cooked-recipe-grid .cooked-recipe{width:30.333%;min-width:30.333%;display:block;box-sizing:border-box;margin:0 1.5% 3%;padding:0}.cooked-recipe-grid .cooked-recipe .cooked-recipe-card-title{cursor:pointer;color:inherit;text-decoration:none}.cooked-recipe-grid .cooked-recipe .cooked-recipe-card-title:hover{text-decoration:none!important}.cooked-recipe-grid.cooked-columns-1 .cooked-recipe{width:97%;min-width:97%}.cooked-recipe-grid.cooked-columns-2 .cooked-recipe{width:47%;min-width:47%}.cooked-recipe-grid.cooked-columns-3 .cooked-recipe{width:30.333%;min-width:30.333%}.cooked-recipe-grid.cooked-columns-4 .cooked-recipe{width:22%;min-width:22%}.cooked-recipe-grid.cooked-columns-5 .cooked-recipe{width:17%;min-width:17%}.cooked-recipe-grid.cooked-columns-6 .cooked-recipe{width:13.666%;min-width:13.666%}.cooked-recipe a,.cooked-recipe a:hover,.cooked-recipe-info a,.cooked-recipe-info a:hover,.cooked-recipe-search a,.cooked-recipe-search:hover{box-shadow:none!important}.cooked-recipe-card{text-align:left;background:#fff;text-decoration:none!important;border:none!important;color:inherit!important;display:block;overflow:hidden;border-radius:3px;margin:0 auto 1rem;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.cooked-recipe-card-content>span,.cooked-recipe-card>span{display:block!important}.cooked-recipe-card:hover{text-decoration:none!important;border:none!important;color:inherit!important}.cooked-recipe-card-image{background-size:cover;background-position:center;display:block;margin:0;padding:0;height:250px;width:100%;position:relative}.cooked-recipe-card .cooked-recipe-image-empty{display:block;margin:0;padding:0;height:250px;width:100%;position:relative}.cooked-recipe-card .cooked-recipe-card-sep{display:none}.cooked-recipe-card-content{padding:1rem 1.5rem;margin:0}.cooked-recipe-card-title{display:block;font-weight:600;margin:.5rem 0;font-size:1.25rem;line-height:1.65rem}.cooked-recipe-card-author{margin:.5rem 0;font-size:.9rem}.cooked-recipe-card-excerpt{display:block;margin:.5rem 0;font-size:1rem}.cooked-recipe-card-centered,.cooked-recipe-card-modern-centered{text-align:center}.cooked-recipe-card-modern,.cooked-recipe-card-modern-centered{transform:translate3d(0,0,0);border-radius:10px;box-shadow:0 2px 3px rgba(0,0,0,.04),inset 0 0 0 1px rgba(0,0,0,.1)}.cooked-recipe-card-modern .cooked-recipe-card-author,.cooked-recipe-card-modern .cooked-recipe-card-excerpt,.cooked-recipe-card-modern .cooked-recipe-card-title,.cooked-recipe-card-modern-centered .cooked-recipe-card-author,.cooked-recipe-card-modern-centered .cooked-recipe-card-excerpt,.cooked-recipe-card-modern-centered .cooked-recipe-card-title{margin:.25rem 0}.cooked-recipe-card-modern .cooked-recipe-card-content,.cooked-recipe-card-modern-centered .cooked-recipe-card-content{padding:1.25rem 1.5rem}.cooked-recipe-card-modern .cooked-recipe-card-author,.cooked-recipe-card-modern-centered .cooked-recipe-card-author{opacity:.75}.cooked-recipe-card-modern .cooked-recipe-card-sep,.cooked-recipe-card-modern-centered .cooked-recipe-card-sep{margin:1rem 0;display:block;width:15%;height:6px;border-radius:3px;background:#ddd}.cooked-recipe-card-modern-centered .cooked-recipe-card-sep{margin:1rem auto}.cooked-recipe-card-modern-centered:hover,.cooked-recipe-card-modern:hover{transform:translate3d(0,-2px,0)!important;box-shadow:0 5px 5px rgba(0,0,0,.05),inset 0 0 0 1px rgba(0,0,0,.1)}.cooked-recipe-card-modern-centered:hover .cooked-recipe-card-sep,.cooked-recipe-card-modern:hover .cooked-recipe-card-sep{width:25%}.widget .cooked-recipe-card{margin:0 auto}.cooked-recipe-term-list .cooked-term-item a{display:block;padding:5px 0;border-top:1px solid rgba(0,0,0,.1)}.cooked-shortcode-recipe-list{margin:0 auto 1rem}.cooked-shortcode-recipe-list .cooked-srl-single{box-sizing:border-box;border:none;border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.15);position:relative;display:block;padding:.6rem 0 0 0;margin:0 0 1rem}.cooked-shortcode-recipe-list .cooked-srl-single:hover{border:none;border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.15)}.cooked-shortcode-recipe-list .cooked-srl-single.cooked-srl-has-image{padding-left:4rem;min-height:3.75rem}.cooked-shortcode-recipe-list .cooked-srl-image{margin:0;padding:0}.cooked-shortcode-recipe-list .cooked-srl-image img{width:3rem;height:3rem;border-radius:3px;position:absolute;top:.9rem;left:0;display:block;margin:0;padding:0}.cooked-shortcode-recipe-list .cooked-srl-sep{display:none}.cooked-shortcode-recipe-list .cooked-srl-content{line-height:1.4rem;padding:0;margin:0}.cooked-shortcode-recipe-list .cooked-srl-title{line-height:1.4rem;display:block;font-weight:600;margin:.25rem 0;font-size:1rem}.cooked-shortcode-recipe-list .cooked-srl-author{line-height:1.4rem;margin:.25rem 0;font-size:.9rem;opacity:.75}.cooked-shortcode-recipe-list .cooked-srl-single:first-child{border:none;padding-top:0}.cooked-shortcode-recipe-list .cooked-srl-single:first-child .cooked-srl-image img{top:0}.cooked-shortcode-recipe-list .cooked-srl-single.cooked-srl-has-image:first-child{min-height:3rem}.cooked-pagination-numbered{text-align:center;display:block;margin:0 0 2rem}.cooked-pagination-numbered>a,.cooked-pagination-numbered>span{font-size:1.2rem;font-weight:600;display:inline-block;padding:0 5px;background:0 0}.cooked-pagination-numbered>span{color:rgba(0,0,0,.25)}body .cooked-pagination-numbered>a{text-decoration:none;border:none}body .cooked-pagination-numbered>a:hover{text-decoration:none;border:none}.cooked-fsm{box-sizing:border-box;display:none;opacity:0;transform:scale(.95);position:fixed;top:0;left:0;width:100%;height:100%;background:#fff;z-index:99998}.cooked-fsm.cooked-visible{display:block}.cooked-fsm.cooked-active{opacity:1;transform:scale(1)}.cooked-fsm .cooked-fsm-top{font-size:1.2rem;font-weight:300;text-align:center;box-sizing:border-box;position:absolute;top:0;left:0;width:100%;color:#fff;padding:0 4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:3.5rem;height:3.5rem}.cooked-fsm .cooked-fsm-ingredients{box-sizing:border-box;padding:5.5rem 2rem 1rem;font-size:1rem;line-height:1.6rem;width:30%;height:100%;background:#f9f9f9;overflow-y:scroll;-webkit-overflow-scrolling:touch;position:absolute;top:0;left:0}.cooked-fsm .cooked-recipe-ingredients{margin-top:-.75rem}.cooked-fsm .cooked-recipe-ingredients .cooked-ingredient{padding:.75rem 0 0 2rem}.cooked-fsm .cooked-recipe-ingredients .cooked-heading{font-size:1.25rem}.cooked-fsm .cooked-recipe-ingredients .cooked-heading:first-child{padding-top:.75rem}.cooked-fsm .cooked-recipe-ingredients .cooked-ingredient-checkbox{top:.75rem}.cooked-fsm .cooked-fsm-directions-wrap{box-sizing:border-box;padding:5.5rem 2rem 1rem;font-size:1rem;line-height:1.6rem;width:70%;height:100%;overflow-y:scroll;-webkit-overflow-scrolling:touch;position:absolute;top:0;left:30%}.cooked-fsm .cooked-fsm-directions p{margin:0 0 1.5rem;font-size:1.2rem;line-height:1.6rem}.cooked-fsm .cooked-recipe-directions .cooked-heading{font-size:1.5rem}.cooked-fsm .cooked-recipe-directions .cooked-direction-number{font-size:1.8rem}.cooked-fsm .cooked-recipe-directions .cooked-direction.cooked-direction-has-number .cooked-dir-content{padding-left:2.3rem}.cooked-fsm .cooked-recipe-directions .cooked-direction.cooked-direction-has-number-wide .cooked-dir-content{padding-left:3.05rem}.cooked-fsm .cooked-close-fsm{color:#fff;position:absolute;top:0;right:1.25rem}.cooked-fsm h2{margin:0 0 2rem;padding:0;font-size:1rem;text-transform:uppercase;letter-spacing:.05rem;font-weight:800}.cooked-fsm-directions .cooked-panel,.cooked-fsm-ingredients .cooked-panel,.cooked-fsm-notes .cooked-panel{padding-left:1%;padding-right:2%}.cooked-fsm-notes .cooked-panel .cooked-recipe-notes{font-size:1.2rem;line-height:1.6rem}.cooked-fsm-notes .cooked-panel .cooked-recipe-notes{margin:0 0 1rem}.cooked-fsm-notes .cooked-panel .cooked-recipe-notes ol,.cooked-fsm-notes .cooked-panel .cooked-recipe-notes ul{padding-left:1.5rem}.cooked-fsm-notes .cooked-panel .cooked-recipe-notes ul li{margin:0 0 1rem 1rem}.cooked-fsm .cooked-fsm-mobile-nav{box-sizing:border-box;position:absolute;top:3.5rem;left:0;margin:-1px 0 0 0;width:100%;padding:0;line-height:3.5rem;z-index:9999999}.cooked-fsm .cooked-fsm-mobile-nav a{text-transform:uppercase;font-size:.9rem;font-weight:700;letter-spacing:.03rem;display:block;float:left;width:50%;text-align:center;color:#fff;color:rgba(255,255,255,.6);background:rgba(25,25,25,.3);box-shadow:inset -1px 0 0 0 rgba(0,0,0,.15)}.cooked-fsm .cooked-fsm-mobile-nav a.cooked-active{color:#fff}.cooked-fsm .cooked-fsm-mobile-nav a.cooked-active{box-shadow:none}.cooked-fsm .cooked-fsm-mobile-nav a:last-child{box-shadow:inset 1px 0 0 0 rgba(0,0,0,.15)}body.cooked-fsm-active #wpadminbar{display:none}.cooked-recipe-term-grid{margin:3% -1%;position:relative}.cooked-term-block{box-sizing:border-box;display:block;background:0 0;position:relative;float:left}.cooked-term-block .cooked-recipe-card{margin:0}.cooked-term-block .cooked-recipe-card .cooked-recipe-card-sep{margin:.65rem auto;height:3px}.cooked-term-block.cooked-col-33{width:31.333%;margin:1%}.cooked-term-block.cooked-col-25{width:23%;margin:1%}.cooked-recipe-gallery{-webkit-transition:all .5s cubic-bezier(.42,0,.15,1);-moz-transition:all .5s cubic-bezier(.42,0,.15,1);-o-transition:all .5s cubic-bezier(.42,0,.15,1);transition:all .5s cubic-bezier(.42,0,.15,1)}#cooked-timers-wrap,#cooked-timers-wrap .cooked-timer-block,#cooked-timers-wrap .cooked-timer-block .cooked-timer-obj,.cooked-fsm,.cooked-icon-loading-wrap,.cooked-progress>span,.cooked-recipe,.cooked-recipe-card-modern,.cooked-recipe-card-modern-centered,.cooked-recipe-card-sep,.cooked-recipe-info span.cooked-fsm-button,.cooked-recipe-info span.cooked-print>a,.cooked-recipe-search .cooked-browse-search-button,.cooked-recipe-search .cooked-browse-select,.cooked-recipe-search .cooked-field-wrap-select:before,.cooked-recipe-search .cooked-sortby-wrap,.cooked-recipe-search .cooked-sortby-wrap:before,.cooked-recipe-search .cooked-taxonomy-selected,.cooked-recipe-search>form>div:last-child .cooked-browse-search-button{-webkit-transition:all .2s cubic-bezier(.42,0,.15,1);-moz-transition:all .2s cubic-bezier(.42,0,.15,1);-o-transition:all .2s cubic-bezier(.42,0,.15,1);transition:all .2s cubic-bezier(.42,0,.15,1)}.cooked-term-block{-webkit-transition:all .1s cubic-bezier(.25,.25,.75,.75);-moz-transition:all .1s cubic-bezier(.25,.25,.75,.75);-o-transition:all .1s cubic-bezier(.25,.25,.75,.75);transition:all .1s cubic-bezier(.25,.25,.75,.75)}.cooked-term-block .cooked-term-name,.cooked-term-block .cooked-term-thumbnail img{-webkit-transition:all .3s cubic-bezier(.47,0,0,1);-moz-transition:all .3s cubic-bezier(.47,0,0,1);-o-transition:all .3s cubic-bezier(.47,0,0,1);transition:all .3s cubic-bezier(.47,0,0,1)}.cooked-button,.cooked-button i.cooked-icon{-webkit-transition:border .2s cubic-bezier(.42,0,.15,1),background .2s cubic-bezier(.42,0,.15,1),color .2s cubic-bezier(.42,0,.15,1);-moz-transition:border .2s cubic-bezier(.42,0,.15,1),background .2s cubic-bezier(.42,0,.15,1),color .2s cubic-bezier(.42,0,.15,1);-o-transition:border .2s cubic-bezier(.42,0,.15,1),background .2s cubic-bezier(.42,0,.15,1),color .2s cubic-bezier(.42,0,.15,1);transition:border .2s cubic-bezier(.42,0,.15,1),background .2s cubic-bezier(.42,0,.15,1),color .2s cubic-bezier(.42,0,.15,1)}.cooked-recipe-ingredients .cooked-ingredient-checkbox,.cooked-recipe-search .cooked-browse-select.cooked-active .cooked-browse-select-block{-webkit-transition:all .1s cubic-bezier(.42,0,.15,1);-moz-transition:all .1s cubic-bezier(.42,0,.15,1);-o-transition:all .1s cubic-bezier(.42,0,.15,1);transition:all .1s cubic-bezier(.42,0,.15,1)} \ No newline at end of file diff --git a/assets/js/cooked-functions.js b/assets/js/cooked-functions.js index e9eac28..3443766 100644 --- a/assets/js/cooked-functions.js +++ b/assets/js/cooked-functions.js @@ -111,7 +111,7 @@ var cooked_loading = false; }); // Add form submit handler for the Browse Search Form - if ( cooked_js_vars.permalink_structure ) { + if ( cooked_functions_js_vars.permalink_structure ) { $('.cooked-recipe-search form').on('submit', function(e) { e.preventDefault(); @@ -128,15 +128,18 @@ var cooked_loading = false; // Create URL segments with proper encoding const urlSegments = []; - urlSegments.push(encodeURIComponent(cooked_js_vars.browse_recipes_slug)); + + if (cooked_functions_js_vars.front_page !== cooked_functions_js_vars.browse_page) { + urlSegments.push(encodeURIComponent(cooked_functions_js_vars.browse_recipes_slug)); + } // Add taxonomy segments with improved encoding const taxonomyFields = [ - { value: formValues.category, prefix: cooked_js_vars.recipe_category_slug }, - { value: formValues.method, prefix: cooked_js_vars.recipe_cooking_method_slug }, - { value: formValues.cuisine, prefix: cooked_js_vars.recipe_cuisine_slug }, - { value: formValues.tags, prefix: cooked_js_vars.recipe_tags_slug }, - { value: formValues.diet, prefix: cooked_js_vars.recipe_diet_slug }, + { value: formValues.category, prefix: cooked_functions_js_vars.recipe_category_slug }, + { value: formValues.method, prefix: cooked_functions_js_vars.recipe_cooking_method_slug }, + { value: formValues.cuisine, prefix: cooked_functions_js_vars.recipe_cuisine_slug }, + { value: formValues.tags, prefix: cooked_functions_js_vars.recipe_tags_slug }, + { value: formValues.diet, prefix: cooked_functions_js_vars.recipe_diet_slug }, ]; taxonomyFields.forEach(field => { @@ -159,7 +162,7 @@ var cooked_loading = false; const prettyUrl = urlSegments.filter(Boolean).join('/'); // Use WordPress site URL as base - const siteUrl = new URL(cooked_js_vars.site_url); + const siteUrl = new URL(cooked_functions_js_vars.site_url); const finalUrl = `${siteUrl.pathname}/${prettyUrl}`.replace(/\/+/g, '/'); // Navigate to URL @@ -202,7 +205,7 @@ var cooked_loading = false; if (thisTimer.parents('.cooked-single-direction').length) { var thisStep = thisTimer.parents('.cooked-single-direction').data('step'); } else { - var thisStep = cooked_js_vars.i18n_timer; + var thisStep = cooked_functions_i18n_js_vars.i18n_timer; } var Timer = { @@ -294,7 +297,7 @@ var cooked_loading = false; } function cookedTimer(timerObj, startPaused) { - var timer_sound = cooked_js_vars.timer_sound; + var timer_sound = cooked_functions_js_vars.timer_sound; var audio = new Audio(timer_sound); var thisTimerID = timerObj.parents('.cooked-timer-block').attr('id'), diff --git a/assets/js/cooked-functions.min.js b/assets/js/cooked-functions.min.js index 93df487..d3a9ea5 100644 --- a/assets/js/cooked-functions.min.js +++ b/assets/js/cooked-functions.min.js @@ -1 +1 @@ -var cooked_loading=!1;(l=>{$_Cooked_Ingredient_Boxes=l(".cooked-ingredient-checkbox"),$_Cooked_Fotorama=l(".cooked-recipe-gallery"),$_Cooked_Ajax_List=l(".cooked-recipe-loader"),$_Cooked_Recipe_Search=l(".cooked-recipe-search"),$_Cooked_Timers=l(".cooked-timer > a"),$_Cooked_FSM_Button=l(".cooked-fsm-button"),$_Cooked_Fotorama.length&&$_Cooked_Fotorama.on("fotorama:ready",function(e,o){setTimeout(function(){$_Cooked_Fotorama.addClass("cooked-gallery-loaded")},100)}),l(document).ready(function(){$_Cooked_Fotorama.length&&$_Cooked_Fotorama.fotorama();{function c(e){e.on("click",function(e){var o=l(this);o.hasClass("cooked-checked")?(o.parent().removeClass("cooked-checked"),o.removeClass("cooked-checked")):(o.parent().addClass("cooked-checked"),o.addClass("cooked-checked"))})}$_Cooked_Ingredient_Boxes.length&&c($_Cooked_Ingredient_Boxes)}var a,i;function d(e){e.on("click",function(e){e.preventDefault();var o,s,e=l(this),c="cookedTimer-"+e.data("timer-id"),i=l("#cooked-timers-wrap").find(".cooked-timer-block").length;l("div#"+c).length?(l("div#"+c).css({background:"#eeeeee"}),setTimeout(function(){l("div#"+c).css({background:""})},200)):4==i?(l("#cooked-timers-wrap").css({transform:"translate3d(0,0.5em,0)"}),setTimeout(function(){l("#cooked-timers-wrap").css({transform:""})},200)):(o=7.5*(i+=1),s=e.parents(".cooked-single-direction").length?e.parents(".cooked-single-direction").data("step"):cooked_js_vars.i18n_timer,s={id:c,seconds:e.data("seconds"),step:s,desc:e.data("desc")},l("#cooked-timers-wrap").length?(e=1==i?" cooked-visible":"",a",{id:"cooked-timers-wrap"}),i=t(s),e.append(i),l("body").append(e),n(l("#"+s.id).find(".cooked-timer-obj"),!1),setTimeout(function(){l("#cooked-timers-wrap").addClass("cooked-visible")},50)))})}function t(e,o="cooked-visible"){o=l("
",{id:e.id,class:"cooked-timer-block "+o}),l("",{class:"cooked-timer-step",text:e.step}).appendTo(o),l("",{class:"cooked-timer-desc",text:e.desc}).appendTo(o),l("
",{class:"cooked-timer-obj","data-seconds-left":e.seconds}).appendTo(o),l("",{class:"cooked-icon cooked-icon-times"}).appendTo(o),e=l("
",{class:"cooked-progress"});return l("").appendTo(e),e.appendTo(o),o}function n(o,e){var s=cooked_js_vars.timer_sound,c=new Audio(s),i=o.parents(".cooked-timer-block").attr("id"),d=o.data("seconds-left"),t=o.parents(".cooked-timer-block");o.startTimer({classNames:{hours:"cooked-timer-hours",minutes:"cooked-timer-minutes",seconds:"cooked-timer-seconds",clearDiv:"cooked-timer-clearDiv",timeout:"cooked-timer-timeout"},onComplete:function(){c.play(),o.addClass("cooked-timer-complete")}}),o.prepend(''),e&&(o.trigger("pause"),t.addClass("cooked-paused"),t.find("i.cooked-icon-pause").hide(),t.find("i.cooked-icon-play").css({display:"inline-block"}),t.addClass("cooked-paused"),l(this).parent().find("i.cooked-icon-play").css({display:"inline-block"})),r(t,10,10),o.on("update",function(e,o){r(t,o,d)}),o.on("complete",function(e,o){c.play(),t.find("i.cooked-icon-pause").hide(),t.find("i.cooked-icon-play").hide(),t.find(".cooked-timer-seconds").html("00")}),o.on("click","i.cooked-icon-pause",function(e){e.preventDefault(),l(this).hide(),t.addClass("cooked-paused"),l(this).parent().find("i.cooked-icon-play").css({display:"inline-block"}),o.trigger("pause")}),o.on("click","i.cooked-icon-play",function(e){e.preventDefault(),l(this).hide(),t.removeClass("cooked-paused cooked-complete"),l(this).parent().find("i.cooked-icon-pause").css({display:"inline-block"}),o.trigger("resume")}),o.on("click","i.cooked-icon-reverse",function(e){e.preventDefault(),t.removeClass("cooked-paused cooked-complete"),l(this).parent().find("i.cooked-icon-play").css({display:"inline-block"}),l(this).parent().find("i.cooked-icon-pause").hide(),o.remove(),l("#"+i).append('
'),n(l("#"+i).find(".cooked-timer-obj"),!0)}),t.on("click","i.cooked-icon-times",function(e){var o;e.preventDefault(),1==l("#cooked-timers-wrap").find(".cooked-timer-block").length?l("#cooked-timers-wrap").removeClass("cooked-visible"):(o=7.5*(e=l("#cooked-timers-wrap").find(".cooked-timer-block").length-1),l("#cooked-timers-wrap").css({height:o+"em"}),t.removeClass("cooked-visible"),e==a&&l("#cooked-timers-wrap").removeClass("cooked-multiples")),setTimeout(function(){t.remove()},200)})}function r(e,o,s){o=100-o/s*100;e.find(".cooked-progress > span").css({width:o+"%"}),100<=o&&e.addClass("cooked-complete")}l(".cooked-servings").length&&l(".cooked-servings").find("select").on("change",function(e){e.preventDefault();var e=l(this).children("option:selected").val(),o=new URL(window.location.href);o.searchParams.set("servings",e),window.location.href=o.toString()}),$_Cooked_Recipe_Search.length&&(l("body").on("click",function(e){var o=!1;0{var o;e.value&&(o=encodeURIComponent(e.prefix),e=encodeURIComponent(e.value),s.push(o+"/"+e))}),e.search&&s.push("search/"+encodeURIComponent(e.search)),s.push("sort/"+encodeURIComponent(e.sort));e=s.filter(Boolean).join("/"),e=(new URL(cooked_js_vars.site_url).pathname+"/"+e).replace(/\/+/g,"/");window.location.href=e}),$_Cooked_Timers.length&&(a=1,d($_Cooked_Timers)),$_Cooked_FSM_Button.length&&(i=new NoSleep,$_Cooked_FSM_Button.on("click",function(e){e.preventDefault();var e=l(this).data("recipe-id"),e=l('.cooked-fsm[data-recipe-id="'+e+'"]'),o=(l("body").addClass("cooked-noscroll cooked-fsm-active"),e.clone().appendTo("body")),e=(setTimeout(function(){o.addClass("cooked-visible")},10),setTimeout(function(){o.addClass("cooked-active")},50),o.find(".cooked-timer > a")),s=o.find(".cooked-ingredient-checkbox");d(e),c(s),i.enable(),o.on("click",".cooked-close-fsm",function(e){e.preventDefault(),o.removeClass("cooked-active"),l("body").removeClass("cooked-noscroll cooked-fsm-active"),i.disable(),setTimeout(function(){o.remove()},350)})}),l("body").on("click",".cooked-fsm-mobile-nav > a",function(e){e.preventDefault();var e=l(this),o=e.data("nav-id"),s=e.parents(".cooked-fsm");s.find(".cooked-fsm-mobile-nav > a").removeClass("cooked-active"),s.find(".cooked-fsm-content").removeClass("cooked-active"),e.addClass("cooked-active"),("ingredients"==o?s.find(".cooked-fsm-content.cooked-fsm-ingredients"):(s.find(".cooked-fsm-content.cooked-fsm-directions-wrap").addClass("cooked-active"),s.find(".cooked-fsm-content.cooked-fsm-directions").addClass("cooked-active"),s.find(".cooked-fsm-content.cooked-fsm-notes"))).addClass("cooked-active")}))})})(jQuery); \ No newline at end of file +var cooked_loading=!1;(k=>{$_Cooked_Ingredient_Boxes=k(".cooked-ingredient-checkbox"),$_Cooked_Fotorama=k(".cooked-recipe-gallery"),$_Cooked_Ajax_List=k(".cooked-recipe-loader"),$_Cooked_Recipe_Search=k(".cooked-recipe-search"),$_Cooked_Timers=k(".cooked-timer > a"),$_Cooked_FSM_Button=k(".cooked-fsm-button"),$_Cooked_Fotorama.length&&$_Cooked_Fotorama.on("fotorama:ready",function(e,o){setTimeout(function(){$_Cooked_Fotorama.addClass("cooked-gallery-loaded")},100)}),k(document).ready(function(){$_Cooked_Fotorama.length&&$_Cooked_Fotorama.fotorama();{function c(e){e.on("click",function(e){var o=k(this);o.hasClass("cooked-checked")?(o.parent().removeClass("cooked-checked"),o.removeClass("cooked-checked")):(o.parent().addClass("cooked-checked"),o.addClass("cooked-checked"))})}$_Cooked_Ingredient_Boxes.length&&c($_Cooked_Ingredient_Boxes)}var n,i;function d(e){e.on("click",function(e){e.preventDefault();var o,s,e=k(this),c="cookedTimer-"+e.data("timer-id"),i=k("#cooked-timers-wrap").find(".cooked-timer-block").length;k("div#"+c).length?(k("div#"+c).css({background:"#eeeeee"}),setTimeout(function(){k("div#"+c).css({background:""})},200)):4==i?(k("#cooked-timers-wrap").css({transform:"translate3d(0,0.5em,0)"}),setTimeout(function(){k("#cooked-timers-wrap").css({transform:""})},200)):(o=7.5*(i+=1),s=e.parents(".cooked-single-direction").length?e.parents(".cooked-single-direction").data("step"):cooked_functions_i18n_js_vars.i18n_timer,s={id:c,seconds:e.data("seconds"),step:s,desc:e.data("desc")},k("#cooked-timers-wrap").length?(e=1==i?" cooked-visible":"",n",{id:"cooked-timers-wrap"}),i=t(s),e.append(i),k("body").append(e),a(k("#"+s.id).find(".cooked-timer-obj"),!1),setTimeout(function(){k("#cooked-timers-wrap").addClass("cooked-visible")},50)))})}function t(e,o="cooked-visible"){o=k("
",{id:e.id,class:"cooked-timer-block "+o}),k("",{class:"cooked-timer-step",text:e.step}).appendTo(o),k("",{class:"cooked-timer-desc",text:e.desc}).appendTo(o),k("
",{class:"cooked-timer-obj","data-seconds-left":e.seconds}).appendTo(o),k("",{class:"cooked-icon cooked-icon-times"}).appendTo(o),e=k("
",{class:"cooked-progress"});return k("").appendTo(e),e.appendTo(o),o}function a(o,e){var s=cooked_functions_js_vars.timer_sound,c=new Audio(s),i=o.parents(".cooked-timer-block").attr("id"),d=o.data("seconds-left"),t=o.parents(".cooked-timer-block");o.startTimer({classNames:{hours:"cooked-timer-hours",minutes:"cooked-timer-minutes",seconds:"cooked-timer-seconds",clearDiv:"cooked-timer-clearDiv",timeout:"cooked-timer-timeout"},onComplete:function(){c.play(),o.addClass("cooked-timer-complete")}}),o.prepend(''),e&&(o.trigger("pause"),t.addClass("cooked-paused"),t.find("i.cooked-icon-pause").hide(),t.find("i.cooked-icon-play").css({display:"inline-block"}),t.addClass("cooked-paused"),k(this).parent().find("i.cooked-icon-play").css({display:"inline-block"})),r(t,10,10),o.on("update",function(e,o){r(t,o,d)}),o.on("complete",function(e,o){c.play(),t.find("i.cooked-icon-pause").hide(),t.find("i.cooked-icon-play").hide(),t.find(".cooked-timer-seconds").html("00")}),o.on("click","i.cooked-icon-pause",function(e){e.preventDefault(),k(this).hide(),t.addClass("cooked-paused"),k(this).parent().find("i.cooked-icon-play").css({display:"inline-block"}),o.trigger("pause")}),o.on("click","i.cooked-icon-play",function(e){e.preventDefault(),k(this).hide(),t.removeClass("cooked-paused cooked-complete"),k(this).parent().find("i.cooked-icon-pause").css({display:"inline-block"}),o.trigger("resume")}),o.on("click","i.cooked-icon-reverse",function(e){e.preventDefault(),t.removeClass("cooked-paused cooked-complete"),k(this).parent().find("i.cooked-icon-play").css({display:"inline-block"}),k(this).parent().find("i.cooked-icon-pause").hide(),o.remove(),k("#"+i).append('
'),a(k("#"+i).find(".cooked-timer-obj"),!0)}),t.on("click","i.cooked-icon-times",function(e){var o;e.preventDefault(),1==k("#cooked-timers-wrap").find(".cooked-timer-block").length?k("#cooked-timers-wrap").removeClass("cooked-visible"):(o=7.5*(e=k("#cooked-timers-wrap").find(".cooked-timer-block").length-1),k("#cooked-timers-wrap").css({height:o+"em"}),t.removeClass("cooked-visible"),e==n&&k("#cooked-timers-wrap").removeClass("cooked-multiples")),setTimeout(function(){t.remove()},200)})}function r(e,o,s){o=100-o/s*100;e.find(".cooked-progress > span").css({width:o+"%"}),100<=o&&e.addClass("cooked-complete")}k(".cooked-servings").length&&k(".cooked-servings").find("select").on("change",function(e){e.preventDefault();var e=k(this).children("option:selected").val(),o=new URL(window.location.href);o.searchParams.set("servings",e),window.location.href=o.toString()}),$_Cooked_Recipe_Search.length&&(k("body").on("click",function(e){var o=!1;0{var o;e.value&&(o=encodeURIComponent(e.prefix),e=encodeURIComponent(e.value),s.push(o+"/"+e))}),e.search&&s.push("search/"+encodeURIComponent(e.search)),s.push("sort/"+encodeURIComponent(e.sort));e=s.filter(Boolean).join("/"),e=(new URL(cooked_functions_js_vars.site_url).pathname+"/"+e).replace(/\/+/g,"/");window.location.href=e}),$_Cooked_Timers.length&&(n=1,d($_Cooked_Timers)),$_Cooked_FSM_Button.length&&(i=new NoSleep,$_Cooked_FSM_Button.on("click",function(e){e.preventDefault();var e=k(this).data("recipe-id"),e=k('.cooked-fsm[data-recipe-id="'+e+'"]'),o=(k("body").addClass("cooked-noscroll cooked-fsm-active"),e.clone().appendTo("body")),e=(setTimeout(function(){o.addClass("cooked-visible")},10),setTimeout(function(){o.addClass("cooked-active")},50),o.find(".cooked-timer > a")),s=o.find(".cooked-ingredient-checkbox");d(e),c(s),i.enable(),o.on("click",".cooked-close-fsm",function(e){e.preventDefault(),o.removeClass("cooked-active"),k("body").removeClass("cooked-noscroll cooked-fsm-active"),i.disable(),setTimeout(function(){o.remove()},350)})}),k("body").on("click",".cooked-fsm-mobile-nav > a",function(e){e.preventDefault();var e=k(this),o=e.data("nav-id"),s=e.parents(".cooked-fsm");s.find(".cooked-fsm-mobile-nav > a").removeClass("cooked-active"),s.find(".cooked-fsm-content").removeClass("cooked-active"),e.addClass("cooked-active"),("ingredients"==o?s.find(".cooked-fsm-content.cooked-fsm-ingredients"):(s.find(".cooked-fsm-content.cooked-fsm-directions-wrap").addClass("cooked-active"),s.find(".cooked-fsm-content.cooked-fsm-directions").addClass("cooked-active"),s.find(".cooked-fsm-content.cooked-fsm-notes"))).addClass("cooked-active")}))})})(jQuery); \ No newline at end of file diff --git a/composer.json b/composer.json index e0edf12..c6e1428 100644 --- a/composer.json +++ b/composer.json @@ -6,7 +6,7 @@ "recipe" ], "homepage": "https://wordpress.org/plugins/cooked/", - "version": "1.10.0", + "version": "1.11.0", "type": "wordpress-plugin", "license": "GPL-3.0-or-later", "prefer-stable": true, diff --git a/composer.lock b/composer.lock index d1e0154..6d8ed34 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "5750fafddc7187a442992f3d3fc2e4cc", + "content-hash": "049658186415a78044c1e92fb33fc35a", "packages": [ { "name": "nxp/math-executor", diff --git a/cooked.php b/cooked.php index f2b7e21..2d5aa69 100644 --- a/cooked.php +++ b/cooked.php @@ -4,9 +4,9 @@ Plugin Name: Cooked - Recipe Management Plugin URI: https://wordpress.org/plugins/cooked/ Description: A recipe plugin for WordPress. -Author: Gora Tech +Author: Gora Tech Author URI: https://goratech.dev -Version: 1.10.0 +Version: 1.11.0 Text Domain: cooked Domain Path: languages License: GPL2 @@ -30,7 +30,7 @@ require_once __DIR__ . '/vendor/autoload.php'; -define( 'COOKED_VERSION', '1.10.0' ); +define( 'COOKED_VERSION', '1.11.0' ); define( 'COOKED_DEV', false ); if ( ! class_exists( 'Cooked_Plugin' ) ) : @@ -229,6 +229,7 @@ public static function instance() { self::$instance->setup_constants(); add_action( 'init', [self::$instance, 'load_textdomain'] ); + add_action( 'plugins_loaded', [self::$instance, 'check_plugin_update'] ); self::$instance->includes(); self::$instance->roles = new Cooked_Roles(); @@ -329,6 +330,23 @@ public function initialize_plugin_support() { } } + /** + * Check for plugin updates and run migrations if needed + * + * @since 1.10.0 + */ + public function check_plugin_update() { + $current_version = get_option('cooked_version', '0'); + + if (version_compare($current_version, COOKED_VERSION, '<')) { + // Run migrations + $this->migration->init(); + + // Update version in database + update_option('cooked_version', COOKED_VERSION); + } + } + /** * Throw error on object clone. * diff --git a/includes/class.cooked-admin-enqueues.php b/includes/class.cooked-admin-enqueues.php index ec4367a..dd611fe 100644 --- a/includes/class.cooked-admin-enqueues.php +++ b/includes/class.cooked-admin-enqueues.php @@ -124,10 +124,10 @@ public function admin_enqueues( $hook ) { wp_enqueue_script( 'cooked-vue', COOKED_URL . 'assets/admin/js/vue/vue' . $min . '.js', [], COOKED_VERSION, false ); $wp_editor_roles_allowed = false; - if (is_user_logged_in()) { + if ( is_user_logged_in() ) { $user = wp_get_current_user(); - $user_role = $user->roles[0]; - $wp_editor_roles_allowed = isset( $_cooked_settings['recipe_wp_editor_roles'] ) && in_array( $user_role, $_cooked_settings['recipe_wp_editor_roles'] ) ? true : false; + $user_roles = $user->roles; + $wp_editor_roles_allowed = isset( $_cooked_settings['recipe_wp_editor_roles'] ) && ! empty( array_intersect( $user_roles, $_cooked_settings['recipe_wp_editor_roles'] ) ) ? true : false; } $cooked_js_vars = [ @@ -163,8 +163,8 @@ public function admin_enqueues( $hook ) { wp_enqueue_style('cooked-tooltipster-theme', COOKED_URL . 'assets/admin/css/tooltipster/plugins/tooltipster/sideTip/themes/tooltipster-sideTip-cooked' . $min . '.css', [], COOKED_VERSION, 'screen' ); // Cooked Admin Script - wp_localize_script('cooked-functions', 'cooked_js_vars', $cooked_js_vars ); - wp_localize_script('cooked-migration', 'cooked_js_vars', $cooked_js_vars ); + wp_localize_script('cooked-functions', 'cooked_functions_js_vars', $cooked_js_vars ); + wp_localize_script('cooked-migration', 'cooked_migration_js_vars', $cooked_js_vars ); wp_enqueue_script('cooked-functions'); wp_enqueue_script('cooked-migration'); endif; diff --git a/includes/class.cooked-enqueues.php b/includes/class.cooked-enqueues.php index 4e9f681..6967a64 100644 --- a/includes/class.cooked-enqueues.php +++ b/includes/class.cooked-enqueues.php @@ -36,9 +36,10 @@ public function enqueues($hook) { $cooked_js_vars = [ 'ajax_url' => admin_url('admin-ajax.php'), 'timer_sound' => apply_filters('cooked_timer_sound_mp3', COOKED_URL . 'assets/audio/ding.mp3'), - 'i18n_timer' => __('Timer', 'cooked'), 'permalink_structure' => get_option('permalink_structure'), 'site_url' => get_site_url(), + 'browse_page' => $browse_page_id, + 'front_page' => get_option( 'page_on_front' ), 'browse_recipes_slug' => $browse_recipes_slug, 'recipe_category_slug' => !isset($_cooked_settings['recipe_category_permalink']) ? 'recipe-category' : $_cooked_settings['recipe_category_permalink'], 'recipe_cooking_method_slug' => !isset($_cooked_settings['recipe_cooking_method_permalink']) ? 'cooking-method' : $_cooked_settings['recipe_cooking_method_permalink'], @@ -47,6 +48,10 @@ public function enqueues($hook) { 'recipe_diet_slug' => !isset($_cooked_settings['recipe_diet_permalink']) ? 'diet' : $_cooked_settings['recipe_diet_permalink'], ]; + $cooked_i18n_js_vars = [ + 'i18n_timer' => __('Timer', 'cooked'), + ]; + $min = COOKED_DEV ? '' : '.min'; wp_enqueue_style('cooked-essentials', COOKED_URL . 'assets/admin/css/essentials' . $min . '.css', [], COOKED_VERSION); @@ -64,7 +69,8 @@ public function enqueues($hook) { wp_enqueue_script('wp-sanitize'); wp_register_script('cooked-functions', COOKED_URL . 'assets/js/cooked-functions' . $min . '.js', ['jquery', 'wp-sanitize'], COOKED_VERSION); - wp_localize_script('cooked-functions', 'cooked_js_vars', $cooked_js_vars); + wp_localize_script('cooked-functions', 'cooked_functions_i18n_js_vars', $cooked_i18n_js_vars); + wp_add_inline_script( 'cooked-functions', 'const cooked_functions_js_vars = ' . json_encode( $cooked_js_vars ) . ';', 'before' ); } public function css_colors() { diff --git a/includes/class.cooked-post-types.php b/includes/class.cooked-post-types.php index 550f7ac..fd2dc6a 100644 --- a/includes/class.cooked-post-types.php +++ b/includes/class.cooked-post-types.php @@ -25,7 +25,6 @@ function __construct() { add_action( 'init', [&$this, 'init'] ); add_filter( 'admin_init', [&$this, 'init_roles'] ); add_action( 'after_setup_theme', [&$this, 'image_sizes'] ); - // add_action( 'template_redirect', [&$this, 'redirects'] ); add_action( 'wp_head', [&$this, 'cooked_meta_tags'], 5 ); add_action( 'manage_cp_recipe_posts_custom_column', [&$this, 'custom_columns_data'], 10, 2 ); @@ -33,6 +32,7 @@ function __construct() { add_filter( 'query_vars', [&$this, 'add_query_vars_filter'] ); add_filter( 'manage_cp_recipe_posts_columns', [&$this, 'custom_columns'] ); add_filter( 'nav_menu_css_class', [&$this, 'cooked_nav_classes'], 10, 2 ); + add_filter( 'redirect_canonical', [&$this, 'disable_canonical_redirect'], 10, 2 ); // Taxonomy Titles add_action( 'template_redirect', [&$this, 'remove_default_title_tag'] ); @@ -183,40 +183,6 @@ public function remove_default_title_tag() { } } - public function redirects() { - $_cooked_settings = Cooked_Settings::get(); - $parent_page = isset($_cooked_settings['browse_page']) && $_cooked_settings['browse_page'] ? $_cooked_settings['browse_page'] : false; - $front_page = get_option( 'page_on_front' ); - - if ( $parent_page ): - if ( is_post_type_archive('cp_recipe') && !is_feed() ): - if ( wp_redirect( get_permalink( $parent_page ) ) ): - exit; - endif; - elseif ( is_tax('cp_recipe_category') ): - global $wp_query; - if ( isset($wp_query->query['cp_recipe_category']) && taxonomy_exists('cp_recipe_category') && term_exists( $wp_query->query['cp_recipe_category'], 'cp_recipe_category' ) - || isset($wp_query->query['taxonomy']) && $wp_query->query['taxonomy'] == 'cp_recipe_category' && taxonomy_exists('cp_recipe_category') && term_exists( $wp_query->query['term'], 'cp_recipe_category' ) ): - if ( $parent_page != $front_page && get_option('permalink_structure') ): - if ( wp_redirect( esc_url_raw( untrailingslashit( get_permalink( $parent_page ) ) . '/' . $_cooked_settings['recipe_category_permalink'] . '/' . ( isset( $wp_query->query['term'] ) ? $wp_query->query['term'] : $wp_query->query['cp_recipe_category'] ) ) ) ): - exit; - endif; - elseif ( $parent_page == $front_page ): - if ( wp_redirect( esc_url_raw( get_home_url() . '?cp_recipe_category=' . ( isset( $wp_query->query['term'] ) ? $wp_query->query['term'] : $wp_query->query['cp_recipe_category'] ) ) ) ): - exit; - endif; - else: - if ( wp_redirect( esc_url_raw( get_permalink( $parent_page ) . '&cp_recipe_category=' . ( isset( $wp_query->query['term'] ) ? $wp_query->query['term'] : $wp_query->query['cp_recipe_category'] ) ) ) ): - exit; - endif; - endif; - endif; - else: - do_action( 'cooked_redirects' ); - endif; - endif; - } - public static function activation() { self::init(); self::init_roles(); @@ -302,6 +268,7 @@ public static function init() { if ( !empty($_cooked_taxonomies) ) { foreach ( $_cooked_taxonomies as $slug => $args ) { register_taxonomy( $slug, ['cp_recipe'], $args ); + add_rewrite_tag("%{$slug}%", '([^/]+)'); // Taxonomy search sort pagination add_rewrite_rule( @@ -513,4 +480,43 @@ public function add_display_post_states( $post_states, $post ) { return $post_states; } + /** + * Disable canonical redirects for Cooked URLs on the homepage + * + * @param string $redirect_url The redirect URL + * @param string $requested_url The originally requested URL + * @return string|bool The redirect URL or false to prevent redirect + */ + public function disable_canonical_redirect($redirect_url, $requested_url) { + global $_cooked_settings; + $_cooked_taxonomies = Cooked_Taxonomies::get(); + + // Only process if this is the homepage + if (!is_front_page()) { + return $redirect_url; + } + + // Check if any Cooked query vars are present + $cooked_query_vars = [ + 'cooked_search_s', + 'cooked_browse_sort_by', + 'paged' + ]; + + // Add taxonomy query vars + if (!empty($_cooked_taxonomies)) { + foreach ( $_cooked_taxonomies as $slug => $args ) { + $cooked_query_vars[] = $slug; + } + } + + foreach ($cooked_query_vars as $var) { + if (get_query_var($var)) { + return false; + } + } + + return $redirect_url; + } + } diff --git a/includes/class.cooked-recipe-meta.php b/includes/class.cooked-recipe-meta.php index 3dcf727..ab1d9ac 100644 --- a/includes/class.cooked-recipe-meta.php +++ b/includes/class.cooked-recipe-meta.php @@ -28,10 +28,10 @@ public static function meta_cleanup( $recipe_settings ) { $_recipe_settings = []; $wp_editor_roles_allowed = false; - if (is_user_logged_in()) { + if ( is_user_logged_in() ) { $user = wp_get_current_user(); - $user_role = $user->roles[0]; - $wp_editor_roles_allowed = isset( $_cooked_settings['recipe_wp_editor_roles'] ) && in_array( $user_role, $_cooked_settings['recipe_wp_editor_roles'] ) ? true : false; + $user_roles = $user->roles; + $wp_editor_roles_allowed = isset( $_cooked_settings['recipe_wp_editor_roles'] ) && ! empty( array_intersect( $user_roles, $_cooked_settings['recipe_wp_editor_roles'] ) ) ? true : false; } if (!empty($recipe_settings)) { @@ -251,10 +251,10 @@ function cooked_render_recipe_fields( $post_id ) { $measurements = Cooked_Measurements::get(); $wp_editor_roles_allowed = false; - if (is_user_logged_in()) { + if ( is_user_logged_in() ) { $user = wp_get_current_user(); - $user_role = $user->roles[0]; - $wp_editor_roles_allowed = isset( $_cooked_settings['recipe_wp_editor_roles'] ) && in_array( $user_role, $_cooked_settings['recipe_wp_editor_roles'] ) ? true : false; + $user_roles = $user->roles; + $wp_editor_roles_allowed = isset( $_cooked_settings['recipe_wp_editor_roles'] ) && ! empty( array_intersect( $user_roles, $_cooked_settings['recipe_wp_editor_roles'] ) ) ? true : false; } /* $cooked_page_args = [ diff --git a/includes/class.cooked-recipes.php b/includes/class.cooked-recipes.php index 95714e7..51c5f0c 100644 --- a/includes/class.cooked-recipes.php +++ b/includes/class.cooked-recipes.php @@ -319,7 +319,7 @@ public static function card( $rid, $width = false, $hide_image = false, $hide_ti echo ''; $author = $recipe['author']; /* translators: stating the recipe author with a "By" in front of it. (ex: "By John Smith") */ - echo sprintf( __( 'By %s', 'cooked' ), '' . wp_kses_post( $author['name'] ) . '' ); + echo sprintf( __( 'By %s', 'cooked' ), '' . $author['name'] . '' ); echo ''; endif; @@ -632,14 +632,14 @@ public static function print_content() { public static function fsm_content() { return apply_filters( 'cooked_fsm_content', ' -
+

' . __('Ingredients', 'cooked') . '

[cooked-ingredients]
-
+ '; diff --git a/includes/class.cooked-settings.php b/includes/class.cooked-settings.php index 0baf070..cf52937 100644 --- a/includes/class.cooked-settings.php +++ b/includes/class.cooked-settings.php @@ -23,7 +23,10 @@ public function __construct() { add_filter( 'admin_init', [&$this, 'init'] ); add_filter( 'init', [&$this, 'init'] ); add_action( 'save_post', [&$this, 'browse_page_saved'], 10, 1 ); - add_action( 'admin_notices', [&$this, 'cooked_settings_saved_admin_notice'] ); + add_action( 'admin_notices', [ &$this, 'cooked_settings_saved_admin_notice' ] ); + + // Add action to check version and update settings at the end of page load + add_action( 'shutdown', [&$this, 'check_version_and_update'] ); } public function browse_page_saved( $post_id ) { @@ -45,7 +48,7 @@ public static function init() { register_setting( 'cooked_settings_group', 'cooked_settings_saved' ); } - // Add this new method to handle settings sanitization + // Add this new method to handle settings sanitization. public static function sanitize_settings($settings) { $cooked_tabs_fields = self::tabs_fields(); @@ -60,9 +63,13 @@ public static function sanitize_settings($settings) { $settings[$field_name] = []; } else { // Remove any empty string values from checkbox arrays - $settings[$field_name] = array_filter($settings[$field_name], function($value) { - return $value !== ''; - }); + if (!isset($settings[$field_name]) || !is_array($settings[$field_name])) { + $settings[$field_name] = []; + } else { + $settings[$field_name] = array_filter($settings[$field_name], function($value) { + return $value !== ''; + }); + } } } } @@ -89,50 +96,55 @@ public static function reset() { } public static function get() { - $update_settings = false; $_cooked_settings = get_option( 'cooked_settings' ); - $cooked_settings_saved = get_option( 'cooked_settings_saved', false ); - $_cooked_settings_version = get_option( 'cooked_settings_version', '1.0.0' ); - - $version_compare = version_compare( $_cooked_settings_version, COOKED_VERSION ); // Get defaults for fields that are not set yet. $cooked_tabs_fields = self::tabs_fields(); + if ( isset($cooked_tabs_fields) && !empty($cooked_tabs_fields) ) { foreach ( $cooked_tabs_fields as $tab ) { if ( isset($tab['fields']) && !empty($tab['fields']) ) { foreach ( $tab['fields'] as $name => $field ) { if ( $field['type'] == 'nonce' || $field['type'] == 'misc_button' ) continue; - if ( !$cooked_settings_saved || ( $cooked_settings_saved && $version_compare < 0 ) ) { - if ( $field['type'] === 'checkboxes' ) { - $_cooked_settings[$name] = isset($_cooked_settings[$name]) ? $_cooked_settings[$name] : ( isset( $field['default'] ) ? $field['default'] : [] ); - } else { - $_cooked_settings[$name] = isset($_cooked_settings[$name]) ? $_cooked_settings[$name] : ( isset( $field['default'] ) ? $field['default'] : false ); - } - - // Update the settings only if the version has changed. - $update_settings = true; + if ( $field['type'] === 'checkboxes' ) { + $_cooked_settings[$name] = isset($_cooked_settings[$name]) ? $_cooked_settings[$name] : ( isset( $field['default'] ) ? $field['default'] : [] ); + } else { + $_cooked_settings[$name] = isset($_cooked_settings[$name]) ? $_cooked_settings[$name] : ( isset( $field['default'] ) ? $field['default'] : false ); } } } } - } - if ( $update_settings ) { + return apply_filters( 'cooked_get_settings', $_cooked_settings ); + } + + public static function check_version_and_update() { + global $_cooked_settings; + + $cooked_settings_saved = get_option( 'cooked_settings_saved', false ); + $_cooked_settings_version = get_option( 'cooked_settings_version', '1.0.0' ); + $_cooked_pro_settings_version = get_option( 'cooked_pro_settings_version', '1.0.0' ); + + // Check both versions + $cooked_version_compare = version_compare( $_cooked_settings_version, COOKED_VERSION ); + $cooked_pro_version_compare = defined('COOKED_PRO_VERSION') ? version_compare( $_cooked_pro_settings_version, COOKED_PRO_VERSION ) : 0; + + // Update if either version has changed or settings haven't been saved before + if ( !$cooked_settings_saved || $cooked_version_compare < 0 || $cooked_pro_version_compare < 0 ) { update_option( 'cooked_settings', $_cooked_settings ); + // Update both version numbers + update_option( 'cooked_settings_version', COOKED_VERSION ); + if ( defined('COOKED_PRO_VERSION') ) { + update_option( 'cooked_pro_settings_version', COOKED_PRO_VERSION ); + } + if ( self::needs_rewrite_flush( $_cooked_settings_version ) ) { flush_rewrite_rules(); } } - - if ( $version_compare < 0 ) { - update_option( 'cooked_settings_version', COOKED_VERSION ); - } - - return apply_filters( 'cooked_get_settings', $_cooked_settings ); } private static function needs_rewrite_flush( $old_version ) { @@ -218,7 +230,19 @@ public static function tabs_fields() { 'title' => __('Global Recipe Toggles', 'cooked'), 'desc' => __('You can quickly hide or show different recipe elements (site-wide) with these checkboxes.', 'cooked'), 'type' => 'checkboxes', - 'default' => apply_filters('cooked_recipe_info_display_options_defaults', ['author', 'taxonomies', 'difficulty_level', 'excerpt', 'timing_prep', 'timing_cook', 'timing_total', 'servings']), + 'default' => apply_filters( + 'cooked_recipe_info_display_options_defaults', + [ + 'author', + 'taxonomies', + 'difficulty_level', + 'excerpt', + 'timing_prep', + 'timing_cook', + 'timing_total', + 'servings' + ] + ), 'options' => apply_filters( 'cooked_recipe_info_display_options', [ @@ -278,7 +302,7 @@ public static function tabs_fields() { 'browse_default_cp_recipe_category' => [ 'title' => __('Default Category', 'cooked'), /* translators: a description on how to set the default recipe category for the [cooked-browse] shortcode. */ - 'desc' => sprintf(__('Optionally set the default recipe category for your %s shortcode display.', 'cooked'), '[cooked-browse]'), + 'desc' => sprintf(__('Optionally set the default recipe category for your %s shortcode display.', 'cooked'), '[cooked-browse]'), 'type' => 'select', 'default' => 0, 'options' => $categories_array @@ -286,7 +310,7 @@ public static function tabs_fields() { 'browse_default_sort' => [ 'title' => __('Default Sort Order', 'cooked'), /* translators: a description on how to set the default sort order for the [cooked-browse] shortcode. */ - 'desc' => sprintf(__('Set the default sort order for your %s shortcode display.', 'cooked'), '[cooked-browse]'), + 'desc' => sprintf(__('Set the default sort order for your %s shortcode display.', 'cooked'), '[cooked-browse]'), 'type' => 'select', 'default' => 'date_desc', 'options' => apply_filters( @@ -299,11 +323,29 @@ public static function tabs_fields() { ] ) ], + 'section_heading_default_html_tag' => [ + 'title' => __('Section Heading Default HTML Tag', 'cooked'), + /* translators: a description on how to set the default sort order for the [cooked-browse] shortcode. */ + 'desc' => __('Set the default HTML tag for your section headings.', 'cooked'), + 'type' => 'select', + 'default' => 'div', + 'options' => apply_filters( + 'cooked_settings_section_heading_default_html_tag_options', + [ + 'div' => __('div', 'cooked'), + 'h2' => __('h2', 'cooked'), + 'h3' => __('h3', 'cooked'), + 'h4' => __('h4', 'cooked'), + 'h5' => __('h5', 'cooked'), + 'h6' => __('h6', 'cooked'), + ] + ) + ], 'recipe_wp_editor_roles' => [ 'title' => __('WP Editor Roles', 'cooked'), 'desc' => __('Choose which user roles can use the WP Editor for the Excerpt, Directions & Notes fields.', 'cooked'), 'type' => 'checkboxes', - 'default' => apply_filters('cooked_add_recipe_wp_editor_roles_defaults', ['administrator', 'editor', 'cooked_recipe_editor']), + 'default' => apply_filters('cooked_recipe_wp_editor_roles_defaults', ['administrator', 'editor', 'cooked_recipe_editor']), 'options' => $role_options ], 'advanced' => [ diff --git a/includes/class.cooked-shortcodes.php b/includes/class.cooked-shortcodes.php index 3f0ff25..62d7f44 100644 --- a/includes/class.cooked-shortcodes.php +++ b/includes/class.cooked-shortcodes.php @@ -134,10 +134,11 @@ public function cooked_timer( $atts, $content = null ) { } $timer_id = md5( $seconds . $desc . $content ) . '_' . $cooked_timer_identifier; + $desc = $desc ? wp_strip_all_tags( $desc ) : wp_strip_all_tags( $content ); wp_enqueue_script( 'cooked-timer' ); - return ' ' . wp_kses_post( $content ) . ''; + return ' ' . wp_kses_post( $content ) . ''; } public function cooked_browse_shortcode( $sc_atts, $content = null ) { @@ -567,6 +568,7 @@ public function cooked_info_shortcode($atts, $content = null) { function cooked_kses_servings_switcher($tags) { $tags['select'] = [ 'name' => true, + 'id' => true, 'class' => true, ]; $tags['option'] = [ @@ -594,6 +596,7 @@ public static function cooked_info_author() { if ( !empty($author['id']) ) { $author_slug = !empty($author['name']) ? sanitize_title($author['name']) : false; + // @TODO: Convert the homepage link to use pretty URLs. $permalink = $front_page_id != $browse_page_id && get_option('permalink_structure') ? esc_url( untrailingslashit( $browse_page_url ) . '/' . $_cooked_settings['recipe_author_permalink'] . '/' . $author['id'] . '/' . trailingslashit( $author_slug ) ) : esc_url( trailingslashit( get_home_url() ) . 'index.php?page_id=' . $_cooked_settings['browse_page'] . '&recipe_author=' . $author['id'] ); $permalink = apply_filters( 'cooked_author_permalink', $permalink, $author['id'] ); } else { @@ -606,7 +609,7 @@ public static function cooked_info_author() { echo ''; echo !$hide_avatars ? '' . (!empty($author) ? wp_kses_post( $author['profile_photo'] ) : '') . '' : ''; - echo '' . __('Author','cooked') . '' . ( $clickable && $permalink ? '' : '' ) . (!empty($author) ? esc_html( $author['name'] ) : '') . ( $clickable && $permalink ? '' : '' ); + echo '' . __('Author','cooked') . '' . ( $clickable && $permalink ? '' : '' ) . (!empty($author) ? $author['name'] : '') . ( $clickable && $permalink ? '' : '' ); echo ''; wp_reset_postdata(); @@ -638,13 +641,13 @@ public static function cooked_info_print() { $query_args['print'] = 1; $servings = (float)esc_html( get_query_var( 'servings', false ) ); $query_args['servings'] = !empty($servings) ? $servings : false; - echo ''; + echo ''; } public static function cooked_info_fullscreen() { global $recipe_settings, $_cooked_settings; - echo ''; + echo ''; wp_enqueue_script('cooked-nosleep'); } @@ -793,7 +796,7 @@ public function cooked_image_shortcode($atts, $content = null) { if (has_post_thumbnail($recipe)) : echo '
'; - echo get_the_post_thumbnail( $recipe,'cooked-large' ); + echo get_the_post_thumbnail( $recipe, 'cooked-large' ); echo '
'; endif; @@ -890,17 +893,17 @@ public function cooked_nutrition_shortcode($atts, $content = null) { // Start output buffer for top facts. ob_start(); - echo '
'; + echo '
'; foreach ( $top_facts as $slug => $nf ): if ( $slug === 'serving_size' ): - echo '
' . esc_html($nf['name']) . ' '; + echo '
' . esc_html($nf['name']) . ' '; echo '

' . esc_html( isset($nutrition_facts[$slug]) ? $nutrition_facts[$slug] : '' ) . '

'; - echo '
'; + echo '
'; else: echo '

' . $servings_change . ' ' . esc_html(strtolower($nf['name'])) . '

'; endif; endforeach; - echo ''; + echo '
'; // Get top facts content from buffer. $top_facts_content = ob_get_clean(); @@ -1045,7 +1048,7 @@ public function cooked_nutrition_shortcode($atts, $content = null) { echo '
' . __('Nutrition Facts', 'cooked') . '
'; echo wp_kses_post( $nutrition_facts_content ); if ( isset($main_facts_content) && $main_facts_content || isset($bottom_facts_content) && $bottom_facts_content ): - echo '
'; + echo '
'; echo '

* ' . __('The % Daily Value (DV) tells you how much a nutrient in a serving of food contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.','cooked') . '

'; endif; diff --git a/includes/class.cooked-taxonomies.php b/includes/class.cooked-taxonomies.php index f3ed45b..f2cf640 100644 --- a/includes/class.cooked-taxonomies.php +++ b/includes/class.cooked-taxonomies.php @@ -159,14 +159,14 @@ public static function term_link_filter( $url, $term, $taxonomy ) { $custom_cooked_tax_setting = 'recipe_category_permalink'; } - // $browse_page_id = $_cooked_settings['browse_page']; - // $browse_page_link = get_permalink($browse_page_id); - // $url_test = $browse_page_link . '?taxonomy=' . $taxonomy . '&term=' . $term->slug; - if ( $parent_page_browse_page != $front_page && get_option('permalink_structure') ) { $url = esc_url_raw( untrailingslashit( get_permalink( $parent_page_browse_page ) ) . '/' . $_cooked_settings[$custom_cooked_tax_setting] . '/' . $term->slug ); } elseif ( $parent_page_browse_page == $front_page ) { - $url = esc_url_raw( get_home_url() . '?' . $taxonomy . '=' . ( isset( $term->slug ) ? $term->slug : $taxonomy ) ); + if ( get_option('permalink_structure') ) { + $url = esc_url_raw( get_home_url() . '/' . $_cooked_settings[$custom_cooked_tax_setting] . '/' . $term->slug ); + } else { + $url = esc_url_raw( get_home_url() . '?' . $taxonomy . '=' . ( isset( $term->slug ) ? $term->slug : $taxonomy ) ); + } } else { $url = esc_url_raw( get_permalink( $parent_page_browse_page ) . '&' . $taxonomy . '=' . ( isset( $term->slug ) ? $term->slug : $taxonomy ) ); } diff --git a/includes/class.cooked-users.php b/includes/class.cooked-users.php index 497e9bb..0b29e06 100644 --- a/includes/class.cooked-users.php +++ b/includes/class.cooked-users.php @@ -19,7 +19,7 @@ */ class Cooked_Users { - function __construct(){ + function __construct() { add_action( 'init', [&$this, 'recipe_author_rewrite'], 10 ); add_filter( 'manage_users_columns', [&$this, 'recipe_count_column'] ); @@ -98,9 +98,24 @@ public static function format_author_name( $name, $format = false ) { $format = 'full'; endif; + $filtered = apply_filters( 'cooked_format_author_name', $name, $format ); + + // If the filter returns an array with a second element true, treat as safe. + if ( is_array( $filtered ) && isset( $filtered[1] ) && $filtered[1] === true ) { + $name = $filtered[0]; + $safe = true; + } else { + $name = is_array( $filtered ) ? $filtered[0] : $filtered; + $safe = false; + } + switch ( $format ) { case 'full': - return $name; + if ( $safe ) { + return $name; + } else { + return esc_html( $name ); + } case 'first_last_initial': $name = explode( ' ', $name ); if ( isset($name[1]) ): @@ -118,7 +133,11 @@ public static function format_author_name( $name, $format = false ) { return esc_html( $name[0] ); } - return esc_html( $name ); + if ( $safe ) { + return $name; + } else { + return esc_html( $name ); + } } function recipe_count_column($column_headers) { @@ -141,7 +160,6 @@ function recipe_count_column_value( $value, $column_name, $user_id ) { return $value; } - function pre_user_query( $query ) { global $wpdb, $current_screen; diff --git a/languages/cooked.po b/languages/cooked.po index 712819c..06dd516 100644 --- a/languages/cooked.po +++ b/languages/cooked.po @@ -87,6 +87,7 @@ msgstr "" #. translators: confirmation for migrating all ### recipes, where ### displays the total number for the migration. #: includes/class.cooked-admin-enqueues.php:149 +#, php-format msgid "Please confirm that you are ready to migrate all %s recipes." msgstr "" @@ -96,15 +97,15 @@ msgstr "" #: includes/class.cooked-admin-menus.php:36 #: includes/class.cooked-admin-menus.php:59 -#: includes/class.cooked-post-types.php:454 -#: includes/class.cooked-post-types.php:466 -#: includes/class.cooked-users.php:125 +#: includes/class.cooked-post-types.php:421 +#: includes/class.cooked-post-types.php:433 +#: includes/class.cooked-users.php:144 msgid "Recipes" msgstr "" #: includes/class.cooked-admin-menus.php:37 #: includes/class.cooked-admin-menus.php:61 -#: includes/class.cooked-post-types.php:456 +#: includes/class.cooked-post-types.php:423 msgid "Add New" msgstr "" @@ -112,7 +113,7 @@ msgstr "" #: includes/class.cooked-admin-menus.php:45 #: includes/class.cooked-admin-menus.php:65 #: includes/class.cooked-recipe-meta.php:94 -#: includes/class.cooked-shortcodes.php:148 +#: includes/class.cooked-shortcodes.php:149 #: templates/admin/welcome.php:18 msgid "Settings" msgstr "" @@ -131,7 +132,7 @@ msgid "Upgrade to Pro" msgstr "" #: includes/class.cooked-admin-menus.php:60 -#: includes/class.cooked-post-types.php:461 +#: includes/class.cooked-post-types.php:428 msgid "All Recipes" msgstr "" @@ -167,17 +168,19 @@ msgstr "" msgid "Error importing recipe." msgstr "" -#: includes/class.cooked-enqueues.php:39 +#: includes/class.cooked-enqueues.php:52 #: includes/class.cooked-recipe-meta.php:1309 msgid "Timer" msgstr "" #. translators: a title for the "What's new in Cooked?" section. #: includes/class.cooked-functions.php:96 +#, php-format msgid "What's new in %s?" msgstr "" #: includes/class.cooked-functions.php:120 +#: includes/class.cooked-shortcodes.php:644 msgid "Print" msgstr "" @@ -195,7 +198,7 @@ msgstr "" #: includes/class.cooked-functions.php:125 #: includes/class.cooked-recipe-meta.php:1254 -#: includes/class.cooked-settings.php:228 +#: includes/class.cooked-settings.php:253 msgid "Excerpt" msgstr "" @@ -206,8 +209,8 @@ msgstr "" #: includes/class.cooked-functions.php:129 #: includes/class.cooked-recipe-meta.php:1278 #: includes/class.cooked-recipes.php:643 -#: includes/class.cooked-settings.php:229 -#: includes/class.cooked-shortcodes.php:760 +#: includes/class.cooked-settings.php:254 +#: includes/class.cooked-shortcodes.php:763 msgid "Notes" msgstr "" @@ -218,6 +221,7 @@ msgstr "" #. translators: for displaying singular or plural versions depending on the number of recipes. #: includes/class.cooked-import.php:42 +#, php-format msgid "There is %1$s recipe that should be imported from %2$s." msgid_plural "There are %1$s recipes that should be imported from %2$s." msgstr[0] "" @@ -289,7 +293,7 @@ msgid "Begin Import" msgstr "" #: includes/class.cooked-import.php:119 -#: includes/class.cooked-settings.php:584 +#: includes/class.cooked-settings.php:625 msgid "reload" msgstr "" @@ -572,7 +576,8 @@ msgid "cans" msgstr "" #: includes/class.cooked-measurements.php:202 -#: includes/class.cooked-settings.php:233 +#: includes/class.cooked-recipes.php:799 +#: includes/class.cooked-settings.php:258 msgid "Servings" msgstr "" @@ -748,6 +753,7 @@ msgstr "" #: includes/class.cooked-measurements.php:703 #: includes/class.cooked-measurements.php:714 #: includes/class.cooked-measurements.php:732 +#, php-format msgid "%d min" msgstr "" @@ -755,33 +761,39 @@ msgstr "" #: includes/class.cooked-measurements.php:703 #: includes/class.cooked-measurements.php:714 #: includes/class.cooked-measurements.php:732 +#, php-format msgid "%d mins" msgstr "" #. translators: singular and plural number of hours (shorthand) #: includes/class.cooked-measurements.php:712 #: includes/class.cooked-measurements.php:730 +#, php-format msgid "%d hr" msgstr "" #. translators: singular and plural number of hours (shorthand) #: includes/class.cooked-measurements.php:712 #: includes/class.cooked-measurements.php:730 +#, php-format msgid "%d hrs" msgstr "" #. translators: singular and plural number of days #: includes/class.cooked-measurements.php:728 +#, php-format msgid "%d day" msgstr "" #. translators: singular and plural number of days #: includes/class.cooked-measurements.php:728 +#, php-format msgid "%d days" msgstr "" #. translators: for displaying singular or plural versions depending on the number of recipes. #: includes/class.cooked-migration.php:47 +#, php-format msgid "There is %1$s recipe that should be migrated from %2$s to take advantage of new features and reliability." msgid_plural "There are %1$s recipes that should be migrated from %2$s to take advantage of new features and reliability." msgstr[0] "" @@ -817,6 +829,7 @@ msgstr "" #. translators: for displaying singular or plural versions depending on the number of recipes. #: includes/class.cooked-migration.php:90 +#, php-format msgid "There is %1$s recipe that is from an older version of Cooked. Please %2$s to migrate this recipe." msgid_plural "There are %1$s recipes that are from an older version of Cooked. Please %2$s to migrate these recipes." msgstr[0] "" @@ -835,47 +848,47 @@ msgstr "" msgid "Photo" msgstr "" -#: includes/class.cooked-post-types.php:436 +#: includes/class.cooked-post-types.php:403 msgid "Recipe Archive" msgstr "" -#: includes/class.cooked-post-types.php:455 +#: includes/class.cooked-post-types.php:422 msgid "Recipe" msgstr "" -#: includes/class.cooked-post-types.php:457 +#: includes/class.cooked-post-types.php:424 msgid "Add New Recipe" msgstr "" -#: includes/class.cooked-post-types.php:458 +#: includes/class.cooked-post-types.php:425 msgid "New Recipe" msgstr "" -#: includes/class.cooked-post-types.php:459 +#: includes/class.cooked-post-types.php:426 msgid "Edit Recipe" msgstr "" -#: includes/class.cooked-post-types.php:460 +#: includes/class.cooked-post-types.php:427 msgid "View Recipe" msgstr "" -#: includes/class.cooked-post-types.php:462 +#: includes/class.cooked-post-types.php:429 msgid "Search Recipes" msgstr "" -#: includes/class.cooked-post-types.php:463 +#: includes/class.cooked-post-types.php:430 msgid "No recipes found." msgstr "" -#: includes/class.cooked-post-types.php:464 +#: includes/class.cooked-post-types.php:431 msgid "No recipes found in trash." msgstr "" -#: includes/class.cooked-post-types.php:492 +#: includes/class.cooked-post-types.php:459 msgid "Recipe title ..." msgstr "" -#: includes/class.cooked-post-types.php:510 +#: includes/class.cooked-post-types.php:477 msgid "Cooked Browse Recipes Page" msgstr "" @@ -915,6 +928,7 @@ msgstr "" #. translators: for displaying singular or plural versions depending on the number of recipes. #: includes/class.cooked-recipe-meta.php:305 +#, php-format msgid "It looks like this recipe is from a different version of %s. Please review and click \"Update\" to save it." msgstr "" @@ -971,15 +985,15 @@ msgid "This description is used for SEO purposes and is optional. By default, Co msgstr "" #: includes/class.cooked-recipe-meta.php:380 -#: includes/class.cooked-settings.php:227 +#: includes/class.cooked-settings.php:252 msgid "Difficulty Level" msgstr "" #: includes/class.cooked-recipe-meta.php:389 #: includes/class.cooked-recipe-meta.php:1037 -#: includes/class.cooked-settings.php:230 -#: includes/class.cooked-shortcodes.php:447 -#: includes/class.cooked-shortcodes.php:656 +#: includes/class.cooked-settings.php:255 +#: includes/class.cooked-shortcodes.php:448 +#: includes/class.cooked-shortcodes.php:659 msgid "Prep Time" msgstr "" @@ -991,18 +1005,18 @@ msgstr "" #: includes/class.cooked-recipe-meta.php:394 #: includes/class.cooked-recipe-meta.php:1038 -#: includes/class.cooked-settings.php:231 -#: includes/class.cooked-shortcodes.php:448 -#: includes/class.cooked-shortcodes.php:665 +#: includes/class.cooked-settings.php:256 +#: includes/class.cooked-shortcodes.php:449 +#: includes/class.cooked-shortcodes.php:668 msgid "Cook Time" msgstr "" #: includes/class.cooked-recipe-meta.php:399 #: includes/class.cooked-recipe-meta.php:1039 -#: includes/class.cooked-settings.php:232 -#: includes/class.cooked-shortcodes.php:449 -#: includes/class.cooked-shortcodes.php:676 -#: includes/class.cooked-shortcodes.php:683 +#: includes/class.cooked-settings.php:257 +#: includes/class.cooked-shortcodes.php:450 +#: includes/class.cooked-shortcodes.php:679 +#: includes/class.cooked-shortcodes.php:686 msgid "Total Time" msgstr "" @@ -1057,27 +1071,27 @@ msgid "Nutrition Information" msgstr "" #: includes/class.cooked-recipe-meta.php:839 -#: includes/class.cooked-shortcodes.php:1045 +#: includes/class.cooked-shortcodes.php:1048 msgid "Nutrition Facts" msgstr "" #: includes/class.cooked-recipe-meta.php:857 -#: includes/class.cooked-shortcodes.php:1013 +#: includes/class.cooked-shortcodes.php:1016 msgid "Amount per serving" msgstr "" #: includes/class.cooked-recipe-meta.php:867 -#: includes/class.cooked-shortcodes.php:1023 +#: includes/class.cooked-shortcodes.php:1026 msgid "% Daily Value *" msgstr "" #: includes/class.cooked-recipe-meta.php:886 -#: includes/class.cooked-shortcodes.php:955 +#: includes/class.cooked-shortcodes.php:958 msgid "Includes" msgstr "" #: includes/class.cooked-recipe-meta.php:918 -#: includes/class.cooked-shortcodes.php:1049 +#: includes/class.cooked-shortcodes.php:1052 msgid "The % Daily Value (DV) tells you how much a nutrient in a serving of food contributes to a daily diet. 2,000 calories a day is used for general nutrition advice." msgstr "" @@ -1091,11 +1105,13 @@ msgstr "" #. translators: a title for the video section of the recipe editor, where users can paste a YouToub or Vimeo URL into the field below. #: includes/class.cooked-recipe-meta.php:961 +#, php-format msgid "%1$s or %2$s Video" msgstr "" #. translators: a message describing how to display a video from YouTube or Vimeo. #: includes/class.cooked-recipe-meta.php:965 +#, php-format msgid "If you would like to display a video as the first item in your gallery, you can paste a valid %1$s or %2$s URL below." msgstr "" @@ -1115,6 +1131,7 @@ msgstr "" #. translators: "left and right" section title #: includes/class.cooked-recipe-meta.php:1011 #: includes/class.cooked-recipe-meta.php:1021 +#, php-format msgid "\"%1$s\" and \"%2$s\"" msgstr "" @@ -1139,15 +1156,15 @@ msgid "Available Variables" msgstr "" #: includes/class.cooked-recipe-meta.php:1036 -#: includes/class.cooked-settings.php:225 -#: includes/class.cooked-shortcodes.php:444 -#: includes/class.cooked-shortcodes.php:609 +#: includes/class.cooked-settings.php:250 +#: includes/class.cooked-shortcodes.php:445 +#: includes/class.cooked-shortcodes.php:612 msgid "Author" msgstr "" #: includes/class.cooked-recipe-meta.php:1040 -#: includes/class.cooked-shortcodes.php:445 -#: includes/class.cooked-shortcodes.php:620 +#: includes/class.cooked-shortcodes.php:446 +#: includes/class.cooked-shortcodes.php:623 msgid "Difficulty" msgstr "" @@ -1156,9 +1173,9 @@ msgid "Servings Switcher" msgstr "" #: includes/class.cooked-recipe-meta.php:1042 -#: includes/class.cooked-settings.php:226 -#: includes/class.cooked-shortcodes.php:703 +#: includes/class.cooked-settings.php:251 #: includes/class.cooked-shortcodes.php:706 +#: includes/class.cooked-shortcodes.php:709 #: includes/class.cooked-taxonomies.php:39 msgid "Category" msgstr "" @@ -1247,21 +1264,25 @@ msgstr "" #. translators: related to the width of slideshows: "80% or 300px" section title #: includes/class.cooked-recipe-meta.php:1223 +#, php-format msgid "ex: \"%1$s\" or \"%2$s\"" msgstr "" #. translators: related to the image ratio for slideshows: "ex: 800/600" section title #: includes/class.cooked-recipe-meta.php:1228 +#, php-format msgid "ex: \"%s\"" msgstr "" #. translators: related to the navigation style for slideshows: "dots, thumbs or false" section title #: includes/class.cooked-recipe-meta.php:1233 +#, php-format msgid "\"%1$s\", \"%2$s\", or \"%3$s\"" msgstr "" #. translators: related to allowing full screen for slideshows: "true or false" section title #: includes/class.cooked-recipe-meta.php:1238 +#, php-format msgid "\"%1$s\" or \"%2$s\"" msgstr "" @@ -1291,6 +1312,7 @@ msgstr "" #. translators: "seconds, minutes and hours" section title #: includes/class.cooked-recipe-meta.php:1319 +#, php-format msgid "\"%1$s\", \"%2$s\" and \"%3$s\"" msgstr "" @@ -1323,11 +1345,13 @@ msgstr "" #: includes/class.cooked-recipes.php:268 #: includes/class.cooked-recipes.php:322 #: templates/front/recipe-single.php:47 +#, php-format msgid "By %s" msgstr "" #. translators: For showing "All" of a taxonomy (ex: "All Burgers") #: includes/class.cooked-recipes.php:384 +#, php-format msgid "All %s" msgstr "" @@ -1361,6 +1385,7 @@ msgstr "" #. translators: singular and plural quarter "serving" size #: includes/class.cooked-recipes.php:766 +#, php-format msgid "Quarter (%s Serving)" msgid_plural "Quarter (%s Servings)" msgstr[0] "" @@ -1368,6 +1393,7 @@ msgstr[1] "" #. translators: singular and plural quarter "serving" size #: includes/class.cooked-recipes.php:769 +#, php-format msgid "Half (%s Serving)" msgid_plural "Half (%s Servings)" msgstr[0] "" @@ -1375,6 +1401,7 @@ msgstr[1] "" #. translators: singular and plural quarter "serving" size #: includes/class.cooked-recipes.php:772 +#, php-format msgid "Default (%s Serving)" msgid_plural "Default (%s Servings)" msgstr[0] "" @@ -1382,72 +1409,76 @@ msgstr[1] "" #. translators: singular and plural quarter "serving" size #: includes/class.cooked-recipes.php:775 +#, php-format msgid "Double (%s Servings)" msgstr "" #. translators: singular and plural quarter "serving" size #: includes/class.cooked-recipes.php:778 +#, php-format msgid "Triple (%s Servings)" msgstr "" #: includes/class.cooked-recipes.php:792 -#: includes/class.cooked-shortcodes.php:446 +#: includes/class.cooked-shortcodes.php:447 msgid "Yields" msgstr "" #. translators: singular and plural "serving" sizes #: includes/class.cooked-recipes.php:796 -#: includes/class.cooked-recipes.php:806 +#: includes/class.cooked-recipes.php:807 +#, php-format msgid "%s Serving" msgid_plural "%s Servings" msgstr[0] "" msgstr[1] "" #. translators: singular and plural "steps" -#: includes/class.cooked-recipes.php:914 +#: includes/class.cooked-recipes.php:921 #: includes/class.cooked-seo.php:83 +#, php-format msgid "Step %d" msgstr "" -#: includes/class.cooked-recipes.php:969 +#: includes/class.cooked-recipes.php:976 msgid "Browse" msgstr "" -#: includes/class.cooked-recipes.php:986 -#: includes/class.cooked-settings.php:166 +#: includes/class.cooked-recipes.php:993 +#: includes/class.cooked-settings.php:178 msgid "No categories" msgstr "" -#: includes/class.cooked-recipes.php:989 -#: includes/class.cooked-settings.php:213 +#: includes/class.cooked-recipes.php:996 +#: includes/class.cooked-settings.php:226 #: includes/class.cooked-taxonomies.php:38 #: includes/class.cooked-taxonomies.php:48 msgid "Categories" msgstr "" -#: includes/class.cooked-recipes.php:991 +#: includes/class.cooked-recipes.php:998 #: includes/class.cooked-taxonomies.php:41 #: includes/widgets/recipe-categories.php:48 msgid "All Categories" msgstr "" -#: includes/class.cooked-recipes.php:1061 +#: includes/class.cooked-recipes.php:1068 msgid "Find a recipe..." msgstr "" -#: includes/class.cooked-recipes.php:1076 +#: includes/class.cooked-recipes.php:1083 msgid "Newest first" msgstr "" -#: includes/class.cooked-recipes.php:1080 +#: includes/class.cooked-recipes.php:1087 msgid "Oldest first" msgstr "" -#: includes/class.cooked-recipes.php:1084 +#: includes/class.cooked-recipes.php:1091 msgid "Alphabetical (A-Z)" msgstr "" -#: includes/class.cooked-recipes.php:1088 +#: includes/class.cooked-recipes.php:1095 msgid "Alphabetical (Z-A)" msgstr "" @@ -1455,314 +1486,322 @@ msgstr "" msgid "Recipe Editor" msgstr "" -#: includes/class.cooked-settings.php:80 +#: includes/class.cooked-settings.php:87 msgid "Cooked settings has been updated!" msgstr "" -#: includes/class.cooked-settings.php:166 +#: includes/class.cooked-settings.php:178 msgid "No default" msgstr "" -#: includes/class.cooked-settings.php:186 +#: includes/class.cooked-settings.php:198 msgid "General" msgstr "" -#: includes/class.cooked-settings.php:190 +#: includes/class.cooked-settings.php:202 msgid "Browse/Search Recipes Page" msgstr "" #. translators: a description on how to add the [cooked-browse] shortcode to a page -#: includes/class.cooked-settings.php:192 +#: includes/class.cooked-settings.php:204 +#, php-format msgid "Create a page with the %s shortcode on it, then choose it from this dropdown." msgstr "" -#: includes/class.cooked-settings.php:198 +#: includes/class.cooked-settings.php:211 msgid "Recipes Per Page" msgstr "" #. translators: a description on how to choose the default number of recipes per page. -#: includes/class.cooked-settings.php:200 +#: includes/class.cooked-settings.php:213 +#, php-format msgid "Choose the default (set via the %s panel) or choose a different number here." msgstr "" #. translators: a description on how to choose the default number of recipes per page. -#: includes/class.cooked-settings.php:200 +#: includes/class.cooked-settings.php:213 msgid "Settings > Reading" msgstr "" -#: includes/class.cooked-settings.php:206 +#: includes/class.cooked-settings.php:219 msgid "Recipe Taxonomies" msgstr "" -#: includes/class.cooked-settings.php:207 +#: includes/class.cooked-settings.php:220 msgid "Choose which taxonomies you want to enable for your recipes." msgstr "" -#: includes/class.cooked-settings.php:218 +#: includes/class.cooked-settings.php:231 msgid "Global Recipe Toggles" msgstr "" -#: includes/class.cooked-settings.php:219 +#: includes/class.cooked-settings.php:232 msgid "You can quickly hide or show different recipe elements (site-wide) with these checkboxes." msgstr "" -#: includes/class.cooked-settings.php:238 +#: includes/class.cooked-settings.php:263 msgid "Carbs Format" msgstr "" -#: includes/class.cooked-settings.php:239 +#: includes/class.cooked-settings.php:264 msgid "You can display carbs as \"Total\" or \"Net\"." msgstr "" -#: includes/class.cooked-settings.php:245 +#: includes/class.cooked-settings.php:270 msgid "Total Carbs" msgstr "" -#: includes/class.cooked-settings.php:246 +#: includes/class.cooked-settings.php:271 msgid "Net Carbs" msgstr "" -#: includes/class.cooked-settings.php:251 +#: includes/class.cooked-settings.php:276 msgid "Author Name Format" msgstr "" -#: includes/class.cooked-settings.php:252 +#: includes/class.cooked-settings.php:277 msgid "You can show the full author's name or just a part of it." msgstr "" -#: includes/class.cooked-settings.php:258 +#: includes/class.cooked-settings.php:283 msgid "Full name" msgstr "" -#: includes/class.cooked-settings.php:259 +#: includes/class.cooked-settings.php:284 msgid "Full first name w/last name initial" msgstr "" -#: includes/class.cooked-settings.php:260 +#: includes/class.cooked-settings.php:285 msgid "First name initial w/full last name" msgstr "" -#: includes/class.cooked-settings.php:261 +#: includes/class.cooked-settings.php:286 msgid "First name only" msgstr "" -#: includes/class.cooked-settings.php:266 +#: includes/class.cooked-settings.php:291 msgid "Author Links" msgstr "" -#: includes/class.cooked-settings.php:267 +#: includes/class.cooked-settings.php:292 msgid "If you do not want the author names to link to the author recipe listings, you can disable them here." msgstr "" -#: includes/class.cooked-settings.php:274 +#: includes/class.cooked-settings.php:299 msgid "Disable Author Links" msgstr "" -#: includes/class.cooked-settings.php:279 +#: includes/class.cooked-settings.php:304 msgid "Default Category" msgstr "" #. translators: a description on how to set the default recipe category for the [cooked-browse] shortcode. -#: includes/class.cooked-settings.php:281 +#: includes/class.cooked-settings.php:306 +#, php-format msgid "Optionally set the default recipe category for your %s shortcode display." msgstr "" -#: includes/class.cooked-settings.php:287 +#: includes/class.cooked-settings.php:312 msgid "Default Sort Order" msgstr "" #. translators: a description on how to set the default sort order for the [cooked-browse] shortcode. -#: includes/class.cooked-settings.php:289 +#: includes/class.cooked-settings.php:314 +#, php-format msgid "Set the default sort order for your %s shortcode display." msgstr "" -#: includes/class.cooked-settings.php:295 +#: includes/class.cooked-settings.php:320 msgid "Newest First" msgstr "" -#: includes/class.cooked-settings.php:296 +#: includes/class.cooked-settings.php:321 msgid "Oldest First" msgstr "" -#: includes/class.cooked-settings.php:297 +#: includes/class.cooked-settings.php:322 msgid "Alphabetical" msgstr "" -#: includes/class.cooked-settings.php:298 +#: includes/class.cooked-settings.php:323 msgid "Alphabetical (reversed)" msgstr "" -#: includes/class.cooked-settings.php:303 +#: includes/class.cooked-settings.php:346 msgid "WP Editor Roles" msgstr "" -#: includes/class.cooked-settings.php:304 +#: includes/class.cooked-settings.php:347 msgid "Choose which user roles can use the WP Editor for the Excerpt, Directions & Notes fields." msgstr "" -#: includes/class.cooked-settings.php:310 +#: includes/class.cooked-settings.php:353 msgid "Advanced Settings" msgstr "" #. translators: an option to only show recipes with the [cooked-recipe] shortcode. -#: includes/class.cooked-settings.php:320 +#: includes/class.cooked-settings.php:363 msgid "Disable Public Recipes" msgstr "" #. translators: an option to only show recipes with the [cooked-recipe] shortcode. -#: includes/class.cooked-settings.php:320 +#: includes/class.cooked-settings.php:363 +#, php-format msgid "Only show recipes using the %s shortcode." msgstr "" #. translators: an option to disable "meta" tags. -#: includes/class.cooked-settings.php:322 +#: includes/class.cooked-settings.php:365 +#, php-format msgid "Disable %s Tags" msgstr "" #. translators: an option to disable "meta" tags. -#: includes/class.cooked-settings.php:322 +#: includes/class.cooked-settings.php:365 msgid "Prevents duplicates when tags already exist." msgstr "" -#: includes/class.cooked-settings.php:323 +#: includes/class.cooked-settings.php:366 msgid "Disable \"Servings Switcher\"" msgstr "" -#: includes/class.cooked-settings.php:323 +#: includes/class.cooked-settings.php:366 msgid "Removes the servings dropdown on recipes." msgstr "" -#: includes/class.cooked-settings.php:324 +#: includes/class.cooked-settings.php:367 msgid "Disable Recipe Schema Output" msgstr "" -#: includes/class.cooked-settings.php:324 +#: includes/class.cooked-settings.php:367 msgid "You should only do this if you're using something else to output schema information." msgstr "" -#: includes/class.cooked-settings.php:325 +#: includes/class.cooked-settings.php:368 msgid "Disable Recipe Archive Page" msgstr "" -#: includes/class.cooked-settings.php:325 +#: includes/class.cooked-settings.php:368 msgid "Prevents the recipe archive from being displayed." msgstr "" -#: includes/class.cooked-settings.php:332 +#: includes/class.cooked-settings.php:375 msgid "Design" msgstr "" -#: includes/class.cooked-settings.php:336 +#: includes/class.cooked-settings.php:379 msgid "Dark Mode" msgstr "" -#: includes/class.cooked-settings.php:337 +#: includes/class.cooked-settings.php:380 msgid "If your site has a dark background, you should enable \"Dark Mode\" so that Cooked can match this style." msgstr "" -#: includes/class.cooked-settings.php:343 +#: includes/class.cooked-settings.php:386 msgid "Enable \"Dark Mode\"" msgstr "" -#: includes/class.cooked-settings.php:348 +#: includes/class.cooked-settings.php:391 msgid "Author Images" msgstr "" -#: includes/class.cooked-settings.php:349 +#: includes/class.cooked-settings.php:392 msgid "If you do not want to display the author images (avatars), you can disable them here." msgstr "" -#: includes/class.cooked-settings.php:356 +#: includes/class.cooked-settings.php:399 msgid "Hide Author Images" msgstr "" -#: includes/class.cooked-settings.php:361 +#: includes/class.cooked-settings.php:404 msgid "Main Color" msgstr "" -#: includes/class.cooked-settings.php:362 +#: includes/class.cooked-settings.php:405 msgid "Used on buttons, cooking timer, etc." msgstr "" -#: includes/class.cooked-settings.php:368 +#: includes/class.cooked-settings.php:411 msgid "Main Color (on hover)" msgstr "" -#: includes/class.cooked-settings.php:369 +#: includes/class.cooked-settings.php:412 msgid "Used when hovering over buttons." msgstr "" -#: includes/class.cooked-settings.php:375 +#: includes/class.cooked-settings.php:418 msgid "First Responsive Breakpoint" msgstr "" -#: includes/class.cooked-settings.php:376 +#: includes/class.cooked-settings.php:419 msgid "Set the first responsive breakpoint. Best for large tablets." msgstr "" -#: includes/class.cooked-settings.php:382 +#: includes/class.cooked-settings.php:425 msgid "Second Responsive Breakpoint" msgstr "" -#: includes/class.cooked-settings.php:383 +#: includes/class.cooked-settings.php:426 msgid "Set the second responsive breakpoint. Best for small tablets." msgstr "" -#: includes/class.cooked-settings.php:389 +#: includes/class.cooked-settings.php:432 msgid "Third Responsive Breakpoint" msgstr "" -#: includes/class.cooked-settings.php:390 +#: includes/class.cooked-settings.php:433 msgid "Set the third responsive breakpoint. Best for phones and other small devices." msgstr "" -#: includes/class.cooked-settings.php:398 +#: includes/class.cooked-settings.php:441 msgid "Permalinks" msgstr "" -#: includes/class.cooked-settings.php:402 +#: includes/class.cooked-settings.php:445 msgid "Recipe Permalink" msgstr "" -#: includes/class.cooked-settings.php:405 +#: includes/class.cooked-settings.php:448 msgid "recipe-name" msgstr "" -#: includes/class.cooked-settings.php:409 +#: includes/class.cooked-settings.php:452 msgid "Recipe Author Permalink" msgstr "" -#: includes/class.cooked-settings.php:412 +#: includes/class.cooked-settings.php:455 msgid "author-name" msgstr "" -#: includes/class.cooked-settings.php:416 +#: includes/class.cooked-settings.php:459 msgid "Recipe Category Permalink" msgstr "" -#: includes/class.cooked-settings.php:419 +#: includes/class.cooked-settings.php:462 msgid "recipe-category-name" msgstr "" #. translators: posts_per_page default -#: includes/class.cooked-settings.php:430 +#: includes/class.cooked-settings.php:473 +#, php-format msgid "WordPress Default %s" msgstr "" -#: includes/class.cooked-settings.php:435 +#: includes/class.cooked-settings.php:478 msgid "Show All (no pagination)" msgstr "" -#: includes/class.cooked-settings.php:579 +#: includes/class.cooked-settings.php:620 msgid "Begin Migration" msgstr "" #. translators: referring to the bottom of the Settings page. -#: includes/class.cooked-shortcodes.php:148 +#: includes/class.cooked-shortcodes.php:149 +#, php-format msgid "Public recipes are currently disabled. You can change this at the bottom of the %s page." msgstr "" -#: includes/class.cooked-shortcodes.php:296 +#: includes/class.cooked-shortcodes.php:297 msgid "(recipe not found or in draft status)" msgstr "" @@ -1801,6 +1840,7 @@ msgstr "" #. translators: for displaying singular or plural versions depending on the number. #: includes/class.cooked-taxonomies.php:136 +#, php-format msgid "%s Recipe" msgid_plural "%s Recipes" msgstr[0] "" @@ -1923,11 +1963,13 @@ msgstr "" #. translators: referring to "Cooked Pro" #: templates/admin/pro.php:10 +#, php-format msgid "Ready for %s?" msgstr "" #. translators: referring to "Cooked Pro" #: templates/admin/pro.php:14 +#, php-format msgid "The %s upgrade adds loads of new features like ratings, favorites, user profiles, automatic nutrition information and more. Check out the list below for all of the details." msgstr "" @@ -1997,11 +2039,13 @@ msgstr "" #. translators: referring to "Cooked Pro" #: templates/admin/pro.php:48 +#, php-format msgid "Get %s" msgstr "" #. translators: referring to the "COOKED10" coupon code to get "10%" off Cooked Pro #: templates/admin/pro.php:52 +#, php-format msgid "Use coupon code %1$s for %2$s off!" msgstr "" @@ -2016,10 +2060,12 @@ msgstr "" #. translators: referring to "Cooked" #: templates/admin/welcome.php:10 +#, php-format msgid "Thanks for using %s!" msgstr "" #: templates/admin/welcome.php:16 +#, php-format msgid "If this is your first time using %1$s, head over to the %2$s page for some initial configuration. You can also check out the %3$s if you get stuck or contact me on %4$s. If you just recently updated, you can find out what's new below." msgstr "" @@ -2046,6 +2092,7 @@ msgstr "" #. translators: referring to the author (ex: Recipes by John Smith) #: templates/front/recipe-list.php:37 +#, php-format msgid "Recipes by %s" msgstr "" @@ -2060,14 +2107,6 @@ msgstr "" msgid "Heading Element:" msgstr "" -#: includes/class.cooked-settings.php:165 -msgid "Choose a page..." -msgstr "" - -#: includes/class.cooked-settings.php:165 -msgid "No pages" -msgstr "" - #: includes/class.cooked-measurements.php:85 #: includes/class.cooked-measurements.php:86 msgid "dl" @@ -2080,3 +2119,49 @@ msgstr "" #: includes/class.cooked-measurements.php:88 msgid "deciliters" msgstr "" + +#: cooked.php:283 +msgctxt "Page title" +msgid "Browse Recipes" +msgstr "" + +#: includes/class.cooked-settings.php:328 +msgid "Section Heading Default HTML Tag" +msgstr "" + +#. translators: a description on how to set the default sort order for the [cooked-browse] shortcode. +#: includes/class.cooked-settings.php:330 +msgid "Set the default HTML tag for your section headings." +msgstr "" + +#: includes/class.cooked-settings.php:336 +msgid "div" +msgstr "" + +#: includes/class.cooked-settings.php:337 +msgid "h2" +msgstr "" + +#: includes/class.cooked-settings.php:338 +msgid "h3" +msgstr "" + +#: includes/class.cooked-settings.php:339 +msgid "h4" +msgstr "" + +#: includes/class.cooked-settings.php:340 +msgid "h5" +msgstr "" + +#: includes/class.cooked-settings.php:341 +msgid "h6" +msgstr "" + +#: includes/class.cooked-recipes.php:1070 +msgid "Search" +msgstr "" + +#: includes/class.cooked-shortcodes.php:650 +msgid "Fullscreen" +msgstr "" diff --git a/languages/cooked.pot b/languages/cooked.pot index 5610b4e..6545f5a 100644 --- a/languages/cooked.pot +++ b/languages/cooked.pot @@ -2,16 +2,16 @@ # This file is distributed under the GPL2. msgid "" msgstr "" -"Project-Id-Version: Cooked - Recipe Management 1.10.0\n" +"Project-Id-Version: Cooked - Recipe Management 1.11.0\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/cooked\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: 2025-04-01T19:40:24-04:00\n" +"POT-Creation-Date: 2025-06-03T13:28:52-04:00\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"X-Generator: WP-CLI 2.11.0\n" +"X-Generator: WP-CLI 2.12.0\n" "X-Domain: cooked\n" #. Plugin Name of the plugin @@ -39,6 +39,11 @@ msgstr "" msgid "https://goratech.dev" msgstr "" +#: cooked.php:283 +msgctxt "Page title" +msgid "Browse Recipes" +msgstr "" + #: includes/class.cooked-admin-enqueues.php:137 msgid "remaining" msgstr "" @@ -90,6 +95,7 @@ msgstr "" #. translators: confirmation for migrating all ### recipes, where ### displays the total number for the migration. #: includes/class.cooked-admin-enqueues.php:149 +#, php-format msgid "Please confirm that you are ready to migrate all %s recipes." msgstr "" @@ -99,15 +105,15 @@ msgstr "" #: includes/class.cooked-admin-menus.php:36 #: includes/class.cooked-admin-menus.php:59 -#: includes/class.cooked-post-types.php:454 -#: includes/class.cooked-post-types.php:466 -#: includes/class.cooked-users.php:125 +#: includes/class.cooked-post-types.php:421 +#: includes/class.cooked-post-types.php:433 +#: includes/class.cooked-users.php:144 msgid "Recipes" msgstr "" #: includes/class.cooked-admin-menus.php:37 #: includes/class.cooked-admin-menus.php:61 -#: includes/class.cooked-post-types.php:456 +#: includes/class.cooked-post-types.php:423 msgid "Add New" msgstr "" @@ -115,7 +121,7 @@ msgstr "" #: includes/class.cooked-admin-menus.php:45 #: includes/class.cooked-admin-menus.php:65 #: includes/class.cooked-recipe-meta.php:94 -#: includes/class.cooked-shortcodes.php:148 +#: includes/class.cooked-shortcodes.php:149 #: templates/admin/welcome.php:18 msgid "Settings" msgstr "" @@ -134,7 +140,7 @@ msgid "Upgrade to Pro" msgstr "" #: includes/class.cooked-admin-menus.php:60 -#: includes/class.cooked-post-types.php:461 +#: includes/class.cooked-post-types.php:428 msgid "All Recipes" msgstr "" @@ -170,17 +176,19 @@ msgstr "" msgid "Error importing recipe." msgstr "" -#: includes/class.cooked-enqueues.php:39 +#: includes/class.cooked-enqueues.php:52 #: includes/class.cooked-recipe-meta.php:1309 msgid "Timer" msgstr "" #. translators: a title for the "What's new in Cooked?" section. #: includes/class.cooked-functions.php:96 +#, php-format msgid "What's new in %s?" msgstr "" #: includes/class.cooked-functions.php:120 +#: includes/class.cooked-shortcodes.php:644 msgid "Print" msgstr "" @@ -198,7 +206,7 @@ msgstr "" #: includes/class.cooked-functions.php:125 #: includes/class.cooked-recipe-meta.php:1254 -#: includes/class.cooked-settings.php:228 +#: includes/class.cooked-settings.php:253 msgid "Excerpt" msgstr "" @@ -209,8 +217,8 @@ msgstr "" #: includes/class.cooked-functions.php:129 #: includes/class.cooked-recipe-meta.php:1278 #: includes/class.cooked-recipes.php:643 -#: includes/class.cooked-settings.php:229 -#: includes/class.cooked-shortcodes.php:760 +#: includes/class.cooked-settings.php:254 +#: includes/class.cooked-shortcodes.php:763 msgid "Notes" msgstr "" @@ -221,6 +229,7 @@ msgstr "" #. translators: for displaying singular or plural versions depending on the number of recipes. #: includes/class.cooked-import.php:42 +#, php-format msgid "There is %1$s recipe that should be imported from %2$s." msgid_plural "There are %1$s recipes that should be imported from %2$s." msgstr[0] "" @@ -292,7 +301,7 @@ msgid "Begin Import" msgstr "" #: includes/class.cooked-import.php:119 -#: includes/class.cooked-settings.php:584 +#: includes/class.cooked-settings.php:625 msgid "reload" msgstr "" @@ -588,7 +597,8 @@ msgid "cans" msgstr "" #: includes/class.cooked-measurements.php:202 -#: includes/class.cooked-settings.php:233 +#: includes/class.cooked-recipes.php:799 +#: includes/class.cooked-settings.php:258 msgid "Servings" msgstr "" @@ -764,6 +774,7 @@ msgstr "" #: includes/class.cooked-measurements.php:703 #: includes/class.cooked-measurements.php:714 #: includes/class.cooked-measurements.php:732 +#, php-format msgid "%d min" msgstr "" @@ -771,33 +782,39 @@ msgstr "" #: includes/class.cooked-measurements.php:703 #: includes/class.cooked-measurements.php:714 #: includes/class.cooked-measurements.php:732 +#, php-format msgid "%d mins" msgstr "" #. translators: singular and plural number of hours (shorthand) #: includes/class.cooked-measurements.php:712 #: includes/class.cooked-measurements.php:730 +#, php-format msgid "%d hr" msgstr "" #. translators: singular and plural number of hours (shorthand) #: includes/class.cooked-measurements.php:712 #: includes/class.cooked-measurements.php:730 +#, php-format msgid "%d hrs" msgstr "" #. translators: singular and plural number of days #: includes/class.cooked-measurements.php:728 +#, php-format msgid "%d day" msgstr "" #. translators: singular and plural number of days #: includes/class.cooked-measurements.php:728 +#, php-format msgid "%d days" msgstr "" #. translators: for displaying singular or plural versions depending on the number of recipes. #: includes/class.cooked-migration.php:47 +#, php-format msgid "There is %1$s recipe that should be migrated from %2$s to take advantage of new features and reliability." msgid_plural "There are %1$s recipes that should be migrated from %2$s to take advantage of new features and reliability." msgstr[0] "" @@ -833,6 +850,7 @@ msgstr "" #. translators: for displaying singular or plural versions depending on the number of recipes. #: includes/class.cooked-migration.php:90 +#, php-format msgid "There is %1$s recipe that is from an older version of Cooked. Please %2$s to migrate this recipe." msgid_plural "There are %1$s recipes that are from an older version of Cooked. Please %2$s to migrate these recipes." msgstr[0] "" @@ -851,47 +869,47 @@ msgstr "" msgid "Photo" msgstr "" -#: includes/class.cooked-post-types.php:436 +#: includes/class.cooked-post-types.php:403 msgid "Recipe Archive" msgstr "" -#: includes/class.cooked-post-types.php:455 +#: includes/class.cooked-post-types.php:422 msgid "Recipe" msgstr "" -#: includes/class.cooked-post-types.php:457 +#: includes/class.cooked-post-types.php:424 msgid "Add New Recipe" msgstr "" -#: includes/class.cooked-post-types.php:458 +#: includes/class.cooked-post-types.php:425 msgid "New Recipe" msgstr "" -#: includes/class.cooked-post-types.php:459 +#: includes/class.cooked-post-types.php:426 msgid "Edit Recipe" msgstr "" -#: includes/class.cooked-post-types.php:460 +#: includes/class.cooked-post-types.php:427 msgid "View Recipe" msgstr "" -#: includes/class.cooked-post-types.php:462 +#: includes/class.cooked-post-types.php:429 msgid "Search Recipes" msgstr "" -#: includes/class.cooked-post-types.php:463 +#: includes/class.cooked-post-types.php:430 msgid "No recipes found." msgstr "" -#: includes/class.cooked-post-types.php:464 +#: includes/class.cooked-post-types.php:431 msgid "No recipes found in trash." msgstr "" -#: includes/class.cooked-post-types.php:492 +#: includes/class.cooked-post-types.php:459 msgid "Recipe title ..." msgstr "" -#: includes/class.cooked-post-types.php:510 +#: includes/class.cooked-post-types.php:477 msgid "Cooked Browse Recipes Page" msgstr "" @@ -931,6 +949,7 @@ msgstr "" #. translators: for displaying singular or plural versions depending on the number of recipes. #: includes/class.cooked-recipe-meta.php:305 +#, php-format msgid "It looks like this recipe is from a different version of %s. Please review and click \"Update\" to save it." msgstr "" @@ -987,15 +1006,15 @@ msgid "This description is used for SEO purposes and is optional. By default, Co msgstr "" #: includes/class.cooked-recipe-meta.php:380 -#: includes/class.cooked-settings.php:227 +#: includes/class.cooked-settings.php:252 msgid "Difficulty Level" msgstr "" #: includes/class.cooked-recipe-meta.php:389 #: includes/class.cooked-recipe-meta.php:1037 -#: includes/class.cooked-settings.php:230 -#: includes/class.cooked-shortcodes.php:447 -#: includes/class.cooked-shortcodes.php:656 +#: includes/class.cooked-settings.php:255 +#: includes/class.cooked-shortcodes.php:448 +#: includes/class.cooked-shortcodes.php:659 msgid "Prep Time" msgstr "" @@ -1007,18 +1026,18 @@ msgstr "" #: includes/class.cooked-recipe-meta.php:394 #: includes/class.cooked-recipe-meta.php:1038 -#: includes/class.cooked-settings.php:231 -#: includes/class.cooked-shortcodes.php:448 -#: includes/class.cooked-shortcodes.php:665 +#: includes/class.cooked-settings.php:256 +#: includes/class.cooked-shortcodes.php:449 +#: includes/class.cooked-shortcodes.php:668 msgid "Cook Time" msgstr "" #: includes/class.cooked-recipe-meta.php:399 #: includes/class.cooked-recipe-meta.php:1039 -#: includes/class.cooked-settings.php:232 -#: includes/class.cooked-shortcodes.php:449 -#: includes/class.cooked-shortcodes.php:676 -#: includes/class.cooked-shortcodes.php:683 +#: includes/class.cooked-settings.php:257 +#: includes/class.cooked-shortcodes.php:450 +#: includes/class.cooked-shortcodes.php:679 +#: includes/class.cooked-shortcodes.php:686 msgid "Total Time" msgstr "" @@ -1080,27 +1099,27 @@ msgid "Nutrition Information" msgstr "" #: includes/class.cooked-recipe-meta.php:839 -#: includes/class.cooked-shortcodes.php:1045 +#: includes/class.cooked-shortcodes.php:1048 msgid "Nutrition Facts" msgstr "" #: includes/class.cooked-recipe-meta.php:857 -#: includes/class.cooked-shortcodes.php:1013 +#: includes/class.cooked-shortcodes.php:1016 msgid "Amount per serving" msgstr "" #: includes/class.cooked-recipe-meta.php:867 -#: includes/class.cooked-shortcodes.php:1023 +#: includes/class.cooked-shortcodes.php:1026 msgid "% Daily Value *" msgstr "" #: includes/class.cooked-recipe-meta.php:886 -#: includes/class.cooked-shortcodes.php:955 +#: includes/class.cooked-shortcodes.php:958 msgid "Includes" msgstr "" #: includes/class.cooked-recipe-meta.php:918 -#: includes/class.cooked-shortcodes.php:1049 +#: includes/class.cooked-shortcodes.php:1052 msgid "The % Daily Value (DV) tells you how much a nutrient in a serving of food contributes to a daily diet. 2,000 calories a day is used for general nutrition advice." msgstr "" @@ -1114,11 +1133,13 @@ msgstr "" #. translators: a title for the video section of the recipe editor, where users can paste a YouToub or Vimeo URL into the field below. #: includes/class.cooked-recipe-meta.php:961 +#, php-format msgid "%1$s or %2$s Video" msgstr "" #. translators: a message describing how to display a video from YouTube or Vimeo. #: includes/class.cooked-recipe-meta.php:965 +#, php-format msgid "If you would like to display a video as the first item in your gallery, you can paste a valid %1$s or %2$s URL below." msgstr "" @@ -1138,6 +1159,7 @@ msgstr "" #. translators: "left and right" section title #: includes/class.cooked-recipe-meta.php:1011 #: includes/class.cooked-recipe-meta.php:1021 +#, php-format msgid "\"%1$s\" and \"%2$s\"" msgstr "" @@ -1162,15 +1184,15 @@ msgid "Available Variables" msgstr "" #: includes/class.cooked-recipe-meta.php:1036 -#: includes/class.cooked-settings.php:225 -#: includes/class.cooked-shortcodes.php:444 -#: includes/class.cooked-shortcodes.php:609 +#: includes/class.cooked-settings.php:250 +#: includes/class.cooked-shortcodes.php:445 +#: includes/class.cooked-shortcodes.php:612 msgid "Author" msgstr "" #: includes/class.cooked-recipe-meta.php:1040 -#: includes/class.cooked-shortcodes.php:445 -#: includes/class.cooked-shortcodes.php:620 +#: includes/class.cooked-shortcodes.php:446 +#: includes/class.cooked-shortcodes.php:623 msgid "Difficulty" msgstr "" @@ -1179,9 +1201,9 @@ msgid "Servings Switcher" msgstr "" #: includes/class.cooked-recipe-meta.php:1042 -#: includes/class.cooked-settings.php:226 -#: includes/class.cooked-shortcodes.php:703 +#: includes/class.cooked-settings.php:251 #: includes/class.cooked-shortcodes.php:706 +#: includes/class.cooked-shortcodes.php:709 #: includes/class.cooked-taxonomies.php:39 msgid "Category" msgstr "" @@ -1270,21 +1292,25 @@ msgstr "" #. translators: related to the width of slideshows: "80% or 300px" section title #: includes/class.cooked-recipe-meta.php:1223 +#, php-format msgid "ex: \"%1$s\" or \"%2$s\"" msgstr "" #. translators: related to the image ratio for slideshows: "ex: 800/600" section title #: includes/class.cooked-recipe-meta.php:1228 +#, php-format msgid "ex: \"%s\"" msgstr "" #. translators: related to the navigation style for slideshows: "dots, thumbs or false" section title #: includes/class.cooked-recipe-meta.php:1233 +#, php-format msgid "\"%1$s\", \"%2$s\", or \"%3$s\"" msgstr "" #. translators: related to allowing full screen for slideshows: "true or false" section title #: includes/class.cooked-recipe-meta.php:1238 +#, php-format msgid "\"%1$s\" or \"%2$s\"" msgstr "" @@ -1314,6 +1340,7 @@ msgstr "" #. translators: "seconds, minutes and hours" section title #: includes/class.cooked-recipe-meta.php:1319 +#, php-format msgid "\"%1$s\", \"%2$s\" and \"%3$s\"" msgstr "" @@ -1346,11 +1373,13 @@ msgstr "" #: includes/class.cooked-recipes.php:268 #: includes/class.cooked-recipes.php:322 #: templates/front/recipe-single.php:47 +#, php-format msgid "By %s" msgstr "" #. translators: For showing "All" of a taxonomy (ex: "All Burgers") #: includes/class.cooked-recipes.php:384 +#, php-format msgid "All %s" msgstr "" @@ -1384,6 +1413,7 @@ msgstr "" #. translators: singular and plural quarter "serving" size #: includes/class.cooked-recipes.php:766 +#, php-format msgid "Quarter (%s Serving)" msgid_plural "Quarter (%s Servings)" msgstr[0] "" @@ -1391,6 +1421,7 @@ msgstr[1] "" #. translators: singular and plural quarter "serving" size #: includes/class.cooked-recipes.php:769 +#, php-format msgid "Half (%s Serving)" msgid_plural "Half (%s Servings)" msgstr[0] "" @@ -1398,6 +1429,7 @@ msgstr[1] "" #. translators: singular and plural quarter "serving" size #: includes/class.cooked-recipes.php:772 +#, php-format msgid "Default (%s Serving)" msgid_plural "Default (%s Servings)" msgstr[0] "" @@ -1405,72 +1437,80 @@ msgstr[1] "" #. translators: singular and plural quarter "serving" size #: includes/class.cooked-recipes.php:775 +#, php-format msgid "Double (%s Servings)" msgstr "" #. translators: singular and plural quarter "serving" size #: includes/class.cooked-recipes.php:778 +#, php-format msgid "Triple (%s Servings)" msgstr "" #: includes/class.cooked-recipes.php:792 -#: includes/class.cooked-shortcodes.php:446 +#: includes/class.cooked-shortcodes.php:447 msgid "Yields" msgstr "" #. translators: singular and plural "serving" sizes #: includes/class.cooked-recipes.php:796 -#: includes/class.cooked-recipes.php:806 +#: includes/class.cooked-recipes.php:807 +#, php-format msgid "%s Serving" msgid_plural "%s Servings" msgstr[0] "" msgstr[1] "" #. translators: singular and plural "steps" -#: includes/class.cooked-recipes.php:914 +#: includes/class.cooked-recipes.php:921 #: includes/class.cooked-seo.php:83 +#, php-format msgid "Step %d" msgstr "" -#: includes/class.cooked-recipes.php:969 +#: includes/class.cooked-recipes.php:976 msgid "Browse" msgstr "" -#: includes/class.cooked-recipes.php:986 -#: includes/class.cooked-settings.php:166 +#: includes/class.cooked-recipes.php:993 +#: includes/class.cooked-settings.php:178 msgid "No categories" msgstr "" -#: includes/class.cooked-recipes.php:989 -#: includes/class.cooked-settings.php:213 +#: includes/class.cooked-recipes.php:996 +#: includes/class.cooked-settings.php:226 #: includes/class.cooked-taxonomies.php:38 #: includes/class.cooked-taxonomies.php:48 msgid "Categories" msgstr "" -#: includes/class.cooked-recipes.php:991 +#: includes/class.cooked-recipes.php:998 #: includes/class.cooked-taxonomies.php:41 #: includes/widgets/recipe-categories.php:48 msgid "All Categories" msgstr "" -#: includes/class.cooked-recipes.php:1061 +#: includes/class.cooked-recipes.php:1068 msgid "Find a recipe..." msgstr "" -#: includes/class.cooked-recipes.php:1076 +#: includes/class.cooked-recipes.php:1070 +msgid "Search" +msgstr "" + +#: includes/class.cooked-recipes.php:1083 msgid "Newest first" msgstr "" -#: includes/class.cooked-recipes.php:1080 +#: includes/class.cooked-recipes.php:1087 msgid "Oldest first" msgstr "" -#: includes/class.cooked-recipes.php:1084 +#: includes/class.cooked-recipes.php:1091 msgid "Alphabetical (A-Z)" msgstr "" -#: includes/class.cooked-recipes.php:1088 +#: includes/class.cooked-recipes.php:1095 msgid "Alphabetical (Z-A)" msgstr "" @@ -1478,325 +1518,362 @@ msgstr "" msgid "Recipe Editor" msgstr "" -#: includes/class.cooked-settings.php:80 +#: includes/class.cooked-settings.php:87 msgid "Cooked settings has been updated!" msgstr "" -#: includes/class.cooked-settings.php:165 -msgid "Choose a page..." -msgstr "" - -#: includes/class.cooked-settings.php:165 -msgid "No pages" -msgstr "" - -#: includes/class.cooked-settings.php:166 +#: includes/class.cooked-settings.php:178 msgid "No default" msgstr "" -#: includes/class.cooked-settings.php:186 +#: includes/class.cooked-settings.php:198 msgid "General" msgstr "" -#: includes/class.cooked-settings.php:190 +#: includes/class.cooked-settings.php:202 msgid "Browse/Search Recipes Page" msgstr "" #. translators: a description on how to add the [cooked-browse] shortcode to a page -#: includes/class.cooked-settings.php:192 +#: includes/class.cooked-settings.php:204 +#, php-format msgid "Create a page with the %s shortcode on it, then choose it from this dropdown." msgstr "" -#: includes/class.cooked-settings.php:198 +#: includes/class.cooked-settings.php:211 msgid "Recipes Per Page" msgstr "" #. translators: a description on how to choose the default number of recipes per page. -#: includes/class.cooked-settings.php:200 +#: includes/class.cooked-settings.php:213 +#, php-format msgid "Choose the default (set via the %s panel) or choose a different number here." msgstr "" #. translators: a description on how to choose the default number of recipes per page. -#: includes/class.cooked-settings.php:200 +#: includes/class.cooked-settings.php:213 msgid "Settings > Reading" msgstr "" -#: includes/class.cooked-settings.php:206 +#: includes/class.cooked-settings.php:219 msgid "Recipe Taxonomies" msgstr "" -#: includes/class.cooked-settings.php:207 +#: includes/class.cooked-settings.php:220 msgid "Choose which taxonomies you want to enable for your recipes." msgstr "" -#: includes/class.cooked-settings.php:218 +#: includes/class.cooked-settings.php:231 msgid "Global Recipe Toggles" msgstr "" -#: includes/class.cooked-settings.php:219 +#: includes/class.cooked-settings.php:232 msgid "You can quickly hide or show different recipe elements (site-wide) with these checkboxes." msgstr "" -#: includes/class.cooked-settings.php:238 +#: includes/class.cooked-settings.php:263 msgid "Carbs Format" msgstr "" -#: includes/class.cooked-settings.php:239 +#: includes/class.cooked-settings.php:264 msgid "You can display carbs as \"Total\" or \"Net\"." msgstr "" -#: includes/class.cooked-settings.php:245 +#: includes/class.cooked-settings.php:270 msgid "Total Carbs" msgstr "" -#: includes/class.cooked-settings.php:246 +#: includes/class.cooked-settings.php:271 msgid "Net Carbs" msgstr "" -#: includes/class.cooked-settings.php:251 +#: includes/class.cooked-settings.php:276 msgid "Author Name Format" msgstr "" -#: includes/class.cooked-settings.php:252 +#: includes/class.cooked-settings.php:277 msgid "You can show the full author's name or just a part of it." msgstr "" -#: includes/class.cooked-settings.php:258 +#: includes/class.cooked-settings.php:283 msgid "Full name" msgstr "" -#: includes/class.cooked-settings.php:259 +#: includes/class.cooked-settings.php:284 msgid "Full first name w/last name initial" msgstr "" -#: includes/class.cooked-settings.php:260 +#: includes/class.cooked-settings.php:285 msgid "First name initial w/full last name" msgstr "" -#: includes/class.cooked-settings.php:261 +#: includes/class.cooked-settings.php:286 msgid "First name only" msgstr "" -#: includes/class.cooked-settings.php:266 +#: includes/class.cooked-settings.php:291 msgid "Author Links" msgstr "" -#: includes/class.cooked-settings.php:267 +#: includes/class.cooked-settings.php:292 msgid "If you do not want the author names to link to the author recipe listings, you can disable them here." msgstr "" -#: includes/class.cooked-settings.php:274 +#: includes/class.cooked-settings.php:299 msgid "Disable Author Links" msgstr "" -#: includes/class.cooked-settings.php:279 +#: includes/class.cooked-settings.php:304 msgid "Default Category" msgstr "" #. translators: a description on how to set the default recipe category for the [cooked-browse] shortcode. -#: includes/class.cooked-settings.php:281 +#: includes/class.cooked-settings.php:306 +#, php-format msgid "Optionally set the default recipe category for your %s shortcode display." msgstr "" -#: includes/class.cooked-settings.php:287 +#: includes/class.cooked-settings.php:312 msgid "Default Sort Order" msgstr "" #. translators: a description on how to set the default sort order for the [cooked-browse] shortcode. -#: includes/class.cooked-settings.php:289 +#: includes/class.cooked-settings.php:314 +#, php-format msgid "Set the default sort order for your %s shortcode display." msgstr "" -#: includes/class.cooked-settings.php:295 +#: includes/class.cooked-settings.php:320 msgid "Newest First" msgstr "" -#: includes/class.cooked-settings.php:296 +#: includes/class.cooked-settings.php:321 msgid "Oldest First" msgstr "" -#: includes/class.cooked-settings.php:297 +#: includes/class.cooked-settings.php:322 msgid "Alphabetical" msgstr "" -#: includes/class.cooked-settings.php:298 +#: includes/class.cooked-settings.php:323 msgid "Alphabetical (reversed)" msgstr "" -#: includes/class.cooked-settings.php:303 +#: includes/class.cooked-settings.php:328 +msgid "Section Heading Default HTML Tag" +msgstr "" + +#. translators: a description on how to set the default sort order for the [cooked-browse] shortcode. +#: includes/class.cooked-settings.php:330 +msgid "Set the default HTML tag for your section headings." +msgstr "" + +#: includes/class.cooked-settings.php:336 +msgid "div" +msgstr "" + +#: includes/class.cooked-settings.php:337 +msgid "h2" +msgstr "" + +#: includes/class.cooked-settings.php:338 +msgid "h3" +msgstr "" + +#: includes/class.cooked-settings.php:339 +msgid "h4" +msgstr "" + +#: includes/class.cooked-settings.php:340 +msgid "h5" +msgstr "" + +#: includes/class.cooked-settings.php:341 +msgid "h6" +msgstr "" + +#: includes/class.cooked-settings.php:346 msgid "WP Editor Roles" msgstr "" -#: includes/class.cooked-settings.php:304 +#: includes/class.cooked-settings.php:347 msgid "Choose which user roles can use the WP Editor for the Excerpt, Directions & Notes fields." msgstr "" -#: includes/class.cooked-settings.php:310 +#: includes/class.cooked-settings.php:353 msgid "Advanced Settings" msgstr "" #. translators: an option to only show recipes with the [cooked-recipe] shortcode. -#: includes/class.cooked-settings.php:320 +#: includes/class.cooked-settings.php:363 msgid "Disable Public Recipes" msgstr "" #. translators: an option to only show recipes with the [cooked-recipe] shortcode. -#: includes/class.cooked-settings.php:320 +#: includes/class.cooked-settings.php:363 +#, php-format msgid "Only show recipes using the %s shortcode." msgstr "" #. translators: an option to disable "meta" tags. -#: includes/class.cooked-settings.php:322 +#: includes/class.cooked-settings.php:365 +#, php-format msgid "Disable %s Tags" msgstr "" #. translators: an option to disable "meta" tags. -#: includes/class.cooked-settings.php:322 +#: includes/class.cooked-settings.php:365 msgid "Prevents duplicates when tags already exist." msgstr "" -#: includes/class.cooked-settings.php:323 +#: includes/class.cooked-settings.php:366 msgid "Disable \"Servings Switcher\"" msgstr "" -#: includes/class.cooked-settings.php:323 +#: includes/class.cooked-settings.php:366 msgid "Removes the servings dropdown on recipes." msgstr "" -#: includes/class.cooked-settings.php:324 +#: includes/class.cooked-settings.php:367 msgid "Disable Recipe Schema Output" msgstr "" -#: includes/class.cooked-settings.php:324 +#: includes/class.cooked-settings.php:367 msgid "You should only do this if you're using something else to output schema information." msgstr "" -#: includes/class.cooked-settings.php:325 +#: includes/class.cooked-settings.php:368 msgid "Disable Recipe Archive Page" msgstr "" -#: includes/class.cooked-settings.php:325 +#: includes/class.cooked-settings.php:368 msgid "Prevents the recipe archive from being displayed." msgstr "" -#: includes/class.cooked-settings.php:332 +#: includes/class.cooked-settings.php:375 msgid "Design" msgstr "" -#: includes/class.cooked-settings.php:336 +#: includes/class.cooked-settings.php:379 msgid "Dark Mode" msgstr "" -#: includes/class.cooked-settings.php:337 +#: includes/class.cooked-settings.php:380 msgid "If your site has a dark background, you should enable \"Dark Mode\" so that Cooked can match this style." msgstr "" -#: includes/class.cooked-settings.php:343 +#: includes/class.cooked-settings.php:386 msgid "Enable \"Dark Mode\"" msgstr "" -#: includes/class.cooked-settings.php:348 +#: includes/class.cooked-settings.php:391 msgid "Author Images" msgstr "" -#: includes/class.cooked-settings.php:349 +#: includes/class.cooked-settings.php:392 msgid "If you do not want to display the author images (avatars), you can disable them here." msgstr "" -#: includes/class.cooked-settings.php:356 +#: includes/class.cooked-settings.php:399 msgid "Hide Author Images" msgstr "" -#: includes/class.cooked-settings.php:361 +#: includes/class.cooked-settings.php:404 msgid "Main Color" msgstr "" -#: includes/class.cooked-settings.php:362 +#: includes/class.cooked-settings.php:405 msgid "Used on buttons, cooking timer, etc." msgstr "" -#: includes/class.cooked-settings.php:368 +#: includes/class.cooked-settings.php:411 msgid "Main Color (on hover)" msgstr "" -#: includes/class.cooked-settings.php:369 +#: includes/class.cooked-settings.php:412 msgid "Used when hovering over buttons." msgstr "" -#: includes/class.cooked-settings.php:375 +#: includes/class.cooked-settings.php:418 msgid "First Responsive Breakpoint" msgstr "" -#: includes/class.cooked-settings.php:376 +#: includes/class.cooked-settings.php:419 msgid "Set the first responsive breakpoint. Best for large tablets." msgstr "" -#: includes/class.cooked-settings.php:382 +#: includes/class.cooked-settings.php:425 msgid "Second Responsive Breakpoint" msgstr "" -#: includes/class.cooked-settings.php:383 +#: includes/class.cooked-settings.php:426 msgid "Set the second responsive breakpoint. Best for small tablets." msgstr "" -#: includes/class.cooked-settings.php:389 +#: includes/class.cooked-settings.php:432 msgid "Third Responsive Breakpoint" msgstr "" -#: includes/class.cooked-settings.php:390 +#: includes/class.cooked-settings.php:433 msgid "Set the third responsive breakpoint. Best for phones and other small devices." msgstr "" -#: includes/class.cooked-settings.php:398 +#: includes/class.cooked-settings.php:441 msgid "Permalinks" msgstr "" -#: includes/class.cooked-settings.php:402 +#: includes/class.cooked-settings.php:445 msgid "Recipe Permalink" msgstr "" -#: includes/class.cooked-settings.php:405 +#: includes/class.cooked-settings.php:448 msgid "recipe-name" msgstr "" -#: includes/class.cooked-settings.php:409 +#: includes/class.cooked-settings.php:452 msgid "Recipe Author Permalink" msgstr "" -#: includes/class.cooked-settings.php:412 +#: includes/class.cooked-settings.php:455 msgid "author-name" msgstr "" -#: includes/class.cooked-settings.php:416 +#: includes/class.cooked-settings.php:459 msgid "Recipe Category Permalink" msgstr "" -#: includes/class.cooked-settings.php:419 +#: includes/class.cooked-settings.php:462 msgid "recipe-category-name" msgstr "" #. translators: posts_per_page default -#: includes/class.cooked-settings.php:430 +#: includes/class.cooked-settings.php:473 +#, php-format msgid "WordPress Default %s" msgstr "" -#: includes/class.cooked-settings.php:435 +#: includes/class.cooked-settings.php:478 msgid "Show All (no pagination)" msgstr "" -#: includes/class.cooked-settings.php:579 +#: includes/class.cooked-settings.php:620 msgid "Begin Migration" msgstr "" #. translators: referring to the bottom of the Settings page. -#: includes/class.cooked-shortcodes.php:148 +#: includes/class.cooked-shortcodes.php:149 +#, php-format msgid "Public recipes are currently disabled. You can change this at the bottom of the %s page." msgstr "" -#: includes/class.cooked-shortcodes.php:296 +#: includes/class.cooked-shortcodes.php:297 msgid "(recipe not found or in draft status)" msgstr "" +#: includes/class.cooked-shortcodes.php:650 +msgid "Fullscreen" +msgstr "" + #: includes/class.cooked-taxonomies.php:40 msgid "Search Categories" msgstr "" @@ -1832,6 +1909,7 @@ msgstr "" #. translators: for displaying singular or plural versions depending on the number. #: includes/class.cooked-taxonomies.php:136 +#, php-format msgid "%s Recipe" msgid_plural "%s Recipes" msgstr[0] "" @@ -1954,11 +2032,13 @@ msgstr "" #. translators: referring to "Cooked Pro" #: templates/admin/pro.php:10 +#, php-format msgid "Ready for %s?" msgstr "" #. translators: referring to "Cooked Pro" #: templates/admin/pro.php:14 +#, php-format msgid "The %s upgrade adds loads of new features like ratings, favorites, user profiles, automatic nutrition information and more. Check out the list below for all of the details." msgstr "" @@ -2028,11 +2108,13 @@ msgstr "" #. translators: referring to "Cooked Pro" #: templates/admin/pro.php:48 +#, php-format msgid "Get %s" msgstr "" #. translators: referring to the "COOKED10" coupon code to get "10%" off Cooked Pro #: templates/admin/pro.php:52 +#, php-format msgid "Use coupon code %1$s for %2$s off!" msgstr "" @@ -2047,10 +2129,12 @@ msgstr "" #. translators: referring to "Cooked" #: templates/admin/welcome.php:10 +#, php-format msgid "Thanks for using %s!" msgstr "" #: templates/admin/welcome.php:16 +#, php-format msgid "If this is your first time using %1$s, head over to the %2$s page for some initial configuration. You can also check out the %3$s if you get stuck or contact me on %4$s. If you just recently updated, you can find out what's new below." msgstr "" @@ -2077,6 +2161,7 @@ msgstr "" #. translators: referring to the author (ex: Recipes by John Smith) #: templates/front/recipe-list.php:37 +#, php-format msgid "Recipes by %s" msgstr "" diff --git a/package-lock.json b/package-lock.json index c20b2a1..94494b4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cooked", - "version": "1.10.0", + "version": "1.11.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "cooked", - "version": "1.10.0", + "version": "1.11.0", "license": "ISC", "devDependencies": { "@playwright/test": "^1.48.2", @@ -411,23 +411,24 @@ } }, "node_modules/@paulirish/trace_engine": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@paulirish/trace_engine/-/trace_engine-0.0.50.tgz", - "integrity": "sha512-ktkbISnr0T9dkOxtnEadjYsbArMcvX2Wp8zwgyIP6KW0eOk2Oe2s49BY4v0qdE3uQdVv/GDdQ6MnoIFuYNJ9pg==", + "version": "0.0.53", + "resolved": "https://registry.npmjs.org/@paulirish/trace_engine/-/trace_engine-0.0.53.tgz", + "integrity": "sha512-PUl/vlfo08Oj804VI5nDPeSk9vyslnBlVzDDwFt8SUVxY8+KdGMkra/vrXjEEHe8gb7+RqVTfOIlGw0nyrEelA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { + "legacy-javascript": "latest", "third-party-web": "latest" } }, "node_modules/@playwright/test": { - "version": "1.51.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.51.1.tgz", - "integrity": "sha512-nM+kEaTSAoVlXmMPH10017vn3FSiFqr/bh4fKg9vmAdMfd9SDqRZNvPSiAHADc/itWak+qPvMPZQOPwCBW7k7Q==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.52.0.tgz", + "integrity": "sha512-uh6W7sb55hl7D6vsAeA+V2p5JnlAqzhqFyF0VcJkKZXkgnFcVG9PziERRHQfPLfNGx1C292a4JqbWzhR8L4R1g==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright": "1.51.1" + "playwright": "1.52.0" }, "bin": { "playwright": "cli.js" @@ -437,17 +438,17 @@ } }, "node_modules/@puppeteer/browsers": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.9.0.tgz", - "integrity": "sha512-8+xM+cFydYET4X/5/3yZMHs7sjS6c9I6H5I3xJdb6cinzxWUT/I2QVw4avxCQ8QDndwdHkG/FiSZIrCjAbaKvQ==", + "version": "2.10.5", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.10.5.tgz", + "integrity": "sha512-eifa0o+i8dERnngJwKrfp3dEq7ia5XFyoqB17S4gK8GhsQE4/P8nxOfQSE0zQHxzzLo/cmF+7+ywEQ7wK7Fb+w==", "dev": true, "license": "Apache-2.0", "dependencies": { - "debug": "^4.4.0", + "debug": "^4.4.1", "extract-zip": "^2.0.1", "progress": "^2.0.3", "proxy-agent": "^6.5.0", - "semver": "^7.7.1", + "semver": "^7.7.2", "tar-fs": "^3.0.8", "yargs": "^17.7.2" }, @@ -474,9 +475,9 @@ } }, "node_modules/@puppeteer/browsers/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "license": "MIT", "dependencies": { @@ -499,9 +500,9 @@ "license": "MIT" }, "node_modules/@puppeteer/browsers/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "license": "ISC", "bin": { @@ -623,13 +624,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.17.tgz", - "integrity": "sha512-nAJuQXoyPj04uLgu+obZcSmsfOenUg6DxPKogeUy6yNCFwWaj5sBF8/G/pNo8EtBJjAfSVgfIlugR/BCOleO+g==", + "version": "22.15.29", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.29.tgz", + "integrity": "sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.20.0" + "undici-types": "~6.21.0" } }, "node_modules/@types/yauzl": { @@ -644,9 +645,9 @@ } }, "node_modules/@wordpress/e2e-test-utils-playwright": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/@wordpress/e2e-test-utils-playwright/-/e2e-test-utils-playwright-1.21.0.tgz", - "integrity": "sha512-SeGRA7skkST9TB56yHeY8pNBN5iNdtz3bc2j9gSim7U73/BgbC4LZPVAK6NfRJlckhJHofp92PC9aExheWSJTQ==", + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/@wordpress/e2e-test-utils-playwright/-/e2e-test-utils-playwright-1.24.0.tgz", + "integrity": "sha512-0XKT/tfXyE8tyo7DFKd0QNdnP/19v68ujetEjeCiPe2vKbaleGBP0XS3ehpRmcuO+YtezAyvwXCtnvlKAdNPtA==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -874,9 +875,9 @@ "optional": true }, "node_modules/bare-fs": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.0.2.tgz", - "integrity": "sha512-S5mmkMesiduMqnz51Bfh0Et9EX0aTCJxhsI4bvzFFLs8Z1AV8RDHadfY5CyLwdoLHgXbNBEN1gQcbEtGwuvixw==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.5.tgz", + "integrity": "sha512-1zccWBMypln0jEE05LzZt+V/8y8AQsQQqxtklqaIyg5nu6OAYFhZxPXinJTSG+kU5qyNmeLgcn9AW7eHiCHVLA==", "dev": true, "license": "Apache-2.0", "optional": true, @@ -1147,9 +1148,9 @@ } }, "node_modules/chrome-launcher": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.1.2.tgz", - "integrity": "sha512-YclTJey34KUm5jB1aEJCq807bSievi7Nb/TU4Gu504fUYi3jw3KCIaH6L7nFWQhdEgH3V+wCh+kKD1P5cXnfxw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-1.2.0.tgz", + "integrity": "sha512-JbuGuBNss258bvGil7FT4HKdC3SC2K7UAEUqiPy3ACS3Yxo3hAW6bvFpCu2HsIJLgTqxgEX6BkujvzZfLpUD0Q==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -1159,16 +1160,16 @@ "lighthouse-logger": "^2.0.1" }, "bin": { - "print-chrome-path": "bin/print-chrome-path.js" + "print-chrome-path": "bin/print-chrome-path.cjs" }, "engines": { "node": ">=12.13.0" } }, "node_modules/chromium-bidi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-3.0.0.tgz", - "integrity": "sha512-ZOGRDAhBMX1uxL2Cm2TDuhImbrsEz5A/tTcVU6RpXEWaTNUNwsHW6njUXizh51Ir6iqHbKAfhA2XK33uBcLo5A==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-5.1.0.tgz", + "integrity": "sha512-9MSRhWRVoRPDG0TgzkHrshFSJJNZzfY5UFqUMuksg7zL1yoZIZ3jLB0YAgHclbiAxPI86pBnwDX1tbzoiV8aFw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -1214,13 +1215,6 @@ "node": ">=0.8" } }, - "node_modules/clone-stats": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==", - "dev": true, - "license": "MIT" - }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -1416,9 +1410,9 @@ } }, "node_modules/devtools-protocol": { - "version": "0.0.1436416", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1436416.tgz", - "integrity": "sha512-iGLhz2WOrlBLcTcoVsFy5dPPUqILG6cc8MITYd5lV6i38gWG14bMXRH/d8G5KITrWHBnbsOnWHfc9Qs4/jej9Q==", + "version": "0.0.1467305", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1467305.tgz", + "integrity": "sha512-LxwMLqBoPPGpMdRL4NkLFRNy3QLp6Uqa7GNp1v6JaBheop2QrB9Q7q0A/q/CYYP9sBfZdHOyszVx4gc9zyk7ow==", "dev": true, "license": "BSD-3-Clause" }, @@ -1690,9 +1684,9 @@ } }, "node_modules/extract-zip/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1989,9 +1983,9 @@ } }, "node_modules/get-uri/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2027,9 +2021,9 @@ } }, "node_modules/glob-stream": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-8.0.2.tgz", - "integrity": "sha512-R8z6eTB55t3QeZMmU1C+Gv+t5UnNRkA55c5yo67fAVfxODxieTwsjNG7utxS/73NdP1NbDgCrhVEg2h00y4fFw==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-8.0.3.tgz", + "integrity": "sha512-fqZVj22LtFJkHODT+M4N1RJQ3TjnnQhfE9GwZI8qXscYarnhpip70poMldRnP8ipQ/w0B621kOhfc53/J9bd/A==", "dev": true, "license": "MIT", "dependencies": { @@ -2139,16 +2133,16 @@ "license": "ISC" }, "node_modules/gulp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/gulp/-/gulp-5.0.0.tgz", - "integrity": "sha512-S8Z8066SSileaYw1S2N1I64IUc/myI2bqe2ihOBzO6+nKpvNSg7ZcWJt/AwF8LC/NVN+/QZ560Cb/5OPsyhkhg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-5.0.1.tgz", + "integrity": "sha512-PErok3DZSA5WGMd6XXV3IRNO0mlB+wW3OzhFJLEec1jSERg2j1bxJ6e5Fh6N6fn3FH2T9AP4UYNb/pYlADB9sA==", "dev": true, "license": "MIT", "dependencies": { "glob-watcher": "^6.0.0", - "gulp-cli": "^3.0.0", + "gulp-cli": "^3.1.0", "undertaker": "^2.0.0", - "vinyl-fs": "^4.0.0" + "vinyl-fs": "^4.0.2" }, "bin": { "gulp": "bin/gulp.js" @@ -2171,9 +2165,9 @@ } }, "node_modules/gulp-cli": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-3.0.0.tgz", - "integrity": "sha512-RtMIitkT8DEMZZygHK2vEuLPqLPAFB4sntSxg4NoDta7ciwGZ18l7JuhCTiS5deOJi2IoK0btE+hs6R4sfj7AA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-3.1.0.tgz", + "integrity": "sha512-zZzwlmEsTfXcxRKiCHsdyjZZnFvXWM4v1NqBJSYbuApkvVKivjcmOS2qruAJ+PkEHLFavcDKH40DPc1+t12a9Q==", "dev": true, "license": "MIT", "dependencies": { @@ -2182,7 +2176,7 @@ "copy-props": "^4.0.0", "gulplog": "^2.2.0", "interpret": "^3.1.1", - "liftoff": "^5.0.0", + "liftoff": "^5.0.1", "mute-stdout": "^2.0.0", "replace-homedir": "^2.0.0", "semver-greatest-satisfied-range": "^2.0.0", @@ -2461,9 +2455,9 @@ } }, "node_modules/http-proxy-agent/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2500,9 +2494,9 @@ } }, "node_modules/https-proxy-agent/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2573,9 +2567,9 @@ "license": "MIT" }, "node_modules/immutable": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.1.tgz", - "integrity": "sha512-3jatXi9ObIsPGr3N5hGw/vWWcTkq6hUYhpQz4k0wLC+owqWi/LiugIw9x0EdNZ2yGedKN/HzePiBvaJRXa0Ujg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.2.tgz", + "integrity": "sha512-qHKXW1q6liAk1Oys6umoaZbDRqjcjgSrbnrifHsfsttza7zcvRAsL7mMV6xWcyhwQy7Xj5v4hhbr6b+iDYwlmQ==", "dev": true, "license": "MIT" }, @@ -2932,6 +2926,13 @@ "node": ">=10.13.0" } }, + "node_modules/legacy-javascript": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/legacy-javascript/-/legacy-javascript-0.0.1.tgz", + "integrity": "sha512-lPyntS4/aS7jpuvOlitZDFifBCb4W8L/3QU0PLbUTUj+zYah8rfVjYic88yG7ZKTxhS5h9iz7duT8oUXKszLhg==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/lie": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", @@ -2943,9 +2944,9 @@ } }, "node_modules/liftoff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-5.0.0.tgz", - "integrity": "sha512-a5BQjbCHnB+cy+gsro8lXJ4kZluzOijzJ1UVVfyJYZC+IP2pLv1h4+aysQeKuTmyO8NAqfyQAk4HWaP/HjcKTg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-5.0.1.tgz", + "integrity": "sha512-wwLXMbuxSF8gMvubFcFRp56lkFV69twvbU5vDPbaw+Q+/rF8j0HKjGbIdlSi+LuJm9jf7k9PB+nTxnsLMPcv2Q==", "dev": true, "license": "MIT", "dependencies": { @@ -2962,19 +2963,19 @@ } }, "node_modules/lighthouse": { - "version": "12.5.1", - "resolved": "https://registry.npmjs.org/lighthouse/-/lighthouse-12.5.1.tgz", - "integrity": "sha512-ooOIqtBxOEnuX3yKtc8WiMPI/fPqHtXHaXU4ey87icRcY5I2B9+imk8i6U7duIO+yrU0WwbIwhmCs8s/FFNRgA==", + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/lighthouse/-/lighthouse-12.6.1.tgz", + "integrity": "sha512-85WDkjcXAVdlFem9Y6SSxqoKiz/89UsDZhLpeLJIsJ4LlHxw047XTZhlFJmjYCB7K5S1erSBAf5cYLcfyNbH3A==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@paulirish/trace_engine": "0.0.50", + "@paulirish/trace_engine": "0.0.53", "@sentry/node": "^7.0.0", "axe-core": "^4.10.3", - "chrome-launcher": "^1.1.2", + "chrome-launcher": "^1.2.0", "configstore": "^5.0.1", "csp_evaluator": "1.1.5", - "devtools-protocol": "0.0.1436416", + "devtools-protocol": "0.0.1467305", "enquirer": "^2.3.6", "http-link-header": "^1.1.1", "intl-messageformat": "^10.5.3", @@ -2987,11 +2988,11 @@ "metaviewport-parser": "0.3.0", "open": "^8.4.0", "parse-cache-control": "1.0.1", - "puppeteer-core": "^24.4.0", + "puppeteer-core": "^24.10.0", "robots-parser": "^3.0.1", "semver": "^5.3.0", "speedline-core": "^1.4.3", - "third-party-web": "^0.26.5", + "third-party-web": "^0.26.6", "tldts-icann": "^6.1.16", "ws": "^7.0.0", "yargs": "^17.3.1", @@ -3003,7 +3004,7 @@ "smokehouse": "cli/test/smokehouse/frontends/smokehouse-bin.js" }, "engines": { - "node": ">=18.16" + "node": ">=18.20" } }, "node_modules/lighthouse-logger": { @@ -3163,9 +3164,9 @@ } }, "node_modules/marky": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz", - "integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/marky/-/marky-1.3.0.tgz", + "integrity": "sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==", "dev": true, "license": "Apache-2.0" }, @@ -3390,9 +3391,9 @@ } }, "node_modules/pac-proxy-agent/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3550,13 +3551,13 @@ } }, "node_modules/playwright": { - "version": "1.51.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.51.1.tgz", - "integrity": "sha512-kkx+MB2KQRkyxjYPc3a0wLZZoDczmppyGJIvQ43l+aZihkaVvmu/21kiyaHeHjiFxjxNNFnUncKmcGIyOojsaw==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.52.0.tgz", + "integrity": "sha512-JAwMNMBlxJ2oD1kce4KPtMkDeKGHQstdpFPcPH3maElAXon/QZeTvtsfXmTMRyO9TslfoYOXkSsvao2nE1ilTw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.51.1" + "playwright-core": "1.52.0" }, "bin": { "playwright": "cli.js" @@ -3569,9 +3570,9 @@ } }, "node_modules/playwright-core": { - "version": "1.51.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.51.1.tgz", - "integrity": "sha512-/crRMj8+j/Nq5s8QcvegseuyeZPxpQCZb6HNk3Sos3BlZyAknRjoyJPFWkpNn8v0+P3WiwqFF8P+zQo4eqiNuw==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.52.0.tgz", + "integrity": "sha512-l2osTgLXSMeuLZOML9qYODUQoPPnUsKsb5/P6LJ2e6uPKXUdPK5WYhN4z03G+YNbWmGDY4YENauNu4ZKczreHg==", "dev": true, "license": "Apache-2.0", "bin": { @@ -3663,9 +3664,9 @@ } }, "node_modules/proxy-agent/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3706,27 +3707,27 @@ } }, "node_modules/puppeteer-core": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.5.0.tgz", - "integrity": "sha512-vqibSk7xGOoqOlPUk3H+Iz02b4jCEd5QxaiuXclqyyBrJ6ZK22mXkg9HBSpyZePq6vKWh5ZAqUilSnbF2bv4Jg==", + "version": "24.10.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.10.0.tgz", + "integrity": "sha512-xX0QJRc8t19iAwRDsAOR38Q/Zx/W6WVzJCEhKCAwp2XMsaWqfNtQ+rBfQW9PlF+Op24d7c8Zlgq9YNmbnA7hdQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@puppeteer/browsers": "2.9.0", - "chromium-bidi": "3.0.0", - "debug": "^4.4.0", - "devtools-protocol": "0.0.1413902", + "@puppeteer/browsers": "2.10.5", + "chromium-bidi": "5.1.0", + "debug": "^4.4.1", + "devtools-protocol": "0.0.1452169", "typed-query-selector": "^2.12.0", - "ws": "^8.18.1" + "ws": "^8.18.2" }, "engines": { "node": ">=18" } }, "node_modules/puppeteer-core/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3742,9 +3743,9 @@ } }, "node_modules/puppeteer-core/node_modules/devtools-protocol": { - "version": "0.0.1413902", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1413902.tgz", - "integrity": "sha512-yRtvFD8Oyk7C9Os3GmnFZLu53yAfsnyw1s+mLmHHUK0GQEc9zthHWvS1r67Zqzm5t7v56PILHIVZ7kmFMaL2yQ==", + "version": "0.0.1452169", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1452169.tgz", + "integrity": "sha512-FOFDVMGrAUNp0dDKsAU1TorWJUx2JOU1k9xdgBKKJF3IBh/Uhl2yswG5r3TEAOrCiGY2QRp1e6LVDQrCsTKO4g==", "dev": true, "license": "BSD-3-Clause" }, @@ -3756,9 +3757,9 @@ "license": "MIT" }, "node_modules/puppeteer-core/node_modules/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", + "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", "dev": true, "license": "MIT", "engines": { @@ -3953,9 +3954,9 @@ "license": "MIT" }, "node_modules/sass": { - "version": "1.86.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.86.1.tgz", - "integrity": "sha512-Yaok4XELL1L9Im/ZUClKu//D2OP1rOljKj0Gf34a+GzLbMveOzL7CfqYo+JUa5Xt1nhTCW+OcKp/FtR7/iqj1w==", + "version": "1.89.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.89.1.tgz", + "integrity": "sha512-eMLLkl+qz7tx/0cJ9wI+w09GQ2zodTkcE/aVfywwdlRcI3EO19xGnbmJwg/JMIm+5MxVJ6outddLZ4Von4E++Q==", "dev": true, "license": "MIT", "dependencies": { @@ -4098,9 +4099,9 @@ } }, "node_modules/socks-proxy-agent/node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4192,9 +4193,9 @@ "license": "MIT" }, "node_modules/streamx": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz", - "integrity": "sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==", + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.1.tgz", + "integrity": "sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==", "dev": true, "license": "MIT", "dependencies": { @@ -4291,9 +4292,9 @@ } }, "node_modules/tar-fs": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.8.tgz", - "integrity": "sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.9.tgz", + "integrity": "sha512-XF4w9Xp+ZQgifKakjZYmFdkLoSWd34VGKcsTCwlNWM7QG3ZbaxnTsaBwnjFZqHRf/rROxaR8rXnbtwdvaDI+lA==", "dev": true, "license": "MIT", "dependencies": { @@ -4338,9 +4339,9 @@ } }, "node_modules/third-party-web": { - "version": "0.26.5", - "resolved": "https://registry.npmjs.org/third-party-web/-/third-party-web-0.26.5.tgz", - "integrity": "sha512-tDuKQJUTfjvi9Fcrs1s6YAQAB9mzhTSbBZMfNgtWNmJlHuoFeXO6dzBFdGeCWRvYL50jQGK0jPsBZYxqZQJ2SA==", + "version": "0.26.6", + "resolved": "https://registry.npmjs.org/third-party-web/-/third-party-web-0.26.6.tgz", + "integrity": "sha512-GsjP92xycMK8qLTcQCacgzvffYzEqe29wyz3zdKVXlfRD5Kz1NatCTOZEeDaSd6uCZXvGd2CNVtQ89RNIhJWvA==", "dev": true, "license": "MIT" }, @@ -4355,20 +4356,20 @@ } }, "node_modules/tldts-core": { - "version": "6.1.85", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.85.tgz", - "integrity": "sha512-DTjUVvxckL1fIoPSb3KE7ISNtkWSawZdpfxGxwiIrZoO6EbHVDXXUIlIuWympPaeS+BLGyggozX/HTMsRAdsoA==", + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", + "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", "dev": true, "license": "MIT" }, "node_modules/tldts-icann": { - "version": "6.1.85", - "resolved": "https://registry.npmjs.org/tldts-icann/-/tldts-icann-6.1.85.tgz", - "integrity": "sha512-LIL8koGz5n2ni5wym7qw5vjeZxCgh5uI0Vs4LQu6M8k1IoknMttui/WTVI58jXBqRRSx76IniSJdeZDVFdALdw==", + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts-icann/-/tldts-icann-6.1.86.tgz", + "integrity": "sha512-NFxmRT2lAEMcCOBgeZ0NuM0zsK/xgmNajnY6n4S1mwAKocft2s2ise1O3nQxrH3c+uY6hgHUV9GGNVp7tUE4Sg==", "dev": true, "license": "MIT", "dependencies": { - "tldts-core": "^6.1.85" + "tldts-core": "^6.1.86" } }, "node_modules/to-regex-range": { @@ -4471,9 +4472,9 @@ } }, "node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, @@ -4538,14 +4539,13 @@ } }, "node_modules/vinyl": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", - "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.1.tgz", + "integrity": "sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==", "dev": true, "license": "MIT", "dependencies": { "clone": "^2.1.2", - "clone-stats": "^1.0.0", "remove-trailing-separator": "^1.1.0", "replace-ext": "^2.0.0", "teex": "^1.0.1" @@ -4569,14 +4569,14 @@ } }, "node_modules/vinyl-fs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-4.0.0.tgz", - "integrity": "sha512-7GbgBnYfaquMk3Qu9g22x000vbYkOex32930rBnc3qByw6HfMEAoELjCjoJv4HuEQxHAurT+nvMHm6MnJllFLw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-4.0.2.tgz", + "integrity": "sha512-XRFwBLLTl8lRAOYiBqxY279wY46tVxLaRhSwo3GzKEuLz1giffsOquWWboD/haGf5lx+JyTigCFfe7DWHoARIA==", "dev": true, "license": "MIT", "dependencies": { "fs-mkdirp-stream": "^2.0.1", - "glob-stream": "^8.0.0", + "glob-stream": "^8.0.3", "graceful-fs": "^4.2.11", "iconv-lite": "^0.6.3", "is-valid-glob": "^1.0.0", @@ -4587,7 +4587,7 @@ "streamx": "^2.14.0", "to-through": "^3.0.0", "value-or-function": "^4.0.0", - "vinyl": "^3.0.0", + "vinyl": "^3.0.1", "vinyl-sourcemap": "^2.0.0" }, "engines": { @@ -4793,9 +4793,9 @@ } }, "node_modules/zod": { - "version": "3.24.2", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.2.tgz", - "integrity": "sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==", + "version": "3.25.49", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.49.tgz", + "integrity": "sha512-JMMPMy9ZBk3XFEdbM3iL1brx4NUSejd6xr3ELrrGEfGb355gjhiAWtG3K5o+AViV/3ZfkIrCzXsZn6SbLwTR8Q==", "dev": true, "license": "MIT", "funding": { diff --git a/package.json b/package.json index 1c68d69..5bb1844 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cooked", - "version": "1.10.0", + "version": "1.11.0", "description": "Cooked is the absolute best way to create & display recipes with WordPress. SEO optimized (rich snippets), galleries, cooking timers, printable recipes and much more.", "main": "index.js", "scripts": { diff --git a/readme.txt b/readme.txt index 71cb50b..d1f4174 100644 --- a/readme.txt +++ b/readme.txt @@ -2,8 +2,8 @@ Contributors: xjsv, boxystudio Tags: recipe, recipes, food, cooking, nutrition Requires at least: 4.7 -Tested up to: 6.7.1 -Stable tag: 1.10.0 +Tested up to: 6.8.1 +Stable tag: 1.11.0 Requires PHP: 7.4 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html @@ -76,10 +76,21 @@ Be sure to check the [Cooked Documentation](https://github.com/XjSv/Cooked/wiki) == Upgrade Notice == -Version 1.10.0 includes a major change to recipe post statuses - now using WordPress default statuses (publish, pending, draft, trash) instead of custom statuses. This change improves performance and plugin compatibility. Also includes improvements to SEO with nofollow/noindex for print pages, new heading options for Directions/Ingredients sections, and various bug fixes. +Version 1.11.0 includes bug fixes for user roles and PHP issues, new heading tag options, improved Browse Recipe filters, and accessibility enhancements. == Changelog == += 1.11.0 = +* **FIX:** Fixed a bug when users have multiple roles where the WP Editor does not appear in the recipe edit screen. +* **NEW:** Added the 'cooked_format_author_name' developer filter for customizing how author names are displayed via code. View the [Cooked Documentation](https://github.com/XjSv/Cooked/wiki/Author-Name) for more information. +* **NEW:** Added 'Default Heading Tags' settings option to allow users to choose between H2, H3, H4, H5, H6 or Div for the Directions and Ingredients sections. +* **FIX:** Fixed a couple of PHP related issues. +* **FIX:** Fixed a bug with the Browse Recipe filters that would not work when the Browse Recipe Page is set as the Homepage. +* **FIX:** Fixed a bug with default values not loading when introducing a new settings field and the settings page was not saved yet. +* **TWEAK:** Changed the way the cooked migration is checked for better performance. +* **TWEAK:** Accessibility improvements throughout the plugin. +* **TWEAK:** Settings UI improvements. + = 1.10.0 = * **TWEAK:** Simplified recipe status options to match standard WordPress statuses (publish, pending, draft, trash) for better performance and plugin compatibility. * **TWEAK:** Improved SEO by preventing print pages from being indexed in search engines. diff --git a/templates/front/recipe-single.php b/templates/front/recipe-single.php index 988307a..91b5907 100644 --- a/templates/front/recipe-single.php +++ b/templates/front/recipe-single.php @@ -44,7 +44,7 @@ echo ''; $author = $recipe['author']; /* translators: referring to the author (ex: By John Smith) */ - echo sprintf( __( 'By %s', 'cooked' ), '' . esc_html( $author['name'] ) . '' ); + echo sprintf( __( 'By %s', 'cooked' ), '' . $author['name'] . '' ); echo ''; endif; diff --git a/vendor/autoload.php b/vendor/autoload.php index 5c5edb4..9c07ee1 100644 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -14,10 +14,7 @@ echo $err; } } - trigger_error( - $err, - E_USER_ERROR - ); + throw new RuntimeException($err); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/vendor/composer/InstalledVersions.php b/vendor/composer/InstalledVersions.php index 6d29bff..2052022 100644 --- a/vendor/composer/InstalledVersions.php +++ b/vendor/composer/InstalledVersions.php @@ -26,6 +26,12 @@ */ class InstalledVersions { + /** + * @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to + * @internal + */ + private static $selfDir = null; + /** * @var mixed[]|null * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array}|array{}|null @@ -322,6 +328,18 @@ public static function reload($data) self::$installedIsLocalDir = false; } + /** + * @return string + */ + private static function getSelfDir() + { + if (self::$selfDir === null) { + self::$selfDir = strtr(__DIR__, '\\', '/'); + } + + return self::$selfDir; + } + /** * @return array[] * @psalm-return list}> @@ -336,7 +354,7 @@ private static function getInstalled() $copiedLocalDir = false; if (self::$canGetVendors) { - $selfDir = strtr(__DIR__, '\\', '/'); + $selfDir = self::getSelfDir(); foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { $vendorDir = strtr($vendorDir, '\\', '/'); if (isset(self::$installedByVendor[$vendorDir])) { diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index 3bda73a..cb9dc10 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -1,8 +1,8 @@ array( 'name' => 'xjsv/cooked', - 'pretty_version' => '1.10.0', - 'version' => '1.10.0.0', + 'pretty_version' => '1.11.0', + 'version' => '1.11.0.0', 'reference' => null, 'type' => 'wordpress-plugin', 'install_path' => __DIR__ . '/../../', @@ -20,8 +20,8 @@ 'dev_requirement' => false, ), 'xjsv/cooked' => array( - 'pretty_version' => '1.10.0', - 'version' => '1.10.0.0', + 'pretty_version' => '1.11.0', + 'version' => '1.11.0.0', 'reference' => null, 'type' => 'wordpress-plugin', 'install_path' => __DIR__ . '/../../',