27 Commits

Author SHA1 Message Date
e8ffcd8286 Update 2023-10-25 21:05:39 +09:00
ea24ce76d3 FIX 2023-10-25 20:59:56 +09:00
682ea769c1 Fix 2023-10-25 20:57:15 +09:00
496c22974d Some style fixes 2023-10-25 20:55:58 +09:00
840892daa6 Apply submodules 2023-10-25 18:46:34 +09:00
e98203ddac Update admonition 2023-10-25 18:41:43 +09:00
de0874c866 Delete fonts and Update LICESE file 2023-10-25 16:40:13 +09:00
1ebfc82f78 Update 2023-10-25 16:40:04 +09:00
74bce86804 Close #5 and modified css 2023-10-25 16:39:25 +09:00
7665da5c08 FIX path 2023-10-25 13:43:09 +09:00
630ba71c8f FIX? 2023-10-25 06:05:17 +09:00
ac7e50b940 FIX 2023-10-25 06:05:03 +09:00
5c2ff7aaee Add pdfs fonts 2023-10-25 05:56:25 +09:00
64a5e34538 Additional fix for #3 2023-10-25 05:55:55 +09:00
8a459a7664 Fix some odd Japanese sentences 2023-10-18 01:18:23 +09:00
0c13b9c9d2 Fix; Close #3 2023-10-18 01:18:05 +09:00
0abaa06495 FIX english to japanese 2023-10-17 09:24:53 +09:00
ab21c78fbf FIX 2023-10-17 09:15:10 +09:00
b8d771d69c Add LICENSE information to the book 2023-10-17 09:13:09 +09:00
2eabc3b865 Update 2023-10-17 08:30:31 +09:00
fe4eb154fa FIX 2023-10-15 18:34:15 +09:00
176a981c5d Change webpages' font 2023-10-15 18:33:43 +09:00
81334737ba Restore 2023-10-15 18:33:43 +09:00
09e937a350 Move to 2023-10-15 18:33:42 +09:00
5723942055 Move to 2023-10-15 18:33:42 +09:00
8acb8f9b2f Upload Google Search console 2023-10-15 01:05:38 +00:00
786b104380 Update .gitignore 2023-10-15 01:04:13 +00:00
24 changed files with 891 additions and 70 deletions

5
.dockerignore Normal file
View File

@ -0,0 +1,5 @@
node_modules
_book
target
EXTERNAL_LICENSE_REPORT.md
.pnpm-store

2
.gitignore vendored
View File

@ -1,3 +1,5 @@
node_modules
_book
target
EXTERNAL_LICENSE_REPORT.md
.pnpm-store

View File

@ -5,6 +5,7 @@ stages:
variables:
PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/devlifefrommodernway/${CI_COMMIT_TAG}"
GIT_SUBMODULE_STRATEGY: recursive
upload:
stage: upload
@ -27,9 +28,13 @@ release:
--assets-link "{\"name\":\"book.epub\", \"url\":\"${PACKAGE_REGISTRY_URL}/book-${CI_COMMIT_TAG}.epub\"}"
--assets-link "{\"name\":\"book.mobi\", \"url\":\"${PACKAGE_REGISTRY_URL}/book-${CI_COMMIT_TAG}.mobi\"}"
image: node:lts-bullseye
pages:
stage: build
image: docker:24.0.5
services:
- docker:24.0.5-dind
before_script:
- docker info
cache:
key:
files:
@ -37,21 +42,8 @@ pages:
paths:
- node_modules/
script:
- apt-get update && apt-get install -y calibre --no-install-recommends
- apt-get update && apt-get install -y fontconfig unzip sudo
- unzip "./fonts/*.zip" -d /usr/share/fonts/
&& fc-cache -fv
- mkdir -p /etc/fonts/conf.d &&
cp -a ./fonts/fonts.conf /etc/fonts/conf.d/99-firgenerd.conf &&
fc-cache -fv
- sudo corepack enable
- sudo -u node pnpm install
- sudo -u node env LANG=ja_JP.UTF-8 pnpm run build
- docker build -t devlifefrommodernway .
- docker run -v ./:/build devlifefrommodernway
- cp -a _book/. public/
artifacts:
paths:

24
Dockerfile Normal file
View File

@ -0,0 +1,24 @@
FROM node:lts-bullseye
WORKDIR /build
RUN apt-get update && apt-get install -y calibre --no-install-recommends
RUN apt-get update && apt-get install -y fontconfig unzip sudo
COPY ./fonts /build/fonts
RUN unzip "./fonts/*.zip" -d /usr/share/fonts/ && fc-cache -fv
RUN mkdir -p /etc/fonts/conf.d && \
cp -a ./fonts/fonts.conf /etc/fonts/conf.d/99-firgenerd.conf && fc-cache -fv
RUN sudo corepack enable
ENV LANG=ja_JP.UTF-8
USER node
ENTRYPOINT exec sh -c "pnpm install && pnpm run build"

View File

@ -7,9 +7,14 @@
"anchors",
"collapsible-chapters",
"hide-published-with",
"hints",
"search-pro-fixed"
"search-pro-fixed",
"image-captions",
"copy-code-button",
"obsidian-code-admonition",
"-highlight",
"prism"
],
"pdf.fontFamily": "FirgeNerd",
"pdf.fontSize": 16,
"pdf.paperSize": "a4",
"pdf.embedFonts": true

BIN
fonts/M_PLUS_1p.zip (Stored with Git LFS)

Binary file not shown.

BIN
fonts/Zen_Maru_Gothic.zip (Stored with Git LFS)

