欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Mason
(未显示2个用户的30个中间版本) | |||
第1行: | 第1行: | ||
− | + | {{top news}} | |
+ | [[Image:masonhq_logo.gif|right]] | ||
− | http://www.masonhq.com/ | + | Mason - High-performance, dynamic web site authoring system |
+ | |||
+ | HTML中的Mason组件是基于开放Perl,用来创建维护网站的一个平台。最早是为了克服CGI的一些局限而开发的,CGI(Common Gateway Interface)是HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。Mason的出现使得开发和管理大型网页的工作变得相对简单起来。其后Mason不断完善,目前已经是一个完整的开发工具了。1998年,基于Perl Artistic License的第一个HTML::Mason版本正式发行。 | ||
+ | |||
+ | Mason是一个结构化的可复用的组件库,包括HTML,Perl代码以及Mason命令。一个完整的网站首先要包括一个主要组件(父组件),在主要组件之中包括各种小型组件(子组件)。这种面向对象的机制,保证了当组件有所改变时,所有引用此组件的网页都会有所改变。这样网页设计人员(这些人通常都对组件编程不太精通)就可以忽略组件的内部机制问题,专心致志将精力放到整个网页的内容之上了。 | ||
+ | |||
+ | Mason支持的其他功能有:利用缓存构件进行回复;可以利用目录或分层结构十分轻松的创建模板;具有模拟不同环境下网页真实显示效果的能力。Mason特意针对Apache服务器和mod_perl做了优化。当然,Mason也可以作为CGI的标准模块被使用。 | ||
+ | |||
+ | 在线图书: [http://book.huihoo.com/embedding-perl-in-html-with-mason/index.html Embedding Perl in HTML with Mason] http://book.huihoo.com/i/cover_small.jpg | ||
+ | |||
+ | ==安装指南== | ||
+ | 前提是安装了 [[mod_perl]] | ||
+ | |||
+ | Debian用户 | ||
+ | #apt-get install libhtml-mason-perl libhtml-mason-perl-examples | ||
+ | // mason install to /usr/share/perl5/HTML/Mason | ||
+ | If you have installed the apache-perl package, you don't need the following line. | ||
+ | LoadModule perl_module /usr/lib/apache/1.3/mod_perl.so | ||
+ | |||
+ | vi /etc/apache-perl/conf.d/libhtml-mason-perl-examples.conf | ||
+ | PerlModule HTML::Mason::ApacheHandler | ||
+ | <Directory /var/www> | ||
+ | SetHandler perl-script | ||
+ | PerlHandler HTML::Mason::ApacheHandler | ||
+ | </Directory> | ||
+ | hhttp://localhost/mason_example/ | ||
+ | or use httpd.conf | ||
+ | <IfModule mod_perl.c> | ||
+ | Alias /perl/ /var/www/perl/ | ||
+ | <Directory /var/www/perl> | ||
+ | <Files "*.html"> | ||
+ | SetHandler perl-script | ||
+ | PerlHandler HTML::Mason::ApacheHandler | ||
+ | </Files> | ||
+ | </Directory> | ||
+ | PerlSetVar MasonCompRoot /var/www/perl | ||
+ | PerlSetVar MasonDataDir /var/state/mason | ||
+ | PerlModule HTML::Mason::ApacheHandler | ||
+ | |||
+ | </IfModule> | ||
+ | Using Mason from a CGI Script | ||
+ | touch add.html | ||
+ | <% 2 + 2 %> | ||
+ | http://localhost/perl/add.html :) | ||
+ | |||
+ | The relevant portions of the httpd.conf file look like: | ||
+ | DocumentRoot /path/to/comp/root | ||
+ | ScriptAlias /cgi-bin/ /path/to/cgi-bin/ | ||
+ | |||
+ | <LocationMatch "\.html$"> | ||
+ | Action html-mason /cgi-bin/mason_handler.cgi | ||
+ | AddHandler html-mason .html | ||
+ | </LocationMatch> | ||
+ | <LocationMatch "^/cgi-bin/"> | ||
+ | RemoveHandler .html | ||
+ | </LocationMatch> | ||
+ | <FilesMatch "(autohandler|dhandler)$"> | ||
+ | Order allow,deny | ||
+ | Deny from all | ||
+ | </FilesMatch> | ||
+ | Linux用户 | ||
+ | wget http://cpan.linuxforum.net/authors/id/D/DR/DROLSKY/HTML-Mason-1.35.tar.gz | ||
+ | tar HTML-Mason-1.35.tar.gz | ||
+ | cd HTML-Mason-1.35 | ||
+ | #perl Build.PL | ||
+ | #./Build | ||
+ | #./Build instal | ||
+ | |||
+ | CGI and Mason Example Programs - http://mnementh.csi.cam.ac.uk/mason-course-examples/ | ||
+ | ==Related Links== | ||
+ | *http://www.masonhq.com/ | ||
+ | *http://www.masonbook.com/ | ||
+ | *http://perl.apache.org/ | ||
+ | *http://search.cpan.org/dist/HTML-Mason/ | ||
+ | *[[Perl Apprenticeship Site]] - http://apprentice.perl.org/ | ||
+ | *http://www.alzabo.org/ | ||
+ | |||
+ | ==MasonPoweredSites== | ||
+ | http://www.masonhq.com/?MasonPoweredSites | ||
+ | *http://amazon.com - http://www.masonhq.com/?AmazonDotCom | ||
+ | *http://del.icio.us | ||
+ | *http://www.live365.com | ||
+ | *[[Netdisco]] | ||
+ | |||
+ | ==MasonPoweredApps== | ||
+ | *http://www.masonhq.com/?MasonPoweredApps | ||
+ | *[[eBox Platform]] | ||
+ | *[[Bricolage]] | ||
+ | *[[Mason-CM]] | ||
+ | |||
+ | {{Comment}} | ||
+ | |||
+ | [[Category:CMS]] | ||
+ | [[Category:Perl]] |
2010年10月31日 (日) 06:06的最后版本
Mason - High-performance, dynamic web site authoring system
HTML中的Mason组件是基于开放Perl,用来创建维护网站的一个平台。最早是为了克服CGI的一些局限而开发的,CGI(Common Gateway Interface)是HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。Mason的出现使得开发和管理大型网页的工作变得相对简单起来。其后Mason不断完善,目前已经是一个完整的开发工具了。1998年,基于Perl Artistic License的第一个HTML::Mason版本正式发行。
Mason是一个结构化的可复用的组件库,包括HTML,Perl代码以及Mason命令。一个完整的网站首先要包括一个主要组件(父组件),在主要组件之中包括各种小型组件(子组件)。这种面向对象的机制,保证了当组件有所改变时,所有引用此组件的网页都会有所改变。这样网页设计人员(这些人通常都对组件编程不太精通)就可以忽略组件的内部机制问题,专心致志将精力放到整个网页的内容之上了。
Mason支持的其他功能有:利用缓存构件进行回复;可以利用目录或分层结构十分轻松的创建模板;具有模拟不同环境下网页真实显示效果的能力。Mason特意针对Apache服务器和mod_perl做了优化。当然,Mason也可以作为CGI的标准模块被使用。
在线图书: Embedding Perl in HTML with Mason
目录 |
[编辑] 安装指南
前提是安装了 mod_perl
Debian用户
#apt-get install libhtml-mason-perl libhtml-mason-perl-examples // mason install to /usr/share/perl5/HTML/Mason
If you have installed the apache-perl package, you don't need the following line.
LoadModule perl_module /usr/lib/apache/1.3/mod_perl.so
vi /etc/apache-perl/conf.d/libhtml-mason-perl-examples.conf PerlModule HTML::Mason::ApacheHandler <Directory /var/www> SetHandler perl-script PerlHandler HTML::Mason::ApacheHandler </Directory> hhttp://localhost/mason_example/
or use httpd.conf
<IfModule mod_perl.c> Alias /perl/ /var/www/perl/ <Directory /var/www/perl> <Files "*.html"> SetHandler perl-script PerlHandler HTML::Mason::ApacheHandler </Files> </Directory> PerlSetVar MasonCompRoot /var/www/perl PerlSetVar MasonDataDir /var/state/mason PerlModule HTML::Mason::ApacheHandler
</IfModule> Using Mason from a CGI Script
touch add.html <% 2 + 2 %> http://localhost/perl/add.html :)
The relevant portions of the httpd.conf file look like:
DocumentRoot /path/to/comp/root ScriptAlias /cgi-bin/ /path/to/cgi-bin/
<LocationMatch "\.html$"> Action html-mason /cgi-bin/mason_handler.cgi AddHandler html-mason .html </LocationMatch> <LocationMatch "^/cgi-bin/"> RemoveHandler .html </LocationMatch> <FilesMatch "(autohandler|dhandler)$"> Order allow,deny Deny from all </FilesMatch>
Linux用户
wget http://cpan.linuxforum.net/authors/id/D/DR/DROLSKY/HTML-Mason-1.35.tar.gz tar HTML-Mason-1.35.tar.gz cd HTML-Mason-1.35 #perl Build.PL #./Build #./Build instal
CGI and Mason Example Programs - http://mnementh.csi.cam.ac.uk/mason-course-examples/
[编辑] Related Links
- http://www.masonhq.com/
- http://www.masonbook.com/
- http://perl.apache.org/
- http://search.cpan.org/dist/HTML-Mason/
- Perl Apprenticeship Site - http://apprentice.perl.org/
- http://www.alzabo.org/
[编辑] MasonPoweredSites
http://www.masonhq.com/?MasonPoweredSites
- http://amazon.com - http://www.masonhq.com/?AmazonDotCom
- http://del.icio.us
- http://www.live365.com
- Netdisco
[编辑] MasonPoweredApps
<discussion>characters_max=300</discussion>