[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fvv0RlRmJrvBg8WEVD9jqRrVyfOIE3xfvaPvjYtLmywc":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":22,"download_link":23,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26,"vulnerabilities":27,"developer":28,"crawl_stats":25,"alternatives":33,"analysis":130,"fingerprints":256},"bytheway","ByTheWay Annotations for WordPress","1.0.1","ulrichw","https:\u002F\u002Fprofiles.wordpress.org\u002Fulrichw\u002F","\u003Cp>ByTheWay is a WordPress plugin providing shortcodes for collapsable annotations. Have a look at the \u003Ca href=\"http:\u002F\u002Fbtw.wechselberger.org\u002Fcategory\u002Fshowcase\" rel=\"nofollow ugc\">ByTheWay showcase gallery\u003C\u002Fa> to get an idea of what is possible with ByTheWay.\u003C\u002Fp>\n\u003Ch4>Simple\u003C\u002Fh4>\n\u003Cp>ByTheWay is easy to use. ByTheWay supports nested annotations just by repeating the same shortcode.\u003C\u002Fp>\n\u003Ch4>Flexible\u003C\u002Fh4>\n\u003Cp>ByTheWay supports several optional attributes, providing a great deal of flexibility. You can change attributes per single annotation or by globally adjusting default attribute values in the admin backend. You can even use your own CSS styles.\u003C\u002Fp>\n\u003Ch4>Clean and Lightweight\u003C\u002Fh4>\n\u003Cp>On the client side, ByTheWay uses the jquery libraries coming with WordPress 3.6.1. So don’t worry about conflicting libraries or wasted bandwith. On the server side, ByTheWay makes efficient use of resources – it should run quick even on shared webhosting and small servers.\u003C\u002Fp>\n","ByTheWay is a WordPress plugin providing shortcodes for collapsable annotations.",10,1750,0,"2013-12-17T19:31:00.000Z","3.7.41","3.6.1","",[19,20,21],"annotations","expandable-text","nested-shortcodes","http:\u002F\u002Fbtw.wechselberger.org","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbytheway.1.0.1.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":29,"total_installs":11,"avg_security_score":24,"avg_patch_time_days":30,"trust_score":31,"computed_at":32},1,30,84,"2026-04-05T09:46:10.246Z",[34,55,77,95,112],{"slug":35,"name":36,"version":37,"author":38,"author_profile":39,"description":40,"short_description":41,"active_installs":42,"downloaded":43,"rating":44,"num_ratings":45,"last_updated":46,"tested_up_to":15,"requires_at_least":47,"requires_php":17,"tags":48,"homepage":53,"download_link":54,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"side-matter","Side Matter","1.4","setzer","https:\u002F\u002Fprofiles.wordpress.org\u002Fsetzer\u002F","\u003Cp>Side Matter turns footnotes into sidenotes, magically aligning each note in the sidebar next to its corresponding reference in the text. Unlike hyperlinked footnotes, sidenotes don’t require jumping down the page to follow up on each reference; instead, they perch humbly and accessibly beside the material to which they refer.\u003C\u002Fp>\n\u003Cp>To use, place the Side Matter widget in your sidebar, then enclose sidenote text in a page or post using the \u003Ccode>[ref]\u003C\u002Fcode> shortcode, like so:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>Here's the text to annotate.[ref]Note text goes here.[\u002Fref]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>To change default settings, use the Side Matter options page linked under the Appearance menu on your admin screen.\u003C\u002Fp>\n\u003Ch3>Styling Side Matter with CSS\u003C\u002Fh3>\n\u003Cp>Changing the appearance of Side Matter elements—for example, editing your notes’ typeface or indentation—requires using CSS. The simplest way to go about this is to install a custom CSS plugin that will preserve your rules even when Side Matter or your theme is updated. (\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsimple-custom-css\u002F\" rel=\"ugc\">Simple Custom CSS\u003C\u002Fa> is a good example.)\u003C\u002Fp>\n\u003Cp>Side Matter comes with a set of built-in class selectors. As an example, all sidenote and reference elements may be styled at once using the class \u003Ccode>side-matter\u003C\u002Fcode>. The following CSS will render all Side Matter elements in blue serif text:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>.side-matter {\n    color: blue;\n    font-family: serif;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Notes and figures may be formatted with greater precision using element-specific class selectors. For example, the following CSS will render reference and list numerals in green and sidenote text in black:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>a.side-matter-ref, ol.side-matter-list {\n    color: green;\n}\n\ndiv.side-matter-text {\n    color: black;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>List of Class Selectors\u003C\u002Fh4>\n\u003Cp>Here is a full list of Side Matter class selectors and their uses:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>a.side-matter-ref\u003C\u002Fcode> selects the link elements that enclose in-text reference numerals. Use this class to modify the links’ colors, underline, etc.\u003C\u002Fli>\n\u003Cli>\u003Ccode>sup.side-matter-sup\u003C\u002Fcode> selects the \u003Ccode>sup\u003C\u002Fcode> (superscript) elements that enclose in-text reference numerals. Use this class to modify the numerals’ typographic properties, such as size, offset, and font.\u003C\u002Fli>\n\u003Cli>\u003Ccode>.widget_side_matter\u003C\u002Fcode> (note the underscores) selects the widget container element, which may be an \u003Ccode>aside\u003C\u002Fcode> or a \u003Ccode>div\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Ccode>ol.side-matter-list\u003C\u002Fcode> selects the \u003Ccode>ol\u003C\u002Fcode> (ordered list) element that encloses notes in the sidebar, including list numerals.\u003C\u002Fli>\n\u003Cli>\u003Ccode>li.side-matter-note\u003C\u002Fcode> selects sidenote \u003Ccode>li\u003C\u002Fcode> (list item) elements, including each note’s numeral.\u003C\u002Fli>\n\u003Cli>\u003Ccode>div.side-matter-text\u003C\u002Fcode> selects the \u003Ccode>div\u003C\u002Fcode> elements that enclose sidenote text, but not sidenote list numerals. Use this to style sidenote text separately from numerals.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Each paragraph within a note is further wrapped in a \u003Ccode>p\u003C\u002Fcode> tag. However, as they’re generated outside the plugin, these \u003Ccode>p\u003C\u002Fcode> elements cannot be selected directly using the \u003Ccode>side-matter\u003C\u002Fcode> class. Instead, select them indirectly, e.g. \u003Ccode>div.side-matter-text > p\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch4>Default CSS\u003C\u002Fh4>\n\u003Cp>Side Matter sets a few rules by default in the included stylesheet \u003Ccode>side-matter.css\u003C\u002Fcode>. These rules will generally defer to your theme stylesheet in the event of a conflict.\u003C\u002Fp>\n\u003Cp>The first rule removes underlines from reference numeral links:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>a.side-matter:link,\na.side-matter:visited,\na.side-matter:hover,\na.side-matter:active {\n    text-decoration: none;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The second rule specifies a consistent cross-browser, cross-theme format for superscript figures:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>sup.side-matter-sup {\n    position: relative;\n    top: -0.5em;\n    vertical-align: baseline;\n    font-size: 0.75em;\n    line-height: 0;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Turns footnotes into sidenotes, magically aligning each note in the sidebar next to its corresponding reference in the text.",100,9031,92,13,"2014-01-09T07:15:00.000Z","3.0",[49,50,51,19,52],"academic","annotate","annotation","bibliography","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fside-matter\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fside-matter.1.4.zip",{"slug":56,"name":57,"version":58,"author":59,"author_profile":60,"description":61,"short_description":62,"active_installs":63,"downloaded":64,"rating":42,"num_ratings":65,"last_updated":66,"tested_up_to":67,"requires_at_least":68,"requires_php":69,"tags":70,"homepage":75,"download_link":76,"security_score":42,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"simple-commenter","Simple Commenter – Website Feedback tool","1.0.7","Aleksander Kaaberma","https:\u002F\u002Fprofiles.wordpress.org\u002Fkaaberma\u002F","\u003Cp>\u003Cstrong>Simple Commenter is a lightweight, visual feedback tool your clients will actually use without a single complaint.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>It masterfully balances powerful features for developers and agencies with a user experience so simple that it’s virtually foolproof for clients.\u003C\u002Fp>\n\u003Cp>Say goodbye to messy emails, confusing screenshots, and endless back-and-forth. With Simple Commenter, clients leave feedback directly on your website—exactly where changes are needed.\u003C\u002Fp>\n\u003Ch4>Why Agencies & Freelancers Choose Simple Commenter\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Clients don’t need to sign up\u003C\u002Fstrong> – No registration barriers, no forgotten passwords\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Real-time contextual comments\u003C\u002Fstrong> – Feedback appears exactly where edits are needed\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Direct file uploads\u003C\u002Fstrong> – Clients can suggest image replacements and design changes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Lightning fast\u003C\u002Fstrong> – Asynchronous loading won’t slow down your site\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Works on any page\u003C\u002Fstrong> – Including staging sites, password-protected pages, and localhost\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>What Makes Us Different\u003C\u002Fh4>\n\u003Cp>Unlike complex enterprise tools, Simple Commenter is built for the reality of client work:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>No client training needed\u003C\u002Fstrong> – If they can click, they can use it\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No browser extensions\u003C\u002Fstrong> – Works instantly in any browser\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No account required for clients\u003C\u002Fstrong> – Removes the biggest friction point\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Manage from WordPress\u003C\u002Fstrong> – View and reply to feedback without leaving your admin\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Visual Annotations\u003C\u002Fstrong> – Clients click on any element to leave feedback\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Screenshot Capture\u003C\u002Fstrong> – Automatic screenshots with every comment\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Drawing Tools\u003C\u002Fstrong> – Circle issues, draw arrows, highlight problems\u003C\u002Fli>\n\u003Cli>\u003Cstrong>File Uploads\u003C\u002Fstrong> – Attach images, PDFs, and documents\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Email Notifications\u003C\u002Fstrong> – Get notified instantly when clients comment\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Reply to Comments\u003C\u002Fstrong> – Respond directly from WordPress admin\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Status Management\u003C\u002Fstrong> – Track feedback as To Do, In Progress, or Done\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Team Collaboration\u003C\u002Fstrong> – Add team members to manage feedback together\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Priority Levels\u003C\u002Fstrong> – Mark urgent feedback for quick action\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Integrations\u003C\u002Fstrong> – Connect to Trello, Slack, and more via webhooks\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Trusted by 600+ Web Professionals\u003C\u002Fh4>\n\u003Cp>Rated 5.0 on Product Hunt & AppSumo\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>“Life changed in under 5 minutes. Most of my clients are not super techy so I really appreciate the simplicity.” – @Dsouldiva\u003C\u002Fp>\n\u003Cp>“My clients LOVED using Simple Commenter. Way better than Markup in past projects.” – @Katelyn\u003C\u002Fp>\n\u003Cp>“I won’t start a project without it. I look even more professional to my clients because of this.” – @Jim Langman\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>How It Works\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Install and activate the plugin\u003C\u002Fli>\n\u003Cli>Connect your Simple Commenter account (free trial, no credit card)\u003C\u002Fli>\n\u003Cli>Select your project—the widget automatically appears\u003C\u002Fli>\n\u003Cli>Share your site URL—clients start leaving feedback immediately\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Perfect For\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Web design agencies collecting client revisions\u003C\u002Fli>\n\u003Cli>Freelancers managing multiple client projects\u003C\u002Fli>\n\u003Cli>Development teams doing internal QA\u003C\u002Fli>\n\u003Cli>Anyone tired of “Can you see the thing on the left side?” emails\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin connects to SimpleCommenter.com (https:\u002F\u002Fwww.simplecommenter.com) to provide visual feedback functionality. All comment data is processed and stored on SimpleCommenter servers.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Data transmitted:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>User email and display name (for authentication and comment attribution)\u003C\u002Fli>\n\u003Cli>Comment content, screenshots, and file attachments\u003C\u002Fli>\n\u003Cli>Page URLs where feedback is submitted\u003C\u002Fli>\n\u003Cli>WordPress site URL (for project identification)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Service requirements:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>A SimpleCommenter account is required (free 14-day trial available)\u003C\u002Fli>\n\u003Cli>After the trial period, a paid subscription to the SimpleCommenter service is required for the feedback widget to function\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Legal:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Terms of Service: https:\u002F\u002Fwww.simplecommenter.com\u002Fterms-conditions\u003C\u002Fli>\n\u003Cli>Privacy Policy: https:\u002F\u002Fwww.simplecommenter.com\u002Fprivacy\u003C\u002Fli>\n\u003C\u002Ful>\n","The website feedback tool your clients will actually use. Collect visual feedback directly on your site—no training required.",40,671,12,"2026-03-05T10:43:00.000Z","6.9.4","5.0","7.4",[19,71,72,73,74],"client-feedback","feedback","visual-feedback","website-feedback","https:\u002F\u002Fsimplecommenter.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-commenter.1.0.7.zip",{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":11,"downloaded":85,"rating":86,"num_ratings":29,"last_updated":87,"tested_up_to":88,"requires_at_least":89,"requires_php":17,"tags":90,"homepage":93,"download_link":94,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"ilannotations","ILAnnotations","0.9.0","lukaiser","https:\u002F\u002Fprofiles.wordpress.org\u002Flukaiser\u002F","\u003Cp>ILAnnotations allows you to select a text in a blog post and add your comment to it.\u003Cbr \u002F>\nThe plugin uses the standard comments engine of WordPress, so all other comment plugins should work just fine with it.\u003Cbr \u002F>\nShortcodes are used to mark the highlighted text. This allows you to still edit a post and move stuff around without losing the annotations.\u003C\u002Fp>\n","Annotate any text in a blog post and add a comment to it.",2281,80,"2014-10-06T16:24:00.000Z","4.0.38","3.0.1",[19,91,92],"comments","highlight","https:\u002F\u002Fgithub.com\u002Flukaiser\u002FILAnnotations","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Filannotations.zip",{"slug":96,"name":97,"version":98,"author":99,"author_profile":100,"description":101,"short_description":102,"active_installs":11,"downloaded":103,"rating":13,"num_ratings":13,"last_updated":104,"tested_up_to":105,"requires_at_least":106,"requires_php":17,"tags":107,"homepage":110,"download_link":111,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"image-annotations","Image Annotations","1.13","M03G","https:\u002F\u002Fprofiles.wordpress.org\u002Fm03gen\u002F","\u003Cp>Image Annotations plugin lets readers to leave annotations to the selected area of the image in comments. Important: for now the plugin works only with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcomment-images\u002F\" rel=\"ugc\">Comment Images\u003C\u002Fa> plugin (by Tom McFarlin).\u003C\u002Fp>\n\u003Cp>Readers can switch off the visibility of the selections as well as control the display of the comments. Only authorized users can leave annotations (also user can delete his own annotations).\u003C\u002Fp>\n\u003Cp>Плагин Image Annotations позволяет читателям оставлять аннотации к выделенной области на изображении в комментариях. Важно: на данный момент плагин работает только с плагином \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcomment-images\u002F\" rel=\"ugc\">Comment Images\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Читатели могут контролировать видимость выделенных областей на изображении и включать и выключать отображение комментариев. Только зарегистрированные пользователи могут оставлять аннотации (также пользователь может удалить свою аннотацию).\u003C\u002Fp>\n","Image Annotations plugin lets readers to leave annotations to the selected area of the image in comments.",1877,"2015-10-05T19:36:00.000Z","4.3.34","3.8.1",[19,91,108,109],"images","note","http:\u002F\u002Fm03g.guriny.ru\u002Fimage-annotations\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fimage-annotations.zip",{"slug":113,"name":114,"version":115,"author":116,"author_profile":117,"description":118,"short_description":119,"active_installs":11,"downloaded":120,"rating":42,"num_ratings":29,"last_updated":121,"tested_up_to":67,"requires_at_least":122,"requires_php":69,"tags":123,"homepage":128,"download_link":129,"security_score":42,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"inline-context","Inline Context","2.7.1","Joop Laan","https:\u002F\u002Fprofiles.wordpress.org\u002Fjoop\u002F","\u003Cp>\u003Cstrong>Inline Context\u003C\u002Fstrong> is a powerful Block Editor enhancement that lets you create inline expandable notes or clean tooltip-style popovers anywhere in your content. It is ideal for \u003Cstrong>content-rich websites\u003C\u002Fstrong>, including editorial platforms, research sites, online magazines, documentation hubs, and educational blogs that rely on clear explanation without breaking the reader’s focus.\u003C\u002Fp>\n\u003Cp>Instead of sending readers to glossary pages or external links, Inline Context allows you to provide definitions, references, clarifications, and annotations \u003Cem>in place\u003C\u002Fem> — keeping readers engaged and your content structured.\u003C\u002Fp>\n\u003Cp>Notes can be \u003Cstrong>reusable\u003C\u002Fstrong>, categorized, styled, centrally managed, and automatically updated everywhere they appear.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Finline-context\u002F?preview=1\" rel=\"ugc\">Check the live preview\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Why this is valuable for content-heavy websites\u003C\u002Fh4>\n\u003Cp>Websites with substantial text often need:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>definitions and terminology\u003C\u002Fli>\n\u003Cli>source references\u003C\u002Fli>\n\u003Cli>background information\u003C\u002Fli>\n\u003Cli>contextual inline explanations\u003C\u002Fli>\n\u003Cli>mini footnotes without scrolling\u003C\u002Fli>\n\u003Cli>inline callouts, tips, or warnings\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Inline Context delivers all of this with a frictionless, accessible user experience. It helps readers stay focused, reduces navigation fatigue, and improves knowledge retention — especially in long articles or research-based content.\u003C\u002Fp>\n\u003Ch4>How it works\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Highlight text in the Block Editor.\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Inline Context\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Enter your note content (rich text supported).\u003C\u002Fli>\n\u003Cli>Optionally assign a category with custom icon & color.\u003C\u002Fli>\n\u003Cli>Publish — your note appears inline or as a tooltip, depending on settings.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>You can also create \u003Cstrong>reusable\u003C\u002Fstrong> notes from a dedicated Custom Post Type. Updating a reusable note updates all instances site-wide.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Ch4>Display modes\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Inline expansion (reveals a small content panel)\u003C\u002Fli>\n\u003Cli>Tooltip popovers (floating contextual bubbles)\u003C\u002Fli>\n\u003Cli>Smart tooltip positioning to avoid off-screen display\u003C\u002Fli>\n\u003Cli>Direct anchor links (\u003Ccode>#context-note-xxx\u003C\u002Fcode>) for deep linking\u003C\u002Fli>\n\u003Cli>Auto-open on page load when accessed via link\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Editor productivity\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Reusable notes with global updates\u003C\u002Fli>\n\u003Cli>Notes Library with usage tracking (shows where each note is used)\u003C\u002Fli>\n\u003Cli>Quick Search inside the editor to insert existing notes\u003C\u002Fli>\n\u003Cli>Rich text support via ReactQuill (bold, italic, lists, links)\u003C\u002Fli>\n\u003Cli>Clean, integrated Rich Text toolbar button\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Categories & icons\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Create unlimited categories (Definition, Reference, External Article, Tip, Warning, etc.)\u003C\u002Fli>\n\u003Cli>Choose from curated Dashicons or any of 300+ icons\u003C\u002Fli>\n\u003Cli>Separate icons for open and closed states\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Styling & customization\u003C\u002Fh4>\n\u003Cp>Full styling control from \u003Cstrong>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Inline Context\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>NEW in v2.6\u003C\u002Fstrong>: Five pre-configured color presets for one-click professional styling\u003C\u002Fli>\n\u003Cli>Choose from Modern Blue, Minimalist Gray, High Contrast, Warm Earth Tones, or Dark Mode\u003C\u002Fli>\n\u003Cli>All presets meet WCAG 2.1 AA accessibility standards\u003C\u002Fli>\n\u003Cli>Link colors, hover, and focus states\u003C\u002Fli>\n\u003Cli>Note padding, spacing, borders, backgrounds, shadows\u003C\u002Fli>\n\u003Cli>Tooltip appearance\u003C\u002Fli>\n\u003Cli>Chevron\u002Findicator styling\u003C\u002Fli>\n\u003Cli>Live interactive preview of all style changes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Accessibility & security\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>ARIA support, focus lock, Escape key behavior\u003C\u002Fli>\n\u003Cli>Keyboard-navigable for both link and note\u003C\u002Fli>\n\u003Cli>DOMPurify sanitization of note content\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Internationalization\u003C\u002Fh3>\n\u003Cp>Inline Context is fully translation-ready.\u003C\u002Fp>\n\u003Ch3>Examples & inspiration\u003C\u002Fh3>\n\u003Cp>The idea for this plugin originated from a project with Renée Kool — a visual artist working in public art, film, and emerging media. She wanted to create a website where a single link could reveal additional content containing multiple related links. We looked at the Dutch journalism platform De Correspondent, which use subtle inline notes to provide context without interrupting the flow of reading. You can see examples of their inline notes in this article: \u003Ca href=\"https:\u002F\u002Fdecorrespondent.nl\u002F15887\u002Fhoe-nederland-kampioen-deeltijdwerken-werd\u002F9053b712-3591-0002-29b3-8c7b69eae0c3\" rel=\"nofollow ugc\">Hoe Nederland kampioen deeltijdwerken werd\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Source code\u003C\u002Fh3>\n\u003Cp>Inline Context uses \u003Ccode>@wordpress\u002Fscripts\u003C\u002Fcode> with webpack and npm to build assets.\u003C\u002Fp>\n\u003Cp>Full source (including uncompiled JS and CSS) is available at:\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjooplaan\u002Finline-context\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fjooplaan\u002Finline-context\u003C\u002Fa>\u003C\u002Fp>\n","Add inline expandable notes or tooltips to provide context, definitions, and references without disrupting the reading flow.",414,"2026-01-01T12:10:00.000Z","6.0",[19,124,125,126,127],"context","footnote","inline","tooltip","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Finline-context\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finline-context.2.7.1.zip",{"attackSurface":131,"codeSignals":192,"taintFlows":243,"riskAssessment":244,"analyzedAt":255},{"hooks":132,"ajaxHandlers":175,"restRoutes":176,"shortcodes":177,"cronEvents":190,"entryPointCount":191,"unprotectedCount":13},[133,139,143,147,151,155,159,165,169,173],{"type":134,"name":135,"callback":136,"file":137,"line":138},"action","admin_init","options_init","btw.php",498,{"type":134,"name":140,"callback":141,"file":137,"line":142},"admin_menu","options_addmenu",499,{"type":134,"name":144,"callback":145,"file":137,"line":146},"wp_loaded","checkoptions",500,{"type":134,"name":148,"callback":149,"priority":42,"file":137,"line":150},"init","load_jq",502,{"type":134,"name":152,"callback":153,"priority":42,"file":137,"line":154},"wp_head","add_css",503,{"type":134,"name":156,"callback":157,"priority":42,"file":137,"line":158},"wp_footer","add_scripts",504,{"type":160,"name":161,"callback":162,"priority":163,"file":137,"line":164},"filter","the_content","return_btw",999,505,{"type":160,"name":166,"callback":167,"file":137,"line":168},"the_excerpt","do_shortcode",511,{"type":160,"name":170,"callback":171,"file":137,"line":172},"get_the_excerpt","trim_excerpt",515,{"type":160,"name":166,"callback":167,"file":137,"line":174},516,[],[],[178,182,186],{"tag":179,"callback":180,"file":137,"line":181},"btw-quiet","shortcode_quiet",507,{"tag":183,"callback":184,"file":137,"line":185},"btw-chatty","shortcode_chatty",508,{"tag":187,"callback":188,"file":137,"line":189},"btw-reset","shortcode_reset",509,[],3,{"dangerousFunctions":193,"sqlUsage":194,"outputEscaping":196,"fileOperations":13,"externalRequests":13,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":242},[],{"prepared":13,"raw":13,"locations":195},[],{"escaped":13,"rawEcho":197,"locations":198},21,[199,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240],{"file":137,"line":200,"context":201},119,"raw output",{"file":137,"line":203,"context":201},122,{"file":137,"line":205,"context":201},128,{"file":137,"line":207,"context":201},129,{"file":137,"line":209,"context":201},132,{"file":137,"line":211,"context":201},133,{"file":137,"line":213,"context":201},136,{"file":137,"line":215,"context":201},137,{"file":137,"line":217,"context":201},138,{"file":137,"line":219,"context":201},382,{"file":137,"line":221,"context":201},395,{"file":137,"line":223,"context":201},418,{"file":137,"line":225,"context":201},422,{"file":137,"line":227,"context":201},427,{"file":137,"line":229,"context":201},431,{"file":137,"line":231,"context":201},435,{"file":137,"line":233,"context":201},439,{"file":137,"line":235,"context":201},444,{"file":137,"line":237,"context":201},448,{"file":137,"line":239,"context":201},452,{"file":137,"line":241,"context":201},456,[],[],{"summary":245,"deductions":246},"The \"bytheway\" v1.0.1 plugin exhibits a mixed security posture. On the positive side, the static analysis reveals no dangerous functions, no raw SQL queries, no file operations, no external HTTP requests, and no bundled libraries, all of which are good security practices. The absence of known vulnerabilities and CVEs in its history is also a strong indicator of a generally well-maintained codebase.  However, significant concerns arise from the complete lack of output escaping and the absence of nonce and capability checks.\n\nThe lack of proper output escaping for all 21 identified outputs is a critical weakness. This opens the door to Cross-Site Scripting (XSS) vulnerabilities, where attackers could inject malicious scripts into the website through user-supplied data that is then displayed without sanitization. Furthermore, the absence of nonce and capability checks on any of its entry points (shortcodes in this case) means that any authenticated user, regardless of their role or permissions, could potentially trigger the functionality associated with these shortcodes. While the attack surface isn't overwhelmingly large, the unprotected nature of these entry points is a serious oversight.\n\nIn conclusion, while the plugin avoids common pitfalls like raw SQL and dangerous functions, the critical flaws in output escaping and the lack of authorization checks for its shortcodes represent substantial security risks that require immediate attention. The clean vulnerability history is a positive sign but does not mitigate the inherent risks present in the current code.",[247,250,253],{"reason":248,"points":249},"All outputs are unescaped",17,{"reason":251,"points":252},"No nonce checks on entry points",7,{"reason":254,"points":252},"No capability checks on entry points","2026-03-17T00:30:46.582Z",{"wat":257,"direct":263},{"assetPaths":258,"generatorPatterns":260,"scriptPaths":261,"versionParams":262},[259],"\u002Fwp-content\u002Fplugins\u002Fbytheway\u002Fstyles.css",[],[],[],{"cssClasses":264,"htmlComments":272,"htmlAttributes":273,"restEndpoints":278,"jsGlobals":279,"shortcodeOutput":280},[265,266,267,268,269,270,271],"btw-button","btw-button-collapsed","btw-button-expanded","btw-content","btw-quietmode","btw-chattymode","btw-resetmode",[],[274,275,276,277],"data-labelcollapsed","data-tooltipcollapsed","data-labelexpanded","data-tooltipexpanded",[],[],[281,282,283],"\u003Cspan class=\"btw-button btw-button-collapsed\" data-labelcollapsed=\"-\" data-tooltipcollapsed=\"Collapse annotation\">-\u003C\u002Fspan>","\u003Cspan class=\"btw-button btw-button-expanded\" data-labelexpanded=\"+\" data-tooltipexpanded=\"Expand annotation\">+\u003C\u002Fspan>","\u003Cdiv class=\"btw-content\">"]