Jekyllでチュートリアルを作る
チュートリアルサイトを作りたいと考えたが、コンテンツはMarkdownで書きたい。
そうするとGitHub PagesとJekyllが楽かな、と考えた。
おまけ的にGithubプロジェクトの紹介ページを作ってみたことはあったが、今回の場合それがメインのコンテンツになる。
GitHubのリポジトリで静的なサイトを作る場合にどうしたら良いのか(ただしブログ ではない)という点で調べたり試行錯誤したことをまとめてみる。
Webアプリ開発などを中心としたITに関するメモのブログです。
チュートリアルサイトを作りたいと考えたが、コンテンツはMarkdownで書きたい。
そうするとGitHub PagesとJekyllが楽かな、と考えた。
おまけ的にGithubプロジェクトの紹介ページを作ってみたことはあったが、今回の場合それがメインのコンテンツになる。
GitHubのリポジトリで静的なサイトを作る場合にどうしたら良いのか(ただしブログ ではない)という点で調べたり試行錯誤したことをまとめてみる。
Spring Boot 1.2.3.RELEASEが出ていたので、早速todoサンプルプロジェクトに適用してみた。
Spring Bootはstarterなどで複数の同じバージョンのdependencyを使うので、バージョンは集約して定義しておいた方がメンテナンスしやすそう。
ということで、gradle.properties
をプロジェクトルートに作成し、
Saganを参考に、CSSとJavaScriptのminifyをしてみようとしたが、jQueryのminifyに失敗する。
使用していたのはgulp-uglifyの1.1.0。
ソースコードの修正に合わせて実行中のSpring Bootアプリケーションを自動的にリロードさせる方法(ホットスワップ)について。
SpringにProject Saganというのがある。
spring.ioのリファレンスアプリケーションということらしい。
Spring Bootでのフロントエンド開発はサポートされているのかな?
と調べていたところで
https://spring.io/blog/2014/07/24/spring-framework-4-1-handling-static-web-resources
を見つけ、そこでProject Saganが説明されていた。
PageSpeed Insightsを使ってこのブログを色々改善しようと考えた。
それなりに改善したものもあるし、Bloggerを使っている限り難しそうなものも多いので諦めているものもあるが、その中で「なぜ?」というものがあった。
下記の警告。
コンテンツのサイズを表示域に合わせる
ページ コンテンツの幅が表示域に対して広すぎるため、水平方向へのスクロールが必要になります。ユーザー エクスペリエンスを向上させるためにページ コンテンツのサイズを表示域に合わせてください。
ページ コンテンツの幅は 360 CSS ピクセルですが、表示域の幅は 320 CSS ピクセルしかありません。次の要素が表示域から外れています:
要素「<div class="widget-content"></div>
」が表示域から外れています。
確かに、モバイルのエミュレーションで確認すると右側に余白ができており、横スクロールが発生している…。
GroovyのテスティングフレームワークSpock Frameworkではthenの部分に合格条件を記述するが、一行で一つのbooleanを表現する必要がある。
JUnitのようにテストケース内に何を書いても良いフレームワークに慣れていると、どう書いていいかわからなかったりする。
以下に、thenに使えそうな表現をいくつか挙げてみる。
Gradle Pluginを作る際、シングルプロジェクト構成なら気にすることはないが、マルチプロジェクト構成にした時にartifactIdが変わってしまったのでその対策のメモ。
以前のエントリ Play Frameworkのアプリ内にパスワード生成プロジェクトを追加のようなことをSpring Bootで行う方法について。
上記エントリで書いたように、Gradleで簡単に定義できる。
暗号化方法は、Spring Bootでユーザ認証で書いたようにWebSecurityConfigurerAdapter
の継承クラスでnew StandardPasswordEncoder()
を設定している前提。
他のEncoderを使う場合はタスクの内容を適宜書き換えれば良いはず。
Spring Bootで(というかSpring Securityのような気もするが)
ユーザ認証を実装する方法について。
とりあえずハードコードで、という方法は見つかるのだが
という場合の方法が見つからず苦労したので記録しておく。