OSDN Git Service

7b661a3f98265e6947ad264cd94a5a94496c542a
[fswiki/sandbox.git] / takezoe / plugin / book / Install.pm
1 ############################################################
2 #
3 # ½ñÀÒ¼¹É®ÍѤΥץ饰¥¤¥ó¤òÄ󶡤·¤Þ¤¹¡£
4 #
5 ############################################################
6 package plugin::book::Install;
7 use strict;
8 use plugin::book::TocParser;
9
10 sub install {
11         my $wiki  = shift;
12         $wiki->add_paragraph_plugin("chapter", "plugin::book::Chapter", "HTML");
13         $wiki->add_paragraph_plugin("section", "plugin::book::Section", "HTML");
14         $wiki->add_inline_plugin("title1", "plugin::book::Title1", "HTML");
15         $wiki->add_inline_plugin("title2", "plugin::book::Title2", "HTML");
16         $wiki->add_inline_plugin("title3", "plugin::book::Title3", "HTML");
17         $wiki->add_paragraph_plugin("caption" ,"plugin::book::Caption" ,"HTML");
18         $wiki->add_paragraph_plugin("toc" ,"plugin::book::Toc" ,"HTML");
19         $wiki->add_inline_plugin("link" ,"plugin::book::Link" ,"HTML");
20         
21         $wiki->add_block_plugin("list" ,"plugin::book::List" ,"HTML");
22         $wiki->add_inline_plugin("code" ,"plugin::book::Code" ,"HTML");
23         
24         $wiki->add_block_plugin("column" ,"plugin::book::Column" ,"HTML");
25         $wiki->add_paragraph_plugin("columnlist", "plugin::book::ColumnList", "HTML");
26         $wiki->add_block_plugin("note" ,"plugin::book::Note" ,"HTML");
27         $wiki->add_block_plugin("box" ,"plugin::book::Box" ,"HTML");
28         
29         $wiki->add_inline_plugin("memo", "plugin::book::Memo", "HTML");
30         $wiki->add_inline_plugin("add", "plugin::book::Add", "HTML");
31         $wiki->add_inline_plugin("del", "plugin::book::Del", "HTML");
32         $wiki->add_paragraph_plugin("memolist", "plugin::book::Memolist", "HTML");
33         
34         $wiki->add_inline_plugin("wordcount", "plugin::book::Wordcount", "HTML");
35         $wiki->add_inline_plugin("pagecount", "plugin::book::Pagecount", "HTML");
36         
37         $wiki->add_hook("chapter", "plugin::book::Title1");
38         $wiki->add_hook("chapter", "plugin::book::Title2");
39         $wiki->add_hook("chapter", "plugin::book::Title3");
40         $wiki->add_hook("chapter", "plugin::book::Caption");
41         
42         $wiki->add_hook("title1", "plugin::book::Title2");
43         $wiki->add_hook("title1", "plugin::book::Title3");
44         $wiki->add_hook("title3", "plugin::book::Title3");
45         
46         $wiki->add_inline_plugin("br", "plugin::book::Br");
47         $wiki->add_paragraph_plugin("keyword" ,"plugin::book::Keyword" ,"HTML");
48         
49         my @paths = split(/\//, $wiki->get_CGI()->path_info());
50         my $path_prefix = '';
51         for(my $i = 0; $i < $#paths; $i++){
52                 $path_prefix .= '../';
53         }
54         $wiki->{book_plugin_path_prefix} = $path_prefix;
55         
56         my $head_info = <<"END_OF_HEAD";
57 <link href="${path_prefix}plugin/book/google-code-prettify/sunburst.css" type="text/css" rel="stylesheet" />
58 <script type="text/javascript" src="${path_prefix}plugin/book/google-code-prettify/prettify.js"></script>
59 <script type="text/javascript">window.onload = function(){ prettyPrint(); }</script>
60 <style type="text/css">
61 div.chapter {
62   text-align: right;
63   padding: 20px;
64   font-size: 200%;
65   font-style: italic;
66 }
67
68 a.xref {
69   background-color: silver;
70   border: 1px solid gray;
71 }
72
73 a.xref:link {
74   color: black;
75 }
76
77 a.xref:hover {
78   color: black;
79 }
80
81 a.xref:visited {
82   color: black;
83 }
84
85 span.xref-error {
86   background-color: silver;
87   font-weight: bold;
88 }
89
90 span.memo {
91   background-color: yellow;
92   border: 1px solid #888800;
93   margin-left: 2px;
94   margin-right: 2x;
95 }
96
97 span.delete {
98   color: blue;
99   text-decoration: line-through;
100 }
101
102 span.add {
103   color: red;
104   text-decoration: underline;
105 }
106
107 div.caption {
108   font-size: 80%;
109   font-weight: bold;
110 }
111
112 code {
113  font-weight: bold;
114 /* font-style: italic; */
115  font-family: monospace;
116 }
117
118 img {
119   border: 1px solid silver;
120 }
121
122 div.column {
123   border: 1px solid gray;
124   margin-left: 20px;
125   margin-right: 20px;
126   margin-top: 10px;
127   margin-bottom: 20px;
128 }
129
130 div.column-title {
131   background-color: silver;
132   font-weight: bold;
133   padding: 4px;
134 }
135
136 div.column-body {
137   padding: 4px;
138 }
139
140 div.note {
141   border: 2px dotted #FF8888;
142   background-color: #FFEEEE;
143   margin-bottom: 20px;
144   margin-left: 20px;
145   margin-top: 10px;
146   margin-right: 20px;
147 }
148
149 div.note-title {
150   font-weight: bold;
151   padding: 4px;
152 }
153
154 div.note-body {
155   padding: 4px;
156 }
157
158 span.keyword {
159   background-color: #666688;
160   color: white;
161   padding: 4px;
162 }
163
164 span.keyword a {
165   color: white;
166 }
167
168 div.keyword {
169   padding-top: 4px;
170   padding-left: 4px;
171   padding-right: 4px;
172   padding-bottom: 8px;
173 }
174
175 table.box {
176   width: 100%;
177   border-top: none;\r
178   border-left: none;
179   border-right: none;\r
180   border-bottom: none;\r
181   border-collapse:collapse;\r
182   border-spacing:0;\r
183   empty-cells:show;
184   margin: 2px;
185 }
186
187 table.box th {
188   width: 100px;
189   border-top: 1px solid #88AAFF;
190   border-left: 1px solid #88AAFF;
191   border-right:1px solid #88AAFF;\r
192   border-bottom:1px solid #88AAFF;\r
193   background-position:left top;\r
194   padding:0.3em 1em;\r
195   text-align:center;
196 }
197
198 table.box td {
199   border-top: 1px solid #88AAFF;
200   border-left: none;
201   border-right:1px solid #88AAFF;\r
202   border-bottom:1px solid #88AAFF;\r
203   padding:0.3em 1em;
204 }
205
206 table.box ul {
207   margin-bottom: 0px;
208   margin-left: 0px;
209   padding-left: 10px;
210 }
211
212 table.box p {
213   margin-bottom: 0px;
214   margin-left: 0px;
215   padding-left: 0px;
216 }
217
218 pre.prettyprint strong {
219   background-color: #444444;
220   text-decoration: underline;
221 #  border: 1px solid gray;
222   font-weight: normal;
223 }
224 </style>
225 END_OF_HEAD
226         
227         $wiki->add_head_info($head_info);
228 }
229
230 1;