SlideShare a Scribd company logo
1 of 32
Download to read offline
Hakyllで遊んでみた
             2013-04-06 広島Ruby勉強会 #031




13年4月7日日曜日
Hakyllって?



             Jekyll みたいなやつ

             静的サイトジェネータ




13年4月7日日曜日
Jekyllじゃダメなん?



             いや、いいけど。

             Haskellしたい。




13年4月7日日曜日
Jekyll と何が違うん?

             Jekyll はルールが決まってる

             Hakyll はルールから定義できる

              デフォだとJekyll似てる感じの構成

             カスタマイズしやすそう



13年4月7日日曜日
Jekyll と何が違うん?



             コードハイライトに pygements が不要

              pandoc 使いたい




13年4月7日日曜日
目標・要求

             Markdown でかきたい

             Pandoc つかいたい

             SCSS つかいたい

             compass つかいたい



13年4月7日日曜日
資料


             http://jaspervdj.be/hakyll/

             http://jaspervdj.be/hakyll/tutorials/01-
             installation.html




13年4月7日日曜日
インストール


             haskellの環境をインストール

               http://www.haskell.org/platform/

             $ cabal install hakyll




13年4月7日日曜日
セットアップ


             $ hakyll-init my-site

               ファイルが生成されます

             $ cd my-site




13年4月7日日曜日
作成されたファイル
        ├── about.rst
        ├── contact.markdown
        ├── css
        │ └── default.css
        ├── images
        │ └── haskell-logo.png
        ├── index.html
        ├── posts
        │ ├── 2012-08-12-spqr.markdown
        │ ├── 2012-10-07-rosa-rosa-rosam.markdown
        │ ├── 2012-11-28-carpe-diem.markdown
        │ └── 2012-12-07-tu-quoque.markdown
        ├── site.hs
        └── templates
         ├── archive.html
         ├── default.html
         ├── post-item.html
         └── post.html


13年4月7日日曜日
コンパイル

             サイトを生成するためのプログラムは作る

               基本的な構成の例が用意してある

               site.hs

             $ ghc --make site.hs



13年4月7日日曜日
サイトの生成



             $ ./site build

               HTML が生成されます




13年4月7日日曜日
_site の中身
        _site
        ├── about.html
        ├── archive.html
        ├── contact.html
        ├── css
        │ └── default.css
        ├── images
        │ └── haskell-logo.png
        ├── index.html
        └── posts
           ├── 2012-08-12-spqr.html
           ├── 2012-10-07-rosa-rosa-rosam.html
           ├── 2012-11-28-carpe-diem.html
           └── 2012-12-07-tu-quoque.html



13年4月7日日曜日
サイトのプレビュー



             $ ./site preview

             $ open http://localhost:8000/




13年4月7日日曜日
デプロイ



             ./site deploy

             設定がいるけどね




13年4月7日日曜日
13年4月7日日曜日
あれどっかでみた?




13年4月7日日曜日
railsdoc.eiel.info




13年4月7日日曜日
13年4月7日日曜日
解説



             生成したファイルは _site

             その他のメタデータ _cache




13年4月7日日曜日
解説

             マッチするファイルがみつかる

              登録した処理をする

             作成したいファイル名を登録

              ファイルを生成

              他のファイルの情報を利用したり


13年4月7日日曜日
解説



             依存性の扱いがよくわからない

              要勉強




13年4月7日日曜日
markdown を使う



             なにもしなくても使える

             pandocCompilerを使う




13年4月7日日曜日
pandocを使う



             pandocCompiler使った




13年4月7日日曜日
SCSS を使う


             マッチしたときの処理の途中で

              unixFilter で コマンドをフィルターに

              sass コマンドで。




13年4月7日日曜日
SCSS を使う場合


        http://jaspervdj.be/hakyll/reference/Hakyll-Core-UnixFilter.html
        にかいてあるとおりでいけます

        match "css/*.scss" $ do
          route $ setExtension "css"
          compile $ getResourceString
              >>= withItemBody (unixFilter "sass" ["-s", "--scss"])
              >>= return . fmap compressCss




13年4月7日日曜日
compassを使う
             いろいろやったけどうまくいかない

              preprocess ってのがあったけど

              preprocess で生成したファイルを更新
              したと認識してくれない

             仕方ないので

              rake でラッパーかいた

13年4月7日日曜日
Rakefile



        desc 'generate site'
        task :generate do
         sh 'ghc --make site.hs && compass compile && ./site build'
        end




13年4月7日日曜日
URLまわり

             hoge.md には hoge/ でアクセスしたい

              hoge.md -> hoge/indexhtml

             customRoute に関数を渡せばよい

              Identify -> FilePath な関数



13年4月7日日曜日
例



        let addIndex x = replaceBaseName x $ (takeBaseName x) ++ "/index"
        route $ customRoute $
          addIndex . (`replaceExtension` "html") . toFilePath




13年4月7日日曜日
ソースコード
      https://github.com/eiel/raildoc.eiel.info




13年4月7日日曜日
ご清聴ありがとうございます




13年4月7日日曜日

More Related Content

Similar to Hakyllで遊んでみた。

Mysql casual talks vol4
Mysql casual talks vol4Mysql casual talks vol4
Mysql casual talks vol4matsuo kenji
 
PhpStormとGrunt.jsで作るCakePHP快適開発環境
PhpStormとGrunt.jsで作るCakePHP快適開発環境 PhpStormとGrunt.jsで作るCakePHP快適開発環境
PhpStormとGrunt.jsで作るCakePHP快適開発環境 kamiyam .
 
Scala2.10.x bytecode problems in Android
Scala2.10.x bytecode problems in AndroidScala2.10.x bytecode problems in Android
Scala2.10.x bytecode problems in AndroidTaisuke Oe
 
20101106 ramaze発表
20101106 ramaze発表20101106 ramaze発表
20101106 ramaze発表Fukui Osamu
 
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶSinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶHiroshi Oyamada
 
Jenkins plugin memo
Jenkins plugin memoJenkins plugin memo
Jenkins plugin memoKiyotaka Oku
 
JavaEE6 First Application #glassfishjp
JavaEE6 First Application #glassfishjpJavaEE6 First Application #glassfishjp
JavaEE6 First Application #glassfishjpSatoshi Kubo
 
Rails初心者レッスン lesson5 2edition
Rails初心者レッスン lesson5 2editionRails初心者レッスン lesson5 2edition
Rails初心者レッスン lesson5 2editionSatomi Tsujita
 
Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)hiboma
 
いまさら聞けないRake入門
いまさら聞けないRake入門いまさら聞けないRake入門
いまさら聞けないRake入門Tomoya Kawanishi
 
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方linzhixing
 
Word camptokyo2012セッション資料
Word camptokyo2012セッション資料Word camptokyo2012セッション資料
Word camptokyo2012セッション資料horike37
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む2bo 2bo
 
Fuel phpをcomposerに本気で対応させた時の話
Fuel phpをcomposerに本気で対応させた時の話Fuel phpをcomposerに本気で対応させた時の話
Fuel phpをcomposerに本気で対応させた時の話Keishi Hosoba
 
Building document with the Sphinx public edtion
Building document with the Sphinx public edtionBuilding document with the Sphinx public edtion
Building document with the Sphinx public edtionYukihiko SAWANOBORI
 
バージョンアップに負けないためのプラクティス
バージョンアップに負けないためのプラクティスバージョンアップに負けないためのプラクティス
バージョンアップに負けないためのプラクティスYuji Tokuda
 
New Generation Build System "Fly"
New Generation Build System "Fly"New Generation Build System "Fly"
New Generation Build System "Fly"deepblue will
 

Similar to Hakyllで遊んでみた。 (20)

Mysql casual talks vol4
Mysql casual talks vol4Mysql casual talks vol4
Mysql casual talks vol4
 
PhpStormとGrunt.jsで作るCakePHP快適開発環境
PhpStormとGrunt.jsで作るCakePHP快適開発環境 PhpStormとGrunt.jsで作るCakePHP快適開発環境
PhpStormとGrunt.jsで作るCakePHP快適開発環境
 
Scala2.10.x bytecode problems in Android
Scala2.10.x bytecode problems in AndroidScala2.10.x bytecode problems in Android
Scala2.10.x bytecode problems in Android
 
