From a7fb6353d3669a6bda2fdf94aac7e2ac22c03340 Mon Sep 17 00:00:00 2001 From: Andy Kluger Date: Tue, 10 Nov 2020 12:55:25 -0500 Subject: [PATCH 1/8] add build status badge --- README.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.rst b/README.rst index 21bc319..519c6f9 100644 --- a/README.rst +++ b/README.rst @@ -1,6 +1,8 @@ Personal Builder for the Iosevka Font ===================================== +|build status| + This repo has a GitHub Workflow which can build Arch Linux packages for the incredible Iosevka_ font. @@ -71,3 +73,7 @@ zpy_ is a set of helpers for managing Python venvs and packages, with Zsh and pi .. _Iosevka: https://github.com/be5invis/Iosevka/ .. _zpy: https://github.com/andydecleyre/zpy .. _pip-tools: https://github.com/jazzband/pip-tools + +.. |build status| image:: https://github.com/AndydeCleyre/archbuilder_iosevka/workflows/Build%20and%20upload%20Arch%20Linux%20packages/badge.svg + .. :alt: Build Status + .. :target: https://github.com/AndydeCleyre/archbuilder_iosevka/actions From 935e8e0dbb9a39a4a57f5f185ad9560ea2a2002d Mon Sep 17 00:00:00 2001 From: Andy Kluger Date: Tue, 10 Nov 2020 12:57:48 -0500 Subject: [PATCH 2/8] fixup reStructuredText substitution and image syntax, hopefully --- README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 519c6f9..82250de 100644 --- a/README.rst +++ b/README.rst @@ -1,7 +1,7 @@ Personal Builder for the Iosevka Font ===================================== -|build status| +|build-status| This repo has a GitHub Workflow which can build Arch Linux packages for the incredible Iosevka_ font. @@ -74,6 +74,6 @@ zpy_ is a set of helpers for managing Python venvs and packages, with Zsh and pi .. _zpy: https://github.com/andydecleyre/zpy .. _pip-tools: https://github.com/jazzband/pip-tools -.. |build status| image:: https://github.com/AndydeCleyre/archbuilder_iosevka/workflows/Build%20and%20upload%20Arch%20Linux%20packages/badge.svg +.. |build-status| image:: https://github.com/AndydeCleyre/archbuilder_iosevka/workflows/Build%20and%20upload%20Arch%20Linux%20packages/badge.svg .. :alt: Build Status .. :target: https://github.com/AndydeCleyre/archbuilder_iosevka/actions From ab141f066e4bc1983d2b44c8461d06e09dc2241e Mon Sep 17 00:00:00 2001 From: Andy Kluger Date: Tue, 10 Nov 2020 13:10:25 -0500 Subject: [PATCH 3/8] fixup reStructuredText substitution and image syntax, hopefully; take 2 --- README.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index 82250de..ca2f409 100644 --- a/README.rst +++ b/README.rst @@ -1,7 +1,7 @@ Personal Builder for the Iosevka Font ===================================== -|build-status| +|build status| This repo has a GitHub Workflow which can build Arch Linux packages for the incredible Iosevka_ font. @@ -74,6 +74,6 @@ zpy_ is a set of helpers for managing Python venvs and packages, with Zsh and pi .. _zpy: https://github.com/andydecleyre/zpy .. _pip-tools: https://github.com/jazzband/pip-tools -.. |build-status| image:: https://github.com/AndydeCleyre/archbuilder_iosevka/workflows/Build%20and%20upload%20Arch%20Linux%20packages/badge.svg - .. :alt: Build Status - .. :target: https://github.com/AndydeCleyre/archbuilder_iosevka/actions +.. |build status| image:: https://github.com/AndydeCleyre/archbuilder_iosevka/workflows/Build%20and%20upload%20Arch%20Linux%20packages/badge.svg + :alt: Build Status + :target: https://github.com/AndydeCleyre/archbuilder_iosevka/actions From cb8a0cc7ec67d6e39d788724609e7da68f4d5ab3 Mon Sep 17 00:00:00 2001 From: Andy Kluger Date: Wed, 11 Nov 2020 01:01:25 -0500 Subject: [PATCH 4/8] more concise instructions --- README.rst | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/README.rst b/README.rst index ca2f409..9646025 100644 --- a/README.rst +++ b/README.rst @@ -16,25 +16,18 @@ any system. How to Use ---------- -If you want to have GitHub build your custom configuration: - -#. Fork this repo on GitHub -#. Clone your fork locally -#. Edit ``vars.yml`` to your liking -#. Activate a Python virtual environment to match ``requirements.txt`` -#. Regenerate ``buildpkg.yml`` -#. Commit the changes -#. Create and push a tag starting with ``r`` +If you want to have GitHub build your custom configuration, +fork this repo on GitHub, then: .. code:: console $ git clone $ cd archbuilder_iosevka $ $EDITOR vars.yml - $ # activate a new virtual environment (see next section) + $ # activate a Python environment matching requirements.txt (see next section) $ ./mk/buildpkg.yml.sh $ git commit vars.yml .github/workflows/buildpkg.yml -m "much better now" - $ git tag r123-awesome-build-label + $ git tag r123-awesome-build-label # Start tag name with 'r' $ git push --tags You can watch the build process in your ``Actions`` tab, and after ~30 minutes From c4ba8c4aa3cb091a07d4e37e165778ff8a640670 Mon Sep 17 00:00:00 2001 From: Andy Kluger Date: Tue, 17 Nov 2020 01:34:21 -0500 Subject: [PATCH 5/8] pin recent yamlpath as minimum req --- requirements.in | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.in b/requirements.in index 87f1e8d..b1b915d 100644 --- a/requirements.in +++ b/requirements.in @@ -1,2 +1,2 @@ -yamlpath +yamlpath>=3.4.0 wheezy.template diff --git a/requirements.txt b/requirements.txt index c84b71b..c874d74 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ ruamel.yaml.clib==0.2.2 # via ruamel.yaml ruamel.yaml==0.16.12 # via yamlpath wheezy.template==3.0.1 # via -r requirements.in -yamlpath==3.3.0 # via -r requirements.in +yamlpath==3.4.0 # via -r requirements.in From b0899bc536a15a1ff768e1ad2d530823b9f451c7 Mon Sep 17 00:00:00 2001 From: Andy Kluger Date: Thu, 19 Nov 2020 02:33:59 -0500 Subject: [PATCH 6/8] break docs up into chunks --- README.rst | 81 ++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 64 insertions(+), 17 deletions(-) diff --git a/README.rst b/README.rst index 9646025..cea512e 100644 --- a/README.rst +++ b/README.rst @@ -19,15 +19,37 @@ How to Use If you want to have GitHub build your custom configuration, fork this repo on GitHub, then: +- get a local copy + +.. code:: console + + $ git clone + $ cd archbuilder_iosevka + +- configure your font + .. code:: console - $ git clone - $ cd archbuilder_iosevka - $ $EDITOR vars.yml - $ # activate a Python environment matching requirements.txt (see next section) - $ ./mk/buildpkg.yml.sh + $ $EDITOR vars.yml + +- activate a `Python Virtual Environment`_ matching ``requirements.txt``, e.g.: + +.. code:: console + + $ python3 -m venv venv + $ . ./venv/bin/activate + $ python -m pip install -r requirements.txt + +- generate your new workflow + +.. code:: console + + $ ./mk/buildpkg.yml.sh + +- tag your changes as a release (start tag with 'r'), and push + $ git commit vars.yml .github/workflows/buildpkg.yml -m "much better now" - $ git tag r123-awesome-build-label # Start tag name with 'r' + $ git tag r123-awesome-build-label $ git push --tags You can watch the build process in your ``Actions`` tab, and after ~30 minutes @@ -36,31 +58,56 @@ find the built font in your ``Releases``. Python Virtual Environment -------------------------- -We use a small Python environment to render the Workflow (``buildpkg.yml``) +We use two small Python tools to render the Workflow (``buildpkg.yml``) from an included template, using the data in ``vars.yml``. You can create and activate a virtual environment in your favorite way, as long as it has the packages listed in ``requirements.txt``. -Two possible methods are described below. +Some methods are described below. -Using Python's ``venv`` Directly -++++++++++++++++++++++++++++++++ +Python's ``venv`` Directly +++++++++++++++++++++++++++ .. code:: console - $ python3 -m venv venv - $ . ./venv/bin/activate - $ python -m pip install -r requirements.txt + $ python3 -m venv venv + $ . ./venv/bin/activate + $ python -m pip install -r requirements.txt -Using zpy -+++++++++ +zpy ++++ -zpy_ is a set of helpers for managing Python venvs and packages, with Zsh and pip-tools_. +zpy_ is a toolset for managing Python venvs and packages, with Zsh and pip-tools_. + +Either create and activate a venv matching ``requirements.txt``: + +.. code:: console + + % envin + +or install the necessary tools (wheezy.template, yamlpath) into their own isolated venvs, +adding links to the relevant scripts (``wheezy.template``, ``yaml-get``) to your ``PATH``: + +.. code:: console + + $ pipz install --cmd wheezy.template,yaml-get wheezy.template yamlpath + +pipenv +++++++ .. code:: console - % envin + $ pipenv shell + $ pipenv install + +pipx +++++ + +.. code:: console + + $ pipx install wheezy.template yamlpath + .. _ttf-iosevka-term-custom-git: https://aur.archlinux.org/packages/ttf-iosevka-term-custom-git .. _Iosevka: https://github.com/be5invis/Iosevka/ From b4ad52450e19b10e77b508cf155dcbab5a4f4754 Mon Sep 17 00:00:00 2001 From: Andy Kluger Date: Thu, 19 Nov 2020 02:39:44 -0500 Subject: [PATCH 7/8] serifless I; flat-hook-tailed f; serifless j; flat-tailed l; include default digit-form --- vars.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/vars.yml b/vars.yml index c14d9f6..bfa1722 100644 --- a/vars.yml +++ b/vars.yml @@ -10,10 +10,12 @@ spacings: - force-monospace # term with no wide glyphs - fixed # force-monospace with no ligatures charvars: + digit-form: lining turn-v: curly capital-b: more-asymmetric capital-d: more-rounded capital-g: toothless + capital-i: serifless capital-j: serifless capital-k: curly capital-m: hanging @@ -23,13 +25,13 @@ charvars: a: doublestorey-tailed b: toothless-corner d: tailed - f: tailed + f: flat-hook-tailed g: opendoublestorey h: straight i: hooky - j: straight + j: serifless k: curly - l: tailed + l: flat-tailed m: shortleg n: earless-corner-tailed p: eared From 727ef4a259d27f61030f952d1e149b4da7994aae Mon Sep 17 00:00:00 2001 From: Andy Kluger Date: Thu, 19 Nov 2020 02:45:50 -0500 Subject: [PATCH 8/8] use wildcard syntax now that it catches empty strings --- mk/pkgbuilds.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mk/pkgbuilds.sh b/mk/pkgbuilds.sh index 6f36730..f76f4cb 100755 --- a/mk/pkgbuilds.sh +++ b/mk/pkgbuilds.sh @@ -5,7 +5,7 @@ gitroot="$(git rev-parse --show-toplevel)" "${gitroot}"/mk/private-build-plans.toml.sh pbp_sha256="$(sha256sum "${gitroot}"/private-build-plans.toml | cut -d' ' -f 1)" -yaml-get -p 'spacings[. =~ //]' "${gitroot}"/vars.yml | while read spacing; do +yaml-get -p 'spacings.*' "${gitroot}"/vars.yml | while read spacing; do folder="${gitroot}/pkgs/ttf-iosevka-${spacing}${spacing:+-}custom-git"