2013-12-19 39 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。

我也試着通過源的球拍文檔挖掘,但對於該指南和參考亂寫文件使用,我只是不能讓我的大腦遠遠不夠周圍這麼多的自定義功能和宏和依存關係,挖出一個簡單的「哦,所以這是如何做」。

回答

6

如果您想讓源代碼中的標識符自動超鏈接,您可能需要做兩件事。

其中之一是您需要添加for-label需要任何您希望Scribble識別的庫。例如,您可能需要(require (for-label 2htdp/image))。有關更多信息,請參閱文檔的this subsection

另一種情況是,如果您在線承載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