20101106 ramaze発表
20101106 ramaze発表20101106 ramaze発表
20101106 ramaze発表
 
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶSinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
 
Jenkins plugin memo
Jenkins plugin memoJenkins plugin memo
Jenkins plugin memo
 
JavaEE6 First Application #glassfishjp
JavaEE6 First Application #glassfishjpJavaEE6 First Application #glassfishjp
JavaEE6 First Application #glassfishjp
 
Rails初心者レッスン lesson5 2edition
Rails初心者レッスン lesson5 2editionRails初心者レッスン lesson5 2edition
Rails初心者レッスン lesson5 2edition
 
Sacss sp5
Sacss sp5Sacss sp5
Sacss sp5
 
Railsの基礎
Railsの基礎Railsの基礎
Railsの基礎
 
Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)
 
いまさら聞けないRake入門
いまさら聞けないRake入門いまさら聞けないRake入門
いまさら聞けないRake入門
 
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
 
#31 愛しのst2
#31 愛しのst2#31 愛しのst2
#31 愛しのst2
 
Word camptokyo2012セッション資料
Word camptokyo2012セッション資料Word camptokyo2012セッション資料
Word camptokyo2012セッション資料
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
 
Fuel phpをcomposerに本気で対応させた時の話
Fuel phpをcomposerに本気で対応させた時の話Fuel phpをcomposerに本気で対応させた時の話
Fuel phpをcomposerに本気で対応させた時の話
 
Building document with the Sphinx public edtion
Building document with the Sphinx public edtionBuilding document with the Sphinx public edtion
Building document with the Sphinx public edtion
 
バージョンアップに負けないためのプラクティス
バージョンアップに負けないためのプラクティスバージョンアップに負けないためのプラクティス
バージョンアップに負けないためのプラクティス
 
New Generation Build System "Fly"
New Generation Build System "Fly"New Generation Build System "Fly"
New Generation Build System "Fly"
 

More from Tomohiko Himura

つながりをゆるふわにしよう Active supprt notifications
つながりをゆるふわにしよう Active supprt notificationsつながりをゆるふわにしよう Active supprt notifications
つながりをゆるふわにしよう Active supprt notificationsTomohiko Himura
 
コンピュータをもっと使おう
コンピュータをもっと使おうコンピュータをもっと使おう
コンピュータをもっと使おうTomohiko Himura
 
OSC2013 HIROSHIMA ライトニングトーク すごい広島
OSC2013 HIROSHIMA ライトニングトーク すごい広島OSC2013 HIROSHIMA ライトニングトーク すごい広島
OSC2013 HIROSHIMA ライトニングトーク すごい広島Tomohiko Himura
 
広島で Ruby が流行らないのはどう考えても俺たちが悪い
広島で Ruby が流行らないのはどう考えても俺たちが悪い広島で Ruby が流行らないのはどう考えても俺たちが悪い
広島で Ruby が流行らないのはどう考えても俺たちが悪いTomohiko Himura
 
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。Tomohiko Himura
 
Rails の自動読み込みを支える技術
Rails の自動読み込みを支える技術Rails の自動読み込みを支える技術
Rails の自動読み込みを支える技術Tomohiko Himura
 
Rails プロジェクトでスタートダッシュを決める
Rails プロジェクトでスタートダッシュを決めるRails プロジェクトでスタートダッシュを決める
Rails プロジェクトでスタートダッシュを決めるTomohiko Himura
 
すごい cron ? - Jenkins 試した
すごい cron ? - Jenkins 試したすごい cron ? - Jenkins 試した
すごい cron ? - Jenkins 試したTomohiko Himura
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門Tomohiko Himura
 
すごい Hiroshima で楽しく学ぼう
すごい Hiroshima で楽しく学ぼうすごい Hiroshima で楽しく学ぼう
すごい Hiroshima で楽しく学ぼうTomohiko Himura
 
軽量マークアップ言語で気楽にマークアップ
軽量マークアップ言語で気楽にマークアップ軽量マークアップ言語で気楽にマークアップ
軽量マークアップ言語で気楽にマークアップTomohiko Himura
 
