Mojolicious-Plugin-Moai
view release on metacpan or search on metacpan
lib/Mojolicious/Plugin/Moai.pm view on Meta::CPAN
#pod
#pod This section contains a grid container with a single row and two
#pod columns: the C<main> section and the C<sidebar> section.
#pod
#pod =over
#pod
#pod =item main
#pod
#pod This section contains the C<< <main> >> element and the main content of
#pod the page from the default buffer of the L<Mojolicious C<content> helper|https://mojolicious.org/perldoc/Mojolicious/Plugin/DefaultHelpers#content>.
#pod
#pod =item sidebar
#pod
#pod This section is a placeholder for whatever sidebar content the current page
#pod requires.
#pod
#pod =back
#pod
#pod =item footer
#pod
#pod This section is a placeholder for whatever footer content the current page requires.
#pod
#pod =back
#pod
#pod =head1 TODO
#pod
#pod =over
#pod
#pod =item Security
#pod
#pod The CDN links should have full security hashes.
#pod
#pod =item Accessibility Testing
#pod
#pod Accessibility testing should be automated and applied to all supported
#pod libraries.
#pod
#pod =item Internationalization
#pod
#pod This library should use Mojolicious's C<variant> feature to provide
#pod translations for every widget in every library.
#pod
#pod =item Add more widgets
#pod
#pod There should be widgets for...
#pod
#pod =over
#pod
#pod =item * other menus (vertical lists, dropdown buttons)
#pod
#pod =item * dropdown menus
#pod
#pod =item * forms and other items in the navbar (move the Form plugin from Yancy?)
#pod
#pod =item * switched panels (tabs, accordion, slider)
#pod
#pod =item * alerts (error, warning, info)
#pod
#pod =item * menus (dropdown button, menu bar)
#pod
#pod =item * popups (modal dialogs, tooltips, notifications)
#pod
#pod =back
#pod
#pod =item Add more libraries
#pod
#pod There should be support for...
#pod
#pod =over
#pod
#pod =item * Bootstrap 3
#pod
#pod =item * Material
#pod
#pod =back
#pod
#pod Moai should support the same features for each library, allowing easy
#pod switching between them.
#pod
#pod =item Add progressive enhancement
#pod
#pod Some examples of progressive enhancement:
#pod
#pod =over
#pod
#pod =item * The table widget could have sortable columns
#pod
#pod =item * The table widget could use AJAX to to filter and paginate
#pod
#pod =item * The pager widget could use AJAX to update a linked element
#pod
#pod =item * The switched panel widgets could load their content lazily
#pod
#pod =back
#pod
#pod =item Themes
#pod
#pod Built-in selection of CDN-based themes for each library
#pod
#pod =item Default Colors
#pod
#pod A default color scheme (light / dark) that responds to a user's
#pod light/dark preferences (MacOS "dark mode"). The default should be settable from
#pod the main config, and overridable for individual elements.
#pod
#pod =item Extra Classes
#pod
#pod A standard way of adding extra classes to individual tags inside components. In addition
#pod to a string, we should also support a subref so that loops can apply classes to certain
#pod elements based on input criteria.
#pod
#pod =item Documentation Sheet
#pod
#pod Each supported library should come with a single page that demonstrates the various
#pod widgets and provides copy/paste code snippets to achieve that widget.
#pod
#pod It would be amazing if there was a way to make one template apply to all
#pod supported libraries.
#pod
#pod =item Content section overrides
#pod
lib/Mojolicious/Plugin/Moai.pm view on Meta::CPAN
This section contains a grid container with a single row and two
columns: the C<main> section and the C<sidebar> section.
=over
=item main
This section contains the C<< <main> >> element and the main content of
the page from the default buffer of the L<Mojolicious C<content> helper|https://mojolicious.org/perldoc/Mojolicious/Plugin/DefaultHelpers#content>.
=item sidebar
This section is a placeholder for whatever sidebar content the current page
requires.
=back
=item footer
This section is a placeholder for whatever footer content the current page requires.
=back
=head1 TODO
=over
=item Security
The CDN links should have full security hashes.
=item Accessibility Testing
Accessibility testing should be automated and applied to all supported
libraries.
=item Internationalization
This library should use Mojolicious's C<variant> feature to provide
translations for every widget in every library.
=item Add more widgets
There should be widgets for...
=over
=item * other menus (vertical lists, dropdown buttons)
=item * dropdown menus
=item * forms and other items in the navbar (move the Form plugin from Yancy?)
=item * switched panels (tabs, accordion, slider)
=item * alerts (error, warning, info)
=item * menus (dropdown button, menu bar)
=item * popups (modal dialogs, tooltips, notifications)
=back
=item Add more libraries
There should be support for...
=over
=item * Bootstrap 3
=item * Material
=back
Moai should support the same features for each library, allowing easy
switching between them.
=item Add progressive enhancement
Some examples of progressive enhancement:
=over
=item * The table widget could have sortable columns
=item * The table widget could use AJAX to to filter and paginate
=item * The pager widget could use AJAX to update a linked element
=item * The switched panel widgets could load their content lazily
=back
=item Themes
Built-in selection of CDN-based themes for each library
=item Default Colors
A default color scheme (light / dark) that responds to a user's
light/dark preferences (MacOS "dark mode"). The default should be settable from
the main config, and overridable for individual elements.
=item Extra Classes
A standard way of adding extra classes to individual tags inside components. In addition
to a string, we should also support a subref so that loops can apply classes to certain
elements based on input criteria.
=item Documentation Sheet
Each supported library should come with a single page that demonstrates the various
widgets and provides copy/paste code snippets to achieve that widget.
It would be amazing if there was a way to make one template apply to all
supported libraries.
=item Content section overrides
( run in 2.427 seconds using v1.01-cache-2.11-cpan-364913b4093 )