# This file is the config required by genisolist.py

# This special section named "%main%" defined following variables:
# "root": HTTP root of mirrors. The script will locate the images in it.
# "urlbase": URL of mirrors prepended to image path. We want to use relative
#            path, so set it to '/' instead of complete URL.
# "d[N]": For distribution sorting. where N is an positive integer. The value
#         is disto name specified in below sections. Lower N makes the distro
#         show higher. Default N is 0xFFFF for distro not mentioned.
[%main%]
root = /data/
urlbase = /
d10 = Arch Linux
d20 = Debian
d21 = Debian non-free
d25 = CentOS
d30 = Fedora
d40 = Ubuntu
d50 = Ubuntu 衍生版
d60 = Deepin

# Sections whose name isn't "%main%" defined a detect rule of image detection.
[archlinux]
# Section name is of no use, the display name is specified in "distro" option.
distro = Arch Linux
# listvers defined how many latest versions to display.
listvers = 1
# "location" specifies globbing pathname of the image. The path is relative to
# the HTTP root (aka "root" in [%main%] section). Not all images match it is
# considered, you can use "pattern" option below to filter.
location = archlinux/iso/latest/archlinux-*.iso
# "pattern" is a regular expression. If the pattern is found in image path
# found by "location", then the image is valid. Group capturing is to extract
# image info from image path name.
pattern = archlinux-(\d+\.\d+\.\d+)-(\w+).iso
# Following 3 options describes image info. "type" and "platform" is optional.
# $1, $2... here will be replaced by the string captured in above "pattern".
# Additionally, $0 will be replaced by the whole string matches the pattern.
# "version" is also used as the key to sort images of the same distro.
version = $1
type = CLI-only
platform = $2
# "key_by" (a.k.a group by) should be used when images of different types or platform have
# different version number, see lineageOS below.

[artix]
distro = Artix Linux
listvers = 1
location = artixlinux-iso/*.iso
pattern = artix-(community-)?(\w+-\w+)-([0-9\.]+)-(\w+)\.iso
version = $3
type = $2
platform = $4
key_by = $2 $4
sort_by = $4 $2

[ubuntu desktop]
distro = Ubuntu
listvers = 4
# If one glob is not enough for locating all images, you can use "location_N"
# to specify more globs. N start from 0 and must a sequence (0,1,2...).
location_0 = ubuntu-releases/[a-z]*/ubuntu-*-desktop-i386.iso
location_1 = ubuntu-releases/[a-z]*/ubuntu-*-desktop-amd64.iso
pattern = ubuntu-([0-9.]+)-desktop-(\w+).iso
version = $1
type = Desktop LiveDVD
platform = $2

[ubuntu live server]
distro = Ubuntu
listvers = 4
# If one glob is not enough for locating all images, you can use "location_N"
# to specify more globs. N start from 0 and must a sequence (0,1,2...).
location_0 = ubuntu-releases/[a-z]*/ubuntu-*-live-server-i386.iso
location_1 = ubuntu-releases/[a-z]*/ubuntu-*-live-server-amd64.iso
pattern = ubuntu-([0-9.]+)-live-server-(\w+).iso
version = $1
type = Server
platform = $2

[ubuntu server]
distro = Ubuntu
listvers = 4
# If one glob is not enough for locating all images, you can use "location_N"
# to specify more globs. N start from 0 and must a sequence (0,1,2...).
location_0 = ubuntu-releases/[a-z]*/ubuntu-*-server-i386.iso
location_1 = ubuntu-releases/[a-z]*/ubuntu-*-server-amd64.iso
pattern = ubuntu-([0-9.]+)-server-(\w+).iso
version = $1
type = Server
platform = $2

# You can apply multiple rules (sections) for the same distro like following
# four sections. They will be shown in the same submenu on our web page.
[ubuntukylin]
distro = Ubuntu 衍生版
listvers = 1
location_0 = ubuntu-cdimage/ubuntukylin/releases/[a-z]*/release/ubuntukylin-*-desktop-i386.iso
location_1 = ubuntu-cdimage/ubuntukylin/releases/[a-z]*/release/ubuntukylin-*-desktop-amd64.iso
pattern = ubuntukylin-([0-9.]+)-desktop-(\w+).iso
# Just a small trick. Constant string prefix won't affect sorting.
version = Ubuntu Kylin $1
platform = $2

