Colby McHenry пре 2 месеци
родитељ
комит
6ea65246a5

+ 45 - 0
README.md

@@ -109,6 +109,51 @@ codegraph uninstall
 
 ---
 
+## Language Support
+
+Every language below gets the same treatment — full structural extraction and cross-file resolution into one graph, no per-language setup:
+
+<p align="center">
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/typescript.svg?v=1" width="104" height="104" alt="TypeScript" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/javascript.svg?v=1" width="104" height="104" alt="JavaScript" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/arkts.svg?v=1" width="104" height="104" alt="ArkTS" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/python.svg?v=1" width="104" height="104" alt="Python" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/go.svg?v=1" width="104" height="104" alt="Go" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/rust.svg?v=1" width="104" height="104" alt="Rust" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/java.svg?v=1" width="104" height="104" alt="Java" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/csharp.svg?v=1" width="104" height="104" alt="C#" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/php.svg?v=1" width="104" height="104" alt="PHP" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/ruby.svg?v=1" width="104" height="104" alt="Ruby" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/c.svg?v=1" width="104" height="104" alt="C" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/cpp.svg?v=1" width="104" height="104" alt="C++" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/objective-c.svg?v=1" width="104" height="104" alt="Objective-C" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/metal.svg?v=1" width="104" height="104" alt="Metal" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/cuda.svg?v=1" width="104" height="104" alt="CUDA" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/swift.svg?v=1" width="104" height="104" alt="Swift" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/kotlin.svg?v=1" width="104" height="104" alt="Kotlin" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/scala.svg?v=1" width="104" height="104" alt="Scala" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/dart.svg?v=1" width="104" height="104" alt="Dart" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/svelte.svg?v=1" width="104" height="104" alt="Svelte" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/vue.svg?v=1" width="104" height="104" alt="Vue" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/astro.svg?v=1" width="104" height="104" alt="Astro" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/liquid.svg?v=1" width="104" height="104" alt="Liquid" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/delphi.svg?v=1" width="104" height="104" alt="Pascal / Delphi" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/lua.svg?v=1" width="104" height="104" alt="Lua" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/r.svg?v=1" width="104" height="104" alt="R" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/luau.svg?v=1" width="104" height="104" alt="Luau" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/cfml.svg?v=1" width="104" height="104" alt="CFML" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/cobol.svg?v=1" width="104" height="104" alt="COBOL" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/vbnet.svg?v=1" width="104" height="104" alt="Visual Basic .NET" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/erlang.svg?v=1" width="104" height="104" alt="Erlang" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/solidity.svg?v=1" width="104" height="104" alt="Solidity" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/terraform.svg?v=1" width="104" height="104" alt="Terraform / OpenTofu" />
+  <img src="https://raw.githubusercontent.com/colbymchenry/codegraph/main/assets/languages/nix.svg?v=1" width="104" height="104" alt="Nix" />
+</p>
+
+<sub>Per-language details — extensions, frameworks, and what exactly gets extracted — in [Supported Languages](#supported-languages).</sub>
+
+---
+
 ## Why CodeGraph?
 
 When an AI agent needs to understand code — to answer a question or make a change — it discovers structure the slow way: grep, glob, and Read, one file at a time, rebuilding call paths and dependencies by hand. That's a pile of tool calls and round-trips before it even starts the real work.

+ 268 - 0
assets/generate-language-tiles.py

@@ -0,0 +1,268 @@
+#!/usr/bin/env python3
+"""Generate assets/languages/*.svg — the README "Language Support" icon grid.
+
+One tile per supported language: a paper card with the language's vector mark and
+its name centered underneath. Labels are converted to vector outlines (Archivo,
+same pipeline as generate-waitlist.py) so the SVG renders pixel-identical
+everywhere: GitHub loads README SVGs in "secure static mode", which blocks
+@font-face / web-font loading, so outlines are the only reliable way to ship the
+brand typeface. Every tile sits on the brand paper (#f7f6f2), so brand-colored
+marks — including near-black ones like Rust — stay legible on GitHub light *and*
+dark themes with no media-query tricks.
+
+Glyph sources (fetched at generation time, results checked in):
+  - simple-icons via https://cdn.simpleicons.org/<slug>  (CC0-1.0)
+  - devicon via jsDelivr, pinned @v2.16.0                (MIT) — Java, C#,
+    Objective-C, which simple-icons doesn't carry
+  - hand-drawn in this file: CFML, COBOL, VB.NET (no usable upstream mark)
+
+All trademarks/logos belong to their respective owners; they're used here only
+to indicate language support.
+
+Adding a language: append to LANGS, re-run, reference the new SVG in README.md
+with a fresh `?v=1`. If you change EXISTING tile bytes, bump that tile's `?v=N`
+in README.md in the same commit (GitHub caches README images aggressively).
+
+Requires: fonttools, brotli  (pip install fonttools brotli), network access.
+Font: @fontsource-variable/archivo (latin, wght axis) from the landing-page package.
+Usage: python3 generate-language-tiles.py [--preview /path/to/preview.svg]
+"""
+import os
+import re
+import sys
+import urllib.request
+from fontTools.ttLib import TTFont
+from fontTools.varLib.instancer import instantiateVariableFont
+from fontTools.pens.svgPathPen import SVGPathPen
+from fontTools.pens.transformPen import TransformPen
+from fontTools.misc.transform import Transform
+
+# --- brand palette (mirrors generate-waitlist.py) ---------------------------
+PAPER    = "#f7f6f2"
+HAIRLINE = "#d6d3c8"
+INK      = "#16150f"
+
+FONT = os.path.join(
+    os.path.dirname(__file__),
+    "../../landing-page/node_modules/@fontsource-variable/archivo/files/archivo-latin-wght-normal.woff2",
+)
+
+# --- tile geometry (px) ------------------------------------------------------
+TILE        = 104     # square tile, rx=8 card like the waitlist button
+GLYPH_BOX   = 44      # logo box, horizontally centered
+GLYPH_TOP   = 18
+LABEL_SIZE  = 12.5
+LABEL_WT    = 640
+LABEL_GAP   = 12      # glyph box bottom -> label cap top
+TRACK       = 0.15
+
+DEVICON = "https://cdn.jsdelivr.net/gh/devicons/devicon@v2.16.0/icons/{0}/{0}-{1}.svg"
+
+# (file slug, label, source) — README "Supported Languages" table order.
+# source: ("si", slug) simple-icons | ("devicon", name, variant) | ("custom", key)
+LANGS = [
+    ("typescript",  "TypeScript",  ("si", "typescript")),
+    ("javascript",  "JavaScript",  ("si", "javascript")),
+    ("arkts",       "ArkTS",       ("si", "harmonyos")),
+    ("python",      "Python",      ("si", "python")),
+    ("go",          "Go",          ("si", "go")),
+    ("rust",        "Rust",        ("si", "rust")),
+    ("java",        "Java",        ("devicon", "java", "original")),
+    ("csharp",      "C#",          ("devicon", "csharp", "original")),
+    ("php",         "PHP",         ("si", "php")),
+    ("ruby",        "Ruby",        ("si", "ruby")),
+    ("c",           "C",           ("si", "c")),
+    ("cpp",         "C++",         ("si", "cplusplus")),
+    ("objective-c", "Objective-C", ("devicon", "objectivec", "plain")),
+    ("metal",       "Metal",       ("si", "apple")),
+    ("cuda",        "CUDA",        ("si", "nvidia")),
+    ("swift",       "Swift",       ("si", "swift")),
+    ("kotlin",      "Kotlin",      ("si", "kotlin")),
+    ("scala",       "Scala",       ("si", "scala")),
+    ("dart",        "Dart",        ("si", "dart")),
+    ("svelte",      "Svelte",      ("si", "svelte")),
+    ("vue",         "Vue",         ("si", "vuedotjs")),
+    ("astro",       "Astro",       ("si", "astro")),
+    ("liquid",      "Liquid",      ("si", "shopify")),
+    ("delphi",      "Delphi",      ("si", "delphi")),
+    ("lua",         "Lua",         ("si", "lua")),
+    ("r",           "R",           ("si", "r")),
+    ("luau",        "Luau",        ("si", "luau")),
+    ("cfml",        "CFML",        ("custom", "cfml")),
+    ("cobol",       "COBOL",       ("custom", "cobol")),
+    ("vbnet",       "VB.NET",      ("custom", "vbnet")),
+    ("erlang",      "Erlang",      ("si", "erlang")),
+    ("solidity",    "Solidity",    ("si", "solidity")),
+    ("terraform",   "Terraform",   ("si", "terraform")),
+    ("nix",         "Nix",         ("si", "nixos")),
+]
+
+
+def fetch(url):
+    req = urllib.request.Request(url, headers={"User-Agent": "codegraph-assets"})
+    with urllib.request.urlopen(req, timeout=20) as r:
+        return r.read().decode("utf-8")
+
+
+class Outliner:
+    """Archivo text -> SVG path outlines, one font instance per weight."""
+
+    def __init__(self):
+        self._by_weight = {}
+
+    def _font(self, weight):
+        if weight not in self._by_weight:
+            ft = TTFont(FONT)
+            instantiateVariableFont(ft, {"wght": weight}, inplace=True)
+            self._by_weight[weight] = (ft, ft.getBestCmap(), ft.getGlyphSet(), ft["hmtx"])
+        return self._by_weight[weight]
+
+    def measure(self, text, size, weight, track=TRACK):
+        ft, cmap, _, hmtx = self._font(weight)
+        scale = size / ft["head"].unitsPerEm
+        w = sum(hmtx[cmap[ord(ch)]][0] * scale + track for ch in text)
+        return w - track
+
+    def cap_height(self, size, weight):
+        ft, _, _, _ = self._font(weight)
+        return getattr(ft["OS/2"], "sCapHeight", 700) * size / ft["head"].unitsPerEm
+
+    def outline(self, text, size, weight, start_x, baseline_y, track=TRACK):
+        ft, cmap, glyphs, hmtx = self._font(weight)
+        scale = size / ft["head"].unitsPerEm
+        sink = SVGPathPen(glyphs, ntos=lambda v: f"{round(v, 2):g}")
+        pen_x = start_x
+        for ch in text:
+            gname = cmap[ord(ch)]
+            if ch != " ":
+                t = Transform(scale, 0, 0, -scale, pen_x, baseline_y)
+                glyphs[gname].draw(TransformPen(sink, t))
+            pen_x += hmtx[gname][0] * scale + track
+        return sink.getCommands()
+
+    def centered(self, text, size, weight, center_x, baseline_y, track=TRACK):
+        w = self.measure(text, size, weight, track)
+        return self.outline(text, size, weight, center_x - w / 2, baseline_y, track)
+
+
+def si_glyph(slug):
+    """simple-icons: single brand-colored 24x24 path, scaled into the glyph box."""
+    svg = fetch(f"https://cdn.simpleicons.org/{slug}")
+    fill = re.search(r'fill="(#[0-9A-Fa-f]{3,8})"', svg).group(1)
+    d = re.search(r'<path d="([^"]+)"', svg).group(1)
+    s = round(GLYPH_BOX / 24, 5)
+    x = (TILE - GLYPH_BOX) / 2
+    return f'<g transform="translate({x},{GLYPH_TOP}) scale({s})"><path fill="{fill}" d="{d}"/></g>'
+
+
+def devicon_glyph(name, variant):
+    """devicon: multi-path 128x128 markup, embedded verbatim and scaled."""
+    svg = fetch(DEVICON.format(name, variant))
+    inner = re.search(r"<svg[^>]*>(.*)</svg>", svg, re.S).group(1).strip()
+    s = round(GLYPH_BOX / 128, 5)
+    x = (TILE - GLYPH_BOX) / 2
+    return f'<g transform="translate({x},{GLYPH_TOP}) scale({s})">{inner}</g>'
+
+
+def custom_glyph(key, out):
+    x = (TILE - GLYPH_BOX) / 2          # glyph box left edge (30)
+    cx = TILE / 2                        # 52
+    cy = GLYPH_TOP + GLYPH_BOX / 2       # glyph box vertical center (40)
+    if key == "cfml":
+        # The community CFML mark: a <cf> tag, set in Archivo.
+        size, wt = 20.0, 700
+        baseline = round(cy + out.cap_height(size, wt) / 2, 2)
+        d = out.centered("<cf>", size, wt, cx, baseline, track=0.4)
+        return f'<path fill="#1b5ea6" d="{d}"/>'
+    if key == "cobol":
+        # A punched card: manila stock, clipped corner, punched rows.
+        w, h = GLYPH_BOX, 28
+        top, cut = round(cy - h / 2, 2), 7
+        holes = []
+        for row in range(3):
+            hy = top + 7.4 + row * 6.4
+            for col in range(7):
+                if (row * 3 + col * 5) % 4 != 0:   # deterministic "data" pattern
+                    holes.append(
+                        f'<rect x="{round(x + 4.4 + col * 5.4, 2)}" y="{round(hy, 2)}" width="2.4" height="4" fill="#6b5d33"/>'
+                    )
+        card = (
+            f'M{x + cut},{top} H{x + w} V{top + h} H{x} V{top + cut} Z'
+        )
+        return (
+            f'<path d="{card}" fill="#ecdfb1" stroke="#b3a06a" stroke-width="1" stroke-linejoin="miter"/>'
+            + "".join(holes)
+        )
+    if key == "vbnet":
+        # The .NET-purple badge with a VB monogram.
+        size, wt = 16.5, 720
+        baseline = round(cy + out.cap_height(size, wt) / 2, 2)
+        d = out.centered("VB", size, wt, cx, baseline, track=0.6)
+        return (
+            f'<rect x="{x}" y="{GLYPH_TOP}" width="{GLYPH_BOX}" height="{GLYPH_BOX}" rx="6" fill="#512bd4"/>'
+            f'<path fill="{PAPER}" d="{d}"/>'
+        )
+    raise KeyError(key)
+
+
+def main():
+    preview_path = None
+    if "--preview" in sys.argv:
+        preview_path = sys.argv[sys.argv.index("--preview") + 1]
+
+    out = Outliner()
+    label_baseline = round(GLYPH_TOP + GLYPH_BOX + LABEL_GAP + out.cap_height(LABEL_SIZE, LABEL_WT), 2)
+
+    out_dir = os.path.join(os.path.dirname(__file__), "languages")
+    os.makedirs(out_dir, exist_ok=True)
+
+    bodies = {}
+    for slug, label, source in LANGS:
+        if source[0] == "si":
+            glyph = si_glyph(source[1])
+        elif source[0] == "devicon":
+            glyph = devicon_glyph(source[1], source[2])
+        else:
+            glyph = custom_glyph(source[1], out)
+        label_d = out.centered(label, LABEL_SIZE, LABEL_WT, TILE / 2, label_baseline)
+        body = (
+            f'<rect x="0.5" y="0.5" width="{TILE - 1}" height="{TILE - 1}" rx="8" fill="{PAPER}" stroke="{HAIRLINE}"/>\n'
+            f"  {glyph}\n"
+            f'  <path fill="{INK}" d="{label_d}"/>'
+        )
+        bodies[slug] = body
+        svg = (
+            f'<svg xmlns="http://www.w3.org/2000/svg" width="{TILE}" height="{TILE}" '
+            f'viewBox="0 0 {TILE} {TILE}" role="img" aria-label="{label}">\n'
+            f"  <title>{label}</title>\n"
+            f"  {body}\n"
+            f"</svg>\n"
+        )
+        path = os.path.join(out_dir, f"{slug}.svg")
+        with open(path, "w") as fh:
+            fh.write(svg)
+        print(f"wrote {os.path.relpath(path, os.path.dirname(__file__))}  ({len(svg)}b)  {label}")
+
+    if preview_path:
+        cols, pad = 7, 8
+        rows = -(-len(LANGS) // cols)
+        w = cols * (TILE + pad) + pad
+        h = rows * (TILE + pad) + pad
+        cells = []
+        for i, (slug, _, _) in enumerate(LANGS):
+            tx = pad + (i % cols) * (TILE + pad)
+            ty = pad + (i // cols) * (TILE + pad)
+            cells.append(f'<g transform="translate({tx},{ty})">{bodies[slug]}</g>')
+        light = "".join(cells)
+        with open(preview_path, "w") as fh:
+            fh.write(
+                f'<svg xmlns="http://www.w3.org/2000/svg" width="{w}" height="{h * 2}" viewBox="0 0 {w} {h * 2}">'
+                f'<rect width="{w}" height="{h}" fill="#ffffff"/>{light}'
+                f'<g transform="translate(0,{h})"><rect width="{w}" height="{h}" fill="#0d1117"/>{light}</g>'
+                f"</svg>\n"
+            )
+        print(f"wrote preview {preview_path} (top: light bg, bottom: dark bg)")
+
+
+if __name__ == "__main__":
+    main()

Разлика између датотеке није приказан због своје велике величине
+ 3 - 0
assets/languages/arkts.svg


Разлика између датотеке није приказан због своје велике величине
+ 4 - 0
assets/languages/astro.svg


+ 6 - 0
assets/languages/c.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="104" height="104" viewBox="0 0 104 104" role="img" aria-label="C">
+  <title>C</title>
+  <rect x="0.5" y="0.5" width="103" height="103" rx="8" fill="#f7f6f2" stroke="#d6d3c8"/>
+  <g transform="translate(30.0,18) scale(1.83333)"><path fill="#A8B9CC" d="M16.5921 9.1962s-.354-3.298-3.627-3.39c-3.2741-.09-4.9552 2.474-4.9552 6.14 0 3.6651 1.858 6.5972 5.0451 6.5972 3.184 0 3.5381-3.665 3.5381-3.665l6.1041.365s.36 3.31-2.196 5.836c-2.552 2.5241-5.6901 2.9371-7.8762 2.9201-2.19-.017-5.2261.034-8.1602-2.97-2.938-3.0101-3.436-5.9302-3.436-8.8002 0-2.8701.556-6.6702 4.047-9.5502C7.444.72 9.849 0 12.254 0c10.0422 0 10.7172 9.2602 10.7172 9.2602z"/></g>
+  <path fill="#16150f" d="M52.21 82.73Q50.89 82.73 49.95 82.26Q49.01 81.8 48.52 80.82Q48.02 79.83 48.02 78.29Q48.02 76.03 49.13 74.94Q50.23 73.85 52.21 73.85Q53.29 73.85 54.16 74.22Q55.02 74.59 55.52 75.33Q56.03 76.07 56.03 77.2H54.28Q54.28 76.58 54.02 76.16Q53.76 75.73 53.3 75.51Q52.84 75.29 52.24 75.29Q51.41 75.29 50.86 75.61Q50.32 75.94 50.06 76.57Q49.8 77.2 49.8 78.13V78.45Q49.8 79.39 50.06 80.03Q50.32 80.66 50.86 80.98Q51.4 81.3 52.23 81.3Q52.87 81.3 53.35 81.08Q53.83 80.86 54.09 80.44Q54.35 80.01 54.35 79.4H56.03Q56.03 80.53 55.53 81.27Q55.03 82.01 54.17 82.37Q53.31 82.73 52.21 82.73Z"/>
+</svg>

+ 6 - 0
assets/languages/cfml.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="104" height="104" viewBox="0 0 104 104" role="img" aria-label="CFML">
+  <title>CFML</title>
+  <rect x="0.5" y="0.5" width="103" height="103" rx="8" fill="#f7f6f2" stroke="#d6d3c8"/>
+  <path fill="#1b5ea6" d="M40.66 46.87 30.96 42.92V40.41L40.66 36.44V38.79L33.17 41.66L40.66 44.55ZM48.71 47.1Q47.04 47.1 45.9 46.51Q44.75 45.91 44.17 44.69Q43.59 43.47 43.59 41.6Q43.59 39.7 44.18 38.49Q44.77 37.28 45.91 36.68Q47.05 36.09 48.71 36.09Q49.8 36.09 50.68 36.35Q51.55 36.61 52.18 37.14Q52.82 37.67 53.15 38.47Q53.48 39.27 53.48 40.34H50.7Q50.7 39.63 50.48 39.16Q50.26 38.7 49.81 38.46Q49.36 38.23 48.68 38.23Q47.89 38.23 47.39 38.58Q46.89 38.94 46.65 39.64Q46.41 40.34 46.41 41.38V41.83Q46.41 42.86 46.65 43.56Q46.89 44.27 47.41 44.62Q47.93 44.96 48.78 44.96Q49.45 44.96 49.9 44.73Q50.35 44.49 50.59 44.01Q50.83 43.53 50.83 42.84H53.48Q53.48 43.87 53.15 44.67Q52.82 45.47 52.19 46.01Q51.56 46.55 50.68 46.82Q49.8 47.1 48.71 47.1ZM56.45 46.86V38.48H54.93V36.33H56.45V35.19Q56.45 34.33 56.73 33.65Q57.02 32.98 57.66 32.6Q58.3 32.21 59.37 32.21Q59.67 32.21 60 32.26Q60.33 32.3 60.63 32.37Q60.94 32.44 61.15 32.53V34.37H60.17Q59.68 34.37 59.45 34.6Q59.22 34.83 59.22 35.3V36.33H61.15V38.48H59.22V46.86ZM63.34 46.87V44.55L70.84 41.66L63.34 38.79V36.44L73.05 40.41V42.92Z"/>
+  <path fill="#16150f" d="M39.19 82.73Q37.87 82.73 36.93 82.26Q36 81.8 35.5 80.82Q35.01 79.83 35.01 78.29Q35.01 76.03 36.11 74.94Q37.21 73.85 39.19 73.85Q40.27 73.85 41.14 74.22Q42 74.59 42.51 75.33Q43.01 76.07 43.01 77.2H41.27Q41.27 76.58 41 76.16Q40.74 75.73 40.28 75.51Q39.82 75.29 39.22 75.29Q38.39 75.29 37.84 75.61Q37.3 75.94 37.04 76.57Q36.78 77.2 36.78 78.13V78.45Q36.78 79.39 37.04 80.03Q37.3 80.66 37.84 80.98Q38.38 81.3 39.21 81.3Q39.86 81.3 40.33 81.08Q40.81 80.86 41.07 80.44Q41.33 80.01 41.33 79.4H43.01Q43.01 80.53 42.51 81.27Q42.01 82.01 41.15 82.37Q40.29 82.73 39.19 82.73ZM44.62 82.58V74H50.85V75.45H46.34V77.68H50.39V79.12H46.34V82.58ZM52.44 82.58V74H55.12L56.42 78.63Q56.49 78.87 56.57 79.19Q56.64 79.5 56.72 79.8Q56.79 80.1 56.83 80.33H56.93Q56.96 80.14 57.01 79.85Q57.06 79.57 57.14 79.24Q57.21 78.92 57.29 78.61L58.6 74H61.24V82.58H59.52V78.35Q59.52 77.78 59.53 77.21Q59.55 76.64 59.56 76.22Q59.58 75.8 59.58 75.71H59.48Q59.46 75.83 59.36 76.2Q59.26 76.58 59.15 77Q59.04 77.43 58.96 77.74L57.57 82.58H56.02L54.63 77.75Q54.56 77.49 54.47 77.12Q54.37 76.76 54.28 76.38Q54.19 75.99 54.12 75.71H54.02Q54.03 76.04 54.04 76.51Q54.06 76.98 54.07 77.47Q54.08 77.95 54.08 78.35V82.58ZM63.28 82.58V74H65V81.1H69.31V82.58Z"/>
+</svg>

Разлика између датотеке није приказан због своје велике величине
+ 4 - 0
assets/languages/cobol.svg


+ 6 - 0
assets/languages/cpp.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="104" height="104" viewBox="0 0 104 104" role="img" aria-label="C++">
+  <title>C++</title>
+  <rect x="0.5" y="0.5" width="103" height="103" rx="8" fill="#f7f6f2" stroke="#d6d3c8"/>
+  <g transform="translate(30.0,18) scale(1.83333)"><path fill="#00599C" d="M22.394 6c-.167-.29-.398-.543-.652-.69L12.926.22c-.509-.294-1.34-.294-1.848 0L2.26 5.31c-.508.293-.923 1.013-.923 1.6v10.18c0 .294.104.62.271.91.167.29.398.543.652.69l8.816 5.09c.508.293 1.34.293 1.848 0l8.816-5.09c.254-.147.485-.4.652-.69.167-.29.27-.616.27-.91V6.91c.003-.294-.1-.62-.268-.91zM12 19.11c-3.92 0-7.109-3.19-7.109-7.11 0-3.92 3.19-7.11 7.11-7.11a7.133 7.133 0 016.156 3.553l-3.076 1.78a3.567 3.567 0 00-3.08-1.78A3.56 3.56 0 008.444 12 3.56 3.56 0 0012 15.555a3.57 3.57 0 003.08-1.778l3.078 1.78A7.135 7.135 0 0112 19.11zm7.11-6.715h-.79v.79h-.79v-.79h-.79v-.79h.79v-.79h.79v.79h.79zm2.962 0h-.79v.79h-.79v-.79h-.79v-.79h.79v-.79h.79v.79h.79z"/></g>
+  <path fill="#16150f" d="M44.09 82.73Q42.76 82.73 41.83 82.26Q40.89 81.8 40.39 80.82Q39.9 79.83 39.9 78.29Q39.9 76.03 41 74.94Q42.11 73.85 44.09 73.85Q45.17 73.85 46.03 74.22Q46.89 74.59 47.4 75.33Q47.91 76.07 47.91 77.2H46.16Q46.16 76.58 45.9 76.16Q45.64 75.73 45.18 75.51Q44.71 75.29 44.11 75.29Q43.28 75.29 42.74 75.61Q42.19 75.94 41.93 76.57Q41.68 77.2 41.68 78.13V78.45Q41.68 79.39 41.94 80.03Q42.2 80.66 42.73 80.98Q43.27 81.3 44.11 81.3Q44.75 81.3 45.23 81.08Q45.7 80.86 45.96 80.44Q46.22 80.01 46.22 79.4H47.91Q47.91 80.53 47.41 81.27Q46.91 82.01 46.05 82.37Q45.18 82.73 44.09 82.73ZM51.92 82.58V80.01H49.57V78.75H51.92V76.17H53.17V78.75H55.53V80.01H53.17V82.58ZM60.04 82.58V80.01H57.7V78.75H60.04V76.17H61.3V78.75H63.66V80.01H61.3V82.58Z"/>
+</svg>

+ 6 - 0
assets/languages/csharp.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="104" height="104" viewBox="0 0 104 104" role="img" aria-label="C#">
+  <title>C#</title>
+  <rect x="0.5" y="0.5" width="103" height="103" rx="8" fill="#f7f6f2" stroke="#d6d3c8"/>
+  <g transform="translate(30.0,18) scale(0.34375)"><path fill="#9B4F96" d="M115.4 30.7L67.1 2.9c-.8-.5-1.9-.7-3.1-.7-1.2 0-2.3.3-3.1.7l-48 27.9c-1.7 1-2.9 3.5-2.9 5.4v55.7c0 1.1.2 2.4 1 3.5l106.8-62c-.6-1.2-1.5-2.1-2.4-2.7z"/><path fill="#68217A" d="M10.7 95.3c.5.8 1.2 1.5 1.9 1.9l48.2 27.9c.8.5 1.9.7 3.1.7 1.2 0 2.3-.3 3.1-.7l48-27.9c1.7-1 2.9-3.5 2.9-5.4V36.1c0-.9-.1-1.9-.6-2.8l-106.6 62z"/><path fill="#fff" d="M85.3 76.1C81.1 83.5 73.1 88.5 64 88.5c-13.5 0-24.5-11-24.5-24.5s11-24.5 24.5-24.5c9.1 0 17.1 5 21.3 12.5l13-7.5c-6.8-11.9-19.6-20-34.3-20-21.8 0-39.5 17.7-39.5 39.5s17.7 39.5 39.5 39.5c14.6 0 27.4-8 34.2-19.8l-12.9-7.6zM97 66.2l.9-4.3h-4.2v-4.7h5.1L100 51h4.9l-1.2 6.1h3.8l1.2-6.1h4.8l-1.2 6.1h2.4v4.7h-3.3l-.9 4.3h4.2v4.7h-5.1l-1.2 6h-4.9l1.2-6h-3.8l-1.2 6h-4.8l1.2-6h-2.4v-4.7H97zm4.8 0h3.8l.9-4.3h-3.8l-.9 4.3z"/></g>
+  <path fill="#16150f" d="M48.45 82.73Q47.13 82.73 46.19 82.26Q45.25 81.8 44.76 80.82Q44.26 79.83 44.26 78.29Q44.26 76.03 45.37 74.94Q46.47 73.85 48.45 73.85Q49.53 73.85 50.39 74.22Q51.26 74.59 51.76 75.33Q52.27 76.07 52.27 77.2H50.52Q50.52 76.58 50.26 76.16Q50 75.73 49.54 75.51Q49.08 75.29 48.47 75.29Q47.65 75.29 47.1 75.61Q46.56 75.94 46.3 76.57Q46.04 77.2 46.04 78.13V78.45Q46.04 79.39 46.3 80.03Q46.56 80.66 47.1 80.98Q47.63 81.3 48.47 81.3Q49.11 81.3 49.59 81.08Q50.06 80.86 50.33 80.44Q50.59 80.01 50.59 79.4H52.27Q52.27 80.53 51.77 81.27Q51.27 82.01 50.41 82.37Q49.55 82.73 48.45 82.73ZM53.65 82.73 54.11 80.49H53.22V79.25H54.37L54.71 77.6H53.8V76.36H54.98L55.52 73.85H56.79L56.26 76.36H57.75L58.28 73.85H59.56L59.03 76.36H60V77.6H58.78L58.43 79.25H59.44V80.49H58.18L57.7 82.73H56.42L56.9 80.49H55.39L54.93 82.73ZM55.65 79.25H57.15L57.5 77.6H55.99Z"/>
+</svg>

+ 6 - 0
assets/languages/cuda.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="104" height="104" viewBox="0 0 104 104" role="img" aria-label="CUDA">
+  <title>CUDA</title>
+  <rect x="0.5" y="0.5" width="103" height="103" rx="8" fill="#f7f6f2" stroke="#d6d3c8"/>
+  <g transform="translate(30.0,18) scale(1.83333)"><path fill="#76B900" d="M8.948 8.798v-1.43a6.7 6.7 0 0 1 .424-.018c3.922-.124 6.493 3.374 6.493 3.374s-2.774 3.851-5.75 3.851c-.398 0-.787-.062-1.158-.185v-4.346c1.528.185 1.837.857 2.747 2.385l2.04-1.714s-1.492-1.952-4-1.952a6.016 6.016 0 0 0-.796.035m0-4.735v2.138l.424-.027c5.45-.185 9.01 4.47 9.01 4.47s-4.08 4.964-8.33 4.964c-.37 0-.733-.035-1.095-.097v1.325c.3.035.61.062.91.062 3.957 0 6.82-2.023 9.593-4.408.459.371 2.34 1.263 2.73 1.652-2.633 2.208-8.772 3.984-12.253 3.984-.335 0-.653-.018-.971-.053v1.864H24V4.063zm0 10.326v1.131c-3.657-.654-4.673-4.46-4.673-4.46s1.758-1.944 4.673-2.262v1.237H8.94c-1.528-.186-2.73 1.245-2.73 1.245s.68 2.412 2.739 3.11M2.456 10.9s2.164-3.197 6.5-3.533V6.201C4.153 6.59 0 10.653 0 10.653s2.35 6.802 8.948 7.42v-1.237c-4.84-.6-6.492-5.936-6.492-5.936z"/></g>
+  <path fill="#16150f" d="M38.36 82.73Q37.04 82.73 36.1 82.26Q35.16 81.8 34.67 80.82Q34.17 79.83 34.17 78.29Q34.17 76.03 35.28 74.94Q36.38 73.85 38.36 73.85Q39.44 73.85 40.31 74.22Q41.17 74.59 41.67 75.33Q42.18 76.07 42.18 77.2H40.43Q40.43 76.58 40.17 76.16Q39.91 75.73 39.45 75.51Q38.99 75.29 38.39 75.29Q37.56 75.29 37.01 75.61Q36.47 75.94 36.21 76.57Q35.95 77.2 35.95 78.13V78.45Q35.95 79.39 36.21 80.03Q36.47 80.66 37.01 80.98Q37.55 81.3 38.38 81.3Q39.02 81.3 39.5 81.08Q39.98 80.86 40.24 80.44Q40.5 80.01 40.5 79.4H42.18Q42.18 80.53 41.68 81.27Q41.18 82.01 40.32 82.37Q39.46 82.73 38.36 82.73ZM47.41 82.73Q46.27 82.73 45.44 82.36Q44.62 82 44.18 81.25Q43.74 80.5 43.74 79.38V74H45.46V79.33Q45.46 80.29 45.97 80.79Q46.48 81.3 47.41 81.3Q48.34 81.3 48.86 80.79Q49.38 80.29 49.38 79.33V74H51.1V79.38Q51.1 80.5 50.66 81.25Q50.22 82 49.39 82.36Q48.57 82.73 47.41 82.73ZM53.1 82.58V74H56.56Q57.88 74 58.81 74.47Q59.74 74.93 60.24 75.87Q60.74 76.82 60.74 78.29Q60.74 79.75 60.24 80.7Q59.74 81.66 58.81 82.12Q57.88 82.58 56.56 82.58ZM54.82 81.13H56.56Q57.14 81.13 57.59 80.96Q58.05 80.79 58.35 80.46Q58.65 80.12 58.81 79.62Q58.97 79.12 58.97 78.45V78.14Q58.97 77.47 58.81 76.96Q58.65 76.46 58.35 76.12Q58.05 75.79 57.59 75.62Q57.14 75.45 56.56 75.45H54.82ZM61.52 82.58 64.84 74H66.99L70.32 82.58H68.46L67.8 80.81H63.95L63.29 82.58ZM64.47 79.39H67.27L66.45 77.14Q66.4 77.02 66.33 76.82Q66.26 76.63 66.19 76.39Q66.11 76.16 66.04 75.92Q65.96 75.69 65.9 75.5H65.84Q65.76 75.75 65.66 76.07Q65.56 76.39 65.46 76.68Q65.36 76.97 65.29 77.14Z"/>
+</svg>

Разлика између датотеке није приказан због своје велике величине
+ 4 - 0
assets/languages/dart.svg


Разлика између датотеке није приказан због своје велике величине
+ 3 - 0
assets/languages/delphi.svg


Разлика између датотеке није приказан због своје велике величине
+ 4 - 0
assets/languages/erlang.svg


+ 6 - 0
assets/languages/go.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="104" height="104" viewBox="0 0 104 104" role="img" aria-label="Go">
+  <title>Go</title>
+  <rect x="0.5" y="0.5" width="103" height="103" rx="8" fill="#f7f6f2" stroke="#d6d3c8"/>
+  <g transform="translate(30.0,18) scale(1.83333)"><path fill="#00ADD8" d="M1.811 10.231c-.047 0-.058-.023-.035-.059l.246-.315c.023-.035.081-.058.128-.058h4.172c.046 0 .058.035.035.07l-.199.303c-.023.036-.082.07-.117.07zM.047 11.306c-.047 0-.059-.023-.035-.058l.245-.316c.023-.035.082-.058.129-.058h5.328c.047 0 .07.035.058.07l-.093.28c-.012.047-.058.07-.105.07zm2.828 1.075c-.047 0-.059-.035-.035-.07l.163-.292c.023-.035.07-.07.117-.07h2.337c.047 0 .07.035.07.082l-.023.28c0 .047-.047.082-.082.082zm12.129-2.36c-.736.187-1.239.327-1.963.514-.176.046-.187.058-.34-.117-.174-.199-.303-.327-.548-.444-.737-.362-1.45-.257-2.115.175-.795.514-1.204 1.274-1.192 2.22.011.935.654 1.706 1.577 1.835.795.105 1.46-.175 1.987-.77.105-.13.198-.27.315-.434H10.47c-.245 0-.304-.152-.222-.35.152-.362.432-.97.596-1.274a.315.315 0 01.292-.187h4.253c-.023.316-.023.631-.07.947a4.983 4.983 0 01-.958 2.29c-.841 1.11-1.94 1.8-3.33 1.986-1.145.152-2.209-.07-3.143-.77-.865-.655-1.356-1.52-1.484-2.595-.152-1.274.222-2.419.993-3.424.83-1.086 1.928-1.776 3.272-2.02 1.098-.2 2.15-.07 3.096.571.62.41 1.063.97 1.356 1.648.07.105.023.164-.117.2m3.868 6.461c-1.064-.024-2.034-.328-2.852-1.029a3.665 3.665 0 01-1.262-2.255c-.21-1.32.152-2.489.947-3.529.853-1.122 1.881-1.706 3.272-1.95 1.192-.21 2.314-.095 3.33.595.923.63 1.496 1.484 1.648 2.605.198 1.578-.257 2.863-1.344 3.962-.771.783-1.718 1.273-2.805 1.495-.315.06-.63.07-.934.106zm2.78-4.72c-.011-.153-.011-.27-.034-.387-.21-1.157-1.274-1.81-2.384-1.554-1.087.245-1.788.935-2.045 2.033-.21.912.234 1.835 1.075 2.21.643.28 1.285.244 1.905-.07.923-.48 1.425-1.228 1.484-2.233z"/></g>
+  <path fill="#16150f" d="M48.02 82.73Q46.02 82.73 44.92 81.66Q43.82 80.58 43.82 78.29Q43.82 76.78 44.34 75.8Q44.87 74.82 45.85 74.34Q46.84 73.85 48.22 73.85Q49.06 73.85 49.79 74.04Q50.52 74.23 51.08 74.61Q51.64 75 51.95 75.58Q52.27 76.15 52.27 76.94H50.51Q50.51 76.54 50.33 76.23Q50.16 75.92 49.85 75.71Q49.54 75.5 49.13 75.39Q48.73 75.29 48.28 75.29Q47.61 75.29 47.1 75.46Q46.6 75.64 46.26 76Q45.93 76.36 45.76 76.89Q45.6 77.43 45.6 78.14V78.45Q45.6 79.43 45.88 80.06Q46.16 80.69 46.73 80.99Q47.3 81.3 48.14 81.3Q48.85 81.3 49.39 81.08Q49.93 80.86 50.25 80.45Q50.56 80.03 50.56 79.43V79.35H47.89V77.96H52.27V82.58H51.08L50.93 81.64Q50.56 82.01 50.13 82.25Q49.7 82.49 49.19 82.61Q48.67 82.73 48.02 82.73ZM57.06 82.73Q55.98 82.73 55.24 82.36Q54.51 81.99 54.14 81.23Q53.77 80.46 53.77 79.29Q53.77 78.11 54.14 77.35Q54.51 76.59 55.24 76.22Q55.98 75.85 57.06 75.85Q58.15 75.85 58.88 76.22Q59.6 76.59 59.98 77.35Q60.35 78.11 60.35 79.29Q60.35 80.46 59.98 81.23Q59.6 81.99 58.88 82.36Q58.15 82.73 57.06 82.73ZM57.06 81.44Q57.64 81.44 58 81.22Q58.36 80.99 58.53 80.54Q58.69 80.08 58.69 79.4V79.18Q58.69 78.5 58.53 78.05Q58.36 77.59 58 77.37Q57.64 77.14 57.06 77.14Q56.47 77.14 56.11 77.37Q55.75 77.59 55.58 78.05Q55.42 78.5 55.42 79.18V79.4Q55.42 80.08 55.58 80.54Q55.75 80.99 56.11 81.22Q56.47 81.44 57.06 81.44Z"/>
+</svg>

Разлика између датотеке није приказан због своје велике величине
+ 4 - 0
assets/languages/java.svg


Разлика између датотеке није приказан због своје велике величине
+ 4 - 0
assets/languages/javascript.svg


+ 6 - 0
assets/languages/kotlin.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="104" height="104" viewBox="0 0 104 104" role="img" aria-label="Kotlin">
+  <title>Kotlin</title>
+  <rect x="0.5" y="0.5" width="103" height="103" rx="8" fill="#f7f6f2" stroke="#d6d3c8"/>
+  <g transform="translate(30.0,18) scale(1.83333)"><path fill="#7F52FF" d="M24 24H0V0h24L12 12Z"/></g>
+  <path fill="#16150f" d="M35.43 82.58V74H37.15V77.95L40.89 74H43L39.7 77.48L43.06 82.58H41.02L38.52 78.68L37.15 79.9V82.58ZM47.24 82.73Q46.16 82.73 45.43 82.36Q44.7 81.99 44.32 81.23Q43.95 80.46 43.95 79.29Q43.95 78.11 44.32 77.35Q44.7 76.59 45.43 76.22Q46.16 75.85 47.24 75.85Q48.33 75.85 49.06 76.22Q49.79 76.59 50.16 77.35Q50.53 78.11 50.53 79.29Q50.53 80.46 50.16 81.23Q49.79 81.99 49.06 82.36Q48.33 82.73 47.24 82.73ZM47.24 81.44Q47.83 81.44 48.19 81.22Q48.55 80.99 48.72 80.54Q48.88 80.08 48.88 79.4V79.18Q48.88 78.5 48.72 78.05Q48.55 77.59 48.19 77.37Q47.83 77.14 47.24 77.14Q46.66 77.14 46.3 77.37Q45.94 77.59 45.77 78.05Q45.61 78.5 45.61 79.18V79.4Q45.61 80.08 45.77 80.54Q45.94 80.99 46.3 81.22Q46.66 81.44 47.24 81.44ZM53.81 82.73Q53.19 82.73 52.82 82.49Q52.46 82.26 52.3 81.88Q52.15 81.49 52.15 81.07V77.29H51.35V76H52.19L52.49 74.15H53.75V76H54.91V77.29H53.75V80.86Q53.75 81.14 53.89 81.29Q54.03 81.44 54.32 81.44H54.91V82.53Q54.78 82.58 54.59 82.62Q54.4 82.67 54.19 82.7Q53.99 82.73 53.81 82.73ZM56.19 82.58V73.54H57.8V82.58ZM59.56 75.01V73.54H61.17V75.01ZM59.56 82.58V76H61.17V82.58ZM62.94 82.58V76H64.28L64.41 76.89H64.5Q64.72 76.58 65.03 76.35Q65.34 76.11 65.74 75.98Q66.14 75.85 66.61 75.85Q67.25 75.85 67.73 76.08Q68.22 76.31 68.49 76.82Q68.76 77.32 68.76 78.16V82.58H67.14V78.43Q67.14 78.1 67.06 77.87Q66.98 77.64 66.83 77.5Q66.68 77.36 66.46 77.3Q66.24 77.23 65.97 77.23Q65.57 77.23 65.25 77.43Q64.92 77.62 64.74 77.96Q64.55 78.3 64.55 78.75V82.58Z"/>
+</svg>

+ 6 - 0
assets/languages/liquid.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="104" height="104" viewBox="0 0 104 104" role="img" aria-label="Liquid">
+  <title>Liquid</title>
+  <rect x="0.5" y="0.5" width="103" height="103" rx="8" fill="#f7f6f2" stroke="#d6d3c8"/>
+  <g transform="translate(30.0,18) scale(1.83333)"><path fill="#7AB55C" d="M15.337 23.979l7.216-1.561s-2.604-17.613-2.625-17.73c-.018-.116-.114-.192-.211-.192s-1.929-.136-1.929-.136-1.275-1.274-1.439-1.411c-.045-.037-.075-.057-.121-.074l-.914 21.104h.023zM11.71 11.305s-.81-.424-1.774-.424c-1.447 0-1.504.906-1.504 1.141 0 1.232 3.24 1.715 3.24 4.629 0 2.295-1.44 3.76-3.406 3.76-2.354 0-3.54-1.465-3.54-1.465l.646-2.086s1.245 1.066 2.28 1.066c.675 0 .975-.545.975-.932 0-1.619-2.654-1.694-2.654-4.359-.034-2.237 1.571-4.416 4.827-4.416 1.257 0 1.875.361 1.875.361l-.945 2.715-.02.01zM11.17.83c.136 0 .271.038.405.135-.984.465-2.064 1.639-2.508 3.992-.656.213-1.293.405-1.889.578C7.697 3.75 8.951.84 11.17.84V.83zm1.235 2.949v.135c-.754.232-1.583.484-2.394.736.466-1.777 1.333-2.645 2.085-2.971.193.501.309 1.176.309 2.1zm.539-2.234c.694.074 1.141.867 1.429 1.755-.349.114-.735.231-1.158.366v-.252c0-.752-.096-1.371-.271-1.871v.002zm2.992 1.289c-.02 0-.06.021-.078.021s-.289.075-.714.21c-.423-1.233-1.176-2.37-2.508-2.37h-.115C12.135.209 11.669 0 11.265 0 8.159 0 6.675 3.877 6.21 5.846c-1.194.365-2.063.636-2.16.674-.675.213-.694.232-.772.87-.075.462-1.83 14.063-1.83 14.063L15.009 24l.927-21.166z"/></g>
+  <path fill="#16150f" d="M34.56 82.58V74H36.28V81.1H40.59V82.58ZM41.79 75.01V73.54H43.4V75.01ZM41.79 82.58V76H43.4V82.58ZM49.43 84.77V81.83H49.35Q49.15 82.13 48.86 82.33Q48.58 82.53 48.21 82.63Q47.84 82.73 47.39 82.73Q46.66 82.73 46.08 82.37Q45.5 82 45.17 81.24Q44.85 80.48 44.85 79.3Q44.85 78.11 45.17 77.34Q45.49 76.58 46.08 76.22Q46.67 75.85 47.47 75.85Q48.11 75.85 48.64 76.11Q49.17 76.37 49.49 76.88H49.57L49.71 76H51.04V84.77ZM47.98 81.37Q48.37 81.37 48.64 81.24Q48.92 81.1 49.09 80.84Q49.26 80.59 49.34 80.22Q49.43 79.85 49.43 79.38V79.2Q49.43 78.57 49.28 78.12Q49.12 77.68 48.81 77.44Q48.49 77.21 47.98 77.21Q47.43 77.21 47.11 77.42Q46.78 77.64 46.64 78.08Q46.5 78.52 46.5 79.19V79.41Q46.5 80.07 46.64 80.51Q46.78 80.94 47.11 81.16Q47.43 81.37 47.98 81.37ZM54.91 82.73Q53.94 82.73 53.35 82.2Q52.76 81.67 52.76 80.43V76H54.37V80.15Q54.37 80.49 54.45 80.71Q54.53 80.94 54.68 81.08Q54.83 81.22 55.05 81.29Q55.27 81.35 55.54 81.35Q55.94 81.35 56.26 81.15Q56.59 80.96 56.77 80.61Q56.96 80.27 56.96 79.83V76H58.57V82.58H57.24L57.12 81.69H57.03Q56.8 82 56.49 82.23Q56.18 82.47 55.78 82.6Q55.38 82.73 54.91 82.73ZM60.33 75.01V73.54H61.94V75.01ZM60.33 82.58V76H61.94V82.58ZM66.01 82.73Q65.21 82.73 64.61 82.37Q64.02 82 63.7 81.24Q63.38 80.48 63.38 79.28Q63.38 78.09 63.71 77.34Q64.04 76.58 64.61 76.22Q65.19 75.85 65.93 75.85Q66.37 75.85 66.74 75.95Q67.12 76.05 67.4 76.25Q67.69 76.46 67.89 76.75H67.96V73.54H69.57V82.58H68.24L68.12 81.7H68.03Q67.71 82.22 67.18 82.47Q66.65 82.73 66.01 82.73ZM66.51 81.37Q67.03 81.37 67.34 81.14Q67.66 80.91 67.81 80.47Q67.97 80.03 67.97 79.4V79.22Q67.97 78.75 67.88 78.37Q67.8 77.99 67.62 77.74Q67.44 77.48 67.17 77.35Q66.89 77.21 66.51 77.21Q65.97 77.21 65.64 77.42Q65.32 77.64 65.18 78.08Q65.04 78.52 65.04 79.19V79.41Q65.04 80.07 65.18 80.51Q65.32 80.95 65.64 81.16Q65.97 81.37 66.51 81.37Z"/>
+</svg>

Разлика између датотеке није приказан због своје велике величине
+ 3 - 0
assets/languages/lua.svg


+ 6 - 0
assets/languages/luau.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="104" height="104" viewBox="0 0 104 104" role="img" aria-label="Luau">
+  <title>Luau</title>
+  <rect x="0.5" y="0.5" width="103" height="103" rx="8" fill="#f7f6f2" stroke="#d6d3c8"/>
+  <g transform="translate(30.0,18) scale(1.83333)"><path fill="#00A2FF" d="M24 5.072 18.928 24 0 18.928 5.072 0 24 5.072ZM8.984 18.402l-.085.375.61.163 1.005-3.75-.641-.172-.731 2.728c-.26.322-.635.417-1.125.286-.462-.124-.616-.47-.464-1.039l.649-2.422-.641-.172-.654 2.44c-.12.455-.107.828.039 1.117.148.287.422.485.822.592.483.13.888.081 1.216-.146Zm3.818 1.42.672.18.015-.055c-.034-.227-.004-.512.088-.857l.462-1.725c.093-.382.045-.713-.142-.994-.187-.282-.496-.481-.928-.597a1.897 1.897 0 0 0-.793-.05 1.42 1.42 0 0 0-.652.272.912.912 0 0 0-.343.488l.645.172c.044-.164.159-.283.344-.357a.969.969 0 0 1 .622-.02c.261.07.44.19.54.36.098.168.117.364.057.588l-.079.295-.624-.167c-.538-.145-.985-.148-1.342-.01-.353.135-.582.398-.687.789-.086.32-.04.618.14.891.183.272.458.458.828.557.414.11.811.05 1.192-.179-.028.196-.033.336-.015.42Zm-.934-.774a.8.8 0 0 1-.47-.307.606.606 0 0 1-.075-.526c.123-.46.577-.584 1.363-.374l.502.135-.206.77a.978.978 0 0 1-.5.3 1.166 1.166 0 0 1-.614.002ZM21 6.804l-3.786-1.015L16.2 9.575l3.786 1.014L21 6.804ZM3.818 16.832l1.207-4.502-.67-.18-1.352 5.047 3.06.82.146-.544-2.39-.64Zm12.944 3.654-.086.375.61.163 1.005-3.75-.641-.172-.731 2.728c-.26.322-.634.417-1.124.286-.462-.124-.617-.47-.465-1.039l.65-2.422-.642-.172-.654 2.44c-.12.456-.106.828.04 1.117.147.288.421.485.821.592.483.13.889.081 1.217-.146Z"/></g>
+  <path fill="#16150f" d="M38.2 82.58V74H39.92V81.1H44.23V82.58ZM47.54 82.73Q46.57 82.73 45.98 82.2Q45.38 81.67 45.38 80.43V76H46.99V80.15Q46.99 80.49 47.07 80.71Q47.15 80.94 47.3 81.08Q47.45 81.22 47.67 81.29Q47.89 81.35 48.16 81.35Q48.57 81.35 48.89 81.15Q49.21 80.96 49.4 80.61Q49.59 80.27 49.59 79.83V76H51.2V82.58H49.87L49.74 81.69H49.65Q49.43 82 49.12 82.23Q48.8 82.47 48.41 82.6Q48.01 82.73 47.54 82.73ZM54.67 82.73Q54.37 82.73 54.01 82.66Q53.65 82.59 53.32 82.4Q52.99 82.21 52.78 81.84Q52.57 81.47 52.57 80.88Q52.57 80.2 52.87 79.75Q53.17 79.31 53.72 79.05Q54.27 78.8 55.03 78.69Q55.79 78.59 56.71 78.59V78.07Q56.71 77.78 56.62 77.56Q56.53 77.34 56.3 77.21Q56.07 77.09 55.62 77.09Q55.18 77.09 54.92 77.19Q54.66 77.3 54.56 77.46Q54.46 77.62 54.46 77.8V77.96H52.9Q52.88 77.9 52.88 77.84Q52.88 77.78 52.88 77.7Q52.88 77.13 53.23 76.71Q53.57 76.3 54.18 76.07Q54.8 75.85 55.61 75.85Q56.52 75.85 57.11 76.1Q57.71 76.34 58.02 76.81Q58.32 77.27 58.32 77.95V81Q58.32 81.23 58.45 81.34Q58.59 81.44 58.75 81.44H59.16V82.53Q59.03 82.58 58.78 82.65Q58.54 82.72 58.18 82.72Q57.84 82.72 57.57 82.61Q57.3 82.51 57.12 82.31Q56.94 82.11 56.87 81.84H56.79Q56.58 82.1 56.28 82.3Q55.98 82.51 55.58 82.62Q55.18 82.73 54.67 82.73ZM55.18 81.45Q55.54 81.45 55.83 81.35Q56.12 81.24 56.31 81.04Q56.5 80.85 56.61 80.57Q56.71 80.3 56.71 79.97V79.65Q56.02 79.65 55.45 79.74Q54.88 79.83 54.55 80.06Q54.21 80.29 54.21 80.71Q54.21 80.94 54.32 81.11Q54.43 81.27 54.65 81.36Q54.86 81.45 55.18 81.45ZM62.29 82.73Q61.32 82.73 60.73 82.2Q60.13 81.67 60.13 80.43V76H61.74V80.15Q61.74 80.49 61.82 80.71Q61.9 80.94 62.05 81.08Q62.2 81.22 62.42 81.29Q62.64 81.35 62.91 81.35Q63.32 81.35 63.64 81.15Q63.96 80.96 64.15 80.61Q64.34 80.27 64.34 79.83V76H65.95V82.58H64.62L64.49 81.69H64.4Q64.18 82 63.87 82.23Q63.55 82.47 63.16 82.6Q62.76 82.73 62.29 82.73Z"/>
+</svg>

Разлика између датотеке није приказан због своје велике величине
+ 4 - 0
assets/languages/metal.svg


+ 6 - 0
assets/languages/nix.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="104" height="104" viewBox="0 0 104 104" role="img" aria-label="Nix">
+  <title>Nix</title>
+  <rect x="0.5" y="0.5" width="103" height="103" rx="8" fill="#f7f6f2" stroke="#d6d3c8"/>
+  <g transform="translate(30.0,18) scale(1.83333)"><path fill="#5277C3" d="M7.352 1.592l-1.364.002L5.32 2.75l1.557 2.713-3.137-.008-1.32 2.34H14.11l-1.353-2.332-3.192-.006-2.214-3.865zm6.175 0l-2.687.025 5.846 10.127 1.341-2.34-1.59-2.765 2.24-3.85-.683-1.182h-1.336l-1.57 2.705-1.56-2.72zm6.887 4.195l-5.846 10.125 2.696-.008 1.601-2.76 4.453.016.682-1.183-.666-1.157-3.13-.008L21.778 8.1l-1.365-2.313zM9.432 8.086l-2.696.008-1.601 2.76-4.453-.016L0 12.02l.666 1.157 3.13.008-1.575 2.71 1.365 2.315L9.432 8.086zM7.33 12.25l-.006.01-.002-.004-1.342 2.34 1.59 2.765-2.24 3.85.684 1.182H7.35l.004-.006h.001l1.567-2.698 1.558 2.72 2.688-.026-.004-.006h.01L7.33 12.25zm2.55 3.93l1.354 2.332 3.192.006 2.215 3.865 1.363-.002.668-1.156-1.557-2.713 3.137.008 1.32-2.34H9.881Z"/></g>
+  <path fill="#16150f" d="M43.07 82.58V74H44.69L48.27 78.89Q48.34 78.97 48.43 79.11Q48.53 79.25 48.61 79.39Q48.7 79.52 48.73 79.61L48.79 79.6Q48.79 79.41 48.79 79.24Q48.79 79.06 48.79 78.89V74H50.44V82.58H48.83L45.21 77.62Q45.1 77.47 44.97 77.25Q44.84 77.03 44.78 76.93L44.72 76.94Q44.72 77.11 44.72 77.28Q44.72 77.46 44.72 77.62V82.58ZM52.34 75.01V73.54H53.95V75.01ZM52.34 82.58V76H53.95V82.58ZM55.03 82.58 57.4 79.18 55.2 76H57.14L58.42 78.02H58.5L59.8 76H61.62L59.41 79.15L61.75 82.58H59.83L58.39 80.32H58.31L56.86 82.58Z"/>
+</svg>

Разлика између датотеке није приказан због своје велике величине
+ 4 - 0
assets/languages/objective-c.svg


+ 6 - 0
assets/languages/php.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="104" height="104" viewBox="0 0 104 104" role="img" aria-label="PHP">
+  <title>PHP</title>
+  <rect x="0.5" y="0.5" width="103" height="103" rx="8" fill="#f7f6f2" stroke="#d6d3c8"/>
+  <g transform="translate(30.0,18) scale(1.83333)"><path fill="#777BB4" d="M7.01 10.207h-.944l-.515 2.648h.838c.556 0 .97-.105 1.242-.314.272-.21.455-.559.55-1.049.092-.47.05-.802-.124-.995-.175-.193-.523-.29-1.047-.29zM12 5.688C5.373 5.688 0 8.514 0 12s5.373 6.313 12 6.313S24 15.486 24 12c0-3.486-5.373-6.312-12-6.312zm-3.26 7.451c-.261.25-.575.438-.917.551-.336.108-.765.164-1.285.164H5.357l-.327 1.681H3.652l1.23-6.326h2.65c.797 0 1.378.209 1.744.628.366.418.476 1.002.33 1.752a2.836 2.836 0 0 1-.305.847c-.143.255-.33.49-.561.703zm4.024.715l.543-2.799c.063-.318.039-.536-.068-.651-.107-.116-.336-.174-.687-.174H11.46l-.704 3.625H9.388l1.23-6.327h1.367l-.327 1.682h1.218c.767 0 1.295.134 1.586.401s.378.7.263 1.299l-.572 2.944h-1.389zm7.597-2.265a2.782 2.782 0 0 1-.305.847c-.143.255-.33.49-.561.703a2.44 2.44 0 0 1-.917.551c-.336.108-.765.164-1.286.164h-1.18l-.327 1.682h-1.378l1.23-6.326h2.649c.797 0 1.378.209 1.744.628.366.417.477 1.001.331 1.751zM17.766 10.207h-.943l-.516 2.648h.838c.557 0 .971-.105 1.242-.314.272-.21.455-.559.551-1.049.092-.47.049-.802-.125-.995s-.524-.29-1.047-.29z"/></g>
+  <path fill="#16150f" d="M39.73 82.58V74H44.1Q45.03 74 45.65 74.34Q46.27 74.68 46.59 75.3Q46.9 75.91 46.9 76.77Q46.9 77.61 46.58 78.24Q46.25 78.86 45.61 79.21Q44.96 79.55 44.02 79.55H41.45V82.58ZM41.45 78.11H43.89Q44.5 78.11 44.83 77.76Q45.16 77.4 45.16 76.77Q45.16 76.34 45.02 76.05Q44.87 75.76 44.6 75.6Q44.32 75.45 43.89 75.45H41.45ZM48.32 82.58V74H50.04V77.46H53.96V74H55.68V82.58H53.96V78.93H50.04V82.58ZM57.73 82.58V74H62.1Q63.03 74 63.65 74.34Q64.27 74.68 64.59 75.3Q64.9 75.91 64.9 76.77Q64.9 77.61 64.58 78.24Q64.25 78.86 63.61 79.21Q62.96 79.55 62.02 79.55H59.45V82.58ZM59.45 78.11H61.89Q62.5 78.11 62.83 77.76Q63.16 77.4 63.16 76.77Q63.16 76.34 63.02 76.05Q62.87 75.76 62.6 75.6Q62.32 75.45 61.89 75.45H59.45Z"/>
+</svg>

Разлика између датотеке није приказан због своје велике величине
+ 4 - 0
assets/languages/python.svg


+ 6 - 0
assets/languages/r.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="104" height="104" viewBox="0 0 104 104" role="img" aria-label="R">
+  <title>R</title>
+  <rect x="0.5" y="0.5" width="103" height="103" rx="8" fill="#f7f6f2" stroke="#d6d3c8"/>
+  <g transform="translate(30.0,18) scale(1.83333)"><path fill="#276DC3" d="M12 2.746c-6.627 0-12 3.599-12 8.037 0 3.897 4.144 7.144 9.64 7.88V16.26c-2.924-.915-4.925-2.755-4.925-4.877 0-3.035 4.084-5.494 9.12-5.494 5.038 0 8.757 1.683 8.757 5.494 0 1.976-.999 3.379-2.662 4.272.09.066.174.128.258.216.169.149.25.363.372.544 2.128-1.45 3.44-3.437 3.44-5.631 0-4.44-5.373-8.038-12-8.038zm-2.111 4.99v13.516l4.093-.002-.002-5.291h1.1c.225 0 .321.066.549.25.272.22.715.982.715.982l2.164 4.063 4.627-.002-2.864-4.826s-.086-.193-.265-.383a2.22 2.22 0 00-.582-.416c-.422-.214-1.149-.434-1.149-.434s3.578-.264 3.578-3.826c0-3.562-3.744-3.63-3.744-3.63zm4.127 2.93l2.478.002s1.149-.062 1.149 1.127c0 1.165-1.149 1.17-1.149 1.17h-2.478zm1.754 6.119c-.494.049-1.012.079-1.54.088v1.807a16.622 16.622 0 002.37-.473l-.471-.891s-.108-.183-.248-.394c-.039-.054-.08-.098-.111-.137z"/></g>
+  <path fill="#16150f" d="M48.44 82.58V74H53.02Q53.98 74 54.6 74.33Q55.23 74.66 55.54 75.27Q55.86 75.87 55.86 76.67Q55.86 77.51 55.48 78.15Q55.1 78.8 54.38 79.13L56.15 82.58H54.26L52.71 79.42H50.16V82.58ZM50.16 78.01H52.85Q53.45 78.01 53.78 77.65Q54.1 77.3 54.1 76.68Q54.1 76.28 53.96 76.01Q53.81 75.73 53.54 75.59Q53.26 75.44 52.85 75.44H50.16Z"/>
+</svg>

+ 6 - 0
assets/languages/ruby.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="104" height="104" viewBox="0 0 104 104" role="img" aria-label="Ruby">
+  <title>Ruby</title>
+  <rect x="0.5" y="0.5" width="103" height="103" rx="8" fill="#f7f6f2" stroke="#d6d3c8"/>
+  <g transform="translate(30.0,18) scale(1.83333)"><path fill="#CC342D" d="M20.156.083c3.033.525 3.893 2.598 3.829 4.77L24 4.822 22.635 22.71 4.89 23.926h.016C3.433 23.864.15 23.729 0 19.139l1.645-3 2.819 6.586.503 1.172 2.805-9.144-.03.007.016-.03 9.255 2.956-1.396-5.431-.99-3.9 8.82-.569-.615-.51L16.5 2.114 20.159.073l-.003.01zM0 19.089zM5.13 5.073c3.561-3.533 8.157-5.621 9.922-3.84 1.762 1.777-.105 6.105-3.673 9.636-3.563 3.532-8.103 5.734-9.864 3.957-1.766-1.777.045-6.217 3.612-9.75l.003-.003z"/></g>
+  <path fill="#16150f" d="M37.43 82.58V74H42.02Q42.97 74 43.6 74.33Q44.22 74.66 44.54 75.27Q44.85 75.87 44.85 76.67Q44.85 77.51 44.47 78.15Q44.1 78.8 43.38 79.13L45.14 82.58H43.25L41.7 79.42H39.15V82.58ZM39.15 78.01H41.84Q42.44 78.01 42.77 77.65Q43.1 77.3 43.1 76.68Q43.1 76.28 42.95 76.01Q42.81 75.73 42.53 75.59Q42.25 75.44 41.84 75.44H39.15ZM48.57 82.73Q47.6 82.73 47.01 82.2Q46.42 81.67 46.42 80.43V76H48.02V80.15Q48.02 80.49 48.1 80.71Q48.18 80.94 48.33 81.08Q48.49 81.22 48.7 81.29Q48.92 81.35 49.19 81.35Q49.6 81.35 49.92 81.15Q50.24 80.96 50.43 80.61Q50.62 80.27 50.62 79.83V76H52.23V82.58H50.9L50.77 81.69H50.68Q50.46 82 50.15 82.23Q49.84 82.47 49.44 82.6Q49.04 82.73 48.57 82.73ZM57.55 82.73Q56.91 82.73 56.39 82.47Q55.86 82.22 55.54 81.7H55.45L55.32 82.58H53.99V73.54H55.6V76.75H55.67Q55.87 76.46 56.16 76.25Q56.45 76.05 56.82 75.95Q57.19 75.85 57.63 75.85Q58.38 75.85 58.95 76.22Q59.53 76.58 59.85 77.34Q60.18 78.09 60.18 79.28Q60.18 80.48 59.86 81.24Q59.54 82 58.95 82.37Q58.37 82.73 57.55 82.73ZM57.05 81.37Q57.6 81.37 57.92 81.16Q58.24 80.95 58.38 80.51Q58.52 80.07 58.52 79.41V79.19Q58.52 78.52 58.38 78.08Q58.24 77.64 57.92 77.42Q57.6 77.21 57.05 77.21Q56.67 77.21 56.4 77.35Q56.12 77.48 55.94 77.74Q55.77 77.99 55.68 78.37Q55.6 78.75 55.6 79.22V79.4Q55.6 80.03 55.75 80.47Q55.9 80.91 56.22 81.14Q56.55 81.37 57.05 81.37ZM62.53 84.89Q62.07 84.89 61.77 84.82Q61.48 84.75 61.42 84.73V83.61H62.15Q62.43 83.61 62.69 83.47Q62.95 83.33 63.15 83.09Q63.35 82.86 63.44 82.58L60.88 76H62.57L63.76 79.11Q63.84 79.32 63.93 79.65Q64.03 79.97 64.13 80.31Q64.23 80.65 64.29 80.93H64.35Q64.4 80.74 64.46 80.5Q64.53 80.27 64.6 80.02Q64.66 79.77 64.74 79.53Q64.81 79.3 64.86 79.12L65.84 76H67.46L65.25 82.25Q65.06 82.79 64.82 83.27Q64.59 83.74 64.28 84.11Q63.96 84.47 63.53 84.68Q63.11 84.89 62.53 84.89Z"/>
+</svg>

Разлика између датотеке није приказан због своје велике величине
+ 3 - 0
assets/languages/rust.svg


Разлика између датотеке није приказан због своје велике величине
+ 4 - 0
assets/languages/scala.svg


Разлика између датотеке није приказан због своје велике величине
+ 4 - 0
assets/languages/solidity.svg


Разлика између датотеке није приказан због своје велике величине
+ 4 - 0
assets/languages/svelte.svg


Разлика између датотеке није приказан због своје велике величине
+ 4 - 0
assets/languages/swift.svg


Разлика између датотеке није приказан због своје велике величине
+ 4 - 0
assets/languages/terraform.svg


Разлика између датотеке није приказан због своје велике величине
+ 4 - 0
assets/languages/typescript.svg


+ 6 - 0
assets/languages/vbnet.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="104" height="104" viewBox="0 0 104 104" role="img" aria-label="VB.NET">
+  <title>VB.NET</title>
+  <rect x="0.5" y="0.5" width="103" height="103" rx="8" fill="#f7f6f2" stroke="#d6d3c8"/>
+  <rect x="30.0" y="18" width="44" height="44" rx="6" fill="#512bd4"/><path fill="#f7f6f2" d="M44.22 45.66 40.12 34.33H42.89L45.27 41.4Q45.33 41.58 45.41 41.85Q45.49 42.12 45.58 42.39Q45.67 42.65 45.73 42.87H45.83Q45.89 42.68 45.97 42.42Q46.05 42.16 46.13 41.9Q46.21 41.63 46.28 41.41L48.64 34.33H51.3L47.2 45.66ZM53.34 45.66V34.33H59.9Q60.79 34.33 61.51 34.68Q62.23 35.03 62.64 35.66Q63.06 36.28 63.06 37.12Q63.06 37.81 62.81 38.34Q62.56 38.87 62.13 39.21Q61.71 39.55 61.19 39.72V39.79Q61.8 39.92 62.3 40.28Q62.79 40.64 63.07 41.21Q63.36 41.78 63.36 42.57Q63.36 43.58 62.9 44.27Q62.43 44.96 61.66 45.31Q60.89 45.66 59.93 45.66ZM55.91 43.6H59.38Q59.97 43.6 60.35 43.26Q60.73 42.92 60.73 42.2Q60.73 41.8 60.57 41.49Q60.41 41.19 60.09 41.02Q59.77 40.85 59.28 40.85H55.91ZM55.91 38.9H59.1Q59.53 38.9 59.83 38.73Q60.12 38.57 60.27 38.28Q60.43 37.98 60.43 37.61Q60.43 36.99 60.08 36.67Q59.73 36.35 59.19 36.35H55.91Z"/>
+  <path fill="#16150f" d="M31.5 82.58 28.38 74H30.25L32.21 79.74Q32.26 79.86 32.32 80.04Q32.37 80.21 32.42 80.38Q32.48 80.54 32.52 80.67H32.58Q32.63 80.55 32.67 80.4Q32.72 80.24 32.78 80.07Q32.83 79.9 32.88 79.75L34.83 74H36.62L33.5 82.58ZM37.85 82.58V74H42.61Q43.3 74 43.84 74.27Q44.38 74.53 44.7 75Q45.01 75.48 45.01 76.12Q45.01 76.61 44.82 77.01Q44.63 77.41 44.32 77.68Q44 77.95 43.6 78.08V78.13Q44.07 78.23 44.44 78.51Q44.82 78.79 45.03 79.22Q45.25 79.65 45.25 80.22Q45.25 81.01 44.89 81.54Q44.54 82.06 43.95 82.32Q43.35 82.58 42.62 82.58ZM39.57 81.14H42.35Q42.84 81.14 43.16 80.87Q43.47 80.59 43.47 80.01Q43.47 79.67 43.34 79.42Q43.21 79.17 42.94 79.03Q42.67 78.89 42.25 78.89H39.57ZM39.57 77.49H42.13Q42.49 77.49 42.74 77.36Q42.99 77.22 43.11 76.99Q43.24 76.76 43.24 76.47Q43.24 75.95 42.95 75.69Q42.67 75.43 42.21 75.43H39.57ZM47 82.58V80.9H48.68V82.58ZM50.84 82.58V74H52.45L56.03 78.89Q56.1 78.97 56.19 79.11Q56.29 79.25 56.38 79.39Q56.46 79.52 56.49 79.61L56.56 79.6Q56.55 79.41 56.55 79.24Q56.55 79.06 56.55 78.89V74H58.2V82.58H56.59L52.98 77.62Q52.87 77.47 52.73 77.25Q52.6 77.03 52.54 76.93L52.48 76.94Q52.48 77.11 52.48 77.28Q52.48 77.46 52.48 77.62V82.58ZM60.25 82.58V74H67V75.45H61.98V77.48H66.44V78.92H61.98V81.13H67.08V82.58ZM70.96 82.58V75.47H68.21V74H75.43V75.47H72.68V82.58Z"/>
+</svg>

+ 6 - 0
assets/languages/vue.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="104" height="104" viewBox="0 0 104 104" role="img" aria-label="Vue">
+  <title>Vue</title>
+  <rect x="0.5" y="0.5" width="103" height="103" rx="8" fill="#f7f6f2" stroke="#d6d3c8"/>
+  <g transform="translate(30.0,18) scale(1.83333)"><path fill="#4FC08D" d="M24,1.61H14.06L12,5.16,9.94,1.61H0L12,22.39ZM12,14.08,5.16,2.23H9.59L12,6.41l2.41-4.18h4.43Z"/></g>
+  <path fill="#16150f" d="M43.6 82.58 40.48 74H42.35L44.31 79.74Q44.36 79.86 44.42 80.04Q44.47 80.21 44.52 80.38Q44.58 80.54 44.62 80.67H44.68Q44.73 80.55 44.77 80.4Q44.82 80.24 44.88 80.07Q44.93 79.9 44.98 79.75L46.93 74H48.72L45.6 82.58ZM51.91 82.73Q50.94 82.73 50.35 82.2Q49.76 81.67 49.76 80.43V76H51.37V80.15Q51.37 80.49 51.45 80.71Q51.53 80.94 51.68 81.08Q51.83 81.22 52.05 81.29Q52.27 81.35 52.54 81.35Q52.94 81.35 53.26 81.15Q53.59 80.96 53.77 80.61Q53.96 80.27 53.96 79.83V76H55.57V82.58H54.24L54.12 81.69H54.03Q53.8 82 53.49 82.23Q53.18 82.47 52.78 82.6Q52.38 82.73 51.91 82.73ZM60.22 82.73Q59.16 82.73 58.44 82.36Q57.73 81.99 57.37 81.23Q57.01 80.47 57.01 79.29Q57.01 78.11 57.37 77.35Q57.73 76.59 58.44 76.22Q59.15 75.85 60.21 75.85Q61.18 75.85 61.84 76.21Q62.5 76.57 62.83 77.31Q63.17 78.05 63.17 79.22V79.67H58.65Q58.68 80.27 58.83 80.68Q58.99 81.09 59.33 81.29Q59.67 81.5 60.23 81.5Q60.52 81.5 60.77 81.42Q61.02 81.35 61.2 81.19Q61.38 81.04 61.49 80.81Q61.59 80.57 61.59 80.27H63.17Q63.17 80.89 62.95 81.36Q62.73 81.82 62.33 82.12Q61.93 82.43 61.4 82.58Q60.86 82.73 60.22 82.73ZM58.68 78.59H61.5Q61.5 78.19 61.41 77.91Q61.32 77.63 61.15 77.44Q60.98 77.26 60.75 77.18Q60.51 77.1 60.22 77.1Q59.74 77.1 59.41 77.26Q59.08 77.42 58.91 77.75Q58.74 78.08 58.68 78.59Z"/>
+</svg>

Неке датотеке нису приказане због велике количине промена