PythonでMarkdownからEPUBをつくろう

この連載について

 この連載は、『PythonでMarkdownからEPUBをつくろう』を一部抜粋して編集したものです。

 本編には、全てのソースコードや、生成する原稿のサンプルが付属しています。ぜひ、こちらもご購入ください。

 姉妹版の『PythonとPygameで作る レトロ風RPG 全コード』もあります。

目次に戻る

2-3 原稿ファイル

公開:2025-04-02

 config.yamldocsで指定した.mdファイルです。このファイルを増やしていくことで、本の原稿を作っていきます。

 Markdown形式の例を示します。

 1# 前書き
 2
 3## 挨拶
 4
 5 ここは文章です。
 6
 7 改行2つで段落が変わります。**強調**はアスタリスク2つで囲います。
 8
 9[リンク](chapter_xx.xhtml)
10
11![画像](image/dummy.jpg)
12
13* リスト1
14* リスト2
15    * リスト2-1
16    * リスト2-2
17* リスト3
18
19<div class="right">HTMLのタグも使えます。</div>
20
21<div class="with-border" markdown="1">
22
23* リスト1
24* リスト2
25    * リスト2-1
26    * リスト2-2
27* リスト3
28
29</div>

 上の内容は、Markdown記法で使う装飾の一例です。実際にはもっと数が多いのですが、テキスト中心の原稿でよく使いそうなものを選びました。

見出し

 「#+半角スペース+テキスト」は大見出しです。HTMLの<h1>テキスト</h1>に変換されます。

 「##+半角スペース+テキスト」は中見出しです。HTMLの<h2>テキスト</h2>に変換されます。

 以降#が増えるほど階層が下の見出しになります。

文章

 Markdownでは、改行2つで段落が変わります。段落は、HTMLタグの<p>~</p>で囲まれます。段落の間は1行隙間が空きます。

 1行隙間を空けずに改行したい場合は、行末に半角スペースを2つ書きます。そうすると行末に<br />タグが挿入されます。

 各段落の先頭の半角スペース、全角スペースは削除されます。

強調

 強調方法はいくつかあります。*(アスタリスク)2つで囲うと強調になります。_(アンダースコアー)2つで囲う方法もあります。

 *_1つで囲うと斜体になります。ただし、日本語では変化がありません。3つで囲うと斜体と強調の両方が適用されます。

リンク

 電子書籍では目次などでリンクを使います。またWebのリンクを入れることもあります。ただし、BOOK☆WALKERのように、書籍販売サイトによってはリンク機能を禁止していることもあります。

 リンクは[リンク](chapter_xx.xhtml)の形式で書きます。[リンク]の部分が表示文字で、(chapter_xx.xhtml)の部分がURLです。

 この部分は<a href="chapter_xx.xhtml">リンク</a>のようにHTML化されます。

画像

 画像も挿入できます。画像の書式はリンクに似ています。先頭に!を書き、![画像](image/dummy.jpg)と書きます。[画像]の部分がALTテキスト(代替テキスト)で、(image/dummy.jpg)の部分がURLです。

 この部分は<img src="image/dummy.jpg" alt="画像" />のようにHTML化されます。

リスト

 *+-を書き、半角スペースを空けて行を書くとリストになります。次の行でインデントすると、階層が1つ下がります。

 1.のように数字とドットを書き、半角スペースを空けて行を書くと連番リストになります。次の行でインデントすると、階層が1つ下がります。

HTMLタグ1

 MarkdownではHTMLタグをそのまま書けます。

 Kindle用の電子書籍を作る際に注意しなければならないのは、style属性が使えないことです。style属性を使うとエラーになります。

 そのためstyle="text-align: right;"(テキストを右寄せ)のような効果を使いたい時は、class="right"のようにクラスを書き、CSSファイルで.right { text-align: right; }のようにスタイルを指定します。

HTMLタグ2

 PythonのMarkdownパッケージでは、HTMLタグの内側にMarkdown記法を書いても無視されます。HTMLに変換されず、ただのテキストになります。

 HTMLタグの内側でもMarkdown記法を変換させたい時は、HTMLタグにmarkdown="1"という属性を書きます。

 このmarkdown="1"の属性は、Markdownパッケージがテキストを変換するときに除去されます。


目次に戻る

この連載について

 この連載は、『PythonでMarkdownからEPUBをつくろう』を一部抜粋して編集したものです。

 本編には、全てのソースコードや、生成する原稿のサンプルが付属しています。ぜひ、こちらもご購入ください。

 姉妹版の『PythonとPygameで作る レトロ風RPG 全コード』もあります。

 技術系同人誌など まとめページ


トップページに戻る
Cronus Crown(クロノス・クラウン)のトップページに戻る
(c)2002-2025 Cronus Crown (c)1997-2025 Masakazu Yanai
ご意見・お問い合わせはサイト情報 弊社への連絡までお願いします
個人情報の取り扱い、利用者情報の外部送信について