[kubuntu]
distro = Ubuntu 衍生版
listvers = 1
location_0 = ubuntu-cdimage/kubuntu/releases/[a-z]*/release/kubuntu-*-desktop-i386.iso
location_1 = ubuntu-cdimage/kubuntu/releases/[a-z]*/release/kubuntu-*-desktop-amd64.iso
pattern = kubuntu-([0-9.]+)-desktop-(\w+).iso
version = Kubuntu $1
platform = $2


[lubuntu]
distro = Ubuntu 衍生版
listvers = 1
location_0 = ubuntu-cdimage/lubuntu/releases/[a-z]*/release/lubuntu-*-desktop-i386.iso
location_1 = ubuntu-cdimage/lubuntu/releases/[a-z]*/release/lubuntu-*-desktop-amd64.iso
pattern = lubuntu-([0-9.]+)-desktop-(\w+).iso
version = Lubuntu $1
platform = $2

[xubuntu]
distro = Ubuntu 衍生版
listvers = 1
location_0 = ubuntu-cdimage/xubuntu/releases/[a-z]*/release/xubuntu-*-desktop-i386.iso
location_1 = ubuntu-cdimage/xubuntu/releases/[a-z]*/release/xubuntu-*-desktop-amd64.iso
pattern = xubuntu-([0-9.]+)-desktop-(\w+).iso
version = Xubuntu $1
platform = $2

[ubuntu_gnome]
distro = Ubuntu 衍生版
listvers = 1
location_0 = ubuntu-cdimage/ubuntu-gnome/releases/[a-z]*/release/ubuntu-gnome-*-desktop-i386.iso
location_1 = ubuntu-cdimage/ubuntu-gnome/releases/[a-z]*/release/ubuntu-gnome-*-desktop-amd64.iso
pattern = ubuntu-gnome-([0-9.]+)-desktop-(\w+).iso
version = Ubuntu Gnome $1
platform = $2

[ubuntu_mate]
distro = Ubuntu 衍生版
listvers = 1
location_0 = ubuntu-cdimage/ubuntu-mate/releases/[a-z]*/release/ubuntu-mate-*-desktop-i386.iso
location_1 = ubuntu-cdimage/ubuntu-mate/releases/[a-z]*/release/ubuntu-mate-*-desktop-amd64.iso
pattern = ubuntu-mate-([0-9.]+)-desktop-(\w+).iso
version = Ubuntu Mate $1
platform = $2

[debian_cd]
distro = Debian
listvers = 1
location_0 = debian-cd/current/amd64/iso-cd/debian-*-amd64-*-CD-1.iso
location_1 = debian-cd/current/i386/iso-cd/debian-*-i386-*-CD-1.iso
pattern = debian-([0-9.]+)-(\w+)-(\w+)-CD-1.iso
version = $1
type = CD installer with $3
platform = $2

[debian_netinst]
distro = Debian
listvers = 1
location_0 = debian-cd/current/amd64/iso-cd/debian-*-amd64-netinst.iso
location_1 = debian-cd/current/i386/iso-cd/debian-*-i386-netinst.iso
pattern = debian-([0-9.]+)-(\w+)-netinst.iso
version = $1
type = Network installer
platform = $2

[debian_dvd]
distro = Debian
listvers = 1
location_0 = debian-cd/current/amd64/iso-dvd/debian-*-amd64-DVD-*.iso
location_1 = debian-cd/current/i386/iso-dvd/debian-*-i386-DVD-*.iso
pattern = debian-([0-9.]+)-(\w+)-DVD-(\d).iso
version = $1
type = DVD installer (Part $3)
platform = $2

[debian_live]
distro = Debian
listvers = 1
location_0 = debian-cd/current-live/amd64/iso-hybrid/debian-live-*-amd64-*.iso
location_1 = debian-cd/current-live/i386/iso-hybrid/debian-live-*-i386-*.iso
pattern = debian-live-([0-9.]+)-(\w+)-(\w+).iso
version = $1
type = Live CD with $3
platform = $2

[debian_netinst_nonfree]
distro = Debian non-free
listvers = 1
location_0 = debian-nonfree/cd-including-firmware/current/amd64/iso-cd/firmware-*-amd64-netinst.iso
location_1 = debian-nonfree/cd-including-firmware/current/i386/iso-cd/firmware-*-i386-netinst.iso
pattern = firmware-([0-9.]+)-(\w+)-netinst.iso
version = $1
type = Network installer with non-free firmware
platform = $2

