From 61e0cd5c2ad75fd2d2c16944c995b7fb8246aba7 Mon Sep 17 00:00:00 2001 From: Mahito Ogura Date: Mon, 19 Feb 2024 18:09:46 +0900 Subject: [PATCH 1/6] feat(data): Add the timetable --- 2024/.textlintrc | 32 +++- 2024/package-lock.json | 319 +++++++++++++++++++++++++++++++++- 2024/package.json | 8 +- 2024/prh.yml | 58 +++++++ 2024/src/yaml/data.yaml | 374 +++++++++++++++++++++++++++++++++++----- 5 files changed, 739 insertions(+), 52 deletions(-) create mode 100644 2024/prh.yml diff --git a/2024/.textlintrc b/2024/.textlintrc index 240b2c4..0a31a42 100644 --- a/2024/.textlintrc +++ b/2024/.textlintrc @@ -1,6 +1,27 @@ { "plugins": { - "html": true + "html": true, + "yaml": true + }, + "filters": { + "allowlist": { + "allow": [ + "3D点群データ", + "3D地図", + "d払い", + "NTTPCコミュニケーションズ", + "NTTコムウェア", + "NTTデータ", + "開発等多種多様", + "付加価値基盤開発", + "音楽学習指導実現", + "一般社団法人全日本", + "複数人同時共同編集", + "時間短縮効果測定結果", + "技術革新統括本部", + "日本電信電話株式会社" + ] + } }, "rules": { "preset-ja-spacing": { @@ -15,22 +36,29 @@ } }, "preset-ja-technical-writing": { + "ja-no-abusage": true, "ja-no-mixed-period": { "allowPeriodMarks": [":"] }, + "ja-no-redundant-expression": true, + "ja-unnatural-alphabet": true, "ja-no-weak-phrase": false, "no-doubled-joshi": { "allow": ["か", "で"], "strict": false }, + "no-exclamation-question-mark": false, + "no-unmatched-pair": true, "max-kanji-continuous-len": { "allow": [], "max": 6 }, - "no-exclamation-question-mark": false, "sentence-length": { "max": 200 } + }, + "prh": { + "rulePaths": ["./prh.yml"] } } } diff --git a/2024/package-lock.json b/2024/package-lock.json index 6e3c7fd..33e9716 100644 --- a/2024/package-lock.json +++ b/2024/package-lock.json @@ -17,16 +17,20 @@ "gulp-uglify": "^3.0.2", "js-yaml": "^4.1.0", "musubii": "^7.2.0", - "sass": "^1.70.0" + "sass": "^1.70.0", + "textlint-rule-prh": "^6.0.0" }, "devDependencies": { "firebase-tools": "^13.2.0", "npm-force-resolutions": "^0.0.10", "prettier": "^3.2.5", "textlint": "^14.0.1", + "textlint-filter-rule-allowlist": "^4.0.0", "textlint-plugin-html": "^1.0.0", + "textlint-plugin-yaml": "^0.0.1", "textlint-rule-preset-ja-spacing": "^2.3.0", - "textlint-rule-preset-ja-technical-writing": "^10.0.1" + "textlint-rule-preset-ja-technical-writing": "^10.0.1", + "textlint-rule-prh": "^6.0.0" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -771,6 +775,12 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "node_modules/@textlint/get-config-base-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@textlint/get-config-base-dir/-/get-config-base-dir-2.0.0.tgz", + "integrity": "sha512-J3cG1pl2llYD4ZaZMe0qVgVaHT8RvT+/SW1FHQ8HRceNalMM9O0Y8iIgtl4GGOx4vMghoIPKFVLASw8P8bJ3ZA==", + "dev": true + }, "node_modules/@textlint/kernel": { "version": "14.0.1", "resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-14.0.1.tgz", @@ -1760,6 +1770,15 @@ "node": ">= 4.5.0" } }, + "node_modules/attach-ware": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/attach-ware/-/attach-ware-1.1.1.tgz", + "integrity": "sha512-OpavlXWZkyE7m28fpCWF/RmxCukC1edukJp9IKjEpZs/O11H3896DkLpK7lMiL8ZDx2yxo9FrZQaeHkyJGcIuQ==", + "dev": true, + "dependencies": { + "unherit": "^1.0.0" + } + }, "node_modules/bach": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", @@ -2640,6 +2659,12 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/co": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz", + "integrity": "sha512-CQsjCRiNObI8AtTsNIBDRMQ4oMR83CzEswHYahClvul7gKk+lDQiOKv+5qh7LQWf5sh6jkZNispz/QlsZxyNgA==", + "dev": true + }, "node_modules/code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", @@ -3476,6 +3501,53 @@ "node": ">=0.3.1" } }, + "node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "node_modules/domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, "node_modules/dot-prop": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", @@ -3598,6 +3670,12 @@ "once": "^1.4.0" } }, + "node_modules/ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", + "dev": true + }, "node_modules/entities": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", @@ -5969,6 +6047,23 @@ "node": ">= 0.4" } }, + "node_modules/hast": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/hast/-/hast-0.0.2.tgz", + "integrity": "sha512-1MrzC9MtAYhzLix2w++pGEtRyCm6N1fcxCjx+1xJo/92fNDRFemFaum18XWd8No3f+FgT9lv6fKOC8LZRcxxuw==", + "dev": true, + "dependencies": { + "bail": "^1.0.0", + "camelcase": "^1.2.1", + "ent": "^2.2.0", + "escape-html": "^1.0.3", + "htmlparser2": "^3.8.3", + "param-case": "^1.1.1", + "property-information": "^2.0.0", + "trim": "0.0.1", + "unified": "^2.1.0" + } + }, "node_modules/hast-util-from-parse5": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz", @@ -6001,6 +6096,41 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast/node_modules/camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hast/node_modules/property-information": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-2.0.0.tgz", + "integrity": "sha512-8oVcjnCeqANq/exCzgse3D47GBmgOuI47vNya7xBIJhUXeh49AjZuXWw2gTh1UuN4rfwz5pEv2ZFzu45vBby5A==", + "dev": true + }, + "node_modules/hast/node_modules/unified": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-2.1.4.tgz", + "integrity": "sha512-qa4nA26ms49OczPueTt7G46r89TOlwAJ4pEk2U4mwkV1wNhjttItF03SE/YnfkgWg14tzmAHXGhJp2GhDYwn1A==", + "dev": true, + "dependencies": { + "attach-ware": "^1.0.0", + "bail": "^1.0.0", + "extend": "^3.0.0", + "unherit": "^1.0.4", + "vfile": "^1.0.0", + "ware": "^1.3.0" + } + }, + "node_modules/hast/node_modules/vfile": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-1.4.0.tgz", + "integrity": "sha512-7Fz639rwERslMqQCuf1/0H4Tqe2q484Xl6X/jsKqrP7IjFcDODFURhv0GekMnImpbj9pTOojtqL7r39LJJkjGA==", + "dev": true + }, "node_modules/hastscript": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz", @@ -6043,6 +6173,26 @@ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" }, + "node_modules/htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "dependencies": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, "node_modules/http-cache-semantics": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", @@ -7457,6 +7607,12 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", + "dev": true + }, "node_modules/lru_map": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.4.1.tgz", @@ -9288,6 +9444,15 @@ "node": ">= 14" } }, + "node_modules/param-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-1.1.2.tgz", + "integrity": "sha512-gksk6zeZQxwBm1AHsKh+XDFsTGf1LvdZSkkpSIkfDtzW+EQj/P2PBgNb3Cs0Y9Xxqmbciv2JZe3fWU6Xbher+Q==", + "dev": true, + "dependencies": { + "sentence-case": "^1.1.2" + } + }, "node_modules/parse-entities": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", @@ -9584,6 +9749,16 @@ "node": ">=0.10.0" } }, + "node_modules/postinstall-build": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postinstall-build/-/postinstall-build-5.0.3.tgz", + "integrity": "sha512-vPvPe8TKgp4FLgY3+DfxCE5PIfoXBK2lyLfNCxsRbDsV6vS4oU5RG/IWxrblMn6heagbnMED3MemUQllQ2bQUg==", + "deprecated": "postinstall-build's behavior is now built into npm! You should migrate off of postinstall-build and use the new `prepare` lifecycle script with npm 5.0.0 or greater.", + "dev": true, + "bin": { + "postinstall-build": "cli.js" + } + }, "node_modules/prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", @@ -10915,6 +11090,15 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, + "node_modules/sentence-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-1.1.3.tgz", + "integrity": "sha512-laa/UDTPXsrQnoN/Kc8ZO7gTeEjMsuPiDgUCk9N0iINRZvqAMCTXjGl8+tD27op1eF/JHbdUlEUmovDh6AX7sA==", + "dev": true, + "dependencies": { + "lower-case": "^1.1.1" + } + }, "node_modules/sentence-splitter": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/sentence-splitter/-/sentence-splitter-5.0.0.tgz", @@ -11986,6 +12170,27 @@ "node": ">=18.14.0" } }, + "node_modules/textlint-filter-rule-allowlist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/textlint-filter-rule-allowlist/-/textlint-filter-rule-allowlist-4.0.0.tgz", + "integrity": "sha512-rOlWr12sff9ZS8mOtRACPB3l1yK0oW21Owz8XsTAgFWmRhOnBbCKw8tKMDm6EtQHO92SOfyJmT4nowxiJ85Qiw==", + "dev": true, + "dependencies": { + "@textlint/ast-node-types": "^12.0.0", + "@textlint/get-config-base-dir": "^2.0.0", + "@textlint/regexp-string-matcher": "^1.1.0", + "js-yaml": "^4.1.0" + }, + "peerDependencies": { + "textlint": ">= 9.0.0" + } + }, + "node_modules/textlint-filter-rule-allowlist/node_modules/@textlint/ast-node-types": { + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-12.6.1.tgz", + "integrity": "sha512-uzlJ+ZsCAyJm+lBi7j0UeBbj+Oy6w/VWoGJ3iHRHE5eZ8Z4iK66mq+PG/spupmbllLtz77OJbY89BYqgFyjXmA==", + "dev": true + }, "node_modules/textlint-plugin-html": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/textlint-plugin-html/-/textlint-plugin-html-1.0.0.tgz", @@ -12079,6 +12284,46 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/textlint-plugin-yaml": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/textlint-plugin-yaml/-/textlint-plugin-yaml-0.0.1.tgz", + "integrity": "sha512-/A0huVJ8B3OCBOBKQejsEI8M/HJZN1p+dKnYx2bKkA/7PQo+uPZLyuo1Bdq+0I+gkJX5d/iad90UYv8h1g0Y8g==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "postinstall-build": "^5.0.1", + "structured-source": "^3.0.2", + "textlint-plugin-html": "^0.1.7", + "traverse": "^0.6.6", + "yaml-ast-parser": "^0.0.40" + } + }, + "node_modules/textlint-plugin-yaml/node_modules/boundary": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/boundary/-/boundary-1.0.1.tgz", + "integrity": "sha512-AaLhxHwYVh55iOTJncV3DE5o7RakEUSSj64XXEWRTiIhlp7aDI8qR0vY/k8Uw0Z234VjZi/iG/WxfrvqYPUCww==", + "dev": true + }, + "node_modules/textlint-plugin-yaml/node_modules/structured-source": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/structured-source/-/structured-source-3.0.2.tgz", + "integrity": "sha512-Ap7JHfKgmH40SUjumqyKTHYHNZ8GvGQskP34ks0ElHCDEig+bYGpmXVksxPSrgcY9rkJqhVMzfeg5GIpZelfpQ==", + "dev": true, + "dependencies": { + "boundary": "^1.0.1" + } + }, + "node_modules/textlint-plugin-yaml/node_modules/textlint-plugin-html": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/textlint-plugin-html/-/textlint-plugin-html-0.1.7.tgz", + "integrity": "sha512-I2wHH7NhzUbw6sUUNsbHL7I1qzwp1te3Q/rekO/im0osSWi7M3FRrACMcWL8uCZmd7tAoNyBPemjc465gWPqng==", + "dev": true, + "dependencies": { + "hast": "0.0.2", + "structured-source": "^3.0.2", + "traverse": "^0.6.6" + } + }, "node_modules/textlint-rule-helper": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/textlint-rule-helper/-/textlint-rule-helper-2.3.1.tgz", @@ -12117,6 +12362,18 @@ "textlint-rule-prh": "^5.3.0" } }, + "node_modules/textlint-rule-ja-no-abusage/node_modules/textlint-rule-prh": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/textlint-rule-prh/-/textlint-rule-prh-5.3.0.tgz", + "integrity": "sha512-gdod+lL1SWUDyXs1ICEwvQawaSshT3mvPGufBIjF2R5WFPdKQDMsiuzsjkLm+aF+9d97dA6pFsiyC8gSW7mSgg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.7.5", + "prh": "^5.4.4", + "textlint-rule-helper": "^2.1.1", + "untildify": "^3.0.3" + } + }, "node_modules/textlint-rule-ja-no-mixed-period": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/textlint-rule-ja-no-mixed-period/-/textlint-rule-ja-no-mixed-period-3.0.1.tgz", @@ -12449,7 +12706,7 @@ "integrity": "sha512-4YPL7IRAuaZflE10+BVhKr6k5KQl/DiLeNCIF7ISqKr0ogM2hqm9ztRNCPqL/xYDI7hfuIHR8T+U7mIDRLQNXw==", "dev": true }, - "node_modules/textlint-rule-prh": { + "node_modules/textlint-rule-preset-jtf-style/node_modules/textlint-rule-prh": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/textlint-rule-prh/-/textlint-rule-prh-5.3.0.tgz", "integrity": "sha512-gdod+lL1SWUDyXs1ICEwvQawaSshT3mvPGufBIjF2R5WFPdKQDMsiuzsjkLm+aF+9d97dA6pFsiyC8gSW7mSgg==", @@ -12461,6 +12718,17 @@ "untildify": "^3.0.3" } }, + "node_modules/textlint-rule-prh": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/textlint-rule-prh/-/textlint-rule-prh-6.0.0.tgz", + "integrity": "sha512-byU7eUyhabX2FKx3ShOktKkmKLG5dhR0ru+PGllKgafKKWXtzOIAhAaDlqMC5qU6b3Jaz5rKQcnroGVCEjcP1Q==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.9", + "prh": "^5.4.4", + "textlint-rule-helper": "^2.3.1" + } + }, "node_modules/textlint-rule-sentence-length": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/textlint-rule-sentence-length/-/textlint-rule-sentence-length-5.0.0.tgz", @@ -13129,6 +13397,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==", + "deprecated": "Use String.prototype.trim() instead", + "dev": true + }, "node_modules/triple-beam": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", @@ -13286,6 +13561,20 @@ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true }, + "node_modules/unherit": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", + "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.0", + "xtend": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/unified": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", @@ -13944,6 +14233,15 @@ "node": ">= 0.10" } }, + "node_modules/ware": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz", + "integrity": "sha512-Y2HUDMktriUm+SR2gZWxlrszcgtXExlhQYZ8QJNYbl22jum00KIUcHJ/h/sdAXhWTJcbSkiMYN9Z2tWbWYSrrw==", + "dev": true, + "dependencies": { + "wrap-fn": "^0.1.0" + } + }, "node_modules/wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", @@ -14125,6 +14423,15 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-fn": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz", + "integrity": "sha512-xDLdGx0M8JQw9QDAC9s5NUxtg9MI09F6Vbxa2LYoSoCvzJnx2n81YMIfykmXEGsUvuLaxnblJTzhSOjUOX37ag==", + "dev": true, + "dependencies": { + "co": "3.1.0" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -14231,6 +14538,12 @@ "node": ">= 14" } }, + "node_modules/yaml-ast-parser": { + "version": "0.0.40", + "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.40.tgz", + "integrity": "sha512-VslfnveVamssDl77Ore2SZTxBor6eVUT7mVsopoRjRlyWwXQiKZQ9KFiGFylwD0yG/u81L4uNna9gwsQyMDSHQ==", + "dev": true + }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", diff --git a/2024/package.json b/2024/package.json index 7d3c861..77ccc63 100644 --- a/2024/package.json +++ b/2024/package.json @@ -28,16 +28,20 @@ "gulp-uglify": "^3.0.2", "js-yaml": "^4.1.0", "musubii": "^7.2.0", - "sass": "^1.70.0" + "sass": "^1.70.0", + "textlint-rule-prh": "^6.0.0" }, "devDependencies": { "firebase-tools": "^13.2.0", "npm-force-resolutions": "^0.0.10", "prettier": "^3.2.5", "textlint": "^14.0.1", + "textlint-filter-rule-allowlist": "^4.0.0", "textlint-plugin-html": "^1.0.0", + "textlint-plugin-yaml": "^0.0.1", "textlint-rule-preset-ja-spacing": "^2.3.0", - "textlint-rule-preset-ja-technical-writing": "^10.0.1" + "textlint-rule-preset-ja-technical-writing": "^10.0.1", + "textlint-rule-prh": "^6.0.0" }, "resolutions": { "glob-parent": "^5.1.2" diff --git a/2024/prh.yml b/2024/prh.yml new file mode 100644 index 0000000..454466c --- /dev/null +++ b/2024/prh.yml @@ -0,0 +1,58 @@ +rules: + - expected: GitHub + patterns: + - Github + - expected: NTT Com + patterns: + - NTTcom + - NTTCom + - NTTコム + - 弊社 + - expected: いたします + patterns: + - 致します + - expected: いただけます + patterns: + - 頂けます + - expected: お客さま + patterns: + - お客様 + - おきゃくさま + - expected: きっかけ + patterns: + - 切っ掛け + - expected: このたび + patterns: + - この度 + - expected: さまざま + patterns: + - 様々 + - expected: さらに + patterns: + - 更に + - expected: スクラム + patterns: + - スクラム開発 + - Scrum開発 + - expected: すでに + patterns: + - 既に + - expected: たいした + patterns: + - 大した + - expected: つめ + patterns: + - つ目 + - expected: できる + patterns: + - 出来る + - expected: トラフィック + patterns: + - トラヒック + - expected: 皆さま + patterns: + - 皆様 + - みなさま + - expected: もとづく + patterns: + - 基づく diff --git a/2024/src/yaml/data.yaml b/2024/src/yaml/data.yaml index 3eda464..808008b 100644 --- a/2024/src/yaml/data.yaml +++ b/2024/src/yaml/data.yaml @@ -5,13 +5,13 @@ about: NTT Tech Conference は、NTT グループのエンジニア有志が開催するカンファレンスです。 NTT グループ各社が開催するイベントとは異なり、NTT グループのエンジニアたちがやりたいこと・話したいことを通じて、エンジニア同士が技術交流するためのイベントです。
- NTT グループには各種 OSS のコミッタ、メンテナ、コントリビュータをはじめとしたエンジニアや、各社の様々な案件でシステム開発をするエンジニアがいます。 + NTT グループには各種 OSS のコミッタ、メンテナ、コントリビュータをはじめとしたエンジニアや、各社のさまざまな案件でシステム開発をするエンジニアがいます。 本イベントではそれらのエンジニアがもつノウハウや悩みを参加者と共有・議論することで、参加者がもっとおもしろいエンジニアになることを目的としています。 fee: 無料 (参加登録制) parts: - begin_at: 13:30 end_at: 18:00 - session_types: [] + session_types: # - begin_at: ??:?? # end_at: ??:?? # session_types: @@ -20,10 +20,10 @@ about: # end_at: ??:?? # session_types: # - Workshop - # - begin_at: ??:?? - # end_at: ??:?? - # session_types: - # - Presentation + - begin_at: 13:30 + end_at: 18:00 + session_types: + - Presentation organizer: NTT Developers place: text: docomo R&D OPEN LAB ODAIBA @@ -71,7 +71,7 @@ registration: # - session_types: # - Presentation # url: https://ntt-techconf.connpass.com/event/123456/ -session_types: [] +session_types: # - description: | # 特定テーマに対して参加者に実際に手を動かしてもらうことで技術を学び取得する。 # is_exclusive: true @@ -82,32 +82,310 @@ session_types: [] # is_exclusive: true # name: Workshop # timetable_style: list - # - description: | - # 発表者による特定テーマに関する発表・質疑応答を行う。 - # is_exclusive: false - # name: Presentation - # timetable_style: table -sessions: [] - # - begin_at: ??:?? - # description: | - # サンプル - # end_at: ??:?? - # lessons: - # - サンプル - # level: 初級 - # name: サンプル - # references: - # - text: サンプル - # url: https://example.com/ - # room: Track 1 - # speakers: - # - description: | - # サンプル - # member_of: NTT コミュニケーションズ - # name: 堀内 晨彦 - # tags: - # - Sample - # type: Presentation + - description: | + 発表者による特定テーマに関する発表・質疑応答を行う。 + is_exclusive: false + name: Presentation + timetable_style: table +sessions: + - begin_at: 13:30 + end_at: null + name: Opening + room: BRIDGE + type: Presentation + - begin_at: 14:20 + description: | + X で少し話題になっていたネタを自分でも遊んで見たかったので実際に Web 作ってリリースしてみたら想定以上に反響が大きかった話です、三部構成の予定です。 +
+ <第1部>
+ AlphaGo で話題になった AlphaZero という AI のモデルを利用してブラウザで囲碁 AI を動かすための技術的な話。
+ <第2部>
+ 実際にリリースした後に Web ニュースや NHK 囲碁番組に取り上げられたり、それらの活動を通じて、さまざまな人とのつながりができた話。
+ <第3部>
+ これらの経験が仕事にどう生きてくるかの話。 + end_at: 14:50 + lessons: + - 趣味でサービスをリリースする方法 + - GPU を利用するような AI モデルをブラウザで効率的に動かす方法 + - 趣味を仕事で生かす方法 + level: 中級 + name: 趣味で AI を使った Web サービスをリリースしたら 30 万アクセスきた話 + references: [] + room: BRIDGE + speakers: + - description: | + 2012 年 NTTコムウェア入社、固定回線管理システムの方式・設計担当を経て、光 BOX、植物工場管理システム、 + d払い開発等多種多様な開発プロジェクトに従事し、現在はドコモ GrLLM 付加価値基盤開発にてテックリード・チームリードを兼任中。 + オフにおいても興味の赴くままサービス企画・開発を実施するのが趣味。 + member_of: NTTコムウェア NTT IT 戦略事業本部 + name: 藤平俊輔 + tags: + - AI + - Application + - Cloud + - Machine Learning + - UI/UX + type: Presentation + - begin_at: 14:20 + description: | + 一般的なピアノ教室では、生徒は教室で指導者から週 1 回 30 分程度のレッスンを受け、指導者はいくつかの練習曲を宿題として課し、生徒が自宅で毎日練習することを求めます。 + hiketa システムはこうした指導者の負荷軽減、生徒の効果的な上達を支援するもので、ピアノ指導者と生徒を募集し 2023 年 10 月からモニターを実施しています。
+ hiketa のピアノ AI 採点は自宅練習時の演奏ミスを指摘することで次のレッスンまでに正しく譜面通り演奏ができるようになり、 + 指導者は限られたレッスン時間をミスの指摘修正に費やすことなく音楽的な表情付けなどに専念できるようになります。 + また、hiketa により生徒が自宅で何をどれぐらい練習しているか把握できるので、それを踏まえた効果的なレッスンが可能になるだけではなく、 + 自宅練習回数などによるポイント付与、指導者からのボーナスポイント付与というインセンティブにより生徒の自宅練習増加を促すことができます。
+ 今回はピアノを用意して本システムと、より高度な AI 採点技術をご来場された方にご試用いただきます。 + end_at: 17:40 + lessons: + - 教育・文化に関する DX の音楽教育分野における 1 つの事例 + - 音楽情報処理によるピアノ AI 採点の 1 つの方法 + level: 中級 + name: おうちのピアノ練習をサポートする「hiketa (仮称)」と AI 採点技術 + references: + - text: NTT Tech Conference 2023 講演「ピアノ宿題練習のための AI 採点ご紹介およびデモ」 + url: https://www.youtube.com/watch?v=sBriGtPQj9Q&t=1889s + - text: 報道発表資料「音楽教育業界におけるDXを活用した音楽学習指導実現に向けた取り組み」 + url: https://www.ntt-east.co.jp/release/detail/20220608_01.html + room: FOREST + speakers: + - description: | + 音楽教育分野のデジタルトランスフォーメーションなどに従事。 + member_of: NTT東日本 + name: 細田 真道 + - description: | + 音楽教育分野のデジタルトランスフォーメーションなどのマネジメントに従事。 + member_of: NTT東日本 + name: 小林 丈之 + - description: | + ピアノ学習のデジタル教材開発企画に従事。 + member_of: 東音企画 + name: 本村 愛眞 + - description: | + 一般社団法人全日本ピアノ指導者協会(ピティナ)専務理事。 + member_of: ピティナ + name: 福田 成康 + tags: + - AI + - Application + - UI/UX + - Use Case + - 音楽情報処理 + type: Presentation + - begin_at: 14:20 + description: | + SONiC は、近年データセンタを中心に急速に利用が拡大しており、オープンネットワークOS ではデファクトスタンダートとなりつつある。 + 一方で従来のキャリアオペレーションなどを考慮すると機能改善すべき点もあり、SONiC にキャリア向け機能の追加や既存機能の改善に取り組んでいる。 + end_at: 14:50 + lessons: + - オープンネットワークOS SONiC の概要について + - SONiC のルーティング機能と FIB の効率化をするために追加実装した機能について + - SONiC の光伝送デバイスサポートについて + level: 初級 + name: オープンネットワークOS SONiCへの取り組み + references: [] + room: PARK + speakers: + - description: | + オープンネットワークOS SONiC の研究開発活動をしています。 + member_of: 日本電信電話 NTTネットワークイノベーションセンタ + name: 中野寛二 + - description: | + member_of: 日本電信電話 NTTネットワークイノベーションセンタ + name: 杉園幸司 + tags: + - Network + - OSS + type: Presentation + - begin_at: 15:00 + description: | + カオスエンジアリングは、システムを中心としたプロダクト開発における障害対策の一手法で、 + 本番環境へ故意に問題を発生させて復旧までのプロセスを検証するものです。
+ そんなカオスエンジアリングを、ネットワークオペレーションにも導入した我々の取り組みを紹介します。 + しかし対象システムがクラウド基盤上に展開するアプリである場合と、実体のルータで構成されるネットワークでは大きな差があり、我々がその差をどう考えて工夫したのか共有します。 + end_at: 15:30 + lessons: + - 少しずつ始めるカオスエンジアリングのユースケース + - 一見単純そうな、ネットワークの障害試験の難しさ事情 + level: 初級 + name: 皆がすなるカオスエンジアリングといふものを、ネットワークオペレーションでもしてみむとてするなり + references: [] + room: BRIDGE + speakers: + - description: | + SI 系 R&D を経て 2019 年から現職。 キャリア IP バックボーンの検証開発をしつつ、NTT Com 検証網の AS/L3/L2/WLAN 運用に従事。 + member_of: NTTコミュニケーションズ イノベーションセンター + name: 田島照久 + tags: + - Operation + - DevOps + type: Presentation + - begin_at: 15:00 + description: | + NTTコミュニケーションズでは Node-AI (https://app.nodeai.io/) という WEB アプリケーションを内製開発しています。 + そしてつい先日、Node-AI のフロントエンドは Vue.js v2.x を捨て去り React (Next.js) に完全移行を果たしました。
+ 本セッションでは Node-AI の新しいフロントエンドを支えている技術スタックや設計・アーキテクチャについてお話したいと思います。 + end_at: 15:30 + lessons: + - フロントエンド + - React + - Next.js + - 設計 + - アーキテクチャ + - リアルタイム通信 + - 複数人同時共同編集 + - SVG + - UNDO/REDO + level: 中級 + name: Node-AI のリッチな WEB フロントエンドを支える技術 + references: [] + room: PARK + speakers: + - description: | + member_of: NTTコミュニケーションズ イノベーションセンター テクノロジー部門 + name: 成冨志優 + tags: + - Application + - OSS + type: Presentation + - begin_at: 15:30 + end_at: 15:50 + name: 休憩 + room: BRIDGE + type: Presentation + - begin_at: 15:30 + end_at: 15:50 + name: 休憩 + room: PARK + type: Presentation + - begin_at: 15:50 + description: | + - サービス開発にデザインツールを導入することによる効果
+ - ステークホルダーとの合意形成方法(よくある方法)
+ - 課題
+ - デザインツールを導入した合意形成方法
+ - 効果
+ - ユーザビリティテストを実施してみて,学んだこと
+ - KA 法の説明および課題
+ - 分析をグループワークで実施することの重要性
+ - グループワークの落とし穴(時間がかかる)
+ - 時期感等に応じて、分析方法を選ぼうといった内容 + end_at: 16:20 + lessons: + - サービス開発にデザインツールを導入することによる効果 + - いくつかのユーザビリティテスト分析手法とそれらの注意点 + level: 初級 + name: サービス開発にデザインツールやユーザビリティテストを導入してよかったこと,気をつけること + references: [] + # - text: + # url: + room: BRIDGE + speakers: + - description: | + メイン案件でソフトウェア開発をしながら,docomo グループ内のいくつかの案件でデザイナーのようなロールの動きをしています + member_of: NTTPCコミュニケーションズ SC 本部 + name: 山本卓嗣 + tags: + - UI/UX + - Agile + type: Presentation + - begin_at: 15:50 + description: | + NTTデータグループ技術開発本部では、PLATEAU など都市の 3D地図整備に向けた取り組みとして、3D点群データの計測や位置精度向上に取り組んでいます。
+ 本セッションでは、この取り組みに関して関連技術や活用ユースケースについてご紹介します。 + end_at: 16:20 + lessons: + - 3D点群データの特性、活用ユースケース + level: 初級 + name: 3D点群データの位置精度向上と活用ユースケース + references: [] + room: PARK + speakers: + - description: | + member_of: NTTデータグループ 技術開発本部 + name: 福田裕大 + tags: + - Use Case + - AI + - Application + - Machine Learning + type: Presentation + - begin_at: 16:30 + description: | + 今年度取り組んだ、GitHub Copilot を中心とした生成 AI の活用によるソフトウェア開発効率向上の成果について共有したいと考えています。
+ 主なトピックは以下の通りです。
+ - 弊担当が抱えている課題
+ - 生成 AI に期待すること
+ - GitHub Copilot のコーディング時間短縮効果測定結果の共有
+ - GitHub Copilot Chat / ChatGPT の活用事例
+ - 利用者アンケートにもとづく開発者体験の変化
+ end_at: 17:00 + lessons: + - GitHub Copilot(Chat 含む)、ChatGPT がソフトウェア開発にどのような恩恵をもたらすか。 + level: 初級 + name: 生成 AI を活用したソフトウェア開発効率向上の取り組み紹介 + references: [] + room: BRIDGE + speakers: + - description: | + 2007 年度入社。以降ソフトウェア開発部隊でバックエンドシステムの開発に従事しています。 + 現在はチームリーダーとしてさまざまな案件をこなしつつ、サービス開発プロセスの改善活動も行っています。 + member_of: NTTPCコミュニケーションズ サービスクリエーション本部 第一サービスクリエーション部 サービスクリエーション担当 + name: 川尻 真寛 + tags: + - AI + - Work Style + type: Presentation + - begin_at: 16:30 + description: | + Kubernetes クラスタに対して、管理者・開発者・運用者など立場の異なる人々がアクセスする状況では、 + それぞれの立場に応じた適切な権限を与えることが必要です。
+ 本セッションでは、Kubernetes の標準機能である Role Based Access Control (RBAC) について調べた内容と、 + GitOps ツールである ArgoCD と RBAC を組み合わせて動かしてみた結果についてご紹介します。 + end_at: 17:00 + lessons: + - Kubernetes における認可の基本 + - Kubernetes における権限テスト方法 + - ArgoCD と RBAC を組み合わせた使い方の例 + level: 初級 + name: Kubernetes 認可周り事始め + references: [] + room: PARK + speakers: + - description: | + member_of: NTTデータグループ 技術革新統括本部 + name: 川崎健人 + tags: + - Container + - OSS + - Security + type: Presentation + - begin_at: 17:10 + description: | + NTT コミュニケーションズで提供している NeWork において、それまで実施していた毎週のリリースにおける課題を解決するため、 + リリース頻度を毎日にした取り組みについてご紹介します。 + end_at: 17:40 + lessons: + - リリースプロセスの一例 + - ブランチ運用の一例 + level: 初級 + name: リリース頻度を毎週から毎日にしてみた + references: [] + room: BRIDGE + speakers: + - description: | + 2013 年 NTT コミュニケーションズ入社。2021 年から現職。NeWork の開発全体のリーダーとして、開発・運用に従事。 + member_of: NTTコミュニケーションズ C&A部 + name: 藤野晴樹 + tags: + - Agile + - DevOps + - Use Case + type: Presentation + - begin_at: 17:45 + end_at: null + name: Closing + room: BRIDGE + type: Presentation settings: fontawesome: # domains: @@ -118,15 +396,21 @@ settings: # version: 6.x kit: e298378c10 timetable: - break_time_min: 5 - rooms: [] - # - name: Hands-on - # used_by: Hands-on - # - name: Workshop - # used_by: Workshop - # - name: Track 1 - # used_by: Presentation - # - name: Track 2 - # used_by: Presentation - windows: [] - # - begin_at: ??:?? + break_time_min: 10 + rooms: + - name: BRIDGE + used_by: Presentation + - name: FOREST + used_by: Presentation + - name: PARK + used_by: Presentation + windows: + - begin_at: 13:30 + - begin_at: 13:40 + - begin_at: 14:20 + - begin_at: 15:00 + - begin_at: 15:30 + - begin_at: 15:50 + - begin_at: 16:30 + - begin_at: 17:10 + - begin_at: 17:45 From dd72ace6fd48265d649a49b5252239d7674e35df Mon Sep 17 00:00:00 2001 From: Mahito Ogura Date: Tue, 20 Feb 2024 13:55:10 +0900 Subject: [PATCH 2/6] =?UTF-8?q?Showcase=20=E3=82=92=E5=88=86=E9=9B=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 2024/.textlintrc | 4 ++++ 2024/src/yaml/data.yaml | 9 +++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/2024/.textlintrc b/2024/.textlintrc index 0a31a42..484c5d7 100644 --- a/2024/.textlintrc +++ b/2024/.textlintrc @@ -10,8 +10,11 @@ "3D地図", "d払い", "NTTPCコミュニケーションズ", + "NTTコミュニケーションズ", "NTTコムウェア", "NTTデータ", + "ネットワークOS", + "変更に", "開発等多種多様", "付加価値基盤開発", "音楽学習指導実現", @@ -53,6 +56,7 @@ "allow": [], "max": 6 }, + "period-in-list-item": true, "sentence-length": { "max": 200 } diff --git a/2024/src/yaml/data.yaml b/2024/src/yaml/data.yaml index 808008b..372e401 100644 --- a/2024/src/yaml/data.yaml +++ b/2024/src/yaml/data.yaml @@ -87,6 +87,11 @@ session_types: is_exclusive: false name: Presentation timetable_style: table + - description: | + 発表者による展示・質疑応答を行う。 + is_exclusive: true + name: Showcase + timetable_style: list sessions: - begin_at: 13:30 end_at: null @@ -170,7 +175,7 @@ sessions: - UI/UX - Use Case - 音楽情報処理 - type: Presentation + type: Showcase - begin_at: 14:20 description: | SONiC は、近年データセンタを中心に急速に利用が拡大しており、オープンネットワークOS ではデファクトスタンダートとなりつつある。 @@ -401,7 +406,7 @@ timetable: - name: BRIDGE used_by: Presentation - name: FOREST - used_by: Presentation + used_by: Showcase - name: PARK used_by: Presentation windows: From 630ddd9c25edc7b4e5e19a546fee084acd5ff4ee Mon Sep 17 00:00:00 2001 From: Mahito Ogura Date: Tue, 20 Feb 2024 16:16:48 +0900 Subject: [PATCH 3/6] fix: change textlint rules --- 2024/.textlintrc | 5 ++--- 2024/package.json | 2 +- 2024/src/slm/index.slm | 5 +++-- 2024/src/yaml/data.yaml | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/2024/.textlintrc b/2024/.textlintrc index 484c5d7..6202a21 100644 --- a/2024/.textlintrc +++ b/2024/.textlintrc @@ -40,9 +40,7 @@ }, "preset-ja-technical-writing": { "ja-no-abusage": true, - "ja-no-mixed-period": { - "allowPeriodMarks": [":"] - }, + "ja-no-mixed-period": false, "ja-no-redundant-expression": true, "ja-unnatural-alphabet": true, "ja-no-weak-phrase": false, @@ -51,6 +49,7 @@ "strict": false }, "no-exclamation-question-mark": false, + "no-mix-dearu-desumasu": false, "no-unmatched-pair": true, "max-kanji-continuous-len": { "allow": [], diff --git a/2024/package.json b/2024/package.json index 77ccc63..c51430a 100644 --- a/2024/package.json +++ b/2024/package.json @@ -6,7 +6,7 @@ "scripts": { "build": "gulp", "deploy": "", - "lint": "prettier -w public/index.html && textlint public/index.html", + "lint": "prettier -w public/index.html && textlint public/index.html && textlint src/yaml/data.yml", "preview": "gulp preview" }, "repository": { diff --git a/2024/src/slm/index.slm b/2024/src/slm/index.slm index 8791f2b..17985b8 100644 --- a/2024/src/slm/index.slm +++ b/2024/src/slm/index.slm @@ -126,7 +126,8 @@ html lang="ja" ul class="list is-kome" li class="item is-padding-left-xs" - exclusive_session_types = this.session_types.filter(s => s.is_exclusive) - | ${exclusive_session_types.map(s => s.name).join(" / ")} のセッションについては、いずれか 1 つのみ参加可能です。 + - if exclusive_session_types.size > 0 + | ${exclusive_session_types.map(s => s.name).join(" / ")} のセッションについては、いずれか 1 つの参加となります。 li class="item is-padding-left-xs" | タイムテーブルは変更になる可能性があります。 - for session_type of this.session_types @@ -152,7 +153,7 @@ html lang="ja" ul class="list is-kome" - if rooms.length > 1 li class="item is-padding-left-xs" - | ${rooms.length} Track に分けて実施します。 + | ${rooms.length} Track に分けての実施となります。 li class="item is-padding-left-xs" | 各セッションの間に ${this.timetable.break_time_min} 分の休憩を予定しております。 nav diff --git a/2024/src/yaml/data.yaml b/2024/src/yaml/data.yaml index 372e401..5ef5073 100644 --- a/2024/src/yaml/data.yaml +++ b/2024/src/yaml/data.yaml @@ -89,7 +89,7 @@ session_types: timetable_style: table - description: | 発表者による展示・質疑応答を行う。 - is_exclusive: true + is_exclusive: false name: Showcase timetable_style: list sessions: @@ -286,7 +286,7 @@ sessions: room: BRIDGE speakers: - description: | - メイン案件でソフトウェア開発をしながら,docomo グループ内のいくつかの案件でデザイナーのようなロールの動きをしています + メイン案件でソフトウェア開発をしながら,docomo グループ内のいくつかの案件でデザイナーのようなロールの動きをしています。 member_of: NTTPCコミュニケーションズ SC 本部 name: 山本卓嗣 tags: From 8b0471bbb8eb544a8528eafd362b374f43400eea Mon Sep 17 00:00:00 2001 From: Mahito Ogura Date: Tue, 20 Feb 2024 16:32:26 +0900 Subject: [PATCH 4/6] =?UTF-8?q?fix:=20Up=20Showcase=20to=20top=20&=20Remov?= =?UTF-8?q?e=20(=E4=BA=88=E5=AE=9A)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 2024/README.md | 14 +++++++++++++- 2024/src/slm/index.slm | 2 +- 2024/src/yaml/data.yaml | 10 +++++----- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/2024/README.md b/2024/README.md index 6a18f9b..e850ab6 100644 --- a/2024/README.md +++ b/2024/README.md @@ -4,7 +4,19 @@ ``` $ npm install -$ npm run-script build +$ npm run build +``` + +### How to local preview + +``` +$ npm run preview +``` + +### How to lint + +``` +$ npm run lint ``` ### How to deploy diff --git a/2024/src/slm/index.slm b/2024/src/slm/index.slm index 17985b8..bd0fbe4 100644 --- a/2024/src/slm/index.slm +++ b/2024/src/slm/index.slm @@ -56,7 +56,7 @@ html lang="ja" | ${part.session_types.join(" / ")} : ${part.begin_at} 〜 ${part.end_at} - else li class="item" - | ${part.begin_at} 〜 ${part.end_at} (予定) + | ${part.begin_at} 〜 ${part.end_at} li class="item" | 会場 : a class="text is-primary is-link is-margin-left-xs" href="${this.about.place.url}" rel="noopener noreferrer" target="_blank" diff --git a/2024/src/yaml/data.yaml b/2024/src/yaml/data.yaml index 5ef5073..e4084af 100644 --- a/2024/src/yaml/data.yaml +++ b/2024/src/yaml/data.yaml @@ -82,16 +82,16 @@ session_types: # is_exclusive: true # name: Workshop # timetable_style: list - - description: | - 発表者による特定テーマに関する発表・質疑応答を行う。 - is_exclusive: false - name: Presentation - timetable_style: table - description: | 発表者による展示・質疑応答を行う。 is_exclusive: false name: Showcase timetable_style: list + - description: | + 発表者による特定テーマに関する発表・質疑応答を行う。 + is_exclusive: false + name: Presentation + timetable_style: table sessions: - begin_at: 13:30 end_at: null From 26f1f969652fcc7a97ca188ba5ae22194c51eb34 Mon Sep 17 00:00:00 2001 From: Mahito Ogura Date: Tue, 20 Feb 2024 18:12:39 +0900 Subject: [PATCH 5/6] fix: remove is-fablet-6 --- 2024/src/slm/index.slm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2024/src/slm/index.slm b/2024/src/slm/index.slm index bd0fbe4..6224b87 100644 --- a/2024/src/slm/index.slm +++ b/2024/src/slm/index.slm @@ -133,7 +133,7 @@ html lang="ja" - for session_type of this.session_types - rooms = this.timetable.rooms.filter(r => r.used_by === session_type.name) - if session_type.timetable_style === "list" - div class="column is-12 is-fablet-6 is-space" + div class="column is-12 is-space" h3 class="text is-strong is-lg" | ${session_type.name} - for room of rooms From b7251175ad82c0195da1c9ec2a59b361d8ffddcf Mon Sep 17 00:00:00 2001 From: Mahito Ogura Date: Tue, 20 Feb 2024 18:25:31 +0900 Subject: [PATCH 6/6] fix: Add parts information --- 2024/src/slm/index.slm | 4 ++-- 2024/src/yaml/data.yaml | 15 ++++++++------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/2024/src/slm/index.slm b/2024/src/slm/index.slm index 6224b87..e860051 100644 --- a/2024/src/slm/index.slm +++ b/2024/src/slm/index.slm @@ -51,12 +51,12 @@ html lang="ja" | 日時 : ${this.about.date} ul class="list is-disc" - for part of this.about.parts - - if part.session_types.length > 1 + - if part.session_types.length > 0 li class="item" | ${part.session_types.join(" / ")} : ${part.begin_at} 〜 ${part.end_at} - else li class="item" - | ${part.begin_at} 〜 ${part.end_at} + | ${part.begin_at} 〜 ${part.end_at} (予定) li class="item" | 会場 : a class="text is-primary is-link is-margin-left-xs" href="${this.about.place.url}" rel="noopener noreferrer" target="_blank" diff --git a/2024/src/yaml/data.yaml b/2024/src/yaml/data.yaml index e4084af..c2969cb 100644 --- a/2024/src/yaml/data.yaml +++ b/2024/src/yaml/data.yaml @@ -9,9 +9,6 @@ about: 本イベントではそれらのエンジニアがもつノウハウや悩みを参加者と共有・議論することで、参加者がもっとおもしろいエンジニアになることを目的としています。 fee: 無料 (参加登録制) parts: - - begin_at: 13:30 - end_at: 18:00 - session_types: # - begin_at: ??:?? # end_at: ??:?? # session_types: @@ -20,10 +17,14 @@ about: # end_at: ??:?? # session_types: # - Workshop - - begin_at: 13:30 - end_at: 18:00 - session_types: - - Presentation + - begin_at: 13:30 + end_at: 18:00 + session_types: + - Presentation + - begin_at: 14:20 + end_at: 17:40 + session_types: + - Showcase organizer: NTT Developers place: text: docomo R&D OPEN LAB ODAIBA