生の HTML 形式の講義ノートが山積みになっています。これらのメモにインタラクティブなコンテンツを追加したいと思います。特に、オンライン演習を取り入れたいと考えています。サーバー上で実行されているHaskellコードからコンパイルされたcgi-bin実行可能ファイルとしてオンライン演習を実装し、学生記録ファイルとやり取りし、適切なHTMLをブラウザに送り返しText.Xhtml
、コンテンツを生成するために使用した経験があります. 今、ノートと演習を統合する予定です。
問題は、生の HTML を手動で Haskell コードに変換して、元の生の HTML を正確に生成するのに何年も費やしたくないということです。代わりに、Haskell コードと HTML を同じソース ファイルに配置し、前者によって生成されたコンテンツのプレースホルダーを後者に配置したいと考えています。次に、適切なツールを使用して、このファイルを (たとえば) 対応するページを生成する cgi-bin 実行可能ファイルの Haskell ソース コードに変換する必要があります。
そのようなキットをハッキングする前に、もっと優れた技術が他にないか聞いてみようと思いました。固定点は、HTML の大きなレガシー塊、Haskell で演習の評価を実装する必要性、およびサーバー上の生徒の記録と対話する必要性です。ハンディキャップは、部門別の Web サーバーを使用する必要があり、それを再構成できないことです (わかりました、多分私はうまく尋ねることができます): これが、私が現在 cgi-bin 実行可能ファイルを使用している理由の 1 つです。 、しかし、私は他の可能性を受け入れています。
私の現在の計画は、タイプの関数を定義するための特別な構文をサポートするために (既存のものを適応させるという意味です) プリプロセッサを作成することです。
Html -> ... -> Html -> Html
これはスプライス ポイントのある生の HTML によく似ています。次に、既存の未加工の HTML で行うことは、少しインデントして穴をマークすることです。
しかし、それは時間の無駄でしょうか?この質問が重複していることを教えてください。