From 5075c9e72d52949982a90b0bcae2b1927ae0a46f Mon Sep 17 00:00:00 2001 From: Sergey Konstantinov Date: Fri, 6 Nov 2020 17:34:48 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B5=D0=BA=D1=82=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B7=D0=B1=D0=B8=D1=82=20=D0=BD=D0=B0=20=D0=BE=D1=82?= =?UTF-8?q?=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B5=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB=D1=8B,=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=81=D0=B1=D0=BE=D1=80=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build_html.js | 43 +- dist/API.ru.html | 143 ++---- dist/API.ru.pdf | Bin 332459 -> 281693 bytes src/API.ru.md | 467 ------------------ src/ru/clean-copy/01-Введение/01.md | 13 + src/ru/clean-copy/01-Введение/02.md | 23 + src/ru/clean-copy/01-Введение/03.md | 17 + src/ru/clean-copy/01-Введение/04.md | 13 + src/ru/clean-copy/01-Введение/05.md | 10 + src/ru/clean-copy/01-Введение/06.md | 7 + .../clean-copy/02-I. Проектирование API/01.md | 13 + .../clean-copy/02-I. Проектирование API/02.md | 54 ++ .../clean-copy/02-I. Проектирование API/03.md | 137 +++++ .../clean-copy/02-I. Проектирование API/04.md | 68 +++ .../clean-copy/02-I. Проектирование API/05.md | 53 ++ src/ru/clean-copy/intro.md | 5 + src/ru/drafts/API.ru.md | 78 +++ src/style.css | 8 +- 18 files changed, 580 insertions(+), 572 deletions(-) delete mode 100644 src/API.ru.md create mode 100644 src/ru/clean-copy/01-Введение/01.md create mode 100644 src/ru/clean-copy/01-Введение/02.md create mode 100644 src/ru/clean-copy/01-Введение/03.md create mode 100644 src/ru/clean-copy/01-Введение/04.md create mode 100644 src/ru/clean-copy/01-Введение/05.md create mode 100644 src/ru/clean-copy/01-Введение/06.md create mode 100644 src/ru/clean-copy/02-I. Проектирование API/01.md create mode 100644 src/ru/clean-copy/02-I. Проектирование API/02.md create mode 100644 src/ru/clean-copy/02-I. Проектирование API/03.md create mode 100644 src/ru/clean-copy/02-I. Проектирование API/04.md create mode 100644 src/ru/clean-copy/02-I. Проектирование API/05.md create mode 100644 src/ru/clean-copy/intro.md create mode 100644 src/ru/drafts/API.ru.md diff --git a/build_html.js b/build_html.js index 27844d3..da688d0 100644 --- a/build_html.js +++ b/build_html.js @@ -1,9 +1,44 @@ const fs = require('fs'); const mdHtml = new (require('showdown').Converter)(); -const md = fs.readFileSync('./src/API.ru.md', 'utf-8'); -const html = `Сергей Константинов. API -
${mdHtml.makeHtml(md)}
-`; +const md = getParts({ + path: './src/ru/clean-copy/', + l10n: { + chapter: 'Глава' + } +}).join('\n\n'); +const html = ` + + Сергей Константинов. API + + + +
${mdHtml.makeHtml(md)}
+`; + +function getParts ({ path, l10n: { chapter }}) { + const parts = [ + fs.readFileSync(`${path}intro.md`, 'utf-8') + ]; + let counter = 1; + fs.readdirSync(path) + .filter((p) => fs.statSync(`${path}${p}`).isDirectory()) + .sort() + .forEach((dir) => { + const name = dir.split('-')[1]; + parts.push(`## ${name}`); + + const subdir = `${path}${dir}/`; + fs.readdirSync(subdir) + .filter((p) => fs.statSync(`${subdir}${p}`).isFile() && p.indexOf('.md') == p.length - 3) + .sort() + .forEach((file) => { + const md = fs.readFileSync(`${subdir}${file}`, 'utf-8'); + parts.push(md.trim().replace(/$### /, `### ${chapter} ${counter++}. `)); + }); + }); + + return parts; +} process.stdout.write(html); \ No newline at end of file diff --git a/dist/API.ru.html b/dist/API.ru.html index 6aedbbd..b6d93aa 100644 --- a/dist/API.ru.html +++ b/dist/API.ru.html @@ -6,7 +6,7 @@