2018年03月27日18時16分の登録: 2018-03-27-GitHub PagesとJekyllを使った告発Webサイトの構築とインターネット公開 http://hirono2017kk.blogspot.com/2018/03/2018-03-27-githubpagesjekyllweb.html





 書面の作成の方は、かなりの日数中断をしていたと思いますが、ようやく理想的な情報管理と情報公開のパソコン環境、インターネット環境を整えることが出来ました。それがタイトルにあるGitHub PagesとJekyllの組み合わせです。

 JekyllはRubyというプログラム言語を使って静的Webサイトを生成するものです。同じRubyで動的Webサイトを運用するものにRailsがあるのですが、データベースを使った開発は10年以上前からやっていました。

 自分のローカルのパソコン環境だと、今でもデータベースを活用していますが、インターネット上のサービスの利用となるとレンタルサーバーの費用に投資をすることも出来ないので、ずっと前にRailsでの運用は断念をしていました。2009年頃のことになります。

 年間5千円台で利用しているレンタルサーバーで、一通りRailsの環境を整えたのですが、ほぼ自分だけで開発のためのアクセスを繰り返していると、それだけでも負荷がかかりエラーが出てRailsのサーバーが落ちてしまうことがありました。

 ずっと前から負荷に弱いレンタルサーバー以外に、htmlの使えるWeb環境が欲しかったのですが、2009年頃までは色々と試したものの、長期的な管理とデータの保守に満足の出来るネットサービスはありませんでした。

 GitHubを理解するためには、Gitの理解から始める必要があるので、経験がないと全体像をイメージするのも難しいと思いますし、ご説明をするのも困難です。しかし、出来上がったGitHub Pagesのサイトをご覧いただければ、他のブログサービスとの違いを実感して頂けると思います。

 JekyllもRails同様、Webサーバーの環境を持っています。ブラウザの利用はWebページやTwitter、Facebookと同じになりますが、通常のWebサーバーが使う80番ポートとは別に、Jekyllの場合は4000番ポートを使って読み込むことになります。

プレーンテキストから静的な Web サイトやブログを作成しましょう。 ※ Jekyllの最新内容を知りたい場合は 本家サイト(jekyllrb.com) を参照してください。翻訳に関する質問/要望は本家ではなく jekyllrb-jaのIssues へお願いします。 シンプル データベース、コメント管理、やっかいなアップデートのインストールは不要です。 — あなたのコンテンツに集中できます。 基本的な使い方 → 静的 Markdown (または Textile)、 Liquid や HTML & CSS が使われます。 すぐにデプロイできる静的サイトを生成します。 Jekyll テンプレートガイド → Markdown (or Textile), Liquid, HTML & CS Jekyll template guide → [source:] /引用元:/ Jekyll • シンプルで、ブログのような、静的サイト https://jekyllrb-ja.github.io/

 上記がJekyllのホームページのようです。私がJekyllを使うようになったのは、つい最近のことです。まだ一週間は経っていないと思います。静的Webサイトのジェネレーターとして似たようなものを使ったことはあったのですが、7年ぐらい前のことになると思います。

 それもRubyではなくpythonというプログラム言語のパッケージだったようにも思います。Jekyllのというパッケージ名には、多少見覚えがあったのですが、色々と沢山あるので、よさげに紹介されているものでも、名前を見ただけで終わるものが多いぐらいです。

 先日ちょっとしたことがきっかけで、それもTwilogで調べないとはっきり思い出せない記憶となっているのですが、Jekyllを使った開発に挑戦することになったのです。

 まず丸2日ぐらいは、Jekyllをローカル環境で動かすだけで手間取りました。動かすことは出来てもテーマの適用に難儀しました。Railsのときに経験したことですが、パッケージのバージョンの組み合わせでもエラーが出て動かないことがあります。

 パッケージのバージョンもそれぞれ細かいので、ネットで参考にする情報が古ければ、まったく使い物にならないことが普通にあります。

