32 Commits

Author SHA1 Message Date
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
d7ec37ec45 FIX typo 2023-10-15 09:40:47 +09:00
5f3dd8c005 Writing an introduction 2023-10-15 09:32:53 +09:00
f965677403 Replace all ebooks' fonts with FirgeNerd font 2023-10-15 03:54:09 +09:00
bb93c8cca2 Add fonts.conf 2023-10-15 03:39:21 +09:00
2872b3b432 Update 2023-10-15 02:45:15 +09:00
6dd0859ac0 Update download links 2023-10-15 01:49:28 +09:00
48fbf2cd74 Revert "FIX"
This reverts commit 9cc27bf05a.
2023-10-15 01:45:04 +09:00
ab0e714cf3 FIX 2023-10-15 00:27:52 +09:00
c4b6827f27 Add an artifact 2023-10-15 00:19:15 +09:00
24 changed files with 893 additions and 31 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
node_modules node_modules
_book _book
target target
EXTERNAL_LICENSE_REPORT.md

View File

@ -5,6 +5,7 @@ stages:
variables: variables:
PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/devlifefrommodernway/${CI_COMMIT_TAG}" PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/devlifefrommodernway/${CI_COMMIT_TAG}"
GIT_SUBMODULE_STRATEGY: recursive
upload: upload:
stage: upload stage: upload
@ -22,9 +23,10 @@ release:
rules: rules:
- if: $CI_COMMIT_TAG - if: $CI_COMMIT_TAG
script: script:
- 'release-cli create --name "book-$CI_COMMIT_TAG" --tag-name $CI_COMMIT_TAG --assets-link "{\"name\":\"book.pdf\", \"url\":\"${PACKAGE_REGISTRY_URL}/book-${CI_COMMIT_TAG}.pdf\"}"' - release-cli create --name "book-$CI_COMMIT_TAG" --tag-name $CI_COMMIT_TAG
- 'release-cli create --name "book-$CI_COMMIT_TAG" --tag-name $CI_COMMIT_TAG --assets-link "{\"name\":\"book.epub\", \"url\":\"${PACKAGE_REGISTRY_URL}/book-${CI_COMMIT_TAG}.epub\"}"' --assets-link "{\"name\":\"book.pdf\", \"url\":\"${PACKAGE_REGISTRY_URL}/book-${CI_COMMIT_TAG}.pdf\"}"
- 'release-cli create --name "book-$CI_COMMIT_TAG" --tag-name $CI_COMMIT_TAG --assets-link "{\"name\":\"book.mobi\", \"url\":\"${PACKAGE_REGISTRY_URL}/book-${CI_COMMIT_TAG}.mobi\"}"' --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 image: node:lts-bullseye
pages: pages:
@ -42,13 +44,19 @@ pages:
- unzip "./fonts/*.zip" -d /usr/share/fonts/ - unzip "./fonts/*.zip" -d /usr/share/fonts/
&& fc-cache -fv && 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 corepack enable
- sudo -u node pnpm install - sudo -u node pnpm install
- sudo -u node env LANG=ja_JP.UTF-8 pnpm run build - sudo -u node env LANG=ja_JP.UTF-8 pnpm run build
- cp -a _book/. public/ - cp -a _book/. public/
artifacts: artifacts:
paths: paths:
- public/ - public/
- target/
rules: rules:
- if: $CI_COMMIT_TAG - if: $CI_COMMIT_TAG

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "gitbook-plugin-obsidian-code-admonition"]
path = plugins/gitbook-plugin-obsidian-code-admonition
url = https://github.com/anosatsuk124/gitbook-plugin-obsidian-code-admonition.git

View File

@ -1,17 +1,21 @@
{ {
"root": "./src", "root": "./src",
"title": "「モダンからはじめる プログラミング生活!」", "title": "「モダンからはじめる プログラミング生活!」",
"author": "Satsuki Akiba <anosatsuk124@gmail.com>", "author": "Satsuki Akiba",
"authorShort": "Satsuki Akiba",
"language": "ja", "language": "ja",
"plugins": [ "plugins": [
"anchors", "anchors",
"collapsible-chapters", "collapsible-chapters",
"hide-published-with", "hide-published-with",
"hints" "search-pro-fixed",
"image-captions",
"copy-code-button",
"obsidian-code-admonition",
"-highlight",
"prism"
], ],
"pdf.fontFamily": "FirgeNerd",
"pdf.fontSize": 16, "pdf.fontSize": 16,
"pdf.fontFamily": "ZenMaruGothic",
"pdf.paperSize": "a4", "pdf.paperSize": "a4",
"pdf.embedFonts": true "pdf.embedFonts": true
} }

