17 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
19 changed files with 458 additions and 108 deletions

5
.dockerignore Normal file
View File

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

1
.gitignore vendored
View File

@ -2,3 +2,4 @@ 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 "./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:

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,12 +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"
],
"styles": {
"website": "./_styles/website.css"
},
"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.

View File

@ -2,10 +2,6 @@
"fields": [
"name",
"author",
"licenseType",
"link",
"installedVersion",
"licensePeriod",
"comment"
"link"
]
}

View File

@ -15,11 +15,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
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,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
View File

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

View File

@ -1,4 +1,4 @@
# LICENSE Information
# ページのライセンス情報
## 本文
@ -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 |

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

@ -8,4 +8,8 @@
## リポジトリ情報
- [LICENSE](LICENSE.md)
### ライセンス情報
- [ページのライセンス情報](./LICENSE.md)
- [その他の使用ライブラリ等の外部ライセンス](./EXTERNAL_LICENSE.md)

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

View File

@ -1,30 +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;
}