{"id":139589,"date":"2021-04-15T04:14:04","date_gmt":"2021-04-15T04:14:04","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/xiaodu-jsdelivr\/"},"modified":"2022-06-06T14:42:15","modified_gmt":"2022-06-06T14:42:15","slug":"xiaodu-jsdelivr","status":"publish","type":"plugin","link":"https:\/\/frp.wordpress.org\/plugins\/xiaodu-jsdelivr\/","author":18674501,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.4.2","stable_tag":"1.4.2","tested":"6.0.11","requires":"5.3","requires_php":"7.2","requires_plugins":"","header_name":"xiaodu-jsdelivr","header_author":"Xiaodu @ Du9L.com","header_description":"Scan and serve static files from jsDelivr CDN <https:\/\/jsdelivr.com>.","assets_banners_color":"","last_updated":"2022-06-06 14:42:15","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/xiaodu-jsdelivr\/","header_author_uri":"https:\/\/t.du9l.com","rating":5,"author_block_rating":0,"active_installs":60,"downloads":3495,"num_ratings":4,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"dujiulun2006","date":"2021-04-15 04:14:50"},"1.1":{"tag":"1.1","author":"dujiulun2006","date":"2021-05-14 13:55:10"},"1.2":{"tag":"1.2","author":"dujiulun2006","date":"2021-05-14 16:55:54"},"1.2.1":{"tag":"1.2.1","author":"dujiulun2006","date":"2021-05-15 14:04:26"},"1.3":{"tag":"1.3","author":"dujiulun2006","date":"2021-07-08 18:39:30"},"1.4":{"tag":"1.4","author":"dujiulun2006","date":"2021-08-05 17:24:01"},"1.4.1":{"tag":"1.4.1","author":"dujiulun2006","date":"2021-08-07 07:54:14"},"1.4.2":{"tag":"1.4.2","author":"dujiulun2006","date":"2022-06-06 14:42:15"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":4},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.1","1.2","1.2.1","1.3","1.4","1.4.1","1.4.2"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[3863,37721,17693],"plugin_category":[59],"plugin_contributors":[198460],"plugin_business_model":[],"class_list":["post-139589","plugin","type-plugin","status-publish","hentry","plugin_tags-cdn","plugin_tags-jsdelivr","plugin_tags-static","plugin_category-utilities-and-tools","plugin_contributors-dujiulun2006","plugin_committers-dujiulun2006"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/xiaodu-jsdelivr.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Scan and serve static files from jsDelivr CDN (https:\/\/jsdelivr.com).<\/p>\n\n<h4>How to use<\/h4>\n\n<ol>\n<li>Install and activate the plugin<\/li>\n<li>Wait for the initial scan(s) to complete. Scan results are shown on the plugin's options page<\/li>\n<li>The static file references on the frontend and admin area will be replaced<\/li>\n<\/ol>\n\n<h4>How it works<\/h4>\n\n<p>Explained in my <a href=\"https:\/\/s.du9l.com\/u7yiP\">blog entry<\/a>.<\/p>\n\n<h4>Source code repository<\/h4>\n\n<p>Check out the <a href=\"https:\/\/github.com\/Du9L\/wordpress-plugin-xiaodu-jsdelivr\">GitHub repository<\/a>.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id='the%20plugin%20won%27t%20scan'><h3>The plugin won't scan<\/h3><\/dt>\n<dd><p>Please make sure that your WP-Cron is working, or look into alternative ways to trigger cron executions.<\/p><\/dd>\n<dt id='no%20references%20are%20replaced'><h3>No references are replaced<\/h3><\/dt>\n<dd><p>Please wait for the scan to finish. The initial scan may take a while.<\/p>\n\n<p>Also make sure that your frontend cache plugin (e.g. WP Super Cache) is not serving stale pages.<\/p><\/dd>\n<dt id='what%20is%20%22scan%20api%22%3F'><h3>What is \"Scan API\"?<\/h3><\/dt>\n<dd><p>It is an optional hosted service, using pre-calculated scan results to accelerate the scanning process.\nSee my <a href=\"https:\/\/s.du9l.com\/RKimP\">blog post<\/a> for details.<\/p>\n\n<p>If you leave the toggle unchecked, nothing will be sent to the service.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Add options to control API access timeout and scan failure record timeout<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Adopt WordPress remote request API for sending HTTP requests<\/li>\n<li>Make a HEAD request to check API key to avoid useless data preparation<\/li>\n<\/ul>\n\n<h4>1.4<\/h4>\n\n<ul>\n<li>Add theme version upload support for Scan API<\/li>\n<li>Add an option for Replacer to use minified versions of JS \/ CSS files<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Add \"Scan API\", an optional hosted service to assist and accelerate the scanning process<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>When a file cannot be matched with a remote timeout, try again soon<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Record failed paths during scans to avoid unnecessary attempts in future scans<\/li>\n<li>Show scan result and failed paths on options page<\/li>\n<li>Add an option to randomize scan order<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Provide an options page with status display and two new options<\/li>\n<li>Better scan timeout handling<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>First version with working Scanner and Replacer.<\/li>\n<\/ul>","raw_excerpt":"Scan and serve static files from jsDelivr CDN (https:\/\/jsdelivr.com).","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/139589","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=139589"}],"author":[{"embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/dujiulun2006"}],"wp:attachment":[{"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=139589"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=139589"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=139589"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=139589"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=139589"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=139589"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}