yesod でブログエンジンをつくってみた

Post on 29-Jan-2018

3.612 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Yesod で Blog Engine

をつくってみた@mr_konn

自己紹介• @mr_konn

• 数学科三年

• auehtnticate-oauth / yesod-auth-oauth メンテナ

• ブログ:http://blog.konn-san.com

• Powered by Yesod & Mighty

• これ作ったときの話します

Yablog: Yet Another Blog-engine

Yablog: Yet Another Blog-engine• ブログとして一通りの機能

Yablog: Yet Another Blog-engine• ブログとして一通りの機能

• 複数人執筆 / コメント / トラックバック /

Real Time Preview / タグ / フィード / コメント通知

Yablog: Yet Another Blog-engine• ブログとして一通りの機能

• 複数人執筆 / コメント / トラックバック /

Real Time Preview / タグ / フィード / コメント通知

• ウェブサービスとの連携

Yablog: Yet Another Blog-engine• ブログとして一通りの機能

• 複数人執筆 / コメント / トラックバック /

Real Time Preview / タグ / フィード / コメント通知

• ウェブサービスとの連携

• Social:Twitter / はてブ / はてスタ / G+ / いいね!

Yablog: Yet Another Blog-engine• ブログとして一通りの機能

• 複数人執筆 / コメント / トラックバック /

Real Time Preview / タグ / フィード / コメント通知

• ウェブサービスとの連携

• Social:Twitter / はてブ / はてスタ / G+ / いいね!

• Google CSE / Google Analytics / Amazon Associates

Yablog: Yet Another Blog-engine• ブログとして一通りの機能

• 複数人執筆 / コメント / トラックバック /

Real Time Preview / タグ / フィード / コメント通知

• ウェブサービスとの連携

• Social:Twitter / はてブ / はてスタ / G+ / いいね!

• Google CSE / Google Analytics / Amazon Associates

• 多くのマークアップ言語、 Syntax Colouring をサポート

Yablog: Yet Another Blog-engine• ブログとして一通りの機能

• 複数人執筆 / コメント / トラックバック /

Real Time Preview / タグ / フィード / コメント通知

• ウェブサービスとの連携

• Social:Twitter / はてブ / はてスタ / G+ / いいね!

• Google CSE / Google Analytics / Amazon Associates

• 多くのマークアップ言語、 Syntax Colouring をサポート

• MathJax による美しい数式

欲しい機能は、一通り。

欲しいものは作ろう!

作るのは大変……?

そんなことはない!

つかったもの

つかったもの• Yesod

つかったもの• Yesod

• Google Analytics は最初からサポート

つかったもの• Yesod

• Google Analytics は最初からサポート

• 非同期版には書き換えました。

つかったもの• Yesod

• Google Analytics は最初からサポート

• 非同期版には書き換えました。• Newsfeed の生成や国際化も楽チン

つかったもの• Yesod

• Google Analytics は最初からサポート

• 非同期版には書き換えました。• Newsfeed の生成や国際化も楽チン

• 認証機構も好きなものを使える

つかったもの• Yesod

• Google Analytics は最初からサポート

• 非同期版には書き換えました。• Newsfeed の生成や国際化も楽チン

• 認証機構も好きなものを使える• Yablog ではそのまま Google か BrowserId

つかったもの• Yesod

• Google Analytics は最初からサポート

• 非同期版には書き換えました。• Newsfeed の生成や国際化も楽チン

• 認証機構も好きなものを使える• Yablog ではそのまま Google か BrowserId

• HashDB とかのがよかったかなぁ。

つかったもの(続)

つかったもの(続)• Pandoc

つかったもの(続)• Pandoc

• Markdown (+lhs) / ReST / HTML / TeX…

つかったもの(続)• Pandoc

• Markdown (+lhs) / ReST / HTML / TeX…

• マークアップのパーズ&HTML整形に

つかったもの(続)• Pandoc

• Markdown (+lhs) / ReST / HTML / TeX…

• マークアップのパーズ&HTML整形に

• HTML はYesodと共通の blaze を利用

つかったもの(続)• Pandoc

• Markdown (+lhs) / ReST / HTML / TeX…

• マークアップのパーズ&HTML整形に

• HTML はYesodと共通の blaze を利用

• highlighting-kate

つかったもの(続)• Pandoc

• Markdown (+lhs) / ReST / HTML / TeX…

• マークアップのパーズ&HTML整形に

• HTML はYesodと共通の blaze を利用

• highlighting-kate

• シンタックスカラーリング。

つかったもの(続)• Pandoc

• Markdown (+lhs) / ReST / HTML / TeX…

• マークアップのパーズ&HTML整形に

• HTML はYesodと共通の blaze を利用

• highlighting-kate

• シンタックスカラーリング。

• Yablog では直接叩いていますが、Pandoc からも叩ける。

Amazon Associates

• Pandoc + SYB の威力

• URL を見付けたら Amazon かどうか判定、自動でアフィリンク化

つかったもの

つかったもの• MongoDB

つかったもの• MongoDB

• バックエンド。モダン!

つかったもの• MongoDB

• バックエンド。モダン!

• Day や TimeOfDay をそのままでは保存できないので注意!

つかったもの• MongoDB

• バックエンド。モダン!

• Day や TimeOfDay をそのままでは保存できないので注意!

• auth の掛かったDBにアクセス出来ない?

つかったもの

• Bootstrap

• お手軽に Twitter モドキのWeb UI を!

• 最新の Yesod からは同梱……?

つかったもの

つかったもの

• Mighty

• @kazu_yamamoto さんのHTTPサーバ

• Reverse Proxy を使ってサブドメインで運用している

今後の予定• トラバ飛ばす機能

• 面倒なので作ってなかった^^;

• 画像の埋め込み

• どこにどう保存すべき?

• JavaScript 重いのを何とかする

• 適当に突っ込んだら読み込みが凄く遅い……。

• UST以外の時間帯のサポート

配布場所

• レポジトリ:http://gitweb.konn-san.com/

repo/Yablog/tree/master

• このレポジトリも Yesod アプリ

• まだ発展途上なので、要望があれば

GitHub の方にもレポ作ります

まとめ

• Haskell には沢山のライブラリがある

• 組み合わせているといつの間にか完成している

• 欲しいものを作れる!

Any Questions?

御清聴ありがとうございました

top related