Repository: zestedesavoir/zds-site

Issue:
La comparaison des versions a perdu sa sidebar
## Étapes pour reproduire 

- prenez un tuto avec plusieurs éditions
- cliquer sur "comparer les versions"
- sélectionner deux versions

**Comportement observé**

la sidebar n'apparaît pas dans la page de comparaison des versions

**Comportement désiré**

La sidebar est là.


Discussion:
Je viens de regarder un peu ce bug... Et il semblerait que ce ne soit pas un bug ! En effet, c'est explicitement mis dans le code de la vue de ne pas mettre de sidebar: https://github.com/zestedesavoir/zds-site/blob/cb0eb357dc0d768f117512e41bbedf79dc3d7e65/templates/tutorialv2/view/diff.html#L22-L24

Ça a été introduit par le commit: https://github.com/zestedesavoir/zds-site/commit/03aa9be6e49e

Ça peut en effet paraître pertinent de ne pas mettre de sidebar sur cette page, puisque hormis qu'il n'y ait pas vraiment d'actions à proposer, il peut être pratique d'avoir de la largeur disponible pour afficher le diff...

C'était une question de place, aussi : le diff en deux colonnes ne rentre
pas avec sidebar.

On Sat, Mar 2, 2019, 18:46 Ph. SW. <notifications@github.com> wrote:

> Je viens de regarder un peu ce bug... Et il semblerait que ce ne soit pas
> un bug ! En effet, c'est explicitement mis dans le code de la vue de ne pas
> mettre de sidebar:
> https://github.com/zestedesavoir/zds-site/blob/cb0eb357dc0d768f117512e41bbedf79dc3d7e65/templates/tutorialv2/view/diff.html#L22-L24
>
> Ça a été introduit par le commit: 03aa9be
> <https://github.com/zestedesavoir/zds-site/commit/03aa9be6e49e>
>
> Ça peut en effet paraître pertinent de ne pas mettre de sidebar sur cette
> page, puisque hormis qu'il n'y ait pas vraiment d'actions à proposer, il
> peut être pratique d'avoir de la largeur disponible pour afficher le diff...
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub
> <https://github.com/zestedesavoir/zds-site/issues/5273#issuecomment-468942820>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AHhjCzWVR6BNGEBI2qUOglgd3Qvv1H4Kks5vSrjegaJpZM4a2PJE>
> .
>

Ca serait bizarre de forcer la sidebar mobile ?
Ok donc si c,st volontaire on peut transformer le bug en : 

- mettre un lien pour retourner à la rédaction du contenu
- faire en sorte que le diff prenne tout l'espace dispo. 

ça vous va?

oui autant pousser l'idée complétement en utilisant toute la largeur de l'écran

Resolving patch:
diff --git a/zds/utils/templatetags/htmldiff.py b/zds/utils/templatetags/htmldiff.py
--- a/zds/utils/templatetags/htmldiff.py
+++ b/zds/utils/templatetags/htmldiff.py
@@ -22,10 +22,12 @@ def htmldiff(string1, string2):
     except AttributeError:
         txt2 = string2.splitlines()
 
-    diff = HtmlDiff(tabsize=4, wrapcolumn=80)
+    diff = HtmlDiff(tabsize=4)
     result = diff.make_table(txt1, txt2, context=True, numlines=2)
 
     if 'No Differences Found' in result:
         return format_html('<p>{}</p>', _('Pas de changements.'))
     else:
-        return format_html('<div class="diff_delta">{}</div>', mark_safe(result))
+        # the diff.make_table() replaces all spaces by non-breakable ones, which prevent line breaks:
+        r = mark_safe(result.replace('<td nowrap="nowrap">', '<td>').replace('&nbsp;', ' '))
+        return format_html('<div class="diff_delta">{}</div>', r)


Test patch: