mystmd 1.3.24__py3-none-any.whl → 1.3.26__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
mystmd_py/myst.cjs CHANGED
@@ -21087,20 +21087,20 @@ Expecting one of '${allowedValues.join("', '")}'`);
21087
21087
  *
21088
21088
  * @api private
21089
21089
  */
21090
- _prepareUserArgs(argv, parseOptions2) {
21090
+ _prepareUserArgs(argv, parseOptions3) {
21091
21091
  if (argv !== void 0 && !Array.isArray(argv)) {
21092
21092
  throw new Error("first parameter to parse must be array or undefined");
21093
21093
  }
21094
- parseOptions2 = parseOptions2 || {};
21094
+ parseOptions3 = parseOptions3 || {};
21095
21095
  if (argv === void 0) {
21096
21096
  argv = process11.argv;
21097
21097
  if (process11.versions && process11.versions.electron) {
21098
- parseOptions2.from = "electron";
21098
+ parseOptions3.from = "electron";
21099
21099
  }
21100
21100
  }
21101
21101
  this.rawArgs = argv.slice();
21102
21102
  let userArgs;
21103
- switch (parseOptions2.from) {
21103
+ switch (parseOptions3.from) {
21104
21104
  case void 0:
21105
21105
  case "node":
21106
21106
  this._scriptPath = argv[1];
@@ -21118,7 +21118,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
21118
21118
  userArgs = argv.slice(0);
21119
21119
  break;
21120
21120
  default:
21121
- throw new Error(`unexpected parse option { from: '${parseOptions2.from}' }`);
21121
+ throw new Error(`unexpected parse option { from: '${parseOptions3.from}' }`);
21122
21122
  }
21123
21123
  if (!this._name && this._scriptPath)
21124
21124
  this.nameFromFilename(this._scriptPath);
@@ -21141,8 +21141,8 @@ Expecting one of '${allowedValues.join("', '")}'`);
21141
21141
  * @param {string} [parseOptions.from] - where the args are from: 'node', 'user', 'electron'
21142
21142
  * @return {Command} `this` command for chaining
21143
21143
  */