[debian_dvd_nonfree]
distro = Debian non-free
listvers = 1
location_0 = debian-nonfree/cd-including-firmware/current/amd64/iso-dvd/firmware-*-amd64-DVD-*.iso
location_1 = debian-nonfree/cd-including-firmware/current/i386/iso-dvd/firmware-*-amd64-DVD-*.iso
pattern = firmware-([0-9.]+)-(\w+)-DVD-(\d).iso
version = $1
type = DVD installer with non-free firmware (Part $3)
platform = $2

[debian_live_nonfree]
distro = Debian non-free
listvers = 1
location_0 = debian-nonfree/images-including-firmware/current-live/amd64/iso-hybrid/debian-live-*-amd64-*+nonfree.iso
location_1 = debian-nonfree/images-including-firmware/current-live/i386/iso-hybrid/debian-live-*-amd64-*+nonfree.iso
pattern = debian-live-([0-9.]+)-(\w+)-(\w+)\+nonfree.iso
version = $1
type = Live CD with $3 and non-free firmware
platform = $2

[centos]
distro = CentOS
listvers = 2
location = centos/[0-9].*/isos/*/CentOS-[0-9]*.iso
pattern = CentOS-([0-9.]+)-(\w+)-((bin-)?\w+?)(-[0-9]+|).iso
version = $1
type = $3
platform = $2

[fedora]
distro = Fedora
listvers = 2
location_0 = fedora/releases/[1-9][0-9]/Workstation/*/iso/Fedora-Workstation-Live-*-[1-9][0-9]-*.iso
location_1 = fedora/releases/[1-9][0-9]/Spins/*/iso/Fedora-KDE-Live-*-[1-9][0-9]-*.iso
location_2 = fedora/releases/[1-9][0-9]/Spins/*/iso/Fedora-Xfce-Live-*-[1-9][0-9]-*.iso
pattern = Fedora-(Workstation|KDE|Xfce)-Live-(\w+)-(\d+)-.*\.iso
version = $3
type = $1
platform = $2

[opensuse_leap]
distro = openSUSE
listvers = 3
location_0 = opensuse/distribution/leap/[0-9][0-9].[0-9]/iso/openSUSE-Leap-[0-9][0-9].[0-9]-DVD-*.iso
pattern = openSUSE-Leap-([0-9.]+)-DVD-(\w+).iso
version = $1
platform = $2

[opensuse tumbleweed]
distro = openSUSE
listvers = 1
location_0 = opensuse/tumbleweed/iso/openSUSE-Tumbleweed-DVD-*-Current.iso
location_1 = opensuse/tumbleweed/iso/openSUSE-Tumbleweed-GNOME-Live-*-Current.iso
location_2 = opensuse/tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-*-Current.iso
pattern = openSUSE-Tumbleweed-(DVD|GNOME-Live|KDE-Live)-(\w+)-Current.iso
version = Tumbleweed
type = $1
platform = $2

[opensuse]
distro = openSUSE
listvers = 1
location_0 = opensuse/distribution/[0-9][0-9].[0-9]/iso/openSUSE-[0-9][0-9].[0-9]-DVD-*.iso
location_1 = opensuse/distribution/[0-9][0-9].[0-9]/iso/openSUSE-[0-9][0-9].[0-9]-GNOME-Live-*.iso
location_2 = opensuse/distribution/[0-9][0-9].[0-9]/iso/openSUSE-[0-9][0-9].[0-9]-KDE-Live-*.iso
pattern = openSUSE-([0-9.]+)-(DVD|GNOME-Live|KDE-Live)-(\w+).iso
version = $1
type = $2
platform = $3

[manjaro arm]
distro = Manjaro ARM
listvers = 1
location = osdn/storage/g/m/ma/manjaro-arm/*/*/*/*.img.xz
pattern = /manjaro-arm/([-\w]+)/([-\w]+)/([0-9\.]+)/.+?(-emmc-installer)?.+\.img\.xz
version = $3
type = $2$4
platform = $1
key_by = $1 $2
sort_by = $1 $2

[manjaro]
distro = Manjaro
listvers = 1
location_0 = osdn/storage/g/m/ma/manjaro/*/*/manjaro-*.iso
location_1 = osdn/storage/g/m/ma/manjaro/*/*/minimal/manjaro-*.iso
pattern = /manjaro/(\w+)/([0-9\.]+)(/minimal)?/[^/]+\.iso
version = $2
type = $1$3
platform = x86_64
key_by = $3 $1

[mxlinux]
distro = MX Linux
listvers = 1
location = osdn/storage/g/m/mx/mx-linux/ISOs/MX/Final/*.iso
pattern = MX-([0-9\.]+)_(\w+)\.iso
version = $1
platform = $2

[deepin]
distro = Deepin
listvers = 1
location = deepin-cd/1*/*.iso
pattern = deepin-([0-9.]+)-(\w+).iso
version = $1
platform = $2