BIN
fonts/FirgeNerd_v0.2.0.zip (Stored with Git LFS) Normal file

Binary file not shown.

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.

9
fonts/fonts.conf Normal file
View File

@ -0,0 +1,9 @@
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<match target="pattern">
<edit name="family" mode="assign">
<string>FirgeNerd</string>
</edit>
</match>
</fontconfig>

11
licese-report.json Normal file
View File

@ -0,0 +1,11 @@
{
"fields": [
"name",
"author",
"licenseType",
"link",
"installedVersion",
"licensePeriod",
"comment"
]
}

View File

@ -2,22 +2,28 @@
"name": "devlifefrommodernway", "name": "devlifefrommodernway",
"private": true, "private": true,
"scripts": { "scripts": {
"watch": "run-p watch:web", "watch": "run-s license && run-p watch:web",
"watch:web": "honkit serve", "watch:web": "honkit serve",
"build": "run-s build:content", "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:web": "honkit build",
"build:content:pdf": "mkdir -p ./target/ && honkit pdf . ./target/book.pdf", "build:content:pdf": "mkdir -p ./target/ && honkit pdf . ./target/book.pdf",
"build:content:epub": "mkdir -p ./target/ && honkit epub . ./target/book.epub", "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": { "devDependencies": {
"gitbook-plugin-anchors": "^0.7.1", "gitbook-plugin-anchors": "^0.7.1",
"gitbook-plugin-collapsible-chapters": "^0.1.8", "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-hide-published-with": "^0.0.1",
"gitbook-plugin-hints": "^1.0.2", "gitbook-plugin-obsidian-code-admonition": "link:./plugins/gitbook-plugin-obsidian-code-admonition",
"gitbook-plugin-search-pro-fixed": "^1.0.1",
"graceful-fs": "^4.2.11", "graceful-fs": "^4.2.11",
"honkit": "^5.1.1", "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" "npm-run-all": "^4.1.5"
} }
} }

464
pnpm-lock.yaml generated
View File

