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

This commit is contained in:
winston 2023-01-29 21:54:12 +01:00 committed by GitHub
parent 6314261943
commit fca166b878
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 1700 additions and 1107 deletions

38
.github/workflows/readme.yml vendored Normal file
View file

@ -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
View file

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

305
README.md
View file

@ -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>
<details open>
<summary>🏄 Browsers</summary>
<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 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>
<details open><summary>💬 Messaging</summary> - [SearXNG](https://github.com/catppuccin/SearXNG)
- [Startpage](https://github.com/catppuccin/startpage)
- [Whoogle](https://github.com/catppuccin/whoogle)
- [Aliucord](https://github.com/catppuccin/Aliucord) (Discord on Android) </details>
<details open>
<summary>💬 Messaging</summary>
- [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;

View file

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

View file

@ -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"
}
}

View file

@ -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 };

110
resources/generate/main.ts Executable file
View file

@ -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);
}

132
resources/generate/types.d.ts vendored Normal file
View file

@ -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;
}

View file

@ -1,47 +1,78 @@
{ {
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#", "$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://raw.githubusercontent.com/catppuccin/catppuccin/main/resources/ports.schema.json",
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"properties": {
"categories": {
"$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": { "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"
],
"required": [
"category",
"name",
"platform"
],
"additionalProperties": false,
"properties": { "properties": {
"name": { "name": {
"$id": "#ports/port/name", "$id": "#ports/port/name",
"title": "Name", "title": "Name",
"description": "The Name of the software the port is for", "description": "The Name of the software the port is for.",
"type": "string", "type": "string",
"examples": ["Neovim"] "examples": [
"Neovim"
]
}, },
"category": { "category": {
"$id": "#ports/port/category", "$id": "#ports/port/category",
"title": "Category", "title": "Category",
"type": "string", "description": "The category that fits the port the most",
"enum": [ "$ref": "#/$defs/category"
"browser",
"browser_extension",
"cli",
"code_editor",
"development",
"game",
"leisure",
"library",
"messaging",
"note_taking",
"productivity",
"search_engine",
"social",
"system",
"terminal"
],
"examples": ["editor"]
}, },
"platform": { "platform": {
"$id": "#ports/port/platform", "$id": "#ports/port/platform",
@ -62,21 +93,31 @@
"windows" "windows"
], ],
"examples": [ "examples": [
["linux", "macos", "windows"], [
["android", "ios"] "linux",
"macos",
"windows"
],
[
"android",
"ios"
]
] ]
} }
}, },
{ {
"type": "string", "type": "string",
"enum": ["agnostic", "userstyle"] "enum": [
"agnostic",
"userstyle"
]
} }
] ]
}, },
"color": { "color": {
"$id": "#ports/port/color", "$id": "#ports/port/color",
"title": "Color", "title": "Color",
"description": "The fill color for the icon on the website", "description": "The fill color for the icon on the website.",
"type": "string", "type": "string",
"enum": [ "enum": [
"rosewater", "rosewater",
@ -95,23 +136,90 @@
"lavender", "lavender",
"text" "text"
], ],
"examples": ["pink"] "examples": [
"pink"
]
}, },
"icon": { "icon": {
"$id": "#ports/port/icon", "$id": "#ports/port/icon",
"title": "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.", "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", "type": "string",
"examples": ["neovim", "neovim.svg"] "examples": [
"neovim",
"neovim.svg"
]
}, },
"userstyle": { "userstyle": {
"$id": "#ports/port/userstyle", "$id": "#ports/port/userstyle",
"title": "Userstyle", "title": "Userstyle",
"description": "Whether the port is a userstyle", "description": "Whether the port is a userstyle",
"type": "boolean", "type": "boolean",
"examples": [true] "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"
]
}
}
} }

View file

@ -1,3 +1,51 @@
categories:
- key: code_editor
name: Code Editors & IDEs
emoji: 👾
- key: development
name: Development tools
emoji: 💭
- key: library
name: Libraries
emoji: 📚
- key: cli
name: CLI tools
emoji: 🐚
- key: terminal
name: Terminals
emoji: 🌱
- key: system
name: System
emoji: 🔧
- key: browser
name: Browsers
emoji: 🏄
- key: browser_extension
name: Browser Extensions
emoji: 🧩
- key: search_engine
name: Search Engines
emoji: 🔎
- key: messaging
name: Messaging
emoji: 💬
- key: note_taking
name: Note taking
emoji: 📝
- key: productivity
name: Productivity
emoji: 🗂️
- key: social
name: Social
emoji:
- key: leisure
name: Leisure
emoji: 🌈
- key: game
name: Games
emoji: 🎮
ports:
alacritty: alacritty:
name: Alacritty name: Alacritty
category: terminal category: terminal
@ -327,7 +375,7 @@ jetbrains:
platform: [linux, macos, windows] platform: [linux, macos, windows]
color: text color: text
joplin: joplin:
name: joplin name: Joplin
category: note_taking category: note_taking
platform: [linux, macos, windows] platform: [linux, macos, windows]
color: blue color: blue
@ -851,4 +899,13 @@ zutty:
name: Zutty name: Zutty
category: terminal category: terminal
platform: [linux] platform: [linux]
# yaml-language-server: $schema=https://raw.githubusercontent.com/catppuccin/catppuccin/main/resources/ports.schema.json
showcases:
- title: flotes.app
description: A free note-taking app enhanced with flashcard features
link: https://flotes.app/
- title: AnuPpuccin
description: Highly customizable theme for [Obsidian](https://obsidian.md)
link: https://github.com/AnubisNekhet/AnuPpuccin
# yaml-language-server: $schema=./ports.schema.json