2024-04-12 19:44:59

This commit is contained in:
Kai Kimera 2024-04-12 22:44:59 +03:00
parent 186e1a9488
commit 7791b559b2
Signed by untrusted user: KaiKimera
GPG key ID: 2C3384BCFF16E5D4
32 changed files with 867 additions and 2117 deletions

View file

@ -23,10 +23,8 @@ lang=(
'vbscript'
)
${curl} -o 'highlight.min.js' 'https://cdn.jsdelivr.net/gh/highlightjs/cdn-release/build/highlight.min.js'
for i in "${lang[@]}"; do
${curl} -O "https://cdn.jsdelivr.net/gh/highlightjs/cdn-release/build/languages/${i}.min.js"
${curl} -O "https://cdn.jsdelivr.net/gh/highlightjs/cdn-release/build/es/languages/${i}.min.js"
done
exit 0

View file

@ -1,14 +1,14 @@
/*! `apache` grammar compiled for Highlight.js 11.9.0 */
(()=>{var e=(()=>{"use strict";return e=>{const n={className:"number",
var hljsGrammar=(()=>{"use strict";return e=>{const a={className:"number",
begin:/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?/};return{
name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,
contains:[e.HASH_COMMENT_MODE,{className:"section",begin:/<\/?/,end:/>/,
contains:[n,{className:"number",begin:/:\d{1,5}/
contains:[a,{className:"number",begin:/:\d{1,5}/
},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",
begin:/\w+/,relevance:0,keywords:{
_:["order","deny","allow","setenv","rewriterule","rewriteengine","rewritecond","documentroot","sethandler","errordocument","loadmodule","options","header","listen","serverroot","servername"]
},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},
contains:[{className:"meta",begin:/\s\[/,end:/\]$/},{className:"variable",
begin:/[\$%]\{/,end:/\}/,contains:["self",{className:"number",begin:/[$%]\d+/}]
},n,{className:"number",begin:/\b\d+/},e.QUOTE_STRING_MODE]}}],illegal:/\S/}}
})();hljs.registerLanguage("apache",e)})();
},a,{className:"number",begin:/\b\d+/},e.QUOTE_STRING_MODE]}}],illegal:/\S/}}
})();export default hljsGrammar;

View file

@ -1,6 +1,6 @@
/*! `autohotkey` grammar compiled for Highlight.js 11.9.0 */
(()=>{var e=(()=>{"use strict";return e=>{const a={begin:"`[\\s\\S]"};return{
name:"AutoHotkey",case_insensitive:!0,aliases:["ahk"],keywords:{
var hljsGrammar=(()=>{"use strict";return e=>{const a={begin:"`[\\s\\S]"}
;return{name:"AutoHotkey",case_insensitive:!0,aliases:["ahk"],keywords:{
keyword:"Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group",
literal:"true false NOT AND OR",
built_in:"ComSpec Clipboard ClipboardAll ErrorLevel"},
@ -10,5 +10,4 @@ relevance:0},{className:"variable",begin:"%[a-zA-Z0-9#_$@]+%"},{
className:"built_in",begin:"^\\s*\\w+\\s*(,|%)"},{className:"title",variants:[{
begin:'^[^\\n";]+::(?!=)'},{begin:'^[^\\n";]+:(?!=)',relevance:0}]},{
className:"meta",begin:"^\\s*#\\w+",end:"$",relevance:0},{className:"built_in",
begin:"A_[a-zA-Z0-9]+"},{begin:",\\s*,"}]}}})()
;hljs.registerLanguage("autohotkey",e)})();
begin:"A_[a-zA-Z0-9]+"},{begin:",\\s*,"}]}}})();export default hljsGrammar;

View file

