supernovus / ww6 Goto Github PK
View Code? Open in Web Editor NEWABANDONED - an old web framework for Perl 6
ABANDONED - an old web framework for Perl 6
ww6: Web Application Framework and CMS Library-set for Perl 6 Status: It works, but depending on features you use, can be pretty slow. The dynamic module loading can have some strange side effects if you are mixing pre-compiled libraries with plain .pm ones. I recommend compiling everything first, if you use 'panda' or one of the other Perl 6 package managers to install it, the compilation will be done for you. That is highly recommended. === Story === In the beginning was Webtoo Websight, and it was good. Based on the Perlite libraries it was, and they were good. Both had reached a mighty version number of 5, but both had also reached a point where a complete rewrite was in order. It could have been done in Perl 5, as both were already written in said language. It could have been done with magical tools such as Moose, to make it stronger and easier to debug. But then, the Great Architect said, "no." And proceeded to rewrite the whole thing, in Perl 6. This is the result. === Features === * Supports Dispatch based configurations, where all URLs are matched and dispatched to the correct module. * Supports a custom website content management system, which looks for pages in a specific format, and parses them with plugins. * Supports web applications with dynamically dispatched controllers, similar to CodeIgniter from PHP. * Has a simple script 'ww6' to create new sites/apps with: $ ww6 --create webapp --dir new-app To get a list of available templates, type 'ww6 --list'. * The templates come with an example daemon.pl6 script (the default uses SCGI on port 8118) which is really simple to use: ./daemon.pl6 Then connect an SCGI mount to port 8118 to see your app. === Dependencies === = Requirements = - Rakudo Perl 6 http://rakudo.org/ A version of Perl 6 for the Parrot Virtual Machine. - The Hash::Has, HashConfig and WebRequest libraries http://github.com/supernovus/hash-has http://github.com/supernovus/HashConfig http://github.com/supernovus/WebRequest Used by the core, these used to be in a single library collection called Perlite, but where separated out into their own projects. - The SCGI library for Perl 6 http://github.com/supernovus/SCGI This library was written specifically because I was frustrated testing ww6 as a CGI script, where the performance was abysmal. - The Exemel and Flower libraries http://github.com/supernovus/exemel http://github.com/supernovus/flower Used by both the CMS libraries, and the Lighter web application library. - The JSON::Tiny library http://github.com/moritz/json Required by the HashConfig library, this is used for configuration files and Metadata (as well as a few other places in examples.) - The Temporal Utils library collection http://github.com/supernovus/temporal-utils Not used by the core, but it is used by a few of the CMS plugins (including Headers) and by Flower::Utils::Date which can be loaded by the Flower plugin (see the modifiers option in the Flower plugin.) - If you want to run the SCGI process on a computer behind NAT, and have the publically accessible web server forward requests to it, you can look into the reverse proxy functionality of OpenSSH. The 'extra/service.sh' and 'extra/svc/example.cfg' files show how I had it set up to run on my home computer, and forward to my VPS. === Future Plans === This project is still under construction, and does not include all of the functionality from Webtoo Websight 5 yet. See the docs/TODO.txt for specific details on future plans. License: http://www.perlfoundation.org/artistic_license_2_0 Author: Timothy M. Totten
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.