diff --git a/build-plans.toml b/build-plans.toml index 8b9592380..ebd036845 100644 --- a/build-plans.toml +++ b/build-plans.toml @@ -6,33 +6,28 @@ optimizeWithTtx = false # Sans [buildPlans.iosevka] family = "Iosevka" +desc = "Default" snapshotFamily = 'iosevka' -[buildPlans.iosevka-fixed] -family = "Iosevka Fixed" -spacing = "fixed" -snapshotFamily = 'iosevka' -snapshotFeature = '"NWID" on' - [buildPlans.iosevka-term] family = "Iosevka Term" spacing = "term" snapshotFamily = 'iosevka' snapshotFeature = '"NWID" on' +[buildPlans.iosevka-fixed] +family = "Iosevka Fixed" +spacing = "fixed" +snapshotFamily = 'iosevka' +snapshotFeature = '"NWID" on' + # Slab [buildPlans.iosevka-slab] family = "Iosevka Slab" +desc = "Slab-serif" serifs = "slab" snapshotFamily = 'iosevka-slab' -[buildPlans.iosevka-fixed-slab] -family = "Iosevka Fixed Slab" -serifs = "slab" -spacing = "fixed" -snapshotFamily = 'iosevka-slab' -snapshotFeature = '"NWID" on' - [buildPlans.iosevka-term-slab] family = "Iosevka Term Slab" serifs = "slab" @@ -40,22 +35,22 @@ spacing = "term" snapshotFamily = 'iosevka-slab' snapshotFeature = '"NWID" on' +[buildPlans.iosevka-fixed-slab] +family = "Iosevka Fixed Slab" +serifs = "slab" +spacing = "fixed" +snapshotFamily = 'iosevka-slab' +snapshotFeature = '"NWID" on' + # Curly [buildPlans.iosevka-curly] family = "Iosevka Curly" +desc = "Curly Style" snapshotFamily = 'iosevka' snapshotFeature = '"ss20" on' [buildPlans.iosevka-curly.variants] inherits = "ss20" -[buildPlans.iosevka-fixed-curly] -family = "Iosevka Fixed Curly" -spacing = "fixed" -snapshotFamily = 'iosevka' -snapshotFeature = '"NWID" on, "ss20" on' -[buildPlans.iosevka-fixed-curly.variants] -inherits = "ss20" - [buildPlans.iosevka-term-curly] family = "Iosevka Term Curly" spacing = "term" @@ -64,24 +59,24 @@ snapshotFeature = '"NWID" on, "ss20" on' [buildPlans.iosevka-term-curly.variants] inherits = "ss20" +[buildPlans.iosevka-fixed-curly] +family = "Iosevka Fixed Curly" +spacing = "fixed" +snapshotFamily = 'iosevka' +snapshotFeature = '"NWID" on, "ss20" on' +[buildPlans.iosevka-fixed-curly.variants] +inherits = "ss20" + # Curly Slab [buildPlans.iosevka-curly-slab] family = "Iosevka Curly Slab" +desc = "Curly Style, Slab-serif" serifs = "slab" snapshotFamily = 'iosevka-slab' snapshotFeature = '"ss20" on' [buildPlans.iosevka-curly-slab.variants] inherits = "ss20" -[buildPlans.iosevka-fixed-curly-slab] -family = "Iosevka Fixed Curly Slab" -serifs = "slab" -spacing = "fixed" -snapshotFamily = 'iosevka-slab' -snapshotFeature = '"NWID" on, "ss20" on' -[buildPlans.iosevka-fixed-curly-slab.variants] -inherits = "ss20" - [buildPlans.iosevka-term-curly-slab] family = "Iosevka Term Curly Slab" serifs = "slab" @@ -91,23 +86,25 @@ snapshotFeature = '"NWID" on, "ss20" on' [buildPlans.iosevka-term-curly-slab.variants] inherits = "ss20" +[buildPlans.iosevka-fixed-curly-slab] +family = "Iosevka Fixed Curly Slab" +serifs = "slab" +spacing = "fixed" +snapshotFamily = 'iosevka-slab' +snapshotFeature = '"NWID" on, "ss20" on' +[buildPlans.iosevka-fixed-curly-slab.variants] +inherits = "ss20" + ################################################################################################### # SSxx [buildPlans.iosevka-ss01] family = "Iosevka SS01" +desc = "Andale Mono Style" snapshotFamily = 'iosevka' snapshotFeature = '"ss01" on' [buildPlans.iosevka-ss01.variants] inherits = "ss01" -[buildPlans.iosevka-fixed-ss01] -family = "Iosevka Fixed SS01" -spacing = "fixed" -snapshotFamily = 'iosevka' -snapshotFeature = '"NWID" on, "ss01" on' -[buildPlans.iosevka-fixed-ss01.variants] -inherits = "ss01" - [buildPlans.iosevka-term-ss01] family = "Iosevka Term SS01" spacing = "term" @@ -116,22 +113,23 @@ snapshotFeature = '"NWID" on, "ss01" on' [buildPlans.iosevka-term-ss01.variants] inherits = "ss01" +[buildPlans.iosevka-fixed-ss01] +family = "Iosevka Fixed SS01" +spacing = "fixed" +snapshotFamily = 'iosevka' +snapshotFeature = '"NWID" on, "ss01" on' +[buildPlans.iosevka-fixed-ss01.variants] +inherits = "ss01" + [buildPlans.iosevka-ss02] family = "Iosevka SS02" +desc = "Anonymous Pro Style" snapshotFamily = 'iosevka' snapshotFeature = '"ss02" on' [buildPlans.iosevka-ss02.variants] inherits = "ss02" -[buildPlans.iosevka-fixed-ss02] -family = "Iosevka Fixed SS02" -spacing = "fixed" -snapshotFamily = 'iosevka' -snapshotFeature = '"NWID" on, "ss02" on' -[buildPlans.iosevka-fixed-ss02.variants] -inherits = "ss02" - [buildPlans.iosevka-term-ss02] family = "Iosevka Term SS02" spacing = "term" @@ -140,22 +138,23 @@ snapshotFeature = '"NWID" on, "ss02" on' [buildPlans.iosevka-term-ss02.variants] inherits = "ss02" +[buildPlans.iosevka-fixed-ss02] +family = "Iosevka Fixed SS02" +spacing = "fixed" +snapshotFamily = 'iosevka' +snapshotFeature = '"NWID" on, "ss02" on' +[buildPlans.iosevka-fixed-ss02.variants] +inherits = "ss02" + [buildPlans.iosevka-ss03] family = "Iosevka SS03" +desc = "Consolas Style" snapshotFamily = 'iosevka' snapshotFeature = '"ss03" on' [buildPlans.iosevka-ss03.variants] inherits = "ss03" -[buildPlans.iosevka-fixed-ss03] -family = "Iosevka Fixed SS03" -spacing = "fixed" -snapshotFamily = 'iosevka' -snapshotFeature = '"NWID" on, "ss03" on' -[buildPlans.iosevka-fixed-ss03.variants] -inherits = "ss03" - [buildPlans.iosevka-term-ss03] family = "Iosevka Term SS03" spacing = "term" @@ -164,22 +163,23 @@ snapshotFeature = '"NWID" on, "ss03" on' [buildPlans.iosevka-term-ss03.variants] inherits = "ss03" +[buildPlans.iosevka-fixed-ss03] +family = "Iosevka Fixed SS03" +spacing = "fixed" +snapshotFamily = 'iosevka' +snapshotFeature = '"NWID" on, "ss03" on' +[buildPlans.iosevka-fixed-ss03.variants] +inherits = "ss03" + [buildPlans.iosevka-ss04] family = "Iosevka SS04" +desc = "Menlo Style" snapshotFamily = 'iosevka' snapshotFeature = '"ss04" on' [buildPlans.iosevka-ss04.variants] inherits = "ss04" -[buildPlans.iosevka-fixed-ss04] -family = "Iosevka Fixed SS04" -spacing = "fixed" -snapshotFamily = 'iosevka' -snapshotFeature = '"NWID" on, "ss04" on' -[buildPlans.iosevka-fixed-ss04.variants] -inherits = "ss04" - [buildPlans.iosevka-term-ss04] family = "Iosevka Term SS04" spacing = "term" @@ -188,22 +188,23 @@ snapshotFeature = '"NWID" on, "ss04" on' [buildPlans.iosevka-term-ss04.variants] inherits = "ss04" +[buildPlans.iosevka-fixed-ss04] +family = "Iosevka Fixed SS04" +spacing = "fixed" +snapshotFamily = 'iosevka' +snapshotFeature = '"NWID" on, "ss04" on' +[buildPlans.iosevka-fixed-ss04.variants] +inherits = "ss04" + [buildPlans.iosevka-ss05] family = "Iosevka SS05" +desc = "Fira Mono Style" snapshotFamily = 'iosevka' snapshotFeature = '"ss05" on' [buildPlans.iosevka-ss05.variants] inherits = "ss05" -[buildPlans.iosevka-fixed-ss05] -family = "Iosevka Fixed SS05" -spacing = "fixed" -snapshotFamily = 'iosevka' -snapshotFeature = '"NWID" on, "ss05" on' -[buildPlans.iosevka-fixed-ss05.variants] -inherits = "ss05" - [buildPlans.iosevka-term-ss05] family = "Iosevka Term SS05" spacing = "term" @@ -212,22 +213,23 @@ snapshotFeature = '"NWID" on, "ss05" on' [buildPlans.iosevka-term-ss05.variants] inherits = "ss05" +[buildPlans.iosevka-fixed-ss05] +family = "Iosevka Fixed SS05" +spacing = "fixed" +snapshotFamily = 'iosevka' +snapshotFeature = '"NWID" on, "ss05" on' +[buildPlans.iosevka-fixed-ss05.variants] +inherits = "ss05" + [buildPlans.iosevka-ss06] family = "Iosevka SS06" +desc = "Liberation Mono Style" snapshotFamily = 'iosevka' snapshotFeature = '"ss06" on' [buildPlans.iosevka-ss06.variants] inherits = "ss06" -[buildPlans.iosevka-fixed-ss06] -family = "Iosevka Fixed SS06" -spacing = "fixed" -snapshotFamily = 'iosevka' -snapshotFeature = '"NWID" on, "ss06" on' -[buildPlans.iosevka-fixed-ss06.variants] -inherits = "ss06" - [buildPlans.iosevka-term-ss06] family = "Iosevka Term SS06" spacing = "term" @@ -236,22 +238,23 @@ snapshotFeature = '"NWID" on, "ss06" on' [buildPlans.iosevka-term-ss06.variants] inherits = "ss06" +[buildPlans.iosevka-fixed-ss06] +family = "Iosevka Fixed SS06" +spacing = "fixed" +snapshotFamily = 'iosevka' +snapshotFeature = '"NWID" on, "ss06" on' +[buildPlans.iosevka-fixed-ss06.variants] +inherits = "ss06" + [buildPlans.iosevka-ss07] family = "Iosevka SS07" +desc = "Monaco Style" snapshotFamily = 'iosevka' snapshotFeature = '"ss07" on' [buildPlans.iosevka-ss07.variants] inherits = "ss07" -[buildPlans.iosevka-fixed-ss07] -family = "Iosevka Fixed SS07" -spacing = "fixed" -snapshotFamily = 'iosevka' -snapshotFeature = '"NWID" on, "ss07" on' -[buildPlans.iosevka-fixed-ss07.variants] -inherits = "ss07" - [buildPlans.iosevka-term-ss07] family = "Iosevka Term SS07" spacing = "term" @@ -260,23 +263,24 @@ snapshotFeature = '"NWID" on, "ss07" on' [buildPlans.iosevka-term-ss07.variants] inherits = "ss07" +[buildPlans.iosevka-fixed-ss07] +family = "Iosevka Fixed SS07" +spacing = "fixed" +snapshotFamily = 'iosevka' +snapshotFeature = '"NWID" on, "ss07" on' +[buildPlans.iosevka-fixed-ss07.variants] +inherits = "ss07" + # The SS08 has curly bars, so apply ss20 first [buildPlans.iosevka-ss08] family = "Iosevka SS08" +desc = "Pragmata Pro Style" snapshotFamily = 'iosevka' snapshotFeature = '"ss08" on' [buildPlans.iosevka-ss08.variants] inherits = "ss08" -[buildPlans.iosevka-fixed-ss08] -family = "Iosevka Fixed SS08" -spacing = "fixed" -snapshotFamily = 'iosevka' -snapshotFeature = '"NWID" on, "ss08" on' -[buildPlans.iosevka-fixed-ss08.variants] -inherits = "ss08" - [buildPlans.iosevka-term-ss08] family = "Iosevka Term SS08" spacing = "term" @@ -285,22 +289,23 @@ snapshotFeature = '"NWID" on, "ss08" on' [buildPlans.iosevka-term-ss08.variants] inherits = "ss08" +[buildPlans.iosevka-fixed-ss08] +family = "Iosevka Fixed SS08" +spacing = "fixed" +snapshotFamily = 'iosevka' +snapshotFeature = '"NWID" on, "ss08" on' +[buildPlans.iosevka-fixed-ss08.variants] +inherits = "ss08" + [buildPlans.iosevka-ss09] family = "Iosevka SS09" +desc = "Source Code Pro Style" snapshotFamily = 'iosevka' snapshotFeature = '"ss09" on' [buildPlans.iosevka-ss09.variants] inherits = "ss09" -[buildPlans.iosevka-fixed-ss09] -family = "Iosevka Fixed SS09" -spacing = "fixed" -snapshotFamily = 'iosevka' -snapshotFeature = '"NWID" on, "ss09" on' -[buildPlans.iosevka-fixed-ss09.variants] -inherits = "ss09" - [buildPlans.iosevka-term-ss09] family = "Iosevka Term SS09" spacing = "term" @@ -309,22 +314,23 @@ snapshotFeature = '"NWID" on, "ss09" on' [buildPlans.iosevka-term-ss09.variants] inherits = "ss09" +[buildPlans.iosevka-fixed-ss09] +family = "Iosevka Fixed SS09" +spacing = "fixed" +snapshotFamily = 'iosevka' +snapshotFeature = '"NWID" on, "ss09" on' +[buildPlans.iosevka-fixed-ss09.variants] +inherits = "ss09" + [buildPlans.iosevka-ss10] family = "Iosevka SS10" +desc = "Envy Code R Style" snapshotFamily = 'iosevka' snapshotFeature = '"ss10" on' [buildPlans.iosevka-ss10.variants] inherits = "ss10" -[buildPlans.iosevka-fixed-ss10] -family = "Iosevka Fixed SS10" -spacing = "fixed" -snapshotFamily = 'iosevka' -snapshotFeature = '"NWID" on, "ss10" on' -[buildPlans.iosevka-fixed-ss10.variants] -inherits = "ss10" - [buildPlans.iosevka-term-ss10] family = "Iosevka Term SS10" spacing = "term" @@ -333,22 +339,23 @@ snapshotFeature = '"NWID" on, "ss10" on' [buildPlans.iosevka-term-ss10.variants] inherits = "ss10" +[buildPlans.iosevka-fixed-ss10] +family = "Iosevka Fixed SS10" +spacing = "fixed" +snapshotFamily = 'iosevka' +snapshotFeature = '"NWID" on, "ss10" on' +[buildPlans.iosevka-fixed-ss10.variants] +inherits = "ss10" + [buildPlans.iosevka-ss11] family = "Iosevka SS11" +desc = "X Windows Fixed Style" snapshotFamily = 'iosevka' snapshotFeature = '"ss11" on' [buildPlans.iosevka-ss11.variants] inherits = "ss11" -[buildPlans.iosevka-fixed-ss11] -family = "Iosevka Fixed SS11" -spacing = "fixed" -snapshotFamily = 'iosevka' -snapshotFeature = '"NWID" on, "ss11" on' -[buildPlans.iosevka-fixed-ss11.variants] -inherits = "ss11" - [buildPlans.iosevka-term-ss11] family = "Iosevka Term SS11" spacing = "term" @@ -357,22 +364,23 @@ snapshotFeature = '"NWID" on, "ss11" on' [buildPlans.iosevka-term-ss11.variants] inherits = "ss11" +[buildPlans.iosevka-fixed-ss11] +family = "Iosevka Fixed SS11" +spacing = "fixed" +snapshotFamily = 'iosevka' +snapshotFeature = '"NWID" on, "ss11" on' +[buildPlans.iosevka-fixed-ss11.variants] +inherits = "ss11" + [buildPlans.iosevka-ss12] family = "Iosevka SS12" +desc = "Ubuntu Mono Style" snapshotFamily = 'iosevka' snapshotFeature = '"ss12" on' [buildPlans.iosevka-ss12.variants] inherits = "ss12" -[buildPlans.iosevka-fixed-ss12] -family = "Iosevka Fixed SS12" -spacing = "fixed" -snapshotFamily = 'iosevka' -snapshotFeature = '"NWID" on, "ss12" on' -[buildPlans.iosevka-fixed-ss12.variants] -inherits = "ss12" - [buildPlans.iosevka-term-ss12] family = "Iosevka Term SS12" spacing = "term" @@ -381,22 +389,23 @@ snapshotFeature = '"NWID" on, "ss12" on' [buildPlans.iosevka-term-ss12.variants] inherits = "ss12" +[buildPlans.iosevka-fixed-ss12] +family = "Iosevka Fixed SS12" +spacing = "fixed" +snapshotFamily = 'iosevka' +snapshotFeature = '"NWID" on, "ss12" on' +[buildPlans.iosevka-fixed-ss12.variants] +inherits = "ss12" + [buildPlans.iosevka-ss13] family = "Iosevka SS13" +desc = "Lucida Style" snapshotFamily = 'iosevka' snapshotFeature = '"ss13" on' [buildPlans.iosevka-ss13.variants] inherits = "ss13" -[buildPlans.iosevka-fixed-ss13] -family = "Iosevka Fixed SS13" -spacing = "fixed" -snapshotFamily = 'iosevka' -snapshotFeature = '"NWID" on, "ss13" on' -[buildPlans.iosevka-fixed-ss13.variants] -inherits = "ss13" - [buildPlans.iosevka-term-ss13] family = "Iosevka Term SS13" spacing = "term" @@ -405,22 +414,23 @@ snapshotFeature = '"NWID" on, "ss13" on' [buildPlans.iosevka-term-ss13.variants] inherits = "ss13" +[buildPlans.iosevka-fixed-ss13] +family = "Iosevka Fixed SS13" +spacing = "fixed" +snapshotFamily = 'iosevka' +snapshotFeature = '"NWID" on, "ss13" on' +[buildPlans.iosevka-fixed-ss13.variants] +inherits = "ss13" + [buildPlans.iosevka-ss14] family = "Iosevka SS14" +desc = "JetBrains Mono Style" snapshotFamily = 'iosevka' snapshotFeature = '"ss14" on' [buildPlans.iosevka-ss14.variants] inherits = "ss14" -[buildPlans.iosevka-fixed-ss14] -family = "Iosevka Fixed SS14" -spacing = "fixed" -snapshotFamily = 'iosevka' -snapshotFeature = '"NWID" on, "ss14" on' -[buildPlans.iosevka-fixed-ss14.variants] -inherits = "ss14" - [buildPlans.iosevka-term-ss14] family = "Iosevka Term SS14" spacing = "term" @@ -429,12 +439,21 @@ snapshotFeature = '"NWID" on, "ss14" on' [buildPlans.iosevka-term-ss14.variants] inherits = "ss14" +[buildPlans.iosevka-fixed-ss14] +family = "Iosevka Fixed SS14" +spacing = "fixed" +snapshotFamily = 'iosevka' +snapshotFeature = '"NWID" on, "ss14" on' +[buildPlans.iosevka-fixed-ss14.variants] +inherits = "ss14" + ################################################################################################### # Proportional families [buildPlans.iosevka-aile] family = "Iosevka Aile" +desc = "Sans-serif" no-cv-ss = true no-ligation = true snapshotFamily = 'iosevka-aile' @@ -491,6 +510,7 @@ css = "normal" [buildPlans.iosevka-etoile] family = "Iosevka Etoile" +desc = "Slab-serif" serifs = 'slab' no-cv-ss = true no-ligation = true @@ -522,6 +542,7 @@ css = "normal" [buildPlans.iosevka-sparkle] family = "Iosevka Sparkle" +desc = "Hybrid, like iA Writer’s Duo" no-cv-ss = true no-ligation = true snapshotFamily = 'iosevka-sparkle' @@ -583,127 +604,127 @@ css = "normal" [collectPlans.iosevka] from = [ "iosevka", - "iosevka-fixed", - "iosevka-term" + "iosevka-term", + "iosevka-fixed" ] [collectPlans.iosevka-slab] from = [ "iosevka-slab", - "iosevka-fixed-slab", - "iosevka-term-slab" + "iosevka-term-slab", + "iosevka-fixed-slab" ] [collectPlans.iosevka-curly] from = [ "iosevka-curly", - "iosevka-fixed-curly", - "iosevka-term-curly" + "iosevka-term-curly", + "iosevka-fixed-curly" ] [collectPlans.iosevka-curly-slab] from = [ "iosevka-curly-slab", - "iosevka-fixed-curly-slab", - "iosevka-term-curly-slab" + "iosevka-term-curly-slab", + "iosevka-fixed-curly-slab" ] [collectPlans.iosevka-ss01] from = [ "iosevka-ss01", - "iosevka-fixed-ss01", - "iosevka-term-ss01" + "iosevka-term-ss01", + "iosevka-fixed-ss01" ] [collectPlans.iosevka-ss02] from = [ "iosevka-ss02", - "iosevka-fixed-ss02", - "iosevka-term-ss02" + "iosevka-term-ss02", + "iosevka-fixed-ss02" ] [collectPlans.iosevka-ss03] from = [ "iosevka-ss03", - "iosevka-fixed-ss03", - "iosevka-term-ss03" + "iosevka-term-ss03", + "iosevka-fixed-ss03" ] [collectPlans.iosevka-ss04] from = [ "iosevka-ss04", - "iosevka-fixed-ss04", - "iosevka-term-ss04" + "iosevka-term-ss04", + "iosevka-fixed-ss04" ] [collectPlans.iosevka-ss05] from = [ "iosevka-ss05", - "iosevka-fixed-ss05", - "iosevka-term-ss05" + "iosevka-term-ss05", + "iosevka-fixed-ss05" ] [collectPlans.iosevka-ss06] from = [ "iosevka-ss06", - "iosevka-fixed-ss06", - "iosevka-term-ss06" + "iosevka-term-ss06", + "iosevka-fixed-ss06" ] [collectPlans.iosevka-ss07] from = [ "iosevka-ss07", - "iosevka-fixed-ss07", - "iosevka-term-ss07" + "iosevka-term-ss07", + "iosevka-fixed-ss07" ] [collectPlans.iosevka-ss08] from = [ "iosevka-ss08", - "iosevka-fixed-ss08", - "iosevka-term-ss08" + "iosevka-term-ss08", + "iosevka-fixed-ss08" ] [collectPlans.iosevka-ss09] from = [ "iosevka-ss09", - "iosevka-fixed-ss09", - "iosevka-term-ss09" + "iosevka-term-ss09", + "iosevka-fixed-ss09" ] [collectPlans.iosevka-ss10] from = [ "iosevka-ss10", - "iosevka-fixed-ss10", - "iosevka-term-ss10" + "iosevka-term-ss10", + "iosevka-fixed-ss10" ] [collectPlans.iosevka-ss11] from = [ "iosevka-ss11", - "iosevka-fixed-ss11", - "iosevka-term-ss11" + "iosevka-term-ss11", + "iosevka-fixed-ss11" ] [collectPlans.iosevka-ss12] from = [ "iosevka-ss12", - "iosevka-fixed-ss12", - "iosevka-term-ss12" + "iosevka-term-ss12", + "iosevka-fixed-ss12" ] [collectPlans.iosevka-ss13] from = [ "iosevka-ss13", - "iosevka-fixed-ss13", - "iosevka-term-ss13" + "iosevka-term-ss13", + "iosevka-fixed-ss13" ] [collectPlans.iosevka-ss14] from = [ "iosevka-ss14", - "iosevka-fixed-ss14", - "iosevka-term-ss14" + "iosevka-term-ss14", + "iosevka-fixed-ss14" ] [collectPlans.iosevka-aile] diff --git a/utility/generate-release-note/index.js b/utility/generate-release-note/index.js index 2e86a1cdc..3d04b1edb 100644 --- a/utility/generate-release-note/index.js +++ b/utility/generate-release-note/index.js @@ -7,7 +7,8 @@ const execMain = require("../shared/execMain"); const ChangeFileDir = path.join(__dirname, "../../changes"); const Version = process.argv[2]; -const outputPath = process.argv[3]; +const releasePackagesJsonPath = process.argv[3]; +const outputPath = process.argv[4]; execMain(main); @@ -68,59 +69,29 @@ async function GenerateChangeList(out) { /////////////////////////////////////////////////////////////////////////////////////////////////// // PACKAGE LIST -const PackageShapes = { - // shapeDesc, shapeNameSuffix, slab, count, nospace - "": ["Monospace, Default", "", false, true], - slab: ["Monospace, Slab", "Slab", true, true], - curly: ["Monospace, Curly", "Curly", false, true], - "curly-slab": ["Monospace, Curly Slab", "Curly Slab", true, true], - ss01: ["Monospace, Andale Mono Style", "SS01"], - ss02: ["Monospace, Anonymous Pro Style", "SS02"], - ss03: ["Monospace, Consolas Style", "SS03"], - ss04: ["Monospace, Menlo Style", "SS04"], - ss05: ["Monospace, Fira Mono Style", "SS05"], - ss06: ["Monospace, Liberation Mono Style", "SS06"], - ss07: ["Monospace, Monaco Style", "SS07"], - ss08: ["Monospace, Pragmata Pro Style", "SS08"], - ss09: ["Monospace, Source Code Pro Style", "SS09"], - ss10: ["Monospace, Envy Code R Style", "SS10"], - ss11: ["Monospace, X Windows Fixed Style", "SS11"], - ss12: ["Monospace, Ubuntu Mono Style", "SS12"], - ss13: ["Monospace, Lucida Style", "SS13"], - ss14: ["Monospace, JetBrains Mono Style", "SS14"], - aile: ["Quasi-proportional, Sans-serif", "Aile", false, false, true], - etoile: ["Quasi-proportional, Slab-serif", "Etoile", false, false, true], - sparkle: ["Quasi-proportional Hybrid, like iA Writer’s Duo.", "Sparkle", false, false, true] -}; - -const MonospaceSpacings = { +const Spacings = { // spacingDesc, ligation, spacingNameSuffix - "": ["Default", true, ""], + type: ["Default", true, ""], term: ["Terminal", true, "Term"], fixed: ["Fixed", false, "Fixed"] }; -const ProportionalSpacings = { - "": ["Default", false, ""] -}; const imagePrefix = `https://raw.githubusercontent.com/be5invis/Iosevka/v${Version}/images`; async function GeneratePackageList(out) { - const MockRows = 4; + const pkgShapesData = await fs.readJson(releasePackagesJsonPath); out.log(``); - for (let shape in PackageShapes) { - const [shapeDesc, shapeNameSuffix, , count, proportional] = PackageShapes[shape]; - const spacings = proportional ? ProportionalSpacings : MonospaceSpacings; - const spacingKeys = Object.keys(spacings); + for (let [groupID, gr] of Object.entries(pkgShapesData)) { + const prime = gr.subGroups[groupID]; - const familyName = buildName("\u00a0", "Iosevka", shapeNameSuffix); - const imageName = buildName("-", "iosevka", shape); - const fileName = buildName("-", "ttc", "iosevka", shape, Version); + const familyName = buildName("\u00a0", ...prime.family.split(" ")); + const fileName = buildName("-", "ttc", groupID, Version); const downloadLink = `https://github.com/be5invis/Iosevka/releases/download/v${Version}/${fileName}.zip`; - const desc = `${shapeDesc}`; - const img = ``; + const proportionPrefix = gr.quasiProportional ? "Quasi-proportional" : "Monospace"; + const desc = `${proportionPrefix}, ${prime.desc}`; + const img = ``; out.log( ``, ``, @@ -136,20 +107,21 @@ async function GeneratePackageList(out) { ``, `` ); - for (let spacing of spacingKeys) { - const [spacingDesc, ligation, spacingNameSuffix] = spacings[spacing]; - const familyName = buildName(" ", "Iosevka", spacingNameSuffix, shapeNameSuffix); + let lastSubGroupID = null; + for (const [subGroupID, subGr] of Object.entries(gr.subGroups)) { + lastSubGroupID = subGroupID; + } + for (const [subGroupID, subGr] of Object.entries(gr.subGroups)) { + const [spacingDesc, ligation] = Spacings[subGr.spacing]; const createLink = (label, prefix) => { - const fileName = buildName("-", prefix, "iosevka", spacing, shape, Version); + const fileName = buildName("-", prefix, subGroupID, Version); const downloadLink = `https://github.com/be5invis/Iosevka/releases/download/v${Version}/${fileName}.zip`; return `${label}`; }; - const leader = - "    " + - (spacing === spacingKeys[spacingKeys.length - 1] ? "└" : "├"); + const leader = "    " + (subGroupID === lastSubGroupID ? "└" : "├"); out.log( ``, - ``, + ``, ``, ``, ``, diff --git a/verdafile.js b/verdafile.js index 1500a35c5..ecfaaaed6 100644 --- a/verdafile.js +++ b/verdafile.js @@ -761,11 +761,6 @@ const SpecificSuperTtc = task.group(`super-ttc`, async (target, gr) => { await target.need(ExportSuperTtc(gr)); }); -const ChangeFileList = oracle.make( - () => `release:change-file-list`, - target => FileList({ under: "changes", pattern: "*.md" })(target) -); - const ReleaseNotes = task(`release:release-note`, async t => { const [version] = await t.need(Version); await t.need(ReleaseNotesFile(version)); @@ -774,12 +769,34 @@ const ReleaseNotesFile = file.make( version => `${ARCHIVE_DIR}/release-notes-${version}.md`, async (t, out, version) => { await t.need(UtilScripts, de(ARCHIVE_DIR)); - const [changeFiles] = await t.need(ChangeFileList()); + const [changeFiles, rpFiles] = await t.need(ChangeFileList(), ReleaseNotePackagesFile); await t.need(changeFiles.map(fu)); - await run("node", "utility/generate-release-note/index", version, out.full); + await run("node", "utility/generate-release-note/index", version, rpFiles.full, out.full); } ); - +const ReleaseNotePackagesFile = file(`${BUILD}/release-packages.json`, async (t, out) => { + const [collectPlans] = await t.need(CollectPlans); + const [{ buildPlans }] = await t.need(BuildPlans); + let releaseNoteGroups = {}; + for (const [k, g] of Object.entries(collectPlans.groupDecomposition)) { + const primePlan = buildPlans[g[0]]; + let subGroups = {}; + for (const gr of g) { + const bp = buildPlans[gr]; + subGroups[gr] = { + family: bp.family, + desc: bp.desc, + spacing: buildPlans[gr].spacing || "type" + }; + } + releaseNoteGroups[k] = { + subGroups, + slab: primePlan.serifs === "slab", + quasiProportional: primePlan.quasiProportionalDiversity > 0 + }; + } + await fs.promises.writeFile(out.full, JSON.stringify(releaseNoteGroups, null, " ")); +}); const ChangeLog = task(`release:change-log`, async t => { await t.need(ChangeLogFile); }); @@ -790,6 +807,10 @@ const ChangeLogFile = file(`CHANGELOG.md`, async (t, out) => { await t.need(changeFiles.map(fu)); await run("node", "utility/generate-change-log/index", version, out.full); }); +const ChangeFileList = oracle.make( + () => `release:change-file-list`, + target => FileList({ under: "changes", pattern: "*.md" })(target) +); phony(`clean`, async () => { await rm(BUILD);
📦 ${familyName} — ${desc}Downloads
${leader} ${noBreak(familyName)}${leader} ${noBreak(subGr.family)}${spacingDesc}${flag(ligation)}${createLink("TTF", "ttf")}