Separate README into doc files

This commit is contained in:
be5invis 2021-11-01 22:14:32 -07:00
parent a8c49b8223
commit 9231ce994f
7 changed files with 3059 additions and 3033 deletions

3014
README.md

File diff suppressed because one or more lines are too long

2283
doc/character-variants.md Normal file

File diff suppressed because it is too large Load diff

515
doc/custom-build.md Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,79 @@
# List of Language-specific Ligation Sets of Iosevka
<!-- BEGIN Section-OT-Ligation-Tags-2 -->
<!-- THIS SECTION IS AUTOMATICALLY GENERATED. DO NOT EDIT. -->
<table>
<tr>
<td><code>dlig</code></td>
<td>Discretionary ligatures</td>
</tr>
<tr>
<td colspan="2"><img src="../images/ligset-dlig-1.png"/></td>
</tr>
<tr>
<td><code>CLIK</code>; <code>JSPT</code>; <code>PHPX</code></td>
<td>C-Like, JavaScript, PHP</td>
</tr>
<tr>
<td colspan="2"><img src="../images/ligset-CLIK-1.png"/></td>
</tr>
<tr>
<td><code>MLXX</code>; <code>FSHP</code></td>
<td>ML, F#</td>
</tr>
<tr>
<td colspan="2"><img src="../images/ligset-MLXX-1.png"/></td>
</tr>
<tr>
<td><code>FSTA</code></td>
<td>F*</td>
</tr>
<tr>
<td colspan="2"><img src="../images/ligset-FSTA-1.png"/></td>
</tr>
<tr>
<td><code>HSKL</code>; <code>IDRS</code>; <code>ELMX</code>; <code>PURS</code></td>
<td>Haskell, Idris, Elm, PureScript</td>
</tr>
<tr>
<td colspan="2"><img src="../images/ligset-HSKL-1.png"/></td>
</tr>
<tr>
<td><code>SWFT</code></td>
<td>Swift</td>
</tr>
<tr>
<td colspan="2"><img src="../images/ligset-SWFT-1.png"/></td>
</tr>
<tr>
<td><code>COQX</code></td>
<td>Coq</td>
</tr>
<tr>
<td colspan="2"><img src="../images/ligset-COQX-1.png"/></td>
</tr>
<tr>
<td><code>MTLB</code></td>
<td>Matlab</td>
</tr>
<tr>
<td colspan="2"><img src="../images/ligset-MTLB-1.png"/></td>
</tr>
<tr>
<td><code>VRLG</code></td>
<td>Verilog</td>
</tr>
<tr>
<td colspan="2"><img src="../images/ligset-VRLG-1.png"/></td>
</tr>
<tr>
<td><code>WFLM</code></td>
<td>Wolfram Language (Mathematica)</td>
</tr>
<tr>
<td colspan="2"><img src="../images/ligset-WFLM-1.png"/></td>
</tr>
</table>
<!-- END Section-OT-Ligation-Tags-2 -->

142
doc/stylistic-sets.md Normal file
View file

