From ee5231aafae8ac6b25e35b886585cf9adced3e73 Mon Sep 17 00:00:00 2001 From: "Jason A. Crome" Date: Sat, 13 Apr 2024 22:27:15 -0400 Subject: [PATCH 1/8] Rename contributing doc to be GitHub friendly Changing case will allow this to show up as a tab on the GitHub landing page for Dancer2. --- Contributing.md => CONTRIBUTING.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Contributing.md => CONTRIBUTING.md (100%) diff --git a/Contributing.md b/CONTRIBUTING.md similarity index 100% rename from Contributing.md rename to CONTRIBUTING.md From 61782e272113cecfb42c1697460f50d6fc4bec1c Mon Sep 17 00:00:00 2001 From: "Jason A. Crome" Date: Sat, 13 Apr 2024 22:31:24 -0400 Subject: [PATCH 2/8] Create GitHub-friendly license file This will show up in a separate tab on the landing page for Dancer2. --- LICENSE | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000..96c714f20 --- /dev/null +++ b/LICENSE @@ -0,0 +1,3 @@ +This is free software; you can redistribute it and/or modify it under +the same terms as the Perl 5 programming language system itself. + From e15d74797874edd280fd3158e57758698ed83937 Mon Sep 17 00:00:00 2001 From: "Jason A. Crome" Date: Sat, 13 Apr 2024 22:34:29 -0400 Subject: [PATCH 3/8] Add GitHub-friendly Code of Conduct page This will show up as a separate tab in the GitHub interface on the Dancer2 landing page. --- CODE_OF_CONDUCT.md | 74 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..e5cb85ba3 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Overview + +This document describes various policies (most notably, the standards +of conduct) for the Dancer core developers and broad community. + +This is what we expect from our community and ourselves and these are +the standards of behavior we set forth in order to make sure the community +remains a safe space for all of its members, without exception. + +# Standards of Conduct + +These standards apply anywhere the community comes together as a group. +This includes, but is not limited to, the Dancer IRC channel, the Dancer +mailing list, Dancer hackathons, and Dancer conferences. + +- Always be civil. +- Heed the moderators. +- Abuse is not tolerated. + +Civility is simple: stick to the facts while avoiding demeaning remarks and +sarcasm. It is not enough to be factual. You must also be civil. Responding +in kind to incivility is not acceptable. + +If the list moderators tell you that you are not being civil, carefully +consider how your words have appeared before responding in any way. You may +protest, but repeated protest in the face of a repeatedly reaffirmed decision +is not acceptable. + +Unacceptable behavior will result in a public and clearly identified warning. +Repeated unacceptable behavior will result in removal from the mailing list and +revocation of any commit bit. The first removal is for one month. Subsequent +removals will double in length. After six months with no warning, a user's ban +length is reset. Removals, like warnings, are public. + +The list of moderators consists of all active core developers. This includes, +in alphabetical order, Alberto Simões, David Precious, Jason Crome, Mickey +Nasriachi, Peter Mottram, Russell Jenkins, Sawyer X, Stefan Hornburg (Racke), +and Yanick Champoux. + +This list might additionally grow to active members of the community who have +stepped up to help handle abusive behavior. If this should happen, this +document would be updated to include their names. + +Additionally, it's important to understand the self-regulating nature we +foster at the Dancer community. This means anyone and everyone in the +community - in the channel, on the list, at an event - has the ability to +call out unacceptable behavior and incivility to others in the community. + +Moderators are responsible for issuing warnings and take disciplinary actions, +but anyone may - and is encouraged - to publicly make note of unacceptable +treatment of others. + +As a core principle, abuse is never tolerated. One cannot berate, insult, +debase, deride, put down, or vilify anyone, or act towards anyone in a way +intending to hurt them. + +The community specifically considers as abuse any attempts to otherize anyone +by any individual characteristic, including, but not limited to, their +technical skill, knowledge or by their age, colour, disability, gender, +language, national or social origin, political or other opinion, race, +religion, sex, or sexual orientation. + +The community aims to maintain a safe space for everyone, in any forum it +has. If you ever feel this core principle has been compromised, you are strongly +urged to contact a moderator. We are always here. + +Remember, this is **your** community, as much as it is anyone else's. + +# CREDITS + +This policy has been adopted and adapted from the policy available for +the Perl language development, provided by **p5p** (the Perl 5 Porters). + +The original inspiration policy document can be read at [perlpolicy](https://metacpan.org/pod/perlpolicy). From 3ee2d97818b6549707165b77ce0f184a94f5c538 Mon Sep 17 00:00:00 2001 From: "Jason A. Crome" Date: Sat, 13 Apr 2024 22:36:16 -0400 Subject: [PATCH 4/8] Stop autogeneration of README.md As we're adding some styling and customization to the README, we don't want to overwrite it with the main module pod when we release a new version. --- dist.ini | 3 --- 1 file changed, 3 deletions(-) diff --git a/dist.ini b/dist.ini index c7d7c781a..90ed97c57 100644 --- a/dist.ini +++ b/dist.ini @@ -76,6 +76,3 @@ dir = share [Encoding] encoding = bytes match = \.(png|ico|jpg)$ ; these are all binary files - -[ ReadmeAnyFromPod / MarkdownInRoot ] -filename = README.md From fb718dcc557542154bfd00df6d8baded4a7e7244 Mon Sep 17 00:00:00 2001 From: "Jason A. Crome" Date: Sat, 13 Apr 2024 23:00:33 -0400 Subject: [PATCH 5/8] Add GitHub-friendly security document This will show up as a separate tab in the GitHub interface for Dancer2. --- SECURITY.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 000000000..2cfa93b8c --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,6 @@ +If you need to report a security vulnerability in Dancer2, send all +pertinent information to +[dancer-security@dancer.pm](mailto:dancer-security@dancer.pm). These +matters are taken extremely seriously, and will be addressed in the +earliest timeframe possible. + From 210079fa2c83317559fdded7424dc733be42fc7a Mon Sep 17 00:00:00 2001 From: "Jason A. Crome" Date: Sat, 13 Apr 2024 23:01:36 -0400 Subject: [PATCH 6/8] First pass of updated README for Dancer2 This will no longer be autogenerated at release time, and has been updated to look nice on GitHub. --- README.md | 62 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 36 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index e94fd6890..64f1a8287 100644 --- a/README.md +++ b/README.md @@ -1,28 +1,38 @@ -# NAME - -Dancer2 - Lightweight yet powerful web application framework - -# VERSION - -version 1.1.0 - -# DESCRIPTION - -Dancer2 is the new generation of [Dancer](https://metacpan.org/pod/Dancer), the lightweight web-framework for -Perl. Dancer2 is a complete rewrite based on [Moo](https://metacpan.org/pod/Moo). +

