for VisualWorks 7.8 / 7.7 / 7.6 with Jun793
ソースコード(プログラム)などをHTML(Webページ)にしたいことが多々あると思います。そのようなときに役立つプログラム「テキストドックレット(TextDoclet)」を作成してみました。どうぞ次のプログラムを実行してください。
| aCollection | (aCollection := OrderedCollection new) add: #url: -> 'http://www.cc.kyoto-su.ac.jp/~atsushi/Programs/VisualWorks/TextDoclet/TextDoclet.st'; add: #comment: -> 'Copyright 2008-2012 KSU (Kyoto Sangyo University). All Rights Reserved.'; add: #bundle: -> #KSU; add: #package: -> 'KSU-Tool'; add: #nameSpace: -> #KSU; add: #category: -> 'KSU-Tool'; add: #class: -> #{KSU.TextDoclet}; add: #protocol: -> #examples; add: #selector: -> #example1; add: #execute: -> [#{KSU.TextDoclet} value yourself]; yourself. JunSystem perform: ((aCollection collect: [:each | each key]) inject: String new into: [:selector :key | selector , key]) asSymbol withArguments: (aCollection collect: [:each | each value]) asArray
たとえば、JavaプログラムをHTML化するのが、例題の1番になります。ディレクトリを訊ねてきますので、お手持ちのJavaのソースコード群が置いてあるディレクトリを指定してください。指定されたディレクトリを起点にして、その下にあるサブディレクトリを再帰的に(10階層)たどり、「*.java」のパターンに合うファイルを探し出し、それらをHTML化します。HTML化されたJavaのソースコード群はデスクトップ上(日時を後置したディレクトリ内)に置かれます。
|
ant(Ant 1.6以降)のjavadocタスクにおいて、以下のような属性をjavadocタグに加えると、javaソースファイルへのリンクを生成してくれますが、HTML化されたソースプログラムのページ(src-html/**.html)はお粗末なものです。ここで作成したものに置き換えるのが良いと思います。HTML-lintやW3C Validationをパスします。
linksource="yes" additionalparam="-J-Dfile.encoding=UTF-8"
例題の2番は、SmalltalkプログラムをHTML化します。複数個のクラス群を指定して走るようにできています。HTML化されたSmalltalkのソースコード群はデスクトップ上(日時を後置したディレクトリ内)に置かれます。
|
JavaやSmalltalkのプログラムに限らず、テキストファイルならば、行番号を振って、HTML化できますので、「テキストドックレット(TextDoclet)」と名付けました。当該ページは自分(TextDoclet自身)を自分(TextDoclet自身)でHTM化した(メタ的な)ものになります。
for VisualWorks 7.8 / 7.7 / 7.6 with Jun793