@ -0,0 +1,142 @@
# List of Stylistic Sets of Iosevka
<!-- BEGIN Section-OT-Stylistic-Sets -->
<!-- THIS SECTION IS AUTOMATICALLY GENERATED. DO NOT EDIT. -->
<table>
<tr>
<td colspan="2"><code>ss01</code> — Andale Mono Style</td>
</tr>
<tr>
<td><img src="../images/stylistic-set-u-ss01-1.png"/></td>
<td><img src="../images/stylistic-set-i-ss01-1.png"/></td>
</tr>
<tr>
<td colspan="2"><code>ss02</code> — Anonymous Pro Style</td>
</tr>
<tr>
<td><img src="../images/stylistic-set-u-ss02-1.png"/></td>
<td><img src="../images/stylistic-set-i-ss02-1.png"/></td>
</tr>
<tr>
<td colspan="2"><code>ss03</code> — Consolas Style</td>
</tr>
<tr>
<td><img src="../images/stylistic-set-u-ss03-1.png"/></td>
<td><img src="../images/stylistic-set-i-ss03-1.png"/></td>
</tr>
<tr>
<td colspan="2"><code>ss04</code> — Menlo Style</td>
</tr>
<tr>
<td><img src="../images/stylistic-set-u-ss04-1.png"/></td>
<td><img src="../images/stylistic-set-i-ss04-1.png"/></td>
</tr>
<tr>
<td colspan="2"><code>ss05</code> — Fira Mono Style</td>
</tr>
<tr>
<td><img src="../images/stylistic-set-u-ss05-1.png"/></td>
<td><img src="../images/stylistic-set-i-ss05-1.png"/></td>
</tr>
<tr>
<td colspan="2"><code>ss06</code> — Liberation Mono Style</td>
</tr>
<tr>
<td><img src="../images/stylistic-set-u-ss06-1.png"/></td>
<td><img src="../images/stylistic-set-i-ss06-1.png"/></td>
</tr>
<tr>
<td colspan="2"><code>ss07</code> — Monaco Style</td>
</tr>
<tr>
<td><img src="../images/stylistic-set-u-ss07-1.png"/></td>
<td><img src="../images/stylistic-set-i-ss07-1.png"/></td>
</tr>
<tr>
<td colspan="2"><code>ss08</code> — Pragmata Pro Style</td>
</tr>
<tr>
<td><img src="../images/stylistic-set-u-ss08-1.png"/></td>
<td><img src="../images/stylistic-set-i-ss08-1.png"/></td>
</tr>
<tr>
<td colspan="2"><code>ss09</code> — Source Code Pro Style</td>
</tr>
<tr>
<td><img src="../images/stylistic-set-u-ss09-1.png"/></td>
<td><img src="../images/stylistic-set-i-ss09-1.png"/></td>
</tr>
<tr>
<td colspan="2"><code>ss10</code> — Envy Code R Style</td>
</tr>
<tr>
<td><img src="../images/stylistic-set-u-ss10-1.png"/></td>
<td><img src="../images/stylistic-set-i-ss10-1.png"/></td>
</tr>
<tr>
<td colspan="2"><code>ss11</code> — X Window Style</td>
</tr>
<tr>
<td><img src="../images/stylistic-set-u-ss11-1.png"/></td>
<td><img src="../images/stylistic-set-i-ss11-1.png"/></td>
</tr>
<tr>
<td colspan="2"><code>ss12</code> — Ubuntu Mono Style</td>
</tr>
<tr>
<td><img src="../images/stylistic-set-u-ss12-1.png"/></td>
<td><img src="../images/stylistic-set-i-ss12-1.png"/></td>
</tr>
<tr>
<td colspan="2"><code>ss13</code> — Lucida Style</td>
</tr>
<tr>
<td><img src="../images/stylistic-set-u-ss13-1.png"/></td>
<td><img src="../images/stylistic-set-i-ss13-1.png"/></td>
</tr>
<tr>
<td colspan="2"><code>ss14</code> — JetBrains Mono Style</td>
</tr>
<tr>
<td><img src="../images/stylistic-set-u-ss14-1.png"/></td>
<td><img src="../images/stylistic-set-i-ss14-1.png"/></td>
</tr>
<tr>
<td colspan="2"><code>ss15</code> — IBM Plex Mono Style</td>
</tr>
<tr>
<td><img src="../images/stylistic-set-u-ss15-1.png"/></td>
<td><img src="../images/stylistic-set-i-ss15-1.png"/></td>
</tr>
<tr>
<td colspan="2"><code>ss16</code> — PT Mono Style</td>
</tr>
<tr>
<td><img src="../images/stylistic-set-u-ss16-1.png"/></td>
<td><img src="../images/stylistic-set-i-ss16-1.png"/></td>
</tr>
<tr>
<td colspan="2"><code>ss17</code> — Recursive Mono Style</td>
</tr>
<tr>
<td><img src="../images/stylistic-set-u-ss17-1.png"/></td>
<td><img src="../images/stylistic-set-i-ss17-1.png"/></td>
</tr>
<tr>
<td colspan="2"><code>ss18</code> — Input Mono Style</td>
</tr>
<tr>
<td><img src="../images/stylistic-set-u-ss18-1.png"/></td>
<td><img src="../images/stylistic-set-i-ss18-1.png"/></td>
</tr>
<tr>
<td colspan="2"><code>ss20</code> — Curly Style</td>
</tr>
<tr>
<td><img src="../images/stylistic-set-u-ss20-1.png"/></td>
<td><img src="../images/stylistic-set-i-ss20-1.png"/></td>
</tr>
</table>
<!-- END Section-OT-Stylistic-Sets -->

View file

