From 63f87d18873b7d7c6b83f22ab8bae1fad86060ae Mon Sep 17 00:00:00 2001 From: geekifan Date: Mon, 28 Apr 2025 18:44:34 +0800 Subject: [PATCH] feat: language alias --- layouts/partials/language-alias.html | 70 ++++++++++++++++++++++++++ layouts/partials/refactor-content.html | 17 ++++++- 2 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 layouts/partials/language-alias.html diff --git a/layouts/partials/language-alias.html b/layouts/partials/language-alias.html new file mode 100644 index 0000000..fbb5b4c --- /dev/null +++ b/layouts/partials/language-alias.html @@ -0,0 +1,70 @@ +{{/* + Convert the alias of the syntax language to the official name + See: +*/}} + +{{ $lang := .language | default "" }} + +{{ $result := "" }} + +{{ if eq $lang "actionscript" "as" "as3" }} + {{ $result = "ActionScript" }} +{{ else if eq $lang "applescript" }} + {{ $result = "AppleScript" }} +{{ else if eq $lang "brightscript" "bs" "brs" }} + {{ $result = "BrightScript" }} +{{ else if eq $lang "cfscript" "cfc" }} + {{ $result = "CFScript" }} +{{ else if eq $lang "coffeescript" "coffee" "coffee-script" }} + {{ $result = "CoffeeScript" }} +{{ else if eq $lang "cs" "csharp" }} + {{ $result = "C#" }} +{{ else if eq $lang "erl" }} + {{ $result = "Erlang" }} +{{ else if eq $lang "graphql" }} + {{ $result = "GraphQL" }} +{{ else if eq $lang "haskell" "hs" }} + {{ $result = "Haskell" }} +{{ else if eq $lang "javascript" "js" }} + {{ $result = "JavaScript" }} +{{ else if eq $lang "make" "mf" "gnumake" "bsdmake" }} + {{ $result = "Makefile" }} +{{ else if eq $lang "md" "mkd" }} + {{ $result = "Markdown" }} +{{ else if eq $lang "m" }} + {{ $result = "Matlab" }} +{{ else if eq $lang "objective_c" "objc" "obj-c" "obj_c" "objectivec" }} + {{ $result = "Objective-C" }} +{{ else if eq $lang "perl" "pl" }} + {{ $result = "Perl" }} +{{ else if eq $lang "php" "php3" "php4" "php5" }} + {{ $result = "PHP" }} +{{ else if eq $lang "py" }} + {{ $result = "Python" }} +{{ else if eq $lang "rb" }} + {{ $result = "Ruby" }} +{{ else if eq $lang "rs" "no_run" "ignore" "should_panic" }} + {{ $result = "Rust" }} +{{ else if eq $lang "bash" "zsh" "ksh" "sh" }} + {{ $result = "Shell" }} +{{ else if eq $lang "st" "squeak" }} + {{ $result = "Smalltalk" }} +{{ else if eq $lang "tex" }} + {{ $result = "TeX" }} +{{ else if eq $lang "latex" }} + {{ $result = "LaTex" }} +{{ else if eq $lang "ts" "typescript" }} + {{ $result = "TypeScript" }} +{{ else if eq $lang "vb" "visualbasic" }} + {{ $result = "Visual Basic" }} +{{ else if eq $lang "vue" "vuejs" }} + {{ $result = "Vue.js" }} +{{ else if eq $lang "yml" }} + {{ $result = "YAML" }} +{{ else if eq $lang "css" "html" "scss" "ssh" "toml" "xml" "yaml" "json" }} + {{ $result = upper $lang }} +{{ else }} + {{ $result = title $lang }} +{{ end }} + +{{ return $result }} \ No newline at end of file diff --git a/layouts/partials/refactor-content.html b/layouts/partials/refactor-content.html index 8f1e35e..dc78881 100644 --- a/layouts/partials/refactor-content.html +++ b/layouts/partials/refactor-content.html @@ -50,7 +50,22 @@ {{ $content = replaceRE `
]*?)file="([^"]*)"([^>]*?)>` `
` $content }} - {{ $content = replaceRE `
]*?)>([\s\S]*?)
$2]*?)>([\s\S]*?)
$2 + {{ $pattern := ` + {{ range findRE $pattern $content -1 }} + {{ $langRaw := replaceRE $pattern "$1" . }} + {{ $langNormalized := partial "language-alias.html" (dict "language" $langRaw) }} + + {{ if ne $langNormalized "" }} + {{ $replacement := printf `