+ + Perl Dancer logo + +

+ +

+ Dancer2 is a lightweight yet powerful web application framework + written in Perl. +
+ Tutorial + · + Manual + · + Discussion Forums + · + Public Wiki + · + Mailing List +


+ +Dancer2 is the evolution of [Dancer](https://metacpan.org/pod/Dancer) +and is based on on [Moo](https://metacpan.org/pod/Moo), a lightweight +object framework for Perl. Dancer2 can optionally use XS modules for speed, but at its core remains -fatpackable (packable by [App::FatPacker](https://metacpan.org/pod/App%3A%3AFatPacker)) so you could easily deploy Dancer2 -applications on hosts that do not support custom CPAN modules. +fatpackable (via [App::FatPacker](https://metacpan.org/pod/App%3A%3AFatPacker)), allowing +you to easily deploy Dancer2 applications in environments that do not support custom +installations of CPAN modules. Dancer2 is easy and fun: use Dancer2; get '/' => sub { "Hello World" }; - dance; - -This is the main module for the Dancer2 distribution. It contains logic for -creating a new Dancer2 application. + dance; ## Documentation Index @@ -101,13 +111,13 @@ complete outline on where to go for help. broken, unused, or outdated code from the Dancer2 codebase. This policy is critical for guiding and shaping future development of Dancer2. -# SECURITY REPORTS +# Security Reports If you need to report a security vulnerability in Dancer2, send all pertinent information to [dancer-security@dancer.pm](mailto:dancer-security@dancer.pm). These matters are taken extremely seriously, and will be addressed in the earliest timeframe possible. -# SUPPORT +# Support You are welcome to join our mailing list. For subscription information, mail address and archives see @@ -115,9 +125,9 @@ For subscription information, mail address and archives see We are also on IRC: #dancer on irc.perl.org. -# AUTHORS +# Authors -## CORE DEVELOPERS +## Dancer Core Team Alberto Simões Alexis Sukrieh @@ -133,12 +143,12 @@ We are also on IRC: #dancer on irc.perl.org. Stefan Hornburg (Racke) Yanick Champoux -## CORE DEVELOPERS EMERITUS +## Core Team Emeritus David Golden Steven Humphrey -## CONTRIBUTORS +## Contributors A. Sinan Unur Abdullah Diab @@ -290,11 +300,11 @@ We are also on IRC: #dancer on irc.perl.org. xenu Yves Orton -# AUTHOR +# Author Dancer Core Developers -# COPYRIGHT AND LICENSE +# Copyright and License This software is copyright (c) 2023 by Alexis Sukrieh. From 1a7773f360b00450de6c873e2afd80654ea1e7f7 Mon Sep 17 00:00:00 2001 From: "Jason A. Crome" Date: Fri, 21 Jun 2024 23:25:27 -0400 Subject: [PATCH 7/8] More cleanup and documentation improvements Removed some redundancies, improved some of the language, and generally tried to make it read less like a Pod document and more like a welcoming guide to Dancer2. --- README.md | 49 ++++++++++++++++++++++++------------------------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 64f1a8287..6a27b1a01 100644 --- a/README.md +++ b/README.md @@ -36,51 +36,49 @@ Dancer2 is easy and fun: ## Documentation Index -Documentation on Dancer2 is split into several sections. Below is a -complete outline on where to go for help. +Documentation for Dancer2 is split into several sections: - Dancer2 Tutorial - If you are new to the Dancer approach, you should start by reading - our [Dancer2::Tutorial](https://metacpan.org/pod/Dancer2%3A%3ATutorial). + If you've never danced before, you should start by reading + our [tutorial](https://metacpan.org/pod/Dancer2%3A%3ATutorial). -- Dancer2 Manual +- Manual - [Dancer2::Manual](https://metacpan.org/pod/Dancer2%3A%3AManual) is the reference for Dancer2. Here you will find - information on the concepts of Dancer2 application development and - a comprehensive reference to the Dancer2 domain specific + The [Dancer2::Manual](https://metacpan.org/pod/Dancer2%3A%3AManual) is the definitive reference for Dancer2. Here you will find + information on the concepts of Dancer2 application development and a comprehensive reference to the Dancer2 domain specific language. -- Dancer2 Keywords +- Keyword Guide - The keywords for Dancer2 can be found under [DSL Keywords](https://metacpan.org/pod/Dancer2%3A%3AManual#DSL-KEYWORDS). + The complete list of keywords for Dancer2 is documented in the [DSL Keywords](https://metacpan.org/pod/Dancer2%3A%3AManual#DSL-KEYWORDS) + guide. -- Dancer2 Deployment +- Deployment For configuration examples of different deployment solutions involving - Dancer2 and Plack, refer to [Dancer2::Manual::Deployment](https://metacpan.org/pod/Dancer2%3A%3AManual%3A%3ADeployment). + Dancer2 and Plack, refer to [the deployment guide](https://metacpan.org/pod/Dancer2%3A%3AManual%3A%3ADeployment). -- Dancer2 Cookbook +- Cookbook Specific examples of code for real-life problems and some 'tricks' for - applications in Dancer can be found in [Dancer2::Cookbook](https://metacpan.org/pod/Dancer2%3A%3ACookbook) + applications in Dancer2 can be found in [the Cookbook](https://metacpan.org/pod/Dancer2%3A%3ACookbook) -- Dancer2 Config +- Configuration For configuration file details refer to [Dancer2::Config](https://metacpan.org/pod/Dancer2%3A%3AConfig). It is a complete list of all configuration options. -- Dancer2 Plugins +- Plugins - Refer to [Dancer2::Plugins](https://metacpan.org/pod/Dancer2%3A%3APlugins) for a partial list of available Dancer2 - plugins. Note that although we try to keep this list up to date we - expect plugin authors to tell us about new modules. + Refer to [Dancer2::Plugins](https://metacpan.org/pod/Dancer2%3A%3APlugins) for a curated list of Dancer2 + plugins, or [search MetaCPAN](https://metacpan.org/search?q=Dancer2%3A%3APlugin) for a complete list. For information on how to author a plugin, see ["Writing the plugin" in Dancer2::Plugin](https://metacpan.org/pod/Dancer2%3A%3APlugin#Writing-the-plugin). -- Dancer2 Migration guide +- Dancer2 Migration Guide - [Dancer2::Manual::Migration](https://metacpan.org/pod/Dancer2%3A%3AManual%3A%3AMigration) provides the most up-to-date instruction on + [The migration guide](https://metacpan.org/pod/Dancer2%3A%3AManual%3A%3AMigration) provides the most up-to-date instructions on how to convert a Dancer (1) based application to Dancer2. ### Other Documentation @@ -95,7 +93,7 @@ complete outline on where to go for help. - GitHub Wiki - Our [GitHub wiki](https://github.com/PerlDancer/Dancer2/wiki) has community-contributed + Our [wiki](https://github.com/PerlDancer/Dancer2/wiki) has community-contributed documentation, as well as other information that doesn't quite fit within this manual. @@ -114,8 +112,9 @@ complete outline on where to go for help. # Security Reports If you need to report a security vulnerability in Dancer2, send all pertinent -information to [dancer-security@dancer.pm](mailto:dancer-security@dancer.pm). These matters are taken -extremely seriously, and will be addressed in the earliest timeframe possible. +information to [dancer-security@dancer.pm](mailto:dancer-security@dancer.pm), or report it +via the GitHub security tool. These reports will be addressed in the earliest possible +timeframe. # Support @@ -306,7 +305,7 @@ Dancer Core Developers # Copyright and License -This software is copyright (c) 2023 by Alexis Sukrieh. +This software is copyright (c) 2024 by Alexis Sukrieh. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. From acd8f8e65b67228476061c6d1e8b4fdf3c4a64fd Mon Sep 17 00:00:00 2001 From: "Jason A. Crome" Date: Fri, 21 Jun 2024 23:27:10 -0400 Subject: [PATCH 8/8] Make security guide details match the core README --- SECURITY.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/SECURITY.md b/SECURITY.md index 2cfa93b8c..c94749de2 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,6 +1,4 @@ -If you need to report a security vulnerability in Dancer2, send all -pertinent information to -[dancer-security@dancer.pm](mailto:dancer-security@dancer.pm). These -matters are taken extremely seriously, and will be addressed in the -earliest timeframe possible. - +If you need to report a security vulnerability in Dancer2, send all pertinent +information to [dancer-security@dancer.pm](mailto:dancer-security@dancer.pm), or report it +via the GitHub security tool. These reports will be addressed in the earliest possible +timeframe.