@ -11,18 +11,33 @@ devDependencies:
gitbook-plugin-collapsible-chapters: gitbook-plugin-collapsible-chapters:
specifier: ^0.1.8 specifier: ^0.1.8
version: 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: gitbook-plugin-hide-published-with:
specifier: ^0.0.1 specifier: ^0.0.1
version: 0.0.1 version: 0.0.1
gitbook-plugin-hints: gitbook-plugin-obsidian-code-admonition:
specifier: ^1.0.2 specifier: link:./plugins/gitbook-plugin-obsidian-code-admonition
version: 1.0.2 version: link:plugins/gitbook-plugin-obsidian-code-admonition
gitbook-plugin-search-pro-fixed:
specifier: ^1.0.1
version: 1.0.1
graceful-fs: graceful-fs:
specifier: ^4.2.11 specifier: ^4.2.11
version: 4.2.11 version: 4.2.11
honkit: honkit:
specifier: ^5.1.1 specifier: ^5.1.1
version: 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: npm-run-all:
specifier: ^4.1.5 specifier: ^4.1.5
version: 4.1.5 version: 4.1.5
@ -84,6 +99,26 @@ packages:
lodash: 4.17.21 lodash: 4.17.21
dev: true 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: /a-sync-waterfall@1.0.1:
resolution: {integrity: sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==} resolution: {integrity: sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==}
dev: true dev: true
@ -231,6 +266,24 @@ packages:
resolution: {integrity: sha512-/x68VkHLeTl3/Ll8IvxdwzhrT+IyKc52e/oyHhA2RwqPqswSnjVbSddfPRwAsJtbilMAPSRWwAlpxdYsSWOTKQ==} resolution: {integrity: sha512-/x68VkHLeTl3/Ll8IvxdwzhrT+IyKc52e/oyHhA2RwqPqswSnjVbSddfPRwAsJtbilMAPSRWwAlpxdYsSWOTKQ==}
dev: true 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: /call-bind@1.0.2:
resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
dependencies: dependencies:
@ -268,6 +321,28 @@ packages:
domutils: 3.1.0 domutils: 3.1.0
dev: true 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: /cheerio@1.0.0-rc.10:
resolution: {integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==} resolution: {integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==}
engines: {node: '>= 6'} engines: {node: '>= 6'}
@ -387,6 +462,15 @@ packages:
which: 1.3.1 which: 1.3.1
dev: true 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: /css-select@4.3.0:
resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
dependencies: dependencies:
@ -407,6 +491,10 @@ packages:
nth-check: 2.1.1 nth-check: 2.1.1
dev: true dev: true
/css-what@2.1.3:
resolution: {integrity: sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==}
dev: true
/css-what@6.1.0: /css-what@6.1.0:
resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
engines: {node: '>= 6'} engines: {node: '>= 6'}
@ -434,6 +522,35 @@ packages:
ms: 2.1.3 ms: 2.1.3
dev: true 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: /define-data-property@1.1.1:
resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
@ -502,6 +619,12 @@ packages:
resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
dev: true dev: true
/domhandler@2.4.2:
resolution: {integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==}
dependencies:
domelementtype: 1.3.1
dev: true
/domhandler@3.3.0: /domhandler@3.3.0:
resolution: {integrity: sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==} resolution: {integrity: sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==}
engines: {node: '>= 4'} engines: {node: '>= 4'}
@ -523,6 +646,20 @@ packages:
domelementtype: 2.3.0 domelementtype: 2.3.0
dev: true 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: /domutils@2.8.0:
resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
dependencies: dependencies:
@ -565,6 +702,10 @@ packages:
engines: {node: '>=0.12'} engines: {node: '>=0.12'}
dev: true dev: true
/eol@0.9.1:
resolution: {integrity: sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==}
dev: true
/error-ex@1.3.2: /error-ex@1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
dependencies: dependencies:
@ -713,6 +854,11 @@ packages:
is-callable: 1.2.7 is-callable: 1.2.7
dev: true 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: /fresh@0.5.2:
resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
engines: {node: '>= 0.6'} engines: {node: '>= 0.6'}
@ -768,6 +914,16 @@ packages:
has-symbols: 1.0.3 has-symbols: 1.0.3
dev: true 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: /get-symbol-description@1.0.0:
resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
@ -780,7 +936,7 @@ packages:
resolution: {integrity: sha512-uA0agz3Z6Rohs9MfI0kTLeYVjhA16DvxsYd5ao5QOLIWePLoU3YdA2aqGGQf0lUsXbdoD/pQi1m6TuCikPH3VQ==} resolution: {integrity: sha512-uA0agz3Z6Rohs9MfI0kTLeYVjhA16DvxsYd5ao5QOLIWePLoU3YdA2aqGGQf0lUsXbdoD/pQi1m6TuCikPH3VQ==}
engines: {gitbook: '>=2.5.0'} engines: {gitbook: '>=2.5.0'}
dependencies: dependencies:
cheerio: 1.0.0-rc.12 cheerio: 0.22.0
github-slugid: 1.0.1 github-slugid: 1.0.1
dev: true dev: true
@ -789,6 +945,10 @@ packages:
engines: {gitbook: '>=0.4.6'} engines: {gitbook: '>=0.4.6'}
dev: true 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: /gitbook-plugin-fontsettings@2.0.0:
resolution: {integrity: sha512-bZpz/Jev7lL1d3VNp41KHZD67UYqyqdOwbsJE6YEW93R2mGiLfZLpUs86d2nrY61BedhlNck1xF52FNT6sWeig==} resolution: {integrity: sha512-bZpz/Jev7lL1d3VNp41KHZD67UYqyqdOwbsJE6YEW93R2mGiLfZLpUs86d2nrY61BedhlNck1xF52FNT6sWeig==}
engines: {gitbook: '>=2.4.0'} engines: {gitbook: '>=2.4.0'}
@ -798,11 +958,6 @@ packages:
resolution: {integrity: sha512-aa4Dch5lJ1xzNRpLur2P53IOLqyWR+me1wwU9hd90+WoHXqL/N7LM3QHwmfZcDVXmU74AxSbp6xoNf8YLAGxcg==} resolution: {integrity: sha512-aa4Dch5lJ1xzNRpLur2P53IOLqyWR+me1wwU9hd90+WoHXqL/N7LM3QHwmfZcDVXmU74AxSbp6xoNf8YLAGxcg==}
dev: true 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: /gitbook-plugin-livereload@0.0.1:
resolution: {integrity: sha512-+5xinicId2ZcbP6jBTFfQBnjz8nhoBgcOuQfKTEM6Yg9fBsmo2mxY6ubrx1b5ozuIMyfDLkSihx97A7+X+EtQQ==} resolution: {integrity: sha512-+5xinicId2ZcbP6jBTFfQBnjz8nhoBgcOuQfKTEM6Yg9fBsmo2mxY6ubrx1b5ozuIMyfDLkSihx97A7+X+EtQQ==}
dev: true dev: true
@ -816,6 +971,13 @@ packages:
lunr: 0.5.12 lunr: 0.5.12
dev: true dev: true
/gitbook-plugin-search-pro-fixed@1.0.1:
resolution: {integrity: sha512-X6pBgfN54D3Ij+iF4cw44PZCdOvjnqboEoi0bsolEYPzcJOXFiiemxYt+rit95T8UbSaML38o8SCPzl9grM/zA==}
engines: {gitbook: '>=3.0.0'}
dependencies:
html-entities: 1.2.0
dev: true
/gitbook-plugin-search@2.2.1: /gitbook-plugin-search@2.2.1:
resolution: {integrity: sha512-oP9jhaKFUVPo756G9ywuuI43YdkZClSjfpFzNKe/a/Rcn3oVsrAM/PjdQ+dt65KfZVo3iW1LY4WdiZnNqzRP8g==} resolution: {integrity: sha512-oP9jhaKFUVPo756G9ywuuI43YdkZClSjfpFzNKe/a/Rcn3oVsrAM/PjdQ+dt65KfZVo3iW1LY4WdiZnNqzRP8g==}
engines: {gitbook: '>=3.0.0-pre.0'} engines: {gitbook: '>=3.0.0-pre.0'}
@ -867,6 +1029,23 @@ packages:
get-intrinsic: 1.2.1 get-intrinsic: 1.2.1
dev: true 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: /graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
dev: true dev: true
@ -913,6 +1092,23 @@ packages:
engines: {node: '>=12.0.0'} engines: {node: '>=12.0.0'}
dev: true 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: /honkit@5.1.1:
resolution: {integrity: sha512-dacSCX0bXL4TF7yT4nQ9ZSTofpFhxrljm4sonrnwxPP1RV36mmQVfFagKfImZvGYxr+HR4wDfVnaSjWExTISWQ==} resolution: {integrity: sha512-dacSCX0bXL4TF7yT4nQ9ZSTofpFhxrljm4sonrnwxPP1RV36mmQVfFagKfImZvGYxr+HR4wDfVnaSjWExTISWQ==}
hasBin: true hasBin: true
@ -981,6 +1177,17 @@ packages:
engines: {'0': node >= 0.4.0} engines: {'0': node >= 0.4.0}
dev: true 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@5.0.1: /htmlparser2@5.0.1:
resolution: {integrity: sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==} resolution: {integrity: sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==}
dependencies: dependencies:
@ -1008,6 +1215,10 @@ packages:
entities: 4.5.0 entities: 4.5.0
dev: true dev: true
/http-cache-semantics@4.1.1:
resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
dev: true
/http-errors@1.8.1: /http-errors@1.8.1:
resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==}
engines: {node: '>= 0.6'} engines: {node: '>= 0.6'}
@ -1023,6 +1234,14 @@ packages:
resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==}
dev: true 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: /i18n-t@1.0.1:
resolution: {integrity: sha512-2NmZwpsnRTzpZfIP6Rcic16m5QBNVaIwVyU182+iatd6RNbWmGi74LTA/R/oDa58RZ87bHChLgWpmulEAoEruQ==} resolution: {integrity: sha512-2NmZwpsnRTzpZfIP6Rcic16m5QBNVaIwVyU182+iatd6RNbWmGi74LTA/R/oDa58RZ87bHChLgWpmulEAoEruQ==}
dependencies: dependencies:
@ -1054,6 +1273,10 @@ packages:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
dev: true dev: true
/ini@1.3.8:
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
dev: true
/internal-slot@1.0.5: /internal-slot@1.0.5:
resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
@ -1227,6 +1450,10 @@ packages:
esprima: 4.0.1 esprima: 4.0.1
dev: true dev: true
/json-buffer@3.0.1:
resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
dev: true
/json-parse-better-errors@1.0.2: /json-parse-better-errors@1.0.2:
resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==}
dev: true dev: true
@ -1253,11 +1480,35 @@ packages:
- encoding - encoding
dev: true 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: /kramed@0.5.6:
resolution: {integrity: sha512-V4qwQAp8HPQPU6Ph9Q4bc+P+nKQWEGlWYLRDkK7n+CPaMi8/VRm9/R710tRmag4whLsnKR91CO9Ras/Rnff9bw==} resolution: {integrity: sha512-V4qwQAp8HPQPU6Ph9Q4bc+P+nKQWEGlWYLRDkK7n+CPaMi8/VRm9/R710tRmag4whLsnKR91CO9Ras/Rnff9bw==}
hasBin: true hasBin: true
dev: 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: /livereload-js@2.4.0:
resolution: {integrity: sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==} resolution: {integrity: sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==}
dev: true dev: true
@ -1272,10 +1523,69 @@ packages:
strip-bom: 3.0.0 strip-bom: 3.0.0
dev: true 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@4.17.21: /lodash@4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
dev: true 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: /lru-cache@6.0.0:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
engines: {node: '>=10'} engines: {node: '>=10'}
@ -1316,6 +1626,16 @@ packages:
hasBin: true hasBin: true
dev: 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: /minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
dependencies: dependencies:
@ -1339,6 +1659,12 @@ packages:
hasBin: true hasBin: true
dev: 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: /moment@2.29.4:
resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==} resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==}
dev: true dev: true
@ -1347,6 +1673,10 @@ packages:
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
dev: true dev: true
/ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
dev: true
/ms@2.1.3: /ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
dev: true dev: true
@ -1355,6 +1685,13 @@ packages:
resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
dev: true 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: /node-fetch@2.7.0:
resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
engines: {node: 4.x || >=6.0.0} engines: {node: 4.x || >=6.0.0}
@ -1381,6 +1718,11 @@ packages:
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
dev: true 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: /npm-run-all@4.1.5:
resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==}
engines: {node: '>= 4'} engines: {node: '>= 4'}
@ -1397,6 +1739,12 @@ packages:
string.prototype.padend: 3.1.5 string.prototype.padend: 3.1.5
dev: true 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: /nth-check@2.1.1:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
dependencies: dependencies:
@ -1486,6 +1834,11 @@ packages:
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
dev: true dev: true
/p-cancelable@3.0.0:
resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==}
engines: {node: '>=12.20'}
dev: true
/parse-json@4.0.0: /parse-json@4.0.0:
resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==}
engines: {node: '>=4'} engines: {node: '>=4'}
@ -1554,6 +1907,11 @@ packages:
engines: {node: '>=4'} engines: {node: '>=4'}
dev: true dev: true
/prismjs@1.29.0:
resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
engines: {node: '>=6'}
dev: true
/q@1.5.1: /q@1.5.1:
resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==}
engines: {node: '>=0.6.0', teleport: '>=0.2.0'} engines: {node: '>=0.6.0', teleport: '>=0.2.0'}
@ -1566,6 +1924,11 @@ packages:
side-channel: 1.0.4 side-channel: 1.0.4
dev: true dev: true
/quick-lru@5.1.1:
resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
engines: {node: '>=10'}
dev: true
/range-parser@1.2.1: /range-parser@1.2.1:
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
engines: {node: '>= 0.6'} engines: {node: '>= 0.6'}
@ -1579,6 +1942,16 @@ packages:
string_decoder: 0.10.31 string_decoder: 0.10.31
dev: true 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: /read-pkg@3.0.0:
resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==}
engines: {node: '>=4'} engines: {node: '>=4'}
@ -1588,6 +1961,15 @@ packages:
path-type: 3.0.0 path-type: 3.0.0
dev: true 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: /readdirp@3.6.0:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'} engines: {node: '>=8.10.0'}
@ -1609,6 +1991,10 @@ packages:
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
dev: true dev: true
/resolve-alpn@1.2.1:
resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
dev: true
/resolve@1.22.8: /resolve@1.22.8:
resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
hasBin: true hasBin: true
@ -1618,6 +2004,13 @@ packages:
supports-preserve-symlinks-flag: 1.0.0 supports-preserve-symlinks-flag: 1.0.0
dev: true 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: /rimraf@2.6.3:
resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==}
hasBin: true hasBin: true
@ -1692,6 +2085,14 @@ packages:
- supports-color - supports-color
dev: true 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: /set-function-name@2.0.1:
resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
@ -1755,6 +2156,14 @@ packages:
resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==}
dev: true 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: /sprintf-js@1.0.3:
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
dev: true dev: true
@ -1815,6 +2224,12 @@ packages:
resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==}
dev: true 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: /strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'} engines: {node: '>=8'}
@ -1827,6 +2242,11 @@ packages:
engines: {node: '>=4'} engines: {node: '>=4'}
dev: true 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: /supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'} engines: {node: '>=4'}
@ -1839,6 +2259,18 @@ packages:
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
dev: true 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: /tiny-lr@1.1.1:
resolution: {integrity: sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==} resolution: {integrity: sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==}
dependencies: dependencies:
@ -1935,10 +2367,20 @@ packages:
engines: {node: '>=8.11'} engines: {node: '>=8.11'}
dev: true 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: /urijs@1.19.11:
resolution: {integrity: sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==} resolution: {integrity: sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==}
dev: true dev: true
/util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
dev: true
/valid-data-url@3.0.1: /valid-data-url@3.0.1:
resolution: {integrity: sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA==} resolution: {integrity: sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA==}
engines: {node: '>=10'} engines: {node: '>=10'}
@ -1951,6 +2393,10 @@ packages:
spdx-expression-parse: 3.0.1 spdx-expression-parse: 3.0.1
dev: true dev: true
/visit-values@2.0.0:
resolution: {integrity: sha512-vLFU70y3D915d611GnHYeHkEmq6ZZETzTH4P1hM6I9E3lBwH2VeBBEESe/bGCY+gAyK0qqLFn5bNFpui/GKmww==}
dev: true
/web-resource-inliner@6.0.1: /web-resource-inliner@6.0.1:
resolution: {integrity: sha512-kfqDxt5dTB1JhqsCUQVFDj0rmY+4HLwGQIsLPbyrsN9y9WV/1oFDSx3BQ4GfCv9X+jVeQ7rouTqwK53rA/7t8A==} resolution: {integrity: sha512-kfqDxt5dTB1JhqsCUQVFDj0rmY+4HLwGQIsLPbyrsN9y9WV/1oFDSx3BQ4GfCv9X+jVeQ7rouTqwK53rA/7t8A==}
engines: {node: '>=10.0.0'} engines: {node: '>=10.0.0'}

