Articulate
view release on metacpan or search on metacpan
Other presets can be defined like webservice, blog, issue tracker, wiki.
#### Presets
##### Perl Blog Engine "Plain Speaking"
##### Perl Issue Tracker "Pipe Up"
### Error throwing
NotFound => 404
- Case a) NoRoute: no route defined
- Case b) NoResource: a route is defined but one of the ids is wrong
- Case c) NoResult: a search has been performed and there were no results
InputError => 400
Case a) InputTypeError: a parameter was empty, of the wrong type, etc. and it is not possible to be more specific.
Case b) InputParsingError: a request has been refused because the content appears broken
Case c) InputValidationError: A parameter was present, but does not fit with a defined schema.
Changes
Design.md
examples/plain-speaking/bin/app.pl
examples/plain-speaking/bin/app.psgi
examples/plain-speaking/config.yml
examples/plain-speaking/environments/dancer1.yml
examples/plain-speaking/environments/development.yml
examples/plain-speaking/lib/PlainSpeaking/Routes/BlogContent.pm
examples/plain-speaking/public/404.html
examples/plain-speaking/public/500.html
examples/plain-speaking/public/css/blog.css
examples/plain-speaking/public/dispatch.cgi
examples/plain-speaking/public/dispatch.fcgi
examples/plain-speaking/public/javascripts/plain-speaking-forms.js
examples/plain-speaking/views/article_result.tt
examples/plain-speaking/views/article.tt
examples/plain-speaking/views/error.tt
examples/plain-speaking/views/form/create.tt
examples/plain-speaking/views/form/edit.tt
t/Articulate-Sortation-Slug.t
t/Articulate-Storage.t
t/Articulate-Syntax.t
t/Articulate-Validation.t
t/environments/testing.yml
t/kwalitee.t
t/lib/MadeUp/Class.pm
t/lib/MadeUp/Class/Singleton.pm
t/lib/MadeUp/Class/WeirdConstructor.pm
t/pod-coverage.t
t/public/404.html
t/public/500.html
t/public/css/error.css
t/public/css/normalize.css
t/public/css/style.css
t/public/dispatch.cgi
t/public/dispatch.fcgi
t/public/javascripts/articulate-forms.js
t/public/javascripts/jquery.js
t/views/article.tt
t/views/error.tt
examples/plain-speaking/public/404.html view on Meta::CPAN
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Error 404</title>
<link rel="stylesheet" href="/css/error.css" />
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>Error 404</h1>
<div id="content">
<h2>Page Not Found</h2><p>Sorry, this is the void.</p>
</div>
<div id="footer">
Powered by <a href="http://perldancer.org/">Dancer</a>.
</div>
</body>
</html>
lib/Articulate/Error/NotFound.pm view on Meta::CPAN
=head3 DESCRIPTION
This class extends Articulate::Error and merely sets two default values:
=head3 simple_message
This defaults to C<'Not Found'>.
=head3 http_code
This defaults to C<404>.
=cut
has '+simple_message' => ( default => 'Not found', );
has '+http_code' => ( default => 404, );
1;
t/public/404.html view on Meta::CPAN
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Error 404</title>
<link rel="stylesheet" href="/css/error.css" />
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>Error 404</h1>
<div id="content">
<h2>Page Not Found</h2><p>Sorry, this is the void.</p>
</div>
<div id="footer">
Powered by <a href="http://perldancer.org/">Dancer</a>.
</div>
</body>
</html>
t/public/css/style.css view on Meta::CPAN
body {
font-family: "Helvetica Neue", "Nimbus Sans L", "Liberation Sans", "Arial", sans-serif;
color: #404040;
}
/* Make the structure of articles obvious */
article {
padding: 0 1em;
margin: 0 -1em;
}
article header,
t/public/javascripts/jquery.js view on Meta::CPAN
/*! jQuery v1.11.2 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this...
return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("o...
}m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Zb.propHooks[this....
( run in 2.296 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )