SeraphyScriptDialog v2以降のソースコード管理
リビジョン | 071f9337a8d735947d030143daf50ca97d1b71d1 (tree) |
---|---|
日時 | 2015-07-19 15:29:47 |
作者 | seraphy <seraphy@sera...> |
コミッター | seraphy |
ウェブ上のヘルプ用のsidemenu生成ツールと、生成されたサイドメニューと使用するフレーム
@@ -0,0 +1,11 @@ | ||
1 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> | |
2 | +<html> | |
3 | +<head><title>SeraphyScriptDialogヘルプ</title></head> | |
4 | +<frameset cols="400,*"> | |
5 | + <frame src="sidemenu.html" name="sidemenu"> | |
6 | + <frame src="html/top.html" name="main"> | |
7 | + <noframes> | |
8 | + このページはフレームを使用しています。 | |
9 | + </noframes> | |
10 | +</frameset> | |
11 | +</html> |
@@ -0,0 +1,89 @@ | ||
1 | +#! /usr/bin/python2.7 | |
2 | +''' | |
3 | +Created on 2015/07/19 | |
4 | +for Python2.7 | |
5 | + | |
6 | +seraphyscriptdialog.hhcを読み取ってウェブ上のヘルプを作成するための | |
7 | +sidemenu.htmlファイルを構築します。 | |
8 | + | |
9 | +python makesite.py | |
10 | +で変換作成を行います。 | |
11 | + | |
12 | +@author: seraphy | |
13 | +''' | |
14 | + | |
15 | +from HTMLParser import HTMLParser | |
16 | + | |
17 | +class MyHTMLParser(HTMLParser): | |
18 | + | |
19 | + sitemapAttr = ('type', 'text/sitemap') | |
20 | + | |
21 | + beginBody = False | |
22 | + | |
23 | + sitemapMode = False | |
24 | + sitemapTitle = '' | |
25 | + sitemapUrl = '' | |
26 | + | |
27 | + def handle_starttag(self, tag, attrs): | |
28 | + if not self.beginBody: | |
29 | + if tag == 'body': | |
30 | + self.wr.write('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">\r\n'); | |
31 | + self.wr.write('<html><head>\r\n'); | |
32 | + self.wr.write('<meta http-equiv="Content-Type" content="text/html; charset=Windows-31J">\r\n') | |
33 | + self.wr.write('<meta http-equiv="Content-Language" content="ja-JP">\r\n') | |
34 | + self.wr.write('<link href="sidemenu.css" rel="stylesheet" type="text/css" media="screen" >\r\n') | |
35 | + self.wr.write('<title>SeraphyScriptDialog Help</title>\r\n'); | |
36 | + self.wr.write('<base target="main"/>\r\n'); | |
37 | + self.wr.write('<body>\r\n'); | |
38 | + self.beginBody = True | |
39 | + return | |
40 | + | |
41 | + if tag == 'object' and [x for x in attrs if x == self.sitemapAttr]: | |
42 | + self.sitemapMode = True | |
43 | + elif tag == 'param' and self.sitemapMode: | |
44 | + paramType = [x[1] for x in attrs if x[0] == 'name'] | |
45 | + paramValue = [x[1] for x in attrs if x[0] == 'value'] | |
46 | + # print("*param name={0} value={1}".format(paramType, paramValue)) | |
47 | + | |
48 | + if paramType == ['Name']: | |
49 | + self.sitemapTitle = paramValue[0] | |
50 | + elif paramType == ['Local']: | |
51 | + self.sitemapUrl = paramValue[0] | |
52 | + else: | |
53 | + raise Exception('unknown attrs:{0}'.format(attrs)) | |
54 | + | |
55 | + else: | |
56 | + self.wr.write("<{0}>".format(tag)) | |
57 | + | |
58 | + def handle_endtag(self, tag): | |
59 | + if not self.beginBody: | |
60 | + return | |
61 | + | |
62 | + if tag == 'object' and self.sitemapMode: | |
63 | + if len(self.sitemapUrl) > 0: | |
64 | + self.wr.write("<a href='{1}'>{0}</a>".format(self.sitemapTitle, self.sitemapUrl.replace('\\', '/'))) | |
65 | + else: | |
66 | + self.wr.write("{0}".format(self.sitemapTitle)) | |
67 | + | |
68 | + self.sitemapMode = False | |
69 | + self.sitemapTitle = '' | |
70 | + self.sitemapUrl = '' | |
71 | + | |
72 | + elif tag == 'param' and self.sitemapMode: | |
73 | + pass | |
74 | + else: | |
75 | + self.wr.write("</{0}>\r\n".format(tag)) | |
76 | + | |
77 | +def main(): | |
78 | + with open('seraphyscriptdialog.hhc', 'r') as f: | |
79 | + text = f.read() | |
80 | + | |
81 | + with open('sidemenu.html', 'w') as wr: | |
82 | + parser = MyHTMLParser() | |
83 | + parser.wr = wr | |
84 | + parser.feed(text) | |
85 | + | |
86 | + print("ok"); | |
87 | + | |
88 | +if __name__ == '__main__': | |
89 | + main() |
@@ -0,0 +1,78 @@ | ||
1 | +@charset "utf-8"; | |
2 | + | |
3 | +body { | |
4 | + margin-top: 0px; | |
5 | + margin-bottom: 2em; | |
6 | + margin-left: 0.5em; | |
7 | + margin-right: 0.5em; | |
8 | + font-family: "メイリオ", "MS P明朝", "MS 明朝", "細明朝体", "Osaka", serif; | |
9 | + background-color: #FDFFFD; | |
10 | +} | |
11 | + | |
12 | +li { | |
13 | + margin: 0.5em; | |
14 | +} | |
15 | + | |
16 | +a:link, a:active, a:visited { | |
17 | + color: #807010; | |
18 | +} | |
19 | +a:hover { | |
20 | + color: #00dd33; | |
21 | +} | |
22 | + | |
23 | +h1 { | |
24 | + font-size: 140%; | |
25 | + margin-bottom: 1.5em; | |
26 | + margin-top: 1em; | |
27 | + padding: 0.5em; | |
28 | + color: #006600; | |
29 | + text-align: center; | |
30 | +} | |
31 | + | |
32 | +h2 { | |
33 | + font-size: 120%; | |
34 | + margin-bottom: 0.5em; | |
35 | + margin-top: 1em; | |
36 | + padding: 0.3em; | |
37 | + border-color: #0066FF; | |
38 | + border-left-style: solid; | |
39 | + border-left-width: 0.5em; | |
40 | + border-bottom-style: solid; | |
41 | + border-bottom-width: thin; | |
42 | +} | |
43 | + | |
44 | +h3 { | |
45 | + font-size: 120%; | |
46 | + margin-bottom: 0.5em; | |
47 | + margin-top: 1em; | |
48 | + padding: 0.3em; | |
49 | + text-decoration: none; | |
50 | + border-bottom: 3px solid #0066FF; | |
51 | +} | |
52 | + | |
53 | +h4 { | |
54 | + font-size: 100%; | |
55 | + margin-left: 1em; | |
56 | + margin-bottom: 0.5em; | |
57 | + margin-top: 1em; | |
58 | + padding: 0.3em; | |
59 | +} | |
60 | + | |
61 | +p { | |
62 | + text-indent: 1em; | |
63 | + margin-bottom: 0ex; | |
64 | + margin-top: 0ex; | |
65 | + line-height: 1.2em; | |
66 | +} | |
67 | + | |
68 | +ul{ | |
69 | + margin-left: 0em; | |
70 | + font-size: 100%; | |
71 | + padding-left: 0; | |
72 | +} | |
73 | + | |
74 | +li { | |
75 | + margin-left: 1em; | |
76 | + font-size: 100%; | |
77 | + padding-left: 0; | |
78 | +} |
@@ -0,0 +1,22 @@ | ||
1 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> | |
2 | +<html><head> | |
3 | +<meta http-equiv="Content-Type" content="text/html; charset=Windows-31J"> | |
4 | +<meta http-equiv="Content-Language" content="ja-JP"> | |
5 | +<link href="sidemenu.css" rel="stylesheet" type="text/css" media="screen" > | |
6 | +<title>SeraphyScriptDialog Help</title> | |
7 | +<base target="main"/> | |
8 | +<body> | |
9 | +<ul><li>SeraphyScriptDialog<ul><li><a href='html/top.html'>概要</a><li><a href='html/top.html#projecthome'>プロジェクトホーム</a><li><a href='html/license.html'>ライセンスと使用許諾条件</a><li><a href='html/howtoinstall.html'>セットアップについて</a><li><a href='html/history.html'>更新履歴・歴史</a></ul> | |
10 | +<li>マニュアル<ul><li><a href='html/howtouse.html'>使い方</a><li>SeraphyScriptDialogオブジェクト<ul><li><a href='html/ScrDlgRootSynop.html'>概要</a><li>プロパティ<ul><li><a href='html/DataConvProp.html'>データ変換関連</a><li><a href='html/PreferencesProp.html'>設定ファイル関連</a></ul> | |
11 | +<li>メソッド<ul><li><a href='html/CommonDlgMethod.html'>コモンダイアログ関連</a><li><a href='html/ShellMethod.html'>シェル関連</a><li><a href='html/SystemMethod.html'>システム関連</a><li><a href='html/FileMethod.html'>ファイル関連</a><li><a href='html/EventMethod.html'>イベント関連</a><li><a href='html/DataConvMethod.html'>データ変換関連</a></ul> | |
12 | +</ul> | |
13 | +<li>UserFormオブジェクト<ul><li><a href='html/UserFormSynop.html'>概要</a><li><a href='html/UserFormProp.html'>プロパティ</a><li>メソッド<ul><li>コントロールの配置<ul><li><a href='html/ClearAllControls.html'>ClearAllControls</a><li><a href='html/DefineLabel.html'>ラベル</a><li><a href='html/DefineEdit.html'>エディットコントロール</a><li><a href='html/DefineEditButton.html'>ボタン付きエディットコントロール</a><li><a href='html/DefineFileEdit.html'>ファイル参照ボタン付きエディットコントロール</a><li><a href='html/DefineButton.html'>ボタン</a><li><a href='html/DefineCheckButton.html'>チェックボックス</a><li><a href='html/DefineRadioButton.html'>ラジオボタン</a><li><a href='html/DefineComboBox.html'>コンボボックス</a><li><a href='html/DefineDropdownList.html'>ドロップダウンリスト</a><li><a href='html/DefineListBox.html'>リストボックス</a></ul> | |
14 | +<li><a href='html/ExecuteForm.html'>モーダルダイアログ</a><li><a href='html/ComposeForm.html'>モードレスダイアログ</a></ul> | |
15 | +</ul> | |
16 | +<li>OutputWindowオブジェクト<ul><li><a href='html/OutputWindowSynop.html'>概要</a></ul> | |
17 | +<li>Listオブジェクト<ul><li><a href='html/ListObjSynop.html'>概要</a></ul> | |
18 | +</ul> | |
19 | +<li>技術資料<ul><li><a href='html/technote.html'>技術的な注意事項</a><li><a href='html/wsfref.html'>wsfによる定数の参照</a><li><a href='html/bugs.html'>既知のバグ</a></ul> | |
20 | +</ul> | |
21 | +</body> | |
22 | +</html> |