From e2b08e972ee85e499fcf3b4da777f4dd0d17df6a Mon Sep 17 00:00:00 2001 From: Shota Kubota Date: Tue, 5 Feb 2019 10:49:20 +0900 Subject: [PATCH 1/4] refactor(src): add assets directory in src/ --- src/{ => assets}/images/avatars/kubosho_.jpg | Bin src/{ => assets}/images/ch0/git-logo.jpg | Bin src/{ => assets}/images/ch1/gadget_idea.jpg | Bin src/{ => assets}/images/ch2/google-trend.jpg | Bin src/{ => assets}/images/ch2/qiita-git.jpg | Bin src/{ => assets}/images/ch2/qiita-svn.jpg | Bin src/{ => assets}/images/ch2/stackoverflow-git.jpg | Bin src/{ => assets}/images/ch2/stackoverflow-svn.jpg | Bin .../images/ch3/git-branch/source-tree/after.jpg | Bin .../images/ch3/git-branch/source-tree/before.jpg | Bin .../images/ch3/git-branch/source-tree/name.jpg | Bin .../ch3/git-checkout-file/source-tree/after.jpg | Bin .../ch3/git-checkout-file/source-tree/before.jpg | Bin .../ch3/git-checkout-file/source-tree/confirm.jpg | Bin src/{ => assets}/images/ch3/git-checkout.jpg | Bin .../ch3/git-clone/source-tree/button-select.jpg | Bin .../ch3/git-clone/source-tree/repository-select.jpg | Bin .../images/ch3/git-commit/source-tree/add-after.jpg | Bin .../ch3/git-commit/source-tree/add-before.jpg | Bin .../ch3/git-commit/source-tree/commit-after.jpg | Bin .../ch3/git-commit/source-tree/commit-before.jpg | Bin .../images/ch3/git-diff/source-tree/diff.jpg | Bin .../images/ch3/git-init/source-tree/buttons.jpg | Bin .../images/ch3/git-init/source-tree/dialog.jpg | Bin .../images/ch3/git-init/source-tree/empty.jpg | Bin .../images/ch3/git-merge/source-tree/after.jpg | Bin .../images/ch3/git-merge/source-tree/before.jpg | Bin .../ch3/git-merge/source-tree/branch-change.jpg | Bin .../ch3/git-merge/source-tree/commit-message.jpg | Bin .../images/ch3/git-merge/source-tree/confirm.jpg | Bin .../images/ch3/git-merge/source-tree/select.jpg | Bin .../images/ch3/git-merge/source-tree/uncommit.jpg | Bin src/{ => assets}/images/ch3/git-pull-after.jpg | Bin src/{ => assets}/images/ch3/git-pull-before.jpg | Bin src/{ => assets}/images/ch3/git-pull-select.jpg | Bin src/{ => assets}/images/ch3/git-push-after.jpg | Bin .../images/ch3/git-push-branch-select.jpg | Bin .../git-rebase/source-tree/message-edit-after.jpg | Bin .../git-rebase/source-tree/message-edit-before.jpg | Bin .../ch3/git-rebase/source-tree/message-edit-now.jpg | Bin .../git-rebase/source-tree/message-edit-select.jpg | Bin .../ch3/git-rebase/source-tree/squash-after.jpg | Bin .../ch3/git-rebase/source-tree/squash-before.jpg | Bin .../git-rebase/source-tree/squash-message-edit.jpg | Bin .../git-rebase/source-tree/squash-right-click.jpg | Bin src/{ => assets}/images/ch3/git-reset-after.jpg | Bin src/{ => assets}/images/ch3/git-reset-before.jpg | Bin .../images/ch3/git-reset-right-click.jpg | Bin .../images/favicon/apple-touch-icon-180x180.png | Bin src/{ => assets}/images/favicon/favicon.ico | Bin src/{ => assets}/images/favicon/favicon.png | Bin src/{ => assets}/images/headshots/kubosho_.jpg | Bin src/{ => assets}/images/share/ogp.jpg | Bin 53 files changed, 0 insertions(+), 0 deletions(-) rename src/{ => assets}/images/avatars/kubosho_.jpg (100%) rename src/{ => assets}/images/ch0/git-logo.jpg (100%) rename src/{ => assets}/images/ch1/gadget_idea.jpg (100%) rename src/{ => assets}/images/ch2/google-trend.jpg (100%) rename src/{ => assets}/images/ch2/qiita-git.jpg (100%) rename src/{ => assets}/images/ch2/qiita-svn.jpg (100%) rename src/{ => assets}/images/ch2/stackoverflow-git.jpg (100%) rename src/{ => assets}/images/ch2/stackoverflow-svn.jpg (100%) rename src/{ => assets}/images/ch3/git-branch/source-tree/after.jpg (100%) rename src/{ => assets}/images/ch3/git-branch/source-tree/before.jpg (100%) rename src/{ => assets}/images/ch3/git-branch/source-tree/name.jpg (100%) rename src/{ => assets}/images/ch3/git-checkout-file/source-tree/after.jpg (100%) rename src/{ => assets}/images/ch3/git-checkout-file/source-tree/before.jpg (100%) rename src/{ => assets}/images/ch3/git-checkout-file/source-tree/confirm.jpg (100%) rename src/{ => assets}/images/ch3/git-checkout.jpg (100%) rename src/{ => assets}/images/ch3/git-clone/source-tree/button-select.jpg (100%) rename src/{ => assets}/images/ch3/git-clone/source-tree/repository-select.jpg (100%) rename src/{ => assets}/images/ch3/git-commit/source-tree/add-after.jpg (100%) rename src/{ => assets}/images/ch3/git-commit/source-tree/add-before.jpg (100%) rename src/{ => assets}/images/ch3/git-commit/source-tree/commit-after.jpg (100%) rename src/{ => assets}/images/ch3/git-commit/source-tree/commit-before.jpg (100%) rename src/{ => assets}/images/ch3/git-diff/source-tree/diff.jpg (100%) rename src/{ => assets}/images/ch3/git-init/source-tree/buttons.jpg (100%) rename src/{ => assets}/images/ch3/git-init/source-tree/dialog.jpg (100%) rename src/{ => assets}/images/ch3/git-init/source-tree/empty.jpg (100%) rename src/{ => assets}/images/ch3/git-merge/source-tree/after.jpg (100%) rename src/{ => assets}/images/ch3/git-merge/source-tree/before.jpg (100%) rename src/{ => assets}/images/ch3/git-merge/source-tree/branch-change.jpg (100%) rename src/{ => assets}/images/ch3/git-merge/source-tree/commit-message.jpg (100%) rename src/{ => assets}/images/ch3/git-merge/source-tree/confirm.jpg (100%) rename src/{ => assets}/images/ch3/git-merge/source-tree/select.jpg (100%) rename src/{ => assets}/images/ch3/git-merge/source-tree/uncommit.jpg (100%) rename src/{ => assets}/images/ch3/git-pull-after.jpg (100%) rename src/{ => assets}/images/ch3/git-pull-before.jpg (100%) rename src/{ => assets}/images/ch3/git-pull-select.jpg (100%) rename src/{ => assets}/images/ch3/git-push-after.jpg (100%) rename src/{ => assets}/images/ch3/git-push-branch-select.jpg (100%) rename src/{ => assets}/images/ch3/git-rebase/source-tree/message-edit-after.jpg (100%) rename src/{ => assets}/images/ch3/git-rebase/source-tree/message-edit-before.jpg (100%) rename src/{ => assets}/images/ch3/git-rebase/source-tree/message-edit-now.jpg (100%) rename src/{ => assets}/images/ch3/git-rebase/source-tree/message-edit-select.jpg (100%) rename src/{ => assets}/images/ch3/git-rebase/source-tree/squash-after.jpg (100%) rename src/{ => assets}/images/ch3/git-rebase/source-tree/squash-before.jpg (100%) rename src/{ => assets}/images/ch3/git-rebase/source-tree/squash-message-edit.jpg (100%) rename src/{ => assets}/images/ch3/git-rebase/source-tree/squash-right-click.jpg (100%) rename src/{ => assets}/images/ch3/git-reset-after.jpg (100%) rename src/{ => assets}/images/ch3/git-reset-before.jpg (100%) rename src/{ => assets}/images/ch3/git-reset-right-click.jpg (100%) rename src/{ => assets}/images/favicon/apple-touch-icon-180x180.png (100%) rename src/{ => assets}/images/favicon/favicon.ico (100%) rename src/{ => assets}/images/favicon/favicon.png (100%) rename src/{ => assets}/images/headshots/kubosho_.jpg (100%) rename src/{ => assets}/images/share/ogp.jpg (100%) diff --git a/src/images/avatars/kubosho_.jpg b/src/assets/images/avatars/kubosho_.jpg similarity index 100% rename from src/images/avatars/kubosho_.jpg rename to src/assets/images/avatars/kubosho_.jpg diff --git a/src/images/ch0/git-logo.jpg b/src/assets/images/ch0/git-logo.jpg similarity index 100% rename from src/images/ch0/git-logo.jpg rename to src/assets/images/ch0/git-logo.jpg diff --git a/src/images/ch1/gadget_idea.jpg b/src/assets/images/ch1/gadget_idea.jpg similarity index 100% rename from src/images/ch1/gadget_idea.jpg rename to src/assets/images/ch1/gadget_idea.jpg diff --git a/src/images/ch2/google-trend.jpg b/src/assets/images/ch2/google-trend.jpg similarity index 100% rename from src/images/ch2/google-trend.jpg rename to src/assets/images/ch2/google-trend.jpg diff --git a/src/images/ch2/qiita-git.jpg b/src/assets/images/ch2/qiita-git.jpg similarity index 100% rename from src/images/ch2/qiita-git.jpg rename to src/assets/images/ch2/qiita-git.jpg diff --git a/src/images/ch2/qiita-svn.jpg b/src/assets/images/ch2/qiita-svn.jpg similarity index 100% rename from src/images/ch2/qiita-svn.jpg rename to src/assets/images/ch2/qiita-svn.jpg diff --git a/src/images/ch2/stackoverflow-git.jpg b/src/assets/images/ch2/stackoverflow-git.jpg similarity index 100% rename from src/images/ch2/stackoverflow-git.jpg rename to src/assets/images/ch2/stackoverflow-git.jpg diff --git a/src/images/ch2/stackoverflow-svn.jpg b/src/assets/images/ch2/stackoverflow-svn.jpg similarity index 100% rename from src/images/ch2/stackoverflow-svn.jpg rename to src/assets/images/ch2/stackoverflow-svn.jpg diff --git a/src/images/ch3/git-branch/source-tree/after.jpg b/src/assets/images/ch3/git-branch/source-tree/after.jpg similarity index 100% rename from src/images/ch3/git-branch/source-tree/after.jpg rename to src/assets/images/ch3/git-branch/source-tree/after.jpg diff --git a/src/images/ch3/git-branch/source-tree/before.jpg b/src/assets/images/ch3/git-branch/source-tree/before.jpg similarity index 100% rename from src/images/ch3/git-branch/source-tree/before.jpg rename to src/assets/images/ch3/git-branch/source-tree/before.jpg diff --git a/src/images/ch3/git-branch/source-tree/name.jpg b/src/assets/images/ch3/git-branch/source-tree/name.jpg similarity index 100% rename from src/images/ch3/git-branch/source-tree/name.jpg rename to src/assets/images/ch3/git-branch/source-tree/name.jpg diff --git a/src/images/ch3/git-checkout-file/source-tree/after.jpg b/src/assets/images/ch3/git-checkout-file/source-tree/after.jpg similarity index 100% rename from src/images/ch3/git-checkout-file/source-tree/after.jpg rename to src/assets/images/ch3/git-checkout-file/source-tree/after.jpg diff --git a/src/images/ch3/git-checkout-file/source-tree/before.jpg b/src/assets/images/ch3/git-checkout-file/source-tree/before.jpg similarity index 100% rename from src/images/ch3/git-checkout-file/source-tree/before.jpg rename to src/assets/images/ch3/git-checkout-file/source-tree/before.jpg diff --git a/src/images/ch3/git-checkout-file/source-tree/confirm.jpg b/src/assets/images/ch3/git-checkout-file/source-tree/confirm.jpg similarity index 100% rename from src/images/ch3/git-checkout-file/source-tree/confirm.jpg rename to src/assets/images/ch3/git-checkout-file/source-tree/confirm.jpg diff --git a/src/images/ch3/git-checkout.jpg b/src/assets/images/ch3/git-checkout.jpg similarity index 100% rename from src/images/ch3/git-checkout.jpg rename to src/assets/images/ch3/git-checkout.jpg diff --git a/src/images/ch3/git-clone/source-tree/button-select.jpg b/src/assets/images/ch3/git-clone/source-tree/button-select.jpg similarity index 100% rename from src/images/ch3/git-clone/source-tree/button-select.jpg rename to src/assets/images/ch3/git-clone/source-tree/button-select.jpg diff --git a/src/images/ch3/git-clone/source-tree/repository-select.jpg b/src/assets/images/ch3/git-clone/source-tree/repository-select.jpg similarity index 100% rename from src/images/ch3/git-clone/source-tree/repository-select.jpg rename to src/assets/images/ch3/git-clone/source-tree/repository-select.jpg diff --git a/src/images/ch3/git-commit/source-tree/add-after.jpg b/src/assets/images/ch3/git-commit/source-tree/add-after.jpg similarity index 100% rename from src/images/ch3/git-commit/source-tree/add-after.jpg rename to src/assets/images/ch3/git-commit/source-tree/add-after.jpg diff --git a/src/images/ch3/git-commit/source-tree/add-before.jpg b/src/assets/images/ch3/git-commit/source-tree/add-before.jpg similarity index 100% rename from src/images/ch3/git-commit/source-tree/add-before.jpg rename to src/assets/images/ch3/git-commit/source-tree/add-before.jpg diff --git a/src/images/ch3/git-commit/source-tree/commit-after.jpg b/src/assets/images/ch3/git-commit/source-tree/commit-after.jpg similarity index 100% rename from src/images/ch3/git-commit/source-tree/commit-after.jpg rename to src/assets/images/ch3/git-commit/source-tree/commit-after.jpg diff --git a/src/images/ch3/git-commit/source-tree/commit-before.jpg b/src/assets/images/ch3/git-commit/source-tree/commit-before.jpg similarity index 100% rename from src/images/ch3/git-commit/source-tree/commit-before.jpg rename to src/assets/images/ch3/git-commit/source-tree/commit-before.jpg diff --git a/src/images/ch3/git-diff/source-tree/diff.jpg b/src/assets/images/ch3/git-diff/source-tree/diff.jpg similarity index 100% rename from src/images/ch3/git-diff/source-tree/diff.jpg rename to src/assets/images/ch3/git-diff/source-tree/diff.jpg diff --git a/src/images/ch3/git-init/source-tree/buttons.jpg b/src/assets/images/ch3/git-init/source-tree/buttons.jpg similarity index 100% rename from src/images/ch3/git-init/source-tree/buttons.jpg rename to src/assets/images/ch3/git-init/source-tree/buttons.jpg diff --git a/src/images/ch3/git-init/source-tree/dialog.jpg b/src/assets/images/ch3/git-init/source-tree/dialog.jpg similarity index 100% rename from src/images/ch3/git-init/source-tree/dialog.jpg rename to src/assets/images/ch3/git-init/source-tree/dialog.jpg diff --git a/src/images/ch3/git-init/source-tree/empty.jpg b/src/assets/images/ch3/git-init/source-tree/empty.jpg similarity index 100% rename from src/images/ch3/git-init/source-tree/empty.jpg rename to src/assets/images/ch3/git-init/source-tree/empty.jpg diff --git a/src/images/ch3/git-merge/source-tree/after.jpg b/src/assets/images/ch3/git-merge/source-tree/after.jpg similarity index 100% rename from src/images/ch3/git-merge/source-tree/after.jpg rename to src/assets/images/ch3/git-merge/source-tree/after.jpg diff --git a/src/images/ch3/git-merge/source-tree/before.jpg b/src/assets/images/ch3/git-merge/source-tree/before.jpg similarity index 100% rename from src/images/ch3/git-merge/source-tree/before.jpg rename to src/assets/images/ch3/git-merge/source-tree/before.jpg diff --git a/src/images/ch3/git-merge/source-tree/branch-change.jpg b/src/assets/images/ch3/git-merge/source-tree/branch-change.jpg similarity index 100% rename from src/images/ch3/git-merge/source-tree/branch-change.jpg rename to src/assets/images/ch3/git-merge/source-tree/branch-change.jpg diff --git a/src/images/ch3/git-merge/source-tree/commit-message.jpg b/src/assets/images/ch3/git-merge/source-tree/commit-message.jpg similarity index 100% rename from src/images/ch3/git-merge/source-tree/commit-message.jpg rename to src/assets/images/ch3/git-merge/source-tree/commit-message.jpg diff --git a/src/images/ch3/git-merge/source-tree/confirm.jpg b/src/assets/images/ch3/git-merge/source-tree/confirm.jpg similarity index 100% rename from src/images/ch3/git-merge/source-tree/confirm.jpg rename to src/assets/images/ch3/git-merge/source-tree/confirm.jpg diff --git a/src/images/ch3/git-merge/source-tree/select.jpg b/src/assets/images/ch3/git-merge/source-tree/select.jpg similarity index 100% rename from src/images/ch3/git-merge/source-tree/select.jpg rename to src/assets/images/ch3/git-merge/source-tree/select.jpg diff --git a/src/images/ch3/git-merge/source-tree/uncommit.jpg b/src/assets/images/ch3/git-merge/source-tree/uncommit.jpg similarity index 100% rename from src/images/ch3/git-merge/source-tree/uncommit.jpg rename to src/assets/images/ch3/git-merge/source-tree/uncommit.jpg diff --git a/src/images/ch3/git-pull-after.jpg b/src/assets/images/ch3/git-pull-after.jpg similarity index 100% rename from src/images/ch3/git-pull-after.jpg rename to src/assets/images/ch3/git-pull-after.jpg diff --git a/src/images/ch3/git-pull-before.jpg b/src/assets/images/ch3/git-pull-before.jpg similarity index 100% rename from src/images/ch3/git-pull-before.jpg rename to src/assets/images/ch3/git-pull-before.jpg diff --git a/src/images/ch3/git-pull-select.jpg b/src/assets/images/ch3/git-pull-select.jpg similarity index 100% rename from src/images/ch3/git-pull-select.jpg rename to src/assets/images/ch3/git-pull-select.jpg diff --git a/src/images/ch3/git-push-after.jpg b/src/assets/images/ch3/git-push-after.jpg similarity index 100% rename from src/images/ch3/git-push-after.jpg rename to src/assets/images/ch3/git-push-after.jpg diff --git a/src/images/ch3/git-push-branch-select.jpg b/src/assets/images/ch3/git-push-branch-select.jpg similarity index 100% rename from src/images/ch3/git-push-branch-select.jpg rename to src/assets/images/ch3/git-push-branch-select.jpg diff --git a/src/images/ch3/git-rebase/source-tree/message-edit-after.jpg b/src/assets/images/ch3/git-rebase/source-tree/message-edit-after.jpg similarity index 100% rename from src/images/ch3/git-rebase/source-tree/message-edit-after.jpg rename to src/assets/images/ch3/git-rebase/source-tree/message-edit-after.jpg diff --git a/src/images/ch3/git-rebase/source-tree/message-edit-before.jpg b/src/assets/images/ch3/git-rebase/source-tree/message-edit-before.jpg similarity index 100% rename from src/images/ch3/git-rebase/source-tree/message-edit-before.jpg rename to src/assets/images/ch3/git-rebase/source-tree/message-edit-before.jpg diff --git a/src/images/ch3/git-rebase/source-tree/message-edit-now.jpg b/src/assets/images/ch3/git-rebase/source-tree/message-edit-now.jpg similarity index 100% rename from src/images/ch3/git-rebase/source-tree/message-edit-now.jpg rename to src/assets/images/ch3/git-rebase/source-tree/message-edit-now.jpg diff --git a/src/images/ch3/git-rebase/source-tree/message-edit-select.jpg b/src/assets/images/ch3/git-rebase/source-tree/message-edit-select.jpg similarity index 100% rename from src/images/ch3/git-rebase/source-tree/message-edit-select.jpg rename to src/assets/images/ch3/git-rebase/source-tree/message-edit-select.jpg diff --git a/src/images/ch3/git-rebase/source-tree/squash-after.jpg b/src/assets/images/ch3/git-rebase/source-tree/squash-after.jpg similarity index 100% rename from src/images/ch3/git-rebase/source-tree/squash-after.jpg rename to src/assets/images/ch3/git-rebase/source-tree/squash-after.jpg diff --git a/src/images/ch3/git-rebase/source-tree/squash-before.jpg b/src/assets/images/ch3/git-rebase/source-tree/squash-before.jpg similarity index 100% rename from src/images/ch3/git-rebase/source-tree/squash-before.jpg rename to src/assets/images/ch3/git-rebase/source-tree/squash-before.jpg diff --git a/src/images/ch3/git-rebase/source-tree/squash-message-edit.jpg b/src/assets/images/ch3/git-rebase/source-tree/squash-message-edit.jpg similarity index 100% rename from src/images/ch3/git-rebase/source-tree/squash-message-edit.jpg rename to src/assets/images/ch3/git-rebase/source-tree/squash-message-edit.jpg diff --git a/src/images/ch3/git-rebase/source-tree/squash-right-click.jpg b/src/assets/images/ch3/git-rebase/source-tree/squash-right-click.jpg similarity index 100% rename from src/images/ch3/git-rebase/source-tree/squash-right-click.jpg rename to src/assets/images/ch3/git-rebase/source-tree/squash-right-click.jpg diff --git a/src/images/ch3/git-reset-after.jpg b/src/assets/images/ch3/git-reset-after.jpg similarity index 100% rename from src/images/ch3/git-reset-after.jpg rename to src/assets/images/ch3/git-reset-after.jpg diff --git a/src/images/ch3/git-reset-before.jpg b/src/assets/images/ch3/git-reset-before.jpg similarity index 100% rename from src/images/ch3/git-reset-before.jpg rename to src/assets/images/ch3/git-reset-before.jpg diff --git a/src/images/ch3/git-reset-right-click.jpg b/src/assets/images/ch3/git-reset-right-click.jpg similarity index 100% rename from src/images/ch3/git-reset-right-click.jpg rename to src/assets/images/ch3/git-reset-right-click.jpg diff --git a/src/images/favicon/apple-touch-icon-180x180.png b/src/assets/images/favicon/apple-touch-icon-180x180.png similarity index 100% rename from src/images/favicon/apple-touch-icon-180x180.png rename to src/assets/images/favicon/apple-touch-icon-180x180.png diff --git a/src/images/favicon/favicon.ico b/src/assets/images/favicon/favicon.ico similarity index 100% rename from src/images/favicon/favicon.ico rename to src/assets/images/favicon/favicon.ico diff --git a/src/images/favicon/favicon.png b/src/assets/images/favicon/favicon.png similarity index 100% rename from src/images/favicon/favicon.png rename to src/assets/images/favicon/favicon.png diff --git a/src/images/headshots/kubosho_.jpg b/src/assets/images/headshots/kubosho_.jpg similarity index 100% rename from src/images/headshots/kubosho_.jpg rename to src/assets/images/headshots/kubosho_.jpg diff --git a/src/images/share/ogp.jpg b/src/assets/images/share/ogp.jpg similarity index 100% rename from src/images/share/ogp.jpg rename to src/assets/images/share/ogp.jpg From 0499b6b1d7694f21dfdd59c19e7806227180c9f4 Mon Sep 17 00:00:00 2001 From: Shota Kubota Date: Tue, 5 Feb 2019 10:50:08 +0900 Subject: [PATCH 2/4] feat(assets): add new GA optout scripts --- public/ga-optout.js | 16 -------- public/google-analytics.js | 23 ------------ src/assets/scripts/gaEntryPoint.mjs | 25 ++++++++++++ src/assets/scripts/gaOptout.mjs | 46 +++++++++++++++++++++++ src/assets/scripts/gaOptoutKeyStorage.mjs | 15 ++++++++ 5 files changed, 86 insertions(+), 39 deletions(-) delete mode 100644 public/ga-optout.js delete mode 100644 public/google-analytics.js create mode 100644 src/assets/scripts/gaEntryPoint.mjs create mode 100644 src/assets/scripts/gaOptout.mjs create mode 100644 src/assets/scripts/gaOptoutKeyStorage.mjs diff --git a/public/ga-optout.js b/public/ga-optout.js deleted file mode 100644 index 5d371097..00000000 --- a/public/ga-optout.js +++ /dev/null @@ -1,16 +0,0 @@ -// Set to the same value as the web property used on the site -var gaProperty = 'UA-25380313-6'; - -// Disable tracking if the opt-out cookie exists. -var disableStr = 'ga-disable-' + gaProperty; -if (document.cookie.indexOf(disableStr + '=true') > -1) { - window[disableStr] = true; -} - -// Opt-out function -function gaOptout() { - document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/'; - window[disableStr] = true; -} - -window.gaOptout = gaOptout; diff --git a/public/google-analytics.js b/public/google-analytics.js deleted file mode 100644 index 9c516a27..00000000 --- a/public/google-analytics.js +++ /dev/null @@ -1,23 +0,0 @@ -var gaOptOutProperty = 'ga-disable-UA-25380313-6'; -if (document.cookie.indexOf(gaOptOutProperty + '=true') > -1) { - window[gaOptOutProperty] = true; -} - -(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ -(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), -m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) -})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - -ga('create', 'UA-25380313-6', 'auto'); -ga('require', 'linkid', 'linkid.js'); -ga('send', 'pageview'); - -window.addEventListener("hashchange", function hashChange() { - var hash = location.hash; - var header = document.querySelector(hash); - var title = header.textContent || header.innerText; - ga('send', 'pageview', { - 'page': location.pathname + location.search + location.hash, - 'title': title - }); -}, false); diff --git a/src/assets/scripts/gaEntryPoint.mjs b/src/assets/scripts/gaEntryPoint.mjs new file mode 100644 index 00000000..6ea9b652 --- /dev/null +++ b/src/assets/scripts/gaEntryPoint.mjs @@ -0,0 +1,25 @@ +import { GAOptout } from './gaOptout.mjs'; +import { GAOptoutKeyStorage } from './gaOptoutKeyStorage.mjs'; + +function gtag() { + window.dataLayer = window.dataLayer || []; + window.dataLayer.push(arguments); +} + +function gaInitialize() { + const storage = new GAOptoutKeyStorage(); + const optout = new GAOptout(storage); + + window.gaOptout = optout || {}; + + if (optout.enabled()) { + optout.gaId = gaId; + optout.enable(); + } + + const gaId = window.__gaId__ || ''; + gtag('js', new Date()); + gtag('config', gaId); +} + +gaInitialize(); diff --git a/src/assets/scripts/gaOptout.mjs b/src/assets/scripts/gaOptout.mjs new file mode 100644 index 00000000..60f5a725 --- /dev/null +++ b/src/assets/scripts/gaOptout.mjs @@ -0,0 +1,46 @@ +const DO_NOT_TRACK_VALUE = { + no: '0', + yes: '1', + unspecified: 'unspecified', +}; + +export class GAOptout { + constructor(storage) { + this._gaId = ''; + this._storage = storage || {}; + } + + set gaId(id) { + this._gaId = id; + } + + get gaOptoutKey() { + return `ga-disable-${this._gaId}`; + } + + enable() { + window[this.gaOptoutKey] = true; + + if (this._storage.getKey() === null) { + this._storage.saveKey(this.gaOptoutKey); + } + } + + disable() { + window[this.gaOptoutKey] = false; + + if (this._storage.getKey() !== null) { + this._storage.deleteKey(this.gaOptoutKey); + } + } + + enabled() { + return ( + window[this.gaOptoutKey] || this._storage.getKey() !== null || this._isDoNotTrackEnabled() + ); + } + + _isDoNotTrackEnabled() { + return navigator.doNotTrack === DO_NOT_TRACK_VALUE.yes; + } +} diff --git a/src/assets/scripts/gaOptoutKeyStorage.mjs b/src/assets/scripts/gaOptoutKeyStorage.mjs new file mode 100644 index 00000000..9226c085 --- /dev/null +++ b/src/assets/scripts/gaOptoutKeyStorage.mjs @@ -0,0 +1,15 @@ +const GA_ID_STORAGE_KEY = 'gaId'; + +export class GAOptoutKeyStorage { + getKey() { + return localStorage.getItem(GA_ID_STORAGE_KEY); + } + + saveKey(value) { + localStorage.setItem(GA_ID_STORAGE_KEY, value); + } + + deleteKey(value) { + localStorage.removeItem(GA_ID_STORAGE_KEY); + } +} From 420f4a0bd00f959b9c81cfaba6c0702fbc0b5411 Mon Sep 17 00:00:00 2001 From: Shota Kubota Date: Tue, 5 Feb 2019 10:50:43 +0900 Subject: [PATCH 3/4] refactor(chapter*): apply new image directory in readme files --- src/chapter1/readme.md | 2 +- src/chapter2/readme.md | 76 +++++++++++++++++++++--------------------- 2 files changed, 39 insertions(+), 39 deletions(-) diff --git a/src/chapter1/readme.md b/src/chapter1/readme.md index 1e6da949..fdc231c3 100644 --- a/src/chapter1/readme.md +++ b/src/chapter1/readme.md @@ -17,7 +17,7 @@ Steins;Gate や Steins;Gate 0 をやるときに「章が分岐するところ はじめに、どのファイルを更新すればいいか分からなくなることです。 たとえば未来ガジェットのアイデアをひらめいてメモしたいときに次の画像で示しているようなファイル管理方法の場合だと、岡部は「はて、どれに書き込めばよかったかな」と困るでしょう。 -![未来ガジェットのアイデアをあちこちに書いてしまった例](/images/ch1/gadget_idea.jpg) +![未来ガジェットのアイデアをあちこちに書いてしまった例](/assets/images/ch1/gadget_idea.jpg) また「最終版」という名前が付いたファイルにひらめいたアイデアを書き込んだものの、実は「最新」と書かれているほうが新しかったという事が起こる可能性も大いにあります。 diff --git a/src/chapter2/readme.md b/src/chapter2/readme.md index a855097c..6dec69ee 100644 --- a/src/chapter2/readme.md +++ b/src/chapter2/readme.md @@ -26,16 +26,16 @@ SourceTree を起動すると、ブックマークウィンドウが表示され そのブックマークウィンドウの中で、三つ横並びに表示されているボタンのうち、一番左のボタンを押します。 -![SourceTree のボタン](/images/ch3/git-init/source-tree/buttons.jpg) +![SourceTree のボタン](/assets/images/ch3/git-init/source-tree/buttons.jpg) ボタンを押すといくつか選択肢が表示されますが、その中の「リポジトリを作成」を選択します。すると、リポジトリの保存先ディレクトリや、名前を決める画面が表示されます。 -![リポジトリ名を決めている状態](/images/ch3/git-init/source-tree/dialog.jpg) +![リポジトリ名を決めている状態](/assets/images/ch3/git-init/source-tree/dialog.jpg) 情報を入力した上で「作成」ボタンを押すと、空のリポジトリができます。これでタイムリープマシンが作られた状態になります。 しかし、今までの作業内容がまだ無いため、過去に戻ったり改変したりはできません。 -![リポジトリが作られた状態](/images/ch3/git-init/source-tree/empty.jpg) +![リポジトリが作られた状態](/assets/images/ch3/git-init/source-tree/empty.jpg) ## すでにあるリモートリポジトリを使ってバージョン管理を始める @@ -58,19 +58,19 @@ SourceTree を起動すると、ブックマークウィンドウが表示され リポジトリ内にファイルを新しく作成した場合 SourceTree 上ではファイル名の横に「?」が付く形で表示されます。これは、ファイルがまだバージョン管理されてない事を示しています。 -![変更したファイルにチェックを付ける前](/images/ch3/git-commit/source-tree/add-before.jpg) +![変更したファイルにチェックを付ける前](/assets/images/ch3/git-commit/source-tree/add-before.jpg) この状態でファイル名の左横にあるチェックボックスへチェックを付けると「ステージングエリア」といわれるところにファイルが移動します。 -![変更したファイルにチェックを付けた後](/images/ch3/git-commit/source-tree/add-after.jpg) +![変更したファイルにチェックを付けた後](/assets/images/ch3/git-commit/source-tree/add-after.jpg) 移動した状態で、画面の下部にある「コミットメッセージ」と書かれている場所に任意のメッセージを入力します。 -![コミットメッセージを入力する前](/images/ch3/git-commit/source-tree/commit-before.jpg) +![コミットメッセージを入力する前](/assets/images/ch3/git-commit/source-tree/commit-before.jpg) 入力した後「コミット」ボタンを押すと、作業した内容がリポジトリに記録されます。なお、初回以降は画面上部にある「コミット」ボタンを押す事により、メッセージを入力できます。 -![コミットした後](/images/ch3/git-commit/source-tree/commit-after.jpg) +![コミットした後](/assets/images/ch3/git-commit/source-tree/commit-after.jpg) ちなみに、コミットメッセージなどが表示されている場所の「ラベル」部分に「HEAD」という記載がありますが、これは「現時点でどのブランチにいるかを判別する情報」です。 つまり、世界線の観測ができているということです。例えるならばダイバージェンスメーターです。 @@ -85,15 +85,15 @@ SourceTree を起動すると、ブックマークウィンドウが表示され 方法としては、作業内容を無かった事にするファイルを右クリックで選択し「リセット(Windows の場合は破棄)」を選択します。 -![作業内容を無かった事にする](/images/ch3/git-checkout-file/source-tree/before.jpg) +![作業内容を無かった事にする](/assets/images/ch3/git-checkout-file/source-tree/before.jpg) 変更を本当に破棄していいか確認の画面が表示されるので「OK」を押します。 -![作業内容を無かった事にするか確認がされる](/images/ch3/git-checkout-file/source-tree/confirm.jpg) +![作業内容を無かった事にするか確認がされる](/assets/images/ch3/git-checkout-file/source-tree/confirm.jpg) これで、紅莉栖に論破されたという事が無くなりました。 -![論破された事を無くした後](/images/ch3/git-checkout-file/source-tree/after.jpg) +![論破された事を無くした後](/assets/images/ch3/git-checkout-file/source-tree/after.jpg) ## 作業内容の差分を見る @@ -102,7 +102,7 @@ SourceTree を起動すると、ブックマークウィンドウが表示され SourceTree では、特定の作業内容を選択する事で、その作業内容の一つ前の作業内容と比べてどのような変更をしたのか見る事ができます。 -![SourceTree で作業内容の差分を見ている例](/images/ch3/git-diff/source-tree/diff.jpg) +![SourceTree で作業内容の差分を見ている例](/assets/images/ch3/git-diff/source-tree/diff.jpg) ## ブランチの一覧を見たり、新たにブランチを作ったりする @@ -114,7 +114,7 @@ SourceTree では、特定の作業内容を選択する事で、その作業内 「秋葉原が電気街となり、フェイリスのお父さんが生きている世界線」で鈴羽を引き止めるために、岡部が D メールを送信しました。ここまでの作業内容は以下のようになります。 -![新たなブランチを作る前](/images/ch3/git-branch/source-tree/before.jpg) +![新たなブランチを作る前](/assets/images/ch3/git-branch/source-tree/before.jpg) この状態から SourceTree もしくは GitHub for Windows (Mac) を使って「鈴羽を引き止めるために D メールを送信した後の世界線」というブランチを作ります。 @@ -122,11 +122,11 @@ SourceTree では、特定の作業内容を選択する事で、その作業内 SourceTree の画面上部にある「ブランチ」を押すとブランチ名を入力する画面が表示されます。この画面内の新規ブランチの項目に任意の名前を入力します。 -![ブランチ名を決めているところ](/images/ch3/git-branch/source-tree/name.jpg) +![ブランチ名を決めているところ](/assets/images/ch3/git-branch/source-tree/name.jpg) 「ブランチを作成」を押すとブランチができた状態になり、かつ作ったブランチ(鈴羽を引き止めた世界線)に移動しています。世界線変動が起きました。 -![ブランチを作った後](/images/ch3/git-branch/source-tree/after.jpg) +![ブランチを作った後](/assets/images/ch3/git-branch/source-tree/after.jpg) ## 作業内容をリセットする @@ -138,17 +138,17 @@ SourceTree の画面上部にある「ブランチ」を押すとブランチ名 話を戻しますが「鈴羽を引き止めた世界線」でいくつか作業をした結果、履歴が以下のようになりました。最新の作業内容は「SERN の襲撃によりまゆりが死んでしまった…」となっています。 -![鈴羽を引き止めた世界線でいくつか作業した後の状態](/images/ch3/git-reset-before.jpg) +![鈴羽を引き止めた世界線でいくつか作業した後の状態](/assets/images/ch3/git-reset-before.jpg) ここで最新の作業内容である「SERN の襲撃によりまゆりが死んでしまった…」という作業を無かった事にして、紅莉栖がタイムリープマシンを完成させたところにタイムリープします。 タイムリープするためには、戻したい作業内容の一つ前の作業内容を右クリックで選択し「このコミットまで "ブランチ名" を元に戻す」を選択します。 -![git resetをおこなおうとしている状態](/images/ch3/git-reset-right-click.jpg) +![git resetをおこなおうとしている状態](/assets/images/ch3/git-reset-right-click.jpg) これで、作業内容から「SERN の襲撃によりまゆりが死んでしまった…」というのが消えました。 -![git resetをした後の状態](/images/ch3/git-reset-after.jpg) +![git resetをした後の状態](/assets/images/ch3/git-reset-after.jpg) ## 作業内容を改変する @@ -156,7 +156,7 @@ SourceTree の画面上部にある「ブランチ」を押すとブランチ名 電話レンジ(仮)を改造してタイムリープマシンができた後、萌郁やラウンダー達の襲撃もしくは他の要因により、まゆりが何度も死んでしまった状態の最新の作業内容ですが「ラウンダー追ってきて、まゆりが刺されて死んだ」となっています。 -![まゆりが何度も死んでしまったときの作業内容](/images/ch3/git-rebase/source-tree/message-edit-before.jpg) +![まゆりが何度も死んでしまったときの作業内容](/assets/images/ch3/git-rebase/source-tree/message-edit-before.jpg) ## コミットメッセージを修正する @@ -164,33 +164,33 @@ SourceTree の画面上部にある「ブランチ」を押すとブランチ名 先ほどの最新の作業内容を記録したコミットが「ラウンダー追ってきて」と、間に「が」が足りないメッセージになっています。これを修正するため、直したい対象の一つ前の作業内容を右クリックで選択し「"コミット番号" の子を対話形式でリベース」を選びます。 -![対話形式でリベースを選択している状態](/images/ch3/git-rebase/source-tree/message-edit-select.jpg) +![対話形式でリベースを選択している状態](/assets/images/ch3/git-rebase/source-tree/message-edit-select.jpg) すると対象となる作業内容が表示されます。そこでコミットメッセージを直したい作業内容を選び、画面下部の「Edit message」を押すと、コミットメッセージを編集する画面が表示されます。 -![コミットメッセージを編集している状態](/images/ch3/git-rebase/source-tree/message-edit-now.jpg) +![コミットメッセージを編集している状態](/assets/images/ch3/git-rebase/source-tree/message-edit-now.jpg) 任意のコミットメッセージを書いた後「OK」ボタンを押すとコミットメッセージが修正されます。 -![コミットメッセージを編集し終えた状態](/images/ch3/git-rebase/source-tree/message-edit-after.jpg) +![コミットメッセージを編集し終えた状態](/assets/images/ch3/git-rebase/source-tree/message-edit-after.jpg) ## 複数の作業内容を一つにまとめる 次に、まゆりが死んだと書かれた複数の履歴を一つにまとめます。直したい対象の一つ前の作業内容を右クリックで選択し「"コミット番号" の子を対話形式でリベース」を選びます。 -![git rebase squash するべく親となるコミットを選択している状態](/images/ch3/git-rebase/source-tree/squash-right-click.jpg) +![git rebase squash するべく親となるコミットを選択している状態](/assets/images/ch3/git-rebase/source-tree/squash-right-click.jpg) 今回は四つの作業内容を対象としました。ここから作業内容をまとめるには「Squash with previous」を三回押します。「まとめる作業内容の数 - 一回 Squash with previous を押す」と覚えるといいかもしれません。 -![git rebase squash しようとしている状態](/images/ch3/git-rebase/source-tree/squash-before.jpg) +![git rebase squash しようとしている状態](/assets/images/ch3/git-rebase/source-tree/squash-before.jpg) その後、まとめた作業内容のコミットメッセージを編集するために「Edit message」を押します。 -![コミットをまとめた後コミットメッセージを編集している状態](/images/ch3/git-rebase/source-tree/squash-message-edit.jpg) +![コミットをまとめた後コミットメッセージを編集している状態](/assets/images/ch3/git-rebase/source-tree/squash-message-edit.jpg) これで、まゆりが死んだと書かれた複数の履歴がまとめられました。 -![git rebase squashした状態](/images/ch3/git-rebase/source-tree/squash-after.jpg) +![git rebase squashした状態](/assets/images/ch3/git-rebase/source-tree/squash-after.jpg) ## ブランチを移動する @@ -203,7 +203,7 @@ Git のブランチは「世界線」です。D メールによる世界線変 画面左端に表示されているブランチ一覧から、移動したいブランチの名前をダブルクリックする事により、ブランチを移動できます。 以下の図では「鈴羽を引き止めた世界線」から「萌郁が IBN 5100 を手に入れた世界線」へ移動しています。 -![ブランチを移動した後](/images/ch3/git-checkout.jpg) +![ブランチを移動した後](/assets/images/ch3/git-checkout.jpg) ## リモートリポジトリに作業内容を送る @@ -217,13 +217,13 @@ Git のブランチは「世界線」です。D メールによる世界線変 画面上部の「プッシュ」を押します。初期設定では現在のブランチのみが選択されているので、その状態で「OK」を押します。 -![git push 前](/images/ch3/git-push-branch-select.jpg) +![git push 前](/assets/images/ch3/git-push-branch-select.jpg) プッシュが終わり、作業内容の一覧に「origin/ブランチ名」という文字が表示されるようになりました。なお、「origin」というのは、リモートリポジトリの事を指しています。 作業内容をリモートリポジトリに送ったとともに、紅莉栖にも今までの作業内容が伝わりました。 -![git push 後](/images/ch3/git-push-after.jpg) +![git push 後](/assets/images/ch3/git-push-after.jpg) ## リモートリポジトリの変更内容を自分の PC 上のリポジトリに取り込む @@ -234,15 +234,15 @@ Git のブランチは「世界線」です。D メールによる世界線変 その場合、自分の PC 上のリポジトリ(鈴羽を引き止めた世界線)に比べ、リモートリポジトリ(origin/鈴羽を引き止めた世界線)が二つ進んでいます。 -![紅莉栖が作業している](/images/ch3/git-pull-before.jpg) +![紅莉栖が作業している](/assets/images/ch3/git-pull-before.jpg) ここで、画面上部の「プル」を押します。基本は表示された画面内の「OK」を押すだけで良いです。 -![pull してくるブランチを選んでいる状態](/images/ch3/git-pull-select.jpg) +![pull してくるブランチを選んでいる状態](/assets/images/ch3/git-pull-select.jpg) 「OK」を押す事により、自分とリモートのリポジトリの作業内容が同期します。 -![自分の PC 上のリポジトリとリモートリポジトリの同期をとった](/images/ch3/git-pull-after.jpg) +![自分の PC 上のリポジトリとリモートリポジトリの同期をとった](/assets/images/ch3/git-pull-after.jpg) ## 別のブランチでの作業内容を取り込む @@ -252,32 +252,32 @@ Git のブランチは「世界線」です。D メールによる世界線変 その結果、岡部は天王寺裕吾から鈴羽が書いた手紙を受け取る事になります。 -![鈴羽を引き止めた世界線でいくつか作業をした例](/images/ch3/git-merge/source-tree/before.jpg) +![鈴羽を引き止めた世界線でいくつか作業をした例](/assets/images/ch3/git-merge/source-tree/before.jpg) それを無かった事にするため D メールを送り世界線を変動させて鈴羽を引き止めないようにします。その為には「秋葉原から萌えが消えた世界線」のブランチへ移動します。 -![秋葉原から萌えが消えた世界線に移動した](/images/ch3/git-merge/source-tree/branch-change.jpg) +![秋葉原から萌えが消えた世界線に移動した](/assets/images/ch3/git-merge/source-tree/branch-change.jpg) 移動した後は D メールを送った状態が最新の状態となっています。この状態から「鈴羽を引き止めた世界線」でしてきた作業を「秋葉原から萌えが消えた世界線」に統合します。 方法としては、統合したいブランチの名前を右クリックして「"統合するブランチ名" を "統合させたいブランチ名" へマージ」を選択します。 -![マージ対象のブランチを選択している状態](/images/ch3/git-merge/source-tree/select.jpg) +![マージ対象のブランチを選択している状態](/assets/images/ch3/git-merge/source-tree/select.jpg) 選択すると、確認メッセージが表示されるので「確認する」を押します。 -![マージする際の確認メッセージ](/images/ch3/git-merge/source-tree/confirm.jpg) +![マージする際の確認メッセージ](/assets/images/ch3/git-merge/source-tree/confirm.jpg) すると「秋葉原から萌えが消えた世界線」に「鈴羽を引き止めた世界線」でしてきた作業内容が統合された状態になります。 -![マージした後の状態](/images/ch3/git-merge/source-tree/uncommit.jpg) +![マージした後の状態](/assets/images/ch3/git-merge/source-tree/uncommit.jpg) ただし、まだコミットはされていないのでコミットをしておきます。ここではコミットメッセージを「尾行は中止前のメールは SERN の罠というメールを送信した」としています。 -![マージした際のコミットメッセージを書いている状態](/images/ch3/git-merge/source-tree/commit-message.jpg) +![マージした際のコミットメッセージを書いている状態](/assets/images/ch3/git-merge/source-tree/commit-message.jpg) コミットが完了しました。このように D メールを送信する感覚で、ブランチ同士を統合する事ができます。 -![マージが完了した状態](/images/ch3/git-merge/source-tree/after.jpg) +![マージが完了した状態](/assets/images/ch3/git-merge/source-tree/after.jpg) [^1] https://ja.atlassian.com/software/sourcetree From 5f001d1e22daa702557c05d32b76a4f50fb98f24 Mon Sep 17 00:00:00 2001 From: Shota Kubota Date: Tue, 5 Feb 2019 10:55:15 +0900 Subject: [PATCH 4/4] build(Makefile): add make command alias for Windows --- Makefile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Makefile b/Makefile index 491258d2..a84d5dc0 100644 --- a/Makefile +++ b/Makefile @@ -5,6 +5,13 @@ SRC_DIR := $(CURDIR)/src DIST_DIR := $(CURDIR)/_book PUBLIC_DIR := $(CURDIR)/public +#################################### +# Command definition +#################################### +ifeq ($(OS),Windows_NT) + MAKE = make --file=Makefile +endif + #################################### # Self-documentize utility ####################################