21144
- parse(argv, parseOptions2) {
21145
- const userArgs = this._prepareUserArgs(argv, parseOptions2);
21144
+ parse(argv, parseOptions3) {
21145
+ const userArgs = this._prepareUserArgs(argv, parseOptions3);
21146
21146
  this._parseCommand([], userArgs);
21147
21147
  return this;
21148
21148
  }
@@ -21164,8 +21164,8 @@ Expecting one of '${allowedValues.join("', '")}'`);
21164
21164
  * @param {string} parseOptions.from - where the args are from: 'node', 'user', 'electron'
21165
21165
  * @return {Promise}
21166
21166
  */
21167
- async parseAsync(argv, parseOptions2) {
21168
- const userArgs = this._prepareUserArgs(argv, parseOptions2);
21167
+ async parseAsync(argv, parseOptions3) {
21168
+ const userArgs = this._prepareUserArgs(argv, parseOptions3);
21169
21169
  await this._parseCommand([], userArgs);
21170
21170
  return this;
21171
21171
  }
@@ -81027,471 +81027,6 @@ var require_he = __commonJS({
81027
81027
  }
81028
81028
  });
81029
81029
 
81030
- // ../../node_modules/nbtx/dist/cjs/minify/utils.js
81031
- var require_utils6 = __commonJS({
81032
- "../../node_modules/nbtx/dist/cjs/minify/utils.js"(exports2) {
81033
- "use strict";
81034
- Object.defineProperty(exports2, "__esModule", { value: true });
81035
- exports2.ensureString = exports2.walkOutputs = exports2.ensureSafePath = exports2.isNotNull = exports2.DEFAULT_HASH_WARNING = exports2.TRUNCATED_CHARS_COUNT = exports2.MAX_CHARS = void 0;
81036
- exports2.MAX_CHARS = 25e3;
81037
- exports2.TRUNCATED_CHARS_COUNT = 64;
81038
- function DEFAULT_HASH_WARNING(content3) {
81039
- console.warn('nbtx is not using a hashing library to create the hash.\nThe IDs generated are random, please provide a `computeHash` function, for example using "crypto".\nSee nbtx README for more information.');
81040
- return `not-a-hash-${Math.random().toString(36).slice(2)}${Math.random().toString(36).slice(2)}`;
81041
- }
81042
- exports2.DEFAULT_HASH_WARNING = DEFAULT_HASH_WARNING;
81043
- function isNotNull(arg2) {
81044
- return arg2 != null;
81045
- }
81046
- exports2.isNotNull = isNotNull;
81047
- function ensureSafePath(path44) {
81048
- return path44.replace("/", "-");
81049
- }
81050
- exports2.ensureSafePath = ensureSafePath;
81051
- function walkOutputs2(outputs, func) {
81052
- outputs.forEach((output2) => {
81053
- if ("data" in output2 && output2.data) {
81054
- Object.entries(output2.data).forEach(([, bundle]) => {
81055
- func(bundle);
81056
- });
81057
- } else {
81058
- func(output2);
81059
- }
81060
- });
81061
- }
81062
- exports2.walkOutputs = walkOutputs2;
81063
- function ensureString3(maybeString, joinWith = "") {
81064
- if (!maybeString)
81065
- return "";
81066
- if (typeof maybeString === "string")
81067
- return maybeString;
81068
- if (maybeString.join)
81069
- return maybeString.join(joinWith);
81070
- return maybeString;
81071
- }
81072
- exports2.ensureString = ensureString3;
81073
- }
81074
- });
81075
-
81076
- // ../../node_modules/nbtx/dist/cjs/minify/mime.js
81077
- var require_mime = __commonJS({
81078
- "../../node_modules/nbtx/dist/cjs/minify/mime.js"(exports2) {
81079
- "use strict";
81080
- var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
81081
- function adopt(value) {
81082
- return value instanceof P ? value : new P(function(resolve9) {
81083
- resolve9(value);
81084
- });
81085
- }
81086
- return new (P || (P = Promise))(function(resolve9, reject) {
81087
- function fulfilled(value) {
81088
- try {
81089
- step(generator.next(value));
81090
- } catch (e2) {
81091
- reject(e2);
81092
- }
81093
- }
81094
- function rejected(value) {
81095
- try {
81096
- step(generator["throw"](value));
81097
- } catch (e2) {
81098
- reject(e2);
81099
- }
81100
- }
81101
- function step(result) {
81102
- result.done ? resolve9(result.value) : adopt(result.value).then(fulfilled, rejected);
81103
- }
81104
- step((generator = generator.apply(thisArg, _arguments || [])).next());
81105
- });
81106
- };
81107
- Object.defineProperty(exports2, "__esModule", { value: true });
81108
- exports2.minifyMimeOutput = void 0;
81109
- var utils_1 = require_utils6();
81110
- function minifyContent(content3, contentType, isBase64Image, outputCache, opts) {
81111
- if (!isBase64Image && content3 && content3.length <= opts.maxCharacters) {
81112
- return { content: content3, content_type: contentType };
81113
- }
81114
- let hash;
81115
- if (isBase64Image) {
81116
- const [data] = content3.split(";base64,").reverse();
81117
- hash = opts.computeHash(data);
81118
- outputCache[hash] = [data, { contentType, encoding: "base64" }];
81119
- } else {
81120
- hash = opts.computeHash(content3);
81121
- outputCache[hash] = [content3, { contentType, encoding: "utf8" }];
81122
- }
81123
- return {
81124
- content_type: contentType,
81125
- hash
81126
- };
81127
- }
81128
- function minifyMimeOutput(output2, outputCache, opts) {
81129
- return __awaiter(this, void 0, void 0, function* () {
81130
- const items = yield Promise.all(Object.entries(output2.data).map(([mimetype, mimeContent]) => __awaiter(this, void 0, void 0, function* () {
81131
- let isBase64Image = false;
81132
- let stringContent = "";
81133
- if (mimetype !== "application/javascript" && (mimetype === "application/json" || mimetype.startsWith("application/") && typeof mimeContent === "object")) {
81134
- stringContent = JSON.stringify(mimeContent);
81135
- } else {
81136
- stringContent = (0, utils_1.ensureString)(mimeContent);
81137
- }
81138
- if (!mimetype.startsWith("image/svg") && mimetype.startsWith("image/")) {
81139
- isBase64Image = true;
81140
- }
81141
- return minifyContent(stringContent, mimetype, isBase64Image, outputCache, opts);
81142
- })));
81143
- const data = items.reduce((bundle, item) => Object.assign(Object.assign({}, bundle), { [item.content_type]: item }), {});
81144
- return {
81145
- output_type: output2.output_type,
81146
- execution_count: output2.execution_count,
81147
- metadata: output2.metadata,
81148
- data
81149
- };
81150
- });
81151
- }
81152
- exports2.minifyMimeOutput = minifyMimeOutput;
81153
- }
81154
- });
81155
-
81156
- // ../../node_modules/nbtx/dist/cjs/minify/text.js
81157
- var require_text2 = __commonJS({
81158
- "../../node_modules/nbtx/dist/cjs/minify/text.js"(exports2) {
81159
- "use strict";
81160
- var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
81161
- function adopt(value) {
81162
- return value instanceof P ? value : new P(function(resolve9) {
81163
- resolve9(value);
81164
- });
81165
- }
81166
- return new (P || (P = Promise))(function(resolve9, reject) {
81167
- function fulfilled(value) {
81168
- try {
81169
- step(generator.next(value));
81170
- } catch (e2) {
81171
- reject(e2);
81172
- }
81173
- }
81174
- function rejected(value) {
81175
- try {
81176
- step(generator["throw"](value));
81177
- } catch (e2) {
81178
- reject(e2);
81179
- }
81180
- }
81181
- function step(result) {
81182
- result.done ? resolve9(result.value) : adopt(result.value).then(fulfilled, rejected);
81183
- }
81184
- step((generator = generator.apply(thisArg, _arguments || [])).next());
81185
- });
81186
- };
81187
- Object.defineProperty(exports2, "__esModule", { value: true });
81188
- exports2.minifyErrorOutput = exports2.minifyStreamOutput = void 0;
81189
- var utils_1 = require_utils6();
81190
- function ensureStringEnsureNewlines(maybeString) {
81191
- return typeof maybeString === "string" ? maybeString : maybeString === null || maybeString === void 0 ? void 0 : maybeString.join("\n");
81192
- }
81193
- function minifyStringOutput(output2, fieldName, outputCache, opts) {
81194
- return __awaiter(this, void 0, void 0, function* () {
81195
- if (!output2[fieldName]) {
81196
- throw Error(`Bad Field name ${fieldName} for output type ${output2.output_type}`);
81197
- }
81198
- const text7 = opts.ensureNewlines ? ensureStringEnsureNewlines(output2[fieldName]) : (0, utils_1.ensureString)(output2[fieldName]);
81199
- if (text7 && text7.length <= opts.maxCharacters) {
81200
- return Object.assign(Object.assign({}, output2), { [fieldName]: text7 });
81201
- }
81202
- const hash = opts.computeHash(text7);
81203
- outputCache[hash] = [text7, { contentType: "text/plain", encoding: "utf8" }];
81204
- return Object.assign(Object.assign({}, output2), { hash, [fieldName]: `${text7.slice(0, opts.truncateTo - 3)}...` });
81205
- });
81206
- }
81207
- var minifyStreamOutput = (output2, outputCache, opts) => __awaiter(void 0, void 0, void 0, function* () {
81208
- return minifyStringOutput(output2, "text", outputCache, opts);
81209
- });
81210
- exports2.minifyStreamOutput = minifyStreamOutput;
81211
- var minifyErrorOutput = (output2, outputCache, opts) => __awaiter(void 0, void 0, void 0, function* () {
81212
- return minifyStringOutput(output2, "traceback", outputCache, Object.assign({ ensureNewlines: true }, opts));
81213
- });
81214
- exports2.minifyErrorOutput = minifyErrorOutput;
81215
- }
81216
- });
81217
-
81218
- // ../../node_modules/nbtx/dist/cjs/minify/minify.js
81219
- var require_minify = __commonJS({
81220
- "../../node_modules/nbtx/dist/cjs/minify/minify.js"(exports2) {
81221
- "use strict";
81222
- var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
81223
- function adopt(value) {
81224
- return value instanceof P ? value : new P(function(resolve9) {
81225
- resolve9(value);
81226
- });
81227
- }
81228
- return new (P || (P = Promise))(function(resolve9, reject) {
81229
- function fulfilled(value) {
81230
- try {
81231
- step(generator.next(value));
81232
- } catch (e2) {
81233
- reject(e2);
81234
- }
81235
- }
81236
- function rejected(value) {
81237
- try {
81238
- step(generator["throw"](value));
81239
- } catch (e2) {
81240
- reject(e2);
81241
- }
81242
- }
81243
- function step(result) {
81244
- result.done ? resolve9(result.value) : adopt(result.value).then(fulfilled, rejected);
81245
- }
81246
- step((generator = generator.apply(thisArg, _arguments || [])).next());
81247
- });
81248
- };
81249
- Object.defineProperty(exports2, "__esModule", { value: true });
81250
- exports2.minifyCellOutput = void 0;
81251
- var mime_1 = require_mime();
81252
- var text_1 = require_text2();
81253
- var utils_1 = require_utils6();
81254
- function minifyOneOutputItem(output2, outputCache, opts) {
81255
- return __awaiter(this, void 0, void 0, function* () {
81256
- if (!("output_type" in output2))
81257
- return null;
81258
- switch (output2.output_type) {
81259
- case "stream":
81260
- return (0, text_1.minifyStreamOutput)(output2, outputCache, opts);
81261
- case "error":
81262
- return (0, text_1.minifyErrorOutput)(output2, outputCache, opts);
81263
- case "update_display_data":
81264
- case "display_data":
81265
- case "execute_result":
81266
- return (0, mime_1.minifyMimeOutput)(output2, outputCache, opts);
81267
- default:
81268
- return null;
81269
- }
81270
- });
81271
- }
81272
- function minifyCellOutput2(outputs, outputCache, opts = {}) {
81273
- var _a6, _b, _c;
81274
- return __awaiter(this, void 0, void 0, function* () {
81275
- const options = {
81276
- maxCharacters: (_a6 = opts.maxCharacters) !== null && _a6 !== void 0 ? _a6 : utils_1.MAX_CHARS,
81277
- truncateTo: (_b = opts.truncateTo) !== null && _b !== void 0 ? _b : utils_1.TRUNCATED_CHARS_COUNT,
81278
- computeHash: (_c = opts.computeHash) !== null && _c !== void 0 ? _c : utils_1.DEFAULT_HASH_WARNING
81279
- };
81280
- const minifiedOrNull = yield Promise.all(outputs.map((output2) => __awaiter(this, void 0, void 0, function* () {
81281
- return minifyOneOutputItem(output2, outputCache, options);
81282
- })));
81283
- return minifiedOrNull.filter(utils_1.isNotNull);
81284
- });
81285
- }
81286
- exports2.minifyCellOutput = minifyCellOutput2;
81287
- }
81288
- });
81289
-
81290
- // ../../node_modules/nbtx/dist/cjs/minify/convert.js
81291
- var require_convert = __commonJS({
81292
- "../../node_modules/nbtx/dist/cjs/minify/convert.js"(exports2) {
81293
- "use strict";
81294
- var __rest = exports2 && exports2.__rest || function(s5, e2) {
81295
- var t2 = {};
81296
- for (var p5 in s5)
81297
- if (Object.prototype.hasOwnProperty.call(s5, p5) && e2.indexOf(p5) < 0)
81298
- t2[p5] = s5[p5];
81299
- if (s5 != null && typeof Object.getOwnPropertySymbols === "function")
81300
- for (var i2 = 0, p5 = Object.getOwnPropertySymbols(s5); i2 < p5.length; i2++) {
81301
- if (e2.indexOf(p5[i2]) < 0 && Object.prototype.propertyIsEnumerable.call(s5, p5[i2]))
81302
- t2[p5[i2]] = s5[p5[i2]];
81303
- }
81304
- return t2;
81305
- };
81306
- Object.defineProperty(exports2, "__esModule", { value: true });
81307
- exports2.convertToIOutputs = void 0;
81308
- function convertToIOutputs(minified, outputCache) {
81309
- return minified.map((m2) => {
81310
- switch (m2.output_type) {
81311
- case "stream": {
81312
- const { hash } = m2, rest = __rest(m2, ["hash"]);
81313
- if (hash && outputCache[hash]) {
81314
- return Object.assign(Object.assign({}, rest), { text: outputCache[hash][0] });
81315
- }
81316
- return rest;
81317
- }
81318
- case "error": {
81319
- const { hash, traceback } = m2, rest = __rest(m2, ["hash", "traceback"]);
81320
- if (hash && outputCache[hash]) {
81321
- return Object.assign(Object.assign({}, rest), { traceback: [outputCache[hash][0]] });
81322
- }
81323
- return Object.assign(Object.assign({}, rest), { traceback: [traceback] });
81324
- }
81325
- default: {
81326
- return Object.assign(Object.assign({}, m2), { data: Object.entries(m2.data).reduce((acc, [mimetype, payload]) => {
81327
- let { content: content3 } = payload;
81328
- const { hash } = payload;
81329
- if (hash && outputCache[hash]) {
81330
- [content3] = outputCache[hash];
81331
- }
81332
- if (content3 && mimetype !== "application/javascript" && mimetype.startsWith("application/")) {
81333
- try {
81334
- content3 = JSON.parse(content3);
81335
- } catch (e2) {
81336
- console.debug(`${mimetype} is not json parsable, leaving as is`);
81337
- }
81338
- }
81339
- if (content3 && mimetype.startsWith("image/") && !mimetype.startsWith("image/svg") && content3.startsWith("data:") && content3.includes(";base64,")) {
81340
- const [data] = content3.split(";base64,").reverse();
81341
- content3 = data;
81342
- }
81343
- if (!content3)
81344
- return acc;
81345
- return Object.assign(Object.assign({}, acc), { [mimetype]: content3 });
81346
- }, {}) });
81347
- }
81348
- }
81349
- });
81350
- }
81351
- exports2.convertToIOutputs = convertToIOutputs;
81352
- }
81353
- });
81354
-
81355
- // ../../node_modules/nbtx/dist/cjs/minify/types.js
81356
- var require_types = __commonJS({
81357
- "../../node_modules/nbtx/dist/cjs/minify/types.js"(exports2) {
81358
- "use strict";
81359
- Object.defineProperty(exports2, "__esModule", { value: true });
81360
- }
81361
- });
81362
-
81363
- // ../../node_modules/nbtx/dist/cjs/minify/index.js
81364
- var require_minify2 = __commonJS({
81365
- "../../node_modules/nbtx/dist/cjs/minify/index.js"(exports2) {
81366
- "use strict";
81367
- var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m2, k, k2) {
81368
- if (k2 === void 0)
81369
- k2 = k;
81370
- var desc = Object.getOwnPropertyDescriptor(m2, k);
81371
- if (!desc || ("get" in desc ? !m2.__esModule : desc.writable || desc.configurable)) {
81372
- desc = { enumerable: true, get: function() {
81373
- return m2[k];
81374
- } };
81375
- }
81376
- Object.defineProperty(o, k2, desc);
81377
- } : function(o, m2, k, k2) {
81378
- if (k2 === void 0)
81379
- k2 = k;
81380
- o[k2] = m2[k];
81381
- });
81382
- var __exportStar = exports2 && exports2.__exportStar || function(m2, exports3) {
81383
- for (var p5 in m2)
81384
- if (p5 !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p5))
81385
- __createBinding(exports3, m2, p5);
81386
- };
81387
- Object.defineProperty(exports2, "__esModule", { value: true });
81388
- exports2.convertToIOutputs = exports2.minifyCellOutput = void 0;
81389
- var minify_1 = require_minify();
81390
- Object.defineProperty(exports2, "minifyCellOutput", { enumerable: true, get: function() {
81391
- return minify_1.minifyCellOutput;
81392
- } });
81393
- var convert_1 = require_convert();
81394
- Object.defineProperty(exports2, "convertToIOutputs", { enumerable: true, get: function() {
81395
- return convert_1.convertToIOutputs;
81396
- } });
81397
- __exportStar(require_types(), exports2);
81398
- __exportStar(require_utils6(), exports2);
81399
- }
81400
- });
81401
-
81402
- // ../../node_modules/nbtx/dist/cjs/types.js
81403
- var require_types2 = __commonJS({
81404
- "../../node_modules/nbtx/dist/cjs/types.js"(exports2) {
81405
- "use strict";
81406
- Object.defineProperty(exports2, "__esModule", { value: true });
81407
- exports2.CELL_TYPES = exports2.KnownCellOutputMimeTypes = void 0;
81408
- var KnownCellOutputMimeTypes;
81409
- (function(KnownCellOutputMimeTypes2) {
81410
- KnownCellOutputMimeTypes2["TextPlain"] = "text/plain";
81411
- KnownCellOutputMimeTypes2["TextHtml"] = "text/html";
81412
- KnownCellOutputMimeTypes2["TextLatex"] = "text/latex";
81413
- KnownCellOutputMimeTypes2["ImagePng"] = "image/png";
81414
- KnownCellOutputMimeTypes2["ImageBmp"] = "image/bmp";
81415
- KnownCellOutputMimeTypes2["ImageJpeg"] = "image/jpeg";
81416
- KnownCellOutputMimeTypes2["ImageSvg"] = "image/svg+xml";
81417
- KnownCellOutputMimeTypes2["ImageGif"] = "image/gif";
81418
- KnownCellOutputMimeTypes2["AppJson"] = "application/json";
81419
- KnownCellOutputMimeTypes2["AppGeoJson"] = "application/geo+json";
81420
- KnownCellOutputMimeTypes2["AppPlotly"] = "application/vnd.plotly.v1+json";
81421
- KnownCellOutputMimeTypes2["AppVega"] = "application/vnd.vega.v5+json";
81422
- KnownCellOutputMimeTypes2["AppVegaLite"] = "application/vnd.vegalite.v3+json";
81423
- KnownCellOutputMimeTypes2["AppVirtualDom"] = "application/vdom.v1+json";
81424
- KnownCellOutputMimeTypes2["AppJavascript"] = "application/javascript";
81425
- KnownCellOutputMimeTypes2["AppWidgetView"] = "application/vnd.jupyter.widget-view+json";
81426
- KnownCellOutputMimeTypes2["AppWidgetState"] = "application/vnd.jupyter.widget-state+json";
81427
- KnownCellOutputMimeTypes2["AppBokehLoad"] = "application/vnd.bokehjs_load.v0+json";
81428
- KnownCellOutputMimeTypes2["AppBokehExec"] = "application/vnd.bokehjs_exec.v0+json";
81429
- })(KnownCellOutputMimeTypes = exports2.KnownCellOutputMimeTypes || (exports2.KnownCellOutputMimeTypes = {}));
81430
- var CELL_TYPES2;
81431
- (function(CELL_TYPES3) {
81432
- CELL_TYPES3["raw"] = "raw";
81433
- CELL_TYPES3["markdown"] = "markdown";
81434
- CELL_TYPES3["code"] = "code";
81435
- })(CELL_TYPES2 = exports2.CELL_TYPES || (exports2.CELL_TYPES = {}));
81436
- }
81437
- });
81438
-
81439
- // ../../node_modules/nbtx/dist/cjs/utils.js
81440
- var require_utils7 = __commonJS({
81441
- "../../node_modules/nbtx/dist/cjs/utils.js"(exports2) {
81442
- "use strict";
81443
- Object.defineProperty(exports2, "__esModule", { value: true });
81444
- exports2.extFromMimeType = void 0;
81445
- var types_1 = require_types2();
81446
- function extFromMimeType3(mimeType) {
81447
- if (mimeType === types_1.KnownCellOutputMimeTypes.TextHtml)
81448
- return ".html";
81449
- if (mimeType === types_1.KnownCellOutputMimeTypes.TextLatex)
81450
- return ".tex";
81451
- if (mimeType.startsWith("text/"))
81452
- return ".txt";
81453
- if (mimeType.startsWith("image/")) {
81454
- const suffix = mimeType.split("/")[1];
81455
- const ext2 = suffix.split("+")[0];
81456
- return `.${ext2}`;
81457
- }
81458
- return ".json";
81459
- }
81460
- exports2.extFromMimeType = extFromMimeType3;
81461
- }
81462
- });
81463
-
81464
- // ../../node_modules/nbtx/dist/cjs/index.js
81465
- var require_cjs2 = __commonJS({
81466
- "../../node_modules/nbtx/dist/cjs/index.js"(exports2) {
81467
- "use strict";
81468
- var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m2, k, k2) {
81469
- if (k2 === void 0)
81470
- k2 = k;
81471
- var desc = Object.getOwnPropertyDescriptor(m2, k);
81472
- if (!desc || ("get" in desc ? !m2.__esModule : desc.writable || desc.configurable)) {
81473
- desc = { enumerable: true, get: function() {
81474
- return m2[k];
81475
- } };
81476
- }
81477
- Object.defineProperty(o, k2, desc);
81478
- } : function(o, m2, k, k2) {
81479
- if (k2 === void 0)
81480
- k2 = k;
81481
- o[k2] = m2[k];
81482
- });
81483
- var __exportStar = exports2 && exports2.__exportStar || function(m2, exports3) {
81484
- for (var p5 in m2)
81485
- if (p5 !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p5))
81486
- __createBinding(exports3, m2, p5);
81487
- };
81488
- Object.defineProperty(exports2, "__esModule", { value: true });
81489
- __exportStar(require_minify2(), exports2);
81490
- __exportStar(require_types2(), exports2);
81491
- __exportStar(require_utils7(), exports2);
81492
- }
81493
- });
81494
-
81495
81030
  // ../../node_modules/mime-db/db.json
81496
81031
  var require_db = __commonJS({
81497
81032
  "../../node_modules/mime-db/db.json"(exports2, module2) {
@@ -96934,7 +96469,7 @@ var require_errors = __commonJS({
96934
96469
  });
96935
96470
 
96936
96471
  // ../../node_modules/adm-zip/util/utils.js
96937
- var require_utils8 = __commonJS({
96472
+ var require_utils6 = __commonJS({
96938
96473
  "../../node_modules/adm-zip/util/utils.js"(exports2, module2) {
96939
96474
  var fsystem = require_fileSystem().require();
96940
96475
  var pth = require("path");
@@ -97220,7 +96755,7 @@ var require_fattr = __commonJS({
97220
96755
  // ../../node_modules/adm-zip/util/index.js
97221
96756
  var require_util3 = __commonJS({
97222
96757
  "../../node_modules/adm-zip/util/index.js"(exports2, module2) {
97223
- module2.exports = require_utils8();
96758
+ module2.exports = require_utils6();
97224
96759
  module2.exports.Constants = require_constants2();
97225
96760
  module2.exports.Errors = require_errors();
97226
96761
  module2.exports.FileAttr = require_fattr();
@@ -99262,7 +98797,7 @@ var require_options2 = __commonJS({
99262
98797
  });
99263
98798
 
99264
98799
  // ../myst-execute/node_modules/isexe/dist/cjs/index.js
99265
- var require_cjs3 = __commonJS({
98800
+ var require_cjs2 = __commonJS({
99266
98801
  "../myst-execute/node_modules/isexe/dist/cjs/index.js"(exports2) {
99267
98802
  "use strict";
99268
98803
  var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m2, k, k2) {
@@ -99319,7 +98854,7 @@ var require_cjs3 = __commonJS({
99319
98854
  // ../myst-execute/node_modules/which/lib/index.js
99320
98855
  var require_lib16 = __commonJS({
99321
98856
  "../myst-execute/node_modules/which/lib/index.js"(exports2, module2) {
99322
- var { isexe, sync: isexeSync } = require_cjs3();
98857
+ var { isexe, sync: isexeSync } = require_cjs2();
99323
98858
  var { join: join20, delimiter: delimiter2, sep: sep5, posix: posix2 } = require("path");
99324
98859
  var isWindows = process.platform === "win32";
99325
98860
  var rSlash = new RegExp(`[${posix2.sep}${sep5 === posix2.sep ? "" : sep5}]`.replace(/(\\)/g, "\\$1"));
@@ -99602,7 +99137,7 @@ var require_constants3 = __commonJS({
99602
99137
  });
99603
99138
 
99604
99139
  // ../../node_modules/picomatch/lib/utils.js
99605
- var require_utils9 = __commonJS({
99140
+ var require_utils7 = __commonJS({
99606
99141
  "../../node_modules/picomatch/lib/utils.js"(exports2) {
99607
99142
  "use strict";
99608
99143
  var path44 = require("path");
@@ -99668,7 +99203,7 @@ var require_utils9 = __commonJS({
99668
99203
  var require_scan2 = __commonJS({
99669
99204
  "../../node_modules/picomatch/lib/scan.js"(exports2, module2) {
99670
99205
  "use strict";
99671
- var utils2 = require_utils9();
99206
+ var utils2 = require_utils7();
99672
99207
  var {
99673
99208
  CHAR_ASTERISK: CHAR_ASTERISK2,
99674
99209
  /* * */
@@ -100002,7 +99537,7 @@ var require_parse4 = __commonJS({
100002
99537
  "../../node_modules/picomatch/lib/parse.js"(exports2, module2) {
100003
99538
  "use strict";
100004
99539
  var constants2 = require_constants3();
100005
- var utils2 = require_utils9();
99540
+ var utils2 = require_utils7();
100006
99541
  var {
100007
99542
  MAX_LENGTH,
100008
99543
  POSIX_REGEX_SOURCE,
@@ -100785,7 +100320,7 @@ var require_picomatch = __commonJS({
100785
100320
  var path44 = require("path");
100786
100321
  var scan2 = require_scan2();
100787
100322
  var parse16 = require_parse4();
100788
- var utils2 = require_utils9();
100323
+ var utils2 = require_utils7();
100789
100324
  var constants2 = require_constants3();
100790
100325
  var isObject2 = (val) => val && typeof val === "object" && !Array.isArray(val);
100791
100326
  var picomatch = (glob2, options, returnState = false) => {
@@ -101442,7 +100977,7 @@ var require_glob_parent = __commonJS({
101442
100977
  });
101443
100978
 
101444
100979
  // ../../node_modules/braces/lib/utils.js
101445
- var require_utils10 = __commonJS({
100980
+ var require_utils8 = __commonJS({
101446
100981
  "../../node_modules/braces/lib/utils.js"(exports2) {
101447
100982
  "use strict";
101448
100983
  exports2.isInteger = (num) => {
@@ -101535,7 +101070,7 @@ var require_utils10 = __commonJS({
101535
101070
  var require_stringify3 = __commonJS({
101536
101071
  "../../node_modules/braces/lib/stringify.js"(exports2, module2) {
101537
101072
  "use strict";
101538
- var utils2 = require_utils10();
101073
+ var utils2 = require_utils8();
101539
101074
  module2.exports = (ast, options = {}) => {
101540
101075
  const stringify4 = (node3, parent2 = {}) => {
101541
101076
  const invalidBlock = options.escapeInvalid && utils2.isInvalidBrace(parent2);
@@ -102001,7 +101536,7 @@ var require_compile = __commonJS({
102001
101536
  "../../node_modules/braces/lib/compile.js"(exports2, module2) {
102002
101537
  "use strict";
102003
101538
  var fill3 = require_fill_range();
102004
- var utils2 = require_utils10();
101539
+ var utils2 = require_utils8();
102005
101540
  var compile2 = (ast, options = {}) => {
102006
101541
  const walk2 = (node3, parent2 = {}) => {
102007
101542
  const invalidBlock = utils2.isInvalidBrace(parent2);
@@ -102054,7 +101589,7 @@ var require_expand = __commonJS({
102054
101589
  "use strict";
102055
101590
  var fill3 = require_fill_range();
102056
101591
  var stringify4 = require_stringify3();
102057
- var utils2 = require_utils10();
101592
+ var utils2 = require_utils8();
102058
101593
  var append = (queue = "", stash = "", enclose = false) => {
102059
101594
  const result = [];
102060
101595
  queue = [].concat(queue);
@@ -119480,7 +119015,7 @@ var require_webp = __commonJS({
119480
119015
  });
119481
119016
 
119482
119017
  // ../../node_modules/buffer-image-size/lib/types.js
119483
- var require_types3 = __commonJS({
119018
+ var require_types = __commonJS({
119484
119019
  "../../node_modules/buffer-image-size/lib/types.js"(exports2, module2) {
119485
119020
  "use strict";
119486
119021
  var typeHandlers = {
@@ -119503,7 +119038,7 @@ var require_types3 = __commonJS({
119503
119038
  var require_detector = __commonJS({
119504
119039
  "../../node_modules/buffer-image-size/lib/detector.js"(exports2, module2) {
119505
119040
  "use strict";
119506
- var typeHandlers = require_types3();
119041
+ var typeHandlers = require_types();
119507
119042
  module2.exports = function(buffer2) {
119508
119043
  var type2, result;
119509
119044
  for (type2 in typeHandlers) {
@@ -119520,7 +119055,7 @@ var require_detector = __commonJS({
119520
119055
  var require_lib18 = __commonJS({
119521
119056
  "../../node_modules/buffer-image-size/lib/index.js"(exports2, module2) {
119522
119057
  "use strict";
119523
- var typeHandlers = require_types3();
119058
+ var typeHandlers = require_types();
119524
119059
  var detector = require_detector();
119525
119060
  function lookup2(buffer2) {
119526
119061
  var type2 = detector(buffer2);
@@ -122735,7 +122270,7 @@ var require_fs = __commonJS({
122735
122270
  });
122736
122271
 
122737
122272
  // ../myst-cli/node_modules/fs-extra/lib/mkdirs/utils.js
122738
- var require_utils11 = __commonJS({
122273
+ var require_utils9 = __commonJS({
122739
122274
  "../myst-cli/node_modules/fs-extra/lib/mkdirs/utils.js"(exports2, module2) {
122740
122275
  "use strict";
122741
122276
  var path44 = require("path");
@@ -122757,7 +122292,7 @@ var require_make_dir = __commonJS({
122757
122292
  "../myst-cli/node_modules/fs-extra/lib/mkdirs/make-dir.js"(exports2, module2) {
122758
122293
  "use strict";
122759
122294
  var fs50 = require_fs();
122760
- var { checkPath } = require_utils11();
122295
+ var { checkPath } = require_utils9();
122761
122296
  var getMode = (options) => {
122762
122297
  const defaults4 = { mode: 511 };
122763
122298
  if (typeof options === "number")
@@ -123797,7 +123332,7 @@ var require_ensure = __commonJS({
123797
123332
  });
123798
123333
 
123799
123334
  // ../myst-cli/node_modules/jsonfile/utils.js
123800
- var require_utils12 = __commonJS({
123335
+ var require_utils10 = __commonJS({
123801
123336
  "../myst-cli/node_modules/jsonfile/utils.js"(exports2, module2) {
123802
123337
  function stringify4(obj, { EOL = "\n", finalEOL = true, replacer = null, spaces } = {}) {
123803
123338
  const EOF2 = finalEOL ? EOL : "";
@@ -123823,7 +123358,7 @@ var require_jsonfile = __commonJS({
123823
123358
  _fs3 = require("fs");
123824
123359
  }
123825
123360
  var universalify = require_universalify();
123826
- var { stringify: stringify4, stripBom } = require_utils12();
123361
+ var { stringify: stringify4, stripBom } = require_utils10();
123827
123362
  async function _readFile(file, options = {}) {
123828
123363
  if (typeof options === "string") {
123829
123364
  options = { encoding: options };
@@ -123947,7 +123482,7 @@ var require_output_file = __commonJS({
123947
123482
  var require_output_json = __commonJS({
123948
123483
  "../myst-cli/node_modules/fs-extra/lib/json/output-json.js"(exports2, module2) {
123949
123484
  "use strict";
123950
- var { stringify: stringify4 } = require_utils12();
123485
+ var { stringify: stringify4 } = require_utils10();
123951
123486
  var { outputFile } = require_output_file();
123952
123487
  async function outputJson(file, data, options = {}) {
123953
123488
  const str2 = stringify4(data, options);
@@ -123961,7 +123496,7 @@ var require_output_json = __commonJS({
123961
123496
  var require_output_json_sync = __commonJS({
123962
123497
  "../myst-cli/node_modules/fs-extra/lib/json/output-json-sync.js"(exports2, module2) {
123963
123498
  "use strict";
123964
- var { stringify: stringify4 } = require_utils12();
123499
+ var { stringify: stringify4 } = require_utils10();
123965
123500
  var { outputFileSync } = require_output_file();
123966
123501
  function outputJsonSync(file, data, options) {
123967
123502
  const str2 = stringify4(data, options);
@@ -130314,7 +129849,7 @@ var require_raw2 = __commonJS({
130314
129849
  });
130315
129850
 
130316
129851
  // ../../node_modules/body-parser/lib/types/text.js
130317
- var require_text3 = __commonJS({
129852
+ var require_text2 = __commonJS({
130318
129853
  "../../node_modules/body-parser/lib/types/text.js"(exports2, module2) {
130319
129854
  "use strict";
130320
129855
  var bytes = require_bytes();
@@ -131808,7 +131343,7 @@ var require_formats = __commonJS({
131808
131343
  });
131809
131344
 
131810
131345
  // ../../node_modules/qs/lib/utils.js
131811
- var require_utils13 = __commonJS({
131346
+ var require_utils11 = __commonJS({
131812
131347
  "../../node_modules/qs/lib/utils.js"(exports2, module2) {
131813
131348
  "use strict";
131814
131349
  var formats = require_formats();
@@ -132017,7 +131552,7 @@ var require_stringify4 = __commonJS({
132017
131552
  "../../node_modules/qs/lib/stringify.js"(exports2, module2) {
132018
131553
  "use strict";
132019
131554
  var getSideChannel = require_side_channel();
132020
- var utils2 = require_utils13();
131555
+ var utils2 = require_utils11();
132021
131556
  var formats = require_formats();
132022
131557
  var has3 = Object.prototype.hasOwnProperty;
132023
131558
  var arrayPrefixGenerators = {
@@ -132296,7 +131831,7 @@ var require_stringify4 = __commonJS({
132296
131831
  var require_parse6 = __commonJS({
132297
131832
  "../../node_modules/qs/lib/parse.js"(exports2, module2) {
132298
131833
  "use strict";
132299
- var utils2 = require_utils13();
131834
+ var utils2 = require_utils11();
132300
131835
  var has3 = Object.prototype.hasOwnProperty;
132301
131836
  var isArray2 = Array.isArray;
132302
131837
  var defaults4 = {
@@ -132776,7 +132311,7 @@ var require_body_parser = __commonJS({
132776
132311
  parser3 = require_raw2();
132777
132312
  break;
132778
132313
  case "text":
132779
- parser3 = require_text3();
132314
+ parser3 = require_text2();
132780
132315
  break;
132781
132316
  case "urlencoded":
132782
132317
  parser3 = require_urlencoded();
@@ -135673,14 +135208,14 @@ var require_fresh = __commonJS({
135673
135208
  });
135674
135209
 
135675
135210
  // ../../node_modules/mime/types.json
135676
- var require_types4 = __commonJS({
135211
+ var require_types2 = __commonJS({
135677
135212
  "../../node_modules/mime/types.json"(exports2, module2) {
135678
135213
  module2.exports = { "application/andrew-inset": ["ez"], "application/applixware": ["aw"], "application/atom+xml": ["atom"], "application/atomcat+xml": ["atomcat"], "application/atomsvc+xml": ["atomsvc"], "application/bdoc": ["bdoc"], "application/ccxml+xml": ["ccxml"], "application/cdmi-capability": ["cdmia"], "application/cdmi-container": ["cdmic"], "application/cdmi-domain": ["cdmid"], "application/cdmi-object": ["cdmio"], "application/cdmi-queue": ["cdmiq"], "application/cu-seeme": ["cu"], "application/dash+xml": ["mpd"], "application/davmount+xml": ["davmount"], "application/docbook+xml": ["dbk"], "application/dssc+der": ["dssc"], "application/dssc+xml": ["xdssc"], "application/ecmascript": ["ecma"], "application/emma+xml": ["emma"], "application/epub+zip": ["epub"], "application/exi": ["exi"], "application/font-tdpfr": ["pfr"], "application/font-woff": [], "application/font-woff2": [], "application/geo+json": ["geojson"], "application/gml+xml": ["gml"], "application/gpx+xml": ["gpx"], "application/gxf": ["gxf"], "application/gzip": ["gz"], "application/hyperstudio": ["stk"], "application/inkml+xml": ["ink", "inkml"], "application/ipfix": ["ipfix"], "application/java-archive": ["jar", "war", "ear"], "application/java-serialized-object": ["ser"], "application/java-vm": ["class"], "application/javascript": ["js", "mjs"], "application/json": ["json", "map"], "application/json5": ["json5"], "application/jsonml+json": ["jsonml"], "application/ld+json": ["jsonld"], "application/lost+xml": ["lostxml"], "application/mac-binhex40": ["hqx"], "application/mac-compactpro": ["cpt"], "application/mads+xml": ["mads"], "application/manifest+json": ["webmanifest"], "application/marc": ["mrc"], "application/marcxml+xml": ["mrcx"], "application/mathematica": ["ma", "nb", "mb"], "application/mathml+xml": ["mathml"], "application/mbox": ["mbox"], "application/mediaservercontrol+xml": ["mscml"], "application/metalink+xml": ["metalink"], "application/metalink4+xml": ["meta4"], "application/mets+xml": ["mets"], "application/mods+xml": ["mods"], "application/mp21": ["m21", "mp21"], "application/mp4": ["mp4s", "m4p"], "application/msword": ["doc", "dot"], "application/mxf": ["mxf"], "application/octet-stream": ["bin", "dms", "lrf", "mar", "so", "dist", "distz", "pkg", "bpk", "dump", "elc", "deploy", "exe", "dll", "deb", "dmg", "iso", "img", "msi", "msp", "msm", "buffer"], "application/oda": ["oda"], "application/oebps-package+xml": ["opf"], "application/ogg": ["ogx"], "application/omdoc+xml": ["omdoc"], "application/onenote": ["onetoc", "onetoc2", "onetmp", "onepkg"], "application/oxps": ["oxps"], "application/patch-ops-error+xml": ["xer"], "application/pdf": ["pdf"], "application/pgp-encrypted": ["pgp"], "application/pgp-signature": ["asc", "sig"], "application/pics-rules": ["prf"], "application/pkcs10": ["p10"], "application/pkcs7-mime": ["p7m", "p7c"], "application/pkcs7-signature": ["p7s"], "application/pkcs8": ["p8"], "application/pkix-attr-cert": ["ac"], "application/pkix-cert": ["cer"], "application/pkix-crl": ["crl"], "application/pkix-pkipath": ["pkipath"], "application/pkixcmp": ["pki"], "application/pls+xml": ["pls"], "application/postscript": ["ai", "eps", "ps"], "application/prs.cww": ["cww"], "application/pskc+xml": ["pskcxml"], "application/raml+yaml": ["raml"], "application/rdf+xml": ["rdf"], "application/reginfo+xml": ["rif"], "application/relax-ng-compact-syntax": ["rnc"], "application/resource-lists+xml": ["rl"], "application/resource-lists-diff+xml": ["rld"], "application/rls-services+xml": ["rs"], "application/rpki-ghostbusters": ["gbr"], "application/rpki-manifest": ["mft"], "application/rpki-roa": ["roa"], "application/rsd+xml": ["rsd"], "application/rss+xml": ["rss"], "application/rtf": ["rtf"], "application/sbml+xml": ["sbml"], "application/scvp-cv-request": ["scq"], "application/scvp-cv-response": ["scs"], "application/scvp-vp-request": ["spq"], "application/scvp-vp-response": ["spp"], "application/sdp": ["sdp"], "application/set-payment-initiation": ["setpay"], "application/set-registration-initiation": ["setreg"], "application/shf+xml": ["shf"], "application/smil+xml": ["smi", "smil"], "application/sparql-query": ["rq"], "application/sparql-results+xml": ["srx"], "application/srgs": ["gram"], "application/srgs+xml": ["grxml"], "application/sru+xml": ["sru"], "application/ssdl+xml": ["ssdl"], "application/ssml+xml": ["ssml"], "application/tei+xml": ["tei", "teicorpus"], "application/thraud+xml": ["tfi"], "application/timestamped-data": ["tsd"], "application/vnd.3gpp.pic-bw-large": ["plb"], "application/vnd.3gpp.pic-bw-small": ["psb"], "application/vnd.3gpp.pic-bw-var": ["pvb"], "application/vnd.3gpp2.tcap": ["tcap"], "application/vnd.3m.post-it-notes": ["pwn"], "application/vnd.accpac.simply.aso": ["aso"], "application/vnd.accpac.simply.imp": ["imp"], "application/vnd.acucobol": ["acu"], "application/vnd.acucorp": ["atc", "acutc"], "application/vnd.adobe.air-application-installer-package+zip": ["air"], "application/vnd.adobe.formscentral.fcdt": ["fcdt"], "application/vnd.adobe.fxp": ["fxp", "fxpl"], "application/vnd.adobe.xdp+xml": ["xdp"], "application/vnd.adobe.xfdf": ["xfdf"], "application/vnd.ahead.space": ["ahead"], "application/vnd.airzip.filesecure.azf": ["azf"], "application/vnd.airzip.filesecure.azs": ["azs"], "application/vnd.amazon.ebook": ["azw"], "application/vnd.americandynamics.acc": ["acc"], "application/vnd.amiga.ami": ["ami"], "application/vnd.android.package-archive": ["apk"], "application/vnd.anser-web-certificate-issue-initiation": ["cii"], "application/vnd.anser-web-funds-transfer-initiation": ["fti"], "application/vnd.antix.game-component": ["atx"], "application/vnd.apple.installer+xml": ["mpkg"], "application/vnd.apple.mpegurl": ["m3u8"], "application/vnd.apple.pkpass": ["pkpass"], "application/vnd.aristanetworks.swi": ["swi"], "application/vnd.astraea-software.iota": ["iota"], "application/vnd.audiograph": ["aep"], "application/vnd.blueice.multipass": ["mpm"], "application/vnd.bmi": ["bmi"], "application/vnd.businessobjects": ["rep"], "application/vnd.chemdraw+xml": ["cdxml"], "application/vnd.chipnuts.karaoke-mmd": ["mmd"], "application/vnd.cinderella": ["cdy"], "application/vnd.claymore": ["cla"], "application/vnd.cloanto.rp9": ["rp9"], "application/vnd.clonk.c4group": ["c4g", "c4d", "c4f", "c4p", "c4u"], "application/vnd.cluetrust.cartomobile-config": ["c11amc"], "application/vnd.cluetrust.cartomobile-config-pkg": ["c11amz"], "application/vnd.commonspace": ["csp"], "application/vnd.contact.cmsg": ["cdbcmsg"], "application/vnd.cosmocaller": ["cmc"], "application/vnd.crick.clicker": ["clkx"], "application/vnd.crick.clicker.keyboard": ["clkk"], "application/vnd.crick.clicker.palette": ["clkp"], "application/vnd.crick.clicker.template": ["clkt"], "application/vnd.crick.clicker.wordbank": ["clkw"], "application/vnd.criticaltools.wbs+xml": ["wbs"], "application/vnd.ctc-posml": ["pml"], "application/vnd.cups-ppd": ["ppd"], "application/vnd.curl.car": ["car"], "application/vnd.curl.pcurl": ["pcurl"], "application/vnd.dart": ["dart"], "application/vnd.data-vision.rdz": ["rdz"], "application/vnd.dece.data": ["uvf", "uvvf", "uvd", "uvvd"], "application/vnd.dece.ttml+xml": ["uvt", "uvvt"], "application/vnd.dece.unspecified": ["uvx", "uvvx"], "application/vnd.dece.zip": ["uvz", "uvvz"], "application/vnd.denovo.fcselayout-link": ["fe_launch"], "application/vnd.dna": ["dna"], "application/vnd.dolby.mlp": ["mlp"], "application/vnd.dpgraph": ["dpg"], "application/vnd.dreamfactory": ["dfac"], "application/vnd.ds-keypoint": ["kpxx"], "application/vnd.dvb.ait": ["ait"], "application/vnd.dvb.service": ["svc"], "application/vnd.dynageo": ["geo"], "application/vnd.ecowin.chart": ["mag"], "application/vnd.enliven": ["nml"], "application/vnd.epson.esf": ["esf"], "application/vnd.epson.msf": ["msf"], "application/vnd.epson.quickanime": ["qam"], "application/vnd.epson.salt": ["slt"], "application/vnd.epson.ssf": ["ssf"], "application/vnd.eszigno3+xml": ["es3", "et3"], "application/vnd.ezpix-album": ["ez2"], "application/vnd.ezpix-package": ["ez3"], "application/vnd.fdf": ["fdf"], "application/vnd.fdsn.mseed": ["mseed"], "application/vnd.fdsn.seed": ["seed", "dataless"], "application/vnd.flographit": ["gph"], "application/vnd.fluxtime.clip": ["ftc"], "application/vnd.framemaker": ["fm", "frame", "maker", "book"], "application/vnd.frogans.fnc": ["fnc"], "application/vnd.frogans.ltf": ["ltf"], "application/vnd.fsc.weblaunch": ["fsc"], "application/vnd.fujitsu.oasys": ["oas"], "application/vnd.fujitsu.oasys2": ["oa2"], "application/vnd.fujitsu.oasys3": ["oa3"], "application/vnd.fujitsu.oasysgp": ["fg5"], "application/vnd.fujitsu.oasysprs": ["bh2"], "application/vnd.fujixerox.ddd": ["ddd"], "application/vnd.fujixerox.docuworks": ["xdw"], "application/vnd.fujixerox.docuworks.binder": ["xbd"], "application/vnd.fuzzysheet": ["fzs"], "application/vnd.genomatix.tuxedo": ["txd"], "application/vnd.geogebra.file": ["ggb"], "application/vnd.geogebra.tool": ["ggt"], "application/vnd.geometry-explorer": ["gex", "gre"], "application/vnd.geonext": ["gxt"], "application/vnd.geoplan": ["g2w"], "application/vnd.geospace": ["g3w"], "application/vnd.gmx": ["gmx"], "application/vnd.google-apps.document": ["gdoc"], "application/vnd.google-apps.presentation": ["gslides"], "application/vnd.google-apps.spreadsheet": ["gsheet"], "application/vnd.google-earth.kml+xml": ["kml"], "application/vnd.google-earth.kmz": ["kmz"], "application/vnd.grafeq": ["gqf", "gqs"], "application/vnd.groove-account": ["gac"], "application/vnd.groove-help": ["ghf"], "application/vnd.groove-identity-message": ["gim"], "application/vnd.groove-injector": ["grv"], "application/vnd.groove-tool-message": ["gtm"], "application/vnd.groove-tool-template": ["tpl"], "application/vnd.groove-vcard": ["vcg"], "application/vnd.hal+xml": ["hal"], "application/vnd.handheld-entertainment+xml": ["zmm"], "application/vnd.hbci": ["hbci"], "application/vnd.hhe.lesson-player": ["les"], "application/vnd.hp-hpgl": ["hpgl"], "application/vnd.hp-hpid": ["hpid"], "application/vnd.hp-hps": ["hps"], "application/vnd.hp-jlyt": ["jlt"], "application/vnd.hp-pcl": ["pcl"], "application/vnd.hp-pclxl": ["pclxl"], "application/vnd.hydrostatix.sof-data": ["sfd-hdstx"], "application/vnd.ibm.minipay": ["mpy"], "application/vnd.ibm.modcap": ["afp", "listafp", "list3820"], "application/vnd.ibm.rights-management": ["irm"], "application/vnd.ibm.secure-container": ["sc"], "application/vnd.iccprofile": ["icc", "icm"], "application/vnd.igloader": ["igl"], "application/vnd.immervision-ivp": ["ivp"], "application/vnd.immervision-ivu": ["ivu"], "application/vnd.insors.igm": ["igm"], "application/vnd.intercon.formnet": ["xpw", "xpx"], "application/vnd.intergeo": ["i2g"], "application/vnd.intu.qbo": ["qbo"], "application/vnd.intu.qfx": ["qfx"], "application/vnd.ipunplugged.rcprofile": ["rcprofile"], "application/vnd.irepository.package+xml": ["irp"], "application/vnd.is-xpr": ["xpr"], "application/vnd.isac.fcs": ["fcs"], "application/vnd.jam": ["jam"], "application/vnd.jcp.javame.midlet-rms": ["rms"], "application/vnd.jisp": ["jisp"], "application/vnd.joost.joda-archive": ["joda"], "application/vnd.kahootz": ["ktz", "ktr"], "application/vnd.kde.karbon": ["karbon"], "application/vnd.kde.kchart": ["chrt"], "application/vnd.kde.kformula": ["kfo"], "application/vnd.kde.kivio": ["flw"], "application/vnd.kde.kontour": ["kon"], "application/vnd.kde.kpresenter": ["kpr", "kpt"], "application/vnd.kde.kspread": ["ksp"], "application/vnd.kde.kword": ["kwd", "kwt"], "application/vnd.kenameaapp": ["htke"], "application/vnd.kidspiration": ["kia"], "application/vnd.kinar": ["kne", "knp"], "application/vnd.koan": ["skp", "skd", "skt", "skm"], "application/vnd.kodak-descriptor": ["sse"], "application/vnd.las.las+xml": ["lasxml"], "application/vnd.llamagraphics.life-balance.desktop": ["lbd"], "application/vnd.llamagraphics.life-balance.exchange+xml": ["lbe"], "application/vnd.lotus-1-2-3": ["123"], "application/vnd.lotus-approach": ["apr"], "application/vnd.lotus-freelance": ["pre"], "application/vnd.lotus-notes": ["nsf"], "application/vnd.lotus-organizer": ["org"], "application/vnd.lotus-screencam": ["scm"], "application/vnd.lotus-wordpro": ["lwp"], "application/vnd.macports.portpkg": ["portpkg"], "application/vnd.mcd": ["mcd"], "application/vnd.medcalcdata": ["mc1"], "application/vnd.mediastation.cdkey": ["cdkey"], "application/vnd.mfer": ["mwf"], "application/vnd.mfmp": ["mfm"], "application/vnd.micrografx.flo": ["flo"], "application/vnd.micrografx.igx": ["igx"], "application/vnd.mif": ["mif"], "application/vnd.mobius.daf": ["daf"], "application/vnd.mobius.dis": ["dis"], "application/vnd.mobius.mbk": ["mbk"], "application/vnd.mobius.mqy": ["mqy"], "application/vnd.mobius.msl": ["msl"], "application/vnd.mobius.plc": ["plc"], "application/vnd.mobius.txf": ["txf"], "application/vnd.mophun.application": ["mpn"], "application/vnd.mophun.certificate": ["mpc"], "application/vnd.mozilla.xul+xml": ["xul"], "application/vnd.ms-artgalry": ["cil"], "application/vnd.ms-cab-compressed": ["cab"], "application/vnd.ms-excel": ["xls", "xlm", "xla", "xlc", "xlt", "xlw"], "application/vnd.ms-excel.addin.macroenabled.12": ["xlam"], "application/vnd.ms-excel.sheet.binary.macroenabled.12": ["xlsb"], "application/vnd.ms-excel.sheet.macroenabled.12": ["xlsm"], "application/vnd.ms-excel.template.macroenabled.12": ["xltm"], "application/vnd.ms-fontobject": ["eot"], "application/vnd.ms-htmlhelp": ["chm"], "application/vnd.ms-ims": ["ims"], "application/vnd.ms-lrm": ["lrm"], "application/vnd.ms-officetheme": ["thmx"], "application/vnd.ms-outlook": ["msg"], "application/vnd.ms-pki.seccat": ["cat"], "application/vnd.ms-pki.stl": ["stl"], "application/vnd.ms-powerpoint": ["ppt", "pps", "pot"], "application/vnd.ms-powerpoint.addin.macroenabled.12": ["ppam"], "application/vnd.ms-powerpoint.presentation.macroenabled.12": ["pptm"], "application/vnd.ms-powerpoint.slide.macroenabled.12": ["sldm"], "application/vnd.ms-powerpoint.slideshow.macroenabled.12": ["ppsm"], "application/vnd.ms-powerpoint.template.macroenabled.12": ["potm"], "application/vnd.ms-project": ["mpp", "mpt"], "application/vnd.ms-word.document.macroenabled.12": ["docm"], "application/vnd.ms-word.template.macroenabled.12": ["dotm"], "application/vnd.ms-works": ["wps", "wks", "wcm", "wdb"], "application/vnd.ms-wpl": ["wpl"], "application/vnd.ms-xpsdocument": ["xps"], "application/vnd.mseq": ["mseq"], "application/vnd.musician": ["mus"], "application/vnd.muvee.style": ["msty"], "application/vnd.mynfc": ["taglet"], "application/vnd.neurolanguage.nlu": ["nlu"], "application/vnd.nitf": ["ntf", "nitf"], "application/vnd.noblenet-directory": ["nnd"], "application/vnd.noblenet-sealer": ["nns"], "application/vnd.noblenet-web": ["nnw"], "application/vnd.nokia.n-gage.data": ["ngdat"], "application/vnd.nokia.n-gage.symbian.install": ["n-gage"], "application/vnd.nokia.radio-preset": ["rpst"], "application/vnd.nokia.radio-presets": ["rpss"], "application/vnd.novadigm.edm": ["edm"], "application/vnd.novadigm.edx": ["edx"], "application/vnd.novadigm.ext": ["ext"], "application/vnd.oasis.opendocument.chart": ["odc"], "application/vnd.oasis.opendocument.chart-template": ["otc"], "application/vnd.oasis.opendocument.database": ["odb"], "application/vnd.oasis.opendocument.formula": ["odf"], "application/vnd.oasis.opendocument.formula-template": ["odft"], "application/vnd.oasis.opendocument.graphics": ["odg"], "application/vnd.oasis.opendocument.graphics-template": ["otg"], "application/vnd.oasis.opendocument.image": ["odi"], "application/vnd.oasis.opendocument.image-template": ["oti"], "application/vnd.oasis.opendocument.presentation": ["odp"], "application/vnd.oasis.opendocument.presentation-template": ["otp"], "application/vnd.oasis.opendocument.spreadsheet": ["ods"], "application/vnd.oasis.opendocument.spreadsheet-template": ["ots"], "application/vnd.oasis.opendocument.text": ["odt"], "application/vnd.oasis.opendocument.text-master": ["odm"], "application/vnd.oasis.opendocument.text-template": ["ott"], "application/vnd.oasis.opendocument.text-web": ["oth"], "application/vnd.olpc-sugar": ["xo"], "application/vnd.oma.dd2+xml": ["dd2"], "application/vnd.openofficeorg.extension": ["oxt"], "application/vnd.openxmlformats-officedocument.presentationml.presentation": ["pptx"], "application/vnd.openxmlformats-officedocument.presentationml.slide": ["sldx"], "application/vnd.openxmlformats-officedocument.presentationml.slideshow": ["ppsx"], "application/vnd.openxmlformats-officedocument.presentationml.template": ["potx"], "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": ["xlsx"], "application/vnd.openxmlformats-officedocument.spreadsheetml.template": ["xltx"], "application/vnd.openxmlformats-officedocument.wordprocessingml.document": ["docx"], "application/vnd.openxmlformats-officedocument.wordprocessingml.template": ["dotx"], "application/vnd.osgeo.mapguide.package": ["mgp"], "application/vnd.osgi.dp": ["dp"], "application/vnd.osgi.subsystem": ["esa"], "application/vnd.palm": ["pdb", "pqa", "oprc"], "application/vnd.pawaafile": ["paw"], "application/vnd.pg.format": ["str"], "application/vnd.pg.osasli": ["ei6"], "application/vnd.picsel": ["efif"], "application/vnd.pmi.widget": ["wg"], "application/vnd.pocketlearn": ["plf"], "application/vnd.powerbuilder6": ["pbd"], "application/vnd.previewsystems.box": ["box"], "application/vnd.proteus.magazine": ["mgz"], "application/vnd.publishare-delta-tree": ["qps"], "application/vnd.pvi.ptid1": ["ptid"], "application/vnd.quark.quarkxpress": ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"], "application/vnd.realvnc.bed": ["bed"], "application/vnd.recordare.musicxml": ["mxl"], "application/vnd.recordare.musicxml+xml": ["musicxml"], "application/vnd.rig.cryptonote": ["cryptonote"], "application/vnd.rim.cod": ["cod"], "application/vnd.rn-realmedia": ["rm"], "application/vnd.rn-realmedia-vbr": ["rmvb"], "application/vnd.route66.link66+xml": ["link66"], "application/vnd.sailingtracker.track": ["st"], "application/vnd.seemail": ["see"], "application/vnd.sema": ["sema"], "application/vnd.semd": ["semd"], "application/vnd.semf": ["semf"], "application/vnd.shana.informed.formdata": ["ifm"], "application/vnd.shana.informed.formtemplate": ["itp"], "application/vnd.shana.informed.interchange": ["iif"], "application/vnd.shana.informed.package": ["ipk"], "application/vnd.simtech-mindmapper": ["twd", "twds"], "application/vnd.smaf": ["mmf"], "application/vnd.smart.teacher": ["teacher"], "application/vnd.solent.sdkm+xml": ["sdkm", "sdkd"], "application/vnd.spotfire.dxp": ["dxp"], "application/vnd.spotfire.sfs": ["sfs"], "application/vnd.stardivision.calc": ["sdc"], "application/vnd.stardivision.draw": ["sda"], "application/vnd.stardivision.impress": ["sdd"], "application/vnd.stardivision.math": ["smf"], "application/vnd.stardivision.writer": ["sdw", "vor"], "application/vnd.stardivision.writer-global": ["sgl"], "application/vnd.stepmania.package": ["smzip"], "application/vnd.stepmania.stepchart": ["sm"], "application/vnd.sun.wadl+xml": ["wadl"], "application/vnd.sun.xml.calc": ["sxc"], "application/vnd.sun.xml.calc.template": ["stc"], "application/vnd.sun.xml.draw": ["sxd"], "application/vnd.sun.xml.draw.template": ["std"], "application/vnd.sun.xml.impress": ["sxi"], "application/vnd.sun.xml.impress.template": ["sti"], "application/vnd.sun.xml.math": ["sxm"], "application/vnd.sun.xml.writer": ["sxw"], "application/vnd.sun.xml.writer.global": ["sxg"], "application/vnd.sun.xml.writer.template": ["stw"], "application/vnd.sus-calendar": ["sus", "susp"], "application/vnd.svd": ["svd"], "application/vnd.symbian.install": ["sis", "sisx"], "application/vnd.syncml+xml": ["xsm"], "application/vnd.syncml.dm+wbxml": ["bdm"], "application/vnd.syncml.dm+xml": ["xdm"], "application/vnd.tao.intent-module-archive": ["tao"], "application/vnd.tcpdump.pcap": ["pcap", "cap", "dmp"], "application/vnd.tmobile-livetv": ["tmo"], "application/vnd.trid.tpt": ["tpt"], "application/vnd.triscape.mxs": ["mxs"], "application/vnd.trueapp": ["tra"], "application/vnd.ufdl": ["ufd", "ufdl"], "application/vnd.uiq.theme": ["utz"], "application/vnd.umajin": ["umj"], "application/vnd.unity": ["unityweb"], "application/vnd.uoml+xml": ["uoml"], "application/vnd.vcx": ["vcx"], "application/vnd.visio": ["vsd", "vst", "vss", "vsw"], "application/vnd.visionary": ["vis"], "application/vnd.vsf": ["vsf"], "application/vnd.wap.wbxml": ["wbxml"], "application/vnd.wap.wmlc": ["wmlc"], "application/vnd.wap.wmlscriptc": ["wmlsc"], "application/vnd.webturbo": ["wtb"], "application/vnd.wolfram.player": ["nbp"], "application/vnd.wordperfect": ["wpd"], "application/vnd.wqd": ["wqd"], "application/vnd.wt.stf": ["stf"], "application/vnd.xara": ["xar"], "application/vnd.xfdl": ["xfdl"], "application/vnd.yamaha.hv-dic": ["hvd"], "application/vnd.yamaha.hv-script": ["hvs"], "application/vnd.yamaha.hv-voice": ["hvp"], "application/vnd.yamaha.openscoreformat": ["osf"], "application/vnd.yamaha.openscoreformat.osfpvg+xml": ["osfpvg"], "application/vnd.yamaha.smaf-audio": ["saf"], "application/vnd.yamaha.smaf-phrase": ["spf"], "application/vnd.yellowriver-custom-menu": ["cmp"], "application/vnd.zul": ["zir", "zirz"], "application/vnd.zzazz.deck+xml": ["zaz"], "application/voicexml+xml": ["vxml"], "application/wasm": ["wasm"], "application/widget": ["wgt"], "application/winhlp": ["hlp"], "application/wsdl+xml": ["wsdl"], "application/wspolicy+xml": ["wspolicy"], "application/x-7z-compressed": ["7z"], "application/x-abiword": ["abw"], "application/x-ace-compressed": ["ace"], "application/x-apple-diskimage": [], "application/x-arj": ["arj"], "application/x-authorware-bin": ["aab", "x32", "u32", "vox"], "application/x-authorware-map": ["aam"], "application/x-authorware-seg": ["aas"], "application/x-bcpio": ["bcpio"], "application/x-bdoc": [], "application/x-bittorrent": ["torrent"], "application/x-blorb": ["blb", "blorb"], "application/x-bzip": ["bz"], "application/x-bzip2": ["bz2", "boz"], "application/x-cbr": ["cbr", "cba", "cbt", "cbz", "cb7"], "application/x-cdlink": ["vcd"], "application/x-cfs-compressed": ["cfs"], "application/x-chat": ["chat"], "application/x-chess-pgn": ["pgn"], "application/x-chrome-extension": ["crx"], "application/x-cocoa": ["cco"], "application/x-conference": ["nsc"], "application/x-cpio": ["cpio"], "application/x-csh": ["csh"], "application/x-debian-package": ["udeb"], "application/x-dgc-compressed": ["dgc"], "application/x-director": ["dir", "dcr", "dxr", "cst", "cct", "cxt", "w3d", "fgd", "swa"], "application/x-doom": ["wad"], "application/x-dtbncx+xml": ["ncx"], "application/x-dtbook+xml": ["dtb"], "application/x-dtbresource+xml": ["res"], "application/x-dvi": ["dvi"], "application/x-envoy": ["evy"], "application/x-eva": ["eva"], "application/x-font-bdf": ["bdf"], "application/x-font-ghostscript": ["gsf"], "application/x-font-linux-psf": ["psf"], "application/x-font-pcf": ["pcf"], "application/x-font-snf": ["snf"], "application/x-font-type1": ["pfa", "pfb", "pfm", "afm"], "application/x-freearc": ["arc"], "application/x-futuresplash": ["spl"], "application/x-gca-compressed": ["gca"], "application/x-glulx": ["ulx"], "application/x-gnumeric": ["gnumeric"], "application/x-gramps-xml": ["gramps"], "application/x-gtar": ["gtar"], "application/x-hdf": ["hdf"], "application/x-httpd-php": ["php"], "application/x-install-instructions": ["install"], "application/x-iso9660-image": [], "application/x-java-archive-diff": ["jardiff"], "application/x-java-jnlp-file": ["jnlp"], "application/x-latex": ["latex"], "application/x-lua-bytecode": ["luac"], "application/x-lzh-compressed": ["lzh", "lha"], "application/x-makeself": ["run"], "application/x-mie": ["mie"], "application/x-mobipocket-ebook": ["prc", "mobi"], "application/x-ms-application": ["application"], "application/x-ms-shortcut": ["lnk"], "application/x-ms-wmd": ["wmd"], "application/x-ms-wmz": ["wmz"], "application/x-ms-xbap": ["xbap"], "application/x-msaccess": ["mdb"], "application/x-msbinder": ["obd"], "application/x-mscardfile": ["crd"], "application/x-msclip": ["clp"], "application/x-msdos-program": [], "application/x-msdownload": ["com", "bat"], "application/x-msmediaview": ["mvb", "m13", "m14"], "application/x-msmetafile": ["wmf", "emf", "emz"], "application/x-msmoney": ["mny"], "application/x-mspublisher": ["pub"], "application/x-msschedule": ["scd"], "application/x-msterminal": ["trm"], "application/x-mswrite": ["wri"], "application/x-netcdf": ["nc", "cdf"], "application/x-ns-proxy-autoconfig": ["pac"], "application/x-nzb": ["nzb"], "application/x-perl": ["pl", "pm"], "application/x-pilot": [], "application/x-pkcs12": ["p12", "pfx"], "application/x-pkcs7-certificates": ["p7b", "spc"], "application/x-pkcs7-certreqresp": ["p7r"], "application/x-rar-compressed": ["rar"], "application/x-redhat-package-manager": ["rpm"], "application/x-research-info-systems": ["ris"], "application/x-sea": ["sea"], "application/x-sh": ["sh"], "application/x-shar": ["shar"], "application/x-shockwave-flash": ["swf"], "application/x-silverlight-app": ["xap"], "application/x-sql": ["sql"], "application/x-stuffit": ["sit"], "application/x-stuffitx": ["sitx"], "application/x-subrip": ["srt"], "application/x-sv4cpio": ["sv4cpio"], "application/x-sv4crc": ["sv4crc"], "application/x-t3vm-image": ["t3"], "application/x-tads": ["gam"], "application/x-tar": ["tar"], "application/x-tcl": ["tcl", "tk"], "application/x-tex": ["tex"], "application/x-tex-tfm": ["tfm"], "application/x-texinfo": ["texinfo", "texi"], "application/x-tgif": ["obj"], "application/x-ustar": ["ustar"], "application/x-virtualbox-hdd": ["hdd"], "application/x-virtualbox-ova": ["ova"], "application/x-virtualbox-ovf": ["ovf"], "application/x-virtualbox-vbox": ["vbox"], "application/x-virtualbox-vbox-extpack": ["vbox-extpack"], "application/x-virtualbox-vdi": ["vdi"], "application/x-virtualbox-vhd": ["vhd"], "application/x-virtualbox-vmdk": ["vmdk"], "application/x-wais-source": ["src"], "application/x-web-app-manifest+json": ["webapp"], "application/x-x509-ca-cert": ["der", "crt", "pem"], "application/x-xfig": ["fig"], "application/x-xliff+xml": ["xlf"], "application/x-xpinstall": ["xpi"], "application/x-xz": ["xz"], "application/x-zmachine": ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"], "application/xaml+xml": ["xaml"], "application/xcap-diff+xml": ["xdf"], "application/xenc+xml": ["xenc"], "application/xhtml+xml": ["xhtml", "xht"], "application/xml": ["xml", "xsl", "xsd", "rng"], "application/xml-dtd": ["dtd"], "application/xop+xml": ["xop"], "application/xproc+xml": ["xpl"], "application/xslt+xml": ["xslt"], "application/xspf+xml": ["xspf"], "application/xv+xml": ["mxml", "xhvml", "xvml", "xvm"], "application/yang": ["yang"], "application/yin+xml": ["yin"], "application/zip": ["zip"], "audio/3gpp": [], "audio/adpcm": ["adp"], "audio/basic": ["au", "snd"], "audio/midi": ["mid", "midi", "kar", "rmi"], "audio/mp3": [], "audio/mp4": ["m4a", "mp4a"], "audio/mpeg": ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"], "audio/ogg": ["oga", "ogg", "spx"], "audio/s3m": ["s3m"], "audio/silk": ["sil"], "audio/vnd.dece.audio": ["uva", "uvva"], "audio/vnd.digital-winds": ["eol"], "audio/vnd.dra": ["dra"], "audio/vnd.dts": ["dts"], "audio/vnd.dts.hd": ["dtshd"], "audio/vnd.lucent.voice": ["lvp"], "audio/vnd.ms-playready.media.pya": ["pya"], "audio/vnd.nuera.ecelp4800": ["ecelp4800"], "audio/vnd.nuera.ecelp7470": ["ecelp7470"], "audio/vnd.nuera.ecelp9600": ["ecelp9600"], "audio/vnd.rip": ["rip"], "audio/wav": ["wav"], "audio/wave": [], "audio/webm": ["weba"], "audio/x-aac": ["aac"], "audio/x-aiff": ["aif", "aiff", "aifc"], "audio/x-caf": ["caf"], "audio/x-flac": ["flac"], "audio/x-m4a": [], "audio/x-matroska": ["mka"], "audio/x-mpegurl": ["m3u"], "audio/x-ms-wax": ["wax"], "audio/x-ms-wma": ["wma"], "audio/x-pn-realaudio": ["ram", "ra"], "audio/x-pn-realaudio-plugin": ["rmp"], "audio/x-realaudio": [], "audio/x-wav": [], "audio/xm": ["xm"], "chemical/x-cdx": ["cdx"], "chemical/x-cif": ["cif"], "chemical/x-cmdf": ["cmdf"], "chemical/x-cml": ["cml"], "chemical/x-csml": ["csml"], "chemical/x-xyz": ["xyz"], "font/collection": ["ttc"], "font/otf": ["otf"], "font/ttf": ["ttf"], "font/woff": ["woff"], "font/woff2": ["woff2"], "image/apng": ["apng"], "image/bmp": ["bmp"], "image/cgm": ["cgm"], "image/g3fax": ["g3"], "image/gif": ["gif"], "image/ief": ["ief"], "image/jp2": ["jp2", "jpg2"], "image/jpeg": ["jpeg", "jpg", "jpe"], "image/jpm": ["jpm"], "image/jpx": ["jpx", "jpf"], "image/ktx": ["ktx"], "image/png": ["png"], "image/prs.btif": ["btif"], "image/sgi": ["sgi"], "image/svg+xml": ["svg", "svgz"], "image/tiff": ["tiff", "tif"], "image/vnd.adobe.photoshop": ["psd"], "image/vnd.dece.graphic": ["uvi", "uvvi", "uvg", "uvvg"], "image/vnd.djvu": ["djvu", "djv"], "image/vnd.dvb.subtitle": [], "image/vnd.dwg": ["dwg"], "image/vnd.dxf": ["dxf"], "image/vnd.fastbidsheet": ["fbs"], "image/vnd.fpx": ["fpx"], "image/vnd.fst": ["fst"], "image/vnd.fujixerox.edmics-mmr": ["mmr"], "image/vnd.fujixerox.edmics-rlc": ["rlc"], "image/vnd.ms-modi": ["mdi"], "image/vnd.ms-photo": ["wdp"], "image/vnd.net-fpx": ["npx"], "image/vnd.wap.wbmp": ["wbmp"], "image/vnd.xiff": ["xif"], "image/webp": ["webp"], "image/x-3ds": ["3ds"], "image/x-cmu-raster": ["ras"], "image/x-cmx": ["cmx"], "image/x-freehand": ["fh", "fhc", "fh4", "fh5", "fh7"], "image/x-icon": ["ico"], "image/x-jng": ["jng"], "image/x-mrsid-image": ["sid"], "image/x-ms-bmp": [], "image/x-pcx": ["pcx"], "image/x-pict": ["pic", "pct"], "image/x-portable-anymap": ["pnm"], "image/x-portable-bitmap": ["pbm"], "image/x-portable-graymap": ["pgm"], "image/x-portable-pixmap": ["ppm"], "image/x-rgb": ["rgb"], "image/x-tga": ["tga"], "image/x-xbitmap": ["xbm"], "image/x-xpixmap": ["xpm"], "image/x-xwindowdump": ["xwd"], "message/rfc822": ["eml", "mime"], "model/gltf+json": ["gltf"], "model/gltf-binary": ["glb"], "model/iges": ["igs", "iges"], "model/mesh": ["msh", "mesh", "silo"], "model/vnd.collada+xml": ["dae"], "model/vnd.dwf": ["dwf"], "model/vnd.gdl": ["gdl"], "model/vnd.gtw": ["gtw"], "model/vnd.mts": ["mts"], "model/vnd.vtu": ["vtu"], "model/vrml": ["wrl", "vrml"], "model/x3d+binary": ["x3db", "x3dbz"], "model/x3d+vrml": ["x3dv", "x3dvz"], "model/x3d+xml": ["x3d", "x3dz"], "text/cache-manifest": ["appcache", "manifest"], "text/calendar": ["ics", "ifb"], "text/coffeescript": ["coffee", "litcoffee"], "text/css": ["css"], "text/csv": ["csv"], "text/hjson": ["hjson"], "text/html": ["html", "htm", "shtml"], "text/jade": ["jade"], "text/jsx": ["jsx"], "text/less": ["less"], "text/markdown": ["markdown", "md"], "text/mathml": ["mml"], "text/n3": ["n3"], "text/plain": ["txt", "text", "conf", "def", "list", "log", "in", "ini"], "text/prs.lines.tag": ["dsc"], "text/richtext": ["rtx"], "text/rtf": [], "text/sgml": ["sgml", "sgm"], "text/slim": ["slim", "slm"], "text/stylus": ["stylus", "styl"], "text/tab-separated-values": ["tsv"], "text/troff": ["t", "tr", "roff", "man", "me", "ms"], "text/turtle": ["ttl"], "text/uri-list": ["uri", "uris", "urls"], "text/vcard": ["vcard"], "text/vnd.curl": ["curl"], "text/vnd.curl.dcurl": ["dcurl"], "text/vnd.curl.mcurl": ["mcurl"], "text/vnd.curl.scurl": ["scurl"], "text/vnd.dvb.subtitle": ["sub"], "text/vnd.fly": ["fly"], "text/vnd.fmi.flexstor": ["flx"], "text/vnd.graphviz": ["gv"], "text/vnd.in3d.3dml": ["3dml"], "text/vnd.in3d.spot": ["spot"], "text/vnd.sun.j2me.app-descriptor": ["jad"], "text/vnd.wap.wml": ["wml"], "text/vnd.wap.wmlscript": ["wmls"], "text/vtt": ["vtt"], "text/x-asm": ["s", "asm"], "text/x-c": ["c", "cc", "cxx", "cpp", "h", "hh", "dic"], "text/x-component": ["htc"], "text/x-fortran": ["f", "for", "f77", "f90"], "text/x-handlebars-template": ["hbs"], "text/x-java-source": ["java"], "text/x-lua": ["lua"], "text/x-markdown": ["mkd"], "text/x-nfo": ["nfo"], "text/x-opml": ["opml"], "text/x-org": [], "text/x-pascal": ["p", "pas"], "text/x-processing": ["pde"], "text/x-sass": ["sass"], "text/x-scss": ["scss"], "text/x-setext": ["etx"], "text/x-sfv": ["sfv"], "text/x-suse-ymp": ["ymp"], "text/x-uuencode": ["uu"], "text/x-vcalendar": ["vcs"], "text/x-vcard": ["vcf"], "text/xml": [], "text/yaml": ["yaml", "yml"], "video/3gpp": ["3gp", "3gpp"], "video/3gpp2": ["3g2"], "video/h261": ["h261"], "video/h263": ["h263"], "video/h264": ["h264"], "video/jpeg": ["jpgv"], "video/jpm": ["jpgm"], "video/mj2": ["mj2", "mjp2"], "video/mp2t": ["ts"], "video/mp4": ["mp4", "mp4v", "mpg4"], "video/mpeg": ["mpeg", "mpg", "mpe", "m1v", "m2v"], "video/ogg": ["ogv"], "video/quicktime": ["qt", "mov"], "video/vnd.dece.hd": ["uvh", "uvvh"], "video/vnd.dece.mobile": ["uvm", "uvvm"], "video/vnd.dece.pd": ["uvp", "uvvp"], "video/vnd.dece.sd": ["uvs", "uvvs"], "video/vnd.dece.video": ["uvv", "uvvv"], "video/vnd.dvb.file": ["dvb"], "video/vnd.fvt": ["fvt"], "video/vnd.mpegurl": ["mxu", "m4u"], "video/vnd.ms-playready.media.pyv": ["pyv"], "video/vnd.uvvu.mp4": ["uvu", "uvvu"], "video/vnd.vivo": ["viv"], "video/webm": ["webm"], "video/x-f4v": ["f4v"], "video/x-fli": ["fli"], "video/x-flv": ["flv"], "video/x-m4v": ["m4v"], "video/x-matroska": ["mkv", "mk3d", "mks"], "video/x-mng": ["mng"], "video/x-ms-asf": ["asf", "asx"], "video/x-ms-vob": ["vob"], "video/x-ms-wm": ["wm"], "video/x-ms-wmv": ["wmv"], "video/x-ms-wmx": ["wmx"], "video/x-ms-wvx": ["wvx"], "video/x-msvideo": ["avi"], "video/x-sgi-movie": ["movie"], "video/x-smv": ["smv"], "x-conference/x-cooltalk": ["ice"] };
135679
135214
  }
135680
135215
  });
135681
135216
 
135682
135217
  // ../../node_modules/mime/mime.js
135683
- var require_mime2 = __commonJS({
135218
+ var require_mime = __commonJS({
135684
135219
  "../../node_modules/mime/mime.js"(exports2, module2) {
135685
135220
  var path44 = require("path");
135686
135221
  var fs50 = require("fs");
@@ -135721,7 +135256,7 @@ var require_mime2 = __commonJS({
135721
135256
  return this.extensions[type2];
135722
135257
  };
135723
135258
  var mime3 = new Mime();
135724
- mime3.define(require_types4());
135259
+ mime3.define(require_types2());
135725
135260
  mime3.default_type = mime3.lookup("bin");
135726
135261
  mime3.Mime = Mime;
135727
135262
  mime3.charsets = {
@@ -135943,7 +135478,7 @@ var require_send = __commonJS({
135943
135478
  var etag = require_etag();
135944
135479
  var fresh = require_fresh();
135945
135480
  var fs50 = require("fs");
135946
- var mime3 = require_mime2();
135481
+ var mime3 = require_mime();
135947
135482
  var ms = require_ms5();
135948
135483
  var onFinished = require_on_finished();
135949
135484
  var parseRange = require_range_parser();
@@ -137316,7 +136851,7 @@ var require_proxy_addr = __commonJS({
137316
136851
  });
137317
136852
 
137318
136853
  // ../../node_modules/express/lib/utils.js
137319
- var require_utils14 = __commonJS({
136854
+ var require_utils12 = __commonJS({
137320
136855
  "../../node_modules/express/lib/utils.js"(exports2) {
137321
136856
  "use strict";
137322
136857
  var Buffer7 = require_safe_buffer().Buffer;
@@ -137468,9 +137003,9 @@ var require_application = __commonJS({
137468
137003
  var debug = require_src3()("express:application");
137469
137004
  var View = require_view();
137470
137005
  var http5 = require("http");
137471
- var compileETag = require_utils14().compileETag;
137472
- var compileQueryParser = require_utils14().compileQueryParser;
137473
- var compileTrust = require_utils14().compileTrust;
137006
+ var compileETag = require_utils12().compileETag;
137007
+ var compileQueryParser = require_utils12().compileQueryParser;
137008
+ var compileTrust = require_utils12().compileTrust;
137474
137009
  var deprecate3 = require_depd()("express");
137475
137010
  var flatten2 = require_array_flatten();
137476
137011
  var merge3 = require_utils_merge();
@@ -138695,15 +138230,15 @@ var require_response = __commonJS({
138695
138230
  var encodeUrl = require_encodeurl();
138696
138231
  var escapeHtml4 = require_escape_html();
138697
138232
  var http5 = require("http");
138698
- var isAbsolute = require_utils14().isAbsolute;
138233
+ var isAbsolute = require_utils12().isAbsolute;
138699
138234
  var onFinished = require_on_finished();
138700
138235
  var path44 = require("path");
138701
138236
  var statuses = require_statuses();
138702
138237
  var merge3 = require_utils_merge();
138703
138238
  var sign = require_cookie_signature().sign;
138704
- var normalizeType = require_utils14().normalizeType;
138705
- var normalizeTypes = require_utils14().normalizeTypes;
138706
- var setCharset = require_utils14().setCharset;
138239
+ var normalizeType = require_utils12().normalizeType;
138240
+ var normalizeTypes = require_utils12().normalizeTypes;
138241
+ var setCharset = require_utils12().setCharset;
138707
138242
  var cookie = require_cookie();
138708
138243
  var send = require_send();
138709
138244
  var extname8 = path44.extname;
@@ -148836,7 +148371,7 @@ var require_zip = __commonJS({
148836
148371
  });
148837
148372
 
148838
148373
  // ../../node_modules/rxjs/dist/cjs/internal/types.js
148839
- var require_types5 = __commonJS({
148374
+ var require_types3 = __commonJS({
148840
148375
  "../../node_modules/rxjs/dist/cjs/internal/types.js"(exports2) {
148841
148376
  "use strict";
148842
148377
  Object.defineProperty(exports2, "__esModule", { value: true });
@@ -152563,7 +152098,7 @@ var require_zipWith = __commonJS({
152563
152098
  });
152564
152099
 
152565
152100
  // ../../node_modules/rxjs/dist/cjs/index.js
152566
- var require_cjs4 = __commonJS({
152101
+ var require_cjs3 = __commonJS({
152567
152102
  "../../node_modules/rxjs/dist/cjs/index.js"(exports2) {
152568
152103
  "use strict";
152569
152104
  var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m2, k, k2) {
@@ -152841,7 +152376,7 @@ var require_cjs4 = __commonJS({
152841
152376
  Object.defineProperty(exports2, "NEVER", { enumerable: true, get: function() {
152842
152377
  return never_2.NEVER;
152843
152378
  } });
152844
- __exportStar(require_types5(), exports2);
152379
+ __exportStar(require_types3(), exports2);
152845
152380
  var config_1 = require_config4();
152846
152381
  Object.defineProperty(exports2, "config", { enumerable: true, get: function() {
152847
152382
  return config_1.config;
@@ -176032,7 +175567,7 @@ var require_strip_json_comments = __commonJS({
176032
175567
  });
176033
175568
 
176034
175569
  // ../../node_modules/rc/lib/utils.js
176035
- var require_utils15 = __commonJS({
175570
+ var require_utils13 = __commonJS({
176036
175571
  "../../node_modules/rc/lib/utils.js"(exports2) {
176037
175572
  "use strict";
176038
175573
  var fs50 = require("fs");
@@ -176412,7 +175947,7 @@ var require_minimist = __commonJS({
176412
175947
  // ../../node_modules/rc/index.js
176413
175948
  var require_rc = __commonJS({
176414
175949
  "../../node_modules/rc/index.js"(exports2, module2) {
176415
- var cc = require_utils15();
175950
+ var cc = require_utils13();
176416
175951
  var join20 = require("path").join;
176417
175952
  var deepExtend = require_deep_extend();
176418
175953
  var etc = "/etc";
@@ -177849,7 +177384,7 @@ var require_util6 = __commonJS({
177849
177384
  });
177850
177385
 
177851
177386
  // ../../node_modules/@pnpm/npm-conf/lib/types.js
177852
- var require_types6 = __commonJS({
177387
+ var require_types4 = __commonJS({
177853
177388
  "../../node_modules/@pnpm/npm-conf/lib/types.js"(exports2) {
177854
177389
  "use strict";
177855
177390
  var path44 = require("path");
@@ -178002,7 +177537,7 @@ var require_conf = __commonJS({
178002
177537
  constructor(base5, types6) {
178003
177538
  super(base5);
178004
177539
  this.root = base5;
178005
- this._parseField = util4.parseField.bind(null, types6 || require_types6());
177540
+ this._parseField = util4.parseField.bind(null, types6 || require_types4());
178006
177541
  }
178007
177542
  // https://github.com/npm/cli/blob/latest/lib/config/core.js#L326-L338
178008
177543
  add(data, marker) {
@@ -178595,7 +178130,7 @@ var require_parse_options = __commonJS({
178595
178130
  "../../node_modules/semver/internal/parse-options.js"(exports2, module2) {
178596
178131
  var looseOption = Object.freeze({ loose: true });
178597
178132
  var emptyOpts = Object.freeze({});
178598
- var parseOptions2 = (options) => {
178133
+ var parseOptions3 = (options) => {
178599
178134
  if (!options) {
178600
178135
  return emptyOpts;
178601
178136
  }
@@ -178604,7 +178139,7 @@ var require_parse_options = __commonJS({
178604
178139
  }
178605
178140
  return options;
178606
178141
  };
178607
- module2.exports = parseOptions2;
178142
+ module2.exports = parseOptions3;
178608
178143
  }
178609
178144
  });
178610
178145
 
@@ -178635,11 +178170,11 @@ var require_semver2 = __commonJS({
178635
178170
  var debug = require_debug5();
178636
178171
  var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants7();
178637
178172
  var { safeRe: re, t: t2 } = require_re2();
178638
- var parseOptions2 = require_parse_options();
178173
+ var parseOptions3 = require_parse_options();
178639
178174
  var { compareIdentifiers } = require_identifiers();
178640
178175
  var SemVer = class {
178641
178176
  constructor(version4, options) {
178642
- options = parseOptions2(options);
178177
+ options = parseOptions3(options);
178643
178178
  if (version4 instanceof SemVer) {
178644
178179
  if (version4.loose === !!options.loose && version4.includePrerelease === !!options.includePrerelease) {
178645
178180
  return version4;
@@ -179880,7 +179415,7 @@ var require_range3 = __commonJS({
179880
179415
  "../../node_modules/semver/classes/range.js"(exports2, module2) {
179881
179416
  var Range = class {
179882
179417
  constructor(range, options) {
179883
- options = parseOptions2(options);
179418
+ options = parseOptions3(options);
179884
179419
  if (range instanceof Range) {
179885
179420
  if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
179886
179421
  return range;
@@ -180002,7 +179537,7 @@ var require_range3 = __commonJS({
180002
179537
  module2.exports = Range;
180003
179538
  var LRU = require_lru_cache();
180004
179539
  var cache = new LRU({ max: 1e3 });
180005
- var parseOptions2 = require_parse_options();
179540
+ var parseOptions3 = require_parse_options();
180006
179541
  var Comparator = require_comparator();
180007
179542
  var debug = require_debug5();
180008
179543
  var SemVer = require_semver2();
@@ -180241,7 +179776,7 @@ var require_comparator = __commonJS({
180241
179776
  return ANY;
180242
179777
  }
180243
179778
  constructor(comp, options) {
180244
- options = parseOptions2(options);
179779
+ options = parseOptions3(options);
180245
179780
  if (comp instanceof Comparator) {
180246
179781
  if (comp.loose === !!options.loose) {
180247
179782
  return comp;
@@ -180309,7 +179844,7 @@ var require_comparator = __commonJS({
180309
179844
  }
180310
179845
  return new Range(this.value, options).test(comp.semver);
180311
179846
  }
180312
- options = parseOptions2(options);
179847
+ options = parseOptions3(options);
180313
179848
  if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
180314
179849
  return false;
180315
179850
  }
@@ -180335,7 +179870,7 @@ var require_comparator = __commonJS({
180335
179870
  }
180336
179871
  };
180337
179872
  module2.exports = Comparator;
180338
- var parseOptions2 = require_parse_options();
179873
+ var parseOptions3 = require_parse_options();
180339
179874
  var { safeRe: re, t: t2 } = require_re2();
180340
179875
  var cmp = require_cmp();
180341
179876
  var debug = require_debug5();
@@ -184934,7 +184469,7 @@ var require_signal = __commonJS({
184934
184469
  });
184935
184470
 
184936
184471
  // ../../node_modules/@jupyterlab/coreutils/lib/text.js
184937
- var require_text4 = __commonJS({
184472
+ var require_text3 = __commonJS({
184938
184473
  "../../node_modules/@jupyterlab/coreutils/lib/text.js"(exports2) {
184939
184474
  "use strict";
184940
184475
  Object.defineProperty(exports2, "__esModule", { value: true });
@@ -185071,7 +184606,7 @@ var require_lib25 = __commonJS({
185071
184606
  __exportStar(require_pageconfig(), exports2);
185072
184607
  __exportStar(require_path2(), exports2);
185073
184608
  __exportStar(require_signal(), exports2);
185074
- __exportStar(require_text4(), exports2);
184609
+ __exportStar(require_text3(), exports2);
185075
184610
  __exportStar(require_time(), exports2);
185076
184611
  __exportStar(require_url(), exports2);
185077
184612
  }
@@ -193891,7 +193426,7 @@ var {
193891
193426
  } = import_index.default;
193892
193427
 
193893
193428
  // src/version.ts
193894
- var version = "1.3.24";
193429
+ var version = "1.3.26";
193895
193430
  var version_default = version;
193896
193431
 
193897
193432
  // ../myst-cli/dist/build/build.js
@@ -194769,10 +194304,10 @@ var doiOrg = {
194769
194304
  };
194770
194305
  var elife = {
194771
194306
  test(url) {
194772
- return url.hostname.endsWith("elifesciences.org") && url.pathname.startsWith("/articles/");
194307
+ return url.hostname.endsWith("elifesciences.org") && /^\/(?:articles|reviewed-preprints)\/\d+$/.test(url.pathname);
194773
194308
  },
194774
194309
  parse(url) {
194775
- return `10.7554/eLife.${url.pathname.replace("/articles/", "")}`;
194310
+ return `10.7554/eLife.${url.pathname.replace(/^\/(?:articles|reviewed-preprints)\//, "")}`;
194776
194311
  }
194777
194312
  };
194778
194313
  var zenodo = {
@@ -194906,6 +194441,51 @@ function validateStringOrNumber(input3, opts) {
194906
194441
  return validationError("must be string or number", opts);
194907
194442
  }
194908
194443
 
194444
+ // ../myst-frontmatter/dist/utils/socialLinks.js
194445
+ var SOCIAL_LINKS_KEYS = [
194446
+ "url",
194447
+ "github",
194448
+ "bluesky",
194449
+ "mastodon",
194450
+ "linkedin",
194451
+ "threads",
194452
+ "twitter"
194453
+ // Change to 'x' in future
194454
+ ];
194455
+ var SOCIAL_LINKS_ALIASES = {
194456
+ website: "url",
194457
+ x: "twitter",
194458
+ // Can change this in a future release to be the other way
194459
+ bsky: "bluesky",
194460
+ instagram: "threads"
194461
+ // This is the same username
194462
+ };
194463
+ function validateSocialLinks(input3, opts, output2 = {}) {
194464
+ const value = output2 ? input3 : validateObjectKeys(input3, { optional: SOCIAL_LINKS_KEYS, alias: SOCIAL_LINKS_ALIASES }, opts);
194465
+ if (defined(value.url)) {
194466
+ output2.url = validateUrl(value.url, incrementOptions("url", opts));
194467
+ }
194468
+ if (defined(value.github)) {
194469
+ output2.github = validateString(value.github, incrementOptions("github", opts));
194470
+ }
194471
+ if (defined(value.bluesky)) {
194472
+ output2.bluesky = validateString(value.bluesky, incrementOptions("bluesky", opts));
194473
+ }
194474
+ if (defined(value.mastodon)) {
194475
+ output2.mastodon = validateString(value.mastodon, incrementOptions("mastodon", opts));
194476
+ }
194477
+ if (defined(value.linkedin)) {
194478
+ output2.linkedin = validateUrl(value.linkedin, incrementOptions("linkedin", opts));
194479
+ }
194480
+ if (defined(value.threads)) {
194481
+ output2.threads = validateString(value.threads, incrementOptions("threads", opts));
194482
+ }
194483
+ if (defined(value.twitter)) {
194484
+ output2.twitter = validateString(value.twitter, incrementOptions("twitter", opts));
194485
+ }
194486
+ return output2;
194487
+ }
194488
+
194909
194489
  // ../myst-frontmatter/dist/affiliations/validators.js
194910
194490
  var AFFILIATION_KEYS = [
194911
194491
  "id",
@@ -194921,10 +194501,10 @@ var AFFILIATION_KEYS = [
194921
194501
  "ringgold",
194922
194502
  "ror",
194923
194503
  "doi",
194924
- "url",
194925
194504
  "email",
194926
194505
  "phone",
194927
- "fax"
194506
+ "fax",
194507
+ ...SOCIAL_LINKS_KEYS
194928
194508
  ];
194929
194509
  var AFFILIATION_ALIASES = {
194930
194510
  ref: "id",
@@ -194933,8 +194513,8 @@ var AFFILIATION_ALIASES = {
194933
194513
  province: "state",
194934
194514
  zipcode: "postal_code",
194935
194515
  zip_code: "postal_code",
194936
- website: "url",
194937
- institution: "name"
194516
+ institution: "name",
194517
+ ...SOCIAL_LINKS_ALIASES
194938
194518
  };
194939
194519
  function validateAffiliation(input3, opts) {
194940
194520
  if (typeof input3 === "string") {
@@ -194998,9 +194578,7 @@ function validateAffiliation(input3, opts) {
194998
194578
  if (defined(value.email)) {
194999
194579
  output2.email = validateEmail(value.email, incrementOptions("email", opts));
195000
194580
  }
195001
- if (defined(value.url)) {
195002
- output2.url = validateUrl(value.url, incrementOptions("url", opts));
195003
- }
194581
+ validateSocialLinks(value, opts, output2);
195004
194582
  if (defined(value.phone)) {
195005
194583
  output2.phone = validateString(value.phone, incrementOptions("phone", opts));
195006
194584
  }
@@ -195270,12 +194848,10 @@ var PERSON_KEYS = [
195270
194848
  "roles",
195271
194849
  "affiliations",
195272
194850
  "collaborations",
195273
- "twitter",
195274
- "github",
195275
- "url",
195276
194851
  "note",
195277
194852
  "phone",
195278
- "fax"
194853
+ "fax",
194854
+ ...SOCIAL_LINKS_KEYS
195279
194855
  ];
195280
194856
  var PERSON_ALIASES = {
195281
194857
  ref: "id",
@@ -195283,7 +194859,7 @@ var PERSON_ALIASES = {
195283
194859
  role: "roles",
195284
194860
  "equal-contributor": "equal_contributor",
195285
194861
  affiliation: "affiliations",
195286
- website: "url"
194862
+ ...SOCIAL_LINKS_ALIASES
195287
194863
  };
195288
194864
  var NAME_KEYS = [
195289
194865
  "literal",
@@ -195456,15 +195032,7 @@ function validateContributor(input3, stash, opts) {
195456
195032
  return validateAndStashObject(aff, stash, "affiliations", validateAffiliation, affiliationsOpts);
195457
195033
  });
195458
195034
  }
195459
- if (defined(value.twitter)) {
195460
- output2.twitter = validateString(value.twitter, incrementOptions("twitter", opts));
195461
- }
195462
- if (defined(value.github)) {
195463
- output2.github = validateString(value.github, incrementOptions("github", opts));
195464
- }
195465
- if (defined(value.url)) {
195466
- output2.url = validateUrl(value.url, incrementOptions("url", opts));
195467
- }
195035
+ validateSocialLinks(value, opts, output2);
195468
195036
  if (defined(value.phone)) {
195469
195037
  output2.phone = validateString(value.phone, incrementOptions("phone", opts));
195470
195038
  }
@@ -205520,6 +205088,30 @@ function transformGitHubBracketedAdmonition(node3) {
205520
205088
  ];
205521
205089
  return true;
205522
205090
  }
205091
+ var QmdCallouts = [
205092
+ "callout-note",
205093
+ "callout-warning",
205094
+ "callout-important",
205095
+ "callout-tip",
205096
+ "callout-caution"
205097
+ ];
205098
+ function admonitionQmdTransform(tree) {
205099
+ const divs = selectAll("div", tree);
205100
+ divs.forEach((node3) => {
205101
+ var _a6;
205102
+ const classNames3 = (_a6 = node3.class) === null || _a6 === void 0 ? void 0 : _a6.split(/\s/).map((c) => c.trim());
205103
+ if (!classNames3)
205104
+ return;
205105
+ const match3 = classNames3 === null || classNames3 === void 0 ? void 0 : classNames3.find((s5) => QmdCallouts.find((c) => c === s5));
205106
+ if (!match3)
205107
+ return;
205108
+ node3.type = "admonition";
205109
+ node3.kind = match3.replace("callout-", "");
205110
+ node3.class = classNames3.filter((c) => c && c !== match3).join(" ");
205111
+ if (!node3.class)
205112
+ delete node3.class;
205113
+ });
205114
+ }
205523
205115
  function admonitionBlockquoteTransform(tree) {
205524
205116
  const blockquote5 = selectAll("blockquote", tree);
205525
205117
  blockquote5.forEach((node3) => {
@@ -237358,7 +236950,7 @@ var TRANSFORM_SOURCE2 = "BlockTransform:BlockMetadata";
237358
236950
  function blockMetadataTransform(mdast2, file) {
237359
236951
  const blocks2 = selectAll("block", mdast2);
237360
236952
  blocks2.forEach((block5) => {
237361
- var _a6, _b, _c;
236953
+ var _a6, _b, _c, _d2, _e, _f;
237362
236954
  if (block5.meta) {
237363
236955
  try {
237364
236956
  const data = JSON.parse(block5.meta);
@@ -237372,7 +236964,18 @@ function blockMetadataTransform(mdast2, file) {
237372
236964
  });
237373
236965
  }
237374
236966
  }
237375
- const label = (_b = (_a6 = block5.data) === null || _a6 === void 0 ? void 0 : _a6.label) !== null && _b !== void 0 ? _b : (_c = block5.data) === null || _c === void 0 ? void 0 : _c.id;
236967
+ const kind = (_a6 = block5.data) === null || _a6 === void 0 ? void 0 : _a6.kind;
236968
+ if (kind) {
236969
+ block5.kind = kind;
236970
+ delete block5.data.kind;
236971
+ }
236972
+ if (typeof ((_b = block5.data) === null || _b === void 0 ? void 0 : _b.class) === "string") {
236973
+ block5.class = `${(_c = block5.class) !== null && _c !== void 0 ? _c : ""} ${block5.data.class}`.trim();
236974
+ delete block5.data.class;
236975
+ }
236976
+ if (block5.data && Object.keys(block5.data).length === 0)
236977
+ delete block5.data;
236978
+ const label = (_e = (_d2 = block5.data) === null || _d2 === void 0 ? void 0 : _d2.label) !== null && _e !== void 0 ? _e : (_f = block5.data) === null || _f === void 0 ? void 0 : _f.id;
237376
236979
  if (typeof label === "string") {
237377
236980
  const normalized = normalizeLabel(label);
237378
236981
  if (normalized) {
@@ -239665,6 +239268,7 @@ function basicTransformations(tree, file, opts) {
239665
239268
  mathLabelTransform(tree, file);
239666
239269
  subequationTransform(tree, file);
239667
239270
  headingLabelTransform(tree);
239271
+ admonitionQmdTransform(tree);
239668
239272
  admonitionBlockquoteTransform(tree);
239669
239273
  admonitionHeadersTransform(tree);
239670
239274
  joinGatesTransform(tree, file);
@@ -280916,6 +280520,81 @@ function nestedPartToTokens(partName, part, lineNumber, state, pluginRuleName, i
280916
280520
  return [openToken, ...nestedTokens, closeToken];
280917
280521
  }
280918
280522
 
280523
+ // ../markdown-it-myst/dist/inlineAttributes.js
280524
+ function tokenizeInlineAttributes(header) {
280525
+ const pattern = /(\.[A-Za-z0-9_-]+(?:\s|$))|(#[A-Za-z0-9_-]+(?:\s|$))|([a-zA-Z0-9_-]+)="((?:\\.|[^\\"])*)"(?:\s|$)|([a-zA-Z0-9_-]+)=([^\s"']+)(?:\s|$)|([A-Za-z0-9_:-]+)(?:\s|$)|([^\s]+)/g;
280526
+ const results = [];
280527
+ let match3;
280528
+ while ((match3 = pattern.exec(header)) !== null) {
280529
+ const [, classGroup, idGroup, attrKeyQuoted, attrValQuoted, attrKeyUnquoted, attrValUnquoted, bareGroup, unknownGroup] = match3;
280530
+ if (classGroup) {
280531
+ results.push({ kind: "class", value: classGroup.slice(1).trim() });
280532
+ } else if (idGroup) {
280533
+ results.push({ kind: "id", value: idGroup.slice(1).trim() });
280534
+ } else if (attrKeyQuoted && attrValQuoted !== void 0) {
280535
+ const unescaped = attrValQuoted.replace(/\\"/g, '"').trim();
280536
+ results.push({ kind: "attr", key: attrKeyQuoted, value: unescaped });
280537
+ } else if (attrKeyUnquoted && attrValUnquoted !== void 0) {
280538
+ results.push({ kind: "attr", key: attrKeyUnquoted, value: attrValUnquoted.trim() });
280539
+ } else if (bareGroup) {
280540
+ results.push({ kind: "bare", value: bareGroup.trim() });
280541
+ } else if (unknownGroup) {
280542
+ results.push({ kind: "unknown", value: unknownGroup.trim() });
280543
+ }
280544
+ }
280545
+ return results;
280546
+ }
280547
+ function inlineOptionsToTokens(header, lineNumber, state) {
280548
+ const tokens = tokenizeInlineAttributes(header);
280549
+ if (tokens.length === 0) {
280550
+ throw new Error("No inline tokens found");
280551
+ }
280552
+ let name3 = void 0;
280553
+ if (tokens[0].kind === "bare") {
280554
+ name3 = tokens[0].value;
280555
+ tokens.shift();
280556
+ }
280557
+ if (tokens.filter(({ kind }) => kind === "id").length > 1) {
280558
+ throw new Error("Cannot have more than one ID defined");
280559
+ }
280560
+ if (tokens.some(({ kind }) => kind === "bare")) {
280561
+ throw new Error("No additional bare tokens allowed after the first token");
280562
+ }
280563
+ const markdownItTokens = tokens.map((opt) => {
280564
+ if (opt.kind === "id" && /^[0-9]/.test(opt.value)) {
280565
+ throw new Error(`ID cannot start with a number: "${opt.value}"`);
280566
+ }
280567
+ if (opt.kind === "unknown") {
280568
+ if (opt.value.match(/\.[A-Za-z0-9_\-.]+/)) {
280569
+ throw new Error(`Unknown token "${opt.value}". Classes must be separated by spaces, try "${opt.value.replace(/\./g, " .").trim()}"`);
280570
+ }
280571
+ throw new Error(`Unknown token "${opt.value}"`);
280572
+ }
280573
+ if (opt.kind === "class" || opt.kind === "id" || opt.kind === "bare") {
280574
+ const classTokens = [
280575
+ new state.Token("myst_option_open", "", 1),
280576
+ new state.Token("myst_option_close", "", -1)
280577
+ ];
280578
+ classTokens[0].info = opt.kind;
280579
+ classTokens[0].content = opt.kind === "class" ? `.${opt.value}` : opt.kind === "id" ? `#${opt.value}` : opt.value;
280580
+ classTokens[0].meta = { location: "inline", ...opt };
280581
+ return classTokens;
280582
+ }
280583
+ const optTokens = nestedPartToTokens("myst_option", opt.value, lineNumber, state, "run_roles", true);
280584
+ if (optTokens.length) {
280585
+ optTokens[0].info = opt.key;
280586
+ optTokens[0].content = opt.value;
280587
+ optTokens[0].meta = { location: "inline", ...opt };
280588
+ }
280589
+ return optTokens;
280590
+ });
280591
+ const options = tokens.map((t2) => [
280592
+ t2.kind === "attr" ? t2.key : t2.kind === "id" ? "label" : t2.kind,
280593
+ t2.value
280594
+ ]);
280595
+ return { name: name3, tokens: markdownItTokens.flat(), options };
280596
+ }
280597
+
280919
280598
  // ../markdown-it-myst/dist/roles.js
280920
280599
  function rolePlugin(md) {
280921
280600
  md.inline.ruler.before("backticks", "parse_roles", roleRule);
@@ -280940,6 +280619,13 @@ ${content3}</pre></aside>
280940
280619
  `;
280941
280620
  };
280942
280621
  }
280622
+ var _x;
280623
+ try {
280624
+ _x = new RegExp("^\\{\\s*([^}]+?)\\s*\\}(`+)(?!`)(.+?)(?<!`)\\2(?!`)");
280625
+ } catch (err) {
280626
+ _x = /^\{\s*([^}]+?)\s*\}(`+)(?!`)(.+?)\2(?!`)/;
280627
+ }
280628
+ var ROLE_PATTERN = _x;
280943
280629
  function roleRule(state, silent) {
280944
280630
  if (state.src.charCodeAt(state.pos - 1) === 92) {
280945
280631
  return false;
@@ -280947,24 +280633,18 @@ function roleRule(state, silent) {
280947
280633
  const match3 = ROLE_PATTERN.exec(state.src.slice(state.pos));
280948
280634
  if (match3 == null)
280949
280635
  return false;
280950
- const [str2, name3, , content3] = match3;
280636
+ const [str2, header, , content3] = match3;
280951
280637
  if (!silent) {
280952
280638
  const token = state.push("role", "", 0);
280953
- token.meta = { name: name3 };
280639
+ token.info = header;
280954
280640
  token.content = content3;
280955
280641
  token.col = [state.pos, state.pos + str2.length];
280956
280642
  }
280957
280643
  state.pos += str2.length;
280958
280644
  return true;
280959
280645
  }
280960
- var _x;
280961
- try {
280962
- _x = new RegExp("^\\{\\s*([a-zA-Z_\\-+:]{1,36})\\s*\\}(`+)(?!`)(.+?)(?<!`)\\2(?!`)");
280963
- } catch (error) {
280964
- _x = /^\{\s*([a-zA-Z_\-+:]{1,36})\s*\}(`+)(?!`)(.+?)\2(?!`)/;
280965
- }
280966
- var ROLE_PATTERN = _x;
280967
280646
  function runRoles(state) {
280647
+ var _a6, _b, _c;
280968
280648
  for (const token of state.tokens) {
280969
280649
  if (token.type === "inline" && token.children) {
280970
280650
  const childTokens = [];
@@ -280973,25 +280653,30 @@ function runRoles(state) {
280973
280653
  try {
280974
280654
  const { map: map14 } = token;
280975
280655
  const { content: content3, col } = child;
280656
+ const { name: name3, tokens: optTokens } = inlineOptionsToTokens(child.info, (_a6 = map14 === null || map14 === void 0 ? void 0 : map14[0]) !== null && _a6 !== void 0 ? _a6 : 0, state);
280657
+ if (!name3) {
280658
+ throw new Error('A role name is required, for example, "{sub}`2`"');
280659
+ }
280976
280660
  const roleOpen = new state.Token("parsed_role_open", "", 1);
280977
280661
  roleOpen.content = content3;
280978
280662
  roleOpen.hidden = true;
280979
- roleOpen.info = child.meta.name;
280663
+ roleOpen.info = name3;
280664
+ roleOpen.meta = { header: child.info };
280980
280665
  roleOpen.block = false;
280981
280666
  roleOpen.map = map14;
280982
280667
  roleOpen.col = col;
280983
- const contentTokens = roleContentToTokens(content3, map14 ? map14[0] : 0, state);
280668
+ const contentTokens = roleContentToTokens(content3, (_b = map14 === null || map14 === void 0 ? void 0 : map14[0]) !== null && _b !== void 0 ? _b : 0, state);
280984
280669
  const roleClose = new state.Token("parsed_role_close", "", -1);
280985
280670
  roleClose.block = false;
280986
280671
  roleClose.hidden = true;
280987
- roleOpen.info = child.meta.name;
280988
- const newTokens = [roleOpen, ...contentTokens, roleClose];
280672
+ roleOpen.info = name3;
280673
+ const newTokens = [roleOpen, ...optTokens, ...contentTokens, roleClose];
280989
280674
  childTokens.push(...newTokens);
280990
280675
  } catch (err) {
280991
280676
  const errorToken = new state.Token("role_error", "", 0);
280992
280677
  errorToken.content = child.content;
280993
280678
  errorToken.info = child.info;
280994
- errorToken.meta = child.meta;
280679
+ errorToken.meta = (_c = child.meta) !== null && _c !== void 0 ? _c : {};
280995
280680
  errorToken.map = child.map;
280996
280681
  errorToken.meta.error_message = err.message;
280997
280682
  errorToken.meta.error_name = err.name;
@@ -281036,7 +280721,7 @@ function computeBlockTightness(src, map14) {
281036
280721
  function replaceFences(state) {
281037
280722
  for (const token of state.tokens) {
281038
280723
  if (token.type === "fence" || token.type === "colon_fence") {
281039
- const match3 = token.info.match(/^\s*\{\s*([^}\s]+)\s*\}\s*(.*)$/);
280724
+ const match3 = token.info.match(/^\s*\{\s*([^}]+)\s*\}\s*(.*)$/);
281040
280725
  if (match3) {
281041
280726
  token.type = "directive";
281042
280727
  token.info = match3[1].trim();
@@ -281047,15 +280732,16 @@ function replaceFences(state) {
281047
280732
  return true;
281048
280733
  }
281049
280734
  function runDirectives(state) {
281050
- var _a6;
280735
+ var _a6, _b;
281051
280736
  const finalTokens = [];
281052
280737
  for (const token of state.tokens) {
281053
280738
  if (token.type === "directive") {
281054
280739
  try {
281055
280740
  const { info, map: map14 } = token;
281056
280741
  const arg2 = ((_a6 = token.meta.arg) === null || _a6 === void 0 ? void 0 : _a6.trim()) || void 0;
281057
- const content3 = parseDirectiveContent(token.content.trim() ? token.content.split(/\r?\n/) : [], info, state);
281058
- const { body: body3, options } = content3;
280742
+ const { name: name3 = "div", tokens: inlineOptTokens, options: inlineOptions } = inlineOptionsToTokens(info, (_b = map14 === null || map14 === void 0 ? void 0 : map14[0]) !== null && _b !== void 0 ? _b : 0, state);
280743
+ const content3 = parseDirectiveContent(token.content.trim() ? token.content.split(/\r?\n/) : [], name3, state);
280744
+ const { body: body3, options, optionsLocation } = content3;
281059
280745
  let { bodyOffset } = content3;
281060
280746
  while (body3.length && !body3[0].trim()) {
281061
280747
  body3.shift();
@@ -281063,25 +280749,26 @@ function runDirectives(state) {
281063
280749
  }
281064
280750
  const bodyString = body3.join("\n").trimEnd();
281065
280751
  const directiveOpen = new state.Token("parsed_directive_open", "", 1);
281066
- directiveOpen.info = info;
280752
+ directiveOpen.info = name3;
281067
280753
  directiveOpen.hidden = true;
281068
280754
  directiveOpen.content = bodyString;
281069
280755
  directiveOpen.map = map14;
281070
280756
  directiveOpen.meta = {
281071
280757
  arg: arg2,
281072
- options: getDirectiveOptions(options),
280758
+ options: getDirectiveOptions([...inlineOptions, ...options !== null && options !== void 0 ? options : []]),
281073
280759
  // Tightness is computed for all directives (are they separated by a newline before/after)
281074
280760
  tight: computeBlockTightness(state.src, token.map)
281075
280761
  };
281076
280762
  const startLineNumber = map14 ? map14[0] : 0;
281077
280763
  const argTokens = directiveArgToTokens(arg2, startLineNumber, state);
281078
- const optsTokens = directiveOptionsToTokens(options || [], startLineNumber + 1, state);
280764
+ const optsTokens = directiveOptionsToTokens(options || [], startLineNumber + 1, state, optionsLocation);
281079
280765
  const bodyTokens = directiveBodyToTokens(bodyString, startLineNumber + bodyOffset, state);
281080
280766
  const directiveClose = new state.Token("parsed_directive_close", "", -1);
281081
280767
  directiveClose.info = info;
281082
280768
  directiveClose.hidden = true;
281083
280769
  const newTokens = [
281084
280770
  directiveOpen,
280771
+ ...inlineOptTokens,
281085
280772
  ...argTokens,
281086
280773
  ...optsTokens,
281087
280774
  ...bodyTokens,
@@ -281131,7 +280818,12 @@ function parseDirectiveContent(content3, info, state) {
281131
280818
  try {
281132
280819
  const options = js_yaml_default.load(yamlBlock.join("\n"));
281133
280820
  if (options && typeof options === "object") {
281134
- return { body: newContent, options: Object.entries(options), bodyOffset };
280821
+ return {
280822
+ body: newContent,
280823
+ options: Object.entries(options),
280824
+ bodyOffset,
280825
+ optionsLocation: "yaml"
280826
+ };
281135
280827
  }
281136
280828
  } catch (err) {
281137
280829
  stateWarn(state, `Invalid YAML options in "${info}" directive: ${err.reason}`);
@@ -281155,7 +280847,7 @@ function parseDirectiveContent(content3, info, state) {
281155
280847
  bodyOffset++;
281156
280848
  }
281157
280849
  }
281158
- return { body: newContent, options, bodyOffset };
280850
+ return { body: newContent, options, bodyOffset, optionsLocation: "colon" };
281159
280851
  }
281160
280852
  return { body: content3, bodyOffset: 1 };
281161
280853
  }
@@ -281163,10 +280855,14 @@ function directiveArgToTokens(arg2, lineNumber, state) {
281163
280855
  return nestedPartToTokens("directive_arg", arg2, lineNumber, state, "run_directives", true);
281164
280856
  }
281165
280857
  function getDirectiveOptions(options) {
281166
- if (!options)
280858
+ if (!options || options.length === 0)
281167
280859
  return void 0;
281168
280860
  const simplified = {};
281169
280861
  options.forEach(([key2, val]) => {
280862
+ if (key2 === "class" && simplified.class) {
280863
+ simplified.class += ` ${val}`;
280864
+ return;
280865
+ }
281170
280866
  if (simplified[key2] !== void 0) {
281171
280867
  return;
281172
280868
  }
@@ -281174,16 +280870,16 @@ function getDirectiveOptions(options) {
281174
280870
  });
281175
280871
  return simplified;
281176
280872
  }
281177
- function directiveOptionsToTokens(options, lineNumber, state) {
280873
+ function directiveOptionsToTokens(options, lineNumber, state, optionsLocation) {
281178
280874
  const tokens = options.map(([key2, value], index4) => {
281179
- const optTokens = typeof value === "string" ? nestedPartToTokens("directive_option", value, lineNumber + index4, state, "run_directives", true) : [
281180
- new state.Token("directive_option_open", "", 1),
281181
- new state.Token("directive_option_close", "", -1)
280875
+ const optTokens = typeof value === "string" ? nestedPartToTokens("myst_option", value, lineNumber + index4, state, "run_directives", true) : [
280876
+ new state.Token("myst_option_open", "", 1),
280877
+ new state.Token("myst_option_close", "", -1)
281182
280878
  ];
281183
280879
  if (optTokens.length) {
281184
280880
  optTokens[0].info = key2;
281185
280881
  optTokens[0].content = typeof value === "string" ? value : "";
281186
- optTokens[0].meta = { value };
280882
+ optTokens[0].meta = { location: optionsLocation, value };
281187
280883
  }
281188
280884
  return optTokens;
281189
280885
  });
@@ -281936,12 +281632,7 @@ var admonitionDirective = {
281936
281632
  "note",
281937
281633
  "seealso",
281938
281634
  "tip",
281939
- "warning",
281940
- ".callout-note",
281941
- ".callout-warning",
281942
- ".callout-important",
281943
- ".callout-tip",
281944
- ".callout-caution"
281635
+ "warning"
281945
281636
  ],
281946
281637
  arg: {
281947
281638
  type: "myst",
@@ -281985,7 +281676,7 @@ var admonitionDirective = {
281985
281676
  }
281986
281677
  const admonition5 = {
281987
281678
  type: "admonition",
281988
- kind: data.name !== "admonition" ? data.name.replace(".callout-", "") : void 0,
281679
+ kind: data.name !== "admonition" ? data.name : void 0,
281989
281680
  children
281990
281681
  };
281991
281682
  if (((_a6 = data.options) === null || _a6 === void 0 ? void 0 : _a6.icon) === false) {
@@ -282035,7 +281726,7 @@ function getCodeBlockOptions(data, vfile2, defaultFilename) {
282035
281726
  const { options, node: node3 } = data;
282036
281727
  if ((options === null || options === void 0 ? void 0 : options["lineno-start"]) != null && (options === null || options === void 0 ? void 0 : options["number-lines"]) != null) {
282037
281728
  fileWarn(vfile2, 'Cannot use both "lineno-start" and "number-lines"', {
282038
- node: (_a6 = select('mystDirectiveOption[name="number-lines"]', node3)) !== null && _a6 !== void 0 ? _a6 : node3,
281729
+ node: (_a6 = select('mystOption[name="number-lines"]', node3)) !== null && _a6 !== void 0 ? _a6 : node3,
282039
281730
  source: "code-block:options",
282040
281731
  ruleId: RuleId.directiveOptionsCorrect
282041
281732
  });
@@ -282105,7 +281796,7 @@ function parseTags(input3, vfile2, node3) {
282105
281796
  return parseTags(js_yaml_default.load(input3), vfile2, node3);
282106
281797
  } catch (error) {
282107
281798
  fileError(vfile2, "Could not load tags for code-cell directive", {
282108
- node: (_a6 = select('mystDirectiveOption[name="tags"]', node3)) !== null && _a6 !== void 0 ? _a6 : node3,
281799
+ node: (_a6 = select('mystOption[name="tags"]', node3)) !== null && _a6 !== void 0 ? _a6 : node3,
282109
281800
  source: "code-cell:tags",
282110
281801
  ruleId: RuleId.directiveOptionsCorrect
282111
281802
  });
@@ -282125,7 +281816,7 @@ function parseTags(input3, vfile2, node3) {
282125
281816
  }
282126
281817
  } else if (tags) {
282127
281818
  fileWarn(vfile2, "tags in code-cell directive must be a list of strings", {
282128
- node: (_b = select('mystDirectiveOption[name="tags"]', node3)) !== null && _b !== void 0 ? _b : node3,
281819
+ node: (_b = select('mystOption[name="tags"]', node3)) !== null && _b !== void 0 ? _b : node3,
282129
281820
  source: "code-cell:tags",
282130
281821
  ruleId: RuleId.directiveOptionsCorrect
282131
281822
  });
@@ -282618,7 +282309,7 @@ var includeDirective = {
282618
282309
  filter7.endAt = (_h = data.options) === null || _h === void 0 ? void 0 : _h["end-at"];
282619
282310
  filter7.endBefore = (_j = data.options) === null || _j === void 0 ? void 0 : _j["end-before"];
282620
282311
  if ((_k = data.options) === null || _k === void 0 ? void 0 : _k.lines) {
282621
- filter7.lines = parseLinesString(vfile2, (_l = select('mystDirectiveOption[name="lines"]', data.node)) !== null && _l !== void 0 ? _l : void 0, (_m = data.options) === null || _m === void 0 ? void 0 : _m.lines);
282312
+ filter7.lines = parseLinesString(vfile2, (_l = select('mystOption[name="lines"]', data.node)) !== null && _l !== void 0 ? _l : void 0, (_m = data.options) === null || _m === void 0 ? void 0 : _m.lines);
282622
282313
  } else {
282623
282314
  const startLine = (_o = data.options) === null || _o === void 0 ? void 0 : _o["start-line"];
282624
282315
  const endLine = (_p = data.options) === null || _p === void 0 ? void 0 : _p["end-line"];
@@ -285944,7 +285635,7 @@ var csvTableDirective = {
285944
285635
  headerCells = parseCSV(data.options.header, ctx, data.options);
285945
285636
  } catch (error) {
285946
285637
  fileError(vfile2, "csv-table directive header must be valid CSV-formatted MyST", {
285947
- node: (_b = select('mystDirectiveOption[name="header"]', data.node)) !== null && _b !== void 0 ? _b : data.node,
285638
+ node: (_b = select('mystOption[name="header"]', data.node)) !== null && _b !== void 0 ? _b : data.node,
285948
285639
  ruleId: RuleId.directiveOptionsCorrect
285949
285640
  });
285950
285641
  }
@@ -286279,14 +285970,13 @@ var divDirective = {
286279
285970
  ...commonDirectiveOptions("div")
286280
285971
  },
286281
285972
  body: {
286282
- type: "myst",
286283
- required: true
285973
+ type: "myst"
286284
285974
  },
286285
285975
  run(data) {
286286
- const div2 = {
286287
- type: "div",
286288
- children: data.body
286289
- };
285976
+ const div2 = { type: "div" };
285977
+ if (data.body) {
285978
+ div2.children = data.body;
285979
+ }
286290
285980
  addCommonDirectiveOptions(data, div2);
286291
285981
  return [div2];
286292
285982
  }
@@ -286378,11 +286068,75 @@ var defaultDirectives = [
286378
286068
  tocDirective
286379
286069
  ];
286380
286070
 
286071
+ // ../myst-roles/dist/utils.js
286072
+ function classRoleOption(nodeType = "node") {
286073
+ return {
286074
+ class: {
286075
+ type: String,
286076
+ doc: `Annotate the ${nodeType} with a set of space-delimited class names.`
286077
+ }
286078
+ };
286079
+ }
286080
+ function labelRoleOption(nodeType = "node") {
286081
+ return {
286082
+ label: {
286083
+ type: String,
286084
+ alias: ["name"],
286085
+ doc: `Label the ${nodeType} to be cross-referenced or explicitly linked to.`
286086
+ }
286087
+ };
286088
+ }
286089
+ function commonRoleOptions(nodeType = "node") {
286090
+ return {
286091
+ ...classRoleOption(nodeType),
286092
+ ...labelRoleOption(nodeType)
286093
+ };
286094
+ }
286095
+ function addClassOptions2(data, node3) {
286096
+ var _a6;
286097
+ if (typeof ((_a6 = data.options) === null || _a6 === void 0 ? void 0 : _a6.class) === "string") {
286098
+ node3.class = data.options.class;
286099
+ }
286100
+ return node3;
286101
+ }
286102
+ function addLabelOptions2(data, node3) {
286103
+ var _a6;
286104
+ const { label, identifier } = normalizeLabel((_a6 = data.options) === null || _a6 === void 0 ? void 0 : _a6.label) || {};
286105
+ if (label)
286106
+ node3.label = label;
286107
+ if (identifier)
286108
+ node3.identifier = identifier;
286109
+ return node3;
286110
+ }
286111
+ function addCommonRoleOptions(data, node3) {
286112
+ addClassOptions2(data, node3);
286113
+ addLabelOptions2(data, node3);
286114
+ return node3;
286115
+ }
286116
+
286117
+ // ../myst-roles/dist/span.js
286118
+ var spanRole = {
286119
+ name: "span",
286120
+ options: { ...commonRoleOptions("span") },
286121
+ body: {
286122
+ type: "myst"
286123
+ },
286124
+ run(data) {
286125
+ const node3 = { type: "span" };
286126
+ if (data.body) {
286127
+ node3.children = data.body;
286128
+ }
286129
+ addCommonRoleOptions(data, node3);
286130
+ return [node3];
286131
+ }
286132
+ };
286133
+
286381
286134
  // ../myst-roles/dist/abbreviation.js
286382
286135
  var ABBR_PATTERN = /^(.+?)\(([^()]+)\)$/;
286383
286136
  var abbreviationRole = {
286384
286137
  name: "abbreviation",
286385
286138
  alias: ["abbr"],
286139
+ options: { ...commonRoleOptions("abbreviation") },
286386
286140
  body: {
286387
286141
  type: String,
286388
286142
  required: true
@@ -286393,7 +286147,9 @@ var abbreviationRole = {
286393
286147
  const match3 = ABBR_PATTERN.exec(body3);
286394
286148
  const value = (_b = (_a6 = match3 === null || match3 === void 0 ? void 0 : match3[1]) === null || _a6 === void 0 ? void 0 : _a6.trim()) !== null && _b !== void 0 ? _b : body3.trim();
286395
286149
  const title = (_c = match3 === null || match3 === void 0 ? void 0 : match3[2]) === null || _c === void 0 ? void 0 : _c.trim();
286396
- return [{ type: "abbreviation", title, children: [{ type: "text", value }] }];
286150
+ const abbr = { type: "abbreviation", title, children: [{ type: "text", value }] };
286151
+ addCommonRoleOptions(data, abbr);
286152
+ return [abbr];
286397
286153
  }
286398
286154
  };
286399
286155
 
@@ -286401,12 +286157,15 @@ var abbreviationRole = {
286401
286157
  var chemRole = {
286402
286158
  name: "chemicalFormula",
286403
286159
  alias: ["chem"],
286160
+ options: { ...commonRoleOptions("chemicalFormula") },
286404
286161
  body: {
286405
286162
  type: String,
286406
286163
  required: true
286407
286164
  },
286408
286165
  run(data) {
286409
- return [{ type: "chemicalFormula", value: data.body }];
286166
+ const chem = { type: "chemicalFormula", value: data.body };
286167
+ addCommonRoleOptions(data, chem);
286168
+ return [chem];
286410
286169
  }
286411
286170
  };
286412
286171
 
@@ -286435,6 +286194,7 @@ var citeRole = {
286435
286194
  "cite:cauthors"
286436
286195
  // 'cite:empty',
286437
286196
  ],
286197
+ options: { ...commonRoleOptions("cite") },
286438
286198
  body: {
286439
286199
  type: String,
286440
286200
  required: true
@@ -286467,18 +286227,15 @@ var citeRole = {
286467
286227
  return cite3;
286468
286228
  });
286469
286229
  if (data.name === "cite" && children.length === 1) {
286230
+ addCommonRoleOptions(data, children[0]);
286470
286231
  return children;
286471
286232
  }
286472
286233
  if (data.name.includes("cite:alp")) {
286473
286234
  return children;
286474
286235
  }
286475
- return [
286476
- {
286477
- type: "citeGroup",
286478
- kind,
286479
- children
286480
- }
286481
- ];
286236
+ const citeGroup3 = { type: "citeGroup", kind, children };
286237
+ addCommonRoleOptions(data, citeGroup3);
286238
+ return [citeGroup3];
286482
286239
  }
286483
286240
  };
286484
286241
 
@@ -286486,24 +286243,30 @@ var citeRole = {
286486
286243
  var deleteRole = {
286487
286244
  name: "delete",
286488
286245
  alias: ["del", "strike"],
286246
+ options: { ...commonRoleOptions("delete") },
286489
286247
  body: {
286490
286248
  type: "myst",
286491
286249
  required: true
286492
286250
  },
286493
286251
  run(data) {
286494
- return [{ type: "delete", children: data.body }];
286252
+ const del2 = { type: "delete", children: data.body };
286253
+ addCommonRoleOptions(data, del2);
286254
+ return [del2];
286495
286255
  }
286496
286256
  };
286497
286257
 
286498
286258
  // ../myst-roles/dist/math.js
286499
286259
  var mathRole = {
286500
286260
  name: "math",
286261
+ options: { ...commonRoleOptions("math") },
286501
286262
  body: {
286502
286263
  type: String,
286503
286264
  required: true
286504
286265
  },
286505
286266
  run(data) {
286506
- return [{ type: "inlineMath", value: data.body }];
286267
+ const node3 = { type: "inlineMath", value: data.body };
286268
+ addCommonRoleOptions(data, node3);
286269
+ return [node3];
286507
286270
  }
286508
286271
  };
286509
286272
 
@@ -286773,16 +286536,14 @@ var UNITS2 = {
286773
286536
  // ../myst-roles/dist/inlineExpression.js
286774
286537
  var evalRole = {
286775
286538
  name: "eval",
286539
+ options: { ...commonRoleOptions("eval") },
286776
286540
  body: {
286777
286541
  type: String,
286778
286542
  required: true
286779
286543
  },
286780
286544
  run(data) {
286781
- const value = data.body;
286782
- const node3 = {
286783
- type: "inlineExpression",
286784
- value
286785
- };
286545
+ const node3 = { type: "inlineExpression", value: data.body };
286546
+ addCommonRoleOptions(data, node3);
286786
286547
  return [node3];
286787
286548
  }
286788
286549
  };
@@ -286791,12 +286552,15 @@ var evalRole = {
286791
286552
  var smallcapsRole = {
286792
286553
  name: "smallcaps",
286793
286554
  alias: ["sc"],
286555
+ options: { ...commonRoleOptions("smallcaps") },
286794
286556
  body: {
286795
286557
  type: "myst",
286796
286558
  required: true
286797
286559
  },
286798
286560
  run(data) {
286799
- return [{ type: "smallcaps", children: data.body }];
286561
+ const node3 = { type: "smallcaps", children: data.body };
286562
+ addCommonRoleOptions(data, node3);
286563
+ return [node3];
286800
286564
  }
286801
286565
  };
286802
286566
 
@@ -286804,12 +286568,15 @@ var smallcapsRole = {
286804
286568
  var subscriptRole = {
286805
286569
  name: "subscript",
286806
286570
  alias: ["sub"],
286571
+ options: { ...commonRoleOptions("subscript") },
286807
286572
  body: {
286808
286573
  type: "myst",
286809
286574
  required: true
286810
286575
  },
286811
286576
  run(data) {
286812
- return [{ type: "subscript", children: data.body }];
286577
+ const node3 = { type: "subscript", children: data.body };
286578
+ addCommonRoleOptions(data, node3);
286579
+ return [node3];
286813
286580
  }
286814
286581
  };
286815
286582
 
@@ -286817,12 +286584,15 @@ var subscriptRole = {
286817
286584
  var superscriptRole = {
286818
286585
  name: "superscript",
286819
286586
  alias: ["sup"],
286587
+ options: { ...commonRoleOptions("superscript") },
286820
286588
  body: {
286821
286589
  type: "myst",
286822
286590
  required: true
286823
286591
  },
286824
286592
  run(data) {
286825
- return [{ type: "superscript", children: data.body }];
286593
+ const node3 = { type: "superscript", children: data.body };
286594
+ addCommonRoleOptions(data, node3);
286595
+ return [node3];
286826
286596
  }
286827
286597
  };
286828
286598
 
@@ -286830,12 +286600,15 @@ var superscriptRole = {
286830
286600
  var underlineRole = {
286831
286601
  name: "underline",
286832
286602
  alias: ["u"],
286603
+ options: { ...commonRoleOptions("underline") },
286833
286604
  body: {
286834
286605
  type: "myst",
286835
286606
  required: true
286836
286607
  },
286837
286608
  run(data) {
286838
- return [{ type: "underline", children: data.body }];
286609
+ const node3 = { type: "underline", children: data.body };
286610
+ addCommonRoleOptions(data, node3);
286611
+ return [node3];
286839
286612
  }
286840
286613
  };
286841
286614
 
@@ -286844,16 +286617,17 @@ var keyboardRole = {
286844
286617
  name: "keyboard",
286845
286618
  doc: 'The keyboard role denote textual user input from a keyboard, such as "Ctrl" + "Space".',
286846
286619
  alias: ["kbd"],
286620
+ options: { ...commonRoleOptions("keyboard") },
286847
286621
  body: {
286848
286622
  type: String,
286849
286623
  required: true
286850
286624
  },
286851
286625
  run(data) {
286852
- const body3 = data.body;
286853
286626
  const node3 = {
286854
286627
  type: "keyboard",
286855
- children: [{ type: "text", value: body3 }]
286628
+ children: [{ type: "text", value: data.body }]
286856
286629
  };
286630
+ addCommonRoleOptions(data, node3);
286857
286631
  return [node3];
286858
286632
  }
286859
286633
  };
@@ -286904,6 +286678,7 @@ var rawTypstRole = {
286904
286678
 
286905
286679
  // ../myst-roles/dist/index.js
286906
286680
  var defaultRoles = [
286681
+ spanRole,
286907
286682
  abbreviationRole,
286908
286683
  chemRole,
286909
286684
  citeRole,
@@ -288166,10 +287941,10 @@ var UNHIDDEN_TOKENS = /* @__PURE__ */ new Set([
288166
287941
  "parsed_directive_close",
288167
287942
  "directive_arg_open",
288168
287943
  "directive_arg_close",
288169
- "directive_option_open",
288170
- "directive_option_close",
288171
287944
  "directive_body_open",
288172
287945
  "directive_body_close",
287946
+ "myst_option_open",
287947
+ "myst_option_close",
288173
287948
  "parsed_role_open",
288174
287949
  "parsed_role_close",
288175
287950
  "role_body_open",
@@ -288666,15 +288441,6 @@ var defaultMdast = {
288666
288441
  };
288667
288442
  }
288668
288443
  },
288669
- directive_option: {
288670
- type: "mystDirectiveOption",
288671
- getAttrs(t2) {
288672
- return {
288673
- name: t2.info,
288674
- value: t2.meta.value
288675
- };
288676
- }
288677
- },
288678
288444
  directive_body: {
288679
288445
  type: "mystDirectiveBody",
288680
288446
  getAttrs(t2) {
@@ -288685,7 +288451,23 @@ var defaultMdast = {
288685
288451
  },
288686
288452
  directive_error: {
288687
288453
  type: "mystDirectiveError",
288688
- noCloseToken: true
288454
+ noCloseToken: true,
288455
+ getAttrs(t2) {
288456
+ var _a6;
288457
+ return {
288458
+ message: (_a6 = t2.meta) === null || _a6 === void 0 ? void 0 : _a6.error_message
288459
+ };
288460
+ }
288461
+ },
288462
+ myst_option: {
288463
+ type: "mystOption",
288464
+ getAttrs(t2) {
288465
+ return {
288466
+ name: t2.info,
288467
+ location: t2.meta.location,
288468
+ value: t2.meta.value
288469
+ };
288470
+ }
288689
288471
  },
288690
288472
  parsed_role: {
288691
288473
  type: "mystRole",
@@ -288847,7 +288629,7 @@ function tokensToMyst(src, tokens, options = defaultOptions2) {
288847
288629
  return tree;
288848
288630
  }
288849
288631
 
288850
- // ../myst-parser/dist/roles.js
288632
+ // ../myst-parser/dist/utils.js
288851
288633
  function contentFromNode(node3, spec, vfile2, description, ruleId) {
288852
288634
  const { children, value } = node3;
288853
288635
  if (spec.type === ParseTypesEnum.parsed || spec.type === "myst") {
@@ -288901,65 +288683,81 @@ function contentFromNode(node3, spec, vfile2, description, ruleId) {
288901
288683
  return !!value;
288902
288684
  }
288903
288685
  }
288904
- function applyRoles(tree, specs, vfile2) {
288905
- const specLookup = {};
288906
- specs.forEach((spec) => {
288907
- const names = [spec.name];
288908
- if (spec.alias) {
288909
- names.push(...typeof spec.alias === "string" ? [spec.alias] : spec.alias);
288686
+
288687
+ // ../myst-parser/dist/inlineAttributes.js
288688
+ function parseOptions(name3, node3, vfile2, optionsSpec) {
288689
+ var _a6, _b;
288690
+ let validationError2 = false;
288691
+ const options = {};
288692
+ const optionNodes = (_b = (_a6 = node3.children) === null || _a6 === void 0 ? void 0 : _a6.filter((c) => c.type === "mystOption")) !== null && _b !== void 0 ? _b : [];
288693
+ const optionNodeLookup = {};
288694
+ optionNodes.forEach((optionNode) => {
288695
+ if (optionNode.name === "id" && optionNode.location === "inline") {
288696
+ optionNodeLookup.label = optionNode;
288697
+ return;
288910
288698
  }
288911
- names.forEach((name3) => {
288912
- if (specLookup[name3]) {
288913
- fileWarn(vfile2, `duplicate roles registered with name: ${name3}`, {
288914
- ruleId: RuleId.roleRegistered
288915
- });
288699
+ if (optionNode.name === "class") {
288700
+ if (optionNodeLookup.class) {
288701
+ optionNodeLookup.class.value += ` ${optionNode.value}`;
288916
288702
  } else {
288917
- specLookup[name3] = spec;
288703
+ optionNodeLookup.class = optionNode;
288918
288704
  }
288919
- });
288920
- });
288921
- const nodes = selectAll("mystRole[processed=false]", tree);
288922
- nodes.forEach((node3) => {
288923
- delete node3.processed;
288924
- const { name: name3 } = node3;
288925
- const spec = specLookup[name3];
288926
- if (!spec) {
288927
- fileError(vfile2, `unknown role: ${name3}`, { node: node3, ruleId: RuleId.roleKnown });
288928
- delete node3.children;
288929
288705
  return;
288930
288706
  }
288931
- const { body: body3, validate: validate5, run } = spec;
288932
- let data = { name: name3, node: node3 };
288933
- let validationError2 = false;
288934
- const bodyNode = select("mystRoleBody", node3);
288935
- if (body3) {
288936
- if (body3.required && !bodyNode) {
288937
- fileError(vfile2, `required body not provided for role: ${name3}`, {
288707
+ if (optionNodeLookup[optionNode.name]) {
288708
+ fileWarn(vfile2, `duplicate option "${optionNode.name}" declared (in ${name3})`, {
288709
+ node: optionNode,
288710
+ ruleId: RuleId.directiveOptionsCorrect
288711
+ });
288712
+ } else {
288713
+ optionNodeLookup[optionNode.name] = optionNode;
288714
+ }
288715
+ });
288716
+ Object.entries(optionsSpec || {}).forEach(([optionName, optionSpec]) => {
288717
+ var _a7;
288718
+ let optionNameUsed = optionName;
288719
+ let optionNode = optionNodeLookup[optionName];
288720
+ (_a7 = optionSpec.alias) === null || _a7 === void 0 ? void 0 : _a7.forEach((alias) => {
288721
+ const aliasNode = optionNodeLookup[alias];
288722
+ if (!aliasNode)
288723
+ return;
288724
+ if (!optionNode && aliasNode) {
288725
+ optionNode = aliasNode;
288726
+ optionNameUsed = alias;
288727
+ optionNodeLookup[optionName] = optionNode;
288728
+ } else {
288729
+ fileWarn(vfile2, `option "${optionNameUsed}" used instead of "${alias}" (in ${name3})`, {
288938
288730
  node: node3,
288939
- ruleId: RuleId.roleBodyCorrect
288731
+ ruleId: RuleId.directiveOptionsCorrect
288940
288732
  });
288941
- node3.type = "mystRoleError";
288942
- delete node3.children;
288943
- validationError2 = true;
288944
- } else {
288945
- data.body = contentFromNode(bodyNode, body3, vfile2, `body of role: ${name3}`, RuleId.roleBodyCorrect);
288946
- if (body3.required && data.body == null) {
288947
- validationError2 = true;
288948
- }
288949
288733
  }
288950
- } else if (bodyNode) {
288951
- fileWarn(vfile2, `unexpected body provided for role: ${name3}`, {
288952
- node: bodyNode,
288953
- ruleId: RuleId.roleBodyCorrect
288734
+ delete optionNodeLookup[alias];
288735
+ });
288736
+ if (optionSpec.required && !optionNode) {
288737
+ fileError(vfile2, `required option "${optionName}" not provided (in ${name3})`, {
288738
+ node: node3,
288739
+ ruleId: RuleId.directiveOptionsCorrect
288954
288740
  });
288741
+ node3.type = "mystDirectiveError";
288742
+ delete node3.children;
288743
+ validationError2 = true;
288744
+ } else if (optionNode) {
288745
+ const content3 = contentFromNode(optionNode, optionSpec, vfile2, `option "${optionName}" (in ${name3})`, RuleId.directiveOptionsCorrect);
288746
+ if (content3 != null) {
288747
+ options[optionName] = content3;
288748
+ } else if (optionSpec.required) {
288749
+ validationError2 = true;
288750
+ }
288751
+ delete optionNodeLookup[optionName];
288955
288752
  }
288956
- if (validationError2)
288957
- return;
288958
- if (validate5) {
288959
- data = validate5(data, vfile2);
288960
- }
288961
- node3.children = run(data, vfile2);
288962
288753
  });
288754
+ Object.values(optionNodeLookup).forEach((optionNode) => {
288755
+ fileWarn(vfile2, `unexpected option "${optionNode.name}" provided (in ${name3})`, {
288756
+ node: optionNode,
288757
+ ruleId: RuleId.directiveOptionsCorrect
288758
+ });
288759
+ });
288760
+ return { valid: validationError2, options: Object.keys(options).length ? options : void 0 };
288963
288761
  }
288964
288762
 
288965
288763
  // ../myst-parser/dist/directives.js
@@ -288982,7 +288780,7 @@ function applyDirectives(tree, specs, vfile2, ctx) {
288982
288780
  });
288983
288781
  const nodes = selectAll("mystDirective[processed=false]", tree);
288984
288782
  nodes.forEach((node3) => {
288985
- var _a6, _b, _c, _d2;
288783
+ var _a6, _b;
288986
288784
  delete node3.processed;
288987
288785
  const { name: name3 } = node3;
288988
288786
  const spec = specLookup[name3];
@@ -289007,11 +288805,10 @@ ${node3.value}` : "";
289007
288805
  const argNode = (_a6 = node3.children) === null || _a6 === void 0 ? void 0 : _a6.filter((c) => c.type === "mystDirectiveArg")[0];
289008
288806
  if (argSpec) {
289009
288807
  if (argSpec.required && !argNode) {
289010
- fileError(vfile2, `required argument not provided for directive: ${name3}`, {
289011
- node: node3,
289012
- ruleId: RuleId.directiveArgumentCorrect
289013
- });
288808
+ const message = `required argument not provided for directive: ${name3}`;
288809
+ fileError(vfile2, message, { node: node3, ruleId: RuleId.directiveArgumentCorrect });
289014
288810
  node3.type = "mystDirectiveError";
288811
+ node3.message = message;
289015
288812
  delete node3.children;
289016
288813
  validationError2 = true;
289017
288814
  } else if (argNode) {
@@ -289021,76 +288818,19 @@ ${node3.value}` : "";
289021
288818
  }
289022
288819
  }
289023
288820
  } else if (argNode) {
289024
- fileWarn(vfile2, `unexpected argument provided for directive: ${name3}`, {
289025
- node: argNode,
289026
- ruleId: RuleId.directiveArgumentCorrect
289027
- });
289028
- }
289029
- const options = {};
289030
- const optionNodes = (_c = (_b = node3.children) === null || _b === void 0 ? void 0 : _b.filter((c) => c.type === "mystDirectiveOption")) !== null && _c !== void 0 ? _c : [];
289031
- const optionNodeLookup = {};
289032
- optionNodes.forEach((optionNode) => {
289033
- if (optionNodeLookup[optionNode.name]) {
289034
- fileWarn(vfile2, `duplicate option "${optionNode.name}" declared for directive: ${name3}`, {
289035
- node: optionNode,
289036
- ruleId: RuleId.directiveOptionsCorrect
289037
- });
289038
- } else {
289039
- optionNodeLookup[optionNode.name] = optionNode;
289040
- }
289041
- });
289042
- Object.entries(optionsSpec || {}).forEach(([optionName, optionSpec]) => {
289043
- var _a7;
289044
- let optionNameUsed = optionName;
289045
- let optionNode = optionNodeLookup[optionName];
289046
- (_a7 = optionSpec.alias) === null || _a7 === void 0 ? void 0 : _a7.forEach((alias) => {
289047
- const aliasNode = optionNodeLookup[alias];
289048
- if (!aliasNode)
289049
- return;
289050
- if (!optionNode && aliasNode) {
289051
- optionNode = aliasNode;
289052
- optionNameUsed = alias;
289053
- optionNodeLookup[optionName] = optionNode;
289054
- } else {
289055
- fileWarn(vfile2, `option "${optionNameUsed}" used instead of "${alias}" for directive: ${name3}`, { node: node3, ruleId: RuleId.directiveOptionsCorrect });
289056
- }
289057
- delete optionNodeLookup[alias];
289058
- });
289059
- if (optionSpec.required && !optionNode) {
289060
- fileError(vfile2, `required option "${optionName}" not provided for directive: ${name3}`, {
289061
- node: node3,
289062
- ruleId: RuleId.directiveOptionsCorrect
289063
- });
289064
- node3.type = "mystDirectiveError";
289065
- delete node3.children;
289066
- validationError2 = true;
289067
- } else if (optionNode) {
289068
- const content3 = contentFromNode(optionNode, optionSpec, vfile2, `option "${optionName}" of directive: ${name3}`, RuleId.directiveOptionsCorrect);
289069
- if (content3 != null) {
289070
- options[optionName] = content3;
289071
- } else if (optionSpec.required) {
289072
- validationError2 = true;
289073
- }
289074
- delete optionNodeLookup[optionName];
289075
- }
289076
- });
289077
- Object.values(optionNodeLookup).forEach((optionNode) => {
289078
- fileWarn(vfile2, `unexpected option "${optionNode.name}" provided for directive: ${name3}`, {
289079
- node: optionNode,
289080
- ruleId: RuleId.directiveOptionsCorrect
289081
- });
289082
- });
289083
- if (Object.keys(options).length) {
289084
- data.options = options;
288821
+ const message = `unexpected argument provided for directive: ${name3}`;
288822
+ fileWarn(vfile2, message, { node: argNode, ruleId: RuleId.directiveArgumentCorrect });
289085
288823
  }
289086
- const bodyNode = (_d2 = node3.children) === null || _d2 === void 0 ? void 0 : _d2.filter((c) => c.type === "mystDirectiveBody")[0];
288824
+ const { valid: validOptions, options } = parseOptions(name3, node3, vfile2, optionsSpec);
288825
+ data.options = options;
288826
+ validationError2 = validationError2 || validOptions;
288827
+ const bodyNode = (_b = node3.children) === null || _b === void 0 ? void 0 : _b.filter((c) => c.type === "mystDirectiveBody")[0];
289087
288828
  if (bodySpec) {
289088
288829
  if (bodySpec.required && !bodyNode) {
289089
- fileError(vfile2, `required body not provided for directive: ${name3}`, {
289090
- node: node3,
289091
- ruleId: RuleId.directiveBodyCorrect
289092
- });
288830
+ const message = `required body not provided for directive: ${name3}`;
288831
+ fileError(vfile2, message, { node: node3, ruleId: RuleId.directiveBodyCorrect });
289093
288832
  node3.type = "mystDirectiveError";
288833
+ node3.message = message;
289094
288834
  delete node3.children;
289095
288835
  validationError2 = true;
289096
288836
  } else if (bodyNode) {
@@ -289117,6 +288857,71 @@ ${node3.value}` : "";
289117
288857
  });
289118
288858
  }
289119
288859
 
288860
+ // ../myst-parser/dist/roles.js
288861
+ function applyRoles(tree, specs, vfile2) {
288862
+ const specLookup = {};
288863
+ specs.forEach((spec) => {
288864
+ const names = [spec.name];
288865
+ if (spec.alias) {
288866
+ names.push(...typeof spec.alias === "string" ? [spec.alias] : spec.alias);
288867
+ }
288868
+ names.forEach((name3) => {
288869
+ if (specLookup[name3]) {
288870
+ fileWarn(vfile2, `duplicate roles registered with name: ${name3}`, {
288871
+ ruleId: RuleId.roleRegistered
288872
+ });
288873
+ } else {
288874
+ specLookup[name3] = spec;
288875
+ }
288876
+ });
288877
+ });
288878
+ const nodes = selectAll("mystRole[processed=false]", tree);
288879
+ nodes.forEach((node3) => {
288880
+ var _a6;
288881
+ delete node3.processed;
288882
+ const { name: name3 } = node3;
288883
+ const spec = specLookup[name3];
288884
+ if (!spec) {
288885
+ fileError(vfile2, `unknown role: ${name3}`, { node: node3, ruleId: RuleId.roleKnown });
288886
+ delete node3.children;
288887
+ return;
288888
+ }
288889
+ const { body: body3, options: optionsSpec, validate: validate5, run } = spec;
288890
+ let data = { name: name3, node: node3, options: {} };
288891
+ const { valid: validOptions, options } = parseOptions(name3, node3, vfile2, optionsSpec);
288892
+ let validationError2 = validOptions;
288893
+ data.options = options;
288894
+ const bodyNode = (_a6 = node3.children) === null || _a6 === void 0 ? void 0 : _a6.find((n) => n.type === "mystRoleBody");
288895
+ if (body3) {
288896
+ if (body3.required && !bodyNode) {
288897
+ fileError(vfile2, `required body not provided for role: ${name3}`, {
288898
+ node: node3,
288899
+ ruleId: RuleId.roleBodyCorrect
288900
+ });
288901
+ node3.type = "mystRoleError";
288902
+ delete node3.children;
288903
+ validationError2 = true;
288904
+ } else {
288905
+ data.body = contentFromNode(bodyNode, body3, vfile2, `body of role: ${name3}`, RuleId.roleBodyCorrect);
288906
+ if (body3.required && data.body == null) {
288907
+ validationError2 = true;
288908
+ }
288909
+ }
288910
+ } else if (bodyNode) {
288911
+ fileWarn(vfile2, `unexpected body provided for role: ${name3}`, {
288912
+ node: bodyNode,
288913
+ ruleId: RuleId.roleBodyCorrect
288914
+ });
288915
+ }
288916
+ if (validationError2)
288917
+ return;
288918
+ if (validate5) {
288919
+ data = validate5(data, vfile2);
288920
+ }
288921
+ node3.children = run(data, vfile2);
288922
+ });
288923
+ }
288924
+
289120
288925
  // ../myst-parser/dist/myst.js
289121
288926
  var defaultOptions3 = {
289122
288927
  markdownit: {
@@ -289139,7 +288944,7 @@ var defaultOptions3 = {
289139
288944
  directives: defaultDirectives,
289140
288945
  roles: defaultRoles
289141
288946
  };
289142
- function parseOptions(opts) {
288947
+ function parseOptions2(opts) {
289143
288948
  var _a6, _b, _c;
289144
288949
  const parsedOpts = {
289145
288950
  vfile: (_a6 = opts === null || opts === void 0 ? void 0 : opts.vfile) !== null && _a6 !== void 0 ? _a6 : new VFile(),
@@ -289152,7 +288957,7 @@ function parseOptions(opts) {
289152
288957
  return parsedOpts;
289153
288958
  }
289154
288959
  function createTokenizer(opts) {
289155
- const parsedOpts = parseOptions(opts);
288960
+ const parsedOpts = parseOptions2(opts);
289156
288961
  const { extensions, markdownit } = parsedOpts;
289157
288962
  const tokenizer = (0, import_markdown_it.default)({
289158
288963
  ...MARKDOWN_IT_CONFIG,
@@ -289191,7 +288996,7 @@ function createTokenizer(opts) {
289191
288996
  }
289192
288997
  function mystParse(content3, opts) {
289193
288998
  const { vfile: vfile2 } = opts || {};
289194
- const parsedOpts = parseOptions(opts);
288999
+ const parsedOpts = parseOptions2(opts);
289195
289000
  const tokenizer = createTokenizer(parsedOpts);
289196
289001
  const tree = tokensToMyst(content3, tokenizer.parse(content3, { vfile: vfile2 }), parsedOpts.mdast);
289197
289002
  applyDirectives(tree, parsedOpts.directives, parsedOpts.vfile, {
@@ -289735,17 +289540,186 @@ function parseMyst(session, content3, file, opts) {
289735
289540
  return parsed;
289736
289541
  }
289737
289542
 
289738
- // ../myst-cli/dist/process/notebook.js
289739
- var import_nbtx2 = __toESM(require_cjs2(), 1);
289543
+ // ../../node_modules/nbtx/dist/minify/utils.js
289544
+ var MAX_CHARS = 25e3;
289545
+ var TRUNCATED_CHARS_COUNT = 64;
289546
+ function DEFAULT_HASH_WARNING(content3) {
289547
+ console.warn('nbtx is not using a hashing library to create the hash.\nThe IDs generated are random, please provide a `computeHash` function, for example using "crypto".\nSee nbtx README for more information.');
289548
+ return `not-a-hash-${Math.random().toString(36).slice(2)}${Math.random().toString(36).slice(2)}`;
289549
+ }
289550
+ function isNotNull(arg2) {
289551
+ return arg2 != null;
289552
+ }
289553
+ function walkOutputs(outputs, func) {
289554
+ outputs.forEach((output2) => {
289555
+ if ("data" in output2 && output2.data) {
289556
+ Object.entries(output2.data).forEach(([, bundle]) => {
289557
+ func(bundle);
289558
+ });
289559
+ } else {
289560
+ func(output2);
289561
+ }
289562
+ });
289563
+ }
289564
+ function ensureString(maybeString, joinWith = "") {
289565
+ if (!maybeString)
289566
+ return "";
289567
+ if (typeof maybeString === "string")
289568
+ return maybeString;
289569
+ if (maybeString.join)
289570
+ return maybeString.join(joinWith);
289571
+ return maybeString;
289572
+ }
289573
+
289574
+ // ../../node_modules/nbtx/dist/minify/mime.js
289575
+ function minifyContent(content3, contentType, isBase64Image, outputCache, opts) {
289576
+ if (content3.length === 0 || !isBase64Image && content3.length <= opts.maxCharacters) {
289577
+ return { content: content3, content_type: contentType };
289578
+ }
289579
+ let hash;
289580
+ if (isBase64Image) {
289581
+ const [data] = content3.split(";base64,").reverse();
289582
+ hash = opts.computeHash(data);
289583
+ outputCache[hash] = [data, { contentType, encoding: "base64" }];
289584
+ } else {
289585
+ hash = opts.computeHash(content3);
289586
+ outputCache[hash] = [content3, { contentType, encoding: "utf8" }];
289587
+ }
289588
+ return {
289589
+ content_type: contentType,
289590
+ hash
289591
+ };
289592
+ }
289593
+ async function minifyMimeOutput(output2, outputCache, opts) {
289594
+ const items = await Promise.all(Object.entries(output2.data).map(async ([mimetype, mimeContent]) => {
289595
+ let isBase64Image = false;
289596
+ let stringContent = "";
289597
+ if (mimetype !== "application/javascript" && (mimetype === "application/json" || mimetype.startsWith("application/") && typeof mimeContent === "object")) {
289598
+ stringContent = JSON.stringify(mimeContent);
289599
+ } else {
289600
+ stringContent = ensureString(mimeContent);
289601
+ }
289602
+ if (!mimetype.startsWith("image/svg") && mimetype.startsWith("image/")) {
289603
+ isBase64Image = true;
289604
+ }
289605
+ return minifyContent(stringContent, mimetype, isBase64Image, outputCache, opts);
289606
+ }));
289607
+ const data = items.reduce((bundle, item) => ({ ...bundle, [item.content_type]: item }), {});
289608
+ return {
289609
+ output_type: output2.output_type,
289610
+ execution_count: output2.execution_count,
289611
+ metadata: output2.metadata,
289612
+ data
289613
+ };
289614
+ }
289615
+
289616
+ // ../../node_modules/nbtx/dist/minify/text.js
289617
+ function ensureStringEnsureNewlines(maybeString) {
289618
+ return typeof maybeString === "string" ? maybeString : maybeString === null || maybeString === void 0 ? void 0 : maybeString.join("\n");
289619
+ }
289620
+ async function minifyStringOutput(output2, fieldName, outputCache, opts) {
289621
+ if (!output2[fieldName]) {
289622
+ throw Error(`Bad Field name ${fieldName} for output type ${output2.output_type}`);
289623
+ }
289624
+ const text7 = opts.ensureNewlines ? ensureStringEnsureNewlines(output2[fieldName]) : ensureString(output2[fieldName]);
289625
+ if (text7 && text7.length <= opts.maxCharacters) {
289626
+ return { ...output2, [fieldName]: text7 };
289627
+ }
289628
+ const hash = opts.computeHash(text7);
289629
+ outputCache[hash] = [text7, { contentType: "text/plain", encoding: "utf8" }];
289630
+ return {
289631
+ ...output2,
289632
+ hash,
289633
+ [fieldName]: `${text7.slice(0, opts.truncateTo - 3)}...`
289634
+ };
289635
+ }
289636
+ var minifyStreamOutput = async (output2, outputCache, opts) => minifyStringOutput(output2, "text", outputCache, opts);
289637
+ var minifyErrorOutput = async (output2, outputCache, opts) => minifyStringOutput(output2, "traceback", outputCache, {
289638
+ ensureNewlines: true,
289639
+ ...opts
289640
+ });
289641
+
289642
+ // ../../node_modules/nbtx/dist/minify/minify.js
289643
+ async function minifyOneOutputItem(output2, outputCache, opts) {
289644
+ if (!("output_type" in output2))
289645
+ return null;
289646
+ switch (output2.output_type) {
289647
+ case "stream":
289648
+ return minifyStreamOutput(output2, outputCache, opts);
289649
+ case "error":
289650
+ return minifyErrorOutput(output2, outputCache, opts);
289651
+ case "update_display_data":
289652
+ case "display_data":
289653
+ case "execute_result":
289654
+ return minifyMimeOutput(output2, outputCache, opts);
289655
+ default:
289656
+ return null;
289657
+ }
289658
+ }
289659
+ async function minifyCellOutput(outputs, outputCache, opts = {}) {
289660
+ var _a6, _b, _c;
289661
+ const options = {
289662
+ maxCharacters: (_a6 = opts.maxCharacters) !== null && _a6 !== void 0 ? _a6 : MAX_CHARS,
289663
+ truncateTo: (_b = opts.truncateTo) !== null && _b !== void 0 ? _b : TRUNCATED_CHARS_COUNT,
289664
+ computeHash: (_c = opts.computeHash) !== null && _c !== void 0 ? _c : DEFAULT_HASH_WARNING
289665
+ };
289666
+ const minifiedOrNull = await Promise.all(outputs.map(async (output2) => minifyOneOutputItem(output2, outputCache, options)));
289667
+ return minifiedOrNull.filter(isNotNull);
289668
+ }
289669
+
289670
+ // ../../node_modules/nbtx/dist/types.js
289671
+ var KnownCellOutputMimeTypes;
289672
+ (function(KnownCellOutputMimeTypes2) {
289673
+ KnownCellOutputMimeTypes2["TextPlain"] = "text/plain";
289674
+ KnownCellOutputMimeTypes2["TextHtml"] = "text/html";
289675
+ KnownCellOutputMimeTypes2["TextLatex"] = "text/latex";
289676
+ KnownCellOutputMimeTypes2["ImagePng"] = "image/png";
289677
+ KnownCellOutputMimeTypes2["ImageBmp"] = "image/bmp";
289678
+ KnownCellOutputMimeTypes2["ImageJpeg"] = "image/jpeg";
289679
+ KnownCellOutputMimeTypes2["ImageSvg"] = "image/svg+xml";
289680
+ KnownCellOutputMimeTypes2["ImageGif"] = "image/gif";
289681
+ KnownCellOutputMimeTypes2["AppJson"] = "application/json";
289682
+ KnownCellOutputMimeTypes2["AppGeoJson"] = "application/geo+json";
289683
+ KnownCellOutputMimeTypes2["AppPlotly"] = "application/vnd.plotly.v1+json";
289684
+ KnownCellOutputMimeTypes2["AppVega"] = "application/vnd.vega.v5+json";
289685
+ KnownCellOutputMimeTypes2["AppVegaLite"] = "application/vnd.vegalite.v3+json";
289686
+ KnownCellOutputMimeTypes2["AppVirtualDom"] = "application/vdom.v1+json";
289687
+ KnownCellOutputMimeTypes2["AppJavascript"] = "application/javascript";
289688
+ KnownCellOutputMimeTypes2["AppWidgetView"] = "application/vnd.jupyter.widget-view+json";
289689
+ KnownCellOutputMimeTypes2["AppWidgetState"] = "application/vnd.jupyter.widget-state+json";
289690
+ KnownCellOutputMimeTypes2["AppBokehLoad"] = "application/vnd.bokehjs_load.v0+json";
289691
+ KnownCellOutputMimeTypes2["AppBokehExec"] = "application/vnd.bokehjs_exec.v0+json";
289692
+ })(KnownCellOutputMimeTypes || (KnownCellOutputMimeTypes = {}));
289693
+ var CELL_TYPES;
289694
+ (function(CELL_TYPES2) {
289695
+ CELL_TYPES2["raw"] = "raw";
289696
+ CELL_TYPES2["markdown"] = "markdown";
289697
+ CELL_TYPES2["code"] = "code";
289698
+ })(CELL_TYPES || (CELL_TYPES = {}));
289699
+
289700
+ // ../../node_modules/nbtx/dist/utils.js
289701
+ function extFromMimeType(mimeType) {
289702
+ if (mimeType === KnownCellOutputMimeTypes.TextHtml)
289703
+ return ".html";
289704
+ if (mimeType === KnownCellOutputMimeTypes.TextLatex)
289705
+ return ".tex";
289706
+ if (mimeType.startsWith("text/"))
289707
+ return ".txt";
289708
+ if (mimeType.startsWith("image/")) {
289709
+ const suffix = mimeType.split("/")[1];
289710
+ const ext2 = suffix.split("+")[0];
289711
+ return `.${ext2}`;
289712
+ }
289713
+ return ".json";
289714
+ }
289740
289715
 
289741
289716
  // ../myst-cli/dist/transforms/images.js
289742
289717
  var import_node_fs11 = __toESM(require("fs"), 1);
289743
289718
  var import_mime_types = __toESM(require_mime_types(), 1);
289744
289719
  var import_node_path16 = __toESM(require("path"), 1);
289745
- var import_nbtx = __toESM(require_cjs2(), 1);
289746
289720
 
289747
289721
  // ../myst-cli/dist/version.js
289748
- var version2 = "1.3.24";
289722
+ var version2 = "1.3.26";
289749
289723
  var version_default2 = version2;
289750
289724
 
289751
289725
  // ../myst-cli/dist/utils/headers.js
@@ -290445,7 +290419,7 @@ function getGithubRawUrl(url) {
290445
290419
  async function writeBase64(session, writeFolder, data, contentType) {
290446
290420
  var _a6;
290447
290421
  const [justData, header] = data.split(BASE64_HEADER_SPLIT).reverse();
290448
- const ext2 = (0, import_nbtx.extFromMimeType)((_a6 = header === null || header === void 0 ? void 0 : header.replace("data:", "")) !== null && _a6 !== void 0 ? _a6 : contentType);
290422
+ const ext2 = extFromMimeType((_a6 = header === null || header === void 0 ? void 0 : header.replace("data:", "")) !== null && _a6 !== void 0 ? _a6 : contentType);
290449
290423
  const hash = computeHash(justData);
290450
290424
  const file = `${hash}${ext2}`;
290451
290425
  const filePath = import_node_path16.default.join(writeFolder, file);
@@ -290564,7 +290538,7 @@ function transformImagesWithoutExt(session, mdast2, file, opts) {
290564
290538
  const sortedExtensions = [
290565
290539
  // Valid extensions
290566
290540
  ...(_a6 = opts === null || opts === void 0 ? void 0 : opts.imageExtensions) !== null && _a6 !== void 0 ? _a6 : [],
290567
- // Convertable extensions
290541
+ // Convertible extensions
290568
290542
  ...Object.keys(conversionFnLookup),
290569
290543
  // All known extensions
290570
290544
  ...KNOWN_IMAGE_EXTENSIONS
@@ -290977,21 +290951,18 @@ function renderExpression(node3, file) {
290977
290951
  return [];
290978
290952
  }
290979
290953
  function transformRenderInlineExpressions(mdast2, file) {
290980
- let count2 = 0;
290981
290954
  const inlineNodes = selectAll("inlineExpression", mdast2);
290982
290955
  inlineNodes.forEach((inlineExpression3) => {
290983
- count2 += 1;
290984
290956
  if (!inlineExpression3.result) {
290985
290957
  return;
290986
290958
  }
290987
- inlineExpression3.identifier = `eval-${count2}`;
290988
290959
  inlineExpression3.children = renderExpression(inlineExpression3, file);
290989
290960
  });
290990
290961
  }
290991
290962
 
290992
290963
  // ../myst-cli/dist/process/notebook.js
290993
290964
  function blockParent(cell3, children) {
290994
- const kind = cell3.cell_type === import_nbtx2.CELL_TYPES.code ? NotebookCell.code : NotebookCell.content;
290965
+ const kind = cell3.cell_type === CELL_TYPES.code ? NotebookCell.code : NotebookCell.content;
290995
290966
  return { type: "block", kind, data: JSON.parse(JSON.stringify(cell3.metadata)), children };
290996
290967
  }
290997
290968
  function replaceAttachmentsTransform(session, mdast2, attachments, file) {
@@ -291008,7 +290979,7 @@ function replaceAttachmentsTransform(session, mdast2, attachments, file) {
291008
290979
  try {
291009
290980
  const attachment = Object.entries(attachments[attachmentKey])[0];
291010
290981
  const mimeType = attachment[0];
291011
- const attachmentVal = (0, import_nbtx2.ensureString)(attachment[1]);
290982
+ const attachmentVal = ensureString(attachment[1]);
291012
290983
  if (!attachmentVal) {
291013
290984
  fileWarn(vfile2, `Unrecognized attachment name in ${file}: ${attachmentKey}`, {
291014
290985
  ruleId: RuleId.notebookAttachmentsResolve
@@ -291048,8 +291019,8 @@ async function processNotebookFull(session, file, content3) {
291048
291019
  const items = await (cells2 === null || cells2 === void 0 ? void 0 : cells2.slice(0, end).reduce(async (P, cell3, index4) => {
291049
291020
  var _a7;
291050
291021
  const acc = await P;
291051
- if (cell3.cell_type === import_nbtx2.CELL_TYPES.markdown) {
291052
- const cellContent = (0, import_nbtx2.ensureString)(cell3.source);
291022
+ if (cell3.cell_type === CELL_TYPES.markdown) {
291023
+ const cellContent = ensureString(cell3.source);
291053
291024
  const omitBlockDivider = index4 === 0 && cellContent.startsWith("---\n");
291054
291025
  const cellMdast = parseMyst(session, cellContent, file, { ignoreFrontmatter: index4 > 0 });
291055
291026
  if (cell3.attachments) {
@@ -291069,20 +291040,20 @@ async function processNotebookFull(session, file, content3) {
291069
291040
  });
291070
291041
  return acc.concat(block5);
291071
291042
  }
291072
- if (cell3.cell_type === import_nbtx2.CELL_TYPES.raw) {
291043
+ if (cell3.cell_type === CELL_TYPES.raw) {
291073
291044
  const raw2 = {
291074
291045
  type: "code",
291075
291046
  lang: "",
291076
- value: (0, import_nbtx2.ensureString)(cell3.source)
291047
+ value: ensureString(cell3.source)
291077
291048
  };
291078
291049
  return acc.concat(blockParent(cell3, [raw2]));
291079
291050
  }
291080
- if (cell3.cell_type === import_nbtx2.CELL_TYPES.code) {
291051
+ if (cell3.cell_type === CELL_TYPES.code) {
291081
291052
  const code7 = {
291082
291053
  type: "code",
291083
291054
  lang: language,
291084
291055
  executable: true,
291085
- value: (0, import_nbtx2.ensureString)(cell3.source)
291056
+ value: ensureString(cell3.source)
291086
291057
  };
291087
291058
  const output2 = {
291088
291059
  type: "output",
@@ -300231,7 +300202,7 @@ var import_node_fs24 = __toESM(require("fs"), 1);
300231
300202
  var import_node_path29 = __toESM(require("path"), 1);
300232
300203
 
300233
300204
  // ../myst-cli/dist/spec-version.js
300234
- var SPEC_VERSION = 1;
300205
+ var SPEC_VERSION = 2;
300235
300206
 
300236
300207
  // ../myst-cli/dist/build/site/template.js
300237
300208
  var import_node_fs22 = __toESM(require("fs"), 1);
@@ -300922,6 +300893,7 @@ function validateTemplateStyle(input3, opts) {
300922
300893
  return output2;
300923
300894
  }
300924
300895
  function validateTemplateYml(session, input3, opts) {
300896
+ var _a6;
300925
300897
  const inputObj = validateObject(input3, opts);
300926
300898
  if (inputObj === void 0)
300927
300899
  return void 0;
@@ -301036,7 +301008,7 @@ function validateTemplateYml(session, input3, opts) {
301036
301008
  return validateString(val, incrementOptions(`packages.${ind}`, opts));
301037
301009
  });
301038
301010
  }
301039
- if (defined(value.files)) {
301011
+ if (defined(value.files) && ((_a6 = opts === null || opts === void 0 ? void 0 : opts.validateFiles) !== null && _a6 !== void 0 ? _a6 : true)) {
301040
301012
  output2.files = validateList(value.files, incrementOptions("files", opts), (val, ind) => {
301041
301013
  const fileOpts = incrementOptions(`files.${ind}`, opts);
301042
301014
  const file = validateString(val, fileOpts);
@@ -301090,7 +301062,7 @@ var MystTemplate = class {
301090
301062
  * local path where the downloaded template will be saved.
301091
301063
  */
301092
301064
  constructor(session, opts) {
301093
- var _a6, _b, _c;
301065
+ var _a6, _b, _c, _d2;
301094
301066
  this.session = session;
301095
301067
  const { templatePath, templateUrl } = resolveInputs(this.session, opts || {});
301096
301068
  this.templatePath = templatePath;
@@ -301099,6 +301071,7 @@ var MystTemplate = class {
301099
301071
  this.warningLogFn = (_b = opts === null || opts === void 0 ? void 0 : opts.warningLogFn) !== null && _b !== void 0 ? _b : warningLogger(this.session);
301100
301072
  this.debugLogFn = (_c = opts === null || opts === void 0 ? void 0 : opts.debugLogFn) !== null && _c !== void 0 ? _c : debugLogger(this.session);
301101
301073
  this.kind = opts.kind;
301074
+ this.validateFiles = (_d2 = opts === null || opts === void 0 ? void 0 : opts.validateFiles) !== null && _d2 !== void 0 ? _d2 : true;
301102
301075
  }
301103
301076
  getTemplateYmlPath() {
301104
301077
  return (0, import_node_path25.join)(this.templatePath, TEMPLATE_YML);
@@ -301123,7 +301096,8 @@ var MystTemplate = class {
301123
301096
  };
301124
301097
  const templateYml = validateTemplateYml(this.session, this.getTemplateYml(), {
301125
301098
  ...opts,
301126
- templateDir: this.templatePath
301099
+ templateDir: this.templatePath,
301100
+ validateFiles: this.validateFiles
301127
301101
  });
301128
301102
  if (((_a6 = opts.messages.errors) === null || _a6 === void 0 ? void 0 : _a6.length) || templateYml === void 0) {
301129
301103
  throw new Error(`Cannot use invalid ${TEMPLATE_YML}: ${this.getTemplateYmlPath()}`);
@@ -301257,7 +301231,7 @@ var dist_default2 = template_default;
301257
301231
  var DEFAULT_TEMPLATE = "book-theme";
301258
301232
  var DEFAULT_INSTALL_COMMAND = "npm install";
301259
301233
  async function getSiteTemplate(session, opts) {
301260
- var _a6, _b, _c;
301234
+ var _a6, _b, _c, _d2;
301261
301235
  const cache = castSession(session);
301262
301236
  const state = cache.store.getState();
301263
301237
  if (cache.$siteTemplate)
@@ -301266,7 +301240,7 @@ async function getSiteTemplate(session, opts) {
301266
301240
  const file = (_a6 = selectors_exports.selectCurrentSiteFile(state)) !== null && _a6 !== void 0 ? _a6 : session.configFiles[0];
301267
301241
  const mystTemplate = new dist_default2(session, {
301268
301242
  kind: TemplateKind.site,
301269
- template: (_c = (_b = siteConfig === null || siteConfig === void 0 ? void 0 : siteConfig.template) !== null && _b !== void 0 ? _b : opts === null || opts === void 0 ? void 0 : opts.defaultTemplate) !== null && _c !== void 0 ? _c : DEFAULT_TEMPLATE,
301243
+ template: (_d2 = (_c = (_b = opts === null || opts === void 0 ? void 0 : opts.template) !== null && _b !== void 0 ? _b : siteConfig === null || siteConfig === void 0 ? void 0 : siteConfig.template) !== null && _c !== void 0 ? _c : opts === null || opts === void 0 ? void 0 : opts.defaultTemplate) !== null && _d2 !== void 0 ? _d2 : DEFAULT_TEMPLATE,
301270
301244
  buildDir: session.buildPath(),
301271
301245
  errorLogFn: (message) => {
301272
301246
  addWarningForFile(session, file, message, "error", {
@@ -301277,7 +301251,8 @@ async function getSiteTemplate(session, opts) {
301277
301251
  addWarningForFile(session, file, message, "warn", {
301278
301252
  ruleId: RuleId.validSiteConfig
301279
301253
  });
301280
- }
301254
+ },
301255
+ validateFiles: (opts === null || opts === void 0 ? void 0 : opts.template) ? false : true
301281
301256
  });
301282
301257
  await mystTemplate.ensureTemplateExistsOnPath();
301283
301258
  cache.$siteTemplate = mystTemplate;
@@ -302036,6 +302011,9 @@ function makePortOption() {
302036
302011
  function makeServerPortOption() {
302037
302012
  return new Option("--server-port <server-port>", "Run the content server from the specified port number").argParser(parseInt2).env("SERVER_PORT").default(void 0);
302038
302013
  }
302014
+ function makeTemplateOption() {
302015
+ return new Option("--template <path-to-template>", "Use this template file, instead of the one specified in the myst.yml manifest").default(void 0);
302016
+ }
302039
302017
  function makeYesOption() {
302040
302018
  return new Option("-y, --yes", "Automatically respond yes to prompts").default(false);
302041
302019
  }
@@ -302072,32 +302050,33 @@ function mystDataFilename(dataUrl) {
302072
302050
  return `myst-${computeHash(dataUrl)}.json`;
302073
302051
  }
302074
302052
  async function fetchMystData(session, dataUrl, urlSource, vfile2) {
302075
- var _a6;
302076
- let note;
302077
- if (dataUrl) {
302078
- const filename = mystDataFilename(dataUrl);
302079
- const cacheData = loadFromCache(session, filename, { maxAge: XREF_MAX_AGE });
302080
- if (cacheData) {
302081
- return JSON.parse(cacheData);
302082
- }
302083
- try {
302084
- const resp = await session.fetch(dataUrl);
302085
- if (resp.ok) {
302086
- const data = await resp.json();
302087
- writeToCache(session, filename, JSON.stringify(data));
302088
- return data;
302089
- }
302090
- } catch {
302053
+ const onError = (note) => {
302054
+ var _a6;
302055
+ fileWarn(vfile2, `Unable to resolve link text from external MyST reference: ${(_a6 = urlSource !== null && urlSource !== void 0 ? urlSource : dataUrl) !== null && _a6 !== void 0 ? _a6 : ""}`, {
302056
+ ruleId: RuleId.mystLinkValid,
302057
+ note
302058
+ });
302059
+ };
302060
+ if (!dataUrl) {
302061
+ return onError("Data source URL unavailable");
302062
+ }
302063
+ const filename = mystDataFilename(dataUrl);
302064
+ const cacheData = loadFromCache(session, filename, { maxAge: XREF_MAX_AGE });
302065
+ if (cacheData) {
302066
+ return JSON.parse(cacheData);
302067
+ }
302068
+ let data;
302069
+ try {
302070
+ const resp = await session.fetch(dataUrl);
302071
+ if (!resp.ok) {
302072
+ return onError("Could not fetch data from URL");
302091
302073
  }
302092
- note = "Could not load data from external project";
302093
- } else {
302094
- note = "Data source URL unavailable";
302074
+ data = await resp.json();
302075
+ } catch {
302076
+ return onError("Could not load fetched data");
302095
302077
  }
302096
- fileWarn(vfile2, `Unable to resolve link text from external MyST reference: ${(_a6 = urlSource !== null && urlSource !== void 0 ? urlSource : dataUrl) !== null && _a6 !== void 0 ? _a6 : ""}`, {
302097
- ruleId: RuleId.mystLinkValid,
302098
- note
302099
- });
302100
- return;
302078
+ writeToCache(session, filename, JSON.stringify(data));
302079
+ return data;
302101
302080
  }
302102
302081
  async function fetchMystLinkData(session, node3, vfile2) {
302103
302082
  return fetchMystData(session, node3.dataUrl, node3.urlSource, vfile2);
@@ -303062,7 +303041,10 @@ async function checkLinksTransform(session, file, mdast2) {
303062
303041
  const toc = tic();
303063
303042
  session.log.info(`\u{1F517} Checking ${plural("%s link(s)", linkNodes)} in ${file}`);
303064
303043
  const linkResults = await Promise.all(linkNodes.map(async (link4) => limitOutgoingConnections(async () => {
303065
- const { position: position6, url } = link4;
303044
+ const { position: position6, url, type: type2 } = link4;
303045
+ if (type2 === "card" && !url) {
303046
+ return "";
303047
+ }
303066
303048
  const check2 = await checkLink(session, url);
303067
303049
  if (check2.ok || check2.skipped)
303068
303050
  return url;
@@ -303414,9 +303396,8 @@ function stripAnsi(string2) {
303414
303396
  }
303415
303397
 
303416
303398
  // ../myst-cli/dist/transforms/outputs.js
303417
- var import_nbtx3 = __toESM(require_cjs2(), 1);
303418
303399
  function getFilename(hash, contentType) {
303419
- return `${hash}${(0, import_nbtx3.extFromMimeType)(contentType)}`;
303400
+ return `${hash}${extFromMimeType(contentType)}`;
303420
303401
  }
303421
303402
  function getWriteDestination(hash, contentType, writeFolder) {
303422
303403
  return (0, import_node_path36.join)(writeFolder, getFilename(hash, contentType));
@@ -303427,7 +303408,7 @@ async function transformOutputsToCache(session, mdast2, kind, opts) {
303427
303408
  return;
303428
303409
  const cache = castSession(session);
303429
303410
  await Promise.all(outputs.filter((output2) => output2.visibility !== "remove").map(async (output2) => {
303430
- output2.data = await (0, import_nbtx3.minifyCellOutput)(output2.data, cache.$outputs, {
303411
+ output2.data = await minifyCellOutput(output2.data, cache.$outputs, {
303431
303412
  computeHash,
303432
303413
  maxCharacters: opts === null || opts === void 0 ? void 0 : opts.minifyMaxCharacters
303433
303414
  });
@@ -303456,7 +303437,7 @@ function transformFilterOutputStreams(mdast2, vfile2, { output_stdout: stdout =
303456
303437
  if (doWarn || doError) {
303457
303438
  (doError ? fileError : fileWarn)(vfile2, doRemove ? "Removing stderr from outputs" : "Output contains stderr", {
303458
303439
  node: output2,
303459
- note: (0, import_nbtx3.ensureString)(data.text)
303440
+ note: ensureString(data.text)
303460
303441
  });
303461
303442
  }
303462
303443
  return !doRemove;
@@ -303468,7 +303449,7 @@ function transformFilterOutputStreams(mdast2, vfile2, { output_stdout: stdout =
303468
303449
  if (doWarn || doError) {
303469
303450
  (doError ? fileError : fileWarn)(vfile2, doRemove ? "Removing stdout from outputs" : "Output contains stdout", {
303470
303451
  node: output2,
303471
- note: (0, import_nbtx3.ensureString)(data.text)
303452
+ note: ensureString(data.text)
303472
303453
  });
303473
303454
  }
303474
303455
  return !doRemove;
@@ -303522,7 +303503,7 @@ function transformOutputsToFile(session, mdast2, writeFolder, opts) {
303522
303503
  const outputs = selectAll("output", mdast2);
303523
303504
  const cache = castSession(session);
303524
303505
  outputs.forEach((node3) => {
303525
- (0, import_nbtx3.walkOutputs)(node3.data, (obj) => {
303506
+ walkOutputs(node3.data, (obj) => {
303526
303507
  const { hash } = obj;
303527
303508
  if (!hash || !cache.$outputs[hash])
303528
303509
  return void 0;
@@ -303563,7 +303544,7 @@ function reduceOutputs(session, mdast2, file, writeFolder, opts) {
303563
303544
  const selectedOutputs = [];
303564
303545
  node3.data.forEach((output2) => {
303565
303546
  let selectedOutput;
303566
- (0, import_nbtx3.walkOutputs)([output2], (obj) => {
303547
+ walkOutputs([output2], (obj) => {
303567
303548
  const { output_type, content_type, hash } = obj;
303568
303549
  if (!hash)
303569
303550
  return void 0;
@@ -304511,6 +304492,18 @@ async function transformMdast(session, opts) {
304511
304492
  await includeFilesTransform(session, file, mdast2, frontmatter, vfile2);
304512
304493
  rawDirectiveTransform(mdast2, vfile2);
304513
304494
  liftCodeMetadataToBlock(session, vfile2, mdast2);
304495
+ if (execute && !frontmatter.skip_execution) {
304496
+ const cachePath2 = import_node_path39.default.join(session.buildPath(), "execute");
304497
+ await kernelExecutionTransform(mdast2, vfile2, {
304498
+ basePath: session.sourcePath(),
304499
+ cache: new LocalDiskCache(cachePath2),
304500
+ sessionFactory: () => session.jupyterSessionManager(),
304501
+ frontmatter,
304502
+ ignoreCache: false,
304503
+ errorIsFatal: false,
304504
+ log: session.log
304505
+ });
304506
+ }
304514
304507
  const pipe = unified().use(reconstructHtmlPlugin).use(htmlPlugin, { htmlHandlers }).use(basicTransformationsPlugin, {
304515
304508
  parser: (content3) => parseMyst(session, content3, file),
304516
304509
  firstDepth: (titleDepth !== null && titleDepth !== void 0 ? titleDepth : 1) + (frontmatter.content_includes_title ? 0 : 1)
@@ -304532,18 +304525,6 @@ async function transformMdast(session, opts) {
304532
304525
  rendererFiles.push(...localFiles);
304533
304526
  }
304534
304527
  const fileCitationRenderer = combineCitationRenderers(cache, ...rendererFiles);
304535
- if (execute && !frontmatter.skip_execution) {
304536
- const cachePath2 = import_node_path39.default.join(session.buildPath(), "execute");
304537
- await kernelExecutionTransform(mdast2, vfile2, {
304538
- basePath: session.sourcePath(),
304539
- cache: new LocalDiskCache(cachePath2),
304540
- sessionFactory: () => session.jupyterSessionManager(),
304541
- frontmatter,
304542
- ignoreCache: false,
304543
- errorIsFatal: false,
304544
- log: session.log
304545
- });
304546
- }
304547
304528
  transformRenderInlineExpressions(mdast2, vfile2);
304548
304529
  await transformOutputsToCache(session, mdast2, kind, { minifyMaxCharacters });
304549
304530
  transformFilterOutputStreams(mdast2, vfile2, frontmatter.settings);
@@ -307471,7 +307452,8 @@ var hrefOnlyReplacements2 = {
307471
307452
  "[": "\\[",
307472
307453
  "]": "\\]",
307473
307454
  "^": "\\^",
307474
- "@": "\\@"
307455
+ "@": "\\@",
307456
+ ";": "\\;"
307475
307457
  };
307476
307458
  var textOnlyReplacements3 = {
307477
307459
  ...hrefOnlyReplacements2,
@@ -310081,6 +310063,7 @@ function defaultWordRenderer(session, data, doc, opts, staticPath, vfile2) {
310081
310063
  serializer.render(createReferenceTitle());
310082
310064
  const referencesRoot = htmlTransform({ type: "root", children: referencesDocStates });
310083
310065
  serializer.renderChildren(referencesRoot);
310066
+ serializer.closeBlock();
310084
310067
  }
310085
310068
  selectAll("footnoteDefinition", mdast2).forEach((footnote2) => {
310086
310069
  serializer.render(footnote2);
@@ -318369,7 +318352,7 @@ async function startServer(session, opts) {
318369
318352
  await session.reload();
318370
318353
  warnOnHostEnvironmentVariable(session, opts);
318371
318354
  const mystTemplate = await getSiteTemplate(session, opts);
318372
- if (!opts.headless)
318355
+ if (!opts.headless && !opts.template)
318373
318356
  await installSiteTemplate(session, mystTemplate);
318374
318357
  await buildSite(session, opts);
318375
318358
  const server = await startContentServer(session, opts);
@@ -318479,7 +318462,7 @@ function rewriteAssetsFolder(directory, baseurl) {
318479
318462
  if (![".html", ".js", ".json"].includes(import_node_path57.default.extname(file)))
318480
318463
  return;
318481
318464
  const data = import_fs_extra.default.readFileSync(file).toString();
318482
- const modified = data.replace(new RegExp(`\\/${ASSETS_FOLDER}\\/`, "g"), `${baseurl || ""}/build/`).replace('href="/favicon.ico"', `href="${baseurl || ""}/favicon.ico"`).replace('href="/myst-theme.css"', `href="${baseurl || ""}/myst-theme.css"`);
318465
+ const modified = data.replace(new RegExp(`\\/${ASSETS_FOLDER}\\/`, "g"), `${baseurl || ""}/build/`);
318483
318466
  import_fs_extra.default.writeFileSync(file, modified);
318484
318467
  });
318485
318468
  }
@@ -319237,10 +319220,10 @@ var source_default4 = chalk4;
319237
319220
  var import_figures3 = __toESM(require_figures(), 1);
319238
319221
  var import_cli_cursor = __toESM(require_cli_cursor(), 1);
319239
319222
  var import_run_async2 = __toESM(require_run_async(), 1);
319240
- var import_rxjs3 = __toESM(require_cjs4(), 1);
319223
+ var import_rxjs3 = __toESM(require_cjs3(), 1);
319241
319224
 
319242
319225
  // ../../node_modules/inquirer/lib/utils/events.js
319243
- var import_rxjs = __toESM(require_cjs4(), 1);
319226
+ var import_rxjs = __toESM(require_cjs3(), 1);
319244
319227
  function normalizeKeypressEvents(value, key2) {
319245
319228
  return { value, key: key2 || {} };
319246
319229
  }
@@ -319354,7 +319337,7 @@ function incrementListIndex(current2, dir, opt) {
319354
319337
  var import_defaults = __toESM(require_defaults(), 1);
319355
319338
  var import_clone = __toESM(require_clone2(), 1);
319356
319339
  var import_run_async = __toESM(require_run_async(), 1);
319357
- var import_rxjs2 = __toESM(require_cjs4(), 1);
319340
+ var import_rxjs2 = __toESM(require_cjs3(), 1);
319358
319341
 
319359
319342
  // ../../node_modules/inquirer/lib/objects/choices.js
319360
319343
  var import_node_assert2 = __toESM(require("assert"), 1);
@@ -319899,7 +319882,7 @@ function listRender(choices, pointer) {
319899
319882
  }
319900
319883
 
319901
319884
  // ../../node_modules/inquirer/lib/prompts/input.js
319902
- var import_rxjs4 = __toESM(require_cjs4(), 1);
319885
+ var import_rxjs4 = __toESM(require_cjs3(), 1);
319903
319886
  var InputPrompt = class extends Prompt {
319904
319887
  /**
319905
319888
  * Start the Inquiry session
@@ -319987,7 +319970,7 @@ var NumberPrompt = class extends InputPrompt {
319987
319970
  };
319988
319971
 
319989
319972
  // ../../node_modules/inquirer/lib/prompts/confirm.js
319990
- var import_rxjs5 = __toESM(require_cjs4(), 1);
319973
+ var import_rxjs5 = __toESM(require_cjs3(), 1);
319991
319974
  var ConfirmPrompt = class extends Prompt {
319992
319975
  constructor(questions, rl, answers) {
319993
319976
  super(questions, rl, answers);
@@ -320059,7 +320042,7 @@ var ConfirmPrompt = class extends Prompt {
320059
320042
  };
320060
320043
 
320061
320044
  // ../../node_modules/inquirer/lib/prompts/rawlist.js
320062
- var import_rxjs6 = __toESM(require_cjs4(), 1);
320045
+ var import_rxjs6 = __toESM(require_cjs3(), 1);
320063
320046
  var RawListPrompt = class extends Prompt {
320064
320047
  constructor(questions, rl, answers) {
320065
320048
  super(questions, rl, answers);
@@ -320215,7 +320198,7 @@ function renderChoices(choices, pointer) {
320215
320198
  }
320216
320199
 
320217
320200
  // ../../node_modules/inquirer/lib/prompts/expand.js
320218
- var import_rxjs7 = __toESM(require_cjs4(), 1);
320201
+ var import_rxjs7 = __toESM(require_cjs3(), 1);
320219
320202
  var ExpandPrompt = class extends Prompt {
320220
320203
  constructor(questions, rl, answers) {
320221
320204
  super(questions, rl, answers);
@@ -320411,7 +320394,7 @@ function renderChoices2(choices, pointer) {
320411
320394
  // ../../node_modules/inquirer/lib/prompts/checkbox.js
320412
320395
  var import_cli_cursor2 = __toESM(require_cli_cursor(), 1);
320413
320396
  var import_figures4 = __toESM(require_figures(), 1);
320414
- var import_rxjs8 = __toESM(require_cjs4(), 1);
320397
+ var import_rxjs8 = __toESM(require_cjs3(), 1);
320415
320398
  var CheckboxPrompt = class extends Prompt {
320416
320399
  constructor(questions, rl, answers) {
320417
320400
  super(questions, rl, answers);
@@ -320588,7 +320571,7 @@ function getCheckbox(checked2) {
320588
320571
  }
320589
320572
 
320590
320573
  // ../../node_modules/inquirer/lib/prompts/password.js
320591
- var import_rxjs9 = __toESM(require_cjs4(), 1);
320574
+ var import_rxjs9 = __toESM(require_cjs3(), 1);
320592
320575
  function mask(input3, maskChar) {
320593
320576
  input3 = String(input3);
320594
320577
  maskChar = typeof maskChar === "string" ? maskChar : "*";
@@ -320671,7 +320654,7 @@ var PasswordPrompt = class extends Prompt {
320671
320654
 
320672
320655
  // ../../node_modules/inquirer/lib/prompts/editor.js
320673
320656
  var import_external_editor = __toESM(require_main(), 1);
320674
- var import_rxjs10 = __toESM(require_cjs4(), 1);
320657
+ var import_rxjs10 = __toESM(require_cjs3(), 1);
320675
320658
  var EditorPrompt = class extends Prompt {
320676
320659
  /**
320677
320660
  * Start the Inquiry session
@@ -320876,11 +320859,11 @@ var BottomBar = class extends UI {
320876
320859
  var import_isPlainObject = __toESM(require_isPlainObject(), 1);
320877
320860
  var import_get = __toESM(require_get2(), 1);
320878
320861
  var import_set = __toESM(require_set2(), 1);
320879
- var import_rxjs12 = __toESM(require_cjs4(), 1);
320862
+ var import_rxjs12 = __toESM(require_cjs3(), 1);
320880
320863
  var import_run_async4 = __toESM(require_run_async(), 1);
320881
320864
 
320882
320865
  // ../../node_modules/inquirer/lib/utils/utils.js
320883
- var import_rxjs11 = __toESM(require_cjs4(), 1);
320866
+ var import_rxjs11 = __toESM(require_cjs3(), 1);
320884
320867
  var import_run_async3 = __toESM(require_run_async(), 1);
320885
320868
  var fetchAsyncQuestionProperty = function(question, prop, answers) {
320886
320869
  if (typeof question[prop] !== "function") {
@@ -321206,7 +321189,7 @@ function makeCleanCommand() {
321206
321189
 
321207
321190
  // ../myst-cli/dist/cli/start.js
321208
321191
  function makeStartCommand() {
321209
- const command = new Command("start").description("Start the current project as a website").addOption(makeExecuteOption("Execute Notebooks")).addOption(makeKeepHostOption()).addOption(makeHeadlessOption()).addOption(makePortOption()).addOption(makeServerPortOption()).addOption(makeMaxSizeWebpOption());
321192
+ const command = new Command("start").description("Start the current project as a website").addOption(makeExecuteOption("Execute Notebooks")).addOption(makeKeepHostOption()).addOption(makeHeadlessOption()).addOption(makePortOption()).addOption(makeServerPortOption()).addOption(makeTemplateOption()).addOption(makeMaxSizeWebpOption());
321210
321193
  return command;
321211
321194
  }
321212
321195
 
@@ -321313,8 +321296,9 @@ on:
321313
321296
  # Runs on pushes targeting the default branch
321314
321297
  branches: [${defaultBranch}]
321315
321298
  env:
321316
- # \`BASE_URL\` determines the website is served from, including CSS & JS assets
321317
- # You may need to change this to \`${isGithubIO ? "BASE_URL: /${{ github.event.repository.name }}" : "BASE_URL: ''"}\`
321299
+ # \`BASE_URL\` determines, relative to the root of the domain, the URL that your site is served from.
321300
+ # E.g., if your site lives at \`https://mydomain.org/myproject\`, set \`BASE_URL=/myproject\`.
321301
+ # If, instead, your site lives at the root of the domain, at \`https://mydomain.org\`, set \`BASE_URL=''\`.
321318
321302
  ${isGithubIO ? `BASE_URL: '' # Not required for '${username}.github.io' domain. Other repos will need to set this!` : "BASE_URL: /${{ github.event.repository.name }}"}
321319
321303
 
321320
321304
  # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
@@ -325946,15 +325930,15 @@ async function upgradeContent(documentLines) {
325946
325930
  }
325947
325931
  return didUpgrade ? documentLines : void 0;
325948
325932
  }
325949
- var admonitionPattern = /^(attention|caution|danger|error|important|hint|note|seealso|tip|warning|\.callout-note|\.callout-warning|\.callout-important|\.callout-tip|\.callout-caution)$/;
325933
+ var admonitionPattern = /^(attention|caution|danger|error|important|hint|note|seealso|tip|warning)$/;
325950
325934
  async function upgradeNotes(documentLines) {
325951
325935
  const data = documentLines.join("\n");
325952
325936
  const mdast2 = mystParse(data);
325953
- const caseInsenstivePattern = new RegExp(admonitionPattern.source, admonitionPattern.flags + "i");
325937
+ const caseInsensitivePattern = new RegExp(admonitionPattern.source, admonitionPattern.flags + "i");
325954
325938
  const directiveNodes = selectAll("mystDirective", mdast2);
325955
325939
  const mixedCaseAdmonitions = directiveNodes.filter((item) => {
325956
325940
  const name3 = item.name;
325957
- return name3.match(caseInsenstivePattern) && !name3.match(admonitionPattern);
325941
+ return name3.match(caseInsensitivePattern) && !name3.match(admonitionPattern);
325958
325942
  });
325959
325943
  mixedCaseAdmonitions.forEach((node3) => {
325960
325944
  const start = node3.position.start.line;