[raspberry-pi-os]
distro = Raspberry Pi OS (原 Raspbian)
listvers = 1
location = raspberry-pi-os-images/raspios*/images/raspios*/*.zip
pattern = ([-0-9]+)-raspios-(.+)-(.+)\.zip
platform = $3
type = $2
version = $1

[mint]
distro = Linux Mint
listvers = 1
location = linuxmint-cd/stable/*/*.iso
pattern = linuxmint-([\d\.]+)-([a-z]+)-(\w+).iso
version = $1
type = $2
platform = $3

[kali]
distro = Kali
listvers = 3
location = kali-images/current/*.iso
pattern = kali-linux-([\w\.]+)-([a-z]+(-[a-z]+)*)-(\w+).iso
version = $1
type = $2
platform = $4

[qt5]
distro = Qt 5
listvers = 1
location_0 = qt/official_releases/qt/5.*/5.*/qt-opensource-*
location_1 = qt/official_releases/qtcreator/*/*/qt-creator-opensource-*
pattern = (qt|qt-creator)-opensource-(.*?)-([\d.]+).(run|dmg|exe)
platform = $2
version = $1 $3
key_by = $1
category = app

[msys2]
distro = MSYS2
listvers = 1
location = msys2/distrib/msys2-*.exe
pattern = msys2-(i686|x86_64)-(latest).exe
platform = Windows
type = $1
version = $2
category = app

[virtualbox]
distro = VirtualBox
listvers = 1
location = virtualbox/virtualbox-*
pattern = virtualbox-(.*?)-(latest).(exe|dmg)
platform = $1
version = $2
category = app

[texlive]
distro = TeX 排版系统
listvers = 1
location = CTAN/systems/texlive/Images/texlive*.iso
pattern = texlive(\d+)-\d+.iso
platform = Windows & Linux
version = TeX Live $1
category = app

[mactex]
distro = TeX 排版系统
listvers = 1
location = CTAN/systems/mac/mactex/mactex-*.pkg
pattern = mactex-(\d+).pkg
platform = macOS
version = MacTeX $1
category = app

[mactex-pretest]
distro = TeX 排版系统
listvers = 1
location = tlpretest/mactex-*.pkg
pattern = mactex-(\d+).pkg
platform = macOS
version = MacTeX (pretest) $1
category = app

[miktex]
distro = TeX 排版系统
listvers = 1
location = CTAN/systems/win32/miktex/setup/windows-*/basic-miktex-*
pattern = basic-miktex-((\d+.)+\d+)(|-)*(x64)*.exe
platform = Windows
type = $4
version = MikTeX $1
category = app

[miktex-mac]
distro = TeX 排版系统
listvers = 1
location = CTAN/systems/win32/miktex/setup/darwin-*/miktex-*
pattern = miktex-((\d+.)+\d+)-darwin-(.*).dmg
platform = macOS
type = $3
version = MikTeX $1
category = app

[thuthesis]
distro = ThuThesis 论文模板
listvers = 3
location = github-release/tuna/thuthesis/thuthesis-v*.zip
pattern = thuthesis-v((\d+.)+\d+).zip
platform = TeX Live
type = zip
version = $1
category = app

[anaconda3]
distro = Conda
listvers = 1
location = anaconda/archive/Anaconda*
pattern = (Anaconda3)-([\d\.]+)-(Windows|Linux|MacOSX)-(x86_64|x86).(\w+)
platform = $3/$4
type = $5
version = $1 $2
category = app

[anaconda2]
distro = Conda
listvers = 1
location = anaconda/archive/Anaconda*
pattern = (Anaconda2)-([\d\.]+)-(Windows|Linux|MacOSX)-(x86_64|x86).(\w+)
platform = $3/$4
type = $5
version = $1 $2
category = app

[miniconda37]
distro = Conda
listvers = 1
location = anaconda/miniconda/Miniconda*
pattern = (Miniconda3-py37)_([\d\.]+)-(Windows|Linux|MacOSX)-(x86_64|x86).(\w+)
platform = $3/$4
type = $5
version = $1 $2
category = app

[miniconda38]
distro = Conda
listvers = 1
location = anaconda/miniconda/Miniconda*
pattern = (Miniconda3-py38)_([\d\.]+)-(Windows|Linux|MacOSX)-(x86_64|x86).(\w+)
platform = $3/$4
type = $5
version = $1 $2
category = app

