Org-modeでhugoの記事を書く

Org-modeでhugoの記事を書く
目次


はじめに

hugoの記事はmarkdown形式で書くのが一般的ですが、org-modeにも対応しています。org-modeで書いたときにどのように表示されるか、HTMLにはどう出力されるかをまとめてみました。

org-modeをhugoでHTMLにする

見出し

org htmlタグ
* 見出し1 <h2>見出し1</h2>
** 見出し2 <h3>見出し2</h3>
*** 見出し3 <h4>見出し3</h4>

数字がひとつ減る。タイトルが<h1>タグ。

文字装飾

org 表示 HTMLタグ
*太字* 太字 <strong>太字</strong>
/Italic/ Italic <em>Italic</em>
+取り消し+ 取り消し <del>取り消し</del>
_下線_ 下線 <span style="text-decoration: underline;">下線</span>
上付き^{abc} 上付きabc 上付き<sup>abc</sup>
下付き_{abc} 下付きabc 下付き<sub>abc</sub>
  • 太字は<b>タグではなく<strong>タグです。
  • Italicは「斜体」です。漢字フォントがうまく斜めにならなかったので…

リスト

ハイフンでリスト。

  • ハイフンの後には半角スペースが必要。
  • インデントをつけると階層になる。
- List 1
- List 2
  - List 2-1
  - List 2-2
-List 3
  • List 1
  • List 2

    • List 2-1
    • List 2-2
  • List 3
  <ul>
    <li>List 1</li>
    <li>
      <p>List 2</p>
      <ul>
        <li>List 2-1</li>
        <li>List 2-2</li>
      </ul>
    </li>
    <li>List 3</li>
  </ul>

説明付きリスト

- タイトル1 :: タイトル1の説明
- タイトル2 :: タイトル2の説明
タイトル1
タイトル1の説明
タイトル2
タイトル2の説明
  <dl>
    <dt>
      タイトル1
    </dt>
    <dd>タイトル1の説明</dd>
    <dt>
      タイトル2
    </dt>
    <dd>タイトル2の説明</dd>
  </dl>

チェックリスト(非対応)

残念ながら非対応。普通のリストになる。

- [ ] チェックリスト
- [x] チェック済みリスト
  • チェックリスト
  • [x] チェック済みリスト
<ul>
<li class="unchecked">チェックリスト</li>
<li>[x] チェック済みリスト</li>
</ul>

markdownのチェックリストは以下のように展開される

  • チェックリスト
  • チェック済みリスト
  <ul>
    <li><input disabled="" type="checkbox">チェックリスト</li>
  <li><input checked="" disabled="" type="checkbox">チェック済みリスト</li>
  </ul>



引用

#+begin_quote ~ #+end_quote ブロックで囲う

#+begin_quote
ここは引用です。
- 引用ブロック内ではリストも使えます。
- *文字修飾* も可能。
#+end_quote

ここは引用です。

  • 引用ブロック内ではリストも使えます。
  • 文字修飾 も可能 。
  <blockquote>
    <p>ここは引用です。</p>
    <ul>
      <li>引用ブロック内ではリストも使えます。</li>
      <li><strong>文字修飾</strong> も可能。</li>
    </ul>
  </blockquote>

コメントアウト

  • 行頭に#(シャープ)を入れるとコメントアウトされる。htmlに出力されない。
  • #+begin_comment 〜 #+end_comment ブロックはコメントアウトできない。
  • html内にコメントを残したい場合、 #+begin_export html ~#+end_export を使用して <!-- --> でコメントアウトする。
# コメント(シャープ)

#+begin_comment
コメントブロック
#+end_comment

#+begin_export html
<!-- htmlコメント -->
#+end_export

コメントブロック

  <div class="comment-block">
  <p>コメントブロック</p>
  </div>
  <!-- htmlコメント -->

表(テーブル)


| a   |  b  |   c |
|-----+-----+-----|
| <l> | <c> | <r> |
| 1   |  2  |   3 |
a b c
1 2 3
  • セパレータが入っていると、見出しになる。
  • 左寄せや中央寄せのパラメータは反応しない(画面表示もされない)。

コードブロック


#+begin_src emacs-lisp
  (message "codeblock test")
#+end_src
  (message "codeblock test")
  <div class="src src-emacs-lisp">
  <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>  (<span style="color:#a6e22e">message</span> <span style="color:#e6db74">&#34;codeblock test&#34;</span>)</span></span></code></pre></div>

#+begin_sec (言語名) : 言語名に対応したハイライトが適用される。

リンク

[[https://google.ne.jp][Google]]

Google

  <p><a href="https://google.ne.jp">Google</a></p>

org形式のリンク記法 [[URL][表示文字列]] が使える。新規ウインドウではなく同一ウインドウで開かれる。

内部リンク


[[{{< ref "/policy.md" >}}][プライバシーポリシー]]

プライバシーポリシー

<a href="https://taka2site.com/policy/">プライバシーポリシー</a></p>

hugoのショートコード{{< ref "ファイル名" >}}を使う。ローカル環境でのパスをサーバーに移動したときのURLに変換してくれる。

終わりに

以上、いろいろ試してみた結果でした。

hugoでサイト制作している少数派、さらにorg-modeを使用している人が一体何人いるのかわかりませんが(笑)。すこしずつ更新していこうと思います。