@ -1,6 +1,6 @@
/*! `autoit` grammar compiled for Highlight.js 11.9.0 */
(()=>{var e=(()=>{"use strict";return e=>{const t={variants:[e.COMMENT(";","$",{
relevance:0
var hljsGrammar=(()=>{"use strict";return e=>{const t={
variants:[e.COMMENT(";","$",{relevance:0
}),e.COMMENT("#cs","#ce"),e.COMMENT("#comments-start","#comments-end")]},r={
begin:"\\$[A-z0-9_]+"},i={className:"string",variants:[{begin:/"/,end:/"/,
contains:[{begin:/""/,relevance:0}]},{begin:/'/,end:/'/,contains:[{begin:/''/,
@ -18,4 +18,4 @@ end:/'/,contains:[{begin:/''/,relevance:0}]}]}]},i,t]},{className:"symbol",
begin:"@[A-z0-9_]+"},{beginKeywords:"Func",end:"$",illegal:"\\$|\\[|%",
contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{className:"title.function"}),{
className:"params",begin:"\\(",end:"\\)",contains:[r,i,n]}]}]}}})()
;hljs.registerLanguage("autoit",e)})();
;export default hljsGrammar;

View file

@ -1,5 +1,5 @@
/*! `awk` grammar compiled for Highlight.js 11.9.0 */
(()=>{var e=(()=>{"use strict";return e=>({name:"Awk",keywords:{
var hljsGrammar=(()=>{"use strict";return e=>({name:"Awk",keywords:{
keyword:"BEGIN END if else while do for in break continue delete next nextfile function func exit|10"
},contains:[{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{
begin:/\$\{(.*?)\}/}]},{className:"string",contains:[e.BACKSLASH_ESCAPE],
@ -8,4 +8,4 @@ end:/"""/,relevance:10},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{
begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{
begin:/(b|br)"/,end:/"/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]
},e.REGEXP_MODE,e.HASH_COMMENT_MODE,e.NUMBER_MODE]})})()
;hljs.registerLanguage("awk",e)})();
;export default hljsGrammar;

View file

@ -1,7 +1,7 @@
/*! `cmake` grammar compiled for Highlight.js 11.9.0 */
(()=>{var e=(()=>{"use strict";return e=>({name:"CMake",aliases:["cmake.in"],
case_insensitive:!0,keywords:{
var hljsGrammar=(()=>{"use strict";return e=>({name:"CMake",
aliases:["cmake.in"],case_insensitive:!0,keywords:{
keyword:"break cmake_host_system_information cmake_minimum_required cmake_parse_arguments cmake_policy configure_file continue elseif else endforeach endfunction endif endmacro endwhile execute_process file find_file find_library find_package find_path find_program foreach function get_cmake_property get_directory_property get_filename_component get_property if include include_guard list macro mark_as_advanced math message option return separate_arguments set_directory_properties set_property set site_name string unset variable_watch while add_compile_definitions add_compile_options add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_link_options add_subdirectory add_test aux_source_directory build_command create_test_sourcelist define_property enable_language enable_testing export fltk_wrap_ui get_source_file_property get_target_property get_test_property include_directories include_external_msproject include_regular_expression install link_directories link_libraries load_cache project qt_wrap_cpp qt_wrap_ui remove_definitions set_source_files_properties set_target_properties set_tests_properties source_group target_compile_definitions target_compile_features target_compile_options target_include_directories target_link_directories target_link_libraries target_link_options target_sources try_compile try_run ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit ctest_test ctest_update ctest_upload build_name exec_program export_library_dependencies install_files install_programs install_targets load_command make_directory output_required_files remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or not command policy target test exists is_newer_than is_directory is_symlink is_absolute matches less greater equal less_equal greater_equal strless strgreater strequal strless_equal strgreater_equal version_less version_greater version_equal version_less_equal version_greater_equal in_list defined"
},contains:[{className:"variable",begin:/\$\{/,end:/\}/
},e.COMMENT(/#\[\[/,/]]/),e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE]
})})();hljs.registerLanguage("cmake",e)})();
})})();export default hljsGrammar;

View file

@ -0,0 +1,712 @@
const hljsGrammar = (() => {
'use strict';
return () => {
const $command = /(?=^\s*[a-z0-9A-Z_]+(?:\(([a-zA-Z\-]*)\)#|#)|[a-zA-Z]+[0-9]\/[0-9]\z)/;
/* regex for IPv4 address */
const $ip4 = /(?:(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|9[0-9]|[1-8][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|9[0-9]|[1-8][0-9]|[0-9])(?:\/\d{1,2})?/;
/* regex for IPv6 address, from: https://www.regextester.com/104187*/
const $ip6 = /(?![^\w:])(([0-9a-f]{1,4}:){1,7}:|:(:[0-9a-f]{1,4}){1,7}|([0-9a-f]{1,4}:){1,7}[0-9a-f]{0,4}(:[0-9a-f]{1,4}){1,7})(?![\w:])/;
/* regex for MAC address in Cicso IOS notation */
const $mac = /(?:[aA0-fF9]{4}\.){2}(?:[aA0-fF9]{4})/;
return {
name: 'cisco-cli',
aliases: ['cisco-cli'],
case_insensitive: true,
contains: [
{
className: '',
variants: [
{
begin: /^VLAN\s*Name/,
end: $command,
returnBegin: true,
contains: [{className: 'string', begin: /(?:Fa|Gig)\d\/\d+/}, {
className: 'number',
begin: /\b\d+\b/
}, {className: 'keyword', begin: /(?<=^[0-9][0-9]?[0-9]?[0-9]?).+(?=\sactive|\d{6})/}] //este STATUS
},
{
begin: /Cisco\sInternetwork/,
end: /is\s[a-fA-F0-9]x[a-fA-F0-9]+/,
contains: [{
className: 'string',
variants: [{begin: /"/, end: /"/}, {begin: /http/, end: /$/}]
}, {
className: 'string',
begin: /Processor\sboard/,
end: /\(Read\/Write\)/,
contains: [{className: 'number', begin: /^\d/, end: /(\s|K)/}]
}]
},
{
begin: /Interface\s+IP\-Address/,
end: $command,
contains: [{
className: 'keyword',
variants: [{begin: /^\w+((\d\/)+\d?|\d+)/}, {begin: /(manual|DHCP|up)/}]
}, {className: 'number', begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}/}, {
className: 'number',
begin: /(?![^\w:])(([0-9a-f]{1,4}:){1,7}:|:(:[0-9a-f]{1,4}){1,7}|([0-9a-f]{1,4}:){1,7}[0-9a-f]{0,4}(:[0-9a-f]{1,4}){1,7})(?![\w:])/
}, {className: 'string', begin: /(unset|unassigned|administratively\sdown|down)/},]
},
{
begin: /Capability\sCodes/,
end: $command,
contains: [{className: 'keyword', begin: /\s(\w|\*)(\d|\w?)\s(?=\-)/}, {
className: 'comment',
begin: /Port\sID/,
end: /(?=^[a-zA-Z]+(\(([a-zA-Z\-]*)\)#|#)|[a-zA-Z]+[0-9]\/[0-9]\z)/,
contains: [{
className: 'keyword',
variants: [{begin: /^[\w\.]+(?=\s)/}, {begin: /\b\w\b/}]
}, {className: 'string', begin: /\s\w{1,3}\s[\d\/]+\d?/}, {className: 'number', begin: /\b\d+\b/}]
}]
},
{
begin: /(?<=show\sip\snat\stranslations)/,
end: $command,
contains: [{className: 'number', begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}/}, {
className: 'keyword',
begin: /(?<=\:)\d+(?=\s)/
}, {className: 'string', begin: /(?<=^)\w+(?=\s)/}]
},
{
begin: /(?<=show\sip\snat\sstatistics)/,
end: $command,
contains: [{
className: 'string',
variants: [{begin: /(?<=pool\s)\w+(?=\srefCount)/}, {begin: /(?<=Interfaces:\s).+(?=$)/}]
}, {className: 'number', variants: [{begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}/}, {begin: /\b\d+\b/}]}]
},
{
begin: /(?<=show\sinterface\s[aA-zZ]+\s*\d+(\/\d+(\/\d+)?)?)/,
end: $command,
contains: [{
className: 'string',
variants: [{begin: /\bup\b/}, {begin: /Full\-duplex|Half\-duplex/i}, {begin: /(?<=type\sis).+(?=$)/}]
}, {
className: 'number',
variants: [{begin: /\d+.b\/s/}, {begin: /(?:.{4}\.){2}(?:.{4})/}, {begin: /\b\d+\b/}]
}]
},
{
begin: /(?<=show\s(?:ip\s)?ssh)/,
end: $command,
contains: [{className: 'string', begin: /(?<=Session\sStarted).+(?=$)/}, {
className: 'number',
variants: [{begin: /\b\d+\.\d+\b/}, {begin: /\b\d+\b/}]
}]
},
{
begin: /(?<=show\sip\sdhcp\sbinding)/,
end: $command,
contains: [{className: 'number', begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}/}, {
className: 'string',
begin: /(?:.{4}\.){2}(?:.{4})/
}]
},
{
begin: /(?<=show\sip\sdhcp\spool)/,
end: $command,
contains: [{className: 'number', begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}/}, {
className: 'string',
variants: [{begin: /\b\d+\b/}, {begin: /(?<=Pool).+(?=\:)/}]
}]
},
{
begin: /(?<=show\smac\saddress\-table)/,
end: $command,
contains: [{className: 'string', begin: /(?<=\s)[\w\/]+\d(?=\s*$)/}, {
className: 'number',
variants: [{begin: /(?:.{4}\.){2}(?:.{4})/}, {begin: /\b\d+\b/}]
}]
},
{
begin: /(?<=show\sinterfaces\strunk)/,
end: $command,
contains: [{className: 'string', begin: /(?<=\s*)[aA-zZ]+\d+(\/\d+(?:\/\d+)?)?/}, {
className: 'keyword',
begin: /802\.1q/
}, {className: 'number', begin: /\b\d+\b/}]
},
{
begin: /(?<=show\sinterfaces\s[aA-zZ]+\s*\d+(\/\d+(\/\d+)?)?\sswitchport)/, //--------------------------------------------------------------------------------------------TREBA PREROBIT NEJAK DYNAMICKY NA ROZNE INT
end: $command,
contains: [{
className: 'string',
begin: /(?<=(?:Name|Administrative\sMode|Operational\sMode|Access\sMode\sVLAN|Trunking\sNative\sMode\sVLAN)\:).+(?=$)/
}, {className: 'number', begin: /\b\d+\b/}]
},
{
begin: /(?<=show\sport\-security)/,
end: $command,
contains: [{
className: 'string',
variants: [{begin: /(?<=^)\s+[\w\/]+(?=\s)/}, {begin: /(?<=\d)\s+\w+(?=$)/}]
}, {className: 'number', begin: /\b\d+\b/}]
},
{
begin: /(?<=show\sport\-security\sinterface\s[aA-zZ]+\s*\d+(\/\d+(\/\d+)?)?)/,
end: $command,
contains: [{
className: 'string',
begin: /(?<=(?:Port\s(?:Security|Status)|Violation\sMode)\s+\:).+(?=$)/
}, {className: 'number', variants: [{begin: /(?:.{4}\.){2}(?:.{4})/}, {begin: /\b\d+\b/}]}] // WARNING NON FIXED REGEX
},
{
begin: /(?<=show\sport\-security\saddress)/,
end: $command,
contains: [{className: 'string', begin: /\b[aA-zZ]+\d\/\d(\/\d)?\b/}, {
className: 'number',
variants: [{begin: /(?:.{4}\.){2}(?:.{4})/}, {begin: /\b\d+\b/}]
}]
},
{
begin: /(?<=show\sipv6\sinterface\sbrief)/,
end: $command,
contains: [{
className: 'keyword',
variants: [{begin: /(?<=).+(?=\[)/}, {begin: /up/}]
}, {className: 'string', begin: /unassigned|administratively\sdown|down/}, {
className: 'number',
begin: /(?![^\w:])(([0-9a-fA-F]{1,4}:){1,7}:|:(:[0-9a-fA-F]{1,4}){1,7}|([0-9a-fA-F]{1,4}:){1,7}[0-9a-fA-F]{0,4}(:[0-9a-fA-F]{1,4}){1,7})(?![\w:])/
}]
},
{
begin: /(?<=show\sip(v6)?\sroute(\s\w+)?)/,
end: $command,
contains: [{
className: 'keyword',
variants: [{begin: /^[aA-zZ]\s(?:[aA-zZ]+)?/}, {begin: /\s(\w|\*)(\d|(\w\w?|\w?))\s(?=\-)/}]
}, {
className: 'number',
variants: [{begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/}, {begin: /(?![^\w:])(([0-9a-fA-F]{1,4}:){1,7}:|:(:[0-9a-fA-F]{1,4}){1,7}|([0-9a-fA-F]{1,4}:){1,7}[0-9a-fA-F]{0,4}(:[0-9a-fA-F]{1,4}){1,7})(?![\w:])(\/\d+)?/}]
}, {
className: 'string',
variants: [{begin: /\b([aA-zZ]+\d\/\d(\/\d)?)|(Null|\w{5,})\d+\b/}, {begin: /(?<=\[).+(?=\])/}]
}]
},
{
begin: /(?<=show\sipv6\sprotocols)/,
end: $command,
contains: [{
className: 'string',
variants: [{begin: '"', end: '"'}, {begin: /\b(\w+\d\/\d(\/\d)?)|\w{4,}\d+\b/}]
}]
},
{
begin: /(?<=show\svtp\sstatus)/,
end: $command,
contains: [{className: 'keyword', begin: /Server|Client|Transparent/}, {
className: 'number',
variants: [{begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/}, {begin: /(?:[\daA-fF]{4}\.){2}(?:[\daA-fF]{4})/}, {begin: /\s\d+\s/}]
}, {className: 'string', begin: /(?<=VTP\sDomain\sName\s+:).+(?=$)/}]
},
{
begin: /(?<=show\svtp\scounter)/,
end: $command,
contains: [{className: 'number', begin: /\s\d+\s/}]
},
{
begin: /(?<=show\svtp\spassword)/,
end: $command,
contains: [{className: 'string', begin: /(?<=Password:\s)\w+(?=\s)/}]
},
{
begin: /(?<=show\ssdm\sprefer)/,
end: $command,
contains: [{className: 'string', begin: /(?<=")\w+(?=")/}, {
className: 'number',
variants: [{begin: /\b[\d\.]+K/}, {begin: /\b\d+\b/}]
}]
},
{
begin: /(?<=show\setherchannel\ssummary)/,
end: $command,
contains: [{className: 'comment', begin: /\(LACP\sonly\)/}, {
className: 'keyword',
variants: [{begin: /PAgP|LACP/}, {begin: /(?<=\s).\s(?=-)/}, {begin: /(?<=\().*?(?=\))/}]
}, {className: 'string', begin: /(?<=\s)[\w\d\/]*?(?=\()/}, {className: 'number', begin: /\s\d+\s/}]
},
{
begin: /(?<=show\sstandby)/,
end: $command,
contains: [{
className: 'number',
variants: [{begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/}, {begin: /(?:[\daA-fF]{4}\.){2}(?:[\daA-fF]{4})/}]
}, {
className: 'string',
variants: [{begin: /(?<=State\sis\s).+(?=$)/}, {begin: /(?<=Group\sname\sis\s).+(?=\()/}]
}]
},
{
begin: /(?<=show\sstandby\sbrief)/,
end: $command,
contains: [{
className: 'number',
variants: [{begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/}, {begin: /\s\d+\s/}]
}, {className: 'string', begin: /[aA-zZ]{1,3}[\d\/]+/}]
},
{
begin: /(?<=show\sspanning-tree\svlan\s\d+)/,
end: $command,
contains: [{
className: 'keyword',
variants: [{begin: /^\s*[aA-zZ]{1,4}[\d\/]+\s/}]
}, {className: 'keyword', begin: /(?<=\.)\d+(?=\s)/}, {
className: 'number',
variants: [{begin: /(?:[\daA-fF]{4}\.){2}(?:[\daA-fF]{4})/}, {begin: /(?<=\s)\d+(?=\.)/}, {begin: /\s\d+\s/}]
}]
},
{
begin: /(?<=show\sspanning-tree\sinterface\s.+\n)/,
end: $command,
contains: [{className: 'string', begin: /VLAN\d{4}/}, {
className: 'number',
variants: [{begin: /(?<=\s)\d+(?=\.)/}, {begin: /\s\d+\s/}]
}, {className: 'keyword', begin: /(?<=\.)\d+(?=\s)/}]
},
{
begin: /(?<=show\sip\sprotocols)/,
end: $command,
contains: [{
className: "string",
variants: [{begin: '"', end: '"'}, {begin: /K\d=1/}, {begin: /(?<=Redistributing\:).+(?=,)/}]
}, {
className: 'number',
variants: [{begin: /\s\d+\s/}, {begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/}]
}]
},
{
begin: /(?<=show\sip\seigrp\stopology)/,
end: $command,
contains: [{className: 'string', begin: /(?<=via).+?(?=\(|,)/}, {
className: 'keyword',
variants: [{begin: /(?<=\s).\s(?=-)/}, {begin: /^\w\s/}, {begin: /FD is \d+\s/}]
}, {className: 'number', variants: [{begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/}]}]
},
{
begin: /(?<=show\sip\sospf\sneighbors)/,
end: $command,
contains: [{className: 'string', begin: /\s[aA-zZ]+[\d\/]+\s/}, {
className: 'number',
begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/
}, {className: 'keyword', begin: /\s\w+\/\w+\s/}]
},
{
begin: /(?<=show\sip\sospf\sinterface)/,
end: $command,
contains: [{className: 'string', begin: /\s[aA-zZ]+[\d\/]+\s/}, {
className: 'keyword',
variants: [{begin: /\bup\b/}, {begin: /(?<=Network\sType|State).+(?<=,)/}]
}, {className: 'number', variants: [{begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/}]}] //{begin:/\s\d+\s/}
},
{
begin: /(?<=show\sip\sospf\sborder\-routers)/,
end: $command,
contains: [{
className: 'keyword',
variants: [{begin: /(?<=\s).\s(?=-)/}, {begin: /^\w\s/}, {begin: /Area\s\d+/}]
}, {className: 'number', begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/}, {
className: 'string',
begin: /\b[aA-zZ]+[\d\/]+\b/
}]
},
{
begin: /(?<=show\sip\sospf\sdatabase)/,
end: $command,
contains: [{
className: 'keyword',
variants: [{begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/}, {begin: /Area\s\d+/}]
}, {className: 'string', begin: /0[xX][\daA-fF]+/}, {className: 'number', begin: /\s\d+\s/}]
},
{
begin: /(?<=show\sip\scache\sflow)/,
end: $command,
contains: [{
className: 'number',
variants: [{begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/}, {begin: /\b\d+(\.\d+)?\b/}]
}, {
className: 'keyword',
variants: [{begin: /\b[aA-zZ]+\d\/\d(\/\d)?(\.\d+)?\b/}, {begin: /NULL|Local/}]
}]
},
{
begin: /(?<=show\sip\sflow\sexport)/,
end: $command,
contains: [{className: 'number', begin: /\b\d+\b/}]
},
{
begin: /(?<=show\sip\sinterface\s[aA-zZ]+\s*[\d\/]+)/,
end: $command,
contains: [{
className: 'number',
variants: [{begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/}, {begin: /\s\d+\s/}]
}, {
className: 'string',
variants: [{begin: /(?<=is\s)(?:up|down)/}, {begin: '"', end: '"'}]
}, {className: 'keyword', begin: /MTU/}]
},
{
begin: /(?<=show\ssnmp\scommunity)/,
end: $command,
contains: [{className: 'string', begin: /(?<=:).+?(?=\s)/}]
},
{
begin: /(?<=show\ssnmp)/,
end: $command,
contains: [{className: 'number', begin: /\s\d+\s/}]
},
{
begin: /(?<=show\sip\sbgp\ssummary)/,
end: $command,
contains: [{className: 'keyword', begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/}, {
className: 'number',
begin: /\b\d+\b/
}]
},
{
begin: /(?<=show\saccess\-lists)/,
end: $command,
contains: [{
className: 'string',
variants: [{begin: /any/}, {begin: /(?<=access\slist|eq).+(?=$)/}]
}, {className: 'number', variants: [{begin: $ip4}, {begin: /\b\d+\b/}]}, {
className: 'keyword',
begin: /(?<=(permit|deny)\s).+?(?=\s)/
}]
},
{
begin: /(Current configuration|Building configuration)/,
end: /^end\s/,
contains: [
{className: 'string', begin: /^ntp/, end: /$/, contains: [{className: 'number', begin: $ip4}]},
{
className: 'string',
begin: /^ip\sflow/,
end: /$/,
contains: [{className: 'number', variants: [{begin: $ip4}, {begin: /\b\d+\b/}]}]
},
{
className: 'string',
begin: /^logging/,
end: /$/,
contains: [{className: 'keyword', begin: /(?<=trap).+(?=$)/}, {className: 'number', begin: $ip4}]
},
{
className: 'string',
begin: /^spanning\-tree/,
end: /$/,
contains: [{
className: 'keyword',
variants: [{begin: /(?<=mode|priority).+(?=$)/}, {begin: /(?<=vlan).+(?=priority)/}]
}]
},
{
className: 'string',
begin: /^ip\sdhcp\spool/,
end: /!/,
excludeEnd: true,
contains: [{className: 'keyword', begin: /(?<=pool).+(?=$)/}, {className: 'number', begin: $ip4}]
},
{
className: 'string',
begin: /^ip\sdhcp\sex/,
end: /$/,
contains: [{className: 'number', begin: $ip4}]
},
{
className: 'string',
begin: /^ip\snat/,
end: /$/,
contains: [{
className: 'keyword',
variants: [{begin: /(?<=list).+(?=pool|interface)/}, {begin: /(?<=interface).+(?=overload)/}, {begin: /(?<=pool\s).+?(?=\s)/}]
}, {className: 'number', begin: $ip4}]
},
{
className: 'string',
begin: /^access-list/,
end: /$/,
contains: [{className: 'number', variants: [{begin: $ip4}, {begin: /\b\d+\b/}]}]
},
{
className: 'string',
begin: /^enable/,
end: /$/,
contains: [{className: 'keyword', begin: /(?<=secret|password).+(?=$)/}]
},
{
className: 'string',
begin: /^banner\smotd/,
end: /$/,
contains: [{className: 'keyword', begin: /(?<=motd).+(?=$)/}]
},
{className: 'string', begin: /^ip\sroute/, end: /$/, contains: [{className: 'number', begin: $ip4}]},
{
className: 'string',
begin: /^ip\slocal\spool/,
end: /$/,
contains: [{className: 'number', begin: $ip4}, {
className: 'keyword',
begin: /(?<=pool\s).+?(?=\s)/
}]
},
{
className: 'string',
begin: /^line/,
end: /!/,
excludeEnd: true,
contains: [{
className: 'keyword',
variants: [{begin: /(?<=line|input|password).+(?<=$)/}]
}, {className: 'number', begin: /\b\d+\b/}]
},
{
className: 'string',
begin: /^ipv6\srouter/,
end: /$/,
contains: [{className: 'keyword', begin: /(?<=router).+(?<=$)/}]
},
{
className: 'string',
begin: /^ipv6\sdhcp/,
end: /!/,
excludeEnd: true,
contains: [{
className: 'number',
variants: [{begin: $ip6}, {begin: /\b\d+\b/}]
}, {className: 'keyword', begin: /(?<=(name|pool)).+(?<=$)/}]
},
{
className: 'string',
begin: /^ip\sdomain\sname/,
end: /$/,
contains: [{className: 'keyword', begin: /(?<=name).+(?=$)/}]
},
{
className: 'string',
begin: /^hostname/,
end: /$/,
contains: [{className: 'keyword', begin: /(?<=hostname).+(?=$)/}]
},
{
className: 'string',
begin: /^username/,
end: /$/,
contains: [{
className: 'keyword',
variants: [{begin: /(?<=username).+?(?=\s)/}, {begin: /(?<=secret|password).+(?=$)/}]
}, {className: 'number', begin: /\b\d+\b/}]
},
{
className: 'string',
begin: /^(?:interface|bba\-group)/,
end: /!/,
excludeEnd: true,
contains: [{
className: 'keyword',
variants: [{begin: /(?<=interface|server|duplex|speed|group|pool|chap\s(?:hostname|password)|encapsulation|description|ip\snat|switchport\smode).+(?<=$)/}, {begin: /(?<=ipv6).+(?=enable)/}]
}, {
className: 'number',
variants: [{begin: /dhcp|negotiated/}, {begin: $mac}, {begin: $ip4}, {begin: $ip6}, {begin: /\b\d+\b/}]
}]
},
{
className: 'string',
begin: /^router/,
end: /!/,
excludeEnd: true,
contains: [{
className: 'keyword',
begin: /(?<=router|passive\-interface|default\-information).+(?=$)/
}, {className: 'number', variants: [{begin: $ip4}, {begin: $ip6}, {begin: /\b\d+\b/}]}]
}
]
},
{
begin: /(?<=show\sppp\smultilink)/,
end: $command,
contains: [{className: 'keyword', begin: /^\s*\w+(?=,)/}, {
className: 'string',
variants: [{begin: /(?<=(?:name|discriminator)\sis).+(?=$)/}, {begin: /\b[aA-zZ]+\d+(\/\d+(\/\d+)?)?\b/}]
}, {className: 'number', variants: [{begin: /\b\d+x[\daA-fF]+/}, {begin: /\b\d+/}]}]
},
{
begin: /(?<=show\sip\slocal\spool)/,
end: $command,
contains: [{className: 'keyword', begin: /(?<=^)\s*(?!Pool)\w+?(?=\s)/}, {
className: 'number',
variants: [{begin: $ip4}, {begin: /\b\d+/}]
}]
},
{
begin: /(?<=show\spppoe\ssession)/,
end: $command,
contains: [{className: 'number', variants: [{begin: $mac}, {begin: /\b\d+/}]}, {
className: 'string',
begin: /\b[aA-zZ\-]+\d+(\/\d+(\/\d+)?)?\b/
}]
},
{
begin: /(?<=show\sntp\sstatus)/,
end: $command,
contains: [{className: 'keyword', begin: $ip4}, {
className: 'number',
variants: [{begin: /\b\d+(\.\d+)?/}]
}]
},
{
begin: /(?<=show\sclock)/,
end: $command,
contains: [{className: 'string', begin: /\b[aA-zZ]+\b/}, {className: 'number', begin: /\b\d+/}]
},
{
begin: /(?<=show\sntp\sassociations)/,
end: $command,
contains: [{className: 'keyword', begin: $ip4}, {className: 'number', begin: /\b\d+(\.\d+)?/}]
},
{
begin: /(?<=show\scontrollers(?:\s*[aA-zZ\-]+\d+(?:\/\d+(?:\/\d+)?)?)?)/,
end: $command,
contains: [{
className: 'number',
variants: [{begin: /0(x|X)[0-9a-fA-F]+/}, {begin: /\b[\da-fA-F]{4}\b/}, {begin: /\b\d+(\.\d+)?/}]
}]
},
{
begin: /(?<=show\sip\sdhcp\sserver\sstatistics)/,
end: $command,
contains: [{className: 'keyword', begin: /(?<=^\s*)(?!Message).+?(?=\d)/}, {
className: 'number',
begin: /\b\d+/
}]
},
{
begin: /(?<=show\slogging)/,
end: $command,
contains: [{className: 'number', begin: /\b\d+/}, {className: 'keyword', begin: /\b[aA-zZ]+\slogging:/}]
},
{
begin: /(?<=show\smonitor)/,
end: $command,
contains: [{className: 'keyword', begin: /session\s+\d+/}, {
className: 'string',
variants: [{begin: /\b[aA-zZ\-]+\d+(\/\d+(\/\d+)?)?\b/}, {begin: /(?<=Type\s+:).+(?=$)/}]
}]
},
/* Section of cisco command keywords, argument, etc. */
{
begin: /^\s*[a-zA-Z0-9_\-]+(?:\(([a-zA-Z0-9\-]*)\)#|(?:>|#))/,
returnBegin: true,
end: /$/,
contains:
[
{
className: 'keyword',
begin: /#/,
end: /$/,
excludeBegin: true,
contains:
[
{
className: 'number',
variants:
[
{
begin: $ip4
},
{
begin: $ip6
},
{
begin: $mac
},
{
className: 'string',
begin: /\b[aA-zZ\-]+\s*\d\/\d(\/\d)?\b/,
},
{
begin: /\b\d+/
},
{
className: 'string',
begin: /(?<=ipv6\srip).+?(?=\s)/
},
{
begin: /(?<=version\s)\d+(?=$)/
},
{
className: 'string',
begin: /(?<=username\s+).+?(?=privilege|secret|password)/
},
{
className: 'string',
begin: /(?<=(access\-group|traffic\-filter)).+(?=in|out)/
},
{
className: 'string',
begin: /(?<=(secret|password|router|remark|passive\-interface|eq|range|key\-string|key\schain|#\s*name|description|hostname|standard|domain-name|dhcp\s(pool|server))\s+).*(?=$|\W)/
},
{
className: 'string',
begin: /(?<=access-class\s+).+(?=in)/
},
{
className: 'string',
begin: /(?<=ip(v6)?\saccess\-list\s).+(?=$)/
},
{
className: 'string',
begin: /(?<=banner\smotd\s.).+(?=\s.\s)/
},
{
className: 'string',
begin: /(?<=source\slist\s).+(?=interface|pool)/
},
{
className: 'string',
begin: /(?<=digest\-key).+(?=md5)/
},
{
className: 'string',
begin: /(?<=pool\s)[a-zA-Z\s]+(?=overload|\d)/
},
{
className: 'string',
begin: /(?<=peer\sdefault\sip\saddress\spool).+(?=$)/
},
{
className: 'string',
begin: /(?<=snmp\-server\s(location|contact)).+(?=$)/
},
{
className: 'string',
begin: /(?<=snmp\-server\scommunity).+(?=ro)/
},
{
className: 'string',
begin: /(?<=md5).+(?=$)/
},
{
className: 'string',
begin: /(?<=(permit|deny)\s).+?(?=\s)/
},
{
begin: /(prefix|clockrate|vty|privilege\slevel|maximum|vlan(\s(add|remove))?)\s/,
end: /$/,
excludeBegin: true
},
]
}
]
}
]
}
]
}
]
}
}
})();
export default hljsGrammar;

View file

@ -0,0 +1,75 @@
/*! `dns` grammar compiled for Highlight.js 11.9.0 */
const hljsGrammar = (() => {
'use strict';
return (hljs) => {
const $COMMENT = hljs.COMMENT('%dnl');
const $TYPES = {
className: 'type',
begin: /^(Name|BuildRequires|BuildConflicts|Version|Release|Epoch|Summary|Group|License|Packager|Vendor|Icon|URL|Distribution|Prefix|Patch[0-9]*|Source[0-9]*|Requires\(?[a-z]*\)?|[a-zA-Z]+Req|Obsoletes|Recommends|Suggests|Supplements|Enhances|Provides|Conflicts|RemovePathPostfixes|Build[a-zA-Z]+|[a-zA-Z]+Arch|Auto[a-zA-Z]+)(:)/,
};
const $SECTIONS = {
className: 'keyword',
begin: /(%)(ifarch|ifnarch|ifos|ifnos|if|elifarch|elifos|elif|else|endif)/,
};
const $KEYWORDS = {
className: 'keyword',
begin: /(%)(ifarch|ifnarch|ifos|ifnos|if|elifarch|elifos|elif|else|endif)/,
};
return {
name: 'rpm-spec',
aliases: ['rpm', 'spec', 'rpm-spec', 'specfile'],
contains: [
$COMMENT,
hljs.HASH_COMMENT_MODE,
hljs.QUOTE_STRING_MODE,
$TYPES,
$SECTIONS,
$KEYWORDS,
{
className: 'operator',
begin: /[>=<]/,
},
{
className: 'variable',
begin: /%\{_/,
end: /}/,
},
{
className: 'symbol',
begin: /%\{\?/,
end: /}/,
},
{
className: 'variable',
begin: /%\{/,
end: /}/,
},
{
className: 'variable',
begin: /%\${/,
end: /}/,
},
{
className: 'variable',
begin: /\${/,
end: /}/,
},
{
className: 'variable',
begin: /(\$[\w\d#@][\w\d_]+)/,
},
{
className: 'symbol',
begin: /%/,
end: /[ \t\n]/,
},
{
className: 'doctag',
begin: /^\* (Mon|Tue|Wed|Thu|Fri|Sat|Sun)/,
end: /$/,
},
]
}
};
})();
export default hljsGrammar;

View file

@ -1,5 +1,5 @@
/*! `dns` grammar compiled for Highlight.js 11.9.0 */
(()=>{var d=(()=>{"use strict";return d=>({name:"DNS Zone",
var hljsGrammar=(()=>{"use strict";return d=>({name:"DNS Zone",
aliases:["bind","zone"],
keywords:["IN","A","AAAA","AFSDB","APL","CAA","CDNSKEY","CDS","CERT","CNAME","DHCID","DLV","DNAME","DNSKEY","DS","HIP","IPSECKEY","KEY","KX","LOC","MX","NAPTR","NS","NSEC","NSEC3","NSEC3PARAM","PTR","RRSIG","RP","SIG","SOA","SRV","SSHFP","TA","TKEY","TLSA","TSIG","TXT"],
contains:[d.COMMENT(";","$",{relevance:0}),{className:"meta",
@ -8,4 +8,4 @@ begin:"((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0
},{className:"number",
begin:"((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\b"
},d.inherit(d.NUMBER_MODE,{begin:/\b\d+[dhwm]?/})]})})()
;hljs.registerLanguage("dns",d)})();
;export default hljsGrammar;

View file

@ -1,8 +1,8 @@
/*! `dockerfile` grammar compiled for Highlight.js 11.9.0 */
(()=>{var e=(()=>{"use strict";return e=>({name:"Dockerfile",aliases:["docker"],
case_insensitive:!0,
var hljsGrammar=(()=>{"use strict";return e=>({name:"Dockerfile",
aliases:["docker"],case_insensitive:!0,
keywords:["from","maintainer","expose","env","arg","user","onbuild","stopsignal"],
contains:[e.HASH_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{
beginKeywords:"run cmd entrypoint volume add copy workdir label healthcheck shell",
starts:{end:/[^\\]$/,subLanguage:"bash"}}],illegal:"</"})})()
;hljs.registerLanguage("dockerfile",e)})();
;export default hljsGrammar;

View file

@ -1,7 +1,8 @@
/*! `dos` grammar compiled for Highlight.js 11.9.0 */
(()=>{var e=(()=>{"use strict";return e=>{const r=e.COMMENT(/^\s*@?rem\b/,/$/,{
relevance:10});return{name:"Batch file (DOS)",aliases:["bat","cmd"],
case_insensitive:!0,illegal:/\/\*/,keywords:{
var hljsGrammar=(()=>{"use strict";return e=>{
const r=e.COMMENT(/^\s*@?rem\b/,/$/,{relevance:10});return{
name:"Batch file (DOS)",aliases:["bat","cmd"],case_insensitive:!0,
illegal:/\/\*/,keywords:{
keyword:["if","else","goto","for","in","do","call","exit","not","exist","errorlevel","defined","equ","neq","lss","leq","gtr","geq"],
built_in:["prn","nul","lpt3","lpt2","lpt1","con","com4","com3","com2","com1","aux","shift","cd","dir","echo","setlocal","endlocal","set","pause","copy","append","assoc","at","attrib","break","cacls","cd","chcp","chdir","chkdsk","chkntfs","cls","cmd","color","comp","compact","convert","date","dir","diskcomp","diskcopy","doskey","erase","fs","find","findstr","format","ftype","graftabl","help","keyb","label","md","mkdir","mode","more","move","path","pause","print","popd","pushd","promt","rd","recover","rem","rename","replace","restore","rmdir","shift","sort","start","subst","time","title","tree","type","ver","verify","vol","ping","net","ipconfig","taskkill","xcopy","ren","del"]
},contains:[{className:"variable",begin:/%%[^ ]|%[^ ]+?%|![^ ]+?!/},{
@ -9,4 +10,4 @@ className:"function",begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)",
end:"goto:eof",contains:[e.inherit(e.TITLE_MODE,{
begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),r]},{
className:"number",begin:"\\b\\d+",relevance:0},r]}}})()
;hljs.registerLanguage("dos",e)})();
;export default hljsGrammar;

View file

@ -1,5 +1,5 @@
/*! `excel` grammar compiled for Highlight.js 11.9.0 */
(()=>{var E=(()=>{"use strict";return E=>({name:"Excel formulae",
var hljsGrammar=(()=>{"use strict";return E=>({name:"Excel formulae",
aliases:["xlsx","xls"],case_insensitive:!0,keywords:{$pattern:/[a-zA-Z][\w\.]*/,
built_in:["ABS","ACCRINT","ACCRINTM","ACOS","ACOSH","ACOT","ACOTH","AGGREGATE","ADDRESS","AMORDEGRC","AMORLINC","AND","ARABIC","AREAS","ASC","ASIN","ASINH","ATAN","ATAN2","ATANH","AVEDEV","AVERAGE","AVERAGEA","AVERAGEIF","AVERAGEIFS","BAHTTEXT","BASE","BESSELI","BESSELJ","BESSELK","BESSELY","BETADIST","BETA.DIST","BETAINV","BETA.INV","BIN2DEC","BIN2HEX","BIN2OCT","BINOMDIST","BINOM.DIST","BINOM.DIST.RANGE","BINOM.INV","BITAND","BITLSHIFT","BITOR","BITRSHIFT","BITXOR","CALL","CEILING","CEILING.MATH","CEILING.PRECISE","CELL","CHAR","CHIDIST","CHIINV","CHITEST","CHISQ.DIST","CHISQ.DIST.RT","CHISQ.INV","CHISQ.INV.RT","CHISQ.TEST","CHOOSE","CLEAN","CODE","COLUMN","COLUMNS","COMBIN","COMBINA","COMPLEX","CONCAT","CONCATENATE","CONFIDENCE","CONFIDENCE.NORM","CONFIDENCE.T","CONVERT","CORREL","COS","COSH","COT","COTH","COUNT","COUNTA","COUNTBLANK","COUNTIF","COUNTIFS","COUPDAYBS","COUPDAYS","COUPDAYSNC","COUPNCD","COUPNUM","COUPPCD","COVAR","COVARIANCE.P","COVARIANCE.S","CRITBINOM","CSC","CSCH","CUBEKPIMEMBER","CUBEMEMBER","CUBEMEMBERPROPERTY","CUBERANKEDMEMBER","CUBESET","CUBESETCOUNT","CUBEVALUE","CUMIPMT","CUMPRINC","DATE","DATEDIF","DATEVALUE","DAVERAGE","DAY","DAYS","DAYS360","DB","DBCS","DCOUNT","DCOUNTA","DDB","DEC2BIN","DEC2HEX","DEC2OCT","DECIMAL","DEGREES","DELTA","DEVSQ","DGET","DISC","DMAX","DMIN","DOLLAR","DOLLARDE","DOLLARFR","DPRODUCT","DSTDEV","DSTDEVP","DSUM","DURATION","DVAR","DVARP","EDATE","EFFECT","ENCODEURL","EOMONTH","ERF","ERF.PRECISE","ERFC","ERFC.PRECISE","ERROR.TYPE","EUROCONVERT","EVEN","EXACT","EXP","EXPON.DIST","EXPONDIST","FACT","FACTDOUBLE","FALSE|0","F.DIST","FDIST","F.DIST.RT","FILTERXML","FIND","FINDB","F.INV","F.INV.RT","FINV","FISHER","FISHERINV","FIXED","FLOOR","FLOOR.MATH","FLOOR.PRECISE","FORECAST","FORECAST.ETS","FORECAST.ETS.CONFINT","FORECAST.ETS.SEASONALITY","FORECAST.ETS.STAT","FORECAST.LINEAR","FORMULATEXT","FREQUENCY","F.TEST","FTEST","FV","FVSCHEDULE","GAMMA","GAMMA.DIST","GAMMADIST","GAMMA.INV","GAMMAINV","GAMMALN","GAMMALN.PRECISE","GAUSS","GCD","GEOMEAN","GESTEP","GETPIVOTDATA","GROWTH","HARMEAN","HEX2BIN","HEX2DEC","HEX2OCT","HLOOKUP","HOUR","HYPERLINK","HYPGEOM.DIST","HYPGEOMDIST","IF","IFERROR","IFNA","IFS","IMABS","IMAGINARY","IMARGUMENT","IMCONJUGATE","IMCOS","IMCOSH","IMCOT","IMCSC","IMCSCH","IMDIV","IMEXP","IMLN","IMLOG10","IMLOG2","IMPOWER","IMPRODUCT","IMREAL","IMSEC","IMSECH","IMSIN","IMSINH","IMSQRT","IMSUB","IMSUM","IMTAN","INDEX","INDIRECT","INFO","INT","INTERCEPT","INTRATE","IPMT","IRR","ISBLANK","ISERR","ISERROR","ISEVEN","ISFORMULA","ISLOGICAL","ISNA","ISNONTEXT","ISNUMBER","ISODD","ISREF","ISTEXT","ISO.CEILING","ISOWEEKNUM","ISPMT","JIS","KURT","LARGE","LCM","LEFT","LEFTB","LEN","LENB","LINEST","LN","LOG","LOG10","LOGEST","LOGINV","LOGNORM.DIST","LOGNORMDIST","LOGNORM.INV","LOOKUP","LOWER","MATCH","MAX","MAXA","MAXIFS","MDETERM","MDURATION","MEDIAN","MID","MIDBs","MIN","MINIFS","MINA","MINUTE","MINVERSE","MIRR","MMULT","MOD","MODE","MODE.MULT","MODE.SNGL","MONTH","MROUND","MULTINOMIAL","MUNIT","N","NA","NEGBINOM.DIST","NEGBINOMDIST","NETWORKDAYS","NETWORKDAYS.INTL","NOMINAL","NORM.DIST","NORMDIST","NORMINV","NORM.INV","NORM.S.DIST","NORMSDIST","NORM.S.INV","NORMSINV","NOT","NOW","NPER","NPV","NUMBERVALUE","OCT2BIN","OCT2DEC","OCT2HEX","ODD","ODDFPRICE","ODDFYIELD","ODDLPRICE","ODDLYIELD","OFFSET","OR","PDURATION","PEARSON","PERCENTILE.EXC","PERCENTILE.INC","PERCENTILE","PERCENTRANK.EXC","PERCENTRANK.INC","PERCENTRANK","PERMUT","PERMUTATIONA","PHI","PHONETIC","PI","PMT","POISSON.DIST","POISSON","POWER","PPMT","PRICE","PRICEDISC","PRICEMAT","PROB","PRODUCT","PROPER","PV","QUARTILE","QUARTILE.EXC","QUARTILE.INC","QUOTIENT","RADIANS","RAND","RANDBETWEEN","RANK.AVG","RANK.EQ","RANK","RATE","RECEIVED","REGISTER.ID","REPLACE","REPLACEB","REPT","RIGHT","RIGHTB","ROMAN","ROUND","ROUNDDOWN","ROUNDUP","ROW","ROWS","RRI","RSQ","RTD","SEARCH","SEARCHB","SEC","SECH","SECOND","SERIESSUM","SHEET","SHEETS","SIGN","SIN","SINH","SKEW","SKEW.P","SLN","SLOPE","SMALL","SQL.REQUEST","SQRT","SQRTPI","STANDARDIZE","STDEV","STDEV.P","STDEV.S","STDEVA","STDEVP","STDEVPA","STEYX","SUBSTITUTE","SUBTOTAL","SUM","SUMIF","SUMIFS","SUMPRODUCT","SUMSQ","SUMX2MY2","SUMX2PY2","SUMXMY2","SWITCH","SYD","T","TAN","TANH","TBILLEQ","TBILLPRICE","TBILLYIELD","T.DIST","T.DIST.2T","T.DIST.RT","TDIST","TEXT","TEXTJOIN","TIME","TIMEVALUE","T.INV","T.INV.2T","TINV","TODAY","TRANSPOSE","TREND","TRIM","TRIMMEAN","TRUE|0","TRUNC","T.TEST","TTEST","TYPE","UNICHAR","UNICODE","UPPER","VALUE","VAR","VAR.P","VAR.S","VARA","VARP","VARPA","VDB","VLOOKUP","WEBSERVICE","WEEKDAY","WEEKNUM","WEIBULL","WEIBULL.DIST","WORKDAY","WORKDAY.INTL","XIRR","XNPV","XOR","YEAR","YEARFRAC","YIELD","YIELDDISC","YIELDMAT","Z.TEST","ZTEST"]
},contains:[{begin:/^=/,end:/[^=]/,returnEnd:!0,illegal:/=/,relevance:10},{
@ -7,4 +7,4 @@ className:"symbol",begin:/\b[A-Z]{1,2}\d+\b/,end:/[^\d]/,excludeEnd:!0,
relevance:0},{className:"symbol",begin:/[A-Z]{0,2}\d*:[A-Z]{0,2}\d*/,relevance:0
},E.BACKSLASH_ESCAPE,E.QUOTE_STRING_MODE,{className:"number",
begin:E.NUMBER_RE+"(%)?",relevance:0},E.COMMENT(/\bN\(/,/\)/,{excludeBegin:!0,
excludeEnd:!0,illegal:/\n/})]})})();hljs.registerLanguage("excel",E)})();
excludeEnd:!0,illegal:/\n/})]})})();export default hljsGrammar;

View file

@ -1,14 +1,14 @@
/*! `http` grammar compiled for Highlight.js 11.9.0 */
(()=>{var e=(()=>{"use strict";return e=>{const n="HTTP/([32]|1\\.[01])",a={
var hljsGrammar=(()=>{"use strict";return e=>{const a="HTTP/([32]|1\\.[01])",n={
className:"attribute",
begin:e.regex.concat("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{
contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",
relevance:0}}]}},s=[a,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}
relevance:0}}]}},s=[n,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}
}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{
begin:"^(?="+n+" \\d{3})",end:/$/,contains:[{className:"meta",begin:n},{
begin:"^(?="+a+" \\d{3})",end:/$/,contains:[{className:"meta",begin:a},{
className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,
contains:s}},{begin:"(?=^[A-Z]+ (.*?) "+n+"$)",end:/$/,contains:[{
contains:s}},{begin:"(?=^[A-Z]+ (.*?) "+a+"$)",end:/$/,contains:[{
className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{
className:"meta",begin:n},{className:"keyword",begin:"[A-Z]+"}],starts:{
end:/\b\B/,illegal:/\S/,contains:s}},e.inherit(a,{relevance:0})]}}})()
;hljs.registerLanguage("http",e)})();
className:"meta",begin:a},{className:"keyword",begin:"[A-Z]+"}],starts:{
end:/\b\B/,illegal:/\S/,contains:s}},e.inherit(n,{relevance:0})]}}})()
;export default hljsGrammar;

View file

@ -1,5 +1,5 @@
/*! `nginx` grammar compiled for Highlight.js 11.9.0 */
(()=>{var e=(()=>{"use strict";return e=>{const n=e.regex,a={
var hljsGrammar=(()=>{"use strict";return e=>{const n=e.regex,a={
className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{\w+\}/},{
begin:n.concat(/[$@]/,e.UNDERSCORE_IDENT_RE)}]},s={endsWithParent:!0,keywords:{
$pattern:/[a-z_]{2,}|\/dev\/poll/,
@ -18,4 +18,4 @@ section:"upstream location"}},{className:"section",
begin:n.concat(e.UNDERSCORE_IDENT_RE+n.lookahead(/\s+\{/)),relevance:0},{
begin:n.lookahead(e.UNDERSCORE_IDENT_RE+"\\s"),end:";|\\{",contains:[{
className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:s}],relevance:0}],
illegal:"[^\\s\\}\\{]"}}})();hljs.registerLanguage("nginx",e)})();
illegal:"[^\\s\\}\\{]"}}})();export default hljsGrammar;

View file

@ -1,10 +1,9 @@
/*! `pf` grammar compiled for Highlight.js 11.9.0 */
(()=>{var t=(()=>{"use strict";return t=>({name:"Packet Filter config",
var hljsGrammar=(()=>{"use strict";return t=>({name:"Packet Filter config",
aliases:["pf.conf"],keywords:{$pattern:/[a-z0-9_<>-]+/,
built_in:"block match pass load anchor|5 antispoof|10 set table",
keyword:"in out log quick on rdomain inet inet6 proto from port os to route allow-opts divert-packet divert-reply divert-to flags group icmp-type icmp6-type label once probability recieved-on rtable prio queue tos tag tagged user keep fragment for os drop af-to|10 binat-to|10 nat-to|10 rdr-to|10 bitmask least-stats random round-robin source-hash static-port dup-to reply-to route-to parent bandwidth default min max qlimit block-policy debug fingerprints hostid limit loginterface optimization reassemble ruleset-optimization basic none profile skip state-defaults state-policy timeout const counters persist no modulate synproxy state|5 floating if-bound no-sync pflow|10 sloppy source-track global rule max-src-nodes max-src-states max-src-conn max-src-conn-rate overload flush scrub|5 max-mss min-ttl no-df|10 random-id",
literal:"all any no-route self urpf-failed egress|5 unknown"},
contains:[t.HASH_COMMENT_MODE,t.NUMBER_MODE,t.QUOTE_STRING_MODE,{
className:"variable",begin:/\$[\w\d#@][\w\d_]*/,relevance:0},{
className:"variable",begin:/<(?!\/)/,end:/>/}]})})()
;hljs.registerLanguage("pf",t)})();
className:"variable",begin:/<(?!\/)/,end:/>/}]})})();export default hljsGrammar;

File diff suppressed because one or more lines are too long

View file

@ -1,5 +1,6 @@
/*! `powershell` grammar compiled for Highlight.js 11.9.0 */
(()=>{var e=(()=>{"use strict";return e=>{const n={$pattern:/-?[A-z\.\-]+\b/,
var hljsGrammar=(()=>{"use strict";return e=>{const n={
$pattern:/-?[A-z\.\-]+\b/,
keyword:"if else foreach return do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch hidden static parameter",
built_in:"ac asnp cat cd CFS chdir clc clear clhy cli clp cls clv cnsn compare copy cp cpi cpp curl cvpa dbp del diff dir dnsn ebp echo|0 epal epcsv epsn erase etsn exsn fc fhx fl ft fw gal gbp gc gcb gci gcm gcs gdr gerr ghy gi gin gjb gl gm gmo gp gps gpv group gsn gsnp gsv gtz gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo npssc nsn nv ogv oh popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp rujb rv rvpa rwmi sajb sal saps sasv sbp sc scb select set shcm si sl sleep sls sort sp spjb spps spsv start stz sujb sv swmi tee trcm type wget where wjb write"
},s={begin:"`[\\s\\S]",relevance:0},i={className:"variable",variants:[{
@ -24,16 +25,16 @@ className:"function",begin:/\[.*\]\s*[\w]+[ ]??\(/,end:/$/,returnBegin:!0,
relevance:0,contains:[{className:"keyword",
begin:"(".concat(n.keyword.toString().replace(/\s/g,"|"),")\\b"),endsParent:!0,
relevance:0},e.inherit(e.TITLE_MODE,{endsParent:!0})]
},g=[p,r,s,e.NUMBER_MODE,a,t,{className:"built_in",variants:[{
},m=[p,r,s,e.NUMBER_MODE,a,t,{className:"built_in",variants:[{
begin:"(Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|Limit|Merge|Mount|Out|Publish|Restore|Save|Sync|Unpublish|Update|Approve|Assert|Build|Complete|Confirm|Deny|Deploy|Disable|Enable|Install|Invoke|Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|Unprotect|Use|ForEach|Sort|Tee|Where)+(-)[\\w\\d]+"
}]},i,{className:"literal",begin:/\$(null|true|false)\b/},{
className:"selector-tag",begin:/@\B/,relevance:0}],m={begin:/\[/,end:/\]/,
excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[].concat("self",g,{
className:"selector-tag",begin:/@\B/,relevance:0}],g={begin:/\[/,end:/\]/,
excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[].concat("self",m,{
begin:"(string|char|byte|int|long|bool|decimal|single|double|DateTime|xml|array|hashtable|void)",
className:"built_in",relevance:0},{className:"type",begin:/[\.\w\d]+/,
relevance:0})};return p.contains.unshift(m),{name:"PowerShell",
relevance:0})};return p.contains.unshift(g),{name:"PowerShell",
aliases:["pwsh","ps","ps1"],case_insensitive:!0,keywords:n,
contains:g.concat(c,l,o,{variants:[{className:"operator",
contains:m.concat(c,l,o,{variants:[{className:"operator",
begin:"(-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|-split|-wildcard|-xor)\\b"
},{className:"literal",begin:/(-){1,2}[\w\d-]+/,relevance:0}]},m)}}})()
;hljs.registerLanguage("powershell",e)})();
},{className:"literal",begin:/(-){1,2}[\w\d-]+/,relevance:0}]},g)}}})()
;export default hljsGrammar;

View file

@ -0,0 +1,9 @@
/*! `properties` grammar compiled for Highlight.js 11.9.0 */
var hljsGrammar=(()=>{"use strict";return e=>{
const n="[ \\t\\f]*",t=n+"[:=]"+n,a="[ \\t\\f]+",s="([^\\\\:= \\t\\f\\n]|\\\\.)+",r={
end:"("+t+"|"+a+")",relevance:0,starts:{className:"string",end:/$/,relevance:0,
contains:[{begin:"\\\\\\\\"},{begin:"\\\\\\n"}]}};return{name:".properties",
disableAutodetect:!0,case_insensitive:!0,illegal:/\S/,
contains:[e.COMMENT("^\\s*[!#]","$"),{returnBegin:!0,variants:[{begin:s+t},{
begin:s+a}],contains:[{className:"attr",begin:s,endsParent:!0}],starts:r},{
className:"attr",begin:s+n+"$"}]}}})();export default hljsGrammar;

View file

@ -1,22 +1,22 @@
/*! `routeros` grammar compiled for Highlight.js 11.9.0 */
(()=>{var e=(()=>{"use strict";return e=>{
var hljsGrammar=(()=>{"use strict";return e=>{
const r="foreach do while for if from to step else on-error and or not in",n="true false yes no nothing nil null",i={
className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)\}/
}]},s={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,i,{
className:"variable",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]}]},t={
className:"variable",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]}]},a={
className:"string",begin:/'/,end:/'/};return{name:"MikroTik RouterOS script",
aliases:["mikrotik"],case_insensitive:!0,keywords:{$pattern:/:?[\w-]+/,
literal:n,
keyword:r+" :"+r.split(" ").join(" :")+" :"+"global local beep delay put len typeof pick log time set find environment terminal error execute parse resolve toarray tobool toid toip toip6 tonum tostr totime".split(" ").join(" :")
},contains:[{variants:[{begin:/\/\*/,end:/\*\//},{begin:/\/\//,end:/$/},{
begin:/<\//,end:/>/}],illegal:/./},e.COMMENT("^#","$"),s,t,i,{
begin:/<\//,end:/>/}],illegal:/./},e.COMMENT("^#","$"),s,a,i,{
begin:/[\w-]+=([^\s{}[\]()>]+)/,relevance:0,returnBegin:!0,contains:[{
className:"attribute",begin:/[^=]+/},{begin:/=/,endsWithParent:!0,relevance:0,
contains:[s,t,i,{className:"literal",begin:"\\b("+n.split(" ").join("|")+")\\b"
contains:[s,a,i,{className:"literal",begin:"\\b("+n.split(" ").join("|")+")\\b"
},{begin:/("[^"]*"|[^\s{}[\]]+)/}]}]},{className:"number",begin:/\*[0-9a-fA-F]+/
},{
begin:"\\b(add|remove|enable|disable|set|get|print|export|edit|find|run|debug|error|info|warning)([\\s[(\\]|])",
returnBegin:!0,contains:[{className:"built_in",begin:/\w+/}]},{
className:"built_in",variants:[{
begin:"(\\.\\./|/|\\s)((traffic-flow|traffic-generator|firewall|scheduler|aaa|accounting|address-list|address|align|area|bandwidth-server|bfd|bgp|bridge|client|clock|community|config|connection|console|customer|default|dhcp-client|dhcp-server|discovery|dns|e-mail|ethernet|filter|firmware|gps|graphing|group|hardware|health|hotspot|identity|igmp-proxy|incoming|instance|interface|ip|ipsec|ipv6|irq|l2tp-server|lcd|ldp|logging|mac-server|mac-winbox|mangle|manual|mirror|mme|mpls|nat|nd|neighbor|network|note|ntp|ospf|ospf-v3|ovpn-server|page|peer|pim|ping|policy|pool|port|ppp|pppoe-client|pptp-server|prefix|profile|proposal|proxy|queue|radius|resource|rip|ripng|route|routing|screen|script|security-profiles|server|service|service-port|settings|shares|smb|sms|sniffer|snmp|snooper|socks|sstp-server|system|tool|tracking|type|upgrade|upnp|user-manager|users|user|vlan|secret|vrrp|watchdog|web-access|wireless|pptp|pppoe|lan|wan|layer7-protocol|lease|simple|raw);?\\s)+"
},{begin:/\.\./,relevance:0}]}]}}})();hljs.registerLanguage("routeros",e)})();
},{begin:/\.\./,relevance:0}]}]}}})();export default hljsGrammar;

View file

@ -1,18 +1,18 @@
/*! `twig` grammar compiled for Highlight.js 11.9.0 */
(()=>{var e=(()=>{"use strict";return e=>{
var hljsGrammar=(()=>{"use strict";return e=>{
const a=e.regex,t=["absolute_url","asset|0","asset_version","attribute","block","constant","controller|0","country_timezones","csrf_token","cycle","date","dump","expression","form|0","form_end","form_errors","form_help","form_label","form_rest","form_row","form_start","form_widget","html_classes","include","is_granted","logout_path","logout_url","max","min","parent","path|0","random","range","relative_path","render","render_esi","source","template_from_string","url|0"]
;let r=["apply","autoescape","block","cache","deprecated","do","embed","extends","filter","flush","for","form_theme","from","if","import","include","macro","sandbox","set","stopwatch","trans","trans_default_domain","transchoice","use","verbatim","with"]
;r=r.concat(r.map((e=>"end"+e)));const n={scope:"string",variants:[{begin:/'/,
end:/'/},{begin:/"/,end:/"/}]},o={scope:"number",match:/\d+/},s={begin:/\(/,
end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:[n,o]},c={
beginKeywords:t.join(" "),keywords:{name:t},relevance:0,contains:[s]},m={
end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:[n,o]},m={
beginKeywords:t.join(" "),keywords:{name:t},relevance:0,contains:[s]},c={
match:/\|(?=[A-Za-z_]+:?)/,beginScope:"punctuation",relevance:0,contains:[{
match:/[A-Za-z_]+:?/,
keywords:["abs","abbr_class","abbr_method","batch","capitalize","column","convert_encoding","country_name","currency_name","currency_symbol","data_uri","date","date_modify","default","escape","file_excerpt","file_link","file_relative","filter","first","format","format_args","format_args_as_text","format_currency","format_date","format_datetime","format_file","format_file_from_text","format_number","format_time","html_to_markdown","humanize","inky_to_html","inline_css","join","json_encode","keys","language_name","last","length","locale_name","lower","map","markdown","markdown_to_html","merge","nl2br","number_format","raw","reduce","replace","reverse","round","slice","slug","sort","spaceless","split","striptags","timezone_name","title","trans","transchoice","trim","u|0","upper","url_encode","yaml_dump","yaml_encode"]
}]},i=(e,{relevance:t})=>({beginScope:{1:"template-tag",3:"name"},
}]},l=(e,{relevance:t})=>({beginScope:{1:"template-tag",3:"name"},
relevance:t||2,endScope:"template-tag",begin:[/\{%/,/\s*/,a.either(...e)],
end:/%\}/,keywords:"in",contains:[m,c,n,o]}),l=i(r,{relevance:2
}),_=i([/[a-z_]+/],{relevance:1});return{name:"Twig",aliases:["craftcms"],
case_insensitive:!0,subLanguage:"xml",contains:[e.COMMENT(/\{#/,/#\}/),l,_,{
className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:["self",m,c,n,o]
}]}}})();hljs.registerLanguage("twig",e)})();
end:/%\}/,keywords:"in",contains:[c,m,n,o]}),i=l(r,{relevance:2
}),_=l([/[a-z_]+/],{relevance:1});return{name:"Twig",aliases:["craftcms"],
case_insensitive:!0,subLanguage:"xml",contains:[e.COMMENT(/\{#/,/#\}/),i,_,{
className:"template-variable",begin:/\{\{/,end:/\}\}/,contains:["self",c,m,n,o]
}]}}})();export default hljsGrammar;

View file

@ -1,5 +1,5 @@
/*! `vbscript` grammar compiled for Highlight.js 11.9.0 */
(()=>{var e=(()=>{"use strict";return e=>{
var hljsGrammar=(()=>{"use strict";return e=>{
const t=e.regex,r=["lcase","month","vartype","instrrev","ubound","setlocale","getobject","rgb","getref","string","weekdayname","rnd","dateadd","monthname","now","day","minute","isarray","cbool","round","formatcurrency","conversions","csng","timevalue","second","year","space","abs","clng","timeserial","fixs","len","asc","isempty","maths","dateserial","atn","timer","isobject","filter","weekday","datevalue","ccur","isdate","instr","datediff","formatdatetime","replace","isnull","right","sgn","array","snumeric","log","cdbl","hex","chr","lbound","msgbox","ucase","getlocale","cos","cdate","cbyte","rtrim","join","hour","oct","typename","trim","strcomp","int","createobject","loadpicture","tan","formatnumber","mid","split","cint","sin","datepart","ltrim","sqr","time","derived","eval","date","formatpercent","exp","inputbox","left","ascw","chrw","regexp","cstr","err"]
;return{name:"VBScript",aliases:["vbs"],case_insensitive:!0,keywords:{
keyword:["call","class","const","dim","do","loop","erase","execute","executeglobal","exit","for","each","next","function","if","then","else","on","error","option","explicit","new","private","property","let","get","public","randomize","redim","rem","select","case","set","stop","sub","while","wend","with","end","to","elseif","is","or","xor","and","not","class_initialize","class_terminate","default","preserve","in","me","byval","byref","step","resume","goto"],
@ -7,4 +7,4 @@ built_in:["server","response","request","scriptengine","scriptenginebuildversion
literal:["true","false","null","nothing","empty"]},illegal:"//",contains:[{
begin:t.concat(t.either(...r),"\\s*\\("),relevance:0,keywords:{built_in:r}
},e.inherit(e.QUOTE_STRING_MODE,{contains:[{begin:'""'}]}),e.COMMENT(/'/,/$/,{
relevance:0}),e.C_NUMBER_MODE]}}})();hljs.registerLanguage("vbscript",e)})();
relevance:0}),e.C_NUMBER_MODE]}}})();export default hljsGrammar;

View file

@ -1,35 +0,0 @@
function langRedirect() {
// Only do i18n at root,
// otherwise, redirect immediately.
if (window.location.pathname !== '/') {
window.location.replace('{{ .Permalink }}');
return 0;
}
const getFirstBrowserLanguage = function () {
const $nav = window.navigator;
const $browserLanguagePropertyKeys = ['language', 'browserLanguage', 'systemLanguage', 'userLanguage'];
let $language;
if (Array.isArray($nav.languages)) {
const $navLangLength = $nav.languages.length;
for (let $i = 0; $i < $navLangLength; ++$i) {
$language = $nav.languages[$i];
if ($language && $language.length) return $language;
}
}
// Support for other well known properties in browsers.
const $browserLanguagePropertyKeysLength = $browserLanguagePropertyKeys.length;
for (let $i = 0; $i < $browserLanguagePropertyKeysLength; ++$i) {
$language = $nav[$browserLanguagePropertyKeys[$i]];
if ($language && $language.length) return $language;
}
return 'en';
}
const $preferLang = getFirstBrowserLanguage();
($preferLang.indexOf('ru') !== -1) ? window.location.replace('/ru/') : window.location.replace('/en/');
}
langRedirect();

View file

@ -5,12 +5,11 @@ import * as select from './modules/select';
import * as share from './modules/share';
import * as qrcode from './modules/qrcode';
import * as navbar from './modules/navbar';
import * as fancybox from './modules/fancybox'
import * as clipboard from './modules/clipboard'
import * as prevent_default from './modules/prevent_default'
import * as fancybox from './modules/fancybox';
import * as clipboard from './modules/clipboard';
import * as prevent_default from './modules/prevent_default';
import * as search from './modules/search';
import * as github from './modules/api.github';
import * as hljs from './modules/hl';
export function init() {
modal.init();
@ -25,5 +24,4 @@ export function init() {
prevent_default.init();
search.init();
github.init();
hljs.init();
}

View file

@ -1,17 +0,0 @@
export const init = () => {
highlight();
}
const highlight = () => {
const $el = document.querySelectorAll('pre code');
const $len = $el.length;
// Aliases.
hljs.registerAliases(['rsc'], {languageName: 'routeros'});
document.addEventListener('DOMContentLoaded', (event) => {
for (let $i = 0; $i < $len; ++$i) {
hljs.highlightElement($el[$i]);
}
});
}

View file

@ -1,417 +0,0 @@
(() => {
var $hljsCiscoCli = (() => {
'use strict';
return () => {
const $command = /(?=^\s*[a-z0-9A-Z_]+(?:\(([a-zA-Z\-]*)\)#|#)|[a-zA-Z]+[0-9]\/[0-9]\z)/;
/* regex for IPv4 address */
const $ip4 = /(?:(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|9[0-9]|[1-8][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|9[0-9]|[1-8][0-9]|[0-9])(?:\/\d{1,2})?/;
/* regex for IPv6 address, from: https://www.regextester.com/104187*/
const $ip6 = /(?![^\w:])(([0-9a-f]{1,4}:){1,7}:|:(:[0-9a-f]{1,4}){1,7}|([0-9a-f]{1,4}:){1,7}[0-9a-f]{0,4}(:[0-9a-f]{1,4}){1,7})(?![\w:])/;
/* regex for MAC address in Cicso IOS notation */
const $mac = /(?:[aA0-fF9]{4}\.){2}(?:[aA0-fF9]{4})/;
return {
name: 'cisco-cli',
aliases: ['cisco-cli'],
case_insensitive: true,
contains: [
{
className: '',
variants: [
{
begin:/^VLAN\s*Name/,
end: $command,
returnBegin: true,
contains:[{className: 'string', begin:/(?:Fa|Gig)\d\/\d+/},{className: 'number', begin:/\b\d+\b/},{className: 'keyword', begin: /(?<=^[0-9][0-9]?[0-9]?[0-9]?).+(?=\sactive|\d{6})/}] //este STATUS
},
{
begin:/Cisco\sInternetwork/,
end:/is\s[a-fA-F0-9]x[a-fA-F0-9]+/,
contains: [{className: 'string', variants:[{begin:/"/, end:/"/}, {begin:/http/, end:/$/}]},{className: 'string', begin:/Processor\sboard/, end:/\(Read\/Write\)/, contains:[{className: 'number', begin:/^\d/, end:/(\s|K)/}]}]
},
{
begin:/Interface\s+IP\-Address/,
end: $command,
contains:[{className:'keyword', variants:[{begin: /^\w+((\d\/)+\d?|\d+)/},{begin:/(manual|DHCP|up)/}]},{className: 'number', begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}/},{className: 'number', begin: /(?![^\w:])(([0-9a-f]{1,4}:){1,7}:|:(:[0-9a-f]{1,4}){1,7}|([0-9a-f]{1,4}:){1,7}[0-9a-f]{0,4}(:[0-9a-f]{1,4}){1,7})(?![\w:])/},{className:'string', begin: /(unset|unassigned|administratively\sdown|down)/},]
},
{
begin: /Capability\sCodes/,
end: $command,
contains:[{className: 'keyword', begin:/\s(\w|\*)(\d|\w?)\s(?=\-)/},{className:'comment', begin:/Port\sID/, end:/(?=^[a-zA-Z]+(\(([a-zA-Z\-]*)\)#|#)|[a-zA-Z]+[0-9]\/[0-9]\z)/, contains:[{className: 'keyword', variants:[{begin:/^[\w\.]+(?=\s)/}, {begin: /\b\w\b/}]}, {className: 'string', begin:/\s\w{1,3}\s[\d\/]+\d?/},{className:'number', begin: /\b\d+\b/}]}]
},
{
begin:/(?<=show\sip\snat\stranslations)/,
end: $command,
contains:[{className: 'number', begin:/(?:[0-9]{1,3}\.){3}[0-9]{1,3}/}, {className: 'keyword', begin:/(?<=\:)\d+(?=\s)/}, {className: 'string', begin:/(?<=^)\w+(?=\s)/}]
},
{
begin:/(?<=show\sip\snat\sstatistics)/,
end: $command,
contains:[{className: 'string', variants:[{begin:/(?<=pool\s)\w+(?=\srefCount)/},{begin:/(?<=Interfaces:\s).+(?=$)/}]},{className: 'number', variants:[{begin:/(?:[0-9]{1,3}\.){3}[0-9]{1,3}/},{begin:/\b\d+\b/}]}]
},
{
begin:/(?<=show\sinterface\s[aA-zZ]+\s*\d+(\/\d+(\/\d+)?)?)/,
end: $command,
contains:[{className: 'string', variants:[{begin:/\bup\b/},{begin:/Full\-duplex|Half\-duplex/i},{begin:/(?<=type\sis).+(?=$)/}]},{className: 'number', variants:[{begin:/\d+.b\/s/}, {begin:/(?:.{4}\.){2}(?:.{4})/}, {begin:/\b\d+\b/}]}]
},
{
begin:/(?<=show\s(?:ip\s)?ssh)/,
end: $command,
contains:[{className: 'string', begin:/(?<=Session\sStarted).+(?=$)/}, {className: 'number', variants:[{begin:/\b\d+\.\d+\b/}, {begin:/\b\d+\b/}]}]
},
{
begin:/(?<=show\sip\sdhcp\sbinding)/,
end: $command,
contains: [{className: 'number', begin:/(?:[0-9]{1,3}\.){3}[0-9]{1,3}/}, {className: 'string', begin: /(?:.{4}\.){2}(?:.{4})/}]
},
{
begin: /(?<=show\sip\sdhcp\spool)/,
end: $command,
contains: [{className: 'number', begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}/}, {className: 'string', variants: [{begin: /\b\d+\b/}, {begin:/(?<=Pool).+(?=\:)/}]}]
},
{
begin: /(?<=show\smac\saddress\-table)/,
end: $command,
contains: [{className: 'string', begin:/(?<=\s)[\w\/]+\d(?=\s*$)/},{className: 'number', variants:[{begin:/(?:.{4}\.){2}(?:.{4})/},{begin:/\b\d+\b/}]}]
},
{
begin: /(?<=show\sinterfaces\strunk)/,
end: $command,
contains:[{className: 'string', begin:/(?<=\s*)[aA-zZ]+\d+(\/\d+(?:\/\d+)?)?/},{className: 'keyword', begin: /802\.1q/},{className: 'number', begin:/\b\d+\b/}]
},
{
begin:/(?<=show\sinterfaces\s[aA-zZ]+\s*\d+(\/\d+(\/\d+)?)?\sswitchport)/, //--------------------------------------------------------------------------------------------TREBA PREROBIT NEJAK DYNAMICKY NA ROZNE INT
end: $command,
contains: [{className: 'string', begin:/(?<=(?:Name|Administrative\sMode|Operational\sMode|Access\sMode\sVLAN|Trunking\sNative\sMode\sVLAN)\:).+(?=$)/},{className: 'number', begin:/\b\d+\b/}]
},
{
begin: /(?<=show\sport\-security)/,
end: $command,
contains: [{className: 'string', variants:[{begin:/(?<=^)\s+[\w\/]+(?=\s)/}, {begin:/(?<=\d)\s+\w+(?=$)/}]},{className: 'number', begin:/\b\d+\b/}]
},
{
begin: /(?<=show\sport\-security\sinterface\s[aA-zZ]+\s*\d+(\/\d+(\/\d+)?)?)/,
end: $command,
contains:[{className: 'string', begin:/(?<=(?:Port\s(?:Security|Status)|Violation\sMode)\s+\:).+(?=$)/},{className: 'number', variants:[{begin:/(?:.{4}\.){2}(?:.{4})/},{begin: /\b\d+\b/}]}] // WARNING NON FIXED REGEX
},
{
begin: /(?<=show\sport\-security\saddress)/,
end: $command,
contains: [{className: 'string', begin: /\b[aA-zZ]+\d\/\d(\/\d)?\b/},{className: 'number', variants: [{begin: /(?:.{4}\.){2}(?:.{4})/}, {begin: /\b\d+\b/}]}]
},
{
begin: /(?<=show\sipv6\sinterface\sbrief)/,
end: $command,
contains: [{className: 'keyword', variants:[{begin: /(?<=).+(?=\[)/}, {begin: /up/}]}, {className: 'string', begin: /unassigned|administratively\sdown|down/}, {className: 'number', begin: /(?![^\w:])(([0-9a-fA-F]{1,4}:){1,7}:|:(:[0-9a-fA-F]{1,4}){1,7}|([0-9a-fA-F]{1,4}:){1,7}[0-9a-fA-F]{0,4}(:[0-9a-fA-F]{1,4}){1,7})(?![\w:])/}]
},
{
begin: /(?<=show\sip(v6)?\sroute(\s\w+)?)/,
end: $command,
contains:[{className: 'keyword', variants: [{begin:/^[aA-zZ]\s(?:[aA-zZ]+)?/},{begin:/\s(\w|\*)(\d|(\w\w?|\w?))\s(?=\-)/}]},{className: 'number', variants:[{begin:/(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/},{begin:/(?![^\w:])(([0-9a-fA-F]{1,4}:){1,7}:|:(:[0-9a-fA-F]{1,4}){1,7}|([0-9a-fA-F]{1,4}:){1,7}[0-9a-fA-F]{0,4}(:[0-9a-fA-F]{1,4}){1,7})(?![\w:])(\/\d+)?/ }]},{className: 'string', variants:[{begin:/\b([aA-zZ]+\d\/\d(\/\d)?)|(Null|\w{5,})\d+\b/},{begin: /(?<=\[).+(?=\])/}]}]
},
{
begin: /(?<=show\sipv6\sprotocols)/,
end: $command,
contains: [{className: 'string', variants:[{begin:'"', end: '"'}, {begin: /\b(\w+\d\/\d(\/\d)?)|\w{4,}\d+\b/}]}]
},
{
begin: /(?<=show\svtp\sstatus)/,
end: $command,
contains:[{className: 'keyword', begin:/Server|Client|Transparent/},{className: 'number', variants:[{begin:/(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/}, {begin:/(?:[\daA-fF]{4}\.){2}(?:[\daA-fF]{4})/}, {begin: /\s\d+\s/}]}, {className:'string', begin:/(?<=VTP\sDomain\sName\s+:).+(?=$)/}]
},
{
begin: /(?<=show\svtp\scounter)/,
end: $command,
contains: [{className: 'number', begin: /\s\d+\s/}]
},
{
begin: /(?<=show\svtp\spassword)/,
end: $command,
contains: [{className: 'string', begin: /(?<=Password:\s)\w+(?=\s)/}]
},
{
begin: /(?<=show\ssdm\sprefer)/,
end: $command,
contains: [{className: 'string', begin: /(?<=")\w+(?=")/}, {className: 'number', variants:[{begin:/\b[\d\.]+K/}, {begin: /\b\d+\b/}]}]
},
{
begin: /(?<=show\setherchannel\ssummary)/,
end: $command,
contains:[{className: 'comment', begin: /\(LACP\sonly\)/},{className: 'keyword', variants:[{begin: /PAgP|LACP/},{begin: /(?<=\s).\s(?=-)/},{begin:/(?<=\().*?(?=\))/}]}, {className: 'string', begin: /(?<=\s)[\w\d\/]*?(?=\()/},{className: 'number', begin: /\s\d+\s/}]
},
{
begin: /(?<=show\sstandby)/,
end: $command,
contains:[{className: 'number', variants: [{begin:/(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/},{begin:/(?:[\daA-fF]{4}\.){2}(?:[\daA-fF]{4})/}]},{className:'string',variants:[{begin: /(?<=State\sis\s).+(?=$)/},{begin: /(?<=Group\sname\sis\s).+(?=\()/}] }]
},
{
begin: /(?<=show\sstandby\sbrief)/,
end: $command,
contains:[{className: 'number', variants:[{begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/},{begin:/\s\d+\s/}]},{className:'string', begin:/[aA-zZ]{1,3}[\d\/]+/}]
},
{
begin:/(?<=show\sspanning-tree\svlan\s\d+)/,
end: $command,
contains:[{className: 'keyword', variants:[{begin:/^\s*[aA-zZ]{1,4}[\d\/]+\s/}]},{className: 'keyword', begin: /(?<=\.)\d+(?=\s)/},{className: 'number', variants:[{begin:/(?:[\daA-fF]{4}\.){2}(?:[\daA-fF]{4})/},{begin:/(?<=\s)\d+(?=\.)/},{begin:/\s\d+\s/}]}]
},
{
begin: /(?<=show\sspanning-tree\sinterface\s.+\n)/,
end: $command,
contains:[{className: 'string', begin:/VLAN\d{4}/}, {className: 'number', variants:[{begin:/(?<=\s)\d+(?=\.)/},{begin:/\s\d+\s/}]},{className: 'keyword', begin: /(?<=\.)\d+(?=\s)/}]
},
{
begin: /(?<=show\sip\sprotocols)/,
end: $command,
contains:[{className: "string", variants:[{begin:'"', end: '"'},{begin:/K\d=1/},{begin:/(?<=Redistributing\:).+(?=,)/}]},{className: 'number', variants:[{begin: /\s\d+\s/},{begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/}]}]
},
{
begin:/(?<=show\sip\seigrp\stopology)/,
end: $command,
contains:[{className: 'string', begin: /(?<=via).+?(?=\(|,)/},{className: 'keyword', variants:[{begin: /(?<=\s).\s(?=-)/},{begin:/^\w\s/},{begin: /FD is \d+\s/}]},{className: 'number', variants:[{begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/}]}]
},
{
begin:/(?<=show\sip\sospf\sneighbors)/,
end: $command,
contains:[{className: 'string', begin: /\s[aA-zZ]+[\d\/]+\s/},{className: 'number', begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/},{className: 'keyword', begin:/\s\w+\/\w+\s/}]
},
{
begin:/(?<=show\sip\sospf\sinterface)/,
end: $command,
contains:[{className: 'string', begin: /\s[aA-zZ]+[\d\/]+\s/}, {className: 'keyword', variants: [{begin:/\bup\b/},{begin:/(?<=Network\sType|State).+(?<=,)/}]},{className: 'number', variants:[{begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/}]}] //{begin:/\s\d+\s/}
},
{
begin:/(?<=show\sip\sospf\sborder\-routers)/,
end: $command,
contains: [{className: 'keyword', variants:[{begin: /(?<=\s).\s(?=-)/},{begin:/^\w\s/},{begin: /Area\s\d+/}]},{className: 'number', begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/},{className: 'string', begin: /\b[aA-zZ]+[\d\/]+\b/}]
},
{
begin:/(?<=show\sip\sospf\sdatabase)/,
end: $command,
contains: [{className:'keyword', variants:[{begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/},{begin:/Area\s\d+/}]},{className:'string', begin:/0[xX][\daA-fF]+/},{className: 'number', begin:/\s\d+\s/}]
},
{
begin: /(?<=show\sip\scache\sflow)/,
end: $command,
contains: [{className: 'number', variants: [{begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/}, {begin: /\b\d+(\.\d+)?\b/}]}, {className: 'keyword', variants: [{begin: /\b[aA-zZ]+\d\/\d(\/\d)?(\.\d+)?\b/},{begin: /NULL|Local/}]}]
},
{
begin: /(?<=show\sip\sflow\sexport)/,
end: $command,
contains: [{className: 'number', begin: /\b\d+\b/}]
},
{
begin: /(?<=show\sip\sinterface\s[aA-zZ]+\s*[\d\/]+)/,
end: $command,
contains:[{className: 'number', variants:[{begin: /(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/},{begin: /\s\d+\s/}]},{className: 'string', variants: [{begin:/(?<=is\s)(?:up|down)/},{begin: '"', end: '"'}]},{className: 'keyword', begin: /MTU/}]
},
{
begin: /(?<=show\ssnmp\scommunity)/,
end: $command,
contains: [{className: 'string', begin: /(?<=:).+?(?=\s)/}]
},
{
begin: /(?<=show\ssnmp)/,
end: $command,
contains: [{className: 'number', begin: /\s\d+\s/}]
},
{
begin: /(?<=show\sip\sbgp\ssummary)/,
end: $command,
contains: [{className: 'keyword', begin:/(?:[0-9]{1,3}\.){3}[0-9]{1,3}(\/\d+)?/},{className: 'number', begin: /\b\d+\b/}]
},
{
begin: /(?<=show\saccess\-lists)/,
end: $command,
contains: [{className: 'string', variants: [{begin:/any/},{begin:/(?<=access\slist|eq).+(?=$)/}]},{className: 'number', variants:[{begin: $ip4},{begin: /\b\d+\b/}]},{className: 'keyword', begin:/(?<=(permit|deny)\s).+?(?=\s)/}]
},
{
begin: /(Current configuration|Building configuration)/,
end: /^end\s/,
contains: [
{className: 'string', begin: /^ntp/, end: /$/, contains: [{className: 'number', begin: $ip4}]},
{className: 'string', begin: /^ip\sflow/, end: /$/, contains: [{className: 'number', variants:[{begin: $ip4},{begin: /\b\d+\b/}]}]},
{className: 'string', begin: /^logging/, end:/$/, contains:[{className: 'keyword', begin: /(?<=trap).+(?=$)/},{className: 'number', begin: $ip4}]},
{className: 'string', begin: /^spanning\-tree/, end: /$/, contains: [{className: 'keyword', variants:[{begin:/(?<=mode|priority).+(?=$)/},{begin:/(?<=vlan).+(?=priority)/}]}]},
{className: 'string', begin: /^ip\sdhcp\spool/, end: /!/, excludeEnd: true, contains: [{className: 'keyword', begin: /(?<=pool).+(?=$)/},{className: 'number', begin: $ip4}]},
{className: 'string', begin: /^ip\sdhcp\sex/, end: /$/, contains:[{className: 'number', begin: $ip4}]},
{className: 'string', begin: /^ip\snat/, end:/$/, contains:[{className: 'keyword', variants: [{begin: /(?<=list).+(?=pool|interface)/},{begin: /(?<=interface).+(?=overload)/},{begin:/(?<=pool\s).+?(?=\s)/}]},{className: 'number', begin: $ip4}]},
{className: 'string', begin: /^access-list/, end:/$/, contains: [{className: 'number', variants:[{begin: $ip4},{begin: /\b\d+\b/}]}]},
{className: 'string', begin: /^enable/, end: /$/, contains: [{className: 'keyword', begin:/(?<=secret|password).+(?=$)/}]},
{className: 'string', begin: /^banner\smotd/, end: /$/, contains: [{className: 'keyword', begin: /(?<=motd).+(?=$)/}]},
{className: 'string', begin:/^ip\sroute/, end: /$/, contains: [{className: 'number', begin: $ip4}]},
{className: 'string', begin:/^ip\slocal\spool/, end:/$/, contains: [{className: 'number', begin: $ip4},{className: 'keyword', begin:/(?<=pool\s).+?(?=\s)/}]},
{className: 'string', begin:/^line/, end: /!/, excludeEnd: true, contains: [{className: 'keyword', variants: [{begin:/(?<=line|input|password).+(?<=$)/}]},{className: 'number', begin: /\b\d+\b/}]},
{className: 'string', begin: /^ipv6\srouter/, end: /$/, contains:[{className: 'keyword', begin:/(?<=router).+(?<=$)/}]},
{className: 'string', begin: /^ipv6\sdhcp/, end: /!/, excludeEnd: true, contains: [{className: 'number', variants: [{begin: $ip6},{begin:/\b\d+\b/}]},{className: 'keyword', begin: /(?<=(name|pool)).+(?<=$)/}]},
{className: 'string', begin:/^ip\sdomain\sname/, end:/$/, contains:[{className: 'keyword', begin: /(?<=name).+(?=$)/}]},
{className: 'string', begin: /^hostname/, end: /$/, contains:[{className: 'keyword', begin: /(?<=hostname).+(?=$)/}]},
{className: 'string', begin:/^username/, end: /$/, contains: [{className:'keyword', variants:[{ begin: /(?<=username).+?(?=\s)/},{begin: /(?<=secret|password).+(?=$)/}]},{className: 'number', begin: /\b\d+\b/}]},
{className: 'string', begin: /^(?:interface|bba\-group)/, end: /!/,excludeEnd: true, contains: [{className: 'keyword', variants: [{begin:/(?<=interface|server|duplex|speed|group|pool|chap\s(?:hostname|password)|encapsulation|description|ip\snat|switchport\smode).+(?<=$)/},{begin:/(?<=ipv6).+(?=enable)/}]},{className: 'number', variants:[{begin:/dhcp|negotiated/},{begin: $mac},{begin: $ip4},{begin: $ip6},{begin:/\b\d+\b/}]}]},
{className: 'string', begin:/^router/, end: /!/, excludeEnd: true, contains:[{className: 'keyword', begin: /(?<=router|passive\-interface|default\-information).+(?=$)/},{className: 'number', variants: [{begin: $ip4},{begin: $ip6},{begin: /\b\d+\b/}]}]}
]
},
{
begin:/(?<=show\sppp\smultilink)/,
end: $command,
contains:[{className: 'keyword', begin: /^\s*\w+(?=,)/}, {className: 'string', variants: [{begin: /(?<=(?:name|discriminator)\sis).+(?=$)/},{begin: /\b[aA-zZ]+\d+(\/\d+(\/\d+)?)?\b/}]},{className: 'number', variants:[{begin: /\b\d+x[\daA-fF]+/},{begin: /\b\d+/}]}]
},
{
begin: /(?<=show\sip\slocal\spool)/,
end: $command,
contains: [{className: 'keyword', begin: /(?<=^)\s*(?!Pool)\w+?(?=\s)/},{className: 'number', variants: [{begin: $ip4},{begin: /\b\d+/}]}]
},
{
begin: /(?<=show\spppoe\ssession)/,
end: $command,
contains: [{className: 'number', variants: [{begin: $mac}, {begin: /\b\d+/}]},{className: 'string', begin: /\b[aA-zZ\-]+\d+(\/\d+(\/\d+)?)?\b/}]
},
{
begin: /(?<=show\sntp\sstatus)/,
end: $command,
contains: [{className: 'keyword', begin: $ip4},{className: 'number', variants:[{begin: /\b\d+(\.\d+)?/}]}]
},
{
begin: /(?<=show\sclock)/,
end: $command,
contains: [{className: 'string', begin: /\b[aA-zZ]+\b/},{className: 'number', begin: /\b\d+/}]
},
{
begin: /(?<=show\sntp\sassociations)/,
end: $command,
contains: [{className: 'keyword', begin: $ip4},{className: 'number', begin: /\b\d+(\.\d+)?/}]
},
{
begin: /(?<=show\scontrollers(?:\s*[aA-zZ\-]+\d+(?:\/\d+(?:\/\d+)?)?)?)/,
end: $command,
contains: [{className: 'number', variants: [{begin: /0(x|X)[0-9a-fA-F]+/},{begin: /\b[\da-fA-F]{4}\b/},{begin: /\b\d+(\.\d+)?/}]}]
},
{
begin: /(?<=show\sip\sdhcp\sserver\sstatistics)/,
end: $command,
contains: [{className: 'keyword', begin: /(?<=^\s*)(?!Message).+?(?=\d)/},{className: 'number', begin: /\b\d+/}]
},
{
begin: /(?<=show\slogging)/,
end: $command,
contains: [{className: 'number', begin: /\b\d+/},{className: 'keyword', begin: /\b[aA-zZ]+\slogging:/}]
},
{
begin: /(?<=show\smonitor)/,
end: $command,
contains: [{className: 'keyword', begin: /session\s+\d+/},{className: 'string', variants: [{begin: /\b[aA-zZ\-]+\d+(\/\d+(\/\d+)?)?\b/},{begin: /(?<=Type\s+:).+(?=$)/}]}]
},
/* Section of cisco command keywords, argument, etc. */
{
begin: /^\s*[a-zA-Z0-9_\-]+(?:\(([a-zA-Z0-9\-]*)\)#|(?:>|#))/,
returnBegin:true,
end: /$/,
contains:
[
{
className: 'keyword',
begin: /#/,
end: /$/,
excludeBegin: true,
contains:
[
{
className: 'number',
variants:
[
{
begin: $ip4
},
{
begin: $ip6
},
{
begin: $mac
},
{
className: 'string',
begin: /\b[aA-zZ\-]+\s*\d\/\d(\/\d)?\b/,
},
{
begin: /\b\d+/
},
{
className: 'string',
begin: /(?<=ipv6\srip).+?(?=\s)/
},
{
begin: /(?<=version\s)\d+(?=$)/
},
{
className: 'string',
begin: /(?<=username\s+).+?(?=privilege|secret|password)/
},
{
className: 'string',
begin: /(?<=(access\-group|traffic\-filter)).+(?=in|out)/
},
{
className: 'string',
begin: /(?<=(secret|password|router|remark|passive\-interface|eq|range|key\-string|key\schain|#\s*name|description|hostname|standard|domain-name|dhcp\s(pool|server))\s+).*(?=$|\W)/
},
{
className: 'string',
begin: /(?<=access-class\s+).+(?=in)/
},
{
className: 'string',
begin: /(?<=ip(v6)?\saccess\-list\s).+(?=$)/
},
{
className: 'string',
begin: /(?<=banner\smotd\s.).+(?=\s.\s)/
},
{
className: 'string',
begin: /(?<=source\slist\s).+(?=interface|pool)/
},
{
className: 'string',
begin: /(?<=digest\-key).+(?=md5)/
},
{
className: 'string',
begin: /(?<=pool\s)[a-zA-Z\s]+(?=overload|\d)/
},
{
className: 'string',
begin: /(?<=peer\sdefault\sip\saddress\spool).+(?=$)/
},
{
className: 'string',
begin: /(?<=snmp\-server\s(location|contact)).+(?=$)/
},
{
className: 'string',
begin: /(?<=snmp\-server\scommunity).+(?=ro)/
},
{
className: 'string',
begin: /(?<=md5).+(?=$)/
},
{
className: 'string',
begin: /(?<=(permit|deny)\s).+?(?=\s)/
},
{
begin: /(prefix|clockrate|vty|privilege\slevel|maximum|vlan(\s(add|remove))?)\s/,
end:/$/,
excludeBegin: true
},
]
}
]
}
]
}
]
}
]
}
}
})();
hljs.registerLanguage('cisco-cli', $hljsCiscoCli);
})();

File diff suppressed because one or more lines are too long

View file

@ -1,13 +0,0 @@
/*! `iptables` grammar compiled for Highlight.js 11.8.0 */
(()=>{var d=(()=>{"use strict";return d=>{
const a=["ACCEPT","DROP","REJECT","RELATED","ESTABLISHED","SYN","RST","TCPMSS","MARK","RETURN"]
;return{name:"Iptables",aliases:["iptables"],case_insensitive:!1,keywords:a,
contains:[{scope:"attribute",match:/ -[a-z]| --[a-z-]+/},{scope:"type",
match:/-[A-Z]/},{scope:"string",begin:'"',end:'"'},d.HASH_COMMENT_MODE,{
scope:"number",
match:"((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))\\b"
},{scope:"number",
match:"((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\b"
},d.inherit(d.NUMBER_MODE,{begin:/\b\d+[dhwm]?/}),{scope:"section",
match:/:[A-Z-]+([0-9]+)?/},{scope:"variable",match:/[A-Z-]{2,}([0-9]+)?/,
keywords:a}]}}})();hljs.registerLanguage("iptables",d)})();

View file

@ -1,10 +0,0 @@
/*! `properties` grammar compiled for Highlight.js 11.9.0 */
(()=>{var e=(()=>{"use strict";return e=>{
const n="[ \\t\\f]*",t=n+"[:=]"+n,s="[ \\t\\f]+",a="([^\\\\:= \\t\\f\\n]|\\\\.)+",r={
end:"("+t+"|"+s+")",relevance:0,starts:{className:"string",end:/$/,relevance:0,
contains:[{begin:"\\\\\\\\"},{begin:"\\\\\\n"}]}};return{name:".properties",
disableAutodetect:!0,case_insensitive:!0,illegal:/\S/,
contains:[e.COMMENT("^\\s*[!#]","$"),{returnBegin:!0,variants:[{begin:a+t},{
begin:a+s}],contains:[{className:"attr",begin:a,endsParent:!0}],starts:r},{
className:"attr",begin:a+n+"$"}]}}})();hljs.registerLanguage("properties",e)
})();

View file

@ -1,76 +0,0 @@
(() => {
var $hljsRpmSpec = (() => {
'use strict';
return () => {
const $COMMENT = hljs.COMMENT('%dnl');
const $TYPES = {
className: 'type',
begin: /^(Name|BuildRequires|BuildConflicts|Version|Release|Epoch|Summary|Group|License|Packager|Vendor|Icon|URL|Distribution|Prefix|Patch[0-9]*|Source[0-9]*|Requires\(?[a-z]*\)?|[a-zA-Z]+Req|Obsoletes|Recommends|Suggests|Supplements|Enhances|Provides|Conflicts|RemovePathPostfixes|Build[a-zA-Z]+|[a-zA-Z]+Arch|Auto[a-zA-Z]+)(:)/,
};
const $SECTIONS = {
className: 'keyword',
begin: /(%)(ifarch|ifnarch|ifos|ifnos|if|elifarch|elifos|elif|else|endif)/,
};
const $KEYWORDS = {
className: 'keyword',
begin: /(%)(ifarch|ifnarch|ifos|ifnos|if|elifarch|elifos|elif|else|endif)/,
};
return {
name: 'rpm-spec',
aliases: ['rpm', 'spec', 'rpm-spec', 'specfile'],
contains: [
$COMMENT,
hljs.HASH_COMMENT_MODE,
hljs.QUOTE_STRING_MODE,
$TYPES,
$SECTIONS,
$KEYWORDS,
{
className: 'operator',
begin: /[>=<]/,
},
{
className: 'variable',
begin: /%\{_/,
end: /}/,
},
{
className: 'symbol',
begin: /%\{\?/,
end: /}/,
},
{
className: 'variable',
begin: /%\{/,
end: /}/,
},
{
className: 'variable',
begin: /%\${/,
end: /}/,
},
{
className: 'variable',
begin: /\${/,
end: /}/,
},
{
className: 'variable',
begin: /(\$[\w\d#@][\w\d_]+)/,
},
{
className: 'symbol',
begin: /%/,
end: /[ \t\n]/,
},
{
className: 'doctag',
begin: /^\* (Mon|Tue|Wed|Thu|Fri|Sat|Sun)/,
end: /$/,
},
]
}
};
})();
hljs.registerLanguage('rpm-spec', $hljsRpmSpec);
})();

View file

@ -1,239 +0,0 @@
(() => {
var $hljsRpmSpec = (() => {
'use strict';
return () => {
const $regex = hljs.regex;
const $COMMENT = hljs.inherit(hljs.COMMENT(), {match: [/(^|\s)/, /#.*$/], scope: {2: 'comment'}});
const $KEYWORDS = [
'case',
'do',
'done',
'elif',
'else',
'esac',
'fi',
'for',
'function',
'if',
'in',
'select',
'then',
'until',
'while',
];
const $SHELL_BUILT_INS = [
'break',
'cd',
'continue',
'eval',
'exec',
'exit',
'export',
'getopts',
'hash',
'pwd',
'readonly',
'return',
'shift',
'test',
'times',
'trap',
'umask',
'unset',
];
const $BASH_BUILT_INS = [
'alias',
'bind',
'builtin',
'caller',
'command',
'declare',
'echo',
'enable',
'help',
'let',
'local',
'logout',
'mapfile',
'printf',
'read',
'readarray',
'source',
'sudo',
'type',
'typeset',
'ulimit',
'unalias',
];
const $GNU_CORE_UTILS = [
'arch',
'b2sum',
'base32',
'base64',
'basename',
'cat',
'chcon',
'chgrp',
'chmod',
'chown',
'chroot',
'cksum',
'comm',
'cp',
'csplit',
'cut',
'date',
'dd',
'df',
'dir',
'dircolors',
'dirname',
'du',
'echo',
'env',
'expand',
'expr',
'factor',
'fmt',
'fold',
'groups',
'head',
'hostid',
'id',
'join',
'link',
'ln',
'logname',
'ls',
'md5sum',
'mkdir',
'mkfifo',
'mknod',
'mktemp',
'mv',
'nice',
'nl',
'nohup',
'nproc',
'numfmt',
'od',
'paste',
'pathchk',
'pinky',
'pr',
'printenv',
'printf',
'ptx',
'pwd',
'readlink',
'realpath',
'rm',
'rmdir',
'runcon',
'sed',
'seq',
'sha1sum',
'sha224sum',
'sha256sum',
'sha384sum',
'sha512sum',
'shred',
'shuf',
'sleep',
'sort',
'split',
'stat',
'stdbuf',
'stty',
'sum',
'sync',
'tac',
'tail',
'tee',
'test',
'timeout',
'touch',
'tr',
'truncate',
'tsort',
'tty',
'uname',
'unexpand',
'uniq',
'unlink',
'uptime',
'users',
'vdir',
'wc',
'who',
'whoami',
'yes'
];
return {
name: 'rpm-spec',
aliases: ['rpm', 'spec', 'rpm-spec', 'specfile'],
keywords: {
$pattern: /\b[a-z][a-z0-9._-]+\b/,
keyword: $KEYWORDS,
built_in: [
...$SHELL_BUILT_INS,
...$BASH_BUILT_INS,
...$GNU_CORE_UTILS,
]
},
contains: [
$COMMENT,
hljs.HASH_COMMENT_MODE,
hljs.QUOTE_STRING_MODE,
{
className: 'type',
begin: /^(Name|BuildRequires|BuildConflicts|Version|Release|Epoch|Summary|Group|License|Packager|Vendor|Icon|URL|Distribution|Prefix|Patch[0-9]*|Source[0-9]*|Requires\(?[a-z]*\)?|[a-zA-Z]+Req|Obsoletes|Recommends|Suggests|Supplements|Enhances|Provides|Conflicts|RemovePathPostfixes|Build[a-zA-Z]+|[a-zA-Z]+Arch|Auto[a-zA-Z]+)(:)/,
},
{
className: 'section',
begin: /(%)(?:package|prep|generate_buildrequires|sourcelist|patchlist|build|description|install|verifyscript|clean|changelog|check|pre[a-z]*|post[a-z]*|trigger[a-z]*|files)/,
},
{
className: 'keyword',
begin: /(%)(ifarch|ifnarch|ifos|ifnos|if|elifarch|elifos|elif|else|endif)/,
},
{
className: 'operator',
begin: /[>=<]/,
},
{
className: 'variable',
begin: /%\{_/,
end: /}/,
},
{
className: 'symbol',
begin: /%\{\?/,
end: /}/,
},
{
className: 'variable',
begin: /%\{/,
end: /}/,
},
{
className: 'variable',
begin: $regex.concat(/\$[\w\d#@][\w\d_]*/, `(?![\\w\\d])(?![$])`),
},
{
className: 'symbol',
begin: /%/,
end: /[ \t\n]/
},
{
className: 'symbol font-weight-bold',
begin: /^\* (Mon|Tue|Wed|Thu|Fri|Sat|Sun)/,
end: /$/,
},
]
}
};
})();
hljs.registerLanguage('rpm-spec', $hljsRpmSpec);
})();

View file

@ -67,26 +67,4 @@ scripts:
- 'js/system.js'
code:
internal:
# https://cdn.jsdelivr.net/gh/highlightjs/cdn-release/build/highlight.min.js
- 'js/vendor/hljs/highlight.min.js'
- 'js/vendor/hljs/apache.min.js'
- 'js/vendor/hljs/autohotkey.min.js'
- 'js/vendor/hljs/autoit.min.js'
- 'js/vendor/hljs/awk.min.js'
- 'js/vendor/hljs/cisco-cli.js'
- 'js/vendor/hljs/cmake.min.js'
- 'js/vendor/hljs/dns.min.js'
- 'js/vendor/hljs/dockerfile.min.js'
- 'js/vendor/hljs/dos.min.js'
- 'js/vendor/hljs/excel.min.js'
- 'js/vendor/hljs/http.min.js'
- 'js/vendor/hljs/iptables.min.js'
- 'js/vendor/hljs/nginx.min.js'
- 'js/vendor/hljs/pf.min.js'
- 'js/vendor/hljs/pgsql.min.js'
- 'js/vendor/hljs/powershell.min.js'
- 'js/vendor/hljs/properties.min.js'
- 'js/vendor/hljs/routeros.min.js'
- 'js/vendor/hljs/rpm-spec.js'
- 'js/vendor/hljs/twig.min.js'
- 'js/vendor/hljs/vbscript.min.js'
- 'js/code.js'

View file

@ -24,7 +24,7 @@
{{ with ($scripts.code.internal) }}
{{ $bundle := slice }}
{{ range . }}{{ $bundle = (($bundle) | append (resources.Get .)) }}{{ end }}
{{ $bundle = (($bundle) | resources.Concat "js/code.bundle.js") }}
{{ $bundle = ((($bundle) | resources.Concat "js/code.bundle.js") | js.Build) }}
{{ $bundle = ((($bundle) | minify) | resources.Fingerprint) }}
<script src="{{ ($bundle.RelPermalink) }}" integrity="{{ ($bundle.Data.Integrity) }}"
crossorigin="anonymous" defer></script>