';
+
+ str += '\n ';
+
+ str += '
![]()
';
+
+ str += '\n ';
+
+ str += '
';
+
+ str += '\n';
+ str += '
';
+
+ return str;
+}
+
+
+// EXPORTS //
+
+module.exports = render;
diff --git a/lib/node_modules/@stdlib/_tools/markdown/img-svg-figure/lib/validate.js b/lib/node_modules/@stdlib/_tools/markdown/img-svg-figure/lib/validate.js
new file mode 100644
index 000000000000..8552baf5b73b
--- /dev/null
+++ b/lib/node_modules/@stdlib/_tools/markdown/img-svg-figure/lib/validate.js
@@ -0,0 +1,98 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+'use strict';
+
+// MODULES //
+
+var hasOwnProp = require( '@stdlib/assert/has-own-property' );
+var isObject = require( '@stdlib/assert/is-plain-object' );
+var isString = require( '@stdlib/assert/is-string' ).isPrimitive;
+var format = require( '@stdlib/string/format' );
+
+
+// MAIN //
+
+/**
+* Validates function options.
+*
+* @private
+* @param {Object} opts - destination object
+* @param {Options} options - options to validate
+* @param {string} [options.className] - element class name
+* @param {string} [options.align] - element alignment
+* @param {string} [options.label] - figure label
+* @param {string} [options.src] - image source URL
+* @param {string} [options.alt] - alternative image text
+* @returns {(Error|null)} error object or null
+*
+* @example
+* var opts = {};
+* var options = {
+* 'className': 'figure',
+* 'align': 'center',
+* 'label': 'fig:padding',
+* 'src': 'https://cdn.jsdelivr.net/gh/stdlib-js/stdlib@master/lib/node_modules/@stdlib/plot/vega/padding/ctor/docs/img/figure_padding.svg',
+* 'alt': 'A visualization showing padding margins.'
+* };
+* var err = validate( opts, options );
+* if ( err ) {
+* throw err;
+* }
+*/
+function validate( opts, options ) {
+ if ( !isObject( options ) ) {
+ return new TypeError( format( 'invalid argument. Options argument must be an object. Value: `%s`.', options ) );
+ }
+ if ( hasOwnProp( options, 'className' ) ) {
+ opts.className = options.className;
+ if ( !isString( opts.className ) ) {
+ return new TypeError( format( 'invalid option. `%s` option must be a string. Option: `%s`.', 'className', opts.className ) );
+ }
+ }
+ if ( hasOwnProp( options, 'align' ) ) {
+ opts.align = options.align;
+ if ( !isString( opts.align ) ) {
+ return new TypeError( format( 'invalid option. `%s` option must be a string. Option: `%s`.', 'align', opts.align ) );
+ }
+ }
+ if ( hasOwnProp( options, 'label' ) ) {
+ opts.label = options.label;
+ if ( !isString( opts.label ) ) {
+ return new TypeError( format( 'invalid option. `%s` option must be a string. Option: `%s`.', 'label', opts.label ) );
+ }
+ }
+ if ( hasOwnProp( options, 'src' ) ) {
+ opts.src = options.src;
+ if ( !isString( opts.src ) ) {
+ return new TypeError( format( 'invalid option. `%s` option must be a string. Option: `%s`.', 'src', opts.src ) );
+ }
+ }
+ if ( hasOwnProp( options, 'alt' ) ) {
+ opts.alt = options.alt;
+ if ( !isString( opts.alt ) ) {
+ return new TypeError( format( 'invalid option. `%s` option must be a string. Option: `%s`.', 'alt', opts.alt ) );
+ }
+ }
+ return null;
+}
+
+
+// EXPORTS //
+
+module.exports = validate;
diff --git a/lib/node_modules/@stdlib/_tools/markdown/img-svg-figure/package.json b/lib/node_modules/@stdlib/_tools/markdown/img-svg-figure/package.json
new file mode 100644
index 000000000000..4f09c2333788
--- /dev/null
+++ b/lib/node_modules/@stdlib/_tools/markdown/img-svg-figure/package.json
@@ -0,0 +1,63 @@
+{
+ "name": "@stdlib/_tools/markdown/img-svg-figure",
+ "version": "0.0.0",
+ "description": "Generate an HTML string for displaying an SVG figure as an image in a GitHub Markdown file.",
+ "license": "Apache-2.0",
+ "author": {
+ "name": "The Stdlib Authors",
+ "url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
+ },
+ "contributors": [
+ {
+ "name": "The Stdlib Authors",
+ "url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
+ }
+ ],
+ "bin": {
+ "ghimgfig": "./bin/cli"
+ },
+ "main": "./lib",
+ "directories": {
+ "doc": "./docs",
+ "example": "./examples",
+ "lib": "./lib",
+ "test": "./test"
+ },
+ "scripts": {},
+ "homepage": "https://github.com/stdlib-js/stdlib",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/stdlib-js/stdlib.git"
+ },
+ "bugs": {
+ "url": "https://github.com/stdlib-js/stdlib/issues"
+ },
+ "dependencies": {},
+ "devDependencies": {},
+ "engines": {
+ "node": ">=0.10.0",
+ "npm": ">2.7.0"
+ },
+ "keywords": [
+ "stdlib",
+ "tools",
+ "create",
+ "element",
+ "figure",
+ "fig",
+ "visualization",
+ "chart",
+ "plot",
+ "markdown",
+ "mdown",
+ "md",
+ "gfm",
+ "github",
+ "gh",
+ "render",
+ "image",
+ "img",
+ "svg",
+ "html"
+ ]
+}
diff --git a/lib/node_modules/@stdlib/_tools/markdown/img-svg-figure/test/test.cli.js b/lib/node_modules/@stdlib/_tools/markdown/img-svg-figure/test/test.cli.js
new file mode 100644
index 000000000000..4ec2d9539027
--- /dev/null
+++ b/lib/node_modules/@stdlib/_tools/markdown/img-svg-figure/test/test.cli.js
@@ -0,0 +1,170 @@
+/**
+* @license Apache-2.0
+*
+* Copyright (c) 2026 The Stdlib Authors.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+'use strict';
+
+// MODULES //
+
+var resolve = require( 'path' ).resolve;
+var exec = require( 'child_process' ).exec;
+var tape = require( 'tape' );
+var IS_BROWSER = require( '@stdlib/assert/is-browser' );
+var IS_WINDOWS = require( '@stdlib/assert/is-windows' );
+var readFileSync = require( '@stdlib/fs/read-file' ).sync;
+var EXEC_PATH = require( '@stdlib/process/exec-path' );
+
+
+// VARIABLES //
+
+var fpath = resolve( __dirname, '..', 'bin', 'cli' );
+var opts = {
+ 'skip': IS_BROWSER || IS_WINDOWS
+};
+
+
+// FIXTURES //
+
+var PKG_VERSION = require( './../package.json' ).version;
+
+
+// TESTS //
+
+tape( 'command-line interface', function test( t ) {
+ t.ok( true, __filename );
+ t.end();
+});
+
+tape( 'when invoked with a `--help` flag, the command-line interface prints the help text to `stderr`', opts, function test( t ) {
+ var expected;
+ var cmd;
+
+ expected = readFileSync( resolve( __dirname, '..', 'docs', 'usage.txt' ), {
+ 'encoding': 'utf8'
+ });
+ cmd = [
+ EXEC_PATH,
+ fpath,
+ '--help'
+ ];
+
+ exec( cmd.join( ' ' ), done );
+
+ function done( error, stdout, stderr ) {
+ if ( error ) {
+ t.fail( error.message );
+ } else {
+ t.strictEqual( stdout.toString(), '', 'does not print to `stdout`' );
+ t.strictEqual( stderr.toString(), expected+'\n', 'expected value' );
+ }
+ t.end();
+ }
+});
+
+tape( 'when invoked with a `-h` flag, the command-line interface prints the help text to `stderr`', opts, function test( t ) {
+ var expected;
+ var cmd;
+
+ expected = readFileSync( resolve( __dirname, '..', 'docs', 'usage.txt' ), {
+ 'encoding': 'utf8'
+ });
+ cmd = [
+ EXEC_PATH,
+ fpath,
+ '-h'
+ ];
+
+ exec( cmd.join( ' ' ), done );
+
+ function done( error, stdout, stderr ) {
+ if ( error ) {
+ t.fail( error.message );
+ } else {
+ t.strictEqual( stdout.toString(), '', 'does not print to `stdout`' );
+ t.strictEqual( stderr.toString(), expected+'\n', 'expected value' );
+ }
+ t.end();
+ }
+});
+
+tape( 'when invoked with a `--version` flag, the command-line interface prints the version to `stderr`', opts, function test( t ) {
+ var cmd = [
+ EXEC_PATH,
+ fpath,
+ '--version'
+ ];
+
+ exec( cmd.join( ' ' ), done );
+
+ function done( error, stdout, stderr ) {
+ if ( error ) {
+ t.fail( error.message );
+ } else {
+ t.strictEqual( stdout.toString(), '', 'does not print to `stdout`' );
+ t.strictEqual( stderr.toString(), PKG_VERSION+'\n', 'expected value' );
+ }
+ t.end();
+ }
+});
+
+tape( 'when invoked with a `-V` flag, the command-line interface prints the version to `stderr`', opts, function test( t ) {
+ var cmd = [
+ EXEC_PATH,
+ fpath,
+ '-V'
+ ];
+
+ exec( cmd.join( ' ' ), done );
+
+ function done( error, stdout, stderr ) {
+ if ( error ) {
+ t.fail( error.message );
+ } else {
+ t.strictEqual( stdout.toString(), '', 'does not print to `stdout`' );
+ t.strictEqual( stderr.toString(), PKG_VERSION+'\n', 'expected value' );
+ }
+ t.end();
+ }
+});
+
+tape( 'the command-line interface generates an HTML string for rendering an SVG figure in GitHub Markdown', opts, function test( t ) {
+ var expected;
+ var cmd;
+
+ cmd = [
+ EXEC_PATH,
+ fpath,
+ '--class \'figure\'',
+ '--align \'center\'',
+ '--label \'fig:padding\'',
+ '--src \'https://cdn.jsdelivr.net/gh/stdlib-js/repo@branch/docs/img/fig.svg\'',
+ '--alt \'Visualization of padding.\''
+ ];
+ expected = '