feat: autogenerate port & showcase list in README (#1894)

pull/1/head
winston 2 years ago committed by GitHub
parent 6314261943
commit fca166b878
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,38 @@
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
name: Generate READMEs
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
DENO_DIR: deno_cache
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Git Checkout Deno Module
uses: actions/checkout@v3
with:
ref: ${{ github.head_ref }}
- name: Set up Deno
uses: denoland/setup-deno@v1
with:
deno-version: v1.x
- name: Cache Deno dependencies
uses: actions/cache@v3
with:
key: ${{ hashFiles('resources/generate/deno.lock') }}
path: ${{ env.DENO_DIR }}
- name: Update READMEs
working-directory: resources/generate
run: ./main.ts
- name: Push changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: "chore: re-generate README sections"

1
.gitignore vendored

@ -1 +1,2 @@
deno_cache/
node_modules/ node_modules/

@ -894,7 +894,10 @@ the [style guide](https://github.com/catppuccin/catppuccin/blob/main/docs/style-
Catppuccin is available for various apps and in different formats. Here is a list of them: Catppuccin is available for various apps and in different formats. Here is a list of them:
<details open><summary>👾 Code Editors</summary> <!-- AUTOGEN:PORTLIST START -->
<!-- the following section is auto-generated, do not edit -->
<details open>
<summary>👾 Code Editors & IDEs</summary>
- [Binary Ninja](https://github.com/catppuccin/binary-ninja) - [Binary Ninja](https://github.com/catppuccin/binary-ninja)
- [Cutter](https://github.com/catppuccin/cutter) - [Cutter](https://github.com/catppuccin/cutter)
@ -902,7 +905,6 @@ Catppuccin is available for various apps and in different formats. Here is a lis
- [Geany](https://github.com/catppuccin/geany) - [Geany](https://github.com/catppuccin/geany)
- [Gedit](https://github.com/catppuccin/gedit) - [Gedit](https://github.com/catppuccin/gedit)
- [Helix](https://github.com/catppuccin/helix) - [Helix](https://github.com/catppuccin/helix)
- [Insomnia](https://github.com/catppuccin/insomnia)
- [JetBrains](https://github.com/catppuccin/jetbrains) - [JetBrains](https://github.com/catppuccin/jetbrains)
- [Kakoune](https://github.com/catppuccin/kakoune) - [Kakoune](https://github.com/catppuccin/kakoune)
- [Lapce](https://github.com/catppuccin/lapce) - [Lapce](https://github.com/catppuccin/lapce)
@ -910,213 +912,206 @@ Catppuccin is available for various apps and in different formats. Here is a lis
- [Neovim](https://github.com/catppuccin/nvim) - [Neovim](https://github.com/catppuccin/nvim)
- [Notepad++](https://github.com/catppuccin/notepad-plus-plus) - [Notepad++](https://github.com/catppuccin/notepad-plus-plus)
- [Nova](https://github.com/catppuccin/nova) - [Nova](https://github.com/catppuccin/nova)
- [Spyder](https://github.com/catppuccin/spyder) - [spyder](https://github.com/catppuccin/spyder)
- [Sublime Text](https://github.com/catppuccin/sublime-text) - [Sublime Text](https://github.com/catppuccin/sublime-text)
- [Unreal Engine](https://github.com/catppuccin/unreal-engine)
- [Vim](https://github.com/catppuccin/vim) - [Vim](https://github.com/catppuccin/vim)
- [Visual Studio Code](https://github.com/catppuccin/vscode)
- [Visual Studio](https://github.com/catppuccin/visual-studio) - [Visual Studio](https://github.com/catppuccin/visual-studio)
- [Visual Studio Code](https://github.com/catppuccin/vscode)
- [Xcode](https://github.com/catppuccin/xcode) - [Xcode](https://github.com/catppuccin/xcode)
- [Xed](https://github.com/catppuccin/xed) - [Xed](https://github.com/catppuccin/xed)
</details> </details>
<details open>
<details open><summary>💭 Development</summary> <summary>💭 Development tools</summary>
- [CodeMirror](https://github.com/catppuccin/codemirror) - [CodeMirror](https://github.com/catppuccin/codemirror)
- [egui](https://github.com/catppuccin/egui) - [egui](https://github.com/catppuccin/egui)
- [Highlight.js](https://github.com/catppuccin/highlightjs)
- [Insomnia](https://github.com/catppuccin/insomnia)
- [Matplotlib](https://github.com/catppuccin/matplotlib) - [Matplotlib](https://github.com/catppuccin/matplotlib)
- [mdBook](https://github.com/catppuccin/mdBook) - [mdBook](https://github.com/catppuccin/mdBook)
- [Palette](https://github.com/catppuccin/palette)
- [Tailwind CSS](https://github.com/catppuccin/tailwindcss) - [Tailwind CSS](https://github.com/catppuccin/tailwindcss)
- [Template](https://github.com/catppuccin/template) - [Unreal Engine](https://github.com/catppuccin/unreal-engine)
- [Toolbox](https://github.com/catppuccin/toolbox) - [Vercel](https://github.com/catppuccin/vercel)
</details> </details>
<details open>
<summary>📚 Libraries</summary>
<details open><summary>🔧 System</summary> - [Go](https://github.com/catppuccin/go)
- [Pantone](https://github.com/catppuccin/pantone)
- [Python](https://github.com/catppuccin/python)
- [Rust](https://github.com/catppuccin/rust)
- [UI](https://github.com/catppuccin/ui)
</details>
<details open>
<summary>🐚 CLI tools</summary>
- [Alfred](https://github.com/catppuccin/alfred)
- [bat](https://github.com/catppuccin/bat) - [bat](https://github.com/catppuccin/bat)
- [bemenu](https://github.com/catppuccin/bemenu)
- [bottom](https://github.com/catppuccin/bottom) - [bottom](https://github.com/catppuccin/bottom)
- [btop](https://github.com/catppuccin/btop) - [Btop++](https://github.com/catppuccin/btop)
- [CAVA](https://github.com/catppuccin/cava) - [C.A.V.A.](https://github.com/catppuccin/cava)
- [Fish](https://github.com/catppuccin/fish)
- [fzf](https://github.com/catppuccin/fzf)
- [GitUI](https://github.com/catppuccin/gitui)
- [Glamour](https://github.com/catppuccin/glamour)
- [k9s](https://github.com/catppuccin/k9s)
- [Lazygit](https://github.com/catppuccin/lazygit)
- [Midning Commander](https://github.com/catppuccin/mc)
- [NeoMutt](https://github.com/catppuccin/neomutt)
- [Newsboat](https://github.com/catppuccin/newsboat)
- [sc-im](https://github.com/catppuccin/sc-im)
- [tmux](https://github.com/catppuccin/tmux)
- [Zellij](https://github.com/catppuccin/zellij)
- [zsh-syntax-highlighting](https://github.com/catppuccin/zsh-syntax-highlighting)
</details>
<details open>
<summary>🌱 Terminals</summary>
- [Alacritty](https://github.com/catppuccin/alacritty)
- [Black Box](https://github.com/catppuccin/blackbox)
- [Blink](https://github.com/catppuccin/blink)
- [Contour](https://github.com/catppuccin/contour)
- [CRT: cool-retro-term](https://github.com/catppuccin/crt)
- [foot](https://github.com/catppuccin/foot)
- [GNOME Terminal](https://github.com/catppuccin/gnome-terminal)
- [Hyper](https://github.com/catppuccin/hyper)
- [iTerm2](https://github.com/catppuccin/iterm)
- [Kitty](https://github.com/catppuccin/kitty)
- [Konsole](https://github.com/catppuccin/konsole)
- [QTerminal](https://github.com/catppuccin/qterminal)
- [st](https://github.com/catppuccin/st)
- [Tabby](https://github.com/catppuccin/tabby)
- [Terminal.app](https://github.com/catppuccin/Terminal.app)
- [Terminator](https://github.com/catppuccin/terminator)
- [Termux](https://github.com/catppuccin/termux)
- [Tilix](https://github.com/catppuccin/tilix)
- [tym](https://github.com/catppuccin/tym)
- [Urxvt](https://github.com/catppuccin/urxvt)
- [Warp](https://github.com/catppuccin/warp)
- [WezTerm](https://github.com/catppuccin/wezterm)
- [Windows Terminal](https://github.com/catppuccin/windows-terminal)
- [Xfce4 Terminal](https://github.com/catppuccin/xfce4-terminal)
- [Zutty](https://github.com/catppuccin/zutty)
</details>
<details open>
<summary>🔧 System</summary>
- [Base16](https://github.com/catppuccin/base16)
- [Conky](https://github.com/catppuccin/conky) - [Conky](https://github.com/catppuccin/conky)
- [Cursors](https://github.com/catppuccin/cursors) - [Cursors](https://github.com/catppuccin/cursors)
- [Dmenu](https://github.com/catppuccin/dmenu) - [dmenu](https://github.com/catppuccin/dmenu)
- [Dunst](https://github.com/catppuccin/dunst) - [Dunst](https://github.com/catppuccin/dunst)
- [fcitx5](https://github.com/catppuccin/fcitx5)
- [FlorisBoard](https://github.com/catppuccin/floris-board) - [FlorisBoard](https://github.com/catppuccin/floris-board)
- [fzf](https://github.com/catppuccin/fzf)
- [Glamour](https://github.com/catppuccin/glamour)
- [GRUB](https://github.com/catppuccin/grub) - [GRUB](https://github.com/catppuccin/grub)
- [GTK](https://github.com/catppuccin/gtk) - [GTK](https://github.com/catppuccin/gtk)
- [Hyprland](https://github.com/catppuccin/hyprland) - [Hyprland](https://github.com/catppuccin/hyprland)
- [i3 & sway](https://github.com/catppuccin/i3) - [i3/sway](https://github.com/catppuccin/i3)
- [KDE](https://github.com/catppuccin/kde) - [KDE](https://github.com/catppuccin/kde)
- [Kvantum](https://github.com/catppuccin/Kvantum) - [Kvantum](https://github.com/catppuccin/Kvantum)
- [LXQt](https://github.com/catppuccin/lxqt) - [LxQT](https://github.com/catppuccin/lxqt)
- [Mako](https://github.com/catppuccin/mako) - [Mako](https://github.com/catppuccin/mako)
- [Midnight Commander](https://github.com/catppuccin/mc)
- [Openbox](https://github.com/catppuccin/openbox) - [Openbox](https://github.com/catppuccin/openbox)
- [Papirus Folders](https://github.com/catppuccin/papirus-folders) - [Papirus Folders](https://github.com/catppuccin/papirus-folders)
- [Plank](https://github.com/catppuccin/plank) - [Plank](https://github.com/catppuccin/plank)
- [Plymouth](https://github.com/catppuccin/plymouth) - [Plymouth](https://github.com/catppuccin/plymouth)
- [Polybar](https://github.com/catppuccin/polybar) - [Polybar](https://github.com/catppuccin/polybar)
- [qt5ct](https://github.com/catppuccin/qt5ct) - [qt5ct](https://github.com/catppuccin/qt5ct)
- [Regolith](https://github.com/catppuccin/regolith) - [Rboard](https://github.com/catppuccin/rboard)
- [Regolith Desktop](https://github.com/catppuccin/regolith)
- [Rofi](https://github.com/catppuccin/rofi) - [Rofi](https://github.com/catppuccin/rofi)
- [SDDM](https://github.com/catppuccin/sddm) - [SDDM](https://github.com/catppuccin/sddm)
- [TTY](https://github.com/catppuccin/tty) - [tty](https://github.com/catppuccin/tty)
- [Ulauncher](https://github.com/catppuccin/ulauncher) - [Ulauncher](https://github.com/catppuccin/ulauncher)
- [Wallpapers](https://github.com/catppuccin/wallpapers) - [waybar](https://github.com/catppuccin/waybar)
- [Waybar](https://github.com/catppuccin/waybar) - [Windows Files](https://github.com/catppuccin/windows-files)
- [Xresources](https://github.com/catppuccin/xresources) - [Xresources](https://github.com/catppuccin/xresources)
- [Rboard](https://github.com/catppuccin/rboard)
</details>
<details open><summary>🐚 Shells</summary>
- [Fish](https://github.com/catppuccin/fish)
- [zsh-syntax-highlighting](https://github.com/catppuccin/zsh-syntax-highlighting)
</details>
<details open><summary>🤓 Productivity</summary>
- [Bento](https://github.com/catppuccin/bento)
- [Codeberg](https://github.com/catppuccin/codeberg)
- [Foliate](https://github.com/catppuccin/foliate)
- [GitHub](https://github.com/catppuccin/github)
- [GitUI](https://github.com/catppuccin/gitui)
- [k9s](https://github.com/catppuccin/k9s)
- [Lazygit](https://github.com/catppuccin/lazygit)
- [NeoMutt](https://github.com/catppuccin/neomutt)
- [OBS](https://github.com/catppuccin/obs)
- [Proton](https://github.com/catppuccin/proton)
- [qBittorrent](https://github.com/catppuccin/qbittorrent)
- [sc-im](https://github.com/catppuccin/sc-im)
- [ShareX](https://github.com/catppuccin/sharex)
- [SolveSpace](https://github.com/catppuccin/solvespace)
- [Sumatra PDF](https://github.com/catppuccin/sumatra-pdf)
- [Tutanota](https://github.com/catppuccin/tutanota)
- [Vercel](https://github.com/catppuccin/vercel)
- [Wikiwand](https://github.com/catppuccin/wikiwand)
- [Zathura](https://github.com/catppuccin/zathura)
</details>
<details open><summary>🌈 Leisure</summary>
- [BitBurner](https://github.com/catppuccin/bitburner)
- [Blockbench](https://github.com/catppuccin/blockbench)
- [Dwarf Fortress](https://github.com/catppuccin/dwarf-fortress)
- [Home Assistant](https://github.com/catppuccin/home-assistant)
- [Last.fm](https://github.com/catppuccin/lastfm)
- [Minecraft](https://github.com/catppuccin/minecraft)
- [Modrinth](https://github.com/catppuccin/modrinth)
- [Newsboat](https://github.com/catppuccin/newsboat)
- [Prism Launcher](https://github.com/catppuccin/prismlauncher)
- [PyRadio](https://github.com/catppuccin/pyradio)
- [Spicetify](https://github.com/catppuccin/spicetify)
- [Spotify Player](https://github.com/catppuccin/spotify-player)
- [Spotify-TUI](https://github.com/catppuccin/spotify-tui)
- [Stable Diffusion Web UI](https://github.com/catppuccin/stable-diffusion-web-ui)
- [Steam](https://github.com/catppuccin/steam)
- [ULTRAKILL](https://github.com/catppuccin/ultrakill)
- [YouTube Music](https://github.com/catppuccin/youtubemusic)
</details> </details>
<details open>
<summary>🏄 Browsers</summary>
<details open><summary>🖥️ Browsers</summary>
- [Chrome](https://github.com/catppuccin/chrome)
- [Firefox](https://github.com/catppuccin/firefox) - [Firefox](https://github.com/catppuccin/firefox)
- [Vivaldi](https://github.com/catppuccin/vivaldi) - [Google Chrome](https://github.com/catppuccin/chrome)
- [qutebrowser](https://github.com/catppuccin/qutebrowser) - [qutebrowser](https://github.com/catppuccin/qutebrowser)
- [Vivaldi](https://github.com/catppuccin/vivaldi)
</details> </details>
<details open>
<details open><summary>🔎 Search engines</summary> <summary>🧩 Browser Extensions</summary>
- [Brave Search](https://github.com/catppuccin/brave-search)
- [DuckDuckGo](https://github.com/catppuccin/duckduckgo)
- [Whoogle](https://github.com/catppuccin/whoogle)
- [SearXNG](https://github.com/catppuccin/searxng)
- [Startpage](https://github.com/catppuccin/startpage)
</details>
<details open><summary>🧩 Extensions</summary>
- [Dark Reader](https://github.com/catppuccin/dark-reader) - [Dark Reader](https://github.com/catppuccin/dark-reader)
- [Nighttab](https://github.com/catppuccin/nighttab)
- [Noir](https://github.com/catppuccin/noir) - [Noir](https://github.com/catppuccin/noir)
- [Sidebery](https://github.com/catppuccin/sidebery) - [Sidebery](https://github.com/catppuccin/sidebery)
- [Vimium](https://github.com/catppuccin/vimium) - [Vimium](https://github.com/catppuccin/vimium)
- [Nighttab](https://github.com/catppuccin/nighttab)
</details> </details>
<details open>
<summary>🔎 Search Engines</summary>
- [SearXNG](https://github.com/catppuccin/SearXNG)
- [Startpage](https://github.com/catppuccin/startpage)
- [Whoogle](https://github.com/catppuccin/whoogle)
<details open><summary>💬 Messaging</summary> </details>
<details open>
<summary>💬 Messaging</summary>
- [Aliucord](https://github.com/catppuccin/Aliucord) (Discord on Android) - [Aliucord](https://github.com/catppuccin/aliucord)
- [Cinny](https://github.com/catppuccin/cinny) - [Cinny](https://github.com/catppuccin/cinny)
- [Discord](https://github.com/catppuccin/discord) - [Discord](https://github.com/catppuccin/discord)
- [Element](https://github.com/catppuccin/element) - [Element](https://github.com/catppuccin/element)
- [Enmity](https://github.com/catppuccin/enmity) (Discord on iOS) - [Enmity](https://github.com/catppuccin/enmity)
- [HexChat](https://github.com/catppuccin/hexchat) - [HexChat](https://github.com/catppuccin/hexchat)
- [Mattermost](https://github.com/catppuccin/mattermost) - [Mattermost](https://github.com/catppuccin/mattermost)
- [Revolt](https://github.com/catppuccin/revolt) - [Revolt](https://github.com/catppuccin/revolt)
- [Slack](https://github.com/catppuccin/slack) - [Slack](https://github.com/catppuccin/slack)
- [Telegram](https://github.com/catppuccin/telegram) - [Telegram](https://github.com/catppuccin/telegram)
- [The Lounge](https://github.com/catppuccin/thelounge)
</details> </details>
<details open>
<summary>📝 Note taking</summary>
<details open><summary>📝 Note-taking</summary>
- [Anki](https://github.com/catppuccin/anki)
- [Joplin](https://github.com/catppuccin/joplin) - [Joplin](https://github.com/catppuccin/joplin)
- [Obsidian](https://github.com/catppuccin/obsidian) - [Obsidian](https://github.com/catppuccin/obsidian)
- [Remnote](https://github.com/catppuccin/remnote) - [Remnote](https://github.com/catppuccin/remnote)
</details> </details>
<details open>
<summary>🗂️ Productivity</summary>
<details open><summary>🌱 Terminals</summary> - [Alfred](https://github.com/catppuccin/alfred)
- [Anki](https://github.com/catppuccin/anki)
- [Alacritty](https://github.com/catppuccin/alacritty) - [Bento](https://github.com/catppuccin/bento)
- [Black Box](https://github.com/catppuccin/blackbox) - [Brave Search](https://github.com/catppuccin/brave-search)
- [Contour](https://github.com/catppuccin/contour) - [Codeberg](https://github.com/catppuccin/codeberg)
- [CRT](https://github.com/catppuccin/crt) - [DeepL](https://github.com/catppuccin/deepl)
- [Fcitx5](https://github.com/catppuccin/fcitx5) - [DuckDuckGo](https://github.com/catppuccin/duckduckgo)
- [Foot](https://github.com/catppuccin/foot) - [Foliate](https://github.com/catppuccin/foliate)
- [Gnome Terminal](https://github.com/catppuccin/gnome-terminal) - [GitHub](https://github.com/catppuccin/github)
- [Hyper](https://github.com/catppuccin/hyper) - [ichi.moe](https://github.com/catppuccin/ichi.moe)
- [iTerm](https://github.com/catppuccin/iterm) - [Mailspring](https://github.com/catppuccin/mailspring)
- [Kitty](https://github.com/catppuccin/kitty) - [OBS Studio](https://github.com/catppuccin/obs)
- [Konsole](https://github.com/catppuccin/konsole) - [Proton](https://github.com/catppuccin/proton)
- [QTerminal](https://github.com/catppuccin/qterminal) - [qBittorrent](https://github.com/catppuccin/qbittorrent)
- [St](https://github.com/catppuccin/st) - [ShareX](https://github.com/catppuccin/sharex)
- [Tabby](https://github.com/catppuccin/tabby) - [SolveSpace](https://github.com/catppuccin/solvespace)
- [Terminal.app](https://github.com/catppuccin/Terminal.app) - [SumatraPDF](https://github.com/catppuccin/sumatra-pdf)
- [Terminator](https://github.com/catppuccin/terminator) - [Thunderbird](https://github.com/catppuccin/thunderbird)
- [Termux](https://github.com/catppuccin/termux) - [Tutanota](https://github.com/catppuccin/tutanota)
- [Tilix](https://github.com/catppuccin/tilix) - [WikiWand](https://github.com/catppuccin/wikiwand)
- [Tmux](https://github.com/catppuccin/tmux) - [Zathura](https://github.com/catppuccin/zathura)
- [Tym](https://github.com/catppuccin/tym)
- [Urxvt](https://github.com/catppuccin/urxvt)
- [Warp](https://github.com/catppuccin/warp)
- [WezTerm](https://github.com/catppuccin/wezterm)
- [Windows Terminal](https://github.com/catppuccin/windows-terminal)
- [Xfce4 Terminal](https://github.com/catppuccin/xfce4-terminal)
- [Zellij](https://github.com/catppuccin/zellij)
- [Zutty](https://github.com/catppuccin/zutty)
</details> </details>
<details open>
<summary>✨ Social</summary>
<details open><summary>✨ Social</summary>
- [AniList](https://github.com/catppuccin/anilist)
- [Elk](https://github.com/catppuccin/elk) - [Elk](https://github.com/catppuccin/elk)
- [GitHub Readme Stats](https://github.com/catppuccin/github-readme-stats) - [GitHub Readme Stats](https://github.com/catppuccin/github-readme-stats)
- [GitHub Readme Tech Stack](https://github.com/catppuccin/github-readme-tech-stack) - [GitHub Readme Tech Stack](https://github.com/catppuccin/github-readme-tech-stack)
@ -1124,14 +1119,42 @@ Catppuccin is available for various apps and in different formats. Here is a lis
- [Infinity for Reddit](https://github.com/catppuccin/infinity) - [Infinity for Reddit](https://github.com/catppuccin/infinity)
- [Invidious](https://github.com/catppuccin/invidious) - [Invidious](https://github.com/catppuccin/invidious)
- [Libreddit](https://github.com/catppuccin/libreddit) - [Libreddit](https://github.com/catppuccin/libreddit)
- [Mailspring](https://github.com/catppuccin/mailspring) - [Mastodon](https://github.com/catppuccin/mastodon)
- [Monkeytype](https://github.com/catppuccin/monkeytype)
- [Nitter](https://github.com/catppuccin/nitter) - [Nitter](https://github.com/catppuccin/nitter)
- [Reddit](https://github.com/catppuccin/reddit) - [Reddit](https://github.com/catppuccin/reddit)
- [Thunderbird](https://github.com/catppuccin/thunderbird)
- [YouTube](https://github.com/catppuccin/youtube) - [YouTube](https://github.com/catppuccin/youtube)
</details> </details>
<details open>
<summary>🌈 Leisure</summary>
- [Amfora](https://github.com/catppuccin/amfora)
- [AniList](https://github.com/catppuccin/anilist)
- [Home Assistant](https://github.com/catppuccin/home-assistant)
- [Last.fm](https://github.com/catppuccin/lastfm)
- [monkeytype](https://github.com/catppuccin/monkeytype)
- [PyRadio](https://github.com/catppuccin/pyradio)
- [Spicetify](https://github.com/catppuccin/spicetify)
- [spotify-player](https://github.com/catppuccin/spotify-player)
- [spotify-tui](https://github.com/catppuccin/spotify-tui)
- [Stable Diffusion WebUI](https://github.com/catppuccin/stable-diffusion-web-ui)
- [Steam](https://github.com/catppuccin/steam)
- [YouTube Music](https://github.com/catppuccin/youtubemusic)
</details>
<details open>
<summary>🎮 Games</summary>
- [BitBurner](https://github.com/catppuccin/bitburner)
- [Blockbench](https://github.com/catppuccin/blockbench)
- [Dwarf Fortress](https://github.com/catppuccin/dwarf-fortress)
- [Minecraft](https://github.com/catppuccin/minecraft)
- [Modrinth](https://github.com/catppuccin/modrinth)
- [Prism Launcher](https://github.com/catppuccin/prismlauncher)
- [ULTRAKILL](https://github.com/catppuccin/ultrakill)
</details>
<!-- AUTOGEN:PORTLIST END -->
&nbsp; &nbsp;
@ -1144,9 +1167,11 @@ Catppuccin is available for various apps and in different formats. Here is a lis
If you're making an application or tool using our palette, please let us know by adding it below! If you're making an application or tool using our palette, please let us know by adding it below!
- 🌟 [flotes.app](https://flotes.app/) - A free note-taking app enhanced with flashcard features <!-- AUTOGEN:SHOWCASE START -->
- 🌟 [AnuPpuccin](https://github.com/AnubisNekhet/AnuPpuccin) - Highly customisable theme <!-- the following section is auto-generated, do not edit -->
for [Obsidian](https://obsidian.md/) - [flotes.app](https://flotes.app/) - A free note-taking app enhanced with flashcard features
- [AnuPpuccin](https://github.com/AnubisNekhet/AnuPpuccin) - Highly customizable theme for [Obsidian](https://obsidian.md)
<!-- AUTOGEN:SHOWCASE END -->
&nbsp; &nbsp;

@ -0,0 +1,3 @@
{
"lock": "deno.lock"
}

@ -0,0 +1,112 @@
{
"version": "2",
"remote": {
"https://deno.land/std@0.172.0/_util/asserts.ts": "178dfc49a464aee693a7e285567b3d0b555dc805ff490505a8aae34f9cfb1462",
"https://deno.land/std@0.172.0/_util/os.ts": "d932f56d41e4f6a6093d56044e29ce637f8dcc43c5a90af43504a889cf1775e3",
"https://deno.land/std@0.172.0/bytes/bytes_list.ts": "b4cbdfd2c263a13e8a904b12d082f6177ea97d9297274a4be134e989450dfa6a",
"https://deno.land/std@0.172.0/bytes/concat.ts": "d26d6f3d7922e6d663dacfcd357563b7bf4a380ce5b9c2bbe0c8586662f25ce2",
"https://deno.land/std@0.172.0/bytes/copy.ts": "939d89e302a9761dcf1d9c937c7711174ed74c59eef40a1e4569a05c9de88219",
"https://deno.land/std@0.172.0/encoding/_yaml/dumper/dumper.ts": "49053c293a2250b33f2efc0ce3973280c6dc3bc0b41397af3863b5f03340e01b",
"https://deno.land/std@0.172.0/encoding/_yaml/dumper/dumper_state.ts": "975a3702752a29251c5746206507dfebbfede60dd2c0dec161dc22633fbc6085",
"https://deno.land/std@0.172.0/encoding/_yaml/error.ts": "e60ab51d7c0253cf0d1cf7d445202e8e3da5c77aae0032071ba7400121c281b4",
"https://deno.land/std@0.172.0/encoding/_yaml/loader/loader.ts": "6c59f60faaf78d73db0e016293f4bfed19e6356d7064230d07d6b68a65a1df5d",
"https://deno.land/std@0.172.0/encoding/_yaml/loader/loader_state.ts": "fcc82fcdf167acb0e9e5e32b32682e58b45f2d44210bf685794797ccb5621232",
"https://deno.land/std@0.172.0/encoding/_yaml/mark.ts": "0027d6f62a70a6c64b85bd1751ddf1646ea97edcefbf5bea1706d5e519f4e34f",
"https://deno.land/std@0.172.0/encoding/_yaml/parse.ts": "63e79582e07145ca1d3205d1ac72b82bf5ce14159dabae195abe7e36de8111bd",
"https://deno.land/std@0.172.0/encoding/_yaml/schema.ts": "0833c75c59bf72c8a8f96f6c0615bcd98d23fdd9b076657f42b5c1a4f9d972b0",
"https://deno.land/std@0.172.0/encoding/_yaml/schema/core.ts": "366f56673336ba24f5723c04319efcc7471be5f55d5f8d95c9b4a38ec233d4c6",
"https://deno.land/std@0.172.0/encoding/_yaml/schema/default.ts": "96e9ed6ead36f53a0832c542fc9b8cca7f8b4a67c1c8424e1423a39ee7154db7",
"https://deno.land/std@0.172.0/encoding/_yaml/schema/extended.ts": "f9bd75c79ebdfb92a8e167488b6bde7113a31b8fabe20ad7eed0904fba11bcd2",
"https://deno.land/std@0.172.0/encoding/_yaml/schema/failsafe.ts": "cddcbf0258bbe0cd77ca10e2f5aec13439f50d4068f96aab08ca2d64496dabe8",
"https://deno.land/std@0.172.0/encoding/_yaml/schema/json.ts": "c86905dfb1b6c4633750bfbb5bd529a30be5c08287ab7eb6694390b40e276487",
"https://deno.land/std@0.172.0/encoding/_yaml/schema/mod.ts": "051f93dd97a15aaad2da62bd24627e8fd2f02fb026d21567d924b720d606f078",
"https://deno.land/std@0.172.0/encoding/_yaml/state.ts": "ef03d55ec235d48dcfbecc0ab3ade90bfae69a61094846e08003421c2cf5cfc6",
"https://deno.land/std@0.172.0/encoding/_yaml/stringify.ts": "426b73e4dbaeed26ed855add3862786d7e374bd4c59e5e1bd9a6fcd5082be3c7",
"https://deno.land/std@0.172.0/encoding/_yaml/type.ts": "5ded5472a0f17a219ac3b0e90d96dc8472a68654a40258a31e03a6c6297b6788",
"https://deno.land/std@0.172.0/encoding/_yaml/type/binary.ts": "935d39794420ac3718d26716192239de6a53566c6f2ba5010e8ed26936b94a89",
"https://deno.land/std@0.172.0/encoding/_yaml/type/bool.ts": "1c99cfbaa94b022575b636a73e1549569b26fc6bbff2cd5e539aa77b49bdf303",
"https://deno.land/std@0.172.0/encoding/_yaml/type/float.ts": "f60ad19b27050add694bfc255b7efef27103f047861aa657823ff3f6853bad11",
"https://deno.land/std@0.172.0/encoding/_yaml/type/function.ts": "65a37f6bef43ef141854ee48a1058d9c9c4c80ed6eed6cd35608329a6957e27a",
"https://deno.land/std@0.172.0/encoding/_yaml/type/int.ts": "892f59bb7b2dbd64dd9b643c17441af95c0b962ad027e454cb84a68864787b86",
"https://deno.land/std@0.172.0/encoding/_yaml/type/map.ts": "92e647a6aec0dc184ea4b039a77a15883b54da754311189c595b43f6aaa50030",
"https://deno.land/std@0.172.0/encoding/_yaml/type/merge.ts": "8192bf3e4d637f32567917f48bb276043da9cf729cf594e5ec191f7cd229337e",
"https://deno.land/std@0.172.0/encoding/_yaml/type/mod.ts": "060e2b3d38725094b77ea3a3f05fc7e671fced8e67ca18e525be98c4aa8f4bbb",
"https://deno.land/std@0.172.0/encoding/_yaml/type/nil.ts": "606e8f0c44d73117c81abec822f89ef81e40f712258c74f186baa1af659b8887",
"https://deno.land/std@0.172.0/encoding/_yaml/type/omap.ts": "fbd5da9970c211335ff7c8fa11e9c5e9256e568d52418ac237d1538c5cb0d5e6",
"https://deno.land/std@0.172.0/encoding/_yaml/type/pairs.ts": "ea487a44c0ae64d8d952779fa1cb5fa0a12f32a0b5d3d1e8c1f06f446448427c",
"https://deno.land/std@0.172.0/encoding/_yaml/type/regexp.ts": "672000d22a1062d61577d30b218c28f5cb1d039a7a60079fdde6a4e558d5ca51",
"https://deno.land/std@0.172.0/encoding/_yaml/type/seq.ts": "39b28f7c7aa41263c5c42cab9d184f03555e9ba19493766afc0c0c325a9ac49f",
"https://deno.land/std@0.172.0/encoding/_yaml/type/set.ts": "0e30a9f750306b514c8ae9869d1ac2548d57beab55b33e85ea9673ca0a08264c",
"https://deno.land/std@0.172.0/encoding/_yaml/type/str.ts": "a67a3c6e429d95041399e964015511779b1130ea5889fa257c48457bd3446e31",
"https://deno.land/std@0.172.0/encoding/_yaml/type/timestamp.ts": "706ea80a76a73e48efaeb400ace087da1f927647b53ad6f754f4e06d51af087f",
"https://deno.land/std@0.172.0/encoding/_yaml/type/undefined.ts": "94a316ca450597ccbc6750cbd79097ad0d5f3a019797eed3c841a040c29540ba",
"https://deno.land/std@0.172.0/encoding/_yaml/utils.ts": "26b311f0d42a7ce025060bd6320a68b50e52fd24a839581eb31734cd48e20393",
"https://deno.land/std@0.172.0/encoding/yaml.ts": "02571d1bbbcfd7c5647789cee872ecf9c1c470e1b1a40948ed219fb661e19d87",
"https://deno.land/std@0.172.0/io/buf_reader.ts": "90a7adcb3638d8e1361695cdf844d58bcd97c41711dc6f9f8acc0626ebe097f5",
"https://deno.land/std@0.172.0/io/buf_writer.ts": "759c69d304b04d2909976f2a03a24a107276fbd81ed13593c5c2d43d104b52f3",
"https://deno.land/std@0.172.0/io/buffer.ts": "24abd4a65403ca3fdffcb6d3f985b0285adfd785f1311ce681708a21126776ad",
"https://deno.land/std@0.172.0/io/read_delim.ts": "7e102c66f00a118fa1e1ccd4abb080496f43766686907fd8b9522fdf85443586",
"https://deno.land/std@0.172.0/io/read_lines.ts": "baee9e35034f2fdfccf63bc24b7e3cb45aa1c1c5de26d178f7bcbc572e87772f",
"https://deno.land/std@0.172.0/io/read_string_delim.ts": "46eb0c9db3547caf8c759631effa200bbe48924f9b34f41edc627bde36cee52d",
"https://deno.land/std@0.172.0/path/_constants.ts": "e49961f6f4f48039c0dfed3c3f93e963ca3d92791c9d478ac5b43183413136e0",
"https://deno.land/std@0.172.0/path/_interface.ts": "6471159dfbbc357e03882c2266d21ef9afdb1e4aa771b0545e90db58a0ba314b",
"https://deno.land/std@0.172.0/path/_util.ts": "86c2375a996c1931b2f2ac71fefd5ddf0cf0e579fa4ab12d3e4c552d4223b8d8",
"https://deno.land/std@0.172.0/path/common.ts": "ee7505ab01fd22de3963b64e46cff31f40de34f9f8de1fff6a1bd2fe79380000",
"https://deno.land/std@0.172.0/path/glob.ts": "d479e0a695621c94d3fd7fe7abd4f9499caf32a8de13f25073451c6ef420a4e1",
"https://deno.land/std@0.172.0/path/mod.ts": "4b83694ac500d7d31b0cdafc927080a53dc0c3027eb2895790fb155082b0d232",
"https://deno.land/std@0.172.0/path/posix.ts": "0874b341c2c6968ca38d323338b8b295ea1dae10fa872a768d812e2e7d634789",
"https://deno.land/std@0.172.0/path/separator.ts": "0fb679739d0d1d7bf45b68dacfb4ec7563597a902edbaf3c59b50d5bcadd93b1",
"https://deno.land/std@0.172.0/path/win32.ts": "672942919dd66ce1b8c224e77d3447e2ad8254eaff13fe6946420a9f78fa141e",
"https://deno.land/std@0.172.0/types.d.ts": "220ed56662a0bd393ba5d124aa6ae2ad36a00d2fcbc0e8666a65f4606aaa9784",
"https://esm.sh/ajv@8.12.0": "594b01900aff1e27d4c419046dd09ac30290281839e784253f53b66f47898108",
"https://esm.sh/v106/ajv@8.12.0/deno/ajv.js": "23854337afccdad144d7f2f1f165dc7361882a8cd5644e7e56ec311697f80cc6",
"https://esm.sh/v106/ajv@8.12.0/dist/ajv.d.ts": "e2efa41fff63778572ae1d04dc9d62048684aa8aad6edd0218e562402ea9e0ec",
"https://esm.sh/v106/ajv@8.12.0/dist/compile/codegen/code.d.ts": "2d225e7bda2871c066a7079c88174340950fb604f624f2586d3ea27bb9e5f4ff",
"https://esm.sh/v106/ajv@8.12.0/dist/compile/codegen/index.d.ts": "9785e1199bae7389a92831c1f732fa72fc6f34a9c3f8948a5acfc8451e72f833",
"https://esm.sh/v106/ajv@8.12.0/dist/compile/codegen/scope.d.ts": "4ad65126bd23e1b8fe40f5375b812676694dccc232060a53bff52ac416aef059",
"https://esm.sh/v106/ajv@8.12.0/dist/compile/errors.d.ts": "65c56e41c3ad2867c1c179e7cb8fd4fcbb4cdaa172e2cc5242fbbfab4be089c0",
"https://esm.sh/v106/ajv@8.12.0/dist/compile/index.d.ts": "dc63e8445111329e56e443e63cc892632015ddbfa76170e4959b4d876535285e",
"https://esm.sh/v106/ajv@8.12.0/dist/compile/ref_error.d.ts": "b5e33c3fb8302173827cb3ee68d45c9ff45d2e8ec2a9b347ede1f0b5e00ccdf3",
"https://esm.sh/v106/ajv@8.12.0/dist/compile/resolve.d.ts": "23d18dca3d3b9b1c85cffc826914219e39db265aa3bd2eb1259cdce013a4a94a",
"https://esm.sh/v106/ajv@8.12.0/dist/compile/rules.d.ts": "18e085a67ae0ea81f7d4539e8f682f0b9b150b12af9e66f7760a03356aec507f",
"https://esm.sh/v106/ajv@8.12.0/dist/compile/util.d.ts": "3acaa483c7cf47fc5ced1473b830ec37a8f0d40238f3d96246657c970e13e6c7",
"https://esm.sh/v106/ajv@8.12.0/dist/compile/validate/dataType.d.ts": "4f56c2ba7307d8d5749dd4b60fadab04dce7d69838e129d04c3837cb397ce5bf",
"https://esm.sh/v106/ajv@8.12.0/dist/compile/validate/index.d.ts": "3e1bff49fa21ad6c11d06b5074fd623443dbd5db8fed3bd78411232401a0313e",
"https://esm.sh/v106/ajv@8.12.0/dist/compile/validate/subschema.d.ts": "79ae0a30e9f503b57d8c698e40f1141de1ff05d36dc9b08bc9b3ed6fe1074f9f",
"https://esm.sh/v106/ajv@8.12.0/dist/core.d.ts": "c0d24ae17225116e4895c1961a957acb2158c3ea3f2164ede7b726fc1112edf7",
"https://esm.sh/v106/ajv@8.12.0/dist/runtime/validation_error.d.ts": "515ba5900e0017f5512f442a31826d4210ac782b9b6fad6dbfcab61b5f8c881f",
"https://esm.sh/v106/ajv@8.12.0/dist/types/index.d.ts": "7fdb4bb0d8c9559e391d89e36061ffb02e30b8b7886c246cffeb793937a5f404",
"https://esm.sh/v106/ajv@8.12.0/dist/types/json-schema.d.ts": "6b6ed4aa017eb6867cef27257379cfe3e16caf628aceae3f0163dbafcaf891ff",
"https://esm.sh/v106/ajv@8.12.0/dist/types/jtd-schema.d.ts": "25f1159094dc0bf3a71313a74e0885426af21c5d6564a254004f2cadf9c5b052",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/additionalItems.d.ts": "810dc8272ea4023b647017ee4ff3ababce2a186c48a1e371e0fb631ed5bf9499",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/additionalProperties.d.ts": "93eafd639403aca489d2a2bd26fb89b46a855a271fa3685df23d3f3cfd6c7781",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/anyOf.d.ts": "3bcf9e93173ce018235392adf8ac6b9d4173b632d2fbd74e083f58c5e8dda50d",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/contains.d.ts": "e271ef23f0eecaa3bc3241429c25694aab4e47d96b8bd564d68e077ca2155251",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/dependencies.d.ts": "4da778139fb84dce56f1bb4ef757c17d891a9e3f0f5cff5b835ebde09ac1e956",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/if.d.ts": "48955ffe23bd06877c1bbc7f364a9e80f2dae56783fbfb79c16520375c376230",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/index.d.ts": "16bea08752cd2ca1eabbeb11ebddd265f4150cf171c1041e11a0501f35a49d4e",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/items2020.d.ts": "263fb5e5115873391f99a45bab2e975b0483e8a45da95bdecdbec6760c127aa4",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/not.d.ts": "869d7db4971ca299ff238ca0ea8b3d5cd752b449ccb6559790db0c8ad0c5dfbe",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/oneOf.d.ts": "385baa5077f5878b7506ec9192fd7ab686f7fda6276b71b877ecc0424c24badb",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/applicator/propertyNames.d.ts": "2b379d5bc77776abe065fab1e47f84929f6274e0e380c0c1c27a6965e7f4aabc",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/discriminator/index.d.ts": "d6f1fa129cf004b83f2913b3b3094d510e77b421f87ed6ee69f5f89b493fe91b",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/discriminator/types.d.ts": "cdcdcd676aa93fb9822b91569f06178c6cdcbb216f6dab289cc193ac99638838",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/errors.d.ts": "673f52fa2cc7f047ab6f369d12ed82088358174fd58474329d79fa999e3ce635",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/format/format.d.ts": "1fbffe88e41ab623cdd71ef300206298a6780ed9fd1abfd7d63f1892379c7e9a",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/unevaluated/unevaluatedItems.d.ts": "8b9b8c5189417cda763245be14d202e1a199091f1b0b3a0f4c957bdb85ffd044",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts": "4e10c976131382776b03ab8cee68e7764c9bf7db1ab9132066bb0d1f640c03fe",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/validation/const.d.ts": "90985bc6fed39fd595acab2f8f91ce2274b46c9ec7f68d9624d4a677fb206ae8",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/validation/dependentRequired.d.ts": "632b0af8992f86056e5571fbb148835d582332bb613c4e80fdf6719c501483c5",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/validation/enum.d.ts": "15663b84b4d935e1a282269a9ac1072c96d9351c941fa959469cd1ba2419b148",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/validation/index.d.ts": "d05ad2c8e4613c06e314105aaa7b43caa7a373e5f2671c51053bc9160803fbd5",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/validation/limitNumber.d.ts": "3b4220c15eacf28d3732f9df3a2ad0908b9a388dc9d13c35311233f11c28dd36",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/validation/multipleOf.d.ts": "a62b50d44d9c8d0e26b3b42eb90fe87ad1fad683122aa076e6f8d30fb056ad5f",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/validation/pattern.d.ts": "bc7f68367bbd6bdf9ed47aae8590770c7ec7ad6d44c0de11df696162038224b1",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/validation/required.d.ts": "7a14df7f7a58dd22ca4ca449f39cc0168eec566c95d9d7950e5b91da50bf4415",
"https://esm.sh/v106/ajv@8.12.0/dist/vocabularies/validation/uniqueItems.d.ts": "9a9056c3705215ba3289f7ad913e92babeca6e53091aa8095ee85e66ee2bd089",
"https://esm.sh/v106/fast-deep-equal@3.1.3/deno/fast-deep-equal.js": "4695b025e9a792678087d71f58e1fa07e8021b636d22fda8c0320fcff65a3c47",
"https://esm.sh/v106/json-schema-traverse@1.0.0/deno/json-schema-traverse.js": "ff987aaea4950aa9c4eea3ca19c9ec2b3229434e22e711415aa77fb513689a9c",
"https://esm.sh/v106/uri-js@4.4.1/deno/uri-js.js": "cb0fe68d76c29d62c7b79baf964e1b1c6623039faae892514776f0680711fc3e",
"https://esm.sh/v106/uri-js@4.4.1/dist/es5/uri.all.d.ts": "9f3c5498245c38c9016a369795ec5ef1768d09db63643c8dba9656e5ab294825"
}
}

@ -0,0 +1,7 @@
export { parse as parseYaml } from "https://deno.land/std@0.172.0/encoding/yaml.ts";
import Ajv from "https://esm.sh/ajv@8.12.0";
import * as path from "https://deno.land/std@0.172.0/path/mod.ts";
import schema from "../ports.schema.json" assert { type: "json" };
export { Ajv, path, schema };

@ -0,0 +1,110 @@
#!/usr/bin/env -S deno run --allow-env --allow-read --allow-write
import { Ajv, parseYaml, path, schema } from "./deps.ts";
import type { Categories, Port, Ports, Showcases } from "./types.d.ts";
const root = new URL(".", import.meta.url).pathname;
type Metadata = {
categories: Categories;
ports: Ports;
showcases: Showcases;
};
const ajv = new Ajv();
const validate = ajv.compile<Metadata>(schema);
const portsYaml = Deno.readTextFileSync(path.join(root, "../ports.yml"));
const data = parseYaml(portsYaml) as Metadata;
// throw error if the YAML is invalid
if (!validate(data)) {
console.log(validate.errors);
Deno.exit(1);
}
export type MappedPort = Port & { html_url: string };
const categorized = Object.entries(data.ports).reduce((acc, [slug, port]) => {
!acc[port.category] && (acc[port.category] = []);
acc[port.category].push({
html_url: `https://github.com/catppuccin/${slug}`,
...port,
});
acc[port.category].sort((a, b) => a.name.localeCompare(b.name));
return acc;
}, {} as Record<string, MappedPort[]>);
const portListData = data.categories.map((category) => {
return {
meta: category,
ports: categorized[category.key],
};
});
const updateReadme = ({
readme,
section,
newContent,
}: {
readme: string;
section: string;
newContent: string;
}): string => {
const preamble =
"<!-- the following section is auto-generated, do not edit -->";
const markers = {
start: `<!-- AUTOGEN:${section.toUpperCase()} START -->`,
end: `<!-- AUTOGEN:${section.toUpperCase()} END -->`,
};
const wrapped = markers.start + "\n" + preamble + "\n" + newContent + "\n" +
markers.end;
if (
!(
readmeContent.includes(markers.start) &&
readmeContent.includes(markers.end)
)
) {
throw new Error("Markers not found in README.md");
}
const pre = readme.split(markers.start)[0];
const end = readme.split(markers.end)[1];
return pre + wrapped + end;
};
const readmePath = path.join(root, "../../README.md");
let readmeContent = Deno.readTextFileSync(readmePath);
const portContent = portListData.map((data) => {
return `<details open>
<summary>${data.meta.emoji} ${data.meta.name}</summary>
${data.ports.map((port) => `- [${port.name}](${port.html_url})`).join("\n")}
</details>`;
}).join("\n");
const showcaseContent = data.showcases.map((showcase) => {
return `- [${showcase.title}](${showcase.link}) - ${showcase.description}`;
}).join("\n");
try {
readmeContent = updateReadme({
readme: readmeContent,
section: "portlist",
newContent: portContent,
});
readmeContent = updateReadme({
readme: readmeContent,
section: "showcase",
newContent: showcaseContent,
});
} catch (e) {
console.log("Failed to update the README:", e);
} finally {
Deno.writeTextFileSync(readmePath, readmeContent);
}

@ -0,0 +1,132 @@
/* eslint-disable */
/**
* This file was automatically generated by json-schema-to-typescript.
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
* and run json-schema-to-typescript to regenerate this file.
*/
export type Key =
| "browser"
| "browser_extension"
| "cli"
| "code_editor"
| "development"
| "game"
| "leisure"
| "library"
| "messaging"
| "note_taking"
| "productivity"
| "search_engine"
| "social"
| "system"
| "terminal";
export type Name = string;
export type Emoji = string;
/**
* The categories listed in the README
*/
export type Categories = CategoryItem[];
/**
* The Name of the software the port is for.
*/
export type Name1 = string;
/**
* The category that fits the port the most
*/
export type Category =
| "browser"
| "browser_extension"
| "cli"
| "code_editor"
| "development"
| "game"
| "leisure"
| "library"
| "messaging"
| "note_taking"
| "productivity"
| "search_engine"
| "social"
| "system"
| "terminal";
/**
* The platforms the port supports. Either an array of supported operating systems, "agnostic" (indicating support for all platforms), or "userstyle".
*/
export type Platform = OperatingSystems[] | ("agnostic" | "userstyle");
export type OperatingSystems =
| "android"
| "ios"
| "linux"
| "macos"
| "windows";
/**
* The fill color for the icon on the website.
*/
export type Color =
| "rosewater"
| "flamingo"
| "pink"
| "mauve"
| "red"
| "maroon"
| "peach"
| "yellow"
| "green"
| "teal"
| "sky"
| "sapphire"
| "blue"
| "lavender"
| "text";
/**
* The icon to use on the website. This should be the same name as the SVG file on https://simpleicons.org/. If a `.svg` suffix is present, it's taken from the local website repository resources.
*/
export type Icon = string;
/**
* Whether the port is a userstyle
*/
export type Userstyle = boolean;
export type Title = string;
export type Link = string;
export type Link1 = string;
/**
* Each showcase listed in the README
*/
export type Showcases = ShowcaseItem[];
export interface PortsSchema {
categories?: Categories;
ports?: Ports;
showcases?: Showcases;
}
export interface CategoryItem {
key: Key;
name: Name;
emoji: Emoji;
}
/**
* All ports in the catppuccin org.
*/
export interface Ports {
[k: string]: Port;
}
/**
* The GitHub repository name of the port.
*
* This interface was referenced by `Ports`'s JSON-Schema definition
* via the `patternProperty` "[A-Za-z0-9_\-]".
*/
export interface Port {
name: Name1;
category: Category;
platform: Platform;
color?: Color;
icon?: Icon;
userstyle?: Userstyle;
}
export interface ShowcaseItem {
title: Title;
link: Link;
description: Link1;
}

@ -1,117 +1,225 @@
{ {
"definitions": {}, "$schema": "http://json-schema.org/draft-07/schema#",
"$schema": "http://json-schema.org/draft-07/schema#", "type": "object",
"$id": "https://raw.githubusercontent.com/catppuccin/catppuccin/main/resources/ports.schema.json", "additionalProperties": false,
"type": "object", "properties": {
"additionalProperties": false, "categories": {
"patternProperties": { "$id": "#categories",
"title": "Categories",
"description": "The categories listed in the README",
"type": "array",
"items": {
"$id": "#categories/item",
"title": "Category item",
"type": "object",
"required": [
"key",
"name",
"emoji"
],
"additionalProperties": false,
"properties": {
"key": {
"$id": "#categories/category/key",
"title": "key",
"type": "string",
"$ref": "#/$defs/category"
},
"name": {
"$id": "#categories/category/name",
"title": "Name",
"type": "string"
},
"emoji": {
"$id": "#categories/category/emoji",
"title": "Emoji",
"type": "string"
}
}
}
},
"ports": {
"$id": "#ports",
"title": "Ports",
"type": "object",
"description": "All ports in the catppuccin org.",
"patternProperties": {
"[A-Za-z0-9_\\-]": { "[A-Za-z0-9_\\-]": {
"$id": "#ports/port", "$id": "#ports/port",
"title": "Port", "title": "Port",
"type": "object", "type": "object",
"description": "The GitHub repository name of the port.", "description": "The GitHub repository name of the port.",
"examples": ["nvim"], "examples": [
"required": ["category", "name", "platform"], "nvim"
"properties": { ],
"name": { "required": [
"$id": "#ports/port/name", "category",
"title": "Name", "name",
"description": "The Name of the software the port is for", "platform"
"type": "string", ],
"examples": ["Neovim"] "additionalProperties": false,
}, "properties": {
"category": { "name": {
"$id": "#ports/port/category", "$id": "#ports/port/name",
"title": "Category", "title": "Name",
"description": "The Name of the software the port is for.",
"type": "string",
"examples": [
"Neovim"
]
},
"category": {
"$id": "#ports/port/category",
"title": "Category",
"description": "The category that fits the port the most",
"$ref": "#/$defs/category"
},
"platform": {
"$id": "#ports/port/platform",
"title": "Platform",
"description": "The platforms the port supports. Either an array of supported operating systems, \"agnostic\" (indicating support for all platforms), or \"userstyle\".",
"oneOf": [
{
"type": "array",
"items": {
"$id": "#ports/port/platform/os",
"title": "Operating Systems",
"type": "string", "type": "string",
"enum": [ "enum": [
"browser", "android",
"browser_extension", "ios",
"cli", "linux",
"code_editor", "macos",
"development", "windows"
"game",
"leisure",
"library",
"messaging",
"note_taking",
"productivity",
"search_engine",
"social",
"system",
"terminal"
], ],
"examples": ["editor"] "examples": [
}, [
"platform": { "linux",
"$id": "#ports/port/platform", "macos",
"title": "Platform", "windows"
"description": "The platforms the port supports. Either an array of supported operating systems, \"agnostic\" (indicating support for all platforms), or \"userstyle\".", ],
"oneOf": [ [
{ "android",
"type": "array", "ios"
"items": { ]
"$id": "#ports/port/platform/os",
"title": "Operating Systems",
"type": "string",
"enum": [
"android",
"ios",
"linux",
"macos",
"windows"
],
"examples": [
["linux", "macos", "windows"],
["android", "ios"]
]
}
},
{
"type": "string",
"enum": ["agnostic", "userstyle"]
}
] ]
}
}, },
"color": { {
"$id": "#ports/port/color", "type": "string",
"title": "Color", "enum": [
"description": "The fill color for the icon on the website", "agnostic",
"type": "string", "userstyle"
"enum": [ ]
"rosewater",
"flamingo",
"pink",
"mauve",
"red",
"maroon",
"peach",
"yellow",
"green",
"teal",
"sky",
"sapphire",
"blue",
"lavender",
"text"
],
"examples": ["pink"]
},
"icon": {
"$id": "#ports/port/icon",
"title": "Icon",
"description": "The icon to use on the website. This should be the same name as the SVG file on https://simpleicons.org/. If a `.svg` suffix is present, it's taken from the local website repository resources.",
"type": "string",
"examples": ["neovim", "neovim.svg"]
},
"userstyle": {
"$id": "#ports/port/userstyle",
"title": "Userstyle",
"description": "Whether the port is a userstyle",
"type": "boolean",
"examples": [true]
} }
]
},
"color": {
"$id": "#ports/port/color",
"title": "Color",
"description": "The fill color for the icon on the website.",
"type": "string",
"enum": [
"rosewater",
"flamingo",
"pink",
"mauve",
"red",
"maroon",
"peach",
"yellow",
"green",
"teal",
"sky",
"sapphire",
"blue",
"lavender",
"text"
],
"examples": [
"pink"
]
},
"icon": {
"$id": "#ports/port/icon",
"title": "Icon",
"description": "The icon to use on the website. This should be the same name as the SVG file on https://simpleicons.org/. If a `.svg` suffix is present, it's taken from the local website repository resources.",
"type": "string",
"examples": [
"neovim",
"neovim.svg"
]
},
"userstyle": {
"$id": "#ports/port/userstyle",
"title": "Userstyle",
"description": "Whether the port is a userstyle",
"type": "boolean",
"examples": [
true,
false
]
} }
}
}
}
},
"showcases": {
"$id": "#showcases",
"title": "Showcases",
"type": "array",
"description": "Each showcase listed in the README",
"items": {
"$id": "#showcase/item",
"title": "Showcase item",
"type": "object",
"required": [
"title",
"link",
"description"
],
"additionalProperties": false,
"properties": {
"title": {
"$id": "#showcase/showcase/title",
"title": "title",
"type": "string"
},
"link": {
"$id": "#showcase/showcase/link",
"title": "Link",
"type": "string"
},
"description": {
"$id": "#showcase/showcase/description",
"title": "Link",
"type": "string"
}
} }
}
}
},
"$defs": {
"category": {
"$id": "#category",
"type": "string",
"enum": [
"browser",
"browser_extension",
"cli",
"code_editor",
"development",
"game",
"leisure",
"library",
"messaging",
"note_taking",
"productivity",
"search_engine",
"social",
"system",
"terminal"
]
} }
}
} }

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save