Eliminate generated files

This commit is contained in:
be5invis 2020-08-13 19:56:16 -07:00
parent 4a3038363d
commit 676f0cee76
19 changed files with 61 additions and 1805 deletions

2
.gitignore vendored
View file

@ -41,8 +41,6 @@ pages/
releases/
release-archives/
testdrive/iosevka*
snapshot/iosevka*
snapshot/index.css
# Generated scripts
font-src/gen/build-glyphs.js

View file

@ -549,6 +549,12 @@ The current available styles for `design`/`upright`/`italic`/`oblique` options a
* Styles for `<=`, `>=`:
* `v-lig-ltgteq-flat`, `cv66`: The lower bar of `<=` and `>=` ligation is flat (default).
* `v-lig-ltgteq-slanted`, `cv67`: The lower bar of `<=` and `>=` ligation is slanted.
* Styles for `'`:
* `v-ascii-quote-straight`, `VXDG`: Show ASCII quote (`'`) as short vertical straight bar. (default).
* `v-ascii-quote-raised-comma`, `VXDH`: Show ASCII quote (`'`) as raised comma..
* Styles for ```:
* `v-ascii-grave-straight`, `VXDI`: Show ASCII grave (`` ` ``) as short diagonal straight bar. (default).
* `v-ascii-grave-raised-inverse-comma`, `VXDJ`: Show ASCII grave (`` ` ``) as raised comma..
<!-- END Section-Cherry-Picking-Styles -->

View file

@ -5,6 +5,7 @@
"scripts": {
"bump-ver": "node utility/update-package-json-version/index",
"build": "verda -f verdafile.js",
"clean": "verda -f verdafile.js clean",
"install": "node utility/check-env"
},
"dependencies": {

File diff suppressed because it is too large Load diff

View file

@ -1,339 +0,0 @@
[
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"name": "iosevka"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on",
"name": "iosevka-fixed"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on",
"name": "iosevka-term"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka-slab",
"name": "iosevka-slab"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka-slab",
"applyFeature": "\"NWID\" on",
"name": "iosevka-fixed-slab"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka-slab",
"applyFeature": "\"NWID\" on",
"name": "iosevka-term-slab"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"ss20\" on",
"name": "iosevka-curly"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss20\" on",
"name": "iosevka-fixed-curly"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss20\" on",
"name": "iosevka-term-curly"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka-slab",
"applyFeature": "\"ss20\" on",
"name": "iosevka-curly-slab"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka-slab",
"applyFeature": "\"NWID\" on, \"ss20\" on",
"name": "iosevka-fixed-curly-slab"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka-slab",
"applyFeature": "\"NWID\" on, \"ss20\" on",
"name": "iosevka-term-curly-slab"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"ss01\" on",
"name": "iosevka-ss01"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss01\" on",
"name": "iosevka-fixed-ss01"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss01\" on",
"name": "iosevka-term-ss01"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"ss02\" on",
"name": "iosevka-ss02"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss02\" on",
"name": "iosevka-fixed-ss02"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss02\" on",
"name": "iosevka-term-ss02"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"ss03\" on",
"name": "iosevka-ss03"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss03\" on",
"name": "iosevka-fixed-ss03"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss03\" on",
"name": "iosevka-term-ss03"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"ss04\" on",
"name": "iosevka-ss04"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss04\" on",
"name": "iosevka-fixed-ss04"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss04\" on",
"name": "iosevka-term-ss04"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"ss05\" on",
"name": "iosevka-ss05"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss05\" on",
"name": "iosevka-fixed-ss05"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss05\" on",
"name": "iosevka-term-ss05"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"ss06\" on",
"name": "iosevka-ss06"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss06\" on",
"name": "iosevka-fixed-ss06"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss06\" on",
"name": "iosevka-term-ss06"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"ss07\" on",
"name": "iosevka-ss07"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss07\" on",
"name": "iosevka-fixed-ss07"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss07\" on",
"name": "iosevka-term-ss07"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"ss08\" on",
"name": "iosevka-ss08"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss08\" on",
"name": "iosevka-fixed-ss08"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss08\" on",
"name": "iosevka-term-ss08"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"ss09\" on",
"name": "iosevka-ss09"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss09\" on",
"name": "iosevka-fixed-ss09"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss09\" on",
"name": "iosevka-term-ss09"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"ss10\" on",
"name": "iosevka-ss10"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss10\" on",
"name": "iosevka-fixed-ss10"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss10\" on",
"name": "iosevka-term-ss10"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"ss11\" on",
"name": "iosevka-ss11"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss11\" on",
"name": "iosevka-fixed-ss11"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss11\" on",
"name": "iosevka-term-ss11"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"ss12\" on",
"name": "iosevka-ss12"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss12\" on",
"name": "iosevka-fixed-ss12"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss12\" on",
"name": "iosevka-term-ss12"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"ss13\" on",
"name": "iosevka-ss13"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss13\" on",
"name": "iosevka-fixed-ss13"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss13\" on",
"name": "iosevka-term-ss13"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"ss14\" on",
"name": "iosevka-ss14"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss14\" on",
"name": "iosevka-fixed-ss14"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka",
"applyFeature": "\"NWID\" on, \"ss14\" on",
"name": "iosevka-term-ss14"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka-aile",
"name": "iosevka-aile"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka-etoile",
"name": "iosevka-etoile"
},
{
"el": "#packaging-sampler",
"applyClass": "iosevka-sparkle",
"name": "iosevka-sparkle"
}
]

View file

@ -4,6 +4,9 @@ const path = require("path");
const parseVariantsData = require("../export-data/parse-variants-data");
const getLigationData = require("../export-data/ligation-data");
const inputPath = process.argv[2];
const outputPath = process.argv[3];
main().catch(e => {
console.error(e);
process.exit(1);
@ -13,7 +16,7 @@ main().catch(e => {
async function main() {
const weightGrades = [100, 200, 300, 400, 500, 600, 700, 800, 900];
const templatePath = path.join(__dirname, "templates/index.ejs");
const templatePath = path.join(inputPath, "index.ejs");
const html = await ejs.renderFile(templatePath, {
...(await parseVariantsData()),
ligation: await getLigationData(),
@ -26,5 +29,5 @@ async function main() {
.replace(/\n/g, "<br/>");
}
});
await fs.writeFile(path.join(__dirname, "../../snapshot/index.html"), html);
await fs.writeFile(outputPath, html);
}

View file

@ -17,7 +17,7 @@ const toml = require("@iarna/toml");
const BUILD = ".build";
const DIST = "dist";
const DIST_COLLECT = "dist/.collect";
const SNAPSHOT_TMP = ".build/snapshot";
const DIST_SUPER_TTC = "dist/.super-ttc";
const ARCHIVE_DIR = "release-archives";
@ -719,16 +719,19 @@ const SampleImagesPre = task(`sample-images:pre`, async target => {
GroupContents`iosevka-aile`,
GroupContents`iosevka-etoile`,
GroupContents`iosevka-sparkle`,
SnapShotStatic("index.js"),
SnapShotStatic("get-snap.js"),
SnapShotJson,
SnapShotCSS,
SnapShotHtml,
de`images`
de`images`,
de(SNAPSHOT_TMP)
);
await cp(`${DIST}/${sans}`, `snapshot/${sans}`);
await cp(`${DIST}/${slab}`, `snapshot/${slab}`);
await cp(`${DIST}/${aile}`, `snapshot/${aile}`);
await cp(`${DIST}/${etoile}`, `snapshot/${etoile}`);
await cp(`${DIST}/${sparkle}`, `snapshot/${sparkle}`);
await cp(`${DIST}/${sans}`, `${SNAPSHOT_TMP}/${sans}`);
await cp(`${DIST}/${slab}`, `${SNAPSHOT_TMP}/${slab}`);
await cp(`${DIST}/${aile}`, `${SNAPSHOT_TMP}/${aile}`);
await cp(`${DIST}/${etoile}`, `${SNAPSHOT_TMP}/${etoile}`);
await cp(`${DIST}/${sparkle}`, `${SNAPSHOT_TMP}/${sparkle}`);
});
const PackageSnapshotConfig = computed(`package-snapshot-image-config`, async target => {
@ -746,25 +749,38 @@ const PackageSnapshotConfig = computed(`package-snapshot-image-config`, async ta
}
return cfg;
});
const SnapShotJson = file(`snapshot/packaging-tasks.json`, async (target, out) => {
const [cfg] = await target.need(PackageSnapshotConfig);
const SnapShotJson = file(`${SNAPSHOT_TMP}/packaging-tasks.json`, async (target, out) => {
const [cfg] = await target.need(PackageSnapshotConfig, de(out.dir));
fs.writeFileSync(out.full, JSON.stringify(cfg, null, " "));
});
const SnapShotHtml = file(`snapshot/index.html`, async target => {
await target.need(Parameters, UtilScripts);
const SnapShotHtml = file(`${SNAPSHOT_TMP}/index.html`, async (target, out) => {
await target.need(Parameters, UtilScripts, SnapshotTemplates, de(out.dir));
const [cm] = await target.need(BuildCM("iosevka", "iosevka-regular"));
const [cmi] = await target.need(BuildCM("iosevka", "iosevka-italic"));
const [cmo] = await target.need(BuildCM("iosevka", "iosevka-oblique"));
await run(`node`, `utility/generate-snapshot-page/index.js`);
await run(
`node`,
`utility/generate-snapshot-page/index.js`,
"snapshot-src/templates",
out.full
);
await run(`node`, `utility/amend-readme/index`, cm.full, cmi.full, cmo.full);
});
const SnapShotCSS = file(`snapshot/index.css`, async target => {
await target.need(sfu`snapshot/index.styl`);
await run(`npx`, `stylus`, `snapshot/index.styl`, `-c`);
const SnapShotStatic = file.make(
x => `${SNAPSHOT_TMP}/${x}`,
async (target, out) => {
const [$1] = await target.need(sfu`snapshot-src/${out.base}`, de(out.dir));
await cp($1.full, `${out.dir}/${$1.base}`);
}
);
const SnapShotCSS = file(`${SNAPSHOT_TMP}/index.css`, async (target, out) => {
const [$1] = await target.need(sfu`snapshot-src/index.styl`, de(out.dir));
await cp($1.full, `${out.dir}/${$1.base}`);
await run(`npx`, `stylus`, `${out.dir}/${$1.base}`, `-c`);
});
const TakeSampleImages = task(`sample-images:take`, async target => {
await target.need(SampleImagesPre);
await cd(`snapshot`).run("npx", "electron", "get-snap.js", "../images");
await cd(SNAPSHOT_TMP).run("npx", "electron", "get-snap.js", "../../images");
});
const ScreenShot = file.glob(`images/*.png`, async (target, { full }) => {
await target.need(TakeSampleImages);
@ -823,9 +839,9 @@ const ReleaseNotes = task(`release:release-note`, async t => {
});
phony(`clean`, async () => {
await rm(`build`);
await rm(`dist`);
await rm(`release-archives`);
await rm(BUILD);
await rm(DIST);
await rm(ARCHIVE_DIR);
build.deleteJournal();
});
phony(`release`, async target => {
@ -850,6 +866,14 @@ const UtilScriptFiles = computed("util-script-files", async target => {
);
return [...js, ...ejs, ...md];
});
const SnapshotTemplateFiles = computed("snapshot-templates", async target => {
const [js, ejs, md] = await target.need(
ScriptsUnder("js", "snapshot-src"),
ScriptsUnder("ejs", "snapshot-src"),
ScriptsUnder("md", "snapshot-src")
);
return [...js, ...ejs, ...md];
});
const ScriptFiles = computed.group("script-files", async (target, ext) => {
const [ss] = await target.need(ScriptsUnder(ext, `font-src`));
return ss;
@ -881,7 +905,11 @@ const Scripts = task("scripts", async target => {
});
const UtilScripts = task("util-scripts", async target => {
const [files] = await target.need(UtilScriptFiles);
await target.need(files.map(f => fu`${f}`));
await target.need(files.map(fu));
});
const SnapshotTemplates = task("snapshot-templates", async target => {
const [files] = await target.need(SnapshotTemplateFiles);
await target.need(files.map(fu));
});
const Parameters = task(`meta:parameters`, async target => {
await target.need(