3
public/.gitignore vendored Normal file
View File

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

View File

View File

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

25
src/LICENSE.md Normal file
View File

@ -0,0 +1,25 @@
# ライセンス情報
## 本文
このページの本文は明示的なライセンス表記がない限り、以下の通りに 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 | License type | Link |
| :---- | :----------- | :-------------------- | :----------------------------- |
| Firge | Yuko OTAWARA | SIL Open Font License | https://github.com/yuru7/Firge |
## その他の使用ライブラリ等の外部ライセンス
{%include "EXTERNAL_LICENSE_REPORT.md" %}

View File

@ -1,13 +1,102 @@
# 「モダンからはじめる プログラミング生活!」 # 「モダンからはじめる プログラミング生活!」
## 本としてダウンロード > [!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>**
[PDF](https://gitlab.com/api/v4/projects/DevLifeFromModernWay%2Fdevlifefrommodernway.gitlab.io/releases/permalink/latest/downloads/book.pdf) ---
[EPUB](https://gitlab.com/api/v4/projects/DevLifeFromModernWay%2Fdevlifefrommodernway.gitlab.io/releases/permalink/latest/downloads/book.epub) > [!danger] **注意**:
>
> 本リポジトリは余裕をもって、片手間にでも読み進めることを想定しています。
>
> いますぐ即戦力になるような教材では**ありません**。
>
> 興味を持ったところから、気軽に読み進めてください。
[MOBI](https://gitlab.com/api/v4/projects/DevLifeFromModernWay%2Fdevlifefrommodernway.gitlab.io/releases/permalink/latest/downloads/book.mobi) 本リポジトリはゲーム感覚で現代的で実践的なプログラマになるための教材です。
## このリポジトリについて ## 構成と目的
多くのプログラミング教材が** (たった) 一つの**プログラミング言語 (あるいは _framework_) の文法や機能を説明することに重点を置いています。
しかしここではそれらを最小限に抑え、
様々な領域の開発を通じて**プログラミングと開発**を広く学びます (プログラミング**言語**を広く学ぶわけではないのです!) 。
- 低レイヤプログラミング
- ゲーム開発
- Web アプリケーション開発
などを実践的に解決していく形式をとります。
その過程での副産物として、
- Google 検索の方法 [^2]
- `Git` (あるいは `GitHub`) の使い方
- プログラミングにまつわる思想 / 文化
- 複数のプログラミング言語を書く力
- `JavaScript / TypeScript`
- `Rust`
- `C#`
など、プログラミングとは切り離せない周辺分野の知識さえも得られます。
## なぜ複数の言語を学ぶのか
例えば、[Twitter の GitHub][1] [^1] を見てみると、 **Top languages** (プログラミング言語のランキング) は
- `Scala`
- `Java`
- `Python`
- `JavaScript`
- `C`
となっています。他にも同サービスには `Rust``TypeScript` なども利用されています。
このように現代的な開発環境において、複数の言語や framework を組み合わせて利用することは珍しくありません。
実際のところ、多くのプログラマは 3 つ以上のプログラミング言語を容易に使いこなします。
プログラミング言語はマスタすることが最善手ではありません。
それは多くの言語間に共通する考え方 / 書き方があるからで、複数の言語を習得することは実際には**まったくの困難を伴いません**。
しかし、「一つの言語でもマスタしている」と断言できるプログラマはそう多くないはずです。
それはプログラミング言語は、**ある程度のレベルに**達すると、**ある程度のレベルで*実用的に***使いこなせるようになるからです。
プログラミング言語の文法や機能を完全に理解することは深淵と向き合うことですから、
一つの言語について深く学ぶことは最初にやるべきタスクではありません。
むしろ広範な領域に手を出して目一杯遊び疲れてから、愛着を持った言語などから深く学ぶべき言語を選ぶほうが効率的だからです。
[1]: https://github.com/twitter
[2]: https://x.com/
[^1]: [X (Twitter)][2] は、イーロン氏以降に _Open Source_ 化が進んでいます。
## このリポジトリの使い方、読み進め方 ## このリポジトリの使い方、読み進め方
### 用語の表記について
プログラミングの周辺分野用語は、Googleablity [^2] を考慮して英語表記を優先しています。
初出で重要なキーワードは _Italic_ 体で表記しています。
> プログラミング言語 (あるいは _framework_) の文法や機能を &hellip;
[^2]: Google での検索しやすさ。C 言語は `C` と検索せず、 `C-language` `C-lang` などとすると Googleablity が高い。

View File

@ -1,3 +1,11 @@
# 「モダンからはじめる プログラミング生活!」 # 「モダンからはじめる プログラミング生活!」
- [はじめに](README.md) - [はじめに](README.md)
## Web (TypeScript / JavaScript) 編
- [モダンからはじめる Web アプリ開発!](WebApps/README.md)
## リポジトリ情報
- [LICENSE](LICENSE.md)

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

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

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 %}

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

@ -0,0 +1,103 @@
@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: 100%;
border-top: 1px solid #ccc;
border-left: 1px solid #ccc;
border-collapse: collapse;
border-spacing: 0;
}
th,
td {
width: 16.6%;
padding: 0.6em 1em;
border-right: 1px solid #ccc;
border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 640px) {
body {
overflow: hidden;
}
table {
display: flex;
}
thead {
white-space: nowrap;
}
tbody {
overflow-x: scroll;
white-space: nowrap;
}
tbody tr {
display: inline-block;
}
tbody tr:last-child {
margin-left: -5px;
}
th,
td {
display: block;
width: auto;
}
}

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.