/[pub]/suikawiki/script/default/suikawiki-config.ph
Suika

Diff of /suikawiki/script/default/suikawiki-config.ph

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by w, Sun Jan 26 01:43:24 2003 UTC revision 1.13 by wakaba, Thu Mar 11 10:09:41 2004 UTC
# Line 1  Line 1 
1    =head1 NAME
2    
3    suikawiki-config.ph - SuikaWiki: Configuration for SuikaWiki HTTP CGI Driver
4    
5    =head1 DESCRIPTION
6    
7    This is a configuration file for SuikaWiki Driver for HTTP CGI Script
8    (SWHCS).  Basic options such as WikiDB directory mapping and
9    special purpose WikiPage names can be customized with this file.
10    
11    More complex customizing, e.g. modifying navigation bar or
12    adding new mode, is also possible by config.ph (generated from
13    config.wp2) and WikiPlugin modules.  For more information,
14    see <http://suika.fam.cx/~wakaba/-temp/wiki/wiki?SuikaWiki>.
15    
16    This file is part of SuikaWiki.
17    
18    =cut
19    
20    package wiki::driver::http;
21  use strict;  use strict;
22  #  
23  # You MUST modify following '$modifier_...' variables.  sub config ($) {
24  #    my $WIKI = shift;
25  # our $modifier_dbtype = 'AnyDBM_File';  # Fast, not available on some server, page size limited.    use Cwd qw(abs_path);
26  # our $modifier_dbtype = 'dbmopen';      # Fast, not available on some server, page size limited.    
27  #our $modifier_dbtype = 'Yuki::YukiWikiDB';     # Slow, available on all environment.    ## -- Filesystem path mapping
28  #our $modifier_dbtype = 'Yuki::YukiWikiDB2';     # Slow, available on all environment.    for (
29  our $modifier_dbtype = 'Yuki::YukiWikiDBMeta';     # Slow, available on all environment.       [db__cache__dir          => q"./wikidata/lock/"],
30  our $url_cgi; {       [db__content__dir        => q"./wikidata/page/"],
31      my $scheme = 'http';       [db__content__error_log  => q"./wikidata/log/db-content.log"],
32      $scheme = lc $1 if $main::ENV{SERVER_PROTOCOL} =~ m#([A-Za-z0-9+.%-]+)#;       [db__bdb__home_dir       => q"./wikidata/lock/"],
33      $url_cgi = "$scheme://$main::ENV{SERVER_NAME}:$main::ENV{SERVER_PORT}/~wakaba/wiki/wiki";       [db__bdb__log_dir        => q"./wikidata/log/bdb/"],
34          ## - MUST NOT include [&<>"] and/or non-URI characters       [db__bdb__log_file       => q"./wikidata/log/bdb.log"],
35         [db__bdb__temp_dir       => q"./wikidata/lock/"],
36         [db__lock__dir           => q"./wikidata/lock/"],
37         [db__lock__log_file      => q"./wikidata/log/lock.log"],
38         [db__log__dir            => q"./wikidata/log/"],
39         [db__temp__dir           => q"./wikidata/lock/"],
40      ) {
41        ## On system that does not set current directory as main script
42        ## directory, you should specify it instead of using "abs_path".
43        $WIKI->{config}->{path_to}->{$_->[0]} = abs_path $_->[1];
44      }
45    
46      ## -- WikiPlugin
47      push @{$WIKI->{event}->{plugin_manager_loaded}}, sub {
48        my $wiki = shift;
49        
50        ## Installed plugin modules
51        $wiki->{plugin}->load_directory (qw(
52          lib/SuikaWiki/Plugin/
53          misc/plugins/
54          misc/plugins/form/
55          misc/plugins/format/
56          misc/plugins/link/
57          misc/plugins/view/
58        ));
59        
60        ## Configuration file as pseudo-plugin module
61        require 'wikidata/config.ph';
62      };
63    
64      ## -- WikiDatabase: Mapping logical to physical
65      push @{$WIKI->{event}->{database_loaded}}, sub {
66          my $wiki = shift;
67          
68          ## Main content
69          $wiki->{db}->_set_prop_db (content => {-db_open => sub {
70            require SuikaWiki::DB::FileSystem::YukiWikiDBNS;
71            SuikaWiki::DB::FileSystem::YukiWikiDBNS->new
72              (directory => $wiki->{config}->{path_to}->{db__content__dir},
73               logfile   => $wiki->{config}->{path_to}->{db__content__error_log},
74               suffix    => '.txt',
75               -lock => $wiki->{var}->{db}->{lock_prop}->('content'));
76          }, -db_close => sub {
77            my %opt = @_;
78            $opt{prop_info}->{-db}->close;
79            delete $opt{prop_info}->{-db};
80          }});
81          
82          ## Last modified
83          $wiki->{db}->_set_prop_db (lastmodified => {-db_open => sub {
84            require SuikaWiki::DB::FileSystem::SuikaWikiMetaInfo09;
85            SuikaWiki::DB::FileSystem::SuikaWikiMetaInfo09->new
86              (directory => $wiki->{config}->{path_to}->{db__content__dir},
87               -lock => $wiki->{var}->{db}->{lock_prop}->('lastmodified'));
88          }, -prop => 'last_modified', -db_close => sub {
89            my %opt = @_;
90            $opt{prop_info}->{-db}->close;
91            delete $opt{prop_info}->{-db};
92          }});
93          
94          ## Cache DBs
95          require SuikaWiki::DB::FileSystem::SuikaWikiCache09;
96          my $cachedb = SuikaWiki::DB::FileSystem::SuikaWikiCache09->new
97                (directory => $wiki->{config}->{path_to}->{db__cache__dir});
98          $wiki->{db}->_set_prop_db (m__search_result =>
99            {-db => $cachedb, -prop => 'search_result', -db_close => sub {
100              my %opt = @_;
101              $opt{prop_info}->{-db}->close;
102              delete $opt{prop_info}->{-db};
103            }});
104          $wiki->{db}->_set_prop_db (wpp__headsummary =>
105            {-db => $cachedb, -prop => 'headsummary', -db_close => sub {
106              my %opt = @_;
107              $opt{prop_info}->{-db}->close;
108              delete $opt{prop_info}->{-db};
109            }});
110          
111          ## Berkely DB Environment Preparation
112          use BerkeleyDB;
113          my $bdbenv = new BerkeleyDB::Env
114             -Home => $wiki->{config}->{path_to}->{db__bdb__home_dir},
115             -Config => {
116               DB_DATA_DIR => $wiki->{config}->{path_to}->{db__content__dir},
117               DB_LOG_DIR => $wiki->{config}->{path_to}->{db__bdb__log_dir},
118               DB_TMP_DIR => $wiki->{config}->{path_to}->{db__bdb__temp_dir},
119             },
120             -ErrFile => $wiki->{config}->{path_to}->{db__bdb__log_file},
121             -Flags => DB_CREATE | DB_INIT_LOCK | DB_INIT_LOG | DB_INIT_MPOOL,
122             -Verbose => $wiki->{config}->{debug}->{db};
123          
124          ## Referer Database (See Referer plugin module)
125          $wiki->{db}->_set_prop_db (referer => {-db_open => sub {
126            require SuikaWiki::DB::Hash;
127            new SuikaWiki::DB::Hash constructor => sub {
128              tie my %db, 'BerkeleyDB::Hash',
129                            -Filename => 'referer.db',
130                            -Env => $bdbenv,
131                            -Flags => DB_CREATE,
132                            -Mode => 0644;
133              \%db;
134           };
135          }});
136    
137          ## HTTP Request Logging Database (See RequestLog plugin module)
138          $wiki->{db}->_set_prop_db (log__http_request => {-db_open => sub {
139            require SuikaWiki::DB::Hash;
140            new SuikaWiki::DB::Hash constructor => sub {
141              tie my %db, 'BerkeleyDB::Hash',
142                            -Filename => 'http-request-log.db',
143                            -Env => $bdbenv,
144                            -Flags => DB_CREATE,
145                            -Mode => 0644;
146              \%db;
147           };
148          }});
149          
150          ## Additional WikiDB properties should be defined here
151          # ...    
152      };
153    
154      push @{$WIKI->{event}->{input_close}}, sub {
155        my ($wiki, $event) = @_;
156        try {
157          SuikaWiki::Plugin->module_package ('Referer')
158                         ->add_referer (wiki => $wiki,
159                                        uri => $wiki->{input}->meta_variable
160                                                 ('HTTP_REFERER'));
161        } catch SuikaWiki::Plugin::error with {
162          my $err = shift;
163          $err->raise unless $err->{-type} eq 'PLUGIN_NOT_FOUND';
164        };
165        try {
166          SuikaWiki::Plugin->module_package ('RequestLog')
167                         ->http_request_log (wiki => $wiki,
168                                             prop => 'log__http_request');
169        } catch SuikaWiki::Plugin::error with {
170          my $err = shift;
171          $err->raise unless $err->{-type} eq 'PLUGIN_NOT_FOUND';
172        };
173      };
174    
175      ## -- WikiName of special purpose WikiPages
176      $WIKI->{config}->{page} = {
177        Default         => $WIKI->name ([qw/HomePage/]),
178        InterWikiName   => $WIKI->name ([qw/Wiki InterWikiName/]),
179        NewPageTemplate => $WIKI->name ([qw/Wiki NewPageTemplate/]),
180        'StyleSheetList(text/html)' => $WIKI->name ([qw<Wiki Style List text/html>]),
181      };
182      
183      ## -- WikiNamespace constants
184      $WIKI->{config}->{name}->{space} = {
185        separator => '//',
186        separator_reg => qr#\s*//\s*#,
187        self => '.',
188        parent => '..',
189      };
190      
191      ## -- Default character codes
192      $WIKI->{config}->{charset} = {
193        ## Internal code - MUST be ASCII + 8bit coding scheme
194          internal => 'euc-jp',
195        ## Default output code
196          output => 'iso-2022-jp',
197        ## "query" part in URI reference
198          uri_query => '', # auto-detected
199          uri_query_encode => 'euc-jp',     ## For compatibility w/ SuikaWiki 2
200          uri_param => '', # auto-detected
201          uri_param_encode => 'euc-jp',     ## For compatibility w/ SuikaWiki 2
202        ## PATH_INFO part in URI reference
203          uri_path_info => 'x-utf-8-10646', ## Reserved for future use
204        ## Fragment identifier in URI reference
205          uri_fragment => 'x-punycode',     ## Reserved for possible future use
206      };
207      
208      ## -- Expires duration templates
209      $WIKI->{config}->{entity}->{expires} = {
210        edit      => {delta => 60},
211        view      => {delta => 2*3600},
212        lm_flaged => {delta => 30*24*3600},
213        stylesheet => {delta => 30*24*3600},
214        error     => {delta => 60},
215      };
216    
217      ## -- Debug mode
218      $WIKI->{config}->{debug} = {
219        general => 0,
220        db => 0,
221        format => 0,
222        view => 0,
223      };
224    
225  }  }
 our %uri = (  
   external_script       => 'script/',  
 );  
 $uri{wiki} = $url_cgi;  
 $SuikaWiki::Plugin::plugin_directory = q(lib/SuikaWiki/Plugin/);  
 our %PathTo = ( ## Path to your data, from the main CGI script (NOT from this config script)  
   CacheHeadline => q(./wikidata/.headline.cache),  
   CachePrefix   => q(./wikidata/.cache.),  
   CacheSearchResult     => q(./wikidata/.search.cache),  
   WikiDataBase  => q(./wikidata/page),  
 );  
 our $use_exists = 0; # If you can use 'exists' method for your DB.  
 ##############################  
 our %PageName = (  
   FrontPage     => 'HomePage',  
   IndexPage     => 'IndexPage',  
   SearchPage    => 'SearchPage',  
   CreatePage    => 'CreatePage',  
   ErrorPage     => 'ErrorPage',  
   RecentChanges => 'RecentChanges',  
   AdminSpecialPage      => "\x11\x11Admin\x11Special\x11Page\x11\x11",  
   UserAgentList => 'WikiUserAgentList',  
 );  
 our $kanjicode = 'euc';  
 our $lang = 'ja';  
   
 $wiki::useragent::UseLog = 0;   ## Use User-Agent name log (WikiUserAgentList) or not  
 $wiki::diff::UseDiff = 1;       ## Use diff mode or not  
   
 ## Definition of views  
   
 my %vd;  
 $vd{links} = <<'EOH';  
   %styles-wiki-html(page=>\"WikiStyleList:HTML\");  
   %link-wiki(mode=>edit,rel=>edit,class=>wiki-cmd,title=>\"%res(name=>EditThisPageLink);\");  
   %link-wiki(mode=>edit,rel=>edit,class=>wiki-cmd,title=>\"%res(name=>AdminEditThisPageLink);\",add_param=>\"admin=1\");  
   %link-wiki(rel=>view,class=>wiki-cmd,title=>\"%res(name=>ViewThisPageLink);\",up_to_date);  
   %link-wiki(rel=>myself,class=>wiki,title=>\"%res(name=>GoToMyselfLink);\");  
   %link-wiki(page=>IndexPage,rel=>index,class=>wiki,title=>\"%res(name=>GoToIndexPageLink);\");  
   %link-wiki(page=>HomePage,rel=>home,class=>wiki,title=>\"%res(name=>GoToHomePageLink);\");  
   %link-wiki(page=>WikiNews,rel=>News,class=>wiki,title=>\"%res(name=>GoToWikiNewsLink);\");  
   %link-wiki(page=>RecentChanges,rel=>News,class=>wiki,title=>\"%res(name=>GoToRecentChangesLink);\");  
   %link-wiki(page=>RecentChanges,mode=>rss,rel=>News,class=>wiki,title=>\"%res(name=>GoToRssPageLink);\",type=>\"application/xml\");  
   %link-wiki(page=>SearchPage,rel=>search,class=>wiki,title=>\"%res(name=>GoToSearchPageLink);\");  
   %link-wiki(page=>WikiHelp,mode=>read,rel=>help,class=>wiki,title=>\"%res(name=>GoToWikiHelpLink);\");  
   %link-wiki(page=>WikiPageLicense,rel=>copyright,class=>wiki,title=>\"%res(name=>GoToWikiPageLicenseLink);\");  
   %link-wiki(mode=>map,rel=>contents,class=>wiki-cmd,title=>\"%res(name=>ShowMapOfThisPageLink);\");  
   %link-wiki(mode=>RandomJump,up_to_date,rel=>lucky,class=>\"wiki randomlink\",title=>\"%res(name=>GoSomewhereLink);\");  
 EOH  
   #%link-viewcvs(href=>\"http://path-to-viewcvs/path-to-repository/\",rel=>history,class=>wiki-cmd,title=>\"%res(name=>ViewHistoryOfThisPageLink);\",hreflang=>en);  
 $vd{links} .= q(  %link-wiki(mode=>diff,rel=>history,class=>wiki-cmd,title=>\"%res(name=>ViewDiffOfThisPageLink);\");) if $wiki::diff::UseDiff;  
 $vd{links} .= <<EOH;  
   %link-wiki(href=>\\\"javascript:var%20WikiName=prompt('Please%20input%20the%20WikiName:','','Jump%20to%20SuikaWiki');if(WikiName)%7B_content.location.href='$url_cgi%3F'+encodeURIComponent(WikiName)%7D\\\",rel=>jump,class=>wiki-cmd,title=>\\\"%res(name=>JumpToLink);\\\");  
   %link-wiki(href=>\\\"javascript:var%20WikiName=prompt('Please%20input%20the%20WikiName:','','Jump%20to%20SuikaWiki');if(WikiName)%7B_content.location.href='$url_cgi%3Fmycmd=edit;mypage='+encodeURIComponent(WikiName)%7D\\\",rel=>jump,class=>wiki-cmd,title=>\\\"%res(name=>JumpToEditLink);\\\");  
 EOH  
 $vd{navbar} = <<'EOH';  
   %anchor-wiki(mode=>edit,rel=>edit,class=>wiki-cmd,label=>\\\"%res(name=>EditThisPage);\\\",title=>\\\"%res(name=>EditThisPageLong,accesskey=>E);\\\");  
   %anchor-wiki(rel=>view,up_to_date,class=>wiki-cmd,label=>\\\"%res(name=>ViewThisPage);\\\",title=>\\\"%res(name=>ViewThisPageLong);\\\");  
   %anchor-wiki(page=>CreatePage,class=>wiki,label=>\\\"%res(name=>GoToCreatePage);\\\",title=>\\\"%res(name=>GoToCreatePageLong);\\\");  
   %anchor-wiki(page=>IndexPage,class=>wiki,label=>\\\"%res(name=>GoToIndexPage);\\\",title=>\\\"%res(name=>GoToIndexPageLong);\\\");  
   %anchor-wiki(page=>HomePage,class=>wiki,label=>\\\"%res(name=>GoToHomePage);\\\",title=>\\\"%res(name=>GoToHomePageLong);\\\");  
   %anchor-wiki(page=>SearchPage,class=>wiki,label=>\\\"%res(name=>GoToSearchPage);\\\",title=>\\\"%res(name=>GoToSearchPageLong);\\\");  
   %anchor-wiki(mode=>RandomJump,up_to_date,rel=>lucky,class=>\\\"wiki randomlink\\\",label=>\\\"%res(name=>GoSomewhere);\\\",title=>\\\"%res(name=>GoSomewhereLong);\\\");  
   %anchor-wiki(page=>RecentChanges,class=>wiki,label=>\\\"%res(name=>GoToRecentChanges);\\\",title=>\\\"%res(name=>GoToRecentChangesLong);\\\");  
 EOH  
   
 our %ViewDefinition = (  
 read => {media => {type => 'text/html', charset => 1, expires => 120}, check => sub {1},  
   #xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 120},  
   template => <<EOH},  
 %html-start;%html-head(title=>"%res(name=>\\"View:WebPageTitle\\");",link_meta=>"$vd{links}");  
 %section(level=>1,add_to_toc=>0,type=>body,title=>"%page-name;",heading,content=>"  
   %section(id=>tools1,class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   %section(level=>2,id=>read,add_to_toc=>0,content=>\\"%read(comment);\\");  
   %section(level=>2,id=>\\"see-also\\",title=>SeeAlso,heading,content=>\\"%search-result;\\");  
   %section(level=>2,id=>referer,title=>Referer,heading,content=>\\"%referer-list;\\");  
   %section(level=>2,id=>toc,title=>\\"TOC:Title\\",heading,add_to_toc=>0,content=>\\"%toc(drag);\\");  
   %section(id=>last-modified,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"LastModified=\\\\\\");%last-modified;\\");  
   %section(class=>tools,add_to_toc=>0,content=>\\\"$vd{navbar}\\\");  
   %section(id=>footer,add_to_toc=>0,content=>\\"  
     <a href=\\\\\\"http://www.hyuki.com/yukiwiki/\\\\\\" title=\\\\\\"YukiWiki 2.0.beta1.2002-05-29 &copy; 2000-2002 by Hiroshi Yuki\\\\\\">%res(name=>\\\\\\"About:Name:YukiWiki\\\\\\");</a>  
     <a href=\\\\\\"http://digit.que.ne.jp/work/\\\\\\" title=\\\\\\"WalWiki 2.0.beta1.wal.1 &copy; 2000-2002 by Makio Tsukamoto\\\\\\">%res(name=>\\\\\\"About:Name:WalWiki\\\\\\");</a>  
     <a href=\\\\\\"http://suika.fam.cx/gate/cvs/wakaba/wiki/\\\\\\" title=\\\\\\"%res(name=>\\\\\\"About:SuikaWiki:JumpToCVS\\\\\\");\\\\\\">%res(name=>\\\\\\"About:Name:SuikaWiki\\\\\\"); %wiki-version;</a>  
   \\");  
 %apply-user-preferred-style;");%html-end;  
 EOH  
 map => {media => {type => 'text/html', charset => 1, expires => 120}, check => sub {1},  
   #xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 120},  
   template => <<EOH},  
 %html-start;%html-head(title=>"%res(name=>\\"Map:WebPageTitle\\");",link_meta=>"$vd{links}");  
 %section(level=>1,add_to_toc=>0,type=>body,title=>"%page-name;",heading,content=>"  
   %section(id=>tools1,class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   %section(level=>2,id=>\\"link-map\\",title=>\\"Map:Title\\",heading,content=>\\"  
     <p>%res(name=>\\\\\\"Map:Description\\\\\\");</p>  
     %link-map;  
   \\");  
   %section(level=>2,id=>\\"see-also\\",title=>SeeAlso,heading,content=>\\"%search-result;\\");  
   %section(level=>2,id=>referer,title=>Referer,heading,content=>\\"%referer-list;\\");  
   %section(level=>2,id=>toc,title=>\\"TOC:Title\\",heading,add_to_toc=>0,content=>\\"%toc(drag);\\");  
   %section(class=>tools,add_to_toc=>0,content=>\\\"$vd{navbar}\\\");  
   %section(id=>footer,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"About:Name:SuikaWiki\\\\\\"); %wiki-version;\\");  
 %apply-user-preferred-style;");%html-end;  
 EOH  
   
 edit => {media => {type => 'text/html', charset => 1, expires => 60}, check => sub {1},  
   #xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 60},  
   template => <<EOH},  
 %html-start;%html-head(title=>"%res(name=>\\"Edit:WebPageTitle\\");",link_meta=>"$vd{links}  %html-meta(name=>ROBOTS,content=>NOINDEX);");  
 %section(level=>1,add_to_toc=>0,type=>body,title=>"%page-name;",heading,content=>"  
   %section(id=>tools1,class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   %section(level=>2,id=>edit,title=>\\"Edit:Title\\",heading,content=>\\"  
     %edit-form;  
     %section(level=>3,id=>edit-help,add_to_toc=>0,content=>\\\\\\"%read(page=>WikiEditHelp);\\\\\\");  
   \\");  
   %section(level=>2,id=>\\"see-also\\",title=>SeeAlso,heading,content=>\\"%search-result;\\");  
   %section(level=>2,id=>referer,title=>Referer,heading,content=>\\"%referer-list;\\");  
   %section(level=>2,id=>toc,title=>\\"TOC:Title\\",heading,add_to_toc=>0,content=>\\"%toc(drag);\\");  
   %section(id=>last-modified,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"LastModified=\\\\\\");%last-modified;\\");  
   %section(class=>tools,add_to_toc=>0,content=>\\\"$vd{navbar}\\\");  
   %section(id=>footer,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"About:Name:SuikaWiki\\\\\\"); %wiki-version;\\");  
 %apply-user-preferred-style;");%html-end;  
 EOH  
 adminedit => {media => {type => 'text/html', charset => 1, expires => 60}, check => sub {1},  
   xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 60},  
   template => <<EOH},  
 %html-start;%html-head(title=>"%res(name=>\\"Edit:Admin:WebPageTitle\\");",link_meta=>"$vd{links}  %html-meta(name=>ROBOTS,content=>NOINDEX);");  
 %section(level=>1,add_to_toc=>0,type=>body,title=>"%page-name;",heading,content=>"  
   %section(id=>tools1,class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   %section(level=>2,id=>edit,title=>\\"Edit:Title\\",heading,content=>\\"%edit-form(admin);\\");  
   %section(level=>2,id=>toc,title=>\\"TOC:Title\\",heading,add_to_toc=>0,content=>\\"%toc(drag);\\");  
   %section(id=>last-modified,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"LastModified=\\\\\\");%last-modified;\\");  
   %section(id=>footer,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"About:Name:SuikaWiki\\\\\\"); %wiki-version;\\");  
 %apply-user-preferred-style;");%html-end;  
 EOH  
 -conflict => {media => {type => 'text/html', charset => 1, expires => 60}, check => sub {1},  
   #xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 60},  
   template => <<EOH},  
 %html-start;%html-head(title=>"%res(name=>\\"Edit:Conflict:WebPageTitle\\");",link_meta=>"$vd{links}  %html-meta(name=>ROBOTS,content=>NOINDEX);");  
 %section(level=>1,add_to_toc=>0,type=>body,title=>"%page-name;",heading,content=>"  
   %section(id=>tools1,class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   %section(level=>2,id=>edit-conflict,title=>\\"Edit:Conflict:Title\\",heading,content=>\\"  
     <p>%res(name=>\\\\\\"Edit:Conflict:Description\\\\\\");</p>  
     %conflict-form;  
     %section(level=>3,id=>edit-conflict-diff,title=>\\\\\\"Edit:Conflict:Diff:Title\\\\\\",heading,content=>\\\\\\"  
       <p>%res(name=>\\\\\\\\\\\\\\"Edit:Conflict:Diff:Description\\\\\\\\\\\\\\");</p>  
       %conflict-diff;  
     \\\\\\");  
   \\");  
   %section(level=>2,id=>edit,title=>\\"Edit:Title\\",heading,content=>\\"  
     <p>%res(name=>\\\\\\"Edit:Conflict:Edit:Description\\\\\\");</p>  
     %edit-form;  
     %section(level=>3,id=>edit-help,add_to_toc=>0,content=>\\\\\\"%read(page=>WikiEditHelp);\\\\\\");  
   \\");  
   %section(level=>2,id=>\\"see-also\\",title=>SeeAlso,heading,content=>\\"%search-result;\\");  
   %section(level=>2,id=>referer,title=>Referer,heading,content=>\\"%referer-list;\\");  
   %section(level=>2,id=>toc,title=>\\"TOC:Title\\",heading,add_to_toc=>0,content=>\\"%toc(drag);\\");  
   %section(class=>tools,add_to_toc=>0,content=>\\\"$vd{navbar}\\\");  
   %section(id=>footer,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"About:Name:SuikaWiki\\\\\\"); %wiki-version;\\");  
 %apply-user-preferred-style;");%html-end;  
 EOH  
 -wrote => {media => {type => 'text/html', charset => 1, expires => 60}, check => sub {1},  
   xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 60},  
   template => <<EOH},  
 %html-start;%html-head(title=>"%res(name=>\\"Edit:Wrote:WebPageTitle\\");",link_meta=>"$vd{links}  %html-meta(name=>ROBOTS,content=>NOINDEX);");  
 %section(level=>1,add_to_toc=>0,type=>body,title=>"%page-name;",heading,content=>"  
   %section(id=>tools1,class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   <p>%res(name=>\\"Edit:SavedSuccessfully\\");</p>  
   %section(id=>footer,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"About:Name:SuikaWiki\\\\\\"); %wiki-version;\\");  
 %apply-user-preferred-style;");%html-end;  
 EOH  
 -deleted => {media => {type => 'text/html', charset => 1, expires => 60}, check => sub {1},  
   xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 60},  
   template => <<EOH},  
 %html-start;%html-head(title=>"%res(name=>\\"Edit:Deleted:WebPageTitle\\");",link_meta=>"$vd{links}  %html-meta(name=>ROBOTS,content=>NOINDEX);");  
 %section(level=>1,add_to_toc=>0,type=>body,title=>"%page-name;",heading,content=>"  
   %section(id=>tools1,class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   <p>%res(name=>\\"Edit:PageIsDeletedSuccessfully\\");</p>  
   %section(id=>footer,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"About:Name:SuikaWiki\\\\\\"); %wiki-version;\\");  
 %apply-user-preferred-style;");%html-end;  
 EOH  
 -error => {media => {type => 'text/html', charset => 1, expires => 60}, check => sub {1},  
   xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 60},  
   template => <<EOH},  
 %html-start;%html-head(title=>"%res(name=>\\"Error:WebPageTitle\\");",link_meta=>"$vd{links}  %html-meta(name=>ROBOTS,content=>NOINDEX);");  
 %section(level=>1,add_to_toc=>0,type=>body,title=>"%page-name;",heading,content=>"  
   %section(id=>tools1,class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   %section(level=>2,id=>error,title=>\\"Error:Title\\",heading,content=>\\"  
     <p>%error-message;</p>  
   \\");  
   %section(level=>2,id=>toc,title=>\\"TOC:Title\\",heading,add_to_toc=>0,content=>\\"%toc(drag);\\");  
   %section(id=>footer,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"About:Name:SuikaWiki\\\\\\"); %wiki-version;\\");  
 %apply-user-preferred-style;");%html-end;  
 EOH  
   
 css => {media => {type => 'text/css', charset => 1, expires => 3600},  
   check => sub { ref $_[0]->format_converter ($_[0]->{magic} => 'CSS') ? 1 : 0 },  
   template => '%read(to=>CSS);'},  
 rss => {media => {type => 'application/rss+xml', charset => 1, expires => 3600},  
   check => sub { ref $_[0]->format_converter ($_[0]->{magic} => 'RSS') ? 1 : 0 },  
   template => '%read(to=>RSS);'},  
 -UnsupportedMediaType => {media => {type => 'text/html', charset => 1, expires => -1},  
   xmedia => {type => 'application/xhtml+xml', charset => 1, expires => -1},  
   check => sub {1}, template => <<EOH},  
 %html-start;%html-head(title=>"%page-name;",link_meta=>"$vd{links}");  
 %section(level=>1,add_to_toc=>0,type=>body,title=>"%page-name;",heading,content=>"  
   %section(id=>tools1,class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   %section(level=>2,title=>\\"UnsupportedMediaType:Title\\",heading,content=>\\"  
     %res(name=>\\\\\\"UnsupportedMediaType:Description\\\\\\");  
   \\");  
   %section(id=>footer,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"About:Name:SuikaWiki\\\\\\"); %wiki-version;\\");  
 %apply-user-preferred-style;");%html-end;  
 EOH  
 );  
   
   
 $ViewDefinition{diff} = {media => {type => 'text/html', charset => 1, expires => 120},  
   #xmedia => {type => 'application/xhtml+xml', charset => 1, expires => 120},  
   template => <<EOH, check => sub {1}} if $wiki::diff::UseDiff;  
 %html-start;%html-head(title=>"%res(name=>\\"Diff:WebPageTitle\\");",link_meta=>"$vd{links}");  
 %section(level=>1,add_to_toc=>0,type=>body,title=>"%page-name;",heading,content=>"  
   %section(id=>tools1,class=>tools,add_to_toc=>0,content=>\\"$vd{navbar}\\");  
   %section(level=>2,id=>\\"diff\\",title=>\\"Diff:Title\\",heading,content=>\\"  
     <p>%res(name=>\\\\\\"Diff:Notice\\\\\\");</p>  
     %diff-between-previous;  
   \\");  
   %section(level=>2,id=>toc,title=>\\"TOC:Title\\",heading,add_to_toc=>0,content=>\\"%toc(drag);\\");  
   %section(class=>tools,add_to_toc=>0,content=>\\\"$vd{navbar}\\\");  
   %section(id=>footer,add_to_toc=>0,content=>\\"%res(name=>\\\\\\"About:Name:SuikaWiki\\\\\\"); %wiki-version;\\");  
 ");  
 EOH  
226    
227  =head1 NAME  =head1 SEE ALSO
228    
229  suikawiki-config.ph --- SuikaWiki: site configuration script  C<lib/suikawiki.pl>, C<wiki.cgi>,
230    <http://suika.fam.cx/~wakaba/-temp/wiki/wiki?SuikaWiki>,
231    <http://suika.fam.cx/~wakaba/-temp/wiki/wiki?SWHCS>
232    
233  =head1 LICENSE  =head1 LICENSE
234    
235  Copyright 2003 Wakaba <w@suika.fam.cx>  Copyright 2003-2004 Wakaba <w@suika.fam.cx>.  All rights reserved.
236    
237  This program is free software; you can redistribute it and/or  This program is free software; you can redistribute it and/or
238  modify it under the same terms as Perl itself.  modify it under the same terms as Perl itself.
239    
240  =cut  =cut
241    
242  1;  1; # $Date$

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.13

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24