前回(How to update hugo and academic theme (Part 1))にhutoとacademicのアップデートをまとめたが,やはり,githubにdeployするときのエラーが,どうしても気になる.そこで,今回は,Academic themeのインストールを一からやり直すことにした. Hugoとox-hugoのインストールやアップデートは前回の記事(How to update hugo and academic theme (Part 1))を参考にしていただきたい.
References
Install Academic Kickstart with Git
やはり,公式ドキュメントに従うのが良いだろうと考え,上記のリンク先のInstallの解説の通りにしてみた.git submoduleを使うので,よく分からんと敬遠していたのだが,やってみると(作業自体は)簡単であった. Git submodule の基礎 によれば,「git submodule は、外部の git リポジトリを、自分の git リポジトリのサブディレクトリとして登録し、特定の commit を参照する仕組み」である.
1. まず,Academic Kickstart repository を自分のウェブサイトを作るためにクローンする.
-
ということで,まず,academic-kickstart に行って,右上の Fork ボタンを押して,自分のgithub pageにacademic-kickstartのrepositoryを作成する.
-
ついで,この自分のgithub pageのforkをgit cloneで自分のサイトにクローンする.
$ pwd /Data/MyBlog $ git clone https://github.com/taipapamotohus/academic-kickstart Taipapablog Cloning into 'Taipapablog'... remote: Enumerating objects: 579, done. remote: Total 579 (delta 0), reused 0 (delta 0), pack-reused 579 Receiving objects: 100% (579/579), 163.92 KiB | 480.00 KiB/s, done. Resolving deltas: 100% (179/179), done.
-
ついで,themeをsubmoduleでinitializeする.
$ cd Taipapablog $ pwd /Data/MyBlog/Taipapablog $ git submodule update --init --recursive Submodule 'themes/academic' (https://github.com/gcushen/hugo-academic.git) registered for path 'themes/academic' Cloning into '/Data/MyBlog/Taipapablog/themes/academic'... Submodule path 'themes/academic': checked out '32b6145c06835e33668100105ac1835593cf8d72' $ ls LICENSE.md config/ netlify.toml themes/ README.md content/ scripts/ update_academic.sh* academic.Rproj data/ static/ view.sh* $ ll total 72 drwxr-xr-x 18 kohkichi admin 576 Aug 24 16:34 . drwxr-xr-x 18 kohkichi admin 576 Aug 24 16:35 .. -rw-r--r-- 1 kohkichi admin 298 Aug 24 16:34 .editorconfig drwxr-xr-x 13 kohkichi admin 416 Aug 24 16:34 .git -rw-r--r-- 1 kohkichi admin 15 Aug 24 16:34 .gitignore -rw-r--r-- 1 kohkichi admin 106 Aug 24 16:34 .gitmodules -rw-r--r-- 1 kohkichi admin 1078 Aug 24 16:34 LICENSE.md -rw-r--r-- 1 kohkichi admin 2671 Aug 24 16:34 README.md -rw-r--r-- 1 kohkichi admin 258 Aug 24 16:34 academic.Rproj drwxr-xr-x 3 kohkichi admin 96 Aug 24 16:34 config drwxr-xr-x 7 kohkichi admin 224 Aug 24 16:34 content drwxr-xr-x 3 kohkichi admin 96 Aug 24 16:34 data -rw-r--r-- 1 kohkichi admin 380 Aug 24 16:34 netlify.toml drwxr-xr-x 3 kohkichi admin 96 Aug 24 16:34 scripts drwxr-xr-x 3 kohkichi admin 96 Aug 24 16:34 static drwxr-xr-x 3 kohkichi admin 96 Aug 24 16:34 themes -rwxr-xr-x 1 kohkichi admin 1628 Aug 24 16:34 update_academic.sh -rwxr-xr-x 1 kohkichi admin 49 Aug 24 16:34 view.sh
う〜む,実質2行のコマンドで終わり,これで,あとは,hugo serverと叩いて,ブラウザで,localhost:1313を開けば,デモ用のサイトが立ち上がる.非常に簡単である.自分のGitHub pageを持っていれば,2-3分でできてしまう.
Migrate Content
前回(How to update hugo and academic theme (Part 1))にすでに投稿記事などはスクリプトなどを使ってアップデートしてあるし,設定ファイルもアップデート済みである.そちらのディレクトリから,config, content (home, postなど主要な部分を含む), layouts, static, assetsなどを,今回新たに作成したTaipapablog directoryにコピーすれば良い.コピー後にもう一度Taipapablog directoryの中身を見ると,
$ ls
LICENSE.md layouts/
README.md netlify.toml
Taipapablog-20180816_v2.org public/
academic.Rproj resources/
assets/ scripts/
config/ static/
content/ themes/
data/ update_academic.sh*
deploy.sh* view.sh*
こんな風になっているはずである.(Taipapablog-20180816_v2.orgは,ox-hugoで書いたこのブログの原稿)
これで,hugo root directoryで,hugo serverを叩くと,元のブログが立ち上がる.
あれ,今回は簡単にできてしまった.既に,前回で,Page Bundlesやfeatured imageに合わせて修正していたから,本当に流し込むだけであった.さて,これで,deployしてもエラーが出なければOKである.
う〜ん,deployはできて,前回のエラーも消えたけど,また,別のエラーが出る...gitは苦手だ...(ToT)
remote: Permission to sourcethemes/academic-kickstart.git denied to taipapamotohus.
fatal: unable to access 'https://github.com/sourcethemes/academic-kickstart.git/': The requested URL returned error: 403
これって,master repositoryを上書きしようとしてるな.deploy scriptを直さないといけない...
ウェブからは見えてるので,とりあえず,後日に見直してみよう...(^^;;;
Enumerating objects: 546, done.
Counting objects: 100% (546/546), done.
Delta compression using up to 8 threads
Compressing objects: 100% (503/503), done.
Writing objects: 100% (530/530), 131.20 MiB | 8.04 MiB/s, done.
Total 530 (delta 20), reused 0 (delta 0)
remote: Resolving deltas: 100% (20/20), completed with 5 local objects.
To https://github.com/taipapamotohus/academic-kickstart
98a99bf..eb43ba1 master -> master
Forkを行ってから,クローンするようにするとdeployの際にエラーは出なくなった.自分のサイトだから書き換えできるので,当たり前である...(^^;;;
前回,今回と間違ったことばかりやってしまったが,後日にまた同じ轍を踏まないように,それも含めて,全て記録するようにした.やっとアップデートが終わった.gitは奥が深い(自分が無知なだけ...)