87
93

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Remark使い方メモ(Markdown でスライドを作るやつ)

Last updated at Posted at 2015-01-21

gnab/remark | GitHub

Markdown で記述したテキストをスライド形式にして表示してくれるツール。

同種のツールに reveal.js があるが、あちらよりもシンプル。

というか、デフォルトだとスタイルについては基本なにもしない。
スタイルは CSS を使って自力で調整する。

必要なファイルも、特別なフォントを指定しないのであれば、実質 js ファイルのみ。

シンプルなスライドをパパっと作りたい場合は、 Remark がいい気がする。

凝りたい場合は、 CSS 使っていくらでも凝ることができる。

Hello World

<!DOCTYPE html>
<html>
  <head>
    <title>Title</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <style type="text/css">
      @import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz);
      @import url(https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic);
      @import url(https://fonts.googleapis.com/css?family=Ubuntu+Mono:400,700,400italic);

      body { font-family: 'Droid Serif'; }
      h1, h2, h3 {
        font-family: 'Yanone Kaffeesatz';
        font-weight: normal;
      }
      .remark-code, .remark-inline-code { font-family: 'Ubuntu Mono'; }
    </style>
  </head>
  <body>
    <textarea id="source">

class: center, middle

# Title

---

# Agenda

1. Introduction
2. Deep-dive
3. ...

---

# Introduction

    </textarea>
    <script src="https://remarkjs.com/downloads/remark-latest.min.js" type="text/javascript">
    </script>
    <script type="text/javascript">
      var slideshow = remark.create();
    </script>
  </body>
</html>

GitHub の Wiki に記載されている HTML をそのままコピペして保存。ブラウザで開く。

remark.JPG

矢印キーの左右でページを移動できる(簡単!)。

Markdown ファイルを分離する

slide.html
<!DOCTYPE html>
<html>
  <head>
    <title>Title</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <style type="text/css">
      @import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz);
      @import url(https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic);
      @import url(https://fonts.googleapis.com/css?family=Ubuntu+Mono:400,700,400italic);

      body { font-family: 'Droid Serif'; }
      h1, h2, h3 {
        font-family: 'Yanone Kaffeesatz';
        font-weight: normal;
      }
      .remark-code, .remark-inline-code { font-family: 'Ubuntu Mono'; }
    </style>
  </head>
  <body>
    <script src="https://remarkjs.com/downloads/remark-latest.min.js" type="text/javascript">
    </script>
    <script type="text/javascript">
      var slideshow = remark.create({
        sourceUrl: 'slide.md'
      });
    </script>
  </body>
</html>
slide.md
class: center, middle

# Title

---

# Agenda

1. Introduction
2. Deep-dive
3. ...

---

# Introduction
フォルダ構成
|-slide.html
`-slide.md

HTTP サーバーを起動して、 slide.html が存在するフォルダを見れるようにする。
ここでは、 http://localhost/slide.html で参照できるよう HTTP サーバーを起動して確認。

remark.JPG

slide.html一部抜粋
      var slideshow = remark.create({
        sourceUrl: 'slide.md'
      });

sourceUrl に読み込む Markdown ファイルのパスを指定することで、外部の Markdown ファイルを読み込んでスライドにすることができる。

ただし、この動作は HTTP リクエスト経由でなければ確認することができない。

書き方

ページ切り替え

#Page1

---

#Page2

remark.JPG

  • --- がページの区切りになる。

ページに class 属性を設定する

class: hoge, fuga

#class

remark.JPG

  • 各ページの先頭で class: <class 名>[, ...] と記述することで、そのページを表す <div> タグに、指定した class を設定することができる。
  • 値はカンマ区切りで複数指定できる。

組み込みの class

class: right, bottom

#right bottom

remark.JPG

  • 縦方向を指定する class として、 top, middle, bottom が、
  • 横方向を指定する class として、 left, center, right が用意されている。
  • デフォルトは class: left, top を指定した場合と同じになる。

背景画像を指定する

background-image: url(bridge.jpg)

#background image

remark.JPG

  • ページの先頭で background-image: url(<画像ファイルのパス>) と指定することで、そのページの背景画像を指定できる。

ページ送りするたびに文字を少しずつ表示させる

#Page1

##hoge

--

##fuga

---

#Page2

remark.JPG

  • -- で区切ることで、少しずつ文字を表示させることができるようになる。

連続して複数のページに同じスタイルを適用したり、同じ文字を表示させたりする

layout: true

class: center, top

#Header

---
#Page1

---

#Page2

---
class: right, bottom

#Page3

---
layout: true

#Header2

---
#Page4

remark.JPG

  • layout: true と指定すると、そのページはレイアウト定義用のページとして認識され、そのページ単体では画面に表示されなくなる。
  • 代わりに、そこで指定した class や文字が、続くページに全て埋め込まれるようになる。
  • class は個別のページで上書きすることも可能(Page3)。
  • layout: true を指定したページが途中で現れると、そこで指定された設定が次からのページに埋め込まれるようになる。

シンタックスハイライトで行を強調する


```java
public static void main(String[] args) {
    System.out.println("Hello Remark!!");
}
```

```java
public static void main(String[] args) {
*   System.out.println("Hello Remark!!");
}
```

remark.JPG

  • コードブロック内で強調させたい行の先頭に * を付けることで、その行を強調表示させることができる。

任意の class を指定した <span>/<div> タグで括る

.hoge[hoge text]

.fuga[fuga text .piyo[piyo text]]

.fizz[
  fizz text
  .buzz[buzz text]
]

remark.JPG

  • .<class 名>[<テキスト>] と記述することで、任意の class を指定した <span> タグでテキストを括ることができる。
  • [] の間に改行があると、 <div> タグで括られる。
    • その場合、内部のテキストは先頭にスペースを 4 つ以上入れないようにしなければならない。

位置を調整する

.center[center text]

.right[right text]

.center[
  center text
  .left[left text]
]

remark.JPG

  • center, left, right を指定することで、組み込みの位置調整を利用できる。
  • 画像も、この方法で位置を調整できる(.center[![image](img/test.jpg)])。

別のページを埋め込む

name: base-page

#Page1

---
template: base-page

#Page2

remark.JPG

  • name でそのページの名前を定義し、 template で名前を指定して別のページを埋め込むことができる。

縦横比を変更する

    <script type="text/javascript">
      var slideshow = remark.create({
        sourceUrl: 'slide.md',
        ratio: '16:9'
      });
    </script>

remark.JPG

  • remark.create() の引数で渡すオブジェクトに、 raito プロパティを指定する。
  • デフォルトは 4:3

コードブロックが長いときにはみ出ないようにする

標準


```text
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
```

remark.JPG

修正

    <style type="text/css">
    .remark-code-line {
        word-wrap: break-word;
    }
    </style>

remark.JPG

  • .remark-code-line クラスに対して、 word-wrap: break-word を指定すると、コードの記述がはみ出るのを回避できる。
87
93
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
87
93

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?