diff --git a/config.default.yml b/config.default.yml index 8285266..7a7c9c4 100644 --- a/config.default.yml +++ b/config.default.yml @@ -21,6 +21,9 @@ app: custom_languages: vue: Vue jsx: JSX + tsx: TSX + cjs: JavaScript + ipynb: Python svelte: Svelte # url template for user avatar images (to be used with services like gravatar or dicebear) diff --git a/models/view/leaderboard.go b/models/view/leaderboard.go index 009afb0..619be2b 100644 --- a/models/view/leaderboard.go +++ b/models/view/leaderboard.go @@ -48,25 +48,32 @@ func (s *LeaderboardViewModel) ColorModifier(item *models.LeaderboardItemRanked, func (s *LeaderboardViewModel) LangIcon(lang string) string { // https://icon-sets.iconify.design/mdi/ langs := map[string]string{ - "c++": "cpp", - "cpp": "cpp", - "go": "go", - "haskell": "haskell", - "html": "html5", - "java": "java", - "javascript": "javascript", - "kotlin": "kotlin", - "lua": "lua", - "php": "php", - "python": "python", - "r": "r", - "ruby": "ruby", - "rust": "rust", - "swift": "swift", - "typescript": "typescript", + "c++": "language-cpp", + "cpp": "language-cpp", + "go": "language-go", + "haskell": "language-haskell", + "html": "language-html5", + "java": "language-java", + "javascript": "language-javascript", + "jsx": "language-javascript", + "kotlin": "language-kotlin", + "lua": "language-lua", + "php": "language-php", + "python": "language-python", + "r": "language-r", + "ruby": "language-ruby", + "rust": "language-rust", + "swift": "language-swift", + "typescript": "language-typescript", + "tsx": "language-typescript", + "vue": "language-vuejs", + "react": "language-react", + "markdown": "language-markdown", + "bash": "bash", + "json": "code-json", } if match, ok := langs[strings.ToLower(lang)]; ok { - return "mdi:language-" + match + return "mdi:" + match } return "" } diff --git a/scripts/bundle_icons.js b/scripts/bundle_icons.js index cea151b..07f7380 100755 --- a/scripts/bundle_icons.js +++ b/scripts/bundle_icons.js @@ -70,6 +70,11 @@ let icons = [ 'mdi:language-rust', 'mdi:language-swift', 'mdi:language-typescript', + 'mdi:language-vuejs', + 'mdi:language-react', + 'mdi:language-markdown', + 'mdi:code-json', + 'mdi:bash', 'twemoji:frowning-face', ] diff --git a/static/assets/js/icons.dist.js b/static/assets/js/icons.dist.js index 32c619b..47f4ae0 100644 --- a/static/assets/js/icons.dist.js +++ b/static/assets/js/icons.dist.js @@ -20,4 +20,4 @@ Iconify.addCollection({"prefix":"fa-solid","icons":{"external-link-alt":{"body": Iconify.addCollection({"prefix":"simple-icons","icons":{"wakatime":{"body":""}},"width":24,"height":24}); Iconify.addCollection({"prefix":"heroicons-solid","icons":{"light-bulb":{"body":""},"server":{"body":""}},"width":20,"height":20}); Iconify.addCollection({"prefix":"ion","icons":{"rocket":{"body":""}},"width":512,"height":512}); -Iconify.addCollection({"prefix":"mdi","icons":{"language-c":{"body":""},"language-cpp":{"body":""},"language-go":{"body":""},"language-haskell":{"body":""},"language-html5":{"body":""},"language-java":{"body":""},"language-javascript":{"body":""},"language-kotlin":{"body":""},"language-lua":{"body":""},"language-php":{"body":""},"language-python":{"body":""},"language-r":{"body":""},"language-ruby":{"body":""},"language-rust":{"body":""},"language-swift":{"body":""},"language-typescript":{"body":""}},"width":24,"height":24}); +Iconify.addCollection({"prefix":"mdi","icons":{"language-c":{"body":""},"language-cpp":{"body":""},"language-go":{"body":""},"language-haskell":{"body":""},"language-html5":{"body":""},"language-java":{"body":""},"language-javascript":{"body":""},"language-kotlin":{"body":""},"language-lua":{"body":""},"language-php":{"body":""},"language-python":{"body":""},"language-r":{"body":""},"language-ruby":{"body":""},"language-rust":{"body":""},"language-swift":{"body":""},"language-typescript":{"body":""},"language-markdown":{"body":""},"code-json":{"body":""},"bash":{"body":""}},"width":24,"height":24}); diff --git a/static/assets/js/icons.dist.js.br b/static/assets/js/icons.dist.js.br index e7b3241..d7bdad8 100644 Binary files a/static/assets/js/icons.dist.js.br and b/static/assets/js/icons.dist.js.br differ