2013-12-19 6 views
5

私はラケットの落書き/ lpに小さなサンプルプログラムを書こうとしています。プロジェクトのソースはGithubです。未解決のリンク不安定/ lp文書

私が経験している問題は、織ったhtmlのリンクが壊れていることです。私はプロジェクトのためにgh-page.として提供しました。

「Sribble LPexample.scrbl」コマンドを使用して文書を出力する場合、私は次の警告を得る:

2013 blog > scribble LPexample.scrbl 
[Output to LPexample.html] 
Warning: some cross references may be broken due to undefined tags: 
(dep ((lib "2htdp/image.rkt") ellipse)) 
(mod-path "racket") 
(dep ((lib "2htdp/image.rkt") beside/align)) 
(dep ((lib "2htdp/image.rkt") rectangle)) 
(mod-path "scribble/lp") 

を、出力ファイルが壊れたリンクの下に赤い下線を配置します。

描画されるファイルは、LPexample.scrblです。それはかなり簡単です:

#lang scribble/manual 
@require[scribble/lp-include] 
@title{Literate Programming Example} 
// snip 
@lp-include["LPexample.rkt"] 

壊れたリンクをソース文芸的プログラミング文書のセクションは、ライン69から86までです:

which weaves to this: 

@chunk[<blue_square> 
     (rectangle 100 100 "solid" "blue")] 

can be composed into other functions this way: 
@verbatim|{ 
@chunk[<blue_square> 
(beside/align "bottom" 
       (ellipse 20 70 "solid" "lightsteelblue") 
       <blue_square>)]}| 

which weaves out to: 

    @chunk[<example_body> 
    (beside/align "bottom" 
        (ellipse 20 70 "solid" "lightsteelblue") 
        <blue_square>)] 

私はもちろん、ラケットのドキュメントを掘りしてきました。しかし、実際にはまっすぐなかんぬき/芯か落書き/マニュアルを使用した文書を相互にリンクするための良い例はなく、落書き/ lpを気にすることはありません。

また、Racketのドキュメントのソースを掘り下げてみましたが、ガイドとリファレンス用のスクリーブルファイルは、非常に多くのカスタム関数とマクロと依存関係を使用しています。シンプルな "ああそう、それはやっている方法だ"を掘り起こすために。

答えて

6

ソースコードの識別子を自動的にハイパーリンクさせる場合は、2つのことを行う必要があります。

Scribbleに認識させたいライブラリには、for-labelが必要です。たとえば、おそらく(require (for-label 2htdp/image))が必要です。詳しくは、ドキュメントのthis subsectionを参照してください。

もう1つは、Scribbleドキュメントをオンラインでホスティングしている場合は、ドキュメンテーションのリンクがどこかを指す必要があるため、どこで指定する必要があるかです。これは、コマンドラインフラグで行うことができます。このようなもの:

scribble --html +m --redirect-main http://docs.racket-lang.org/ document.scrbl 

さまざまなドキュメントURLを使用できます。たとえば、リリース前のスナップショットのドキュメントhttp://www.cs.utah.edu/plt/snapshots/current/doc/にリンクすることもできます。詳細については


、相互参照の取り扱いに関する落書きドキュメントのサブセクションがあります:http://www.cs.utah.edu/plt/snapshots/current/doc/scribble/running.html#%28part._xref-flags%29

は、