[miniconda2]
distro = Conda
listvers = 1
location = anaconda/miniconda/Miniconda*
pattern = (Miniconda2)-([\d\.]+)-(Windows|Linux|MacOSX)-(x86_64|x86).(\w+)
platform = $3/$4
type = $5
version = $1 $2
category = app

[blender]
distro = Blender
listvers = 2
location = blender/blender-release/Blender*/blender-*
pattern = /blender-([\d\.]+\w?)-([^\.]+)\.([\w\.]+)
platform = $2
type = $3
version = $1
category = app

[lineageos]
distro = LineageOS
listvers = 1
location = lineage-rom/full/*/*/*.zip
pattern = lineage-([0-9.]+)-(\d+)-nightly-(\w+)-signed.zip
platform = $3
type = $1
version = $2
key_by = $1 $3
sort_by = $3 $1

[docker mac]
distro = Docker
listvers = 1
location = docker-ce/mac/static/stable/x86_64/*.tgz
pattern = docker-([0-9.]+)(-ce)?.tgz
platform = macOS
version = $1
category = app

[docker win]
distro = Docker
listvers = 1
location = docker-ce/win/static/stable/x86_64/*.zip
pattern = docker-([0-9.]+)(-ce)?.zip
platform = Windows
version = $1
category = app

[nixos]
distro = NixOS
listvers = 2
location = nixos-images/nixos-*/latest-nixos-*-*-linux.*
pattern = nixos-([0-9.]+)/latest-nixos-(\w+)-(i686|x86_64)-linux.(\w+)(?!.)
type = $2 $4
version = $1
platform = $3

[nixos small]
distro = NixOS
listvers = 2
location = nixos-images/nixos-*-small/latest-nixos-*-*-linux.*
pattern = nixos-([0-9.]+)-small/latest-nixos-(\w+)-(i686|x86_64)-linux.(\w+)(?!.)
type = $2 $4, small channel
version = $1
platform = $3

[eclipse]
distro = Eclipse IDE
listvers = 1
location_0 = eclipse/technology/epp/downloads/release/[0-9][0-9][0-9][0-9]-[0-9][0-9]/R/eclipse-*.dmg
location_1 = eclipse/technology/epp/downloads/release/[0-9][0-9][0-9][0-9]-[0-9][0-9]/R/eclipse-*.tar.gz
location_2 = eclipse/technology/epp/downloads/release/[0-9][0-9][0-9][0-9]-[0-9][0-9]/R/eclipse-*.zip
pattern = eclipse-([a-z]+)-(\d+-\d+)-R(-incubation)?-(win32|macosx-cocoa|linux-gtk)-(x86_64)\.(zip|tar\.gz|dmg)
platform = $4
type = x86_64
version = $1 $2
key_by = $1
category = app

[elvish]
distro = Elvish Shell
listvers = 1
location = elvish/*/*
pattern = elvish/(\w+)-(\w+)/elvish-(v[\d\.]+)\.(zip|exe|tar.gz)(?!.)
platform = $1
type = $2
version = $3
category = app

[flutter]
distro = Flutter SDK
listvers = 1
location = flutter/flutter_infra/releases/stable/*/*
pattern = flutter_(\w+)_v?([\d\.]+(\+hotfix\.\d+)?)-stable\.(zip|tar.xz)
platform = $1
version = $2
category = app

[dart]
distro = Dart SDK
listvers = 1
location = flutter/dart-archive/channels/stable/release/*.*/sdk/*.zip
pattern = /([\d\.]+)/sdk/dartsdk-(\w+)-(\w+)-release.zip
platform = $2
type = $3
version = $1
category = app

[iina]
distro = IINA
listvers = 4
location = iina/IINA*.dmg
pattern = IINA\.(v[\d\.]+)\.dmg
platform = macOS
type = x86_64
version = $1
category = app

[kicad win]
distro = KiCad
listvers = 2
location = kicad/windows/stable/kicad-*.exe
pattern = kicad-([\.\d_]+)-(\w+)\.exe
platform = Windows
type = $2
version = $1
category = app

[kicad mac]
distro = KiCad
listvers = 4
location = kicad/osx/stable/kicad-*.dmg
pattern = kicad-unified-([\.\d_-]+)\.dmg
platform = macOS
type = x86_64
version = $1
category = app

[libreoffice]
distro = LibreOffice
listvers = 2
location = libreoffice/libreoffice/stable/*/*/*/*
pattern = libreoffice/libreoffice/stable/([\d\.]+)/(\w+)/(\w+)/LibreOffice_[\d\.]+_[a-zA-Z]+_[-468x]+(_rpm|_deb)?\.(dmg|msi|tar\.gz)(?!.)
platform = $2
type = $3
version = $1
category = app

[vscodium win]
distro = VS Codium
listvers = 10
location = github-release/VSCodium/vscodium/LatestRelease/*
pattern = (VSCodium\w+-\w+)-([\.\d]+)\.exe(?!.)
platform = Windows
type = $1
version = $2
sort_by = Windows $1 $2
category = app

[vscodium linux tar]
distro = VS Codium
listvers = 10
location = github-release/VSCodium/vscodium/LatestRelease/*
pattern = VSCodium-linux-(\w+)-([\.\d]+)\.tar\.gz(?!.)
platform = Linux
type = $1 tar
version = $2
sort_by = Linux $1 $2
category = app

[vscodium linux package]
distro = VS Codium
listvers = 10
location = github-release/VSCodium/vscodium/LatestRelease/*
pattern = codium[_-]([\.\d]+)[\.\w-]+[_\.-](x86_64|amd64|armhf|arm64)\.(\w+)(?!.)
platform = Linux
type = $2 $3
version = $1
sort_by = Linux $2 $1
category = app

[vscodium mac]
distro = VS Codium
listvers = 10
location = github-release/VSCodium/vscodium/LatestRelease/*
pattern = VSCodium\.([\.\d]+)\.dmg(?!.)
platform = macOS
type = x86_64
version = $1
sort_by = macOS x86_64 $1
category = app

[vlc-desktop]
distro = VLC
listvers = 1
location = videolan-ftp/vlc/*/*/*
pattern = vlc/([\d\.]+)/(\w+)/.+\d\.(dmg|exe|msi|7z)(?!.)
platform = $2
type = $3
version = $1
category = app

[vlc-android]
distro = VLC
listvers = 1
location = videolan-ftp/vlc-android/*/*
pattern = vlc-android/([\d\.]+.*)/.+-[\d\.]+-(.+)\.apk(?!.)
platform = Android/$2
type = apk
version = $1
category = app

[vlc-iOS]
distro = VLC
listvers = 1
location = videolan-ftp/vlc-iOS/*/*
pattern = vlc-iOS/([\d\.]+.*)/.*\.ipa(?!.)
platform = iOS
type = ipa
version = $1
category = app

[julia]
distro = Julia
listvers = 1
location = julia-releases/bin/*/*/*/julia-*
# This regex does not capture release candidate (rc) versions
pattern = /(x64|x86|aarch64|armv7l)/[\d\.]+/julia-([\d\.]+)-(freebsd|mac|linux|win)\d*-?\w+\.(dmg|pkg|exe|tar\.gz)(?!.)
platform = $3/$1
version = $2
type = $4
key_by = $3 $2
category = app

[adobe source fonts]
distro = Adobe Source
listvers = 100
location_0 = adobe-fonts/source-sans-pro/*/*.*
location_1 = adobe-fonts/source-serif-pro/*/*.*
location_2 = adobe-fonts/source-code-pro/*/*.*
pattern = (\w+)-(\w+)\.(ttf|otf)
platform = $2
type = $3
version = $1 latest
category = font

[adobe source han fonts]
distro = Adobe Source Han
listvers = 100
location_0 = adobe-fonts/source-han-sans/*/*.zip
location_1 = adobe-fonts/source-han-serif/*/*.zip
pattern = (\w+)/([-\w]+)\.zip
platform = $1
version = $2 latest
category = font

[google fonts]
distro = Google Noto
listvers = 10
location = github-release/googlefonts/note*/*/*
pattern = googlefonts/(noto-\w+)/.*([vV][\.\d-]+\d).*/.+
platform = ttf
version = $1 $2
category = font

[Sarasa Gothic]
distro = Sarasa Gothic
listvers = 10
location = github-release/be5invis/Sarasa-Gothic/LatestRelease/*
pattern = .+-(\w+)-([\.\d]+)\.\w+
platform = $1
version = $2
category = font

[Iosevka]
distro = Iosevka
listvers = 10
location = github-release/be5invis/Iosevka/LatestRelease/*
pattern = /(\d?\d?-?iosevka)((-[a-z]+)*)(-ss\d+)?-([\d\.]+.+)\.zip
platform = iosevka$2$4
version = $5
sort_by = $1 $4
category = font
