diff --git a/asset/fonts/KaTeX_AMS-Regular.ttf b/asset/fonts/KaTeX_AMS-Regular.ttf new file mode 100644 index 00000000..afcd2eb4 Binary files /dev/null and b/asset/fonts/KaTeX_AMS-Regular.ttf differ diff --git a/asset/fonts/KaTeX_AMS-Regular.woff b/asset/fonts/KaTeX_AMS-Regular.woff new file mode 100644 index 00000000..4f575152 Binary files /dev/null and b/asset/fonts/KaTeX_AMS-Regular.woff differ diff --git a/asset/fonts/KaTeX_AMS-Regular.woff2 b/asset/fonts/KaTeX_AMS-Regular.woff2 new file mode 100644 index 00000000..b982d6ea Binary files /dev/null and b/asset/fonts/KaTeX_AMS-Regular.woff2 differ diff --git a/asset/fonts/KaTeX_Caligraphic-Bold.ttf b/asset/fonts/KaTeX_Caligraphic-Bold.ttf new file mode 100644 index 00000000..f84148db Binary files /dev/null and b/asset/fonts/KaTeX_Caligraphic-Bold.ttf differ diff --git a/asset/fonts/KaTeX_Caligraphic-Bold.woff b/asset/fonts/KaTeX_Caligraphic-Bold.woff new file mode 100644 index 00000000..ab56ab7f Binary files /dev/null and b/asset/fonts/KaTeX_Caligraphic-Bold.woff differ diff --git a/asset/fonts/KaTeX_Caligraphic-Bold.woff2 b/asset/fonts/KaTeX_Caligraphic-Bold.woff2 new file mode 100644 index 00000000..710c2617 Binary files /dev/null and b/asset/fonts/KaTeX_Caligraphic-Bold.woff2 differ diff --git a/asset/fonts/KaTeX_Caligraphic-Regular.ttf b/asset/fonts/KaTeX_Caligraphic-Regular.ttf new file mode 100644 index 00000000..97814db7 Binary files /dev/null and b/asset/fonts/KaTeX_Caligraphic-Regular.ttf differ diff --git a/asset/fonts/KaTeX_Caligraphic-Regular.woff b/asset/fonts/KaTeX_Caligraphic-Regular.woff new file mode 100644 index 00000000..aec8a333 Binary files /dev/null and b/asset/fonts/KaTeX_Caligraphic-Regular.woff differ diff --git a/asset/fonts/KaTeX_Caligraphic-Regular.woff2 b/asset/fonts/KaTeX_Caligraphic-Regular.woff2 new file mode 100644 index 00000000..ee5193d7 Binary files /dev/null and b/asset/fonts/KaTeX_Caligraphic-Regular.woff2 differ diff --git a/asset/fonts/KaTeX_Fraktur-Bold.ttf b/asset/fonts/KaTeX_Fraktur-Bold.ttf new file mode 100644 index 00000000..483a7cdd Binary files /dev/null and b/asset/fonts/KaTeX_Fraktur-Bold.ttf differ diff --git a/asset/fonts/KaTeX_Fraktur-Bold.woff b/asset/fonts/KaTeX_Fraktur-Bold.woff new file mode 100644 index 00000000..189fea5e Binary files /dev/null and b/asset/fonts/KaTeX_Fraktur-Bold.woff differ diff --git a/asset/fonts/KaTeX_Fraktur-Bold.woff2 b/asset/fonts/KaTeX_Fraktur-Bold.woff2 new file mode 100644 index 00000000..dc3bd4c0 Binary files /dev/null and b/asset/fonts/KaTeX_Fraktur-Bold.woff2 differ diff --git a/asset/fonts/KaTeX_Fraktur-Regular.ttf b/asset/fonts/KaTeX_Fraktur-Regular.ttf new file mode 100644 index 00000000..9aa5f674 Binary files /dev/null and b/asset/fonts/KaTeX_Fraktur-Regular.ttf differ diff --git a/asset/fonts/KaTeX_Fraktur-Regular.woff b/asset/fonts/KaTeX_Fraktur-Regular.woff new file mode 100644 index 00000000..d01450e9 Binary files /dev/null and b/asset/fonts/KaTeX_Fraktur-Regular.woff differ diff --git a/asset/fonts/KaTeX_Fraktur-Regular.woff2 b/asset/fonts/KaTeX_Fraktur-Regular.woff2 new file mode 100644 index 00000000..7eeba377 Binary files /dev/null and b/asset/fonts/KaTeX_Fraktur-Regular.woff2 differ diff --git a/asset/fonts/KaTeX_Main-Bold.ttf b/asset/fonts/KaTeX_Main-Bold.ttf new file mode 100644 index 00000000..dc0185a1 Binary files /dev/null and b/asset/fonts/KaTeX_Main-Bold.ttf differ diff --git a/asset/fonts/KaTeX_Main-Bold.woff b/asset/fonts/KaTeX_Main-Bold.woff new file mode 100644 index 00000000..acf48e66 Binary files /dev/null and b/asset/fonts/KaTeX_Main-Bold.woff differ diff --git a/asset/fonts/KaTeX_Main-Bold.woff2 b/asset/fonts/KaTeX_Main-Bold.woff2 new file mode 100644 index 00000000..cf5ababf Binary files /dev/null and b/asset/fonts/KaTeX_Main-Bold.woff2 differ diff --git a/asset/fonts/KaTeX_Main-BoldItalic.ttf b/asset/fonts/KaTeX_Main-BoldItalic.ttf new file mode 100644 index 00000000..4346f173 Binary files /dev/null and b/asset/fonts/KaTeX_Main-BoldItalic.ttf differ diff --git a/asset/fonts/KaTeX_Main-BoldItalic.woff b/asset/fonts/KaTeX_Main-BoldItalic.woff new file mode 100644 index 00000000..d2cfe4e3 Binary files /dev/null and b/asset/fonts/KaTeX_Main-BoldItalic.woff differ diff --git a/asset/fonts/KaTeX_Main-BoldItalic.woff2 b/asset/fonts/KaTeX_Main-BoldItalic.woff2 new file mode 100644 index 00000000..d0178f42 Binary files /dev/null and b/asset/fonts/KaTeX_Main-BoldItalic.woff2 differ diff --git a/asset/fonts/KaTeX_Main-Italic.ttf b/asset/fonts/KaTeX_Main-Italic.ttf new file mode 100644 index 00000000..f2c3ebae Binary files /dev/null and b/asset/fonts/KaTeX_Main-Italic.ttf differ diff --git a/asset/fonts/KaTeX_Main-Italic.woff b/asset/fonts/KaTeX_Main-Italic.woff new file mode 100644 index 00000000..1184295d Binary files /dev/null and b/asset/fonts/KaTeX_Main-Italic.woff differ diff --git a/asset/fonts/KaTeX_Main-Italic.woff2 b/asset/fonts/KaTeX_Main-Italic.woff2 new file mode 100644 index 00000000..aa05e142 Binary files /dev/null and b/asset/fonts/KaTeX_Main-Italic.woff2 differ diff --git a/asset/fonts/KaTeX_Main-Regular.ttf b/asset/fonts/KaTeX_Main-Regular.ttf new file mode 100644 index 00000000..8acb3654 Binary files /dev/null and b/asset/fonts/KaTeX_Main-Regular.ttf differ diff --git a/asset/fonts/KaTeX_Main-Regular.woff b/asset/fonts/KaTeX_Main-Regular.woff new file mode 100644 index 00000000..9f8228fc Binary files /dev/null and b/asset/fonts/KaTeX_Main-Regular.woff differ diff --git a/asset/fonts/KaTeX_Main-Regular.woff2 b/asset/fonts/KaTeX_Main-Regular.woff2 new file mode 100644 index 00000000..e3f71eb7 Binary files /dev/null and b/asset/fonts/KaTeX_Main-Regular.woff2 differ diff --git a/asset/fonts/KaTeX_Math-BoldItalic.ttf b/asset/fonts/KaTeX_Math-BoldItalic.ttf new file mode 100644 index 00000000..a645df64 Binary files /dev/null and b/asset/fonts/KaTeX_Math-BoldItalic.ttf differ diff --git a/asset/fonts/KaTeX_Math-BoldItalic.woff b/asset/fonts/KaTeX_Math-BoldItalic.woff new file mode 100644 index 00000000..87d4f223 Binary files /dev/null and b/asset/fonts/KaTeX_Math-BoldItalic.woff differ diff --git a/asset/fonts/KaTeX_Math-BoldItalic.woff2 b/asset/fonts/KaTeX_Math-BoldItalic.woff2 new file mode 100644 index 00000000..83b49962 Binary files /dev/null and b/asset/fonts/KaTeX_Math-BoldItalic.woff2 differ diff --git a/asset/fonts/KaTeX_Math-Italic.ttf b/asset/fonts/KaTeX_Math-Italic.ttf new file mode 100644 index 00000000..9c38359c Binary files /dev/null and b/asset/fonts/KaTeX_Math-Italic.ttf differ diff --git a/asset/fonts/KaTeX_Math-Italic.woff b/asset/fonts/KaTeX_Math-Italic.woff new file mode 100644 index 00000000..959746ef Binary files /dev/null and b/asset/fonts/KaTeX_Math-Italic.woff differ diff --git a/asset/fonts/KaTeX_Math-Italic.woff2 b/asset/fonts/KaTeX_Math-Italic.woff2 new file mode 100644 index 00000000..e3ea522a Binary files /dev/null and b/asset/fonts/KaTeX_Math-Italic.woff2 differ diff --git a/asset/fonts/KaTeX_SansSerif-Bold.ttf b/asset/fonts/KaTeX_SansSerif-Bold.ttf new file mode 100644 index 00000000..ff108512 Binary files /dev/null and b/asset/fonts/KaTeX_SansSerif-Bold.ttf differ diff --git a/asset/fonts/KaTeX_SansSerif-Bold.woff b/asset/fonts/KaTeX_SansSerif-Bold.woff new file mode 100644 index 00000000..f0d6ea73 Binary files /dev/null and b/asset/fonts/KaTeX_SansSerif-Bold.woff differ diff --git a/asset/fonts/KaTeX_SansSerif-Bold.woff2 b/asset/fonts/KaTeX_SansSerif-Bold.woff2 new file mode 100644 index 00000000..4cf8f146 Binary files /dev/null and b/asset/fonts/KaTeX_SansSerif-Bold.woff2 differ diff --git a/asset/fonts/KaTeX_SansSerif-Italic.ttf b/asset/fonts/KaTeX_SansSerif-Italic.ttf new file mode 100644 index 00000000..3dd76713 Binary files /dev/null and b/asset/fonts/KaTeX_SansSerif-Italic.ttf differ diff --git a/asset/fonts/KaTeX_SansSerif-Italic.woff b/asset/fonts/KaTeX_SansSerif-Italic.woff new file mode 100644 index 00000000..9da0dfe3 Binary files /dev/null and b/asset/fonts/KaTeX_SansSerif-Italic.woff differ diff --git a/asset/fonts/KaTeX_SansSerif-Italic.woff2 b/asset/fonts/KaTeX_SansSerif-Italic.woff2 new file mode 100644 index 00000000..ce19ae03 Binary files /dev/null and b/asset/fonts/KaTeX_SansSerif-Italic.woff2 differ diff --git a/asset/fonts/KaTeX_SansSerif-Regular.ttf b/asset/fonts/KaTeX_SansSerif-Regular.ttf new file mode 100644 index 00000000..f117cd61 Binary files /dev/null and b/asset/fonts/KaTeX_SansSerif-Regular.ttf differ diff --git a/asset/fonts/KaTeX_SansSerif-Regular.woff b/asset/fonts/KaTeX_SansSerif-Regular.woff new file mode 100644 index 00000000..6ed98780 Binary files /dev/null and b/asset/fonts/KaTeX_SansSerif-Regular.woff differ diff --git a/asset/fonts/KaTeX_SansSerif-Regular.woff2 b/asset/fonts/KaTeX_SansSerif-Regular.woff2 new file mode 100644 index 00000000..27611491 Binary files /dev/null and b/asset/fonts/KaTeX_SansSerif-Regular.woff2 differ diff --git a/asset/fonts/KaTeX_Script-Regular.ttf b/asset/fonts/KaTeX_Script-Regular.ttf new file mode 100644 index 00000000..e6f34542 Binary files /dev/null and b/asset/fonts/KaTeX_Script-Regular.ttf differ diff --git a/asset/fonts/KaTeX_Script-Regular.woff b/asset/fonts/KaTeX_Script-Regular.woff new file mode 100644 index 00000000..4a48e65f Binary files /dev/null and b/asset/fonts/KaTeX_Script-Regular.woff differ diff --git a/asset/fonts/KaTeX_Script-Regular.woff2 b/asset/fonts/KaTeX_Script-Regular.woff2 new file mode 100644 index 00000000..b0aed195 Binary files /dev/null and b/asset/fonts/KaTeX_Script-Regular.woff2 differ diff --git a/asset/fonts/KaTeX_Size1-Regular.ttf b/asset/fonts/KaTeX_Size1-Regular.ttf new file mode 100644 index 00000000..37faa0f9 Binary files /dev/null and b/asset/fonts/KaTeX_Size1-Regular.ttf differ diff --git a/asset/fonts/KaTeX_Size1-Regular.woff b/asset/fonts/KaTeX_Size1-Regular.woff new file mode 100644 index 00000000..0832f7a4 Binary files /dev/null and b/asset/fonts/KaTeX_Size1-Regular.woff differ diff --git a/asset/fonts/KaTeX_Size1-Regular.woff2 b/asset/fonts/KaTeX_Size1-Regular.woff2 new file mode 100644 index 00000000..483e7b66 Binary files /dev/null and b/asset/fonts/KaTeX_Size1-Regular.woff2 differ diff --git a/asset/fonts/KaTeX_Size2-Regular.ttf b/asset/fonts/KaTeX_Size2-Regular.ttf new file mode 100644 index 00000000..cf326236 Binary files /dev/null and b/asset/fonts/KaTeX_Size2-Regular.ttf differ diff --git a/asset/fonts/KaTeX_Size2-Regular.woff b/asset/fonts/KaTeX_Size2-Regular.woff new file mode 100644 index 00000000..14f6485a Binary files /dev/null and b/asset/fonts/KaTeX_Size2-Regular.woff differ diff --git a/asset/fonts/KaTeX_Size2-Regular.woff2 b/asset/fonts/KaTeX_Size2-Regular.woff2 new file mode 100644 index 00000000..5ff70606 Binary files /dev/null and b/asset/fonts/KaTeX_Size2-Regular.woff2 differ diff --git a/asset/fonts/KaTeX_Size3-Regular.ttf b/asset/fonts/KaTeX_Size3-Regular.ttf new file mode 100644 index 00000000..ff7e2b90 Binary files /dev/null and b/asset/fonts/KaTeX_Size3-Regular.ttf differ diff --git a/asset/fonts/KaTeX_Size3-Regular.woff b/asset/fonts/KaTeX_Size3-Regular.woff new file mode 100644 index 00000000..d3626cef Binary files /dev/null and b/asset/fonts/KaTeX_Size3-Regular.woff differ diff --git a/asset/fonts/KaTeX_Size3-Regular.woff2 b/asset/fonts/KaTeX_Size3-Regular.woff2 new file mode 100644 index 00000000..e45ca49d Binary files /dev/null and b/asset/fonts/KaTeX_Size3-Regular.woff2 differ diff --git a/asset/fonts/KaTeX_Size4-Regular.ttf b/asset/fonts/KaTeX_Size4-Regular.ttf new file mode 100644 index 00000000..3034091c Binary files /dev/null and b/asset/fonts/KaTeX_Size4-Regular.ttf differ diff --git a/asset/fonts/KaTeX_Size4-Regular.woff b/asset/fonts/KaTeX_Size4-Regular.woff new file mode 100644 index 00000000..93c57a6f Binary files /dev/null and b/asset/fonts/KaTeX_Size4-Regular.woff differ diff --git a/asset/fonts/KaTeX_Size4-Regular.woff2 b/asset/fonts/KaTeX_Size4-Regular.woff2 new file mode 100644 index 00000000..53b65afc Binary files /dev/null and b/asset/fonts/KaTeX_Size4-Regular.woff2 differ diff --git a/asset/fonts/KaTeX_Typewriter-Regular.ttf b/asset/fonts/KaTeX_Typewriter-Regular.ttf new file mode 100644 index 00000000..2fd85294 Binary files /dev/null and b/asset/fonts/KaTeX_Typewriter-Regular.ttf differ diff --git a/asset/fonts/KaTeX_Typewriter-Regular.woff b/asset/fonts/KaTeX_Typewriter-Regular.woff new file mode 100644 index 00000000..e90fa2bc Binary files /dev/null and b/asset/fonts/KaTeX_Typewriter-Regular.woff differ diff --git a/asset/fonts/KaTeX_Typewriter-Regular.woff2 b/asset/fonts/KaTeX_Typewriter-Regular.woff2 new file mode 100644 index 00000000..e40ab151 Binary files /dev/null and b/asset/fonts/KaTeX_Typewriter-Regular.woff2 differ diff --git a/asset/prism-c.min.js b/asset/prism-c.min.js new file mode 100644 index 00000000..6a4fff5e --- /dev/null +++ b/asset/prism-c.min.js @@ -0,0 +1 @@ +Prism.languages.c=Prism.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+/,lookbehind:!0},keyword:/\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,function:/[a-z_]\w*(?=\s*\()/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/,number:/(?:\b0x(?:[\da-f]+\.?[\da-f]*|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ful]*/i}),Prism.languages.insertBefore("c","string",{macro:{pattern:/(^\s*)#\s*[a-z]+(?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},Prism.languages.c.string],comment:Prism.languages.c.comment,directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/}),delete Prism.languages.c.boolean; \ No newline at end of file diff --git a/asset/prism-cpp.min.js b/asset/prism-cpp.min.js new file mode 100644 index 00000000..129cbbb8 --- /dev/null +++ b/asset/prism-cpp.min.js @@ -0,0 +1 @@ +!function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/;e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp("(\\b(?:class|concept|enum|struct|typename)\\s+)(?!)\\w+".replace(//g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+\.?[\da-f']*|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+\.?[\d']*|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]*/i,greedy:!0},operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:true|false)\b/}),e.languages.insertBefore("cpp","string",{"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)(?:[^;{}"'])+?(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","operator",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(Prism); \ No newline at end of file diff --git a/asset/prism-csharp.min.js b/asset/prism-csharp.min.js new file mode 100644 index 00000000..4b3dc42e --- /dev/null +++ b/asset/prism-csharp.min.js @@ -0,0 +1 @@ +!function(s){function a(e,s){return e.replace(/<<(\d+)>>/g,function(e,n){return"(?:"+s[+n]+")"})}function t(e,n,s){return RegExp(a(e,n),s||"")}function e(e,n){for(var s=0;s>/g,function(){return"(?:"+e+")"});return e.replace(/<>/g,"[^\\s\\S]")}var n="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",r="class enum interface struct",i="add alias and ascending async await by descending from get global group into join let nameof not notnull on or orderby partial remove select set unmanaged value when where where",o="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function l(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var d=l(r),p=RegExp(l(n+" "+r+" "+i+" "+o)),c=l(r+" "+i+" "+o),u=l(n+" "+r+" "+o),g=e("<(?:[^<>;=+\\-*/%&|^]|<>)*>",2),b=e("\\((?:[^()]|<>)*\\)",2),h="@?\\b[A-Za-z_]\\w*\\b",f=a("<<0>>(?:\\s*<<1>>)?",[h,g]),m=a("(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*",[c,f]),k="\\[\\s*(?:,\\s*)*\\]",y=a("<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?",[m,k]),w=a("(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?",[a("\\(<<0>>+(?:,<<0>>+)+\\)",[a("[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>",[g,b,k])]),m,k]),v={keyword:p,punctuation:/[<>()?,.:[\]]/},x="'(?:[^\r\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'",$='"(?:\\\\.|[^\\\\"\r\n])*"';s.languages.csharp=s.languages.extend("clike",{string:[{pattern:t("(^|[^$\\\\])<<0>>",['@"(?:""|\\\\[^]|[^\\\\"])*"(?!")']),lookbehind:!0,greedy:!0},{pattern:t("(^|[^@$\\\\])<<0>>",[$]),lookbehind:!0,greedy:!0},{pattern:RegExp(x),greedy:!0,alias:"character"}],"class-name":[{pattern:t("(\\busing\\s+static\\s+)<<0>>(?=\\s*;)",[m]),lookbehind:!0,inside:v},{pattern:t("(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)",[h,w]),lookbehind:!0,inside:v},{pattern:t("(\\busing\\s+)<<0>>(?=\\s*=)",[h]),lookbehind:!0},{pattern:t("(\\b<<0>>\\s+)<<1>>",[d,f]),lookbehind:!0,inside:v},{pattern:t("(\\bcatch\\s*\\(\\s*)<<0>>",[m]),lookbehind:!0,inside:v},{pattern:t("(\\bwhere\\s+)<<0>>",[h]),lookbehind:!0},{pattern:t("(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>",[y]),lookbehind:!0,inside:v},{pattern:t("\\b<<0>>(?=\\s+(?!<<1>>)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))",[w,u,h]),inside:v}],keyword:p,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:ul|lu|[dflmu])?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),s.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),s.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:t("([(,]\\s*)<<0>>(?=\\s*:)",[h]),lookbehind:!0,alias:"punctuation"}}),s.languages.insertBefore("csharp","class-name",{namespace:{pattern:t("(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])",[h]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:t("(\\b(?:default|typeof|sizeof)\\s*\\(\\s*)(?:[^()\\s]|\\s(?!\\s*\\))|<<0>>)*(?=\\s*\\))",[b]),lookbehind:!0,alias:"class-name",inside:v},"return-type":{pattern:t("<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))",[w,m]),inside:v,alias:"class-name"},"constructor-invocation":{pattern:t("(\\bnew\\s+)<<0>>(?=\\s*[[({])",[w]),lookbehind:!0,inside:v,alias:"class-name"},"generic-method":{pattern:t("<<0>>\\s*<<1>>(?=\\s*\\()",[h,g]),inside:{function:t("^<<0>>",[h]),generic:{pattern:RegExp(g),alias:"class-name",inside:v}}},"type-list":{pattern:t("\\b((?:<<0>>\\s+<<1>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>)(?:\\s*,\\s*(?:<<3>>|<<4>>))*(?=\\s*(?:where|[{;]|=>|$))",[d,f,h,w,p.source]),lookbehind:!0,inside:{keyword:p,"class-name":{pattern:RegExp(w),greedy:!0,inside:v},punctuation:/,/}},preprocessor:{pattern:/(^\s*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(\s*#)\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var _=$+"|"+x,B=a("/(?![*/])|//[^\r\n]*[\r\n]|/\\*(?:[^*]|\\*(?!/))*\\*/|<<0>>",[_]),E=e(a("[^\"'/()]|<<0>>|\\(<>*\\)",[B]),2),R="\\b(?:assembly|event|field|method|module|param|property|return|type)\\b",P=a("<<0>>(?:\\s*\\(<<1>>*\\))?",[m,E]);s.languages.insertBefore("csharp","class-name",{attribute:{pattern:t("((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])",[R,P]),lookbehind:!0,greedy:!0,inside:{target:{pattern:t("^<<0>>(?=\\s*:)",[R]),alias:"keyword"},"attribute-arguments":{pattern:t("\\(<<0>>*\\)",[E]),inside:s.languages.csharp},"class-name":{pattern:RegExp(m),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var z=":[^}\r\n]+",S=e(a("[^\"'/()]|<<0>>|\\(<>*\\)",[B]),2),j=a("\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}",[S,z]),A=e(a("[^\"'/()]|/(?!\\*)|/\\*(?:[^*]|\\*(?!/))*\\*/|<<0>>|\\(<>*\\)",[_]),2),F=a("\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}",[A,z]);function U(e,n){return{interpolation:{pattern:t("((?:^|[^{])(?:\\{\\{)*)<<0>>",[e]),lookbehind:!0,inside:{"format-string":{pattern:t("(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)",[n,z]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:s.languages.csharp}}},string:/[\s\S]+/}}s.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:t('(^|[^\\\\])(?:\\$@|@\\$)"(?:""|\\\\[^]|\\{\\{|<<0>>|[^\\\\{"])*"',[j]),lookbehind:!0,greedy:!0,inside:U(j,S)},{pattern:t('(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"',[F]),lookbehind:!0,greedy:!0,inside:U(F,A)}]})}(Prism),Prism.languages.dotnet=Prism.languages.cs=Prism.languages.csharp; \ No newline at end of file diff --git a/asset/prism-java.min.js b/asset/prism-java.min.js new file mode 100644 index 00000000..818fd8ec --- /dev/null +++ b/asset/prism-java.min.js @@ -0,0 +1 @@ +!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,a=/\b[A-Z](?:\w*[a-z]\w*)?\b/;e.languages.java=e.languages.extend("clike",{"class-name":[a,/\b[A-Z]\w*(?=\s+\w+\s*[;,=())])/],keyword:t,function:[e.languages.clike.function,{pattern:/(\:\:)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x[\da-f_]*\.?[\da-f_p+-]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"}}),e.languages.insertBefore("java","class-name",{annotation:{alias:"punctuation",pattern:/(^|[^.])@\w+/,lookbehind:!0},namespace:{pattern:RegExp("(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?".replace(//g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}},generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":a,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})}(Prism); \ No newline at end of file diff --git a/asset/prism-javascript.min.js b/asset/prism-javascript.min.js new file mode 100644 index 00000000..0faf69af --- /dev/null +++ b/asset/prism-javascript.min.js @@ -0,0 +1 @@ +Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[\[$\w\xA0-\uFFFF])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.js=Prism.languages.javascript; \ No newline at end of file diff --git a/asset/prism-php.min.js b/asset/prism-php.min.js new file mode 100644 index 00000000..1c4ef765 --- /dev/null +++ b/asset/prism-php.min.js @@ -0,0 +1 @@ +!function(n){n.languages.php=n.languages.extend("clike",{keyword:/\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|new|or|parent|print|private|protected|public|require|require_once|return|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i,boolean:{pattern:/\b(?:false|true)\b/i,alias:"constant"},constant:[/\b[A-Z_][A-Z0-9_]*\b/,/\b(?:null)\b/i],comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0}}),n.languages.insertBefore("php","string",{"shell-comment":{pattern:/(^|[^\\])#.*/,lookbehind:!0,alias:"comment"}}),n.languages.insertBefore("php","comment",{delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"}}),n.languages.insertBefore("php","keyword",{variable:/\$+(?:\w+\b|(?={))/i,package:{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/,lookbehind:!0,inside:{punctuation:/\\/}}}),n.languages.insertBefore("php","operator",{property:{pattern:/(->)[\w]+/,lookbehind:!0}});var e={pattern:/{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)*)/,lookbehind:!0,inside:n.languages.php};n.languages.insertBefore("php","string",{"nowdoc-string":{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,greedy:!0,alias:"string",inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},"heredoc-string":{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,greedy:!0,alias:"string",inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:e}},"single-quoted-string":{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0,alias:"string"},"double-quoted-string":{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,alias:"string",inside:{interpolation:e}}}),delete n.languages.php.string,n.hooks.add("before-tokenize",function(e){if(/<\?/.test(e.code)){n.languages["markup-templating"].buildPlaceholders(e,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#)(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|\/\*[\s\S]*?(?:\*\/|$))*?(?:\?>|$)/gi)}}),n.hooks.add("after-tokenize",function(e){n.languages["markup-templating"].tokenizePlaceholders(e,"php")})}(Prism); \ No newline at end of file