@ -9,22 +9,24 @@ const { getCharMapAndSupportedLanguageList } = require("../export-data/supported
/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////
module.exports = async function main(argv) { module.exports = async function main(argv) {
const readmePath = path.resolve(__dirname, "../../README.md"); let readme = await fs.readFile(argv.mdFilePath, "utf-8");
let readme = await fs.readFile(readmePath, "utf-8"); const dirs = {
readme = (await processSsOt()).apply(readme); images: path.posix.relative(path.dirname(argv.mdFilePath), "images")
readme = (await processCherryPickingStyles()).apply(readme); };
readme = (await processSsOt(dirs)).apply(readme);
readme = (await processCherryPickingStyles(dirs)).apply(readme);
readme = (await processSsStyles()).apply(readme); readme = (await processSsStyles()).apply(readme);
readme = (await processCvOt()).apply(readme); readme = (await processCvOt(dirs)).apply(readme);
readme = (await processLigSetCherryPicking()).apply(readme); readme = (await processLigSetCherryPicking()).apply(readme);
readme = (await processLigSetPreDef()).apply(readme); readme = (await processLigSetPreDef()).apply(readme);
readme = (await processLigSetOt(1, g => g.tag === "calt")).apply(readme); readme = (await processLigSetOt(dirs, 1, g => g.tag === "calt")).apply(readme);
readme = (await processLigSetOt(2, g => g.tag !== "calt")).apply(readme); readme = (await processLigSetOt(dirs, 2, g => g.tag !== "calt")).apply(readme);
readme = (await processLangList(argv)).apply(readme); readme = (await processLangList(argv)).apply(readme);
readme = (await processPrivateBuildPlans()).apply(readme); readme = (await processPrivateBuildPlans()).apply(readme);
await fs.writeFile(readmePath, readme); await fs.writeFile(argv.mdFilePath, readme);
}; };
async function processSsOt() { async function processSsOt(dirs) {
const variantsData = await parseVariantsData(); const variantsData = await parseVariantsData();
const md = new MdCol("Section-OT-Stylistic-Sets"); const md = new MdCol("Section-OT-Stylistic-Sets");
md.log(`<table>`); md.log(`<table>`);
@ -37,15 +39,15 @@ async function processSsOt() {
} }
{ {
md.log(`<tr>`); md.log(`<tr>`);
md.log(`<td><img src="images/stylistic-set-u-${ss.tag}-${ss.rank}.png"/></td>`); md.log(`<td><img src="${dirs.images}/stylistic-set-u-${ss.tag}-${ss.rank}.png"/></td>`);
md.log(`<td><img src="images/stylistic-set-i-${ss.tag}-${ss.rank}.png"/></td>`); md.log(`<td><img src="${dirs.images}/stylistic-set-i-${ss.tag}-${ss.rank}.png"/></td>`);
md.log(`</tr>`); md.log(`</tr>`);
} }
} }
md.log(`</table>`); md.log(`</table>`);
return md; return md;
} }
async function processCvOt() { async function processCvOt(dirs) {
const variantsData = await parseVariantsData(); const variantsData = await parseVariantsData();
const md = new MdCol("Section-OT-Character-Variants"); const md = new MdCol("Section-OT-Character-Variants");
const TableColumns = 12; const TableColumns = 12;
@ -74,7 +76,7 @@ async function processCvOt() {
const iCvv = rid * entriesPerRow + cid; const iCvv = rid * entriesPerRow + cid;
if (iCvv >= effVariants.length) continue; if (iCvv >= effVariants.length) continue;
const cvv = effVariants[iCvv]; const cvv = effVariants[iCvv];
const imageUrl = `images/character-variant-${cv.tag}-${cvv.rank}.png`; const imageUrl = `${dirs.images}/character-variant-${cv.tag}-${cvv.rank}.png`;
md.log(`<td${itemColSpanHtml}><img src="${imageUrl}" width="${imgWidth}"/></td>`); md.log(`<td${itemColSpanHtml}><img src="${imageUrl}" width="${imgWidth}"/></td>`);
} }
if (tailBlankColumnsCount > 0) md.log(`<td colspan="${tailBlankColumnsCount}"> </td>`); if (tailBlankColumnsCount > 0) md.log(`<td colspan="${tailBlankColumnsCount}"> </td>`);
@ -107,14 +109,14 @@ async function processSsStyles() {
} }
return md; return md;
} }
async function processCherryPickingStyles() { async function processCherryPickingStyles(dirs) {
const variantsData = await parseVariantsData(); const variantsData = await parseVariantsData();
const md = new MdCol("Section-Cherry-Picking-Styles"); const md = new MdCol("Section-Cherry-Picking-Styles");
const headerPath = path.resolve(__dirname, "fragments/description-cheery-picking-styles.md"); const headerPath = path.resolve(__dirname, "fragments/description-cheery-picking-styles.md");
md.log(await fs.readFile(headerPath, "utf-8")); md.log(await fs.readFile(headerPath, "utf-8"));
formatCv(md, { formatCv(md, dirs, {
introMD: `Default digit form`, introMD: `Default digit form`,
sampleImageCountEm: 10, sampleImageCountEm: 10,
alternatives: [ alternatives: [
@ -131,7 +133,7 @@ async function processCherryPickingStyles() {
] ]
}); });
formatCv(md, { formatCv(md, dirs, {
introMD: `APL form`, introMD: `APL form`,
sampleImageCountEm: 7, sampleImageCountEm: 7,
alternatives: [ alternatives: [
@ -169,7 +171,7 @@ async function processCherryPickingStyles() {
description: formatDescription(cvv.description) + formatDefaults(cvv.key, defaults) description: formatDescription(cvv.description) + formatDefaults(cvv.key, defaults)
}); });
} }
formatCv(md, info); formatCv(md, dirs, info);
} }
return md; return md;
} }
@ -178,12 +180,12 @@ function sampleImageCountEmOfCv(cv) {
return cv.hotChars.length * (cv.slopeDependent ? 2 : 1); return cv.hotChars.length * (cv.slopeDependent ? 2 : 1);
} }
function formatCv(md, info) { function formatCv(md, dirs, info) {
md.log(` - ${info.introMD}:`); md.log(` - ${info.introMD}:`);
const imgWidth = 32 * info.sampleImageCountEm; const imgWidth = 32 * info.sampleImageCountEm;
let sTable = " <table>"; let sTable = " <table>";
for (const alt of info.alternatives) { for (const alt of info.alternatives) {
const imageUrl = `images/character-variant-${alt.imageId}.png`; const imageUrl = `${dirs.images}/character-variant-${alt.imageId}.png`;
const image = `<img src="${imageUrl}" width="${imgWidth}"/>`; const image = `<img src="${imageUrl}" width="${imgWidth}"/>`;
const selectorText = alt.selectors.map(x => `<code>${x}</code>`).join(", "); const selectorText = alt.selectors.map(x => `<code>${x}</code>`).join(", ");
sTable += sTable +=
@ -295,7 +297,7 @@ async function processLigSetPreDef() {
return md; return md;
} }
async function processLigSetOt(index, fn) { async function processLigSetOt(dirs, index, fn) {
const ligData = await parseLigationData(); const ligData = await parseLigationData();
const md = new MdCol(`Section-OT-Ligation-Tags-${index}`); const md = new MdCol(`Section-OT-Ligation-Tags-${index}`);
md.log(`<table>`); md.log(`<table>`);
@ -311,7 +313,9 @@ async function processLigSetOt(index, fn) {
} }
{ {
md.log(`<tr>`); md.log(`<tr>`);
md.log(`<td colspan="2"><img src="images/ligset-${ls.tag}-${ls.rank}.png"/></td>`); md.log(
`<td colspan="2"><img src="${dirs.images}/ligset-${ls.tag}-${ls.rank}.png"/></td>`
);
md.log(`</tr>`); md.log(`</tr>`);
} }
} }

View file

@ -702,12 +702,21 @@ const SnapShotHtml = file(`${SNAPSHOT_TMP}/index.html`, async (target, out) => {
outputPath: out.full, outputPath: out.full,
outputDataPath: `${out.dir}/${out.name}.data.json` outputDataPath: `${out.dir}/${out.name}.data.json`
}); });
await node(`utility/amend-readme/index`, { await amendReadmeFor("README.md", cm, cmi, cmo);
await amendReadmeFor("doc/stylistic-sets.md", cm, cmi, cmo);
await amendReadmeFor("doc/character-variants.md", cm, cmi, cmo);
await amendReadmeFor("doc/custom-build.md", cm, cmi, cmo);
await amendReadmeFor("doc/language-specific-ligation-sets.md", cm, cmi, cmo);
});
async function amendReadmeFor(md, cm, cmi, cmo) {
return node(`utility/amend-readme/index`, {
mdFilePath: md,
charMapPath: cm.full, charMapPath: cm.full,
charMapItalicPath: cmi.full, charMapItalicPath: cmi.full,
charMapObliquePath: cmo.full charMapObliquePath: cmo.full
}); });
}); }
const SnapShotStatic = file.make( const SnapShotStatic = file.make(
x => `${SNAPSHOT_TMP}/${x}`, x => `${SNAPSHOT_TMP}/${x}`,
async (target, out) => { async (target, out) => {