RStudioアドベントカレンダー 25日のエントリーです。 RStudioでブログを書きたい RStudioは、Rmarkdownの登場以降、メキメキとドキュメント作成機能が充実していってます。私は、RやRStudioが大好きなので、可能な限り、RStudioと対面していたいのです。データ解析、論文作成、ウェルブサイトの構築・更新、今や全てRStudioで完結します (他の方とのやりとりがなければ…)。 前に、RStudioでウェブサイト構築が簡単にできるという僕の最も身近なRおじさん(@kazutan)のツイートみて、いじっていたらほんとに簡単にサイトが立ち上がってとても感動しました。 blogdownパッケージ その後、特に不満なくRStudioでサイトの管理をしていたのですが、業務上、何か自由にメモや告知をあげられる、ブログのような機能をつけられたらな、と思っていました。何気なくTLを眺めていると、また僕の身近なRおじさん(@kazutan)が、ぼやいてくれました。そして知りました、blogdownパッケージ。僕にとってkazutanは欲しいものを届けてくれる、そう、サンタクロースのような存在なのかもしれません。 以下では、順を追ってみていきます。 1 Githubでリポジトリ作る] 2 RStudioでリポジトリとリンク 3 RStudio上で, ブログサイト構築 4 config.tomlを修正し、俺サイトに 5 投稿チェック 6 出来上がったサイトをcommit push!! Githubでリボジトリを作る ブログをRStudioを通じてgithubで公開するために, Githubで新しいリポジトリ(Repository)を作成します。下の画像にあるように、Repositoriesタブをクリックして右端に現れる[New]ボタンを押します。 すると以下のページが登場するので、Repository nameに任意の名前を設定します。今回はmy_blogとしました。レポジトリ名を入力したら、一番下の[Create repository]ボタンを押します。 これで、ブログサイトのファイルをあげるためのレポジトリが出来ました。[https://github.com/アカウント名/レポジトリ名.git]をコピーしておきます。 これでgithubの準備は完了です。ここからはRStudioで作業をします。 RStudioでgithubレポジトリとリンク RStudioを立ち上げて[File]->[New Project]->[Version Control]->[Git]と進めます。 次のClone Git RepositoryのRepository URLの空欄に、先ほど作成しコビーした、ブログ用のレポジトリのアドレスを貼り付けます。下二つの空欄は、任意に指定します。 これでRStudio側も準備完了です。今、右下には、siteフォルダには、「site.Rproj」と「.gitignore」のみです。 RStudio上で, ブログサイト構築 RStudioでブログサイトを構築して管理するためのバッケージはblogdown(https://github.com/rstudio/blogdown)、開発者はRStudioドキュメント系の神、yihui(https://github.com/yihui)さんです。 blogdownパッケージ: インストール blogdownパッケージをgithubからインストールします。hugo のテーマを使うので、hugoをインストールします。hugoについては、この記事やこの記事が参考になります。 # blogdownのインストール devtools::install_github('rstudio/blogdown') # hugoのインストール library(blogdown) blogdown::install_hugo() この極めてシンプルな1行を実行して少し待つと… new_site() !!! ブログがある。RStudioの中にブログがある !!! ほぼ空だったフォルダが、 ブログサイト用のフォルダどっさりに!!!! ここまできたら、あとはテンプレートを自分のサイト用にカスタマイズしていきます。 編集・投稿 hello-world.Rmdは、「content」->「post」のフォルダ内にあります。これを編集すれば記事内容を編集できます。 元の設定から、 — title: "Hello World" author: "Frida Gomam" date: 2015-07-23T21:13:14-05:00 categories: ["R"] — タイトル、名前、投稿時間を変更し、カテゴリーを追加してみます。編集して保存をすると自動的に修正が反映されます。実は、new_site()関数を実行して出てきたRmdファイルをそのまま編集している場合は、ずっと、serve_site()関数が実行されている状態になっており、これによって、自動的に保存内容が反映されるようになっています。 — title: "今日はクリスマス" author: "ytake2" date: 2016-12-25T21:13:14-05:00 categories: ["R","RStudio","blogdown"] — 元のやつ 修正後は、タイトル、投稿者、投稿日が変わってますね。 カテゴリのタグもしっかりと追加されてます。 修正前 修正後 あとは、記事内容の修正は、普通にRmarkdownで好きなように書けばOKです。 新しい記事の投稿 新規の投稿をするには、postフォルダ内に新しい.Rmdファイルを入れてあげれば良いです。以下のようにコマンドを実行すると、postフォルダ内にRmdファイルが作成されます。このRmdファイルを編集すれば、新しい投稿記事の準備完了です。 new_content("post/newContent.Rmd") 新しい記事をブログサイトに上書きするために、serve状態を解除した後で(赤丸のstopボタンを押す)以下のコマンドを実行します。 build_site() # 編集内容を反映し統合 serve_site() # 反映内容を確認 新規の投稿記事が一番最初にきました。 このように、新しくRmdをpostフォルダに突っ込んでいくだけで、どんどんブログを更新できてしまうのです。たまりませんね。 config.tomlを修正し、俺サイトに hugoでは、.tomlでサイトの外観を設定していきます。「config.toml」ファイルを開きます。 以下のここを修正、と記した部分に自分好みの情報に書き換えます。 baseurl = "/" relativeurls = true languageCode = "en-us" title = "Hugo Future Imperfect" <-ここを修正 theme = "hugo-future-imperfect" preserveTaxonomyNames = true paginate = 3 disqusShortname = "shortname" googleAnalytics = "" [params] # Sets the meta tag description, usually reserved for the main page description = "HTML5 UP theme, Future Imperfect with some extra goodies, ported by Julio Pescador.