Posts categorized under: HEP
HEP1
Hestia改良提案の目的と指針
HEPについて
Hestia改良提案(HEP - Hestia Enhancement Proposal)はHestiaの改良、またはその指針を示すための情報をまとめた文書です。
HEPの種類
- 標準はHestiaの機能を記述します。
- 情報は一般的な指針や、Hestiaの抱える問題等を記述します。
文書番号
文書番号は登録順序を問わず割り当てられ、必ず一意の文書となるように登録します。
バージョン管理
バージョン管理はGitを用い、修正の際は文書の番号を変更しないものとします。
HEPの登録手順
HEPに登録される文書はCC BY-SAとして扱われます。
編集者には提案を却下する権利があります。 却下する場合は、その理由を提示する必要があります。
以下の編集者がHEPを管理します。
編集者
手順
- 提案者は提案したい文書をドラフトとして投稿します。
- GitHub:
drafts
フォルダに提案文書を入れ、プルリクエストを作成します。 - E-mail: 提案文書を編集者に直接送ります。
- GitHub:
- 編集者は提案を
drafts
に登録し、検討します。 - 登録される場合は文書に番号を割り当て ...
HEP2
Hestiaにおけるライセンス
HestiaではGPLv3を用います。
このライセンスはソフトウェアに適用され、生成物には適用されません。
Hestiaを使用した生成物について
GPLv3はコピーレフトライセンスですが、生成物に関してはGPLライセンスは適用されません。
つまり、Hestiaを用いて作成されたファイルやスクリプトがGPLライセンスになることはありません。
これはGCCコンパイラでコンパイルされたプログラムがGPL適用されないことと同じです。
XSLT内のスクリプト等のライセンス
テンプレート部分は修正BSDライセンスが適用されます。
参照
HEP3
シナリオファイル
シナリオファイルはMarkdownの文法を基にして、基本的な表現を行います。
シナリオファイルは内部でXHTML形式に変換され、構造データを構築します。
エンコーディング
シナリオファイルのテキストエンコーディングはUTF-8を使用しなければなりません。
Markdown
MarkdownはJohn Gruber氏によって提案された書式です。 [Markdown]
用いる表現
段落
Markdown:
行と行の間には空行が必要になります。
空行を挟まない行は
改行命令を挟んで一つのパラグラフにまとめられます。
XHTML:
<div>
<p><span class="text">行と行の間には空行が必要になります。</span></p>
<p><span class="text">空行を挟まない行は</span><br /><span class="text">改行命令を挟んで一つのパラグラフにまとめられます。</span></p>
</div>
Markdown Hestia拡張
ただのMarkdownではシナリオ表現に必要な表現が不足しています。
そのため、MarkdownにHestia拡張を施します。
台詞表現
ADV形式のノベルゲーム等では名前が独立した表現となっています。
Markdown ...
HEP4
スクリプト変換
シナリオファイルから抽出した構造データはXSLTを用いてスクリプトへ変換されます。
XSLT変換
XSLTはXMLを変換するための関数型言語で、XMLに適用することでテキストファイルを生成します。
XHTML:
<div>
<p class="description"><span class="text">こんにちは。</span></p>
<p class="description"><span class="text">ごきげんよろしゅう。</span></p>
</div>
XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output ...