FSharp.Literate を使用して HTML ページを作成しようとしています。Mono 4.5 を使用して Xamarin で作業しています。*.fsx
基本的なスクリプトを html に変換したいと考えています。テスト用のドキュメントの簡単なスクリプトの例を使用しています。html に変換したいスクリプトは次のようになります。
(**
# First-level heading
Some more documentation using `Markdown`.
*)
(*** include: final-sample ***)
(**
## Second-level heading
With some more documentation
*)
(*** define: final-sample ***)
let helloWorld() = printfn "Hello world!"
組み込みの NuGet マネージャーを使用してダウンロードしましFSharp.Formatting
た。また、インストールMicrosoft.AspNet.Razor 2
し、RazorEngine
ドキュメントの例に基づいて、上記の例を html に変換する次のスクリプトを作成しました。github の元の FSharp.Formatting の html テンプレートを使用しています。
#I "bin/Debug/"
#r "FSharp.Literate.dll"
#r "FSharp.Markdown.dll"
#r "FSharp.CodeFormat.dll"
open System.IO
open FSharp.Literate
let source = __SOURCE_DIRECTORY__
let baseDir = Path.Combine(source, "html/")
let file = Path.Combine(baseDir, "demo.fsx")
let output = Path.Combine(baseDir, "demo-script.html")
let template = Path.Combine(baseDir, "template.html")
Literate.ProcessScriptFile(file, template, output)
プロセスが実行され、html ファイルが生成されます。ただし、F# コードはトークン化されません。適切にフォーマットされたコードの代わりに、以下の例を取得します。明らかな何かが欠けていますか?
編集:
以下の Tomas のコメントに基づいて、.css および .js ファイルに問題があることがわかりました。私が使っていたテンプレートはhref="{root}/content/style.css" /> <script src="{root}/content/tips.js"
{root} タグが原因で、css ファイルと js ファイルが見つかりませんでした。それを変更してhref="content/style.css" /> <script src="content/tips.js"
問題を解決しました