[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fgVlvbM_5MaCdPP5zJP4VkIpSDlbNn5uFYFjs3AmKwLg":3},{"slug":4,"display_name":5,"profile_url":6,"plugin_count":7,"total_installs":8,"avg_security_score":9,"avg_patch_time_days":10,"trust_score":11,"computed_at":12,"plugins":13},"jorisvanmontfort","Joris van Montfort","https:\u002F\u002Fprofiles.wordpress.org\u002Fjorisvanmontfort\u002F",5,4200,91,27,88,"2026-04-04T15:36:06.307Z",[14,40,61,78,95],{"slug":15,"name":16,"version":17,"author":5,"author_profile":6,"description":18,"short_description":19,"active_installs":20,"downloaded":21,"rating":22,"num_ratings":23,"last_updated":24,"tested_up_to":25,"requires_at_least":26,"requires_php":27,"tags":28,"homepage":27,"download_link":34,"security_score":35,"vuln_count":36,"unpatched_count":37,"last_vuln_date":38,"fetched_at":39},"jvm-rich-text-icons","JVM Rich Text Icons","1.6.6","\u003Cp>Add icons to any rich text field in the WordPress block editor. Insert icons inline in paragraphs, headings, lists, buttons, or use the dedicated single icon block.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Icon picker\u003C\u002Fstrong> – Select icons from a searchable popup in the block editor toolbar.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Font Awesome included\u003C\u002Fstrong> – Ships with Font Awesome 4.7, 5.x and 6.x. Choose your preferred version from the settings.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom SVG icon set\u003C\u002Fstrong> – Upload your own SVG icons via a drag & drop uploader in the plugin settings. This is the recommended approach for the best performance.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Single icon block\u003C\u002Fstrong> – A dedicated block with font size, color, alignment and spacing options.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ACF integration\u003C\u002Fstrong> – Adds a “JVM Icon” field type for Advanced Custom Fields.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fnl.wordpress.org\u002Fplugins\u002Fjvm-rich-text-icons\u002F?preview=1\" rel=\"nofollow ugc\">See it in action\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>How it works\u003C\u002Fh4>\n\u003Cp>Pick an icon from the toolbar while editing any rich text field. The plugin inserts a small HTML tag that gets styled by the chosen icon set.\u003C\u002Fp>\n\u003Ch4>Why use a custom SVG icon set?\u003C\u002Fh4>\n\u003Cp>When you use a custom SVG icon set, the plugin defaults to \u003Cstrong>inline SVG rendering\u003C\u002Fstrong>. This is a great choice for performance! Google PageSpeed Insights will thank you.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Better page speed\u003C\u002Fstrong> – No render-blocking CSS or font files to download. Icons are part of the HTML itself.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Only loads what you use\u003C\u002Fstrong> – Unlike Font Awesome which loads CSS for hundreds of icons, inline SVG only includes the icons that are actually on the page.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No external requests\u003C\u002Fstrong> – Everything is served inline, so there are no extra HTTP requests for font or CSS files.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Inherits text color\u003C\u002Fstrong> – Icons automatically use the surrounding text color, no extra CSS needed.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fully reversible\u003C\u002Fstrong> – The stored content in the database is not modified. You can switch between render technologies at any time from the plugin settings if you want to.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Alternative render technologies (CSS masks, ::before \u002F ::after pseudo-elements) are also available for custom SVG icons if your use case requires it.\u003C\u002Fp>\n\u003Ch4>For developers\u003C\u002Fh4>\n\u003Cp>The plugin provides several filter hooks to customize its behavior. You can load your own icon set, CSS file, or change the icon class prefix.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Load a custom icon set file\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'jvm_richtext_icons_iconset_file', function($file) {\n    return get_stylesheet_directory() . '\u002Fpath_to_my\u002Ficons.json';\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Load a custom CSS file\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'jvm_richtext_icons_css_file', function($cssfile) {\n    return get_stylesheet_directory_uri() . '\u002Fpath_to_my\u002Fcssfile.css';\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>To disable the default CSS file entirely:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'jvm_richtext_icons_css_file', '__return_false');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Change the icon class prefix\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'jvm_richtext_icons_base_class', function() {\n    return 'my-custom-css-class-name';\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Disable the settings screen\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'jvm_richtext_icons_show_settings', '__return_false');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Please note that if you are loading a custom icon set with the plugin hook: \u003Ccode>jvm_richtext_icons_css_file\u003C\u002Fcode>, you should make sure the plugin is not set to My SVG uploads as this setting does not load any CSS file.\u003C\u002Fp>\n","Insert icons anywhere in your content — inline in text, headings, buttons, or as a standalone block.",3000,40219,100,10,"2026-02-23T12:36:00.000Z","6.9.4","5.4","",[29,30,31,32,33],"font-awesome","gutenberg","icon","icon-block","svg","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fjvm-rich-text-icons.1.6.6.zip",98,2,0,"2023-12-27 00:00:00","2026-03-15T15:16:48.613Z",{"slug":41,"name":42,"version":43,"author":5,"author_profile":6,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":22,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":27,"tags":52,"homepage":27,"download_link":58,"security_score":59,"vuln_count":37,"unpatched_count":37,"last_vuln_date":60,"fetched_at":39},"cf7-ace-syntax-highlighting","Contact Form 7 Syntax Highlighting","0.2.4","\u003Cp>Are you using HTML code in your Contact Form 7 forms and email bodies? Ace syntax highlighting enhanches the Contact Form 7 backend and makes it easy to code HTML for complex forms.\u003C\u002Fp>\n","Adds syntax higlighting to the Contact Form 7 admin screens. Requires the Contact Form 7 plugin.",1000,7134,6,"2020-05-19T11:47:00.000Z","5.4.19","4.0.1",[53,54,55,56,57],"contact-form-7","contact-form-7-form-editor","contact-form-7-html-editor","form-textarea","html-editor","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcf7-ace-syntax-highlighting.zip",85,null,{"slug":62,"name":63,"version":64,"author":5,"author_profile":6,"description":65,"short_description":66,"active_installs":67,"downloaded":68,"rating":22,"num_ratings":69,"last_updated":70,"tested_up_to":71,"requires_at_least":72,"requires_php":27,"tags":73,"homepage":27,"download_link":77,"security_score":59,"vuln_count":37,"unpatched_count":37,"last_vuln_date":60,"fetched_at":39},"jvm-details-summary","JVM Details & Summary","1.0.1","\u003Cp>The plugin will provide a collapsible HTML  block with a  element that will be shown when the element is collapsed. Inside the details you can put all possible editor blocks you want.\u003C\u002Fp>\n\u003Cp>The plugin is provided without styling and relies on (child) theme developers to implement CSS for further visual styling.\u003C\u002Fp>\n\u003Ch4>1.0.1\u003C\u002Fh4>\n\u003Cp>Minor updates for WordPress 6.2\u003C\u002Fp>\n\u003Ch4>1.0.0\u003C\u002Fh4>\n\u003Cp>Initial release\u003C\u002Fp>\n\u003Ch4>Stable\u003C\u002Fh4>\n\u003Cp>1.0.0\u003C\u002Fp>\n","Proivides a gutenberg details and summary block wich can be used as a simple accordion type.",200,2699,1,"2023-03-30T11:42:00.000Z","6.2.9","5.0.0",[74,75,76,30],"block","blocks","editor","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fjvm-details-summary.zip",{"slug":79,"name":80,"version":81,"author":5,"author_profile":6,"description":82,"short_description":83,"active_installs":37,"downloaded":84,"rating":37,"num_ratings":37,"last_updated":85,"tested_up_to":86,"requires_at_least":87,"requires_php":27,"tags":88,"homepage":27,"download_link":94,"security_score":59,"vuln_count":37,"unpatched_count":37,"last_vuln_date":60,"fetched_at":39},"jvm-protected-media","JVM Protected Media","1.0.6","\u003Cp>Protect access to all your media files and implement your own custom file access rules using a hook. Works for apache with mod rewrite or nginx with some custom configuration. No Multisite support. This plugin is more or less a development tool for defining your own custom file access rules.\u003C\u002Fp>\n\u003Cp>For nginx you will need to modify the config file as nginx does not handle .htacess files. Add the following code:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>location ~ \"^\u002Fwp-content\u002Fuploads\u002F(.*)$\" {\n    rewrite ^\u002Fwp-content\u002Fuploads(\u002F.*\\.\\w+)$ \u002Findex.php?jvm_protected_media_file=$1;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Hooks\u003C\u002Fh3>\n\u003Cp>Without a custom hook all file access will be disabled. The user will see the 404 page for all requested files. Adding a hook is needed to handle your own file access rules. A simple example that could go into your functions.php:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>function my_file_access_rule($file_info) {\n    \u002F\u002F Implement your own logic here\n    $userHasAccess = true;\n\n    if($userHasAccess) {\n        \u002F\u002F Send the file output if users has access to the file\n        JVM_Protected_Media::send_file_output($file_info['path']);\n    }\n}\n\nadd_action( 'jvm_protected_media_file', 'my_file_access_rule');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The jvm_protected_media_file action has one parameter with the following file information:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Array\n(\n    [id] => id_of_the_file\n    [url] => full\u002Furl\u002Fto\u002Fyour\u002Ffile\n    [path] => full\u002Fpath\u002Fto\u002Fyour\u002Ffile\n    [is_resized_image] => bool (true if the requested file is a image thumbnail or resized version of an image)\n)\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Actions\u003C\u002Fh3>\n\u003Cp>Available actions:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>jvm_protected_media_loaded (fires as soon as the plugin is loaded)\u003C\u002Fli>\n\u003Cli>jvm_protected_media_file (fires when a file is requested)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Functions\u003C\u002Fh3>\n\u003Cp>To send the output of a file to you can call:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>JVM_Protected_Media::send_file_output($fullPathToFile)\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Restrict access to all your media files and implement your own custom file access rules.",1543,"2022-09-28T09:22:00.000Z","6.0.11","4.4.1",[89,90,91,92,93],"attachments","files","media","protect","protection","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fjvm-protected-media.zip",{"slug":96,"name":97,"version":98,"author":5,"author_profile":6,"description":99,"short_description":100,"active_installs":37,"downloaded":101,"rating":37,"num_ratings":37,"last_updated":102,"tested_up_to":103,"requires_at_least":104,"requires_php":105,"tags":106,"homepage":27,"download_link":110,"security_score":22,"vuln_count":37,"unpatched_count":37,"last_vuln_date":60,"fetched_at":39},"jvm-read-more-block","JVM Read More Block","1.0","\u003Cp>Adds a simple collapsible block to the Gutenberg editor. Perfect for hiding long text behind a toggle.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Fully compatible with the block editor (Gutenberg)\u003C\u002Fli>\n\u003Cli>Customizable button labels\u003C\u002Fli>\n\u003Cli>Supports multiple blocks per page\u003C\u002Fli>\n\u003Cli>Translatable and lightweight\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin is ideal for bloggers, content creators, and developers who want to keep their pages clean and readable.\u003C\u002Fp>\n","A lightweight Gutenberg block that lets you toggle extra content with \"Read more\" and \"Read less\" buttons. No CSS markup is added.",198,"2025-09-03T13:31:00.000Z","6.8.5","6.0","7.4",[74,107,108,30,109],"collapsible","expand","toggle","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fjvm-read-more-block.zip"]