Rails Guide 翻訳しようぜ。
Rails Guide 翻訳しようぜ。Rails Guide 翻訳しようぜ。
Rails Guide 翻訳しようぜ。Tomohiko Himura
 
SNS 「github」で遊ぼう
SNS 「github」で遊ぼうSNS 「github」で遊ぼう
SNS 「github」で遊ぼうTomohiko Himura
 

More from Tomohiko Himura (20)

つながりをゆるふわにしよう Active supprt notifications
つながりをゆるふわにしよう Active supprt notificationsつながりをゆるふわにしよう Active supprt notifications
つながりをゆるふわにしよう Active supprt notifications
 
Hiroshimarbについて
HiroshimarbについてHiroshimarbについて
Hiroshimarbについて
 
コンピュータをもっと使おう
コンピュータをもっと使おうコンピュータをもっと使おう
コンピュータをもっと使おう
 
OSC2013 HIROSHIMA ライトニングトーク すごい広島
OSC2013 HIROSHIMA ライトニングトーク すごい広島OSC2013 HIROSHIMA ライトニングトーク すごい広島
OSC2013 HIROSHIMA ライトニングトーク すごい広島
 
広島で Ruby が流行らないのはどう考えても俺たちが悪い
広島で Ruby が流行らないのはどう考えても俺たちが悪い広島で Ruby が流行らないのはどう考えても俺たちが悪い
広島で Ruby が流行らないのはどう考えても俺たちが悪い
 
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
 
Rails の自動読み込みを支える技術
Rails の自動読み込みを支える技術Rails の自動読み込みを支える技術
Rails の自動読み込みを支える技術
 
Rails プロジェクトでスタートダッシュを決める
Rails プロジェクトでスタートダッシュを決めるRails プロジェクトでスタートダッシュを決める
Rails プロジェクトでスタートダッシュを決める
 
すごい cron ? - Jenkins 試した
すごい cron ? - Jenkins 試したすごい cron ? - Jenkins 試した
すごい cron ? - Jenkins 試した
 
すごい広島
すごい広島すごい広島
すごい広島
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門
 
すごい Hiroshima で楽しく学ぼう
すごい Hiroshima で楽しく学ぼうすごい Hiroshima で楽しく学ぼう
すごい Hiroshima で楽しく学ぼう
 
軽量マークアップ言語で気楽にマークアップ
軽量マークアップ言語で気楽にマークアップ軽量マークアップ言語で気楽にマークアップ
軽量マークアップ言語で気楽にマークアップ
 
Liquid の紹介
Liquid の紹介Liquid の紹介
Liquid の紹介
 
Git 仕組み 入門
Git 仕組み 入門Git 仕組み 入門
Git 仕組み 入門
 
Rails Guide 翻訳しようぜ。
Rails Guide 翻訳しようぜ。Rails Guide 翻訳しようぜ。
Rails Guide 翻訳しようぜ。
 
Hiroshimarb 027-fiber
Hiroshimarb 027-fiberHiroshimarb 027-fiber
Hiroshimarb 027-fiber
 
Hiroshimarb 027-fiber
Hiroshimarb 027-fiberHiroshimarb 027-fiber
Hiroshimarb 027-fiber
 
OSC 2012 HIROSHIMA
OSC 2012 HIROSHIMAOSC 2012 HIROSHIMA
OSC 2012 HIROSHIMA
 
SNS 「github」で遊ぼう
SNS 「github」で遊ぼうSNS 「github」で遊ぼう
SNS 「github」で遊ぼう
 

Recently uploaded

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Recently uploaded (11)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

