mirror of
https://github.com/Funkoala14/knowledgebase_law.git
synced 2025-06-08 22:08:16 +08:00
288 lines
7.6 KiB
JavaScript
288 lines
7.6 KiB
JavaScript
import {
|
|
__commonJS
|
|
} from "./chunk-2TUXWMP5.js";
|
|
|
|
// node_modules/highlight.js/lib/languages/asciidoc.js
|
|
var require_asciidoc = __commonJS({
|
|
"node_modules/highlight.js/lib/languages/asciidoc.js"(exports, module) {
|
|
function source(re) {
|
|
if (!re) return null;
|
|
if (typeof re === "string") return re;
|
|
return re.source;
|
|
}
|
|
function concat(...args) {
|
|
const joined = args.map((x) => source(x)).join("");
|
|
return joined;
|
|
}
|
|
function asciidoc(hljs) {
|
|
const HORIZONTAL_RULE = {
|
|
begin: "^'{3,}[ \\t]*$",
|
|
relevance: 10
|
|
};
|
|
const ESCAPED_FORMATTING = [
|
|
// escaped constrained formatting marks (i.e., \* \_ or \`)
|
|
{
|
|
begin: /\\[*_`]/
|
|
},
|
|
// escaped unconstrained formatting marks (i.e., \\** \\__ or \\``)
|
|
// must ignore until the next formatting marks
|
|
// this rule might not be 100% compliant with Asciidoctor 2.0 but we are entering undefined behavior territory...
|
|
{
|
|
begin: /\\\\\*{2}[^\n]*?\*{2}/
|
|
},
|
|
{
|
|
begin: /\\\\_{2}[^\n]*_{2}/
|
|
},
|
|
{
|
|
begin: /\\\\`{2}[^\n]*`{2}/
|
|
},
|
|
// guard: constrained formatting mark may not be preceded by ":", ";" or
|
|
// "}". match these so the constrained rule doesn't see them
|
|
{
|
|
begin: /[:;}][*_`](?![*_`])/
|
|
}
|
|
];
|
|
const STRONG = [
|
|
// inline unconstrained strong (single line)
|
|
{
|
|
className: "strong",
|
|
begin: /\*{2}([^\n]+?)\*{2}/
|
|
},
|
|
// inline unconstrained strong (multi-line)
|
|
{
|
|
className: "strong",
|
|
begin: concat(
|
|
/\*\*/,
|
|
/((\*(?!\*)|\\[^\n]|[^*\n\\])+\n)+/,
|
|
/(\*(?!\*)|\\[^\n]|[^*\n\\])*/,
|
|
/\*\*/
|
|
),
|
|
relevance: 0
|
|
},
|
|
// inline constrained strong (single line)
|
|
{
|
|
className: "strong",
|
|
// must not precede or follow a word character
|
|
begin: /\B\*(\S|\S[^\n]*?\S)\*(?!\w)/
|
|
},
|
|
// inline constrained strong (multi-line)
|
|
{
|
|
className: "strong",
|
|
// must not precede or follow a word character
|
|
begin: /\*[^\s]([^\n]+\n)+([^\n]+)\*/
|
|
}
|
|
];
|
|
const EMPHASIS = [
|
|
// inline unconstrained emphasis (single line)
|
|
{
|
|
className: "emphasis",
|
|
begin: /_{2}([^\n]+?)_{2}/
|
|
},
|
|
// inline unconstrained emphasis (multi-line)
|
|
{
|
|
className: "emphasis",
|
|
begin: concat(
|
|
/__/,
|
|
/((_(?!_)|\\[^\n]|[^_\n\\])+\n)+/,
|
|
/(_(?!_)|\\[^\n]|[^_\n\\])*/,
|
|
/__/
|
|
),
|
|
relevance: 0
|
|
},
|
|
// inline constrained emphasis (single line)
|
|
{
|
|
className: "emphasis",
|
|
// must not precede or follow a word character
|
|
begin: /\b_(\S|\S[^\n]*?\S)_(?!\w)/
|
|
},
|
|
// inline constrained emphasis (multi-line)
|
|
{
|
|
className: "emphasis",
|
|
// must not precede or follow a word character
|
|
begin: /_[^\s]([^\n]+\n)+([^\n]+)_/
|
|
},
|
|
// inline constrained emphasis using single quote (legacy)
|
|
{
|
|
className: "emphasis",
|
|
// must not follow a word character or be followed by a single quote or space
|
|
begin: "\\B'(?!['\\s])",
|
|
end: "(\\n{2}|')",
|
|
// allow escaped single quote followed by word char
|
|
contains: [{
|
|
begin: "\\\\'\\w",
|
|
relevance: 0
|
|
}],
|
|
relevance: 0
|
|
}
|
|
];
|
|
const ADMONITION = {
|
|
className: "symbol",
|
|
begin: "^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+",
|
|
relevance: 10
|
|
};
|
|
const BULLET_LIST = {
|
|
className: "bullet",
|
|
begin: "^(\\*+|-+|\\.+|[^\\n]+?::)\\s+"
|
|
};
|
|
return {
|
|
name: "AsciiDoc",
|
|
aliases: ["adoc"],
|
|
contains: [
|
|
// block comment
|
|
hljs.COMMENT(
|
|
"^/{4,}\\n",
|
|
"\\n/{4,}$",
|
|
// can also be done as...
|
|
// '^/{4,}$',
|
|
// '^/{4,}$',
|
|
{
|
|
relevance: 10
|
|
}
|
|
),
|
|
// line comment
|
|
hljs.COMMENT(
|
|
"^//",
|
|
"$",
|
|
{
|
|
relevance: 0
|
|
}
|
|
),
|
|
// title
|
|
{
|
|
className: "title",
|
|
begin: "^\\.\\w.*$"
|
|
},
|
|
// example, admonition & sidebar blocks
|
|
{
|
|
begin: "^[=\\*]{4,}\\n",
|
|
end: "\\n^[=\\*]{4,}$",
|
|
relevance: 10
|
|
},
|
|
// headings
|
|
{
|
|
className: "section",
|
|
relevance: 10,
|
|
variants: [
|
|
{
|
|
begin: "^(={1,6})[ ].+?([ ]\\1)?$"
|
|
},
|
|
{
|
|
begin: "^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$"
|
|
}
|
|
]
|
|
},
|
|
// document attributes
|
|
{
|
|
className: "meta",
|
|
begin: "^:.+?:",
|
|
end: "\\s",
|
|
excludeEnd: true,
|
|
relevance: 10
|
|
},
|
|
// block attributes
|
|
{
|
|
className: "meta",
|
|
begin: "^\\[.+?\\]$",
|
|
relevance: 0
|
|
},
|
|
// quoteblocks
|
|
{
|
|
className: "quote",
|
|
begin: "^_{4,}\\n",
|
|
end: "\\n_{4,}$",
|
|
relevance: 10
|
|
},
|
|
// listing and literal blocks
|
|
{
|
|
className: "code",
|
|
begin: "^[\\-\\.]{4,}\\n",
|
|
end: "\\n[\\-\\.]{4,}$",
|
|
relevance: 10
|
|
},
|
|
// passthrough blocks
|
|
{
|
|
begin: "^\\+{4,}\\n",
|
|
end: "\\n\\+{4,}$",
|
|
contains: [{
|
|
begin: "<",
|
|
end: ">",
|
|
subLanguage: "xml",
|
|
relevance: 0
|
|
}],
|
|
relevance: 10
|
|
},
|
|
BULLET_LIST,
|
|
ADMONITION,
|
|
...ESCAPED_FORMATTING,
|
|
...STRONG,
|
|
...EMPHASIS,
|
|
// inline smart quotes
|
|
{
|
|
className: "string",
|
|
variants: [
|
|
{
|
|
begin: "``.+?''"
|
|
},
|
|
{
|
|
begin: "`.+?'"
|
|
}
|
|
]
|
|
},
|
|
// inline unconstrained emphasis
|
|
{
|
|
className: "code",
|
|
begin: /`{2}/,
|
|
end: /(\n{2}|`{2})/
|
|
},
|
|
// inline code snippets (TODO should get same treatment as strong and emphasis)
|
|
{
|
|
className: "code",
|
|
begin: "(`.+?`|\\+.+?\\+)",
|
|
relevance: 0
|
|
},
|
|
// indented literal block
|
|
{
|
|
className: "code",
|
|
begin: "^[ \\t]",
|
|
end: "$",
|
|
relevance: 0
|
|
},
|
|
HORIZONTAL_RULE,
|
|
// images and links
|
|
{
|
|
begin: "(link:)?(http|https|ftp|file|irc|image:?):\\S+?\\[[^[]*?\\]",
|
|
returnBegin: true,
|
|
contains: [
|
|
{
|
|
begin: "(link|image:?):",
|
|
relevance: 0
|
|
},
|
|
{
|
|
className: "link",
|
|
begin: "\\w",
|
|
end: "[^\\[]+",
|
|
relevance: 0
|
|
},
|
|
{
|
|
className: "string",
|
|
begin: "\\[",
|
|
end: "\\]",
|
|
excludeBegin: true,
|
|
excludeEnd: true,
|
|
relevance: 0
|
|
}
|
|
],
|
|
relevance: 10
|
|
}
|
|
]
|
|
};
|
|
}
|
|
module.exports = asciidoc;
|
|
}
|
|
});
|
|
|
|
export {
|
|
require_asciidoc
|
|
};
|
|
//# sourceMappingURL=chunk-UJYVCH4S.js.map
|