Binary file not shown.

7
licese-report.json Normal file
View File

@ -0,0 +1,7 @@
{
"fields": [
"name",
"author",
"link"
]
}

View File

@ -2,23 +2,28 @@
"name": "devlifefrommodernway",
"private": true,
"scripts": {
"watch": "run-p watch:web",
"watch": "run-s license && run-p watch:web",
"watch:web": "honkit serve",
"build": "run-s build:content",
"build:content": "run-p build:content:*",
"build:content": "run-s license && run-p build:content:*",
"build:content:web": "honkit build",
"build:content:pdf": "mkdir -p ./target/ && honkit pdf . ./target/book.pdf",
"build:content:epub": "mkdir -p ./target/ && honkit epub . ./target/book.epub",
"build:content:mobi": "mkdir -p ./target/ && honkit mobi . ./target/book.mobi"
"build:content:mobi": "mkdir -p ./target/ && honkit mobi . ./target/book.mobi",
"license": "license-report --output=markdown --config ./licese-report.json > src/EXTERNAL_LICENSE_REPORT.md"
},
"devDependencies": {
"gitbook-plugin-anchors": "^0.7.1",
"gitbook-plugin-collapsible-chapters": "^0.1.8",
"gitbook-plugin-copy-code-button": "^0.0.2",
"gitbook-plugin-hide-published-with": "^0.0.1",
"gitbook-plugin-hints": "^1.0.2",
"gitbook-plugin-obsidian-code-admonition": "git+https://github.com/anosatsuk124/gitbook-plugin-obsidian-code-admonition",
"gitbook-plugin-search-pro-fixed": "^1.0.1",
"graceful-fs": "^4.2.11",
"honkit": "^5.1.1",
"honkit-plugin-image-captions": "^3.1.1",
"honkit-plugin-prism": "^2.5.1",
"license-report": "^6.5.0",
"npm-run-all": "^4.1.5"
}
}

533
pnpm-lock.yaml generated
View File

