{"id":357683,"date":"2026-08-24T11:26:18","date_gmt":"2026-08-24T11:26:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/uplink-editorial-semantics\/"},"modified":"2026-08-24T11:25:48","modified_gmt":"2026-08-24T11:25:48","slug":"uplink-editorial-semantics","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/uplink-editorial-semantics\/","author":18609598,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1","requires":"7.0","requires_php":"8.3","requires_plugins":null,"header_name":"Uplink Editorial Semantics","header_author":"Stephen Walker","header_description":"Adds semantic inline formats and a structured quotation block to the WordPress Block Editor.","assets_banners_color":"","last_updated":"2026-08-24 11:25:48","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/stphnwlkr\/uplink-editorial-semantics","header_author_uri":"https:\/\/uplink.press\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":47,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"stphnwlkr","date":"2026-08-24 11:25:48"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3663272,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3663272,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3663272,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[1953,148857,1975,354,277211],"plugin_category":[34,46],"plugin_contributors":[271261],"plugin_business_model":[],"class_list":["post-357683","plugin","type-plugin","status-publish","hentry","plugin_tags-accessibility","plugin_tags-block-editor","plugin_tags-formatting","plugin_tags-quotes","plugin_tags-semantic-html","plugin_category-accessibility","plugin_category-editor-and-writing","plugin_contributors-stphnwlkr","plugin_committers-stphnwlkr"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/uplink-editorial-semantics\/assets\/icon.svg?rev=3663272","icon":"https:\/\/ps.w.org\/uplink-editorial-semantics\/assets\/icon.svg?rev=3663272","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Uplink Editorial Semantics adds editorial markup tools to Rich Text fields in the WordPress Block Editor. The saved content uses standard HTML and does not require front-end JavaScript.<\/p>\n\n<p>Inline formats:<\/p>\n\n<ul>\n<li><strong>Inline quotation<\/strong> (<code>q<\/code>) with optional BCP 47 language and citation URL attributes.<\/li>\n<li><strong>Citation<\/strong> (<code>cite<\/code>) for the title of a creative work.<\/li>\n<li><strong>Abbreviation<\/strong> (<code>abbr<\/code>) with a required expanded form.<\/li>\n<li><strong>Defining instance<\/strong> (<code>dfn<\/code>) for the occurrence of a term being defined.<\/li>\n<li><strong>Inline span<\/strong> (<code>span<\/code>) with optional sanitized CSS classes and one custom <code>data-*<\/code> name\/value pair for cases where no semantic element is appropriate.<\/li>\n<li><strong>Link attributes<\/strong> for adding one custom <code>data-*<\/code> name\/value pair and an optional <code>aria-label<\/code> to an existing native hyperlink.<\/li>\n<\/ul>\n\n<p>The <strong>Editorial Quotation<\/strong> block saves a <code>figure<\/code> containing a <code>blockquote<\/code> and an optional <code>figcaption<\/code>. Its quotation area accepts Paragraph, Heading, and List blocks. The plugin supplies no front-end styling, allowing the active theme to control presentation.<\/p>\n\n<h3>Development<\/h3>\n\n<p>Human-readable source is included in the plugin's <code>src<\/code> directory, and the build configuration is included in <code>package.json<\/code>. Public source and contribution history are also available at https:\/\/github.com\/stphnwlkr\/uplink-editorial-semantics.<\/p>\n\n<p>To build the production assets, install Node.js and npm, run <code>npm install<\/code>, and then run <code>npm run build<\/code>. The compiled files are written to the <code>build<\/code> directory.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Open a post or page in the Block Editor.<\/li>\n<li>Select text in a Rich Text field to use the added formatting controls, or insert the Editorial Quotation block.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20are%20the%20inline%20formats%3F\"><h3>Where are the inline formats?<\/h3><\/dt>\n<dd><p>Select text in a supported Rich Text field. The available controls appear with the editor's other inline formatting tools.<\/p><\/dd>\n<dt id=\"when%20should%20i%20use%20citation%3F\"><h3>When should I use Citation?<\/h3><\/dt>\n<dd><p>Use <code>cite<\/code> for the title of a work, such as a book, article, film, or report. Do not use it merely to italicize a person's name.<\/p><\/dd>\n<dt id=\"when%20should%20i%20use%20inline%20span%3F\"><h3>When should I use Inline Span?<\/h3><\/dt>\n<dd><p>Use it only when no semantic HTML element describes the text and you need a stable CSS or JavaScript hook. The plugin adds its own base class, sanitizes the custom class tokens you enter, and can add one custom data attribute. Enter the part after <code>data-<\/code> using lowercase letters, numbers, and hyphens; for example, the name <code>state<\/code> and value <code>active<\/code> save as <code>data-state=\"active\"<\/code>.<\/p><\/dd>\n<dt id=\"how%20do%20i%20add%20attributes%20to%20a%20link%3F\"><h3>How do I add attributes to a link?<\/h3><\/dt>\n<dd><p>Place the text cursor inside an existing hyperlink or select linked text, then choose <strong>Link attributes<\/strong> from the inline formatting toolbar. You can enter the part after <code>data-<\/code> and its value, an <code>aria-label<\/code>, or both. The plugin preserves these attributes when the link is later edited with WordPress's native link controls.<\/p>\n\n<p>An <code>aria-label<\/code> replaces the link's visible text as its accessible name. Normally, include the visible link text in the complete label. For example, a visible <strong>Download report<\/strong> link that opens a new tab could use <code>Download report (opens in a new tab)<\/code>.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20add%20front-end%20scripts%20or%20styles%3F\"><h3>Does the plugin add front-end scripts or styles?<\/h3><\/dt>\n<dd><p>No. It saves standard HTML and leaves its presentation to your theme.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20deactivate%20the%20plugin%3F\"><h3>What happens if I deactivate the plugin?<\/h3><\/dt>\n<dd><p>Published HTML remains in the content. The custom formatting controls and Editorial Quotation editing interface are unavailable until the plugin is reactivated.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20collect%20data%3F\"><h3>Does the plugin collect data?<\/h3><\/dt>\n<dd><p>No. It stores no plugin settings, sends no network requests, and performs no tracking.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial WordPress.org release.<\/li>\n<li>Added inline quotation, citation, abbreviation, defining-instance, and controlled inline-span formats.<\/li>\n<li>Added an optional custom <code>data-*<\/code> name\/value pair to inline spans.<\/li>\n<li>Added a companion control for custom <code>data-*<\/code> attributes on native hyperlinks.<\/li>\n<li>Added an optional <code>aria-label<\/code> field with accessibility guidance for native hyperlinks.<\/li>\n<li>Added the Editorial Quotation block with an optional attribution.<\/li>\n<\/ul>","raw_excerpt":"Adds semantic inline formats, controlled inline spans, and a structured quotation block to the WordPress Block Editor.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/357683","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=357683"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/stphnwlkr"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=357683"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=357683"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=357683"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=357683"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=357683"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=357683"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}