Hakyllで遊んでみた。

  • 1. Hakyllで遊んでみた 2013-04-06 広島Ruby勉強会 #031 13年4月7日日曜日
  • 2. Hakyllって? Jekyll みたいなやつ 静的サイトジェネータ 13年4月7日日曜日
  • 3. Jekyllじゃダメなん? いや、いいけど。 Haskellしたい。 13年4月7日日曜日
  • 4. Jekyll と何が違うん? Jekyll はルールが決まってる Hakyll はルールから定義できる デフォだとJekyll似てる感じの構成 カスタマイズしやすそう 13年4月7日日曜日
  • 5. Jekyll と何が違うん? コードハイライトに pygements が不要 pandoc 使いたい 13年4月7日日曜日
  • 6. 目標・要求 Markdown でかきたい Pandoc つかいたい SCSS つかいたい compass つかいたい 13年4月7日日曜日
  • 7. 資料 http://jaspervdj.be/hakyll/ http://jaspervdj.be/hakyll/tutorials/01- installation.html 13年4月7日日曜日
  • 8. インストール haskellの環境をインストール http://www.haskell.org/platform/ $ cabal install hakyll 13年4月7日日曜日
  • 9. セットアップ $ hakyll-init my-site ファイルが生成されます $ cd my-site 13年4月7日日曜日
  • 10. 作成されたファイル ├── about.rst ├── contact.markdown ├── css │ └── default.css ├── images │ └── haskell-logo.png ├── index.html ├── posts │ ├── 2012-08-12-spqr.markdown │ ├── 2012-10-07-rosa-rosa-rosam.markdown │ ├── 2012-11-28-carpe-diem.markdown │ └── 2012-12-07-tu-quoque.markdown ├── site.hs └── templates ├── archive.html ├── default.html ├── post-item.html └── post.html 13年4月7日日曜日
  • 11. コンパイル サイトを生成するためのプログラムは作る 基本的な構成の例が用意してある site.hs $ ghc --make site.hs 13年4月7日日曜日
  • 12. サイトの生成 $ ./site build HTML が生成されます 13年4月7日日曜日
  • 13. _site の中身 _site ├── about.html ├── archive.html ├── contact.html ├── css │ └── default.css ├── images │ └── haskell-logo.png ├── index.html └── posts ├── 2012-08-12-spqr.html ├── 2012-10-07-rosa-rosa-rosam.html ├── 2012-11-28-carpe-diem.html └── 2012-12-07-tu-quoque.html 13年4月7日日曜日
  • 14. サイトのプレビュー $ ./site preview $ open http://localhost:8000/ 13年4月7日日曜日
  • 15. デプロイ ./site deploy 設定がいるけどね 13年4月7日日曜日
  • 20. 解説 生成したファイルは _site その他のメタデータ _cache 13年4月7日日曜日
  • 21. 解説 マッチするファイルがみつかる 登録した処理をする 作成したいファイル名を登録 ファイルを生成 他のファイルの情報を利用したり 13年4月7日日曜日
  • 22. 解説 依存性の扱いがよくわからない 要勉強 13年4月7日日曜日
  • 23. markdown を使う なにもしなくても使える pandocCompilerを使う 13年4月7日日曜日
  • 24. pandocを使う pandocCompiler使った 13年4月7日日曜日
  • 25. SCSS を使う マッチしたときの処理の途中で unixFilter で コマンドをフィルターに sass コマンドで。 13年4月7日日曜日
  • 26. SCSS を使う場合 http://jaspervdj.be/hakyll/reference/Hakyll-Core-UnixFilter.html にかいてあるとおりでいけます match "css/*.scss" $ do route $ setExtension "css" compile $ getResourceString >>= withItemBody (unixFilter "sass" ["-s", "--scss"]) >>= return . fmap compressCss 13年4月7日日曜日
  • 27. compassを使う いろいろやったけどうまくいかない preprocess ってのがあったけど preprocess で生成したファイルを更新 したと認識してくれない 仕方ないので rake でラッパーかいた 13年4月7日日曜日
  • 28. Rakefile desc 'generate site' task :generate do sh 'ghc --make site.hs && compass compile && ./site build' end 13年4月7日日曜日
  • 29. URLまわり hoge.md には hoge/ でアクセスしたい hoge.md -> hoge/indexhtml customRoute に関数を渡せばよい Identify -> FilePath な関数 13年4月7日日曜日
  • 30. let addIndex x = replaceBaseName x $ (takeBaseName x) ++ "/index" route $ customRoute $ addIndex . (`replaceExtension` "html") . toFilePath 13年4月7日日曜日
  • 31. ソースコード https://github.com/eiel/raildoc.eiel.info 13年4月7日日曜日