@ -11,12 +11,15 @@ devDependencies:
gitbook-plugin-collapsible-chapters:
specifier: ^0.1.8
version: 0.1.8
gitbook-plugin-copy-code-button:
specifier: ^0.0.2
version: 0.0.2
gitbook-plugin-hide-published-with:
specifier: ^0.0.1
version: 0.0.1
gitbook-plugin-hints:
specifier: ^1.0.2
version: 1.0.2
gitbook-plugin-obsidian-code-admonition:
specifier: git+https://github.com/anosatsuk124/gitbook-plugin-obsidian-code-admonition
version: github.com/anosatsuk124/gitbook-plugin-obsidian-code-admonition/a8f0c6189cf5d9ba8ac5cdebbe5646a59972f573
gitbook-plugin-search-pro-fixed:
specifier: ^1.0.1
version: 1.0.1
@ -26,6 +29,15 @@ devDependencies:
honkit:
specifier: ^5.1.1
version: 5.1.1
honkit-plugin-image-captions:
specifier: ^3.1.1
version: 3.1.1
honkit-plugin-prism:
specifier: ^2.5.1
version: 2.5.1
license-report:
specifier: ^6.5.0
version: 6.5.0
npm-run-all:
specifier: ^4.1.5
version: 4.1.5
@ -87,6 +99,26 @@ packages:
lodash: 4.17.21
dev: true
/@kessler/tableify@1.0.2:
resolution: {integrity: sha512-e4psVV9Fe2eBfS9xK2rzQ9lE5xS4tARm7EJzDb6sVZy3F+EMyHJ67i0NdBVR9BRyQx7YhogMCbB6R1QwXuBxMg==}
dev: true
/@sindresorhus/is@5.6.0:
resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==}
engines: {node: '>=14.16'}
dev: true
/@szmarczak/http-timer@5.0.1:
resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==}
engines: {node: '>=14.16'}
dependencies:
defer-to-connect: 2.0.1
dev: true
/@types/http-cache-semantics@4.0.2:
resolution: {integrity: sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw==}
dev: true
/a-sync-waterfall@1.0.1:
resolution: {integrity: sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==}
dev: true
@ -234,6 +266,24 @@ packages:
resolution: {integrity: sha512-/x68VkHLeTl3/Ll8IvxdwzhrT+IyKc52e/oyHhA2RwqPqswSnjVbSddfPRwAsJtbilMAPSRWwAlpxdYsSWOTKQ==}
dev: true
/cacheable-lookup@7.0.0:
resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==}
engines: {node: '>=14.16'}
dev: true
/cacheable-request@10.2.14:
resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==}
engines: {node: '>=14.16'}
dependencies:
'@types/http-cache-semantics': 4.0.2
get-stream: 6.0.1
http-cache-semantics: 4.1.1
keyv: 4.5.4
mimic-response: 4.0.0
normalize-url: 8.0.0
responselike: 3.0.0
dev: true
/call-bind@1.0.2:
resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
dependencies:
@ -271,6 +321,39 @@ packages:
domutils: 3.1.0
dev: true
/cheerio@0.19.0:
resolution: {integrity: sha512-Fwcm3zkR37STnPC8FepSHeSYJM5Rd596TZOcfDUdojR4Q735aK1Xn+M+ISagNneuCwMjK28w4kX+ETILGNT/UQ==}
engines: {node: '>= 0.6'}
dependencies:
css-select: 1.0.0
dom-serializer: 0.1.1
entities: 1.1.2
htmlparser2: 3.8.3
lodash: 3.10.1
dev: true
/cheerio@0.22.0:
resolution: {integrity: sha512-8/MzidM6G/TgRelkzDG13y3Y9LxBjCb+8yOEZ9+wwq5gVF2w2pV0wmHvjfT0RvuxGyR7UEuK36r+yYMbT4uKgA==}
engines: {node: '>= 0.6'}
dependencies:
css-select: 1.2.0
dom-serializer: 0.1.1
entities: 1.1.2
htmlparser2: 3.10.1
lodash.assignin: 4.2.0
lodash.bind: 4.2.1
lodash.defaults: 4.2.0
lodash.filter: 4.6.0
lodash.flatten: 4.4.0
lodash.foreach: 4.5.0
lodash.map: 4.6.0
lodash.merge: 4.6.2
lodash.pick: 4.4.0
lodash.reduce: 4.6.0
lodash.reject: 4.6.0
lodash.some: 4.6.0
dev: true
/cheerio@1.0.0-rc.10:
resolution: {integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==}
engines: {node: '>= 6'}
@ -359,6 +442,10 @@ packages:
resolution: {integrity: sha512-TF30kpKhTH8AGCG3dut0rdd/19B7Z+qCnrMoBLpyQu/2drZdNrrpcjPEoJeSVsQM+8KmWG5O56oPDjSSUsuTyA==}
dev: true
/core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
dev: true
/cp@0.2.0:
resolution: {integrity: sha512-4ftCvShHjIZG/zzomHyunNpBof3sOFTTmU6s6q9DdqAL/ANqrKV3pr6Z6kVfBI4hjn59DFLImrBqn7GuuMqSZA==}
dev: true
@ -390,6 +477,24 @@ packages:
which: 1.3.1
dev: true
/css-select@1.0.0:
resolution: {integrity: sha512-/xPlD7betkfd7ChGkLGGWx5HWyiHDOSn7aACLzdH0nwucPvB0EAm8hMBm7Xn7vGfAeRRN7KZ8wumGm8NoNcMRw==}
dependencies:
boolbase: 1.0.0
css-what: 1.0.0
domutils: 1.4.3
nth-check: 1.0.2
dev: true
/css-select@1.2.0:
resolution: {integrity: sha512-dUQOBoqdR7QwV90WysXPLXG5LO7nhYBgiWVfxF80DKPF8zx1t/pUd2FYy73emg3zrjtM6dzmYgbHKfV2rxiHQA==}
dependencies:
boolbase: 1.0.0
css-what: 2.1.3
domutils: 1.5.1
nth-check: 1.0.2
dev: true
/css-select@4.3.0:
resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
dependencies:
@ -410,6 +515,14 @@ packages:
nth-check: 2.1.1
dev: true
/css-what@1.0.0:
resolution: {integrity: sha512-60SUMPBreXrLXgvpM8kYpO0AOyMRhdRlXFX5BMQbZq1SIJCyNE56nqFQhmvREQdUJpedbGRYZ5wOyq3/F6q5Zw==}
dev: true
/css-what@2.1.3:
resolution: {integrity: sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==}
dev: true
/css-what@6.1.0:
resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
engines: {node: '>= 6'}
@ -437,6 +550,35 @@ packages:
ms: 2.1.3
dev: true
/debug@4.3.4:
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
supports-color:
optional: true
dependencies:
ms: 2.1.2
dev: true
/decompress-response@6.0.0:
resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
engines: {node: '>=10'}
dependencies:
mimic-response: 3.1.0
dev: true
/deep-extend@0.6.0:
resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
engines: {node: '>=4.0.0'}
dev: true
/defer-to-connect@2.0.1:
resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==}
engines: {node: '>=10'}
dev: true
/define-data-property@1.1.1:
resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==}
engines: {node: '>= 0.4'}
@ -505,6 +647,18 @@ packages:
resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
dev: true
/domhandler@2.3.0:
resolution: {integrity: sha512-q9bUwjfp7Eif8jWxxxPSykdRZAb6GkguBGSgvvCrhI9wB71W2K/Kvv4E61CF/mcCfnVJDeDWx/Vb/uAqbDj6UQ==}
dependencies:
domelementtype: 1.3.1
dev: true
/domhandler@2.4.2:
resolution: {integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==}
dependencies:
domelementtype: 1.3.1
dev: true
/domhandler@3.3.0:
resolution: {integrity: sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==}
engines: {node: '>= 4'}
@ -526,6 +680,26 @@ packages:
domelementtype: 2.3.0
dev: true
/domutils@1.4.3:
resolution: {integrity: sha512-ZkVgS/PpxjyJMb+S2iVHHEZjVnOUtjGp0/zstqKGTE9lrZtNHlNQmLwP/lhLMEApYbzc08BKMx9IFpKhaSbW1w==}
dependencies:
domelementtype: 1.3.1
dev: true
/domutils@1.5.1:
resolution: {integrity: sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==}
dependencies:
dom-serializer: 0.1.1
domelementtype: 1.3.1
dev: true
/domutils@1.7.0:
resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==}
dependencies:
dom-serializer: 0.1.1
domelementtype: 1.3.1
dev: true
/domutils@2.8.0:
resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
dependencies:
@ -555,6 +729,10 @@ packages:
engines: {node: '>= 0.8'}
dev: true
/entities@1.0.0:
resolution: {integrity: sha512-LbLqfXgJMmy81t+7c14mnulFHJ170cM6E+0vMXR9k/ZiZwgX8i5pNgjTCX3SO4VeUsFLV+8InixoretwU+MjBQ==}
dev: true
/entities@1.1.2:
resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==}
dev: true
@ -568,6 +746,10 @@ packages:
engines: {node: '>=0.12'}
dev: true
/eol@0.9.1:
resolution: {integrity: sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==}
dev: true
/error-ex@1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
dependencies:
@ -716,6 +898,11 @@ packages:
is-callable: 1.2.7
dev: true
/form-data-encoder@2.1.4:
resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==}
engines: {node: '>= 14.17'}
dev: true
/fresh@0.5.2:
resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
engines: {node: '>= 0.6'}
@ -771,6 +958,16 @@ packages:
has-symbols: 1.0.3
dev: true
/get-stdin@5.0.1:
resolution: {integrity: sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==}
engines: {node: '>=0.12.0'}
dev: true
/get-stream@6.0.1:
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
engines: {node: '>=10'}
dev: true
/get-symbol-description@1.0.0:
resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
engines: {node: '>= 0.4'}
@ -783,7 +980,7 @@ packages:
resolution: {integrity: sha512-uA0agz3Z6Rohs9MfI0kTLeYVjhA16DvxsYd5ao5QOLIWePLoU3YdA2aqGGQf0lUsXbdoD/pQi1m6TuCikPH3VQ==}
engines: {gitbook: '>=2.5.0'}
dependencies:
cheerio: 1.0.0-rc.12
cheerio: 0.22.0
github-slugid: 1.0.1
dev: true
@ -792,6 +989,10 @@ packages:
engines: {gitbook: '>=0.4.6'}
dev: true
/gitbook-plugin-copy-code-button@0.0.2:
resolution: {integrity: sha512-47i/0/HQBb9Z7jSkfSkDuwP8vJw6gEpgvI4HTmuKGK4Vqd7mDIE3h/1HgJocLkqtz1/WwDPoU/vNiG/06J4x/Q==}
dev: true
/gitbook-plugin-fontsettings@2.0.0:
resolution: {integrity: sha512-bZpz/Jev7lL1d3VNp41KHZD67UYqyqdOwbsJE6YEW93R2mGiLfZLpUs86d2nrY61BedhlNck1xF52FNT6sWeig==}
engines: {gitbook: '>=2.4.0'}
@ -801,11 +1002,6 @@ packages:
resolution: {integrity: sha512-aa4Dch5lJ1xzNRpLur2P53IOLqyWR+me1wwU9hd90+WoHXqL/N7LM3QHwmfZcDVXmU74AxSbp6xoNf8YLAGxcg==}
dev: true
/gitbook-plugin-hints@1.0.2:
resolution: {integrity: sha512-Zj0ZA38H31TZvhnBvyVjSNIUv30MnhNPcFlAJaAKwenytHY7fNYuOv7x1Hjukk4R4A7HGeCILiCW5a4bXRqWWQ==}
engines: {gitbook: '>2.x.x'}
dev: true
/gitbook-plugin-livereload@0.0.1:
resolution: {integrity: sha512-+5xinicId2ZcbP6jBTFfQBnjz8nhoBgcOuQfKTEM6Yg9fBsmo2mxY6ubrx1b5ozuIMyfDLkSihx97A7+X+EtQQ==}
dev: true
@ -877,6 +1073,23 @@ packages:
get-intrinsic: 1.2.1
dev: true
/got@13.0.0:
resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==}
engines: {node: '>=16'}
dependencies:
'@sindresorhus/is': 5.6.0
'@szmarczak/http-timer': 5.0.1
cacheable-lookup: 7.0.0
cacheable-request: 10.2.14
decompress-response: 6.0.0
form-data-encoder: 2.1.4
get-stream: 6.0.1
http2-wrapper: 2.2.0
lowercase-keys: 3.0.0
p-cancelable: 3.0.0
responselike: 3.0.0
dev: true
/graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
dev: true
@ -923,6 +1136,23 @@ packages:
engines: {node: '>=12.0.0'}
dev: true
/honkit-plugin-image-captions@3.1.1:
resolution: {integrity: sha512-ZkJ+LyIax/EpGymU6pJDVEwOUexhQgClpfsPBFA3e54z7fSLo5CnEyegBpOw2mUz2NXyTrEpmuZ9/M9iuBmZOw==}
engines: {gitbook: '>=3.0.0'}
dependencies:
cheerio: 0.22.0
q: 1.5.1
dev: true
/honkit-plugin-prism@2.5.1:
resolution: {integrity: sha512-tyWb49euUx7We0NptzKNZxICrtjU9qjhfXbpedLIriHJSDyhf3mryoySGvHWJ39AJGTawk5Pzs8puHAXeQDA/g==}
engines: {gitbook: '>=2.4.1'}
dependencies:
cheerio: 0.22.0
mkdirp: 2.1.6
prismjs: 1.29.0
dev: true
/honkit@5.1.1:
resolution: {integrity: sha512-dacSCX0bXL4TF7yT4nQ9ZSTofpFhxrljm4sonrnwxPP1RV36mmQVfFagKfImZvGYxr+HR4wDfVnaSjWExTISWQ==}
hasBin: true
@ -991,6 +1221,27 @@ packages:
engines: {'0': node >= 0.4.0}
dev: true
/htmlparser2@3.10.1:
resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==}
dependencies:
domelementtype: 1.3.1
domhandler: 2.4.2
domutils: 1.7.0
entities: 1.1.2
inherits: 2.0.4
readable-stream: 3.6.2
dev: true
/htmlparser2@3.8.3:
resolution: {integrity: sha512-hBxEg3CYXe+rPIua8ETe7tmG3XDn9B0edOE/e9wH2nLczxzgdu0m0aNHY+5wFZiviLWLdANPJTssa92dMcXQ5Q==}
dependencies:
domelementtype: 1.3.1
domhandler: 2.3.0
domutils: 1.5.1
entities: 1.0.0
readable-stream: 1.1.14
dev: true
/htmlparser2@5.0.1:
resolution: {integrity: sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==}
dependencies:
@ -1018,6 +1269,10 @@ packages:
entities: 4.5.0
dev: true
/http-cache-semantics@4.1.1:
resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
dev: true
/http-errors@1.8.1:
resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==}
engines: {node: '>= 0.6'}
@ -1033,6 +1288,14 @@ packages:
resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==}
dev: true
/http2-wrapper@2.2.0:
resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==}
engines: {node: '>=10.19.0'}
dependencies:
quick-lru: 5.1.1
resolve-alpn: 1.2.1
dev: true
/i18n-t@1.0.1:
resolution: {integrity: sha512-2NmZwpsnRTzpZfIP6Rcic16m5QBNVaIwVyU182+iatd6RNbWmGi74LTA/R/oDa58RZ87bHChLgWpmulEAoEruQ==}
dependencies:
@ -1064,6 +1327,10 @@ packages:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
dev: true
/ini@1.3.8:
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
dev: true
/internal-slot@1.0.5:
resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==}
engines: {node: '>= 0.4'}
@ -1216,6 +1483,10 @@ packages:
resolution: {integrity: sha512-nW24QBoPcFGGHJGUwnfpI7Yc5CdqWNdsyHQszVE/z2pKHXzh7FZ5GWhJqSyaQ9wMkQnsTx+kAI8bHlCX4tKdbg==}
dev: true
/isarray@0.0.1:
resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==}
dev: true
/isarray@2.0.5:
resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
dev: true
@ -1237,6 +1508,10 @@ packages:
esprima: 4.0.1
dev: true
/json-buffer@3.0.1:
resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
dev: true
/json-parse-better-errors@1.0.2:
resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==}
dev: true
@ -1263,11 +1538,35 @@ packages:
- encoding
dev: true
/keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
dependencies:
json-buffer: 3.0.1
dev: true
/kramed@0.5.6:
resolution: {integrity: sha512-V4qwQAp8HPQPU6Ph9Q4bc+P+nKQWEGlWYLRDkK7n+CPaMi8/VRm9/R710tRmag4whLsnKR91CO9Ras/Rnff9bw==}
hasBin: true
dev: true
/license-report@6.5.0:
resolution: {integrity: sha512-e8VbNeBb2UumBaTCciINTmW0MquM9HmSSGskCxFqIPjsypYHWlwoz5k6ydGP1lk5GaYUHBZsN+XoENJ5C9c04A==}
engines: {node: '>=16'}
hasBin: true
dependencies:
'@kessler/tableify': 1.0.2
debug: 4.3.4
eol: 0.9.1
got: 13.0.0
rc: 1.2.8
semver: 7.5.4
tablemark: 3.0.0
text-table: 0.2.0
visit-values: 2.0.0
transitivePeerDependencies:
- supports-color
dev: true
/livereload-js@2.4.0:
resolution: {integrity: sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==}
dev: true
@ -1282,10 +1581,73 @@ packages:
strip-bom: 3.0.0
dev: true
/lodash.assignin@4.2.0:
resolution: {integrity: sha512-yX/rx6d/UTVh7sSVWVSIMjfnz95evAgDFdb1ZozC35I9mSFCkmzptOzevxjgbQUsc78NR44LVHWjsoMQXy9FDg==}
dev: true
/lodash.bind@4.2.1:
resolution: {integrity: sha512-lxdsn7xxlCymgLYo1gGvVrfHmkjDiyqVv62FAeF2i5ta72BipE1SLxw8hPEPLhD4/247Ijw07UQH7Hq/chT5LA==}
dev: true
/lodash.defaults@4.2.0:
resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==}
dev: true
/lodash.filter@4.6.0:
resolution: {integrity: sha512-pXYUy7PR8BCLwX5mgJ/aNtyOvuJTdZAo9EQFUvMIYugqmJxnrYaANvTbgndOzHSCSR0wnlBBfRXJL5SbWxo3FQ==}
dev: true
/lodash.flatten@4.4.0:
resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==}
dev: true
/lodash.foreach@4.5.0:
resolution: {integrity: sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==}
dev: true
/lodash.map@4.6.0:
resolution: {integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==}
dev: true
/lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true
/lodash.pick@4.4.0:
resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==}
dev: true
/lodash.reduce@4.6.0:
resolution: {integrity: sha512-6raRe2vxCYBhpBu+B+TtNGUzah+hQjVdu3E17wfusjyrXBka2nBS8OH/gjVZ5PvHOhWmIZTYri09Z6n/QfnNMw==}
dev: true
/lodash.reject@4.6.0:
resolution: {integrity: sha512-qkTuvgEzYdyhiJBx42YPzPo71R1aEr0z79kAv7Ixg8wPFEjgRgJdUsGMG3Hf3OYSF/kHI79XhNlt+5Ar6OzwxQ==}
dev: true
/lodash.some@4.6.0:
resolution: {integrity: sha512-j7MJE+TuT51q9ggt4fSgVqro163BEFjAt3u97IqU+JA2DkWl80nFTrowzLpZ/BnpN7rrl0JA/593NAdd8p/scQ==}
dev: true
/lodash@3.10.1:
resolution: {integrity: sha512-9mDDwqVIma6OZX79ZlDACZl8sBm0TEnkf99zV3iMA4GzkIT/9hiqP5mY0HoT1iNLCrKc/R1HByV+yJfRWVJryQ==}
dev: true
/lodash@4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
dev: true
/lower-case@2.0.2:
resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
dependencies:
tslib: 2.6.2
dev: true
/lowercase-keys@3.0.0:
resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dev: true
/lru-cache@6.0.0:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
engines: {node: '>=10'}
@ -1326,6 +1688,16 @@ packages:
hasBin: true
dev: true
/mimic-response@3.1.0:
resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
engines: {node: '>=10'}
dev: true
/mimic-response@4.0.0:
resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dev: true
/minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
dependencies:
@ -1349,6 +1721,12 @@ packages:
hasBin: true
dev: true
/mkdirp@2.1.6:
resolution: {integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==}
engines: {node: '>=10'}
hasBin: true
dev: true
/moment@2.29.4:
resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==}
dev: true
@ -1357,6 +1735,10 @@ packages:
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
dev: true
/ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
dev: true
/ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
dev: true
@ -1365,6 +1747,13 @@ packages:
resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
dev: true
/no-case@3.0.4:
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
dependencies:
lower-case: 2.0.2
tslib: 2.6.2
dev: true
/node-fetch@2.7.0:
resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
engines: {node: 4.x || >=6.0.0}
@ -1391,6 +1780,11 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
/normalize-url@8.0.0:
resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==}
engines: {node: '>=14.16'}
dev: true
/npm-run-all@4.1.5:
resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==}
engines: {node: '>= 4'}
@ -1407,6 +1801,12 @@ packages:
string.prototype.padend: 3.1.5
dev: true
/nth-check@1.0.2:
resolution: {integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==}
dependencies:
boolbase: 1.0.0
dev: true
/nth-check@2.1.1:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
dependencies:
@ -1496,6 +1896,11 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
/p-cancelable@3.0.0:
resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==}
engines: {node: '>=12.20'}
dev: true
/parse-json@4.0.0:
resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==}
engines: {node: '>=4'}
@ -1564,6 +1969,11 @@ packages:
engines: {node: '>=4'}
dev: true
/prismjs@1.29.0:
resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
engines: {node: '>=6'}
dev: true
/q@1.5.1:
resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==}
engines: {node: '>=0.6.0', teleport: '>=0.2.0'}
@ -1576,6 +1986,11 @@ packages:
side-channel: 1.0.4
dev: true
/quick-lru@5.1.1:
resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
engines: {node: '>=10'}
dev: true
/range-parser@1.2.1:
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
engines: {node: '>= 0.6'}
@ -1589,6 +2004,16 @@ packages:
string_decoder: 0.10.31
dev: true
/rc@1.2.8:
resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
hasBin: true
dependencies:
deep-extend: 0.6.0
ini: 1.3.8
minimist: 1.2.8
strip-json-comments: 2.0.1
dev: true
/read-pkg@3.0.0:
resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==}
engines: {node: '>=4'}
@ -1598,6 +2023,24 @@ packages:
path-type: 3.0.0
dev: true
/readable-stream@1.1.14:
resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==}
dependencies:
core-util-is: 1.0.3
inherits: 2.0.4
isarray: 0.0.1
string_decoder: 0.10.31
dev: true
/readable-stream@3.6.2:
resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
engines: {node: '>= 6'}
dependencies:
inherits: 2.0.4
string_decoder: 1.3.0
util-deprecate: 1.0.2
dev: true
/readdirp@3.6.0:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
@ -1619,6 +2062,10 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
/resolve-alpn@1.2.1:
resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
dev: true
/resolve@1.22.8:
resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
hasBin: true
@ -1628,6 +2075,13 @@ packages:
supports-preserve-symlinks-flag: 1.0.0
dev: true
/responselike@3.0.0:
resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==}
engines: {node: '>=14.16'}
dependencies:
lowercase-keys: 3.0.0
dev: true
/rimraf@2.6.3:
resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==}
hasBin: true
@ -1702,6 +2156,14 @@ packages:
- supports-color
dev: true
/sentence-case@3.0.4:
resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==}
dependencies:
no-case: 3.0.4
tslib: 2.6.2
upper-case-first: 2.0.2
dev: true
/set-function-name@2.0.1:
resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==}
engines: {node: '>= 0.4'}
@ -1765,6 +2227,14 @@ packages:
resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==}
dev: true
/split-text-to-chunks@1.0.0:
resolution: {integrity: sha512-HLtEwXK/T4l7QZSJ/kOSsZC0o5e2Xg3GzKKFxm0ZexJXw0Bo4CaEl39l7MCSRHk9EOOL5jT8JIDjmhTtcoe6lQ==}
hasBin: true
dependencies:
get-stdin: 5.0.1
minimist: 1.2.8
dev: true
/sprintf-js@1.0.3:
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
dev: true
@ -1825,6 +2295,12 @@ packages:
resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==}
dev: true
/string_decoder@1.3.0:
resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
dependencies:
safe-buffer: 5.2.1
dev: true
/strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
@ -1837,6 +2313,11 @@ packages:
engines: {node: '>=4'}
dev: true
/strip-json-comments@2.0.1:
resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
engines: {node: '>=0.10.0'}
dev: true
/supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
@ -1849,6 +2330,18 @@ packages:
engines: {node: '>= 0.4'}
dev: true
/tablemark@3.0.0:
resolution: {integrity: sha512-7N05gRK7t6B4g8AtedUsKoKtPjplmUjOPr/V4kVB+7U3yGiB3WvKqMTTQzVCZyhfZUXgQFp9YyN9ZgC52uCPKw==}
engines: {node: '>=14.16'}
dependencies:
sentence-case: 3.0.4
split-text-to-chunks: 1.0.0
dev: true
/text-table@0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
dev: true
/tiny-lr@1.1.1:
resolution: {integrity: sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==}
dependencies:
@ -1945,10 +2438,20 @@ packages:
engines: {node: '>=8.11'}
dev: true
/upper-case-first@2.0.2:
resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==}
dependencies:
tslib: 2.6.2
dev: true
/urijs@1.19.11:
resolution: {integrity: sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==}
dev: true
/util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
dev: true
/valid-data-url@3.0.1:
resolution: {integrity: sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA==}
engines: {node: '>=10'}
@ -1961,6 +2464,10 @@ packages:
spdx-expression-parse: 3.0.1
dev: true
/visit-values@2.0.0:
resolution: {integrity: sha512-vLFU70y3D915d611GnHYeHkEmq6ZZETzTH4P1hM6I9E3lBwH2VeBBEESe/bGCY+gAyK0qqLFn5bNFpui/GKmww==}
dev: true
/web-resource-inliner@6.0.1:
resolution: {integrity: sha512-kfqDxt5dTB1JhqsCUQVFDj0rmY+4HLwGQIsLPbyrsN9y9WV/1oFDSx3BQ4GfCv9X+jVeQ7rouTqwK53rA/7t8A==}
engines: {node: '>=10.0.0'}
@ -2079,3 +2586,11 @@ packages:
y18n: 5.0.8
yargs-parser: 20.2.9
dev: true
github.com/anosatsuk124/gitbook-plugin-obsidian-code-admonition/a8f0c6189cf5d9ba8ac5cdebbe5646a59972f573:
resolution: {tarball: https://codeload.github.com/anosatsuk124/gitbook-plugin-obsidian-code-admonition/tar.gz/a8f0c6189cf5d9ba8ac5cdebbe5646a59972f573}
name: gitbook-plugin-obsidian-code-admonition
version: 0.0.9
dependencies:
cheerio: 0.19.0
dev: true

1
public/.gitignore vendored
View File

@ -1,2 +1,3 @@
*
!.gitignore
!google*.html

View File

@ -0,0 +1 @@
google-site-verification: google59c695aacfffca60.html

3
src/EXTERNAL_LICENSE.md Normal file
View File

@ -0,0 +1,3 @@
# その他の使用ライブラリ等の外部ライセンス
{% include "./EXTERNAL_LICENSE_REPORT.md" %}

21
src/LICENSE.md Normal file
View File

@ -0,0 +1,21 @@
# ページのライセンス情報
## 本文
このページの本文は明示的なライセンス表記がない限り、以下の通りに CC-BY-4.0 ライセンスで提供されます。
使用する場合は著者名を著者が認識可能な形で明示してください。著者名表記さえ守れば、任意の引用や改変および再配布は自由です。
> The main text in 「モダンからはじめる プログラミング生活!」 (c) by Satsuki Akiba <anosatsuk124@gmail.com>
>
> The main text in 「モダンからはじめる プログラミング生活!」 is licensed under a
> Creative Commons Attribution 4.0 International License.
>
> You should have received a copy of the license along with this
> work. If not, see <https://creativecommons.org/licenses/by/4.0/>.
## フォント
| Name | Author | Link |
| :---- | :----------- | :----------------------------- |
| Firge | Yuko OTAWARA | https://github.com/yuru7/Firge |

View File

@ -1,40 +1,34 @@
# このリポジトリについて
# 「モダンからはじめる プログラミング生活!」
{% hint style="info" %}
> [!info] **本としてダウンロード**
>
> [**Releases**](https://gitlab.com/DevLifeFromModernWay/devlifefrommodernway.gitlab.io/-/releases/permalink/latest) から以下のファイル形式でのダウンロードも可能です。
>
> - PDF
>
> - EPUB
>
> - MOBI
>
> **link: <https://gitlab.com/DevLifeFromModernWay/devlifefrommodernway.gitlab.io/-/releases/permalink/latest>**
**本としてダウンロード**
---
[**Releases**](https://gitlab.com/DevLifeFromModernWay/devlifefrommodernway.gitlab.io/-/releases/permalink/latest) から以下のファイル形式でのダウンロードも可能です。
- PDF
- EPUB
- MOBI
**link: <https://gitlab.com/DevLifeFromModernWay/devlifefrommodernway.gitlab.io/-/releases/permalink/latest>**
{% endhint %}
{% hint style="danger" %}
**注意**:
本リポジトリは余裕をもって、片手間にでも読み進めることを想定しています。
いますぐ即戦力になるような教材では**ありません**。
興味を持ったところから、気軽に読み進めてください。
{% endhint %}
> [!danger] **注意**:
>
> 本リポジトリは余裕をもって、片手間にでも読み進めることを想定しています。
>
> いますぐ即戦力になるような教材では**ありません**。
>
> 興味を持ったところから、気軽に読み進めてください。
本リポジトリはゲーム感覚で現代的で実践的なプログラマになるための教材です。
## 構成と目的
多くのプログラミング教材が** (たった) 一つの**プログラミング言語 (あるいは _framework_) の文法や機能を説明することに重点を置いていますが、
ここではそれらを最小限に抑え、むしろより多くの広い範囲に目を向けます。
多くのプログラミング教材が** (たった) 一つの**プログラミング言語 (あるいは _framework_) の文法や機能を説明することに重点を置いています
しかしここではそれらを最小限に抑え、
様々な領域の開発を通じて**プログラミングと開発**を広く学びます (プログラミング**言語**を広く学ぶわけではないのです!) 。
- 低レイヤプログラミング
@ -54,20 +48,27 @@
- プログラミングにまつわる思想 / 文化
- 複数のプログラミング言語を書く力
- `JavaScript / TypeScript`
- `Rust`
- `C#`
など、プログラミングとは切り離せない周辺分野の知識さえも得られます。
## なぜ複数の言語を学ぶのか
例えば、[X (Twitter)][2] の [Twitter の GitHub][1] [^1] を見てみると、 **Top languages** (プログラミング言語のランキング) は
例えば、[Twitter の GitHub][1] [^1] を見てみると、 **Top languages** (プログラミング言語のランキング) は
- `Scala`
- `Java`
- `Python`
- `JavaScript`
- `C`
となっています。他にも同サービスには `Rust``TypeScript` なども利用されています。
@ -87,6 +88,8 @@
[1]: https://github.com/twitter
[2]: https://x.com/
[^1]: [X (Twitter)][2] は、イーロン氏以降に _Open Source_ 化が進んでいます。
## このリポジトリの使い方、読み進め方
### 用語の表記について
@ -96,7 +99,4 @@
> プログラミング言語 (あるいは _framework_) の文法や機能を &hellip;
---
[^1]: [X (Twitter)][2] は、イーロン氏以降に _Open Source_ 化が進んでいます。
[^2]: Google での検索しやすさ。`C language``C-language` `C-lang` などと表記すると Googleablity が高い。
[^2]: Google での検索しやすさ。C 言語は `C` と検索せず、 `C-language` `C-lang` などとすると Googleablity が高い。

View File

@ -1,3 +1,15 @@
# 「モダンからはじめる プログラミング生活!」
- [はじめに](README.md)
## Web (TypeScript / JavaScript) 編
- [モダンからはじめる Web アプリ開発!](WebApps/README.md)
## リポジトリ情報
### ライセンス情報
- [ページのライセンス情報](./LICENSE.md)
- [その他の使用ライブラリ等の外部ライセンス](./EXTERNAL_LICENSE.md)

9
src/WebApps/README.md Normal file
View File

@ -0,0 +1,9 @@
# 「モダンからはじめる Web アプリ開発!」
## はじめに
## 目次
1. 開発環境の準備 ()
2. はじめての Web ページ ()

View File

@ -0,0 +1,13 @@
<!-- prettier-ignore -->
{% extends template.self %}
{% extends "../layout.html" %}
<!-- prettier-ignore -->
{% block title %}{{ page.title }}{% endblock %}
{% block description %}{{ page.description }}{% endblock %}
<!-- prettier-ignore -->
{% block style %}
{{ super() }}
<link rel="stylesheet" href="/_styles/ebook.css" />
{% endblock %}

13
src/_layouts/layout.html Normal file
View File

@ -0,0 +1,13 @@
<!-- prettier-ignore -->
{% extends template.self %}
<!-- prettier-ignore -->
{% block style %}
{{ super() }}
<link rel="stylesheet" href="/_styles/base.css" />
{% endblock %}
<!-- prettier-ignore -->
{% block body %}
{{ super() }}
{% endblock %}

70
src/_styles/base.css Normal file
View File

@ -0,0 +1,70 @@
@font-face {
font-family: "FirgeNerd";
src: url("./fonts/woff2/FirgeNerd-Regular.woff2") format("woff2");
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: "FirgeNerd";
src: url("./fonts/woff2/FirgeNerd-Bold.woff2") format("woff2");
font-weight: bold;
font-style: normal;
}
.book.font-family-1 {
font-family: "FirgeNerd", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.markdown-section p {
font-size: 1.1em;
}
.markdown-section code,
.markdown-section pre {
font-family: "FirgeNerd", monospace;
}
.markdown-section code {
font-size: 0.9em;
}
/* For hints Plguin */
.hints-container {
/* To be fitted */
padding-right: 15px;
}
.hints-alert {
word-break: break-word;
}
/* UnderLines */
.markdown-section h1,
.markdown-section h2,
.markdown-section h3,
.markdown-section h4,
.markdown-section h5,
.markdown-section h6 {
border-bottom: dotted;
}
/* Table responsive */
table {
width: 50%;
border-top: 1px solid #ccc;
border-left: 1px solid #ccc;
border-collapse: collapse;
border-spacing: 0;
}
.markdown-section table td,
.markdown-section table th {
width: 16.6%;
padding: 0.6em 1em;
border-right: 1px solid #ccc;
border-bottom: 1px solid #ccc;
word-break: break-word;
}

4
src/_styles/ebook.css Normal file
View File

@ -0,0 +1,4 @@
.markdown-section table td,
.markdown-section table th {
word-wrap: break-word;
}

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,125 @@
# Licensing
- Source fonts are licensed under SIL OPEN FONT LICENSE Version 1.1.
For more information, see "LICENSE_<FontName>" file contained in the "source" directory.
- "Firge" are licensed under SIL OPEN FONT LICENSE Version 1.1.
- Other source code, such as generating scripts, will use the MIT license.
## "Firge" licensing
Copyright (c) 2021, Yuko OTAWARA. with Reserved Font Name "Firge"
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
https://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
## Other source licensing (MIT)
Copyright (c) 2021 Yuko OTAWARA
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.