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

3,498 views

Published on

Yesod 1.0勉強会(http://partake.in/events/76f421e7-c3ca-49bf-b28e-f9ede8032f0b)での発表資料です。

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,498
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
10
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Yesod でブログエンジンをつくってみた

    1. 1. Yesod で Blog Engine をつくってみた @mr_konn
    2. 2. 自己紹介• @mr_konn • 数学科三年 • auehtnticate-oauth / yesod-auth-oauth メンテナ• ブログ:http://blog.konn-san.com • Powered by Yesod & Mighty • これ作ったときの話します
    3. 3. Yablog:Yet Another Blog-engine
    4. 4. Yablog:Yet Another Blog-engine• ブログとして一通りの機能
    5. 5. Yablog:Yet Another Blog-engine• ブログとして一通りの機能 • 複数人執筆 / コメント / トラックバック / Real Time Preview / タグ / フィード / コメント通知
    6. 6. Yablog:Yet Another Blog-engine• ブログとして一通りの機能 • 複数人執筆 / コメント / トラックバック / Real Time Preview / タグ / フィード / コメント通知• ウェブサービスとの連携
    7. 7. Yablog:Yet Another Blog-engine• ブログとして一通りの機能 • 複数人執筆 / コメント / トラックバック / Real Time Preview / タグ / フィード / コメント通知• ウェブサービスとの連携 • Social:Twitter / はてブ / はてスタ / G+ / いいね!
    8. 8. Yablog:Yet Another Blog-engine• ブログとして一通りの機能 • 複数人執筆 / コメント / トラックバック / Real Time Preview / タグ / フィード / コメント通知• ウェブサービスとの連携 • Social:Twitter / はてブ / はてスタ / G+ / いいね! • Google CSE / Google Analytics / Amazon Associates
    9. 9. Yablog:Yet Another Blog-engine• ブログとして一通りの機能 • 複数人執筆 / コメント / トラックバック / Real Time Preview / タグ / フィード / コメント通知• ウェブサービスとの連携 • Social:Twitter / はてブ / はてスタ / G+ / いいね! • Google CSE / Google Analytics / Amazon Associates• 多くのマークアップ言語、 Syntax Colouring をサポート
    10. 10. Yablog:Yet Another Blog-engine• ブログとして一通りの機能 • 複数人執筆 / コメント / トラックバック / Real Time Preview / タグ / フィード / コメント通知• ウェブサービスとの連携 • Social:Twitter / はてブ / はてスタ / G+ / いいね! • Google CSE / Google Analytics / Amazon Associates• 多くのマークアップ言語、 Syntax Colouring をサポート• MathJax による美しい数式
    11. 11. 欲しい機能は、 一通り。
    12. 12. 欲しいものは 作ろう!
    13. 13. 作るのは大変……?
    14. 14. そんなことはない!
    15. 15. つかったもの
    16. 16. つかったもの• Yesod
    17. 17. つかったもの• Yesod • Google Analytics は最初からサポート
    18. 18. つかったもの• Yesod • Google Analytics は最初からサポート • 非同期版には書き換えました。
    19. 19. つかったもの• Yesod • Google Analytics は最初からサポート • 非同期版には書き換えました。 • Newsfeed の生成や国際化も楽チン
    20. 20. つかったもの• Yesod • Google Analytics は最初からサポート • 非同期版には書き換えました。 • Newsfeed の生成や国際化も楽チン • 認証機構も好きなものを使える
    21. 21. つかったもの• Yesod • Google Analytics は最初からサポート • 非同期版には書き換えました。 • Newsfeed の生成や国際化も楽チン • 認証機構も好きなものを使える • Yablog ではそのまま Google か BrowserId
    22. 22. つかったもの• Yesod • Google Analytics は最初からサポート • 非同期版には書き換えました。 • Newsfeed の生成や国際化も楽チン • 認証機構も好きなものを使える • Yablog ではそのまま Google か BrowserId • HashDB とかのがよかったかなぁ。
    23. 23. つかったもの(続)
    24. 24. つかったもの(続)• Pandoc
    25. 25. つかったもの(続)• Pandoc • Markdown (+lhs) / ReST / HTML / TeX…
    26. 26. つかったもの(続)• Pandoc • Markdown (+lhs) / ReST / HTML / TeX… • マークアップのパーズ&HTML整形に
    27. 27. つかったもの(続)• Pandoc • Markdown (+lhs) / ReST / HTML / TeX… • マークアップのパーズ&HTML整形に • HTML はYesodと共通の blaze を利用
    28. 28. つかったもの(続)• Pandoc • Markdown (+lhs) / ReST / HTML / TeX… • マークアップのパーズ&HTML整形に • HTML はYesodと共通の blaze を利用• highlighting-kate
    29. 29. つかったもの(続)• Pandoc • Markdown (+lhs) / ReST / HTML / TeX… • マークアップのパーズ&HTML整形に • HTML はYesodと共通の blaze を利用• highlighting-kate • シンタックスカラーリング。
    30. 30. つかったもの(続)• Pandoc • Markdown (+lhs) / ReST / HTML / TeX… • マークアップのパーズ&HTML整形に • HTML はYesodと共通の blaze を利用• highlighting-kate • シンタックスカラーリング。 • Yablog では直接叩いていますが、Pandoc からも叩け る。
    31. 31. Amazon Associates• Pandoc + SYB の威力 • URL を見付けたら Amazon かどうか判 定、自動でアフィリンク化
    32. 32. つかったもの
    33. 33. つかったもの• MongoDB
    34. 34. つかったもの• MongoDB • バックエンド。モダン!
    35. 35. つかったもの• MongoDB • バックエンド。モダン! • Day や TimeOfDay をそのままでは保 存できないので注意!
    36. 36. つかったもの• MongoDB • バックエンド。モダン! • Day や TimeOfDay をそのままでは保 存できないので注意! • auth の掛かったDBにアクセス出来な い?
    37. 37. つかったもの• Bootstrap • お手軽に Twitter モドキのWeb UI を! • 最新の Yesod からは同梱……?
    38. 38. つかったもの
    39. 39. つかったもの• Mighty • @kazu_yamamoto さんのHTTPサーバ • Reverse Proxy を使ってサブドメイン で運用している
    40. 40. 今後の予定• トラバ飛ばす機能 • 面倒なので作ってなかった^^;• 画像の埋め込み • どこにどう保存すべき?• JavaScript 重いのを何とかする • 適当に突っ込んだら読み込みが凄く遅い……。• UST以外の時間帯のサポート
    41. 41. 配布場所• レポジトリ:http://gitweb.konn-san.com/ repo/Yablog/tree/master • このレポジトリも Yesod アプリ• まだ発展途上なので、要望があれば GitHub の方にもレポ作ります
    42. 42. まとめ• Haskell には沢山のライブラリがある • 組み合わせているといつの間にか完 成している • 欲しいものを作れる!
    43. 43. Any Questions?
    44. 44. 御清聴ありがとうございました

    ×