還是記錄一下這件事。和之前寫的東西類似,也就是 Markdown 檔案輸出為 HTML 格式。在研究 NaviServer 目前的 code 以後,我發現在 NaviServer tcl 目錄下加上 markdown.tcl,就可以用來處理 /*.md。
下面是 markdown.tcl 檔案的內容:
#
# markdown.tcl --
#
# Add tclllib markdown support to NaviServer
#
#
# Register the ns_markdownfie handler for .md files
#
package require Markdown
ns_register_proc GET /*.md ns_markdownfie
#
# ns_markdownfie --
#
# Callback for Makrdown file.
#
proc ns_markdownfie {args} {
set path [ns_url2file [ns_conn url]]
if {![ns_filestat $path stat]} {
ns_returnnotfound
return
}
set infile [open $path]
set md [read $infile]
close $infile
set data [::Markdown::convert $md]
ns_headers 200 "text/html;charset=utf-8"
ns_write $data
}
# EOF
重開 NaviServer 以後測試,我發現這個寫法是可行的。
沒有留言:
張貼留言