changeset ee3db5afe81d in www.tryton.org:default details: https://hg.tryton.org/www.tryton.org?cmd=changeset&node=ee3db5afe81d description: Update to Bootstrap 5 and remove jQuery
issue11150 review355931002 diffstat: gulpfile.js | 3 +- js/lazy.js | 11 +++- package.json | 4 +- sass/bootstrap/_override.scss | 22 +++++++- sass/footer/_footer.scss | 2 +- templates/contribute.html | 14 ++-- templates/donate.html | 2 +- templates/donate_cancel.html | 4 +- templates/donate_thanks.html | 4 +- templates/download.html | 16 ++-- templates/events/layout.html | 8 +- templates/guidelines/documentation.html | 30 +++++----- templates/guidelines/help.html | 20 +++--- templates/index.html | 22 +++--- templates/layout-toc.html | 4 +- templates/layout.html | 28 ++++---- templates/service_providers.html | 2 +- templates/service_providers_start.html | 8 +- templates/success_stories/advocate-consulting-legal-group.html | 2 +- templates/success_stories/ammeba.html | 2 +- templates/success_stories/camir.html | 4 +- templates/success_stories/grufesa.html | 2 +- templates/success_stories/koolvet.html | 4 +- templates/success_stories/mifarma.html | 2 +- templates/success_stories/revelle.html | 2 +- templates/success_stories/wenger-energie.html | 2 +- templates/utils.html | 4 +- 27 files changed, 126 insertions(+), 102 deletions(-) diffs (813 lines): diff -r e21d651dc807 -r ee3db5afe81d gulpfile.js --- a/gulpfile.js Sun Jul 24 12:09:32 2022 +0200 +++ b/gulpfile.js Sun Aug 07 16:43:23 2022 +0200 @@ -11,8 +11,7 @@ gulp.task('main-js', function() { return gulp.src([ - 'node_modules/jquery/dist/jquery.slim.js', - 'node_modules/popper.js/dist/umd/popper.js', + 'node_modules/@popperjs/core/dist/umd/popper.js', 'node_modules/bootstrap/dist/js/bootstrap.js', 'node_modules/loading-attribute-polyfill/dist/loading-attribute-polyfill.umd.js', 'js/highlight.pack.js', diff -r e21d651dc807 -r ee3db5afe81d js/lazy.js --- a/js/lazy.js Sun Jul 24 12:09:32 2022 +0200 +++ b/js/lazy.js Sun Aug 07 16:43:23 2022 +0200 @@ -1,4 +1,4 @@ -$(document).ready(function() { +var lazy_callback = function() { if ("IntersectionObserver" in window) { lazyElements = document.querySelectorAll(".lazy"); var lazyObserver = new IntersectionObserver(function(entries, observer) { @@ -15,4 +15,11 @@ lazyObserver.observe(element); }); } -}); +}; + +if (document.readyState === "complete" || + (document.readyState !== "loading" && !document.documentElement.doScroll)) { + lazy_callback(); +} else { + document.addEventListener("DOMContentLoaded", callback); +} diff -r e21d651dc807 -r ee3db5afe81d package.json --- a/package.json Sun Jul 24 12:09:32 2022 +0200 +++ b/package.json Sun Aug 07 16:43:23 2022 +0200 @@ -5,7 +5,7 @@ "description": "NPM Tryton", "author": "Pierre Gomba", "dependencies": { - "bootstrap": "^4.5.0", + "bootstrap": "^5.1.3", "gulp": "^4.0.2", "gulp-autoprefixer": "^8.0.0", "gulp-clean-css": "^4.3.0", @@ -20,7 +20,7 @@ "loading-attribute-polyfill": "^2.0.1", "material-icons": "^1.10.6", "node-sass-package-importer": "^5.3.2", - "popper.js": "^1.16.1" + "@popperjs/core": "^2.11.2" }, "devDependencies": { "sass": "^1.48.0", diff -r e21d651dc807 -r ee3db5afe81d sass/bootstrap/_override.scss --- a/sass/bootstrap/_override.scss Sun Jul 24 12:09:32 2022 +0200 +++ b/sass/bootstrap/_override.scss Sun Aug 07 16:43:23 2022 +0200 @@ -14,7 +14,15 @@ $dark: $tryton-color-dark; $body-color: $tryton-color-body; $theme-colors: ( - 'white': #fff, + "primary": $primary, + "secondary": $secondary, + "success": $success, + "info": $info, + "warning": $warning, + "danger": $danger, + "light": $light, + "dark": $dark, + 'white': #fff, ); // Text @@ -37,10 +45,15 @@ $navbar-light-color: rgba($black, .6) !default; $dropdown-bg: $dark; $dropdown-link-color: #fff; +$dropdown-link-hover-color: $dark; $dropdown-spacer: 0; $dropdown-border-width: 0; $dropdown-border-radius: 0; +// LINKS +$link-decoration: none; +$link-hover-decoration: underline; + // BUTTONS $btn-focus-width: 0; @@ -51,7 +64,14 @@ $grid-gutter-width: 30px; // SPACERS +$spacer: 1rem !default; $spacers: ( + 0: 0, + 1: $spacer * .25, + 2: $spacer * .5, + 3: $spacer, + 4: $spacer * 1.5, + 5: $spacer * 3, 'gutter': $grid-gutter-width, 'gutter-half': math.div($grid-gutter-width, 2), ); diff -r e21d651dc807 -r ee3db5afe81d sass/footer/_footer.scss --- a/sass/footer/_footer.scss Sun Jul 24 12:09:32 2022 +0200 +++ b/sass/footer/_footer.scss Sun Aug 07 16:43:23 2022 +0200 @@ -31,7 +31,7 @@ border-color: $tryton-color-gray; } - .footer-right { + .footer-end { @include media-breakpoint-down(md) { margin-top: 2rem; } diff -r e21d651dc807 -r ee3db5afe81d templates/contribute.html --- a/templates/contribute.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/contribute.html Sun Aug 07 16:43:23 2022 +0200 @@ -31,7 +31,7 @@ <div class="card mb-5 shadow w-100"> <div class="card-body d-inline-flex"> - <div class="picto-container mr-3 d-none d-sm-flex"> + <div class="picto-container me-3 d-none d-sm-flex"> <div class="picto bg-dark text-white"> <span class="material-icons md-48">monetization_on</span> </div> @@ -49,7 +49,7 @@ <div class="card mb-5 shadow w-100"> <div class="card-body d-inline-flex"> - <div class="picto-container mr-3 d-none d-sm-flex"> + <div class="picto-container me-3 d-none d-sm-flex"> <div class="picto bg-dark text-white"> <span class="material-icons md-48">live_help</span> </div> @@ -69,7 +69,7 @@ <div class="card mb-5 shadow w-100"> <div class="card-body d-inline-flex"> - <div class="picto-container mr-3 d-none d-sm-flex"> + <div class="picto-container me-3 d-none d-sm-flex"> <div class="picto bg-dark text-white"> <span class="material-icons md-48">share</span> </div> @@ -99,7 +99,7 @@ <div class="card mb-5 shadow w-100"> <div class="card-body d-inline-flex"> - <div class="picto-container mr-3 d-none d-sm-flex"> + <div class="picto-container me-3 d-none d-sm-flex"> <div class="picto bg-dark text-white"> <span class="material-icons md-48">bug_report</span> </div> @@ -122,7 +122,7 @@ <div class="card mb-5 shadow w-100"> <div class="card-body d-inline-flex"> - <div class="picto-container mr-3 d-none d-sm-flex"> + <div class="picto-container me-3 d-none d-sm-flex"> <div class="picto bg-dark text-white"> <span class="material-icons md-48">build</span> </div> @@ -141,7 +141,7 @@ <div class="card mb-5 shadow w-100"> <div class="card-body d-inline-flex"> - <div class="picto-container mr-3 d-none d-sm-flex"> + <div class="picto-container me-3 d-none d-sm-flex"> <div class="picto bg-dark text-white"> <span class="material-icons md-48">translate</span> </div> @@ -163,7 +163,7 @@ <div class="card mb-5 shadow w-100"> <div class="card-body d-inline-flex"> - <div class="picto-container mr-3 d-none d-sm-flex"> + <div class="picto-container me-3 d-none d-sm-flex"> <div class="picto bg-dark text-white"> <span class="material-icons md-48">description</span> </div> diff -r e21d651dc807 -r ee3db5afe81d templates/donate.html --- a/templates/donate.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/donate.html Sun Aug 07 16:43:23 2022 +0200 @@ -42,7 +42,7 @@ </div> <div class="col-md-6"> <h2 class="text-center" id="donations-yearly">Yearly Donations</h2> - <table class="table table-striped text-right"> + <table class="table table-striped text-end"> <thead> <tr> <th scope="col">Year</th> diff -r e21d651dc807 -r ee3db5afe81d templates/donate_cancel.html --- a/templates/donate_cancel.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/donate_cancel.html Sun Aug 07 16:43:23 2022 +0200 @@ -5,7 +5,7 @@ <div class="section bg-light"> <div class="container"> <section class="section-header text-center bg-light mb1"> - <h1 class="pl-3 pr-3">Donation Cancelled</h1> + <h1 class="ps-3 pe-3">Donation Cancelled</h1> </section> </div> </div> @@ -18,7 +18,7 @@ <span class="material-icons">sentiment_dissatisfied</span> We're sorry that you choose not to contribute to Tryton today. </p> - <p class="text-right"> + <p class="text-end"> <small> Did you have any problems or have concerns? Please let us know by sending an email to <a href="foundat...@tryton.org">foundat...@tryton.org</a>. </small> diff -r e21d651dc807 -r ee3db5afe81d templates/donate_thanks.html --- a/templates/donate_thanks.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/donate_thanks.html Sun Aug 07 16:43:23 2022 +0200 @@ -5,7 +5,7 @@ <div class="section bg-light"> <div class="container"> <section class="section-header text-center bg-light mb1"> - <h1 class="pl-3 pr-3">{{ heart | safe }}Thanks You!</h1> + <h1 class="ps-3 pe-3">{{ heart | safe }}Thanks You!</h1> </section> </div> </div> @@ -18,7 +18,7 @@ <span class="material-icons">sentiment_very_satisfied</span> On behalf of the Tryton Community, we thank you for your support! </p> - <p class="text-right"> + <p class="text-end"> <small> If you have any questions regarding your donations, please send us an email to <a href="foundat...@tryton.org">foundat...@tryton.org</a>. </small> diff -r e21d651dc807 -r ee3db5afe81d templates/download.html --- a/templates/download.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/download.html Sun Aug 07 16:43:23 2022 +0200 @@ -40,36 +40,36 @@ <div class="row"> <div class="col-xl-6 order-xl-2"> <table class="table table-sm"> - <thead class="thead-light"> + <thead> <tr> <td></td> - <th scope="col">User name</th> - <th scope="col">Password</th> + <th class="table-light" scope="col">User name</th> + <th class="table-light" scope="col">Password</th> </tr> </thead> <tbody> <tr> - <th scope="row">English</th> + <th class="table-light" scope="row">English</th> <td>demo</td> <td>demo</td> </tr> <tr> - <th scope="row">Español</th> + <th class="table-light" scope="row">Español</th> <td>demo_es</td> <td>demo</td> </tr> <tr> - <th scope="row">Français</th> + <th class="table-light" scope="row">Français</th> <td>demo_fr</td> <td>demo</td> </tr> <tr> - <th scope="row">Deutsch</th> + <th class="table-light" scope="row">Deutsch</th> <td>demo_de</td> <td>demo</td> </tr> <tr> - <th scope="row">Administrator</th> + <th class="table-light" scope="row">Administrator</th> <td>admin</td> <td>admin</td> </tr> diff -r e21d651dc807 -r ee3db5afe81d templates/events/layout.html --- a/templates/events/layout.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/events/layout.html Sun Aug 07 16:43:23 2022 +0200 @@ -31,7 +31,7 @@ <section class="section" id="schedule"> <div class="container"> <div class="section-header bg-white text-primary text-center"> - <h2 class="pl-3 pr-3 text-uppercase"><span class="material-icons">timer</span> Schedule</h2> + <h2 class="ps-3 pe-3 text-uppercase"><span class="material-icons">timer</span> Schedule</h2> </div> {% block schedule %} <div class="mx-auto" style="max-width: 600px;"> @@ -90,7 +90,7 @@ <section class="section bg-light" id="register"> <div class="container"> <div class="section-header bg-light"> - <h2 class="pl-3 pr-3 text-uppercase">Register</h2> + <h2 class="ps-3 pe-3 text-uppercase">Register</h2> </div> {% block register %} {% endblock register %} @@ -99,7 +99,7 @@ <section class="section" id="venue"> <div class="container"> <div class="section-header bg-white"> - <h2 class="pl-3 pr-3 text-uppercase">Venue <span class="material-icons">place</span></h2> + <h2 class="ps-3 pe-3 text-uppercase">Venue <span class="material-icons">place</span></h2> </div> {% block venue %} {% endblock venue %} @@ -108,7 +108,7 @@ <section class="section bg-light" id="accommodations"> <div class="container"> <div class="section-header bg-light"> - <h2 class="pl-3 pr-3 text-uppercase">Accommodations <span class="material-icons">hotel</span></h2> + <h2 class="ps-3 pe-3 text-uppercase">Accommodations <span class="material-icons">hotel</span></h2> </div> {% block accommodations %} {% endblock accommodations %} diff -r e21d651dc807 -r ee3db5afe81d templates/guidelines/documentation.html --- a/templates/guidelines/documentation.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/guidelines/documentation.html Sun Aug 07 16:43:23 2022 +0200 @@ -88,7 +88,7 @@ <p>To ensure consistency for certain words and terms always use:</p> <dl class="bg-light p-2"> <dt>Tryton</dt> - <dd class="pl-4">This is always capitalised, unless referring to the <span class="text-monospace">tryton</span> command for the desktop client.</dd> + <dd class="ps-4">This is always capitalised, unless referring to the <span class="text-monospace">tryton</span> command for the desktop client.</dd> </dl> <p> Also avoid using the word ERP after Tryton. @@ -143,20 +143,20 @@ <p>A few useful examples of standard roles include:</p> <dl> <dt><code>:abbr:`TST (Test Sphinx Thing)`</code></dt> - <dd class="pl-4">Used to define abbreviations. + <dd class="ps-4">Used to define abbreviations. The abbreviation definition can be given inside brackets and is only shown as a tooltip.</dd> <dt><code>:command:`trytond_import_countries`</code></dt> - <dd class="pl-4">Used for the name of commands or scripts.</dd> + <dd class="ps-4">Used for the name of commands or scripts.</dd> <dt><code>:doc:`Style Guide <style>`</code></dt> - <dd class="pl-4">Used to link to a documentation file.</dd> + <dd class="ps-4">Used to link to a documentation file.</dd> <dt><code>:file:`modules/{module_name}/doc/index.rst`</code></dt> - <dd class="pl-4">Used for filenames. + <dd class="ps-4">Used for filenames. Parts that may vary can be included with <mark>{variable}</mark> syntax, these are displayed differently to indicate that they should be replaced by the correct value when used.</dd> <dt><code>:guilabel:`Open related records`</code></dt> - <dd class="pl-4">Used for any element in the <abbr title="Graphical User Interface">GUI</abbr>. + <dd class="ps-4">Used for any element in the <abbr title="Graphical User Interface">GUI</abbr>. This includes button labels, window titles, menu names, and so on.</dd> <dt><code>:menuselection:`Administration --> Users --> Users`</code></dt> - <dd class="pl-4">Used for menu items. + <dd class="ps-4">Used for menu items. Each level is separated using <code>--></code>. <p> To create a <code>:menuselection:</code> item that is also a link you need to use substitutions:</p> @@ -171,7 +171,7 @@ Where possible try and put <code>:menuselection:</code> items in an indented paragraph of their own so they won't break across lines. If this is not possible then enclose them in <code>[</code>square brackets<code>]</code> to help make them easier to read.</p></dd> <dt><code>:rfc:`2324`</code></dt> - <dd class="pl-4">Used for links to Internet Request for Comments. + <dd class="ps-4">Used for links to Internet Request for Comments. Just use the RFC's number.</dd> </dl> </div> @@ -183,11 +183,11 @@ Depending on what the module does, and how it is structured you may need some, or all, of the following files:</p> <dl> <dt class="text-monospace">conf.py</dt> - <dd class="pl-4"><p> + <dd class="ps-4"><p> This file is required, and is the Sphinx configuration file. It must be kept exactly the same as the <span class="text-monospace">conf.py</span> files in the all the other modules.</p></dd> <dt class="text-monospace">index.rst</dt> - <dd class="pl-4"><p> + <dd class="ps-4"><p> This file is also required and should include a basic description of the module and a table of contents (<code>toctree</code> directive) that links to the other files with a <code>maxdepth</code> of 2.</p> <p class="bg-warning rounded p-2"> <span class="material-icons">warning</span> @@ -198,24 +198,24 @@ <p> The reason it is okay to use a <code>toctree</code> directive is because the build process knows about these and automatically strips them out when building the distribution file.</p></dd> <dt class="text-monospace">setup.rst</dt> - <dd class="pl-4"><p> + <dd class="ps-4"><p> The aim of this file is to describe any setup that needs to be done once a module has been activated. Often this setup will need to be done by the user before the module can be used properly.</p> <p> Add sections to this file that describe the setup that is required and how it is done, for example <mark>"Doing a specific module setup task"</mark>, or <mark>"Setting up the thing to do something"</mark>.</p></dd> <dt class="text-monospace">usage.rst</dt> - <dd class="pl-4"><p> + <dd class="ps-4"><p> The contents of this file are intended for users of the system. So it should talk to these readers directly and you can refer to them in the second person. This means you can use sentences like <mark>"Your system ... then you need to ..."</mark>.</p> <p> It should contain sections that provide instructions or guidance on using a feature of the module, for example <mark>"Using the main feature in the module"</mark>, or <mark>"Working with a specific part of the module"</mark>.</p></dd> <dt class="text-monospace">configuration.rst</dt> - <dd class="pl-4"><p> + <dd class="ps-4"><p> This file should contain each of the server configuration settings that the module provides. Each configuration option should be described mentioning what it is for, or what it does.</p></dd> <dt class="text-monospace">design.rst</dt> - <dd class="pl-4"><p> + <dd class="ps-4"><p> The design and structure of the module is described in this file. Try and focus on the concepts that the module introduces or extends. Often these concepts are implemented in Tryton as models, but it is the concepts and how they fit together that are important.</p> @@ -225,7 +225,7 @@ Wizards and reports should be documented in sections beneath the concepts that they relate to. If they are used with several different models then document them as part of either the primary, or first, model that they relate to, and then link to them from any other models that use them.</p></dd> <dt class="text-monospace">reference.rst</dt> - <dd class="pl-4"><p> + <dd class="ps-4"><p> This file is used to provide reference information for people who are developing or working on the module. It includes sections that document any APIs or routes the module provides, as well as documentation on how to build or update parts of the module.</p></dd> </dl> diff -r e21d651dc807 -r ee3db5afe81d templates/guidelines/help.html --- a/templates/guidelines/help.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/guidelines/help.html Sun Aug 07 16:43:23 2022 +0200 @@ -106,25 +106,25 @@ To keep things consistent use one of the standard help text values for these:</p> <dl> <dt>Name <span class="small">(name)</span>:</dt> - <dd class="pl-4 text-info">This should be pretty obvious and so no help text is normally required.</dd> + <dd class="ps-4 text-info">This should be pretty obvious and so no help text is normally required.</dd> <dt>Name <span class="small">(rec_name)</span>:</dt> - <dd class="pl-4">The main identifier for the <mark>MODEL-NAME</mark>.</dd> + <dd class="ps-4">The main identifier for the <mark>MODEL-NAME</mark>.</dd> <dt>Parent:</dt> - <dd class="pl-4">Used to add structure above the <mark>MODEL-NAME</mark>.</dd> + <dd class="ps-4">Used to add structure above the <mark>MODEL-NAME</mark>.</dd> <dt>Children:</dt> - <dd class="pl-4">Used to add structure below the <mark>MODEL-NAME</mark>.</dd> + <dd class="ps-4">Used to add structure below the <mark>MODEL-NAME</mark>.</dd> <dt>Number:</dt> - <dd class="pl-4">The main identifier for the <mark>MODEL-NAME</mark>.</dd> + <dd class="ps-4">The main identifier for the <mark>MODEL-NAME</mark>.</dd> <dt>Code:</dt> - <dd class="pl-4">The internal identifier for the <mark>MODEL-NAME</mark>.</dd> + <dd class="ps-4">The internal identifier for the <mark>MODEL-NAME</mark>.</dd> <dt>Reference:</dt> - <dd class="pl-4">The external identifier for the <mark>MODEL-NAME</mark>.</dd> + <dd class="ps-4">The external identifier for the <mark>MODEL-NAME</mark>.</dd> <dt>Origin:</dt> - <dd class="pl-4">The source of the <mark>MODEL-NAME</mark>.</dd> + <dd class="ps-4">The source of the <mark>MODEL-NAME</mark>.</dd> <dt>Company:</dt> - <dd class="pl-4">The company that the <mark>MODEL-NAME</mark> is associated with.</dd> + <dd class="ps-4">The company that the <mark>MODEL-NAME</mark> is associated with.</dd> <dt>State:</dt> - <dd class="pl-4">The current state of the <mark>MODEL-NAME</mark>.</dd> + <dd class="ps-4">The current state of the <mark>MODEL-NAME</mark>.</dd> </dl> </div> {% endblock main %} diff -r e21d651dc807 -r ee3db5afe81d templates/index.html --- a/templates/index.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/index.html Sun Aug 07 16:43:23 2022 +0200 @@ -12,24 +12,24 @@ {% endblock head %} {% block header %} {{ super() }} -<div id="carousel-header" class="carousel slide carousel-fade" data-ride="carousel"> +<div id="carousel-header" class="carousel slide carousel-fade" data-bs-ride="carousel"> <ol class="carousel-indicators"> - <li data-target="#carousel-header" data-slide-to="0" class="active"> + <li data-bs-target="#carousel-header" data-bs-slide-to="0" class="active"> <noscript> <label for="carousel-0"> </label> </noscript> </li> - <li data-target="#carousel-header" data-slide-to="1"> + <li data-bs-target="#carousel-header" data-bs-slide-to="1"> <noscript> <label for="carousel-1"> </label> </noscript> </li> - <li data-target="#carousel-header" data-slide-to="2"> + <li data-bs-target="#carousel-header" data-bs-slide-to="2"> <noscript> <label for="carousel-2"> </label> </noscript> </li> - <li data-target="#carousel-header" data-slide-to="3"> + <li data-bs-target="#carousel-header" data-bs-slide-to="3"> <noscript> <label for="carousel-3"> </label> </noscript> @@ -113,7 +113,7 @@ <section class="section bg-light text-center" id="features"> <div class="container"> <section class="section-header bg-light text-primary"> - <h2 class="pl-3 pr-3 text-uppercase">All you need to run your business</h2> + <h2 class="ps-3 pe-3 text-uppercase">All you need to run your business</h2> </section> <h3 class="lead"> {% include 'tryton-tm.html' %} includes all these features <strong>fully integrated</strong> @@ -246,7 +246,7 @@ <section class="section" id="news"> <div class="container"> <section class="section-header bg-white"> - <h3 class="pr-3 text-uppercase"><a href="{{ url_for('news') }}">News</a></h3> + <h3 class="pe-3 text-uppercase"><a href="{{ url_for('news') }}">News</a></h3> </section> <div class="row"> {% for item in news[:3] %} @@ -256,7 +256,7 @@ {{ item.description|news_text|truncate(240) }} </p> <div class="d-flex"> - <a class="btn btn-primary ml-auto" href="{{ item.link }}">More<span class="sr-only">on "{{ item.title }}"</span></a> + <a class="btn btn-primary ms-auto" href="{{ item.link }}">More<span class="visually-hidden">on "{{ item.title }}"</span></a> </div> </div> {% endfor %} @@ -283,7 +283,7 @@ If you are organizing an event around Tryton and want to be listed here, please send us an email </p> <div class="d-flex"> - <a class="btn btn-dark ml-auto" href="mailto:foundat...@tryton.org">Send</a> + <a class="btn btn-dark ms-auto" href="mailto:foundat...@tryton.org">Send</a> </div> </div> </div> @@ -304,8 +304,8 @@ </dl> </div> <div class="col-lg-2 d-flex flex-column justify-content-between"> - <a class="btn btn-outline-secondary" href="{{ url_for('events-ics') }}">Add<span class="sr-only"> to calendar</span></a> - <a class="btn btn-secondary" href="{{ url_for('events') }}">More<span class="sr-only"> events</span></a> + <a class="btn btn-outline-secondary" href="{{ url_for('events-ics') }}">Add<span class="visually-hidden"> to calendar</span></a> + <a class="btn btn-secondary" href="{{ url_for('events') }}">More<span class="visually-hidden"> events</span></a> </div> </div> </div> diff -r e21d651dc807 -r ee3db5afe81d templates/layout-toc.html --- a/templates/layout-toc.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/layout-toc.html Sun Aug 07 16:43:23 2022 +0200 @@ -3,7 +3,7 @@ <ul class="{{ klass }}"> {% for name, anchor, sub in toc %} <li class="nav-item"> - <a class="nav-link pl-3 py-1" href="#{{ anchor }}">{{ name }}</a> + <a class="nav-link ps-3 py-1" href="#{{ anchor }}">{{ name }}</a> {% if sub %} {{ nav(sub) }} {% endif %} @@ -18,7 +18,7 @@ {{ super() }} {% block toc %} <div class="d-none d-md-block col-md-2 order-2 sticky-top" style="top: 1rem; height: 100%;"> - {{ nav(toc, "nav flex-column border-left") }} + {{ nav(toc, "nav flex-column border-start") }} </div> {% endblock toc %} <main class="col-sm-12 col-md-8 offset-md-2 order-1"> diff -r e21d651dc807 -r ee3db5afe81d templates/layout.html --- a/templates/layout.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/layout.html Sun Aug 07 16:43:23 2022 +0200 @@ -65,8 +65,8 @@ <a class="navbar-brand" href="{{ url_for('index') }}"> <img class="img-fluid" src="{{ url_for('static', filename='images/tryton-black.png') }}" width="110" height="32" alt="Tryton Home"/> </a> - <a href="#content" class="sr-only sr-only-focusable">Skip to main content</a> - <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation"> + <a href="#content" class="visually-hidden visually-hidden-focusable">Skip to main content</a> + <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <noscript> @@ -76,11 +76,11 @@ </noscript> <input id="navbarButton" class="navbar-toggler d-none" aria-controls="navbarText" role="button" type="checkbox"/> <div class="collapse navbar-collapse" id="navbarText"> - <ul class="navbar-nav ml-auto"> + <ul class="navbar-nav ms-auto"> {% for title, items in menu.items() %} <li class="nav-item dropdown"> - <a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown" aria-haspopup="true">{{ title }}</a> - <div class="dropdown-menu dropdown-menu-right text-lg-right"> + <a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown" aria-haspopup="true">{{ title }}</a> + <div class="dropdown-menu dropdown-menu-end text-lg-end"> {% for item, url in items %} <a class="dropdown-item" href="{{ url }}">{{ item|safe }}</a> {% endfor %} @@ -147,7 +147,7 @@ </div> </div> <div class="offset-lg-1 col-md-5 col-lg-4"> - <div class="footer-right"> + <div class="footer-end"> <noscript class="loading-lazy"> <img class="img-fluid" src="{{ url_for('static', filename='images/tryton-white.png') }}" width="110" height="32" alt="Tryton" loading="lazy"/> </noscript> @@ -158,13 +158,13 @@ </p> <div class="socials"> <h2>Follow us</h2> - <a href="{{ url_for('news_rss') }}" class="mr-3">{{ icon('rss-box', 36) }}<span class="sr-only">RSS</span></a> - <a href="https://twitter.com/TrytonSoftware" target="_blank" rel="noopener" class="mr-3">{{ icon('twitter-box', 36) }}<span class="sr-only">Twitter</span></a> - <a href="https://fosstodon.org/@tryton" target="_blank" rel="noopener" class="mr-3">{{ icon('mastodon', 36) }}<span class="sr-only">Mastodon</span></a> - <a href="https://www.facebook.com/TrytonSoftware/" target="_blank" rel="noopener" class="mr-3">{{ icon('facebook-box', 36) }}<span class="sr-only">Facebook</span></a> - <a href="https://www.linkedin.com/groups/1313967" target="_blank" rel="noopener" class="mr-3">{{ icon('linkedin-box', 36) }}<span class="sr-only">LinkedIn</span></a> - <a href="https://www.youtube.com/c/TrytonSoftware" target="_blank" rel="noopener" class="mr-3">{{ icon('youtube', 36) }}<span class="sr-only">YouTube</span></a> - <a href="https://vimeo.com/groups/tryton" target="_blank" rel="noopener" class="mr-3">{{ icon('vimeo', 36) }}<span class="sr-only">Vimeo</span></a> + <a href="{{ url_for('news_rss') }}" class="me-3">{{ icon('rss-box', 36) }}<span class="visually-hidden">RSS</span></a> + <a href="https://twitter.com/TrytonSoftware" target="_blank" rel="noopener" class="me-3">{{ icon('twitter-box', 36) }}<span class="visually-hidden">Twitter</span></a> + <a href="https://fosstodon.org/@tryton" target="_blank" rel="noopener" class="me-3">{{ icon('mastodon', 36) }}<span class="visually-hidden">Mastodon</span></a> + <a href="https://www.facebook.com/TrytonSoftware/" target="_blank" rel="noopener" class="me-3">{{ icon('facebook-box', 36) }}<span class="visually-hidden">Facebook</span></a> + <a href="https://www.linkedin.com/groups/1313967" target="_blank" rel="noopener" class="me-3">{{ icon('linkedin-box', 36) }}<span class="visually-hidden">LinkedIn</span></a> + <a href="https://www.youtube.com/c/TrytonSoftware" target="_blank" rel="noopener" class="me-3">{{ icon('youtube', 36) }}<span class="visually-hidden">YouTube</span></a> + <a href="https://vimeo.com/groups/tryton" target="_blank" rel="noopener" class="me-3">{{ icon('vimeo', 36) }}<span class="visually-hidden">Vimeo</span></a> </div> </div> </div> @@ -175,7 +175,7 @@ <div class="container"> <div class="row"> <div class="col col-12 col-md-6">Contents © {{ copyright_dates }} Tryton <a href="https://creativecommons.org/licenses/by-sa/3.0/">CC BY-SA 3.0</a></div> - <div class="col col-12 col-md-6 text-md-right">Made with <a target="_blank" rel="noopener" href="https://www.palletsprojects.com/p/flask/">Flask</a> and delivered through <a target="_blank" rel="noopener" href="https://www.keycdn.com/?a=69381">KeyCDN</a></div> + <div class="col col-12 col-md-6 text-md-end">Made with <a target="_blank" rel="noopener" href="https://www.palletsprojects.com/p/flask/">Flask</a> and delivered through <a target="_blank" rel="noopener" href="https://www.keycdn.com/?a=69381">KeyCDN</a></div> </div> </div> </div> diff -r e21d651dc807 -r ee3db5afe81d templates/service_providers.html --- a/templates/service_providers.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/service_providers.html Sun Aug 07 16:43:23 2022 +0200 @@ -7,7 +7,7 @@ <div class="section bg-primary"> <div class="container"> <section class="section-header text-center text-white bg-primary mb1"> - <h1 class="pl-3 pr-3">{{ title }}</h1> + <h1 class="ps-3 pe-3">{{ title }}</h1> </section> <div id="map-card" class="d-none d-sm-block mx-auto col-md-6 card"> <div class="card-body"> diff -r e21d651dc807 -r ee3db5afe81d templates/service_providers_start.html --- a/templates/service_providers_start.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/service_providers_start.html Sun Aug 07 16:43:23 2022 +0200 @@ -37,7 +37,7 @@ <div class="card mb-5 shadow w-100"> <div class="card-body d-inline-flex"> - <div class="picto-container mr-3 d-none d-sm-flex"> + <div class="picto-container me-3 d-none d-sm-flex"> <div class="picto bg-dark text-white"> <span class="material-icons md-48">build</span> </div> @@ -54,7 +54,7 @@ <div class="card mb-5 shadow w-100"> <div class="card-body d-inline-flex"> - <div class="picto-container mr-3 d-none d-sm-flex"> + <div class="picto-container me-3 d-none d-sm-flex"> <div class="picto bg-dark text-white"> <span class="material-icons md-48">send</span> </div> @@ -71,7 +71,7 @@ <div class="card mb-5 shadow w-100"> <div class="card-body d-inline-flex"> - <div class="picto-container mr-3 d-none d-sm-flex"> + <div class="picto-container me-3 d-none d-sm-flex"> <div class="picto bg-dark text-white"> <span class="material-icons md-48">create</span> </div> @@ -88,7 +88,7 @@ <div class="card mb-5 shadow w-100"> <div class="card-body d-inline-flex"> - <div class="picto-container mr-3 d-none d-sm-flex"> + <div class="picto-container me-3 d-none d-sm-flex"> <div class="picto bg-dark text-white"> <span class="material-icons md-48">update</span> </div> diff -r e21d651dc807 -r ee3db5afe81d templates/success_stories/advocate-consulting-legal-group.html --- a/templates/success_stories/advocate-consulting-legal-group.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/success_stories/advocate-consulting-legal-group.html Sun Aug 07 16:43:23 2022 +0200 @@ -7,7 +7,7 @@ {% block customer %} {{ super() }} <noscript class="loading-lazy"> - <img src="{{ url_for('static', filename='images/success-stories/advocate-consulting-legal-group/advocate-consulting.jpg') }}" class="mx-4 float-left" alt="Advocate Consulting" loading="lazy"> + <img src="{{ url_for('static', filename='images/success-stories/advocate-consulting-legal-group/advocate-consulting.jpg') }}" class="mx-4 float-start" alt="Advocate Consulting" loading="lazy"> </noscript> <p class="lead"><a href="https://www.advocatetax.com/">Advocate Consulting Legal Group, PLLC</a>is a US-based law and accounting firm that services the general aviation industry. Advocate’s product goes by the slogan, "Aviation TLC," standing for "tax, legal, and compliance," which are areas of service that map onto the needs of customers in this unique industry.</p> diff -r e21d651dc807 -r ee3db5afe81d templates/success_stories/ammeba.html --- a/templates/success_stories/ammeba.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/success_stories/ammeba.html Sun Aug 07 16:43:23 2022 +0200 @@ -8,7 +8,7 @@ {{ super() }} <p class="lead"> <noscript class="loading-lazy"> - <img src="{{ url_for('static', filename='images/success-stories/ammeba/logo.jpg') }}" class="mr-2 float-left" alt="Ammeba logo" loading="lazy"> + <img src="{{ url_for('static', filename='images/success-stories/ammeba/logo.jpg') }}" class="me-2 float-start" alt="Ammeba logo" loading="lazy"> </noscript> <a href="http://ammeba.femeba.org.ar/">FEMEBA</a> is the Buenos Aires Medical Mutual Society. It's one of the largest medical groups in the country. They use an e-commerce platform to deliver services to their associates.</p> diff -r e21d651dc807 -r ee3db5afe81d templates/success_stories/camir.html --- a/templates/success_stories/camir.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/success_stories/camir.html Sun Aug 07 16:43:23 2022 +0200 @@ -8,7 +8,7 @@ {{ super() }} <p class="lead"> <noscript class="loading-lazy"> - <img src="{{ url_for('static', filename='images/success-stories/camir/warehouse1.jpg') }}" class="mx-auto my-4 d-block mx-md-4 my-md-0 float-md-left" alt="Zone C of CAMIR's warehouse" loading="lazy"> + <img src="{{ url_for('static', filename='images/success-stories/camir/warehouse1.jpg') }}" class="mx-auto my-4 d-block mx-md-4 my-md-0 float-md-start" alt="Zone C of CAMIR's warehouse" loading="lazy"> </noscript> <a href="https://www.camirperu.com/">CAMIR</a>, is a company whose main activities are the commercialization of industrial products and the manufacture of metal parts at the business to business level, one of its main clients is the largest brewery factory in Peru.</p> <p>It started operations in 1991 and is located in the JR. HELIO NRO. 5624 URB. INDUSTRIAL INFANTAS - LOS OLIVOS - LIMA - PERU.</p> @@ -35,7 +35,7 @@ From this we were able to work out what Tryton modules were needed to support all of the businesses processes.</p> <p> <noscript class="loading-lazy"> - <img src="{{ url_for('static', filename='images/success-stories/camir/warehouse2.jpg') }}" class="mx-auto my-4 d-block mx-md-4 my-md-0 float-md-right" alt="Zone B of CAMIR's warehouse" loading="lazy"> + <img src="{{ url_for('static', filename='images/success-stories/camir/warehouse2.jpg') }}" class="mx-auto my-4 d-block mx-md-4 my-md-0 float-md-end" alt="Zone B of CAMIR's warehouse" loading="lazy"> </noscript> The modules that were needed were the following:</p> <ul> diff -r e21d651dc807 -r ee3db5afe81d templates/success_stories/grufesa.html --- a/templates/success_stories/grufesa.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/success_stories/grufesa.html Sun Aug 07 16:43:23 2022 +0200 @@ -8,7 +8,7 @@ {{ super() }} <p class="lead"> <noscript class="loading-lazy"> - <img src="{{ url_for('static', filename='images/success-stories/grufesa/grufesa.jpg') }}" class="mx-4 float-right" alt="strawberries" loading="lazy"> + <img src="{{ url_for('static', filename='images/success-stories/grufesa/grufesa.jpg') }}" class="mx-4 float-end" alt="strawberries" loading="lazy"> </noscript> <a href="http://grufesa.com/">Grufesa SAT</a> is one of the biggest berry exporters in Europe. Over the last 35 years millions of people from across Europe, Russia and America have consumed strawberries they have produced. diff -r e21d651dc807 -r ee3db5afe81d templates/success_stories/koolvet.html --- a/templates/success_stories/koolvet.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/success_stories/koolvet.html Sun Aug 07 16:43:23 2022 +0200 @@ -8,7 +8,7 @@ {{ super() }} <p class="lead"> <noscript class="loading-lazy"> - <img src="{{ url_for('static', filename='images/success-stories/koolvet/cat.jpg') }}" class="mx-4 float-right" alt="cat with veterinary" loading="lazy"> + <img src="{{ url_for('static', filename='images/success-stories/koolvet/cat.jpg') }}" class="mx-4 float-end" alt="cat with veterinary" loading="lazy"> </noscript> <a href="https://www.koolvet.com/">Koolvet</a> is a young company based in Spain but expanding to South America. It offers veterinary software for the management of clinics, veterinary offices, universities and ambulant veterinarians. @@ -63,7 +63,7 @@ {{ super() }} <p> <noscript class="loading-lazy"> - <img src="{{ url_for('static', filename='images/success-stories/koolvet/results.jpg') }}" class="mx-4 float-left" alt="computer with koolvet software" loading="lazy"> + <img src="{{ url_for('static', filename='images/success-stories/koolvet/results.jpg') }}" class="mx-4 float-start" alt="computer with koolvet software" loading="lazy"> </noscript> Our customers are extremely happy with koolvet: They can access their information from anywhere using any device. All the team members always have easy access to information that is always up to date, and their processes have been streamlined making them simpler and less error prone. diff -r e21d651dc807 -r ee3db5afe81d templates/success_stories/mifarma.html --- a/templates/success_stories/mifarma.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/success_stories/mifarma.html Sun Aug 07 16:43:23 2022 +0200 @@ -8,7 +8,7 @@ {{ super() }} <p class="lead"> <noscript class="loading-lazy"> - <img src="{{ url_for('static', filename='images/success-stories/mifarma/mifarma.jpg') }}" class="mx-4 float-right" alt="online-parapharmacy" loading="lazy"> + <img src="{{ url_for('static', filename='images/success-stories/mifarma/mifarma.jpg') }}" class="mx-4 float-end" alt="online-parapharmacy" loading="lazy"> </noscript> <a href="https://www.mifarma.es/">Mifarma</a> is one of the most important parapharmacies in Europe and currently is the market leader in Spain. It is part of the Atida Group and it also has a presence in other countries such as Portugal, Italy, France, the United Kingdom, Germany and the Netherlands. diff -r e21d651dc807 -r ee3db5afe81d templates/success_stories/revelle.html --- a/templates/success_stories/revelle.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/success_stories/revelle.html Sun Aug 07 16:43:23 2022 +0200 @@ -8,7 +8,7 @@ {{ super() }} <p class="lead"> <noscript class="loading-lazy"> - <img src="{{ url_for('static', filename='images/success-stories/revelle/office.jpg') }}" class="ml-2 float-right" alt="Revelle's office" loading="lazy"> + <img src="{{ url_for('static', filename='images/success-stories/revelle/office.jpg') }}" class="ms-2 float-end" alt="Revelle's office" loading="lazy"> </noscript> <a href="http://www.revellegroup.com/">Revelle Group</a> is a Belgium-based consulting company working in developing countries and emerging economies in three key sectors: energy and climate change; environment; and sustainable economic and social development.</p> {% endblock customer %} diff -r e21d651dc807 -r ee3db5afe81d templates/success_stories/wenger-energie.html --- a/templates/success_stories/wenger-energie.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/success_stories/wenger-energie.html Sun Aug 07 16:43:23 2022 +0200 @@ -46,7 +46,7 @@ {% block results %} {{ super() }} <noscript class="loading-lazy"> - <img src="{{ url_for('static', filename='images/success-stories/wenger-energie/system.jpg') }}" class="mx-4 float-right" alt="Employee with thumb up" loading="lazy"> + <img src="{{ url_for('static', filename='images/success-stories/wenger-energie/system.jpg') }}" class="mx-4 float-end" alt="Employee with thumb up" loading="lazy"> </noscript> <p>Two years after implementation the big question to the employees was</p> <blockquote class="blockquote"> diff -r e21d651dc807 -r ee3db5afe81d templates/utils.html --- a/templates/utils.html Sun Jul 24 12:09:32 2022 +0200 +++ b/templates/utils.html Sun Aug 07 16:43:23 2022 +0200 @@ -48,9 +48,7 @@ <h2 class="h5 card-title">{{ case.title }}</h2> <p class="card-text">{{ case.description }}</p> </div> - <div class="card-footer text-center"> - <a href="{{ case.url }}" class="btn btn-primary btn-block {{ 'disabled' if not case.url else '' }}" {% if not case.url %}aria-disabled="true"{% endif %}>More<span class="sr-only">on {{ case.title }}</span></a> - </div> + <a href="{{ case.url }}" class="card-footer btn stretched-link {{ 'disabled' if not case.url else '' }}" {% if not case.url %}aria-disabled="true"{% endif %}>More<span class="visually-hidden">on {{ case.title }}</span></a> </div> {% endmacro %}