From 78837d60930d504e7b6a3d1fd61ddd5a2cf31f03 Mon Sep 17 00:00:00 2001 From: Arnesh Date: Sun, 20 Sep 2026 13:31:42 +0530 Subject: [PATCH] Fix HTML validation errors in the templates The generated pages reported errors on the W3C validator: - base.html: a stray quote in the Online Shell nav item, an unclosed "Follow Us" heading, and an unescaped "|" in the Google Fonts URL - features.html: nine stray "" end tags in the cryptography list - support.html, development.html, roadmap.html: lists wrapped in

- download.html, shell.html:

 wrapped in 

- donate.html: unclosed

- roadmap.html:

closed with

- development.html, roadmap.html: sidebar card reused id="about" - shell.html: empty iframe src and non-integer width/height - index.html: unescaped "&" in a link features.html also had "" inside a translatable string, and the Dutch translation dropped it, which left the link open on the Dutch page. The tag now sits in the template. All 81 generated pages now parse with no errors. Fixes #42 --- i18n/es.mo | Bin 41522 -> 41483 bytes i18n/es.po | 32 ++++++++++++++++++++++---------- templates/base.html | 6 +++--- templates/development.html | 26 +++++++++++++------------- templates/donate.html | 1 + templates/download.html | 6 +++--- templates/features.html | 20 ++++++++++---------- templates/index.html | 2 +- templates/roadmap.html | 16 +++++++++++----- templates/shell.html | 23 ++++++++++++----------- templates/support.html | 32 ++++++++++++++------------------ 11 files changed, 90 insertions(+), 74 deletions(-) diff --git a/i18n/es.mo b/i18n/es.mo index 4ff6cc618c841d30aa930b42ac4613ea95d1e5c3..5fbe569bcae3b1d233e3ef2c278dac0cb9c484ef 100644 GIT binary patch delta 6346 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 delta 6416 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 Q(}wtx_cqKaS+%j~e+1uJ)Bpeg diff --git a/i18n/es.po b/i18n/es.po index 6457294d..cc677cfb 100644 --- a/i18n/es.po +++ b/i18n/es.po @@ -1585,18 +1585,30 @@ msgstr "Mejoras generales" #: templates/roadmap.html:113 msgid "" "Aside from the above specific items, we are always aiming to\n" -" improve SymPy in many ways. This includes things like
  • fixing " -"bugs
  • better\n" -" documentation
  • improved development tooling
  • new features
  • better\n" -" community outreach
" +" improve SymPy in many ways. This includes things like" msgstr "" "Además de los aspectos específicos anteriores, siempre\n" -" apuntamos a mejorar SymPy de muchas maneras. Esto incluye cosas como " -"
  • corregir bugs
  • \n" -"
  • mejor documentación
  • herramientas de desarrollo mejoradas
  • nuevas funcionalidades\n" -"
  • mayor acercamiento a la comunidad
" +" apuntamos a mejorar SymPy de muchas maneras. Esto incluye cosas como" + +#: templates/roadmap.html:117 +msgid "fixing bugs" +msgstr "corregir bugs" + +#: templates/roadmap.html:118 +msgid "better documentation" +msgstr "mejor documentación" + +#: templates/roadmap.html:119 +msgid "improved development tooling" +msgstr "herramientas de desarrollo mejoradas" + +#: templates/roadmap.html:120 +msgid "new features" +msgstr "nuevas funcionalidades" + +#: templates/roadmap.html:121 +msgid "better community outreach" +msgstr "mayor acercamiento a la comunidad" #: templates/support.html:8 msgid "General" diff --git a/templates/base.html b/templates/base.html index 863c7e46..dbdab58e 100644 --- a/templates/base.html +++ b/templates/base.html @@ -10,7 +10,7 @@ - + @@ -36,7 +36,7 @@

