mirror of
https://github.com/twirl/The-API-Book.git
synced 2025-04-23 11:07:53 +02:00
fresh build
This commit is contained in:
parent
c288eaef14
commit
ab9ba33dee
16
build.mjs
16
build.mjs
@ -1,7 +1,12 @@
|
|||||||
import { resolve as pathResolve } from 'path';
|
import { resolve as pathResolve } from 'path';
|
||||||
import templates from './src/templates.js';
|
import templates from './src/templates.js';
|
||||||
import { init, plugins } from '@twirl/book-builder';
|
import { init, plugins } from '@twirl/book-builder';
|
||||||
import { readFileSync, writeFileSync } from 'fs';
|
import { readFileSync, writeFileSync, readdirSync, unlinkSync } from 'fs';
|
||||||
|
|
||||||
|
if (process.argv[2] == '--clean') {
|
||||||
|
clean();
|
||||||
|
process.exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
const l10n = {
|
const l10n = {
|
||||||
en: JSON.parse(readFileSync('./src/en/l10n.json', 'utf-8')),
|
en: JSON.parse(readFileSync('./src/en/l10n.json', 'utf-8')),
|
||||||
@ -97,3 +102,12 @@ langsToBuild.forEach((lang) => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function clean() {
|
||||||
|
const tmpDir = pathResolve('.', '.tmp');
|
||||||
|
const files = readdirSync(tmpDir);
|
||||||
|
for (const fileName of files) {
|
||||||
|
const file = pathResolve(tmpDir, fileName);
|
||||||
|
unlinkSync(file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
BIN
docs/API.en.epub
BIN
docs/API.en.epub
Binary file not shown.
File diff suppressed because one or more lines are too long
BIN
docs/API.en.pdf
BIN
docs/API.en.pdf
Binary file not shown.
BIN
docs/API.ru.epub
BIN
docs/API.ru.epub
Binary file not shown.
File diff suppressed because one or more lines are too long
BIN
docs/API.ru.pdf
BIN
docs/API.ru.pdf
Binary file not shown.
@ -10,7 +10,7 @@
|
|||||||
</title>
|
</title>
|
||||||
<meta
|
<meta
|
||||||
name="description"
|
name="description"
|
||||||
content="API-first development is one of the hottest technical topics nowadays since many companies started to realize that API serves as a multiplicator to their opportunities—but it also amplifies the design mistakes as well. This book is written to share the expertise and describe the best practices in designing and developing APIs. It comprises six sections dedicated to: the API design, API patterns, maintaining backward compatibility, HTTP API & REST, SDK and UI libraries, API product management."
|
content="API-first development is one of the hottest technical topics nowadays since many companies have started to realize that APIs serves as a multiplier to their opportunities — but it amplifies the design mistakes as well. This book is written to share expertise and describe best practices in designing and developing APIs. It comprises six sections dedicated to the following topics: the API design, API patterns, maintaining backward compatibility, HTTP API & REST, SDK and UI libraries, API product management."
|
||||||
/>
|
/>
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<meta
|
<meta
|
||||||
@ -19,7 +19,7 @@
|
|||||||
/>
|
/>
|
||||||
<meta
|
<meta
|
||||||
property="og:description"
|
property="og:description"
|
||||||
content="API-first development is one of the hottest technical topics nowadays since many companies started to realize that API serves as a multiplicator to their opportunities—but it also amplifies the design mistakes as well. This book is written to share the expertise and describe the best practices in designing and developing APIs. It comprises six sections dedicated to: the API design, API patterns, maintaining backward compatibility, HTTP API & REST, SDK and UI libraries, API product management."
|
content="API-first development is one of the hottest technical topics nowadays since many companies have started to realize that APIs serves as a multiplier to their opportunities — but it amplifies the design mistakes as well. This book is written to share expertise and describe best practices in designing and developing APIs. It comprises six sections dedicated to the following topics: the API design, API patterns, maintaining backward compatibility, HTTP API & REST, SDK and UI libraries, API product management."
|
||||||
/>
|
/>
|
||||||
<meta property="og:image" content="assets/header.png" />
|
<meta property="og:image" content="assets/header.png" />
|
||||||
<meta
|
<meta
|
||||||
@ -42,8 +42,8 @@
|
|||||||
<br />Support this work on <a class="patreon" href="https://www.patreon.com/yatwirl">Patreon</a> · <a class="kindle" href="https://www.amazon.com/gp/product/B09RHH44S5/ref=dbs_a_def_rwt_hsch_vapi_tkin_p1_i0">buy Kindle version [1st edition]</a>
|
<br />Support this work on <a class="patreon" href="https://www.patreon.com/yatwirl">Patreon</a> · <a class="kindle" href="https://www.amazon.com/gp/product/B09RHH44S5/ref=dbs_a_def_rwt_hsch_vapi_tkin_p1_i0">buy Kindle version [1st edition]</a>
|
||||||
<br />Share: <a class="share share-facebook" href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Ftwirl.github.io%2FThe-API-Book%2F" target="_blank"></a> · <a class="share share-twitter" href="https://twitter.com/intent/tweet?text=The%20API%20by%20Sergey%20Konstantinov%20%E2%80%94%20a%20book%20about%20designing%20APIs%2C%20extending%20them%20and%20finding%20a%20proper%20place%20in%20the%20market&url=https%3A%2F%2Ftwirl.github.io%2FThe-API-Book%2F&hashtags=API%2CTheAPIBook&via=blogovodoved" target="_blank"></a> · <a class="share share-linkedin" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Ftwirl.github.io%2FThe-API-Book%2F" target="_blank"></a> · <a class="share share-reddit" href="http://www.reddit.com/submit?url=https%3A%2F%2Ftwirl.github.io%2FThe-API-Book%2F&title=The%20API%20by%20Sergey%20Konstantinov%20%E2%80%94%20a%20book%20about%20designing%20APIs%2C%20extending%20them%20and%20finding%20a%20proper%20place%20in%20the%20market" target="_blank"></a><br/>⚙️⚙️⚙️
|
<br />Share: <a class="share share-facebook" href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Ftwirl.github.io%2FThe-API-Book%2F" target="_blank"></a> · <a class="share share-twitter" href="https://twitter.com/intent/tweet?text=The%20API%20by%20Sergey%20Konstantinov%20%E2%80%94%20a%20book%20about%20designing%20APIs%2C%20extending%20them%20and%20finding%20a%20proper%20place%20in%20the%20market&url=https%3A%2F%2Ftwirl.github.io%2FThe-API-Book%2F&hashtags=API%2CTheAPIBook&via=blogovodoved" target="_blank"></a> · <a class="share share-linkedin" href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Ftwirl.github.io%2FThe-API-Book%2F" target="_blank"></a> · <a class="share share-reddit" href="http://www.reddit.com/submit?url=https%3A%2F%2Ftwirl.github.io%2FThe-API-Book%2F&title=The%20API%20by%20Sergey%20Konstantinov%20%E2%80%94%20a%20book%20about%20designing%20APIs%2C%20extending%20them%20and%20finding%20a%20proper%20place%20in%20the%20market" target="_blank"></a><br/>⚙️⚙️⚙️
|
||||||
</nav>
|
</nav>
|
||||||
<p>API-first development is one of the hottest technical topics nowadays since many companies started to realize that API serves as a multiplicator to their opportunities—but it also amplifies the design mistakes as well.</p>
|
<p>API-first development is one of the hottest technical topics nowadays since many companies have started to realize that APIs serves as a multiplier to their opportunities — but it amplifies the design mistakes as well.</p>
|
||||||
<p>This book is written to share the expertise and describe the best practices in designing and developing APIs. It comprises six sections dedicated to:</p>
|
<p>This book is written to share expertise and describe best practices in designing and developing APIs. It comprises six sections dedicated to the following topics:</p>
|
||||||
<ul><li>— The API design</li>
|
<ul><li>— The API design</li>
|
||||||
<li>— API patterns</li>
|
<li>— API patterns</li>
|
||||||
<li>— Backward compatibility</li>
|
<li>— Backward compatibility</li>
|
||||||
@ -79,7 +79,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<h4><a href="API.en.html#section-3">[Work in Progress] Section II. The API Patterns</a></h4>
|
<h4><a href="API.en.html#section-3">Section II. The API Patterns</a></h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="API.en.html#api-patterns-context">Chapter 15. On Design Patterns in the API Context</a></li>
|
<li><a href="API.en.html#api-patterns-context">Chapter 15. On Design Patterns in the API Context</a></li>
|
||||||
<li><a href="API.en.html#api-patterns-aa">Chapter 16. Authenticating Partners and Authorizing API Calls</a></li>
|
<li><a href="API.en.html#api-patterns-aa">Chapter 16. Authenticating Partners and Authorizing API Calls</a></li>
|
||||||
@ -159,9 +159,9 @@
|
|||||||
<section class="about-me">
|
<section class="about-me">
|
||||||
<aside><img src="https://konstantinov.cc/static/me.png"/><br/>Photo by <a href="http://linkedin.com/in/zloylos/">Denis Hananein</a></aside>
|
<aside><img src="https://konstantinov.cc/static/me.png"/><br/>Photo by <a href="http://linkedin.com/in/zloylos/">Denis Hananein</a></aside>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<p>Sergey Konstantinov has been working with APIs for more than a decade. He started his career as a software engineer in the Maps API division at Yandex and eventually became the head of the service, being responsible for both technical architecture and product management.</p>
|
<p>Sergey Konstantinov has been working with APIs for over a decade. He began his career as a software engineer in the Maps API division at Yandex and eventually became the head of the service. In this role, he was responsible for both technical architecture and product management.</p>
|
||||||
<p>During this tenure, Sergey got a unique experience in building world-class APIs with a daily audience of tens of millions, planning roadmaps for such a service, and giving numerous public speeches. He also worked for a year and a half as a member of the W3C Technical Architecture Group.</p>
|
<p>During this tenure, Sergey gained unique experience in building world-class APIs with a daily audience of tens of millions, planning roadmaps for such a service, and delivering numerous public speeches. Additionaly, he served as a member of the W3C Technical Architecture Group for a year and a half.</p>
|
||||||
<p>After nine years in Maps, Sergey switched to technical-lead roles in other departments and companies, leading integration efforts and being responsible for the technical architecture of entire business units. Today, Sergey lives in Tallinn, Estonia, and works as a staff software engineer at Bolt.</p></div>
|
<p>After being nine years in Maps, Sergey transitioned to technical lead roles in other departments and companies. In these positions, he led integration efforts and was responsible for the technical architecture of entire business units. Currently, Sergey resides in Tallinn, Estonia, and works as a staff software engineer at Bolt.</p></div>
|
||||||
</section>
|
</section>
|
||||||
<p>Книгу «API» можно <a href="index.ru.html">читать по-русски</a>.</p>
|
<p>Книгу «API» можно <a href="index.ru.html">читать по-русски</a>.</p>
|
||||||
</body>
|
</body>
|
||||||
|
@ -79,7 +79,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<h4><a href="API.ru.html#section-3">[В разработке] Раздел II. Паттерны дизайна API</a></h4>
|
<h4><a href="API.ru.html#section-3">Раздел II. Паттерны дизайна API</a></h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="API.ru.html#chapter-15">Глава 15. О паттернах проектирования в контексте API</a></li>
|
<li><a href="API.ru.html#chapter-15">Глава 15. О паттернах проектирования в контексте API</a></li>
|
||||||
<li><a href="API.ru.html#api-patterns-aa">Глава 16. Аутентификация партнёров и авторизация вызовов API</a></li>
|
<li><a href="API.ru.html#api-patterns-aa">Глава 16. Аутентификация партнёров и авторизация вызовов API</a></li>
|
||||||
|
@ -14,6 +14,6 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "node build.mjs",
|
"build": "node build.mjs",
|
||||||
"build-v1": "node build-v1.mjs",
|
"build-v1": "node build-v1.mjs",
|
||||||
"build:watch": "nodemon -e md,js,mjs,css,json --exec npm run build ru html"
|
"build-clean": "node build.mjs --clean"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
"author": "Sergey Konstantinov",
|
"author": "Sergey Konstantinov",
|
||||||
"chapter": "Chapter",
|
"chapter": "Chapter",
|
||||||
"toc": "Table of Contents",
|
"toc": "Table of Contents",
|
||||||
"description": "API-first development is one of the hottest technical topics nowadays since many companies started to realize that API serves as a multiplicator to their opportunities—but it also amplifies the design mistakes as well. This book is written to share the expertise and describe the best practices in designing and developing APIs. It comprises six sections dedicated to: the API design, API patterns, maintaining backward compatibility, HTTP API & REST, SDK and UI libraries, API product management.",
|
"description": "API-first development is one of the hottest technical topics nowadays since many companies have started to realize that APIs serves as a multiplier to their opportunities — but it amplifies the design mistakes as well. This book is written to share expertise and describe best practices in designing and developing APIs. It comprises six sections dedicated to the following topics: the API design, API patterns, maintaining backward compatibility, HTTP API & REST, SDK and UI libraries, API product management.",
|
||||||
"publisher": "Sergey Konstantinov",
|
"publisher": "Sergey Konstantinov",
|
||||||
"copyright": "© Sergey Konstantinov, 2023",
|
"copyright": "© Sergey Konstantinov, 2023",
|
||||||
"locale": "en_US",
|
"locale": "en_US",
|
||||||
@ -11,9 +11,9 @@
|
|||||||
"aboutMe": {
|
"aboutMe": {
|
||||||
"title": "About the Author",
|
"title": "About the Author",
|
||||||
"content": [
|
"content": [
|
||||||
"<p>Sergey Konstantinov has been working with APIs for more than a decade. He started his career as a software engineer in the Maps API division at Yandex and eventually became the head of the service, being responsible for both technical architecture and product management.</p>",
|
"<p>Sergey Konstantinov has been working with APIs for over a decade. He began his career as a software engineer in the Maps API division at Yandex and eventually became the head of the service. In this role, he was responsible for both technical architecture and product management.</p>",
|
||||||
"<p>During this tenure, Sergey got a unique experience in building world-class APIs with a daily audience of tens of millions, planning roadmaps for such a service, and giving numerous public speeches. He also worked for a year and a half as a member of the W3C Technical Architecture Group.</p>",
|
"<p>During this tenure, Sergey gained unique experience in building world-class APIs with a daily audience of tens of millions, planning roadmaps for such a service, and delivering numerous public speeches. Additionaly, he served as a member of the W3C Technical Architecture Group for a year and a half.</p>",
|
||||||
"<p>After nine years in Maps, Sergey switched to technical-lead roles in other departments and companies, leading integration efforts and being responsible for the technical architecture of entire business units. Today, Sergey lives in Tallinn, Estonia, and works as a staff software engineer at Bolt.</p>"
|
"<p>After being nine years in Maps, Sergey transitioned to technical lead roles in other departments and companies. In these positions, he led integration efforts and was responsible for the technical architecture of entire business units. Currently, Sergey resides in Tallinn, Estonia, and works as a staff software engineer at Bolt.</p>"
|
||||||
],
|
],
|
||||||
"imageCredit": "Photo by <a href=\"http://linkedin.com/in/zloylos/\">Denis Hananein</a>"
|
"imageCredit": "Photo by <a href=\"http://linkedin.com/in/zloylos/\">Denis Hananein</a>"
|
||||||
},
|
},
|
||||||
@ -72,8 +72,8 @@
|
|||||||
"title": "The API",
|
"title": "The API",
|
||||||
"pageTitle": "Front Page",
|
"pageTitle": "Front Page",
|
||||||
"contents": [
|
"contents": [
|
||||||
"<p>API-first development is one of the hottest technical topics nowadays since many companies started to realize that API serves as a multiplicator to their opportunities—but it also amplifies the design mistakes as well.</p>",
|
"<p>API-first development is one of the hottest technical topics nowadays since many companies have started to realize that APIs serves as a multiplier to their opportunities — but it amplifies the design mistakes as well.</p>",
|
||||||
"<p>This book is written to share the expertise and describe the best practices in designing and developing APIs. It comprises six sections dedicated to:</p>",
|
"<p>This book is written to share expertise and describe best practices in designing and developing APIs. It comprises six sections dedicated to the following topics:</p>",
|
||||||
"<ul><li>The API design</li>",
|
"<ul><li>The API design</li>",
|
||||||
"<li>API patterns</li>",
|
"<li>API patterns</li>",
|
||||||
"<li>Backward compatibility</li>",
|
"<li>Backward compatibility</li>",
|
||||||
@ -94,8 +94,8 @@
|
|||||||
"supportThisWork": "Support this work on",
|
"supportThisWork": "Support this work on",
|
||||||
"support": ["patreon", "kindle"],
|
"support": ["patreon", "kindle"],
|
||||||
"content": [
|
"content": [
|
||||||
"<p>API-first development is one of the hottest technical topics nowadays since many companies started to realize that API serves as a multiplicator to their opportunities—but it also amplifies the design mistakes as well.</p>",
|
"<p>API-first development is one of the hottest technical topics nowadays since many companies have started to realize that APIs serves as a multiplier to their opportunities — but it amplifies the design mistakes as well.</p>",
|
||||||
"<p>This book is written to share the expertise and describe the best practices in designing and developing APIs. It comprises six sections dedicated to:</p>",
|
"<p>This book is written to share expertise and describe best practices in designing and developing APIs. It comprises six sections dedicated to the following topics:</p>",
|
||||||
"<ul><li>— The API design</li>",
|
"<ul><li>— The API design</li>",
|
||||||
"<li>— API patterns</li>",
|
"<li>— API patterns</li>",
|
||||||
"<li>— Backward compatibility</li>",
|
"<li>— Backward compatibility</li>",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user