deploy: v0.12 存档迁移+考古日志滚动条

This commit is contained in:
2026-06-24 03:04:38 +00:00
parent 4831505ef9
commit b4c6111516
58986 changed files with 7569452 additions and 31667 deletions
+44
View File
@@ -0,0 +1,44 @@
import { Options } from 'mdast-util-to-markdown';
import { Extension } from 'mdast-util-from-markdown';
/**
* Extension for `mdast-util-from-markdown` to enable mark highlight.
*
* @type {FromMarkdownExtension}
*/
declare const highlightMarkFromMarkdown: Extension;
/**
* Extension for `mdast-util-to-markdown` to enable mark highlight.
*/
declare const highlightMarkToMarkdown: Options;
declare module 'mdast-util-to-markdown' {
interface ConstructNameMap {
/**
* Whole m.
*
* ```markdown
* > | ==a==
* ^^^^^
* ```
*/
highlight: 'highlight';
}
}
declare module 'mdast' {
interface Highlight extends Parent {
type: 'highlight';
children: PhrasingContent[];
}
interface StaticPhrasingContentMap {
highlight: Highlight;
}
interface PhrasingContentMap {
highlight: Highlight;
}
interface RootContentMap {
highlight: Highlight;
}
}
export { highlightMarkFromMarkdown, highlightMarkToMarkdown };
+55
View File
@@ -0,0 +1,55 @@
// src/handle.ts
handleMark.peek = peekMark;
var constructsWithoutHighlightMark = [
"autolink",
"destinationLiteral",
"destinationRaw",
"reference",
"titleQuote",
"titleApostrophe"
];
var highlightMarkFromMarkdown = {
canContainEols: ["highlight"],
enter: { highlight: enterHighlight },
exit: { highlight: exitHighlight }
};
function enterHighlight(token) {
this.enter({ type: "highlight", children: [] }, token);
}
function exitHighlight(token) {
this.exit(token);
}
var highlightMarkToMarkdown = {
unsafe: [
{
character: "=",
inConstruct: "phrasing",
notInConstruct: constructsWithoutHighlightMark
}
],
handlers: { highlight: handleMark }
};
function handleMark(node, _, state, info) {
const marker = "=";
const tracker = state.createTracker(info);
const exit = state.enter("highlight");
let value = tracker.move(marker + marker);
value += tracker.move(
//@ts-expect-error ignore error
state.containerPhrasing(node, {
before: value,
after: marker,
...tracker.current()
})
);
value += tracker.move(marker + marker);
exit();
return value;
}
function peekMark() {
return "=";
}
export {
highlightMarkFromMarkdown,
highlightMarkToMarkdown
};