1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SphinxのreStructuredtextによるGodot記事執筆方法

1
Last updated at Posted at 2019-09-02

今までの派遣社員としては、C言語やその他プログラミング言語を使ってきた。
最近は、自作キーボードとしてQMKを調べていたが、C言語には関わっていない。
COBOL言語要員として派遣した時、実際の業務はExcelの線引きばかりしていたという仕事とは思えないことにも従事し、いろいろ屈辱的なことにも耐えてきた。
しかし、今はニートだ。
学生時代からゲーム作りに憧れ、ずっとゲームで遊んで勉強から逃げてきた。

もう一度言うが、私は現在ニートだ。
そのため、ゲームを12時間近くしつつ1日の余った時間で勉強をしようと思い立った。
そのときに発生したことをメモ書きにしようと思い立った。

速攻躓いたため、ここにメモを残す。

選んだプログラミング言語

有名とは言いがたい言語を選んだ。
それが Godot だ。

その理由は、巷にあふれている言語を選ぶ場合、既に有識者が多いため、注目を集めるのは不可能に近いと思った。
何より、その状態の場合、私が奮起したところで、他の人の方がいいものを作るだろうというやる前から諦めてしまう性格が顔を出し・・・顔どころか体だけで無くその世界が私を覆い尽くし、ゲームに逃げることは分かっている。
そのため、ほぼ情報の無い言語を選ぶことにした。

それでもある程度の日本語情報は出回っているが・・・。

どの程度まで理解したか

全く手を付けていないに等しい。
他の勉強と同じように、環境構築をして終わっている状態だ。
なにせ、日本語の情報が無い。

全く手を付けられない状態であり、しかもどこから手を付けていいのか分からないぐらい途方に暮れている状態でもある。

どうするのか。

まずは、チュートリアルから取り組む。

今回のQiitaへの記事内容は?

チュートリアルで手に入れた知識をメモに取る。
そのときに利用するのが、 reStructuredtext を使う。
略して rest と言うようだ。

私の完全なる備忘録であり、他の人の役に立つかどうか分からない。
そもそもGodotに関する記事を書いて興味を持つ人がいるとは思えないorz

vimでのreStructuredtext表示

先日Vimで執筆した内容をブラウザに表示できるプラグインを導入した。
しかし、画像が表示されず、不便を強いられていた。
今回、コンパイル作業から生成したHTMLであれば表示されるのでは無いかと高を踏んだ。
※結論:表示されなかった。
悲しいが、パスの仕方が悪いのかもしれない・・・画像表示がなされないのは、VimプラグインやSphinxコンパイルとは無縁だった。
私の技術不足だ。
⇒safariブラウザからFirefoxブラウザに変更しただけで画像が表示されたという・・・。
しかし、Vimプラグインを使ったFirefox表示でも画像表示がなされないため、やはりプラグインにも問題があるのかもしれない。そもそもmarkdown用のプラグインのはず・・・きっと。

躓きポイント

reStructuredtextを使う場合は、基本的にコンパイル作業が発生する。
その理由は、Markdownと同じようにマークアップ言語のような記述方法が可能であり、それを元にHTMLやPDFに変換してくれる機能があるのも特徴だ。

そのときの記事に、ソースコードを埋め込めるのだが、言語ごとの細かい指定ができる。
そして、Godotは無名だからなのか、reStructuredtextには、標準でGodot用のソースコード記載を許していない。
そのため、別途準備する必要が出てくる。

その準備に躓いた。

コンパイルエラー

Godotに関するプログラムがSphinxにないため、以下のエラーが発生する。
ModuleNotFoundError: No module named 'gdscript'

メモ内容は以下の通り。

memo.rst
.. tabs::
 .. code-tab:: gdscript GDScript

	extends Area2D

	export var hoge = 400

Sphinxでは、上記の書き方を行う。これで、記事途中にソースコードを埋め込める。
そして、SphinxからこのGDScriptを識別できないため、エラーになる。
(次が本題)

コンパイル準備

gdscript.pyを読み込むことでコンパイルエラーを防ぐことができる。
しかし、この注意点として、自分の手でどこかのディレクトリに配置する必要があり、手作業でそれを読み込むようにしなければならないと言うこと。

※PyPIには存在しないプログラムだからだ。無名というのは実に苦労する。

配置場所は好きにして構わない。
参考URL:Pythonで「ImportError: No module named …」が出た時の3つの対処法

ファイルの読み込み

参考URLから gdscript.py を読み込む準備を行う。
Sphinxでは、Pythonを使っているようで、 conf.py が設定ファイルになる。
そこに書き込む。

conf.py
import sys
sys.path.append('/Users/chesscommands/godot/gdscript') # gdscript.pyファイルを配置したディレクトリPath

これでいい。
私は何を勘違いしたか、ファイル名を含むフルパスを指定してしまい、同じエラーが表示され続けてしまった。
参考URLを参考にしないという・・・。

今回はフルパスを指定したが、相対パスでも問題ないようだ。

余談

コンパイルは通ったが、なぜか文字化けしてしまう。

conf.py
language = 'ja'

を設定しても解決しなかった。
途方に暮れていたが、ブラウザの表示文字コードを""iso-2022-jp"に変更したとき、一部だけまともな日本語表示がなされた。
そのため、ファイルの文字コードを確認したら"iso-2022-jp-3"とのこと・・・あぁ。

"utf-8"に変更してコンパイルをしたら文字化けせずに表示された。
よかった。

今回の執筆は、Planckを使った。
以上。

1
2
2

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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?