mirror of
https://gitlab.com/DevLifeFromModernWay/devlifefrommodernway.gitlab.io.git
synced 2025-06-20 21:05:36 +00:00
Compare commits
11 Commits
2023-10-25
...
master
Author | SHA1 | Date | |
---|---|---|---|
e819031d63 | |||
e8ffcd8286 | |||
ea24ce76d3 | |||
682ea769c1 | |||
496c22974d | |||
840892daa6 | |||
e98203ddac | |||
de0874c866 | |||
1ebfc82f78 | |||
74bce86804 | |||
7665da5c08 |
5
.dockerignore
Normal file
5
.dockerignore
Normal file
@ -0,0 +1,5 @@
|
||||
node_modules
|
||||
_book
|
||||
target
|
||||
EXTERNAL_LICENSE_REPORT.md
|
||||
.pnpm-store
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,3 +2,4 @@ node_modules
|
||||
_book
|
||||
target
|
||||
EXTERNAL_LICENSE_REPORT.md
|
||||
.pnpm-store
|
||||
|
@ -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 "./styles/fonts/*.zip" -d /usr/share/fonts/
|
||||
&& fc-cache -fv
|
||||
|
||||
- mkdir -p /etc/fonts/conf.d &&
|
||||
cp -a ./styles/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:
|
||||
|
22
Dockerfile
Normal file
22
Dockerfile
Normal file
@ -0,0 +1,22 @@
|
||||
FROM node:lts-bullseye
|
||||
|
||||
ENV PNPM_HOME="/pnpm"
|
||||
ENV PATH="$PNPM_HOME:$PATH"
|
||||
|
||||
RUN corepack enable
|
||||
|
||||
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
|
||||
|
||||
CMD exec sh -c "chown -R node:node /build && sudo -u node pnpm install && sudo -u node pnpm run build"
|
||||
|
12
book.json
12
book.json
@ -7,13 +7,13 @@
|
||||
"anchors",
|
||||
"collapsible-chapters",
|
||||
"hide-published-with",
|
||||
"hints",
|
||||
"search-pro-fixed"
|
||||
"search-pro-fixed",
|
||||
"image-captions",
|
||||
"copy-code-button",
|
||||
"obsidian-code-admonition",
|
||||
"-highlight",
|
||||
"prism"
|
||||
],
|
||||
"styles": {
|
||||
"website": "./_styles/website.css",
|
||||
"pdf": "./_styles/pdf.css"
|
||||
},
|
||||
"pdf.fontFamily": "FirgeNerd",
|
||||
"pdf.fontSize": 16,
|
||||
"pdf.paperSize": "a4",
|
||||
|
10
docker-compose.yml
Normal file
10
docker-compose.yml
Normal file
@ -0,0 +1,10 @@
|
||||
volumes:
|
||||
node_modules:
|
||||
pnpm-store:
|
||||
services:
|
||||
builder:
|
||||
build: .
|
||||
volumes:
|
||||
- .:/build
|
||||
- node_modules:/build/node_modules/
|
||||
- pnpm-store:/build/.pnpm-store/
|
BIN
fonts/M_PLUS_1p.zip
(Stored with Git LFS)
BIN
fonts/M_PLUS_1p.zip
(Stored with Git LFS)
Binary file not shown.
BIN
fonts/Zen_Maru_Gothic.zip
(Stored with Git LFS)
BIN
fonts/Zen_Maru_Gothic.zip
(Stored with Git LFS)
Binary file not shown.
@ -2,10 +2,6 @@
|
||||
"fields": [
|
||||
"name",
|
||||
"author",
|
||||
"licenseType",
|
||||
"link",
|
||||
"installedVersion",
|
||||
"licensePeriod",
|
||||
"comment"
|
||||
"link"
|
||||
]
|
||||
}
|
||||
|
@ -2,6 +2,7 @@
|
||||
"name": "devlifefrommodernway",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"docker": "docker-compose up --build; docker-compose down",
|
||||
"watch": "run-s license && run-p watch:web",
|
||||
"watch:web": "honkit serve",
|
||||
"build": "run-s build:content",
|
||||
@ -15,11 +16,14 @@
|
||||
"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"
|
||||
}
|
||||
|
272
pnpm-lock.yaml
generated
272
pnpm-lock.yaml
generated
@ -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,12 @@ 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
|
||||
@ -312,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'}
|
||||
@ -400,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
|
||||
@ -431,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:
|
||||
@ -451,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'}
|
||||
@ -575,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'}
|
||||
@ -596,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:
|
||||
@ -625,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
|
||||
@ -872,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
|
||||
|
||||
@ -881,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'}
|
||||
@ -890,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
|
||||
@ -1029,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
|
||||
@ -1097,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:
|
||||
@ -1338,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
|
||||
@ -1432,6 +1581,58 @@ 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
|
||||
@ -1520,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
|
||||
@ -1594,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:
|
||||
@ -1756,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'}
|
||||
@ -1805,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'}
|
||||
@ -2059,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'}
|
||||
@ -2206,6 +2448,10 @@ packages:
|
||||
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'}
|
||||
@ -2340,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
|
||||
|
3
src/EXTERNAL_LICENSE.md
Normal file
3
src/EXTERNAL_LICENSE.md
Normal file
@ -0,0 +1,3 @@
|
||||
# その他の使用ライブラリ等の外部ライセンス
|
||||
|
||||
{% include "./EXTERNAL_LICENSE_REPORT.md" %}
|
@ -1,4 +1,4 @@
|
||||
# ライセンス情報
|
||||
# ページのライセンス情報
|
||||
|
||||
## 本文
|
||||
|
||||
@ -14,6 +14,8 @@
|
||||
> You should have received a copy of the license along with this
|
||||
> work. If not, see <https://creativecommons.org/licenses/by/4.0/>.
|
||||
|
||||
## その他の使用ライブラリ等の外部ライセンス
|
||||
## フォント
|
||||
|
||||
{%include "EXTERNAL_LICENSE_REPORT.md" %}
|
||||
| Name | Author | Link |
|
||||
| :---- | :----------- | :----------------------------- |
|
||||
| Firge | Yuko OTAWARA | https://github.com/yuru7/Firge |
|
||||
|
@ -1,32 +1,26 @@
|
||||
# 「モダンからはじめる プログラミング生活!」
|
||||
|
||||
{% 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>**
|
||||
|
||||
**本としてダウンロード**
|
||||
<br />
|
||||
|
||||
[**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] **注意**:
|
||||
>
|
||||
> 本リポジトリは余裕をもって、片手間にでも読み進めることを想定しています。
|
||||
>
|
||||
> いますぐ即戦力になるような教材では**ありません**。
|
||||
>
|
||||
> 興味を持ったところから、気軽に読み進めてください。
|
||||
|
||||
本リポジトリはゲーム感覚で現代的で実践的なプログラマになるための教材です。
|
||||
|
||||
@ -45,6 +39,8 @@
|
||||
|
||||
などを実践的に解決していく形式をとります。
|
||||
|
||||
<div style="page-break-before:always;"></div>
|
||||
|
||||
その過程での副産物として、
|
||||
|
||||
- Google 検索の方法 [^2]
|
||||
@ -55,11 +51,11 @@
|
||||
|
||||
- 複数のプログラミング言語を書く力
|
||||
|
||||
- `JavaScript / TypeScript`
|
||||
- `JavaScript / TypeScript`
|
||||
|
||||
- `Rust`
|
||||
- `Rust`
|
||||
|
||||
- `C#`
|
||||
- `C#`
|
||||
|
||||
など、プログラミングとは切り離せない周辺分野の知識さえも得られます。
|
||||
|
||||
@ -100,9 +96,9 @@
|
||||
|
||||
### 用語の表記について
|
||||
|
||||
プログラミングの周辺分野用語は、Googleablity [^2] を考慮して英語表記を優先しています。
|
||||
分かりやすさのため極力日本語で表記しますが、プログラミングの周辺分野用語は Googleability [^2] 等も考慮して英語表記を優先しています。
|
||||
初出で重要なキーワードは _Italic_ 体で表記しています。
|
||||
|
||||
> プログラミング言語 (あるいは _framework_) の文法や機能を …
|
||||
> プログラミング言語 (あるいは _framework_) の文法や機能を …
|
||||
|
||||
[^2]: Google での検索しやすさ。C 言語は `C` と検索せず、 `C-language` `C-lang` などとすると Googleablity が高い。
|
||||
[^2]: Google での検索しやすさ。C 言語は `C` と検索せず、 `C-language` `C-lang` などとすると Googleablity が高い。[googleability - Wiktionary, the free dictionary](https://en.wiktionary.org/wiki/googleability#English)
|
||||
|
@ -1,11 +1,14 @@
|
||||
# 「モダンからはじめる プログラミング生活!」
|
||||
|
||||
- [はじめに](README.md)
|
||||
- [はじめに](./README.md)
|
||||
|
||||
## Web (TypeScript / JavaScript) 編
|
||||
## [モダンからはじめる Web アプリ開発! (TypeScript/JavaScript & React 編)](./contents/WebApps/README.md)
|
||||
|
||||
- [モダンからはじめる Web アプリ開発!](WebApps/README.md)
|
||||
1. [開発環境の準備 ()](./contents/WebApps/01-prepare-dev-environment.md)
|
||||
2. はじめての Web ページ ()
|
||||
|
||||
## リポジトリ情報
|
||||
## ライセンス情報
|
||||
|
||||
- [LICENSE](LICENSE.md)
|
||||
- [ページのライセンス情報](./LICENSE.md)
|
||||
|
||||
- [その他の使用ライブラリ等の外部ライセンス](./EXTERNAL_LICENSE.md)
|
||||
|
8
src/_layouts/ebook/page.html
Normal file
8
src/_layouts/ebook/page.html
Normal file
@ -0,0 +1,8 @@
|
||||
<!-- prettier-ignore -->
|
||||
{% extends template.self %}
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
{% block style %}
|
||||
{{ super() }}
|
||||
<link rel="stylesheet" href="/_styles/ebook.css" />
|
||||
{% endblock %}
|
13
src/_layouts/layout.html
Normal file
13
src/_layouts/layout.html
Normal 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 %}
|
@ -39,3 +39,32 @@
|
||||
.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
4
src/_styles/ebook.css
Normal file
@ -0,0 +1,4 @@
|
||||
table td,
|
||||
table th {
|
||||
word-wrap: break-word;
|
||||
}
|
@ -1,41 +0,0 @@
|
||||
@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;
|
||||
}
|
3
src/contents/WebApps/01-prepare-dev-environment.md
Normal file
3
src/contents/WebApps/01-prepare-dev-environment.md
Normal file
@ -0,0 +1,3 @@
|
||||
# 開発環境の準備 ()
|
||||
|
||||
## Terminal を起動する
|
@ -4,6 +4,5 @@
|
||||
|
||||
## 目次
|
||||
|
||||
1. 開発環境の準備 ()
|
||||
|
||||
1. [開発環境の準備 ()](./01-prepare-dev-environment.md)
|
||||
2. はじめての Web ページ ()
|
Reference in New Issue
Block a user