SymP
           <li class={% trans %}Development{% endtrans %}
  • {% trans %}Roadmap{% endtrans %}
  • -
  • {% trans %}Online Shell{% endtrans %}
  • +
  • {% trans %}Online Shell{% endtrans %}
  • {% endblock %} @@ -81,7 +81,7 @@

    {% trans %}Quick Links{% endtrans %}

    diff --git a/templates/download.html b/templates/download.html index e4b2e519..49fdf308 100644 --- a/templates/download.html +++ b/templates/download.html @@ -19,10 +19,10 @@

    {% trans %}Git Version{% endtrans %}

    {% trans %}Main git repository{% endtrans %}: -

    -      git clone git://github.com/sympy/sympy.git
    -    

    +
    +      git clone git://github.com/sympy/sympy.git
    +  

    {% trans %}Browse online{% endtrans %}: github.com/sympy/sympy diff --git a/templates/features.html b/templates/features.html index 534944c5..ea29ae7d 100644 --- a/templates/features.html +++ b/templates/features.html @@ -14,7 +14,7 @@

    {% trans %}Core capabilities{% endtrans %}

  • {% trans %}Basic arithmetic:{% endtrans %} {% trans %}Support for operators such as +, -, *, /, ** (power){% endtrans %}
  • {% trans %}Simplification{% endtrans %} - {% trans %}Trigonometry{% endtrans %}, {% trans %}Polynomials{% endtrans %}
  • + {% trans %}Trigonometry{% endtrans %}, {% trans %}Polynomials{% endtrans %}
  • {% trans %}Expansion:{% endtrans %} {% trans %} of a polynomial {% endtrans %}
  • @@ -292,15 +292,15 @@

    {% trans %}Cryptography{% endtrans %}

    {% trans %}Documentation{% endtrans %}

    • {% trans %}Shift cipher{% endtrans %}
    • -
    • {% trans %}Affine cipher{% endtrans %}
    • -
    • {% trans %}Bifid ciphers{% endtrans %}
    • -
    • {% trans %}Vigenere’s cipher{% endtrans %}
    • -
    • {% trans %}Substitution ciphers{% endtrans %}
    • -
    • {% trans %}Hill’s cipher{% endtrans %}
    • -
    • {% trans %}RSA{% endtrans %}
    • -
    • {% trans %}Kid RSA{% endtrans %}
    • -
    • {% trans %}Linear feedback shift registers{% endtrans %}
    • -
    • {% trans %}ElGamal encryption{% endtrans %}
    • +
    • {% trans %}Affine cipher{% endtrans %}
    • +
    • {% trans %}Bifid ciphers{% endtrans %}
    • +
    • {% trans %}Vigenere’s cipher{% endtrans %}
    • +
    • {% trans %}Substitution ciphers{% endtrans %}
    • +
    • {% trans %}Hill’s cipher{% endtrans %}
    • +
    • {% trans %}RSA{% endtrans %}
    • +
    • {% trans %}Kid RSA{% endtrans %}
    • +
    • {% trans %}Linear feedback shift registers{% endtrans %}
    • +
    • {% trans %}ElGamal encryption{% endtrans %}
    diff --git a/templates/index.html b/templates/index.html index 727a3db9..adc6f29d 100644 --- a/templates/index.html +++ b/templates/index.html @@ -120,7 +120,7 @@

    {% trans %}Projects using SymPy{% endtrans %}

    {% trans %}QMCPACK{% endtrans %}: {% trans %} Quantum Monte Carlo in C++. Sympy is used to generate reference values for unit tests and some code generation.{% endtrans%} -
  • +
  • {% trans %}Quantum Programming in Python{% endtrans %}: {% trans %} Quantum 1D Simple Harmonic Oscillator and Quantum Mapping Gate. {% endtrans%} diff --git a/templates/roadmap.html b/templates/roadmap.html index 0ae2d7c9..c3048cce 100644 --- a/templates/roadmap.html +++ b/templates/roadmap.html @@ -5,13 +5,14 @@ {% block content %} -

    {% trans %}Roadmap{% endtrans %}

    +

    {% trans %}Roadmap{% endtrans %}

    {% trans %}Broadly speaking, any form of purely symbolic mathematical computation is in scope for SymPy. However, there are a few things we plan to focus our development efforts on.{% endtrans %}

    +

    {% trans %}The Assumptions System{% endtrans %}

    @@ -111,10 +112,15 @@

    {% trans %}General Improvements{% endtrans %}

    {% trans %}Aside from the above specific items, we are always aiming to - improve SymPy in many ways. This includes things like

    • fixing bugs
    • better - documentation
    • improved development tooling
    • new features
    • better - community outreach
    {% endtrans %} + improve SymPy in many ways. This includes things like{% endtrans %}:

    +
      +
    • {% trans %}fixing bugs{% endtrans %}
    • +
    • {% trans %}better documentation{% endtrans %}
    • +
    • {% trans %}improved development tooling{% endtrans %}
    • +
    • {% trans %}new features{% endtrans %}
    • +
    • {% trans %}better community outreach{% endtrans %}
    • +
    {% endblock %} @@ -122,7 +128,7 @@

    {% trans %}General Improvements{% endtrans %}

    {% block sidebarextra %} -