[link:] Dependency versions GitHub Pages https://pages.github.com/versions/

 最終的な解決方法は他にあったので、どこまで効果的だったのかわかりませんが、上記のホームページには、GitHub Pagesで使われるパッケージのバージョンが一覧で書いてあります。Rubyのバージョンは2.4.2となっています。

 UbuntuのRubyの標準でインストールされるバージョンは、現在、2.3.3となっていました。バージョンのことなるRubyを使う方法はあるのですが、面倒でややこしい作業です。    以前、Windowsパソコンの環境でRailsなどやっていたころは、もっと面倒で、長期的なメンテナンスも困難なものでした。それはパソコン環境の保守に限らず、取り扱うデータの管理にも同様のことを繰り返してきたところです。

 Jekyllで取り扱うデータは、テキストデータで、Markdownという書式が使えます。拡張子をmdとしたファイルですが、これを自動でhtmlに変換し、公開用に配置してくれるのがJekyllの基本的仕組みです。動的サイト構築でのデプロイに当たるのだと思います。

 GitHubは、設定でGitHub Pagesを使えるようにしておく必要がありますが、GitでPushした時点で、デプロイが自動で行われるようです。

 ここまで書いた時点で、GitHubへのPushを行いたいと思います。

[link:] 奉納\危険生物・弁護士脳汚染除去装置\金沢地方検察庁御中 弁護士と裁判官が共同で確定させた傷害・準強姦被告事件判決の再捜査要請に係る石川県警察珠洲警察署提出書面の関連資料の情報公開 https://hirono2016kk.github.io/

 トップページのページのタイトルを取得して気がついたのですが、サイトのタイトル名に、サブタイトルのような情報が付加されていました。

 これは、_config.ymlというファイルに定義した「description」という広域変数の内容のようです。

 私自身、つい最近、Jekyllを始めるまで確かな情報は見たことがなかったのですが、Markdownをプレビューするとhtmlタグがそのまま反映されるようです。Jekyllは、これに変数や、プログラムでの繰り返し処理も出来ます。Railsも同じでしたが、あれはerbという特殊な拡張のファイルだったと思います。

 データベースはバイナリーとしてデータを保存するので処理が早く大容量のデータ処理に向いていると聞きます。私個人が手書きで作成するファイルの数などデータ量もしれたものなので、最も取り扱いと閲覧が容易なテキストデータを、メインで使うことにしています。

 ワープロソフトで作成した文字データはバイナリーファイルであって、形式に見合ったソフトを使わないと閲覧することも出来ません。テキストファイルとしてエクスポートすることは出来ますが、ワープロソフトを立ち上げて編集作業をするという、極めて限定的な環境になると私は考えています。

 必要があれば、pandocというコマンドを使って、特定の書式のテキストファイルをWordのdocxというファイル形式に変換できます。以前は、org-modeでよく使っていたのですが、Markdownでも出来るはずだと思います。

 また、GitHub Patesのメインサイトhirono2016kk.github.ioでは、カテゴリーとタグの活用を考えております。仕組みは、昨夜から今日の昼過ぎぐらいに掛け作りました。テスト用のデータは全て削除していますが、これからデータが増えると活用の幅も広がりそうです。

 主に1992年から2018年の現在まで、時系列が長期間になりますが、これを管理しやすく、閲覧で行き来しやすいネット環境を実現していきたいと考えています。Jekyllでは、半角の/で区切ることで階層的なカテゴリーの指定も出来るようです。複数のカテゴリー指定もタグも同様に可能です。

 複数や階層的なカテゴリーの扱いはWordPressでも出来ましたが、WordPressで扱われるデータはデータベースのもので、その定義の中身を見るとゾッとするような複雑さがあり、バックアップとして保存するエクスポートのデータもかなり容量の大きなものでした。

 ちょっと説明がくどくなっていると思いますが、キーワードでの抽出や並び替え、時系列での抽出や並び替えを実装するのがJekyllを活用する最大の目的です。