Posts categorized under: HEP

HEP Index

目次

HEP No. タイトル 概要
HEP1 Hestia改良提案の目的と指針 Hestia改良提案はHestiaの改良、またはその指針を示すための情報をまとめた文書です。
HEP2 Hestiaにおけるライセンス HestiaではGPLv3を用います。
HEP3 シナリオファイル シナリオファイルはMarkdownの文法を基にして、基本的な表現を行います。
HEP4 スクリプト変換 シナリオファイルから抽出した構造データはXSLTを用いてスクリプトへ変換されます。

HEP1

Hestia改良提案の目的と指針

HEPについて

Hestia改良提案(HEP - Hestia Enhancement Proposal)はHestiaの改良、またはその指針を示すための情報をまとめた文書です。

HEPはPEPRFCを参考にしています。

HEPの種類

  1. 標準はHestiaの機能を記述します。
  2. 情報は一般的な指針や、Hestiaの抱える問題等を記述します。

文書番号

文書番号は登録順序を問わず割り当てられ、必ず一意の文書となるように登録します。

バージョン管理

バージョン管理はGitを用い、修正の際は文書の番号を変更しないものとします。

HEPの登録手順

HEPに登録される文書はCC BY-SAとして扱われます。

編集者には提案を却下する権利があります。 却下する場合は、その理由を提示する必要があります。

以下の編集者がHEPを管理します。

編集者

手順

  1. 提案者は提案したい文書をドラフトとして投稿します。
    • GitHub: draftsフォルダに提案文書を入れ、プルリクエストを作成します。
    • E-mail: 提案文書を編集者に直接送ります。
  2. 編集者は提案をdraftsに登録し、検討します。
  3. 登録される場合は文書に番号を割り当て ...

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 ...