mirror of
https://github.com/wez/wezterm.git
synced 2024-11-22 22:42:48 +03:00
docs: code generation for release info
This commit is contained in:
parent
a11f036d87
commit
4681436bd1
1
.gitignore
vendored
1
.gitignore
vendored
@ -6,6 +6,7 @@
|
||||
/pkg
|
||||
/target/
|
||||
/gh_pages/
|
||||
/docs/installation.md
|
||||
**/*.rs.bk
|
||||
.*.sw*
|
||||
/esctest.log
|
||||
|
6
ci/build-docs.sh
Executable file
6
ci/build-docs.sh
Executable file
@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
[[ -f /tmp/wezterm.releases.json ]] || curl https://api.github.com/repos/wez/wezterm/releases > /tmp/wezterm.releases.json
|
||||
python3 ci/subst-release-info.py
|
||||
mdbook build docs
|
||||
|
71
ci/subst-release-info.py
Normal file
71
ci/subst-release-info.py
Normal file
@ -0,0 +1,71 @@
|
||||
#!/usr/bin/env python3
|
||||
import json
|
||||
import sys
|
||||
|
||||
def release_to_links(rel):
|
||||
source = None
|
||||
macos = None
|
||||
fedora = None
|
||||
ubuntu = None
|
||||
windows = None
|
||||
linux_bin = None
|
||||
|
||||
for asset in rel["assets"]:
|
||||
url = asset["browser_download_url"]
|
||||
name = asset["name"]
|
||||
if "-src.tar.gz" in name:
|
||||
source = (url, name)
|
||||
elif ".deb" in name:
|
||||
ubuntu = (url, name)
|
||||
elif ".tar.xz" in name:
|
||||
linux_bin = (url, name)
|
||||
elif ".rpm" in name:
|
||||
fedora = (url, name)
|
||||
elif "WezTerm-macos-" in name:
|
||||
macos = (url, name)
|
||||
elif "WezTerm-windows-" in name:
|
||||
windows = (url, name)
|
||||
|
||||
return {
|
||||
"source": source,
|
||||
"ubuntu": ubuntu,
|
||||
"linux_bin": linux_bin,
|
||||
"fedora": fedora,
|
||||
"macos": macos,
|
||||
"windows": windows,
|
||||
}
|
||||
|
||||
|
||||
def load_release_info():
|
||||
with open("/tmp/wezterm.releases.json") as f:
|
||||
release_info = json.load(f)
|
||||
|
||||
latest = release_info[0]
|
||||
nightly = None
|
||||
for rel in release_info:
|
||||
if rel["tag_name"] == "nightly":
|
||||
nightly = rel
|
||||
break
|
||||
|
||||
latest = release_to_links(latest)
|
||||
nightly = release_to_links(nightly)
|
||||
|
||||
subst = {}
|
||||
for (kind, (url, name)) in latest.items():
|
||||
subst["{{ %s_stable }}" % kind] = url
|
||||
subst["{{ %s_stable_asset }}" % kind] = name
|
||||
for (kind, (url, name)) in nightly.items():
|
||||
subst["{{ %s_pre }}" % kind] = url
|
||||
subst["{{ %s_pre_asset }}" % kind] = name
|
||||
|
||||
with open("docs/installation.markdown", "r") as input:
|
||||
with open("docs/installation.md", "w") as output:
|
||||
for line in input:
|
||||
for (search, replace) in subst.items():
|
||||
line = line.replace(search, replace)
|
||||
output.write(line)
|
||||
|
||||
def main():
|
||||
load_release_info()
|
||||
|
||||
main()
|
@ -1,5 +1,5 @@
|
||||
[wezterm](index.markdown)
|
||||
- [Install](installation.markdown)
|
||||
- [Install](installation.md)
|
||||
- [Features](features.markdown)
|
||||
- [Change Log](changelog.markdown)
|
||||
- [Configuration](config/index.markdown)
|
||||
|
@ -6,4 +6,3 @@ src = "."
|
||||
[build]
|
||||
build-dir = "../gh_pages"
|
||||
create-missing = false
|
||||
|
||||
|
@ -1,44 +1,3 @@
|
||||
---
|
||||
title: Installation
|
||||
---
|
||||
|
||||
{% assign releases = site.github.releases | sort:"created_at" | reverse %}
|
||||
{% for r in releases %}
|
||||
{% if r.prerelease %}
|
||||
{% for asset in r.assets %}
|
||||
{% if asset.name contains 'windows' and windows_pre == nil %}
|
||||
{% assign windows_pre = asset.browser_download_url %}
|
||||
{% endif %}
|
||||
{% if asset.name contains 'macos' and macos_pre == nil %}
|
||||
{% assign macos_pre = asset.browser_download_url %}
|
||||
{% endif %}
|
||||
{% if asset.name contains '.deb' and deb_pre == nil %}
|
||||
{% assign deb_pre = asset.browser_download_url %}
|
||||
{% endif %}
|
||||
{% if asset.name contains '.rpm' and fedora_pre == nil %}
|
||||
{% assign fedora_pre = asset.browser_download_url %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
{% for asset in r.assets %}
|
||||
{% if asset.name contains 'windows' and windows_stable == nil %}
|
||||
{% assign windows_stable = asset.browser_download_url %}
|
||||
{% endif %}
|
||||
{% if asset.name contains 'macos' and macos_stable == nil %}
|
||||
{% assign macos_stable = asset.browser_download_url %}
|
||||
{% endif %}
|
||||
{% if asset.name contains '.deb' and deb_stable == nil %}
|
||||
{% assign deb_stable = asset.browser_download_url %}
|
||||
{% assign deb_stable_asset = asset.name %}
|
||||
{% endif %}
|
||||
{% if asset.name contains '.rpm' and fedora_stable == nil %}
|
||||
{% assign fedora_stable = asset.browser_download_url %}
|
||||
{% assign fedora_stable_asset = asset.name %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
|
||||
## Installing a pre-built package on Windows
|
||||
|
||||
@ -69,10 +28,10 @@ versions of macOS, but that has not been tested.
|
||||
The CI system builds a `.deb` file on Ubuntu 16.04. It is compatible with other
|
||||
debian style systems, including Debian 9 (Stretch) and later versions.
|
||||
|
||||
<a href="{{ deb_stable }}" class="btn">Download for Ubuntu</a>
|
||||
<a href="{{ deb_pre }}" class="btn">Nightly for Ubuntu</a>
|
||||
* <tt>curl -LO <a href="{{ deb_stable }}">{{ deb_stable }}</a></tt>
|
||||
* `sudo apt install -y ./{{ deb_stable_asset }}`
|
||||
<a href="{{ ubuntu_stable }}" class="btn">Download for Ubuntu</a>
|
||||
<a href="{{ ubuntu_pre }}" class="btn">Nightly for Ubuntu</a>
|
||||
* <tt>curl -LO <a href="{{ ubuntu_stable }}">{{ ubuntu_stable }}</a></tt>
|
||||
* `sudo apt install -y ./{{ ubuntu_stable_asset }}`
|
||||
* The package installs `/usr/bin/wezterm` and `/usr/share/applications/wezterm.desktop`
|
||||
* Configuration instructions can be [found here](configuration.html)
|
||||
|
||||
@ -81,7 +40,7 @@ debian style systems, including Debian 9 (Stretch) and later versions.
|
||||
The CI system builds an `.rpm` file on Fedora 31.
|
||||
|
||||
<a href="{{ fedora_stable }}" class="btn">Download for Fedora</a>
|
||||
<a href="{{ fedora_pre }}" class="btn">{Nightly for Fedora</a>
|
||||
<a href="{{ fedora_pre }}" class="btn">Nightly for Fedora</a>
|
||||
* <tt>curl -LO <a href="{{ fedora_stable }}">{{ fedora_stable }}</a></tt>
|
||||
* `sudo dnf install -y ./{{ fedora_stable_asset }}`
|
||||
* The package installs `/usr/bin/wezterm` and `/usr/share/applications/wezterm.desktop`
|
||||
|
Loading…
Reference in New Issue
Block a user