From fd399b873b6679405fee5cf0b6f5c3bfcdd74a4f Mon Sep 17 00:00:00 2001 From: Fridge0 Date: Sat, 30 Sep 2023 21:11:36 +0900 Subject: [PATCH 1/8] =?UTF-8?q?=E3=83=AA=E3=83=B3=E3=82=AF=E5=88=87?= =?UTF-8?q?=E3=82=8C=E3=81=A6=E3=81=9F=E3=81=AE=E3=81=A7=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Term/definitions.js | 31 ++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/components/Term/definitions.js b/src/components/Term/definitions.js index ba179832d..055164266 100644 --- a/src/components/Term/definitions.js +++ b/src/components/Term/definitions.js @@ -16,6 +16,8 @@ export default { "/docs/trial-session/deploy/": "作ったウェブアプリを公開する", "/docs/browser-apps/inspector/": "ブラウザの開発者ツール", "/docs/browser-apps/constant/": "定数とオブジェクトの参照", + "/docs/browser-apps/constant/#参照": "定数とオブジェクトの参照", + "/docs/exercise/basis-of-web/#副作用と純粋関数の話": "副作用と純粋関数", "/docs/browser-apps/loop/": "繰り返し", "/docs/browser-apps/class/": "クラス", "/docs/browser-apps/array/": "配列", @@ -219,6 +221,12 @@ export default { "JavaScriptにおける値の一種で、真偽を表すもの。true または false の2種類しかない。", referencePage: "/docs/trial-session/boolean/", }, + javascriptIfStatement: { + name: "if文", + definition: + "与えられた真偽値が真である場合のみ{}ブロックの中の処理を実行する制御構造。", + referencePage: "/docs/trial-session/if-statement/", + }, javascriptControlFlow: { name: "制御構造 (JavaScript)", definition: @@ -292,6 +300,29 @@ export default { "イベント発生時の処理を行う仕組み。onclick 関数、onload 関数など、on キーワードにイベント名をつけた名称になっている。", referencePage: "/docs/trial-session/events/", }, + javascriptReference: { + name: "参照", + definition: + "値のコピーではなくメモリの場所を指し示す値の形式。オブジェクトや配列を直接評価すると得られる。代入演算子で参照値を渡した場合、二つの変数が同じものを指し示していることになるため、片方を変更するともう片方も変更されてしまう。", + referencePage: "/docs/browser-apps/constant/#参照", + }, + javascriptSideEffects: { + name: "副作用", + definition: + "関数などを実行したときに、返り値以外の変数に影響を及ぼすこと。", + referencePage: "/docs/exercise/basis-of-web/#副作用と純粋関数の話", + }, + javascriptPureFunction: { + name: "純粋関数", + definition: "副作用を持たない関数。数学的な関数や写像により近い概念。", + referencePage: "/docs/exercise/basis-of-web/#副作用と純粋関数の話", + }, + javascriptReferenceTransparency: { + name: "参照透過性", + definition: + "関数に一定の引数を与えると、常に一定の値を返すこと。デバッグがしやすく、キャッシュなどを使って自動で高速化することができる。", + // referencePage: "/docs/exercise/basis-of-web/#副作用と純粋関数の話", + }, javascriptClass: { name: "クラス (JavaScript)", definition: From f97319c434f046c821a5ff833aa56a5ddaec600c Mon Sep 17 00:00:00 2001 From: Fridge0 Date: Sat, 30 Sep 2023 21:12:14 +0900 Subject: [PATCH 2/8] =?UTF-8?q?=E3=83=AA=E3=83=B3=E3=82=AF=E3=81=AEreferen?= =?UTF-8?q?cePage=E3=81=8C=E5=AD=98=E5=9C=A8=E3=81=97=E3=81=AA=E3=81=84?= =?UTF-8?q?=E3=81=A8=E3=81=8D=E3=81=AB=E3=80=81=E7=A9=BA=E3=81=AE=E3=83=AA?= =?UTF-8?q?=E3=83=B3=E3=82=AF=E3=82=92=E8=A1=A8=E7=A4=BA=E3=81=97=E3=81=AA?= =?UTF-8?q?=E3=81=84=E3=82=88=E3=81=86=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Term/index.jsx | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/components/Term/index.jsx b/src/components/Term/index.jsx index b0cb96e94..f396450b8 100644 --- a/src/components/Term/index.jsx +++ b/src/components/Term/index.jsx @@ -22,22 +22,27 @@ export default function Term({ type, strong = false, children }) { const location = useLocation(); const wrap = (content) => { - // 現在のページで用語が初出であればリンクを表示する必要がない - const shouldLinkToReferencePage = Boolean( - location.pathname !== term.referencePage && - location.pathname + "/" !== term.referencePage, - ); + const shouldLinkToReferencePage = () => { + + // referencePageがundefinedならばリンクを表示しない (refPageTitleがundefでもデバッグの容易性のために表示する、直せ) + if(term.referencePage === undefined) return false; + + // 現在のページで用語が初出であればリンクを表示する必要がない + if(location.pathname === term.referencePage) return false; + if(location.pathname + "/" === term.referencePage) return false; + return true; + } return (
{term.name}
{term.definition}
- {shouldLinkToReferencePage && ( + {shouldLinkToReferencePage() && ( {referencePageTitle} へ From b85269975b9d0d78faf9055702d1e5a2cbe3d88b Mon Sep 17 00:00:00 2001 From: Fridge0 Date: Sun, 1 Oct 2023 01:06:21 +0900 Subject: [PATCH 3/8] =?UTF-8?q?#=E3=82=A2=E3=83=B3=E3=82=AB=E3=83=BC?= =?UTF-8?q?=E3=82=92=E9=99=A4=E5=A4=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Term/index.jsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/components/Term/index.jsx b/src/components/Term/index.jsx index f396450b8..67a638c93 100644 --- a/src/components/Term/index.jsx +++ b/src/components/Term/index.jsx @@ -27,9 +27,11 @@ export default function Term({ type, strong = false, children }) { // referencePageがundefinedならばリンクを表示しない (refPageTitleがundefでもデバッグの容易性のために表示する、直せ) if(term.referencePage === undefined) return false; + // referencePageの#アンカーを除外 + const referenceLink = term.referencePage.split("#")[0]; // 現在のページで用語が初出であればリンクを表示する必要がない - if(location.pathname === term.referencePage) return false; - if(location.pathname + "/" === term.referencePage) return false; + if(location.pathname === referenceLink) return false; + if(location.pathname + "/" === referenceLink) return false; return true; } From 8fca290106cce000a14e73337cc6c068392974e8 Mon Sep 17 00:00:00 2001 From: Fridge0 Date: Mon, 2 Oct 2023 01:45:43 +0900 Subject: [PATCH 4/8] =?UTF-8?q?Revert=20"=E3=83=AA=E3=83=B3=E3=82=AF?= =?UTF-8?q?=E5=88=87=E3=82=8C=E3=81=A6=E3=81=9F=E3=81=AE=E3=81=A7=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3"=20bc=20the=20change=20was=20local=20(switched=20to?= =?UTF-8?q?=20another=20branch)=20This=20reverts=20commit=20fd399b873b6679?= =?UTF-8?q?405fee5cf0b6f5c3bfcdd74a4f.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Term/definitions.js | 31 ------------------------------ 1 file changed, 31 deletions(-) diff --git a/src/components/Term/definitions.js b/src/components/Term/definitions.js index 055164266..ba179832d 100644 --- a/src/components/Term/definitions.js +++ b/src/components/Term/definitions.js @@ -16,8 +16,6 @@ export default { "/docs/trial-session/deploy/": "作ったウェブアプリを公開する", "/docs/browser-apps/inspector/": "ブラウザの開発者ツール", "/docs/browser-apps/constant/": "定数とオブジェクトの参照", - "/docs/browser-apps/constant/#参照": "定数とオブジェクトの参照", - "/docs/exercise/basis-of-web/#副作用と純粋関数の話": "副作用と純粋関数", "/docs/browser-apps/loop/": "繰り返し", "/docs/browser-apps/class/": "クラス", "/docs/browser-apps/array/": "配列", @@ -221,12 +219,6 @@ export default { "JavaScriptにおける値の一種で、真偽を表すもの。true または false の2種類しかない。", referencePage: "/docs/trial-session/boolean/", }, - javascriptIfStatement: { - name: "if文", - definition: - "与えられた真偽値が真である場合のみ{}ブロックの中の処理を実行する制御構造。", - referencePage: "/docs/trial-session/if-statement/", - }, javascriptControlFlow: { name: "制御構造 (JavaScript)", definition: @@ -300,29 +292,6 @@ export default { "イベント発生時の処理を行う仕組み。onclick 関数、onload 関数など、on キーワードにイベント名をつけた名称になっている。", referencePage: "/docs/trial-session/events/", }, - javascriptReference: { - name: "参照", - definition: - "値のコピーではなくメモリの場所を指し示す値の形式。オブジェクトや配列を直接評価すると得られる。代入演算子で参照値を渡した場合、二つの変数が同じものを指し示していることになるため、片方を変更するともう片方も変更されてしまう。", - referencePage: "/docs/browser-apps/constant/#参照", - }, - javascriptSideEffects: { - name: "副作用", - definition: - "関数などを実行したときに、返り値以外の変数に影響を及ぼすこと。", - referencePage: "/docs/exercise/basis-of-web/#副作用と純粋関数の話", - }, - javascriptPureFunction: { - name: "純粋関数", - definition: "副作用を持たない関数。数学的な関数や写像により近い概念。", - referencePage: "/docs/exercise/basis-of-web/#副作用と純粋関数の話", - }, - javascriptReferenceTransparency: { - name: "参照透過性", - definition: - "関数に一定の引数を与えると、常に一定の値を返すこと。デバッグがしやすく、キャッシュなどを使って自動で高速化することができる。", - // referencePage: "/docs/exercise/basis-of-web/#副作用と純粋関数の話", - }, javascriptClass: { name: "クラス (JavaScript)", definition: From ca81fe3d2e03c98d166c3aca991e21ab53d6e387 Mon Sep 17 00:00:00 2001 From: Fridge0 Date: Mon, 2 Oct 2023 01:47:01 +0900 Subject: [PATCH 5/8] prettier --- src/components/Term/index.jsx | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/components/Term/index.jsx b/src/components/Term/index.jsx index 67a638c93..7b7f5b873 100644 --- a/src/components/Term/index.jsx +++ b/src/components/Term/index.jsx @@ -23,17 +23,16 @@ export default function Term({ type, strong = false, children }) { const wrap = (content) => { const shouldLinkToReferencePage = () => { + // referencePageがundefinedならばリンクを表示しない (refPageTitleがundefでもデバッグの容易性のために表示する、直せ) + if (term.referencePage === undefined) return false; - // referencePageがundefinedならばリンクを表示しない (refPageTitleがundefでもデバッグの容易性のために表示する、直せ) - if(term.referencePage === undefined) return false; - - // referencePageの#アンカーを除外 + // referencePageの#アンカーを除外 const referenceLink = term.referencePage.split("#")[0]; - // 現在のページで用語が初出であればリンクを表示する必要がない - if(location.pathname === referenceLink) return false; - if(location.pathname + "/" === referenceLink) return false; + // 現在のページで用語が初出であればリンクを表示する必要がない + if (location.pathname === referenceLink) return false; + if (location.pathname + "/" === referenceLink) return false; return true; - } + }; return ( Date: Mon, 2 Oct 2023 01:54:56 +0900 Subject: [PATCH 6/8] =?UTF-8?q?=E3=82=A8=E3=83=A9=E3=83=BC=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Term/index.jsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/components/Term/index.jsx b/src/components/Term/index.jsx index 7b7f5b873..0ccea4219 100644 --- a/src/components/Term/index.jsx +++ b/src/components/Term/index.jsx @@ -23,9 +23,15 @@ export default function Term({ type, strong = false, children }) { const wrap = (content) => { const shouldLinkToReferencePage = () => { - // referencePageがundefinedならばリンクを表示しない (refPageTitleがundefでもデバッグの容易性のために表示する、直せ) + // referencePageがundefinedならばリンクを表示しない if (term.referencePage === undefined) return false; + // referencePageTitleがundefinedならばエラーを投げる (明らかに人的ミスのため) + if (term.referencePageTitle === undefined) + throw new Error( + `The page title of reference [ ${referencePage} ] is not defined in [ Term/definition.js, .referencePageTitles ]`, + ); + // referencePageの#アンカーを除外 const referenceLink = term.referencePage.split("#")[0]; // 現在のページで用語が初出であればリンクを表示する必要がない From 1e2e5d034306a6e816fc4be59786b1c409b7be48 Mon Sep 17 00:00:00 2001 From: Fridge0 Date: Mon, 2 Oct 2023 02:21:17 +0900 Subject: [PATCH 7/8] =?UTF-8?q?=E5=8B=95=E3=81=8F=E3=82=88=E3=81=86?= =?UTF-8?q?=E3=81=AB=E3=81=AA=E3=82=8A=E3=81=BE=E3=81=97=E3=81=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Term/index.jsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/Term/index.jsx b/src/components/Term/index.jsx index 0ccea4219..e91a689df 100644 --- a/src/components/Term/index.jsx +++ b/src/components/Term/index.jsx @@ -27,10 +27,11 @@ export default function Term({ type, strong = false, children }) { if (term.referencePage === undefined) return false; // referencePageTitleがundefinedならばエラーを投げる (明らかに人的ミスのため) - if (term.referencePageTitle === undefined) + if (referencePageTitle === undefined) { throw new Error( - `The page title of reference [ ${referencePage} ] is not defined in [ Term/definition.js, .referencePageTitles ]`, + `The page title of the reference " ${term.referencePage} " \n is not defined in \n[ src/components/Term/definition.js/, referencePageTitles ]`, ); + } // referencePageの#アンカーを除外 const referenceLink = term.referencePage.split("#")[0]; From 540ea730ba5b7ba8ab56d6ba6f9e73846c47ee65 Mon Sep 17 00:00:00 2001 From: Fridge0 Date: Mon, 2 Oct 2023 23:35:40 +0900 Subject: [PATCH 8/8] =?UTF-8?q?=E3=82=A8=E3=83=A9=E3=83=BC=E3=83=A1?= =?UTF-8?q?=E3=83=83=E3=82=BB=E3=83=BC=E3=82=B8=E5=BE=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Term/index.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Term/index.jsx b/src/components/Term/index.jsx index e91a689df..728bcdfcb 100644 --- a/src/components/Term/index.jsx +++ b/src/components/Term/index.jsx @@ -29,7 +29,7 @@ export default function Term({ type, strong = false, children }) { // referencePageTitleがundefinedならばエラーを投げる (明らかに人的ミスのため) if (referencePageTitle === undefined) { throw new Error( - `The page title of the reference " ${term.referencePage} " \n is not defined in \n[ src/components/Term/definition.js/, referencePageTitles ]`, + `The page title of the reference \n" ${term.referencePage} " \n is not defined in referencePageTitles in "src/components/Term/definition.js"`, ); }