Browse Source

Widont: exhaustivity of inline tags and punctuation

master
David Larlet 11 months ago
parent
commit
60e1eaa40c
6 changed files with 66 additions and 29 deletions
  1. 2
    2
      david/2022/01/19/index.html
  2. 4
    4
      david/2022/02/17/index.html
  3. 4
    4
      david/2022/03/04/index.html
  4. 11
    11
      david/log/index.xml
  5. 11
    6
      test_widont.py
  6. 34
    2
      widont.py

+ 2
- 2
david/2022/01/19/index.html View File

@@ -71,7 +71,7 @@

<blockquote>
<p>Les générations qui sont nées après 1973, celles qui ont grandi à l’ère de «&nbsp;la crise&nbsp;» perpétuelle, ont intériorisé, l’une après l’autre, l’idée que chacune vivrait globalement moins bien que la précédente. <mark>Elles ont réappris à avoir peur.</mark> Un retournement historique qui pourrait aussi se lire comme une sorte de psychothérapie de groupe, une rééducation de masse à la «&nbsp;tolérance à la&nbsp;frustration&nbsp;».</p>
<p><cite><em>La société ingouvernable</em>, Grégoire Chamayou</cite></p>
<p><cite><em>La société ingouvernable</em>, Grégoire&nbsp;Chamayou</cite></p>
</blockquote>
<p>Cela fait bientôt deux années que le monde (occidental) aspire à être négatif. À passer entre les gouttes. À fuir son prochain. Ça laisse des traces. Profondes.</p>
<p>Il y a la peur. Celle de faire une forme grave ou longue. Celle de la transmettre aux personnes, forcément proches. Celle de croiser le mauvais mutant, celui de trop. Celle de se&nbsp;déshumaniser.</p>
@@ -111,7 +111,7 @@

<blockquote>
<p>✍️ Établir une réflexion en sciences humaines et sociales aujourd’hui signifie <mark>comprendre et manipuler des outils d’écriture numérique</mark>. Il est nécessaire de proposer des formations dans les institutions de savoir pour former les chercheur·e·s en sciences humaines aux théories et pratiques&nbsp;numériques.</p>
<p><cite><em><a href="https://debugue.ecrituresnumeriques.ca/">Débugue tes humanités</a></em></cite></p>
<p><cite><em><a href="https://debugue.ecrituresnumeriques.ca/">Débugue tes&nbsp;humanités</a></em></cite></p>
</blockquote>

<blockquote>

+ 4
- 4
david/2022/02/17/index.html View File

@@ -73,7 +73,7 @@
<p>Dans l’un de mes carnets de voyage, j’écris ces lignes&nbsp;: «&nbsp;Je vois la civilisation comme une feuille qui vient de se détacher de sa branche. Elle virevolte, elle croit voler, elle se croit libre, affranchie de son socle. Puis elle s’écrase sur le sol et s’aperçoit que <mark>depuis tout ce temps, elle était déjà morte.</mark>&nbsp;»</p>
<p>Je finis par être convaincu que l’humanité fonce droit dans le mur, emportant avec elle une immense partie du vivant. Prendre la mesure de la catastrophe, à savoir que le monde est en train de mourir, m’a tout d’abord assommé, puis désespéré, et puis finalement ça m’a remis en capacité d’agir. Les seuls moments où je parviens à m’apaiser sont ceux passés en&nbsp;expédition.</p>
<p>Alors je repars encore et&nbsp;encore.</p>
<p><cite><em>Comment survivre à l’attaque d’un ours et autres aventures</em>, Eliott Schonfeld</cite></p>
<p><cite><em>Comment survivre à l’attaque d’un ours et autres aventures</em>, Eliott&nbsp;Schonfeld</cite></p>
</blockquote>
<p>J’aime bien me rendre compte d’à quel point l’envie décroit avec le temps. Si je n’écris pas mon cheminement (de pensées) dans la foulée d’une sortie en forêt, je sais que ça n’aura pas lieu. Les émotions du moment s’évanouissent, les anecdotes deviennent fades, les réflexions se noircissent ou se teintent d’une sur-interprétation. Comme si elles n’étaient plus… <em>en vie</em>.</p>
<hr />
@@ -115,7 +115,7 @@
</blockquote>

<blockquote lang="en">
<p>👅 Buy it now, it’ll arrive at your door on a bike or a drone or robo-courier in 30&nbsp;minutes or less, this is good, you want your dinner, <mark>one-lick purchase</mark>,&nbsp;boom.</p>
<p>👅 Buy it now, it’ll arrive at your door on a bike or a drone or robo-courier in 30&nbsp;minutes or less, this is good, you want your dinner, <mark>one-lick purchase</mark>, boom.</p>
<p><cite><em><a href="https://interconnected.org/home/2022/01/24/meme_meals">Who can be the Netflix of ghost kitchens?</a></em>&nbsp;(<a href="/david/cache/2022/622620656409b4f687cab890288a0a01/">cache</a>)</cite></p>
</blockquote>

@@ -126,7 +126,7 @@

<blockquote lang="en">
<p>💅 A redesigned user interface for&nbsp;Wikipedia</p>
<p><cite><em><a href="https://www.modernwiki.app/">Modern for Wikipedia</a></em></cite></p>
<p><cite><em><a href="https://www.modernwiki.app/">Modern for&nbsp;Wikipedia</a></em></cite></p>
</blockquote>

<blockquote>
@@ -146,7 +146,7 @@

<blockquote>
<p>🎥 Le principe&nbsp;: nous achetons les droits sur des films de cinéma sélectionnés parmi les meilleurs documentaires d’auteurs venant juste de finir leur exploitation en salles de cinéma. Nous vous les proposons et <mark>vous organisez votre festival à domicile.</mark> Des rencontres avec les auteur.e.s sont accessibles à tou.te.s par&nbsp;visio-conférence.</p>
<p><cite><em><a href="https://tenkchezlhabitant.fr/">Tënk chez l’Habitant</a></em></cite></p>
<p><cite><em><a href="https://tenkchezlhabitant.fr/">Tënk chez&nbsp;l’Habitant</a></em></cite></p>
</blockquote>

<blockquote lang="en">

+ 4
- 4
david/2022/03/04/index.html View File

@@ -73,12 +73,12 @@
<p>J’ai eu le temps, durant toutes ces années d’errances convenues, de sentir à quel point plus c’est sauvage et plus c’est vrai. Je ne peux me défaire de ce que l’expérience de la nature a laissé&nbsp;: dans l’abandon du sauvage, on perd toute possibilité de liberté. J’ai toujours marché librement dans les forêts, fort de ce constat que la beauté est l’expression parfaite du sauvage pour la nature, et de la liberté pour&nbsp;l’homme.</p>
<p>L’ambition est peut-être énorme que de vouloir vivre derrière l’ours en naturaliste éperdu, mais rien ne peut m’interdire d’être libre sous les étoiles, nul ne peut m’empêcher d’être entier consacré à cette errance naturelle. Partout où je marche longtemps, partout où je m’attarde un peu, l’acte libérateur est toujours un acte de présence au chemin, pourvu qu’il me conduise là où d’autres ne vont pas. […]</p>
<p>Cet exact moment de solitude n’est pas un retranchement, mais un&nbsp;rapprochement.</p>
<p><cite><em>Dans les forêts de l’ours</em>, Rémi Huot</cite></p>
<p><cite><em>Dans les forêts de l’ours</em>, Rémi&nbsp;Huot</cite></p>
</blockquote>
<p>Perdre du poids <a href="/david/2021/12/06/">de manière saisonnière</a> est assez difficile, surtout lorsque l’hiver s’éternise (insérer ici un mème de Merry et Pippin qui demandent si vous êtes au courant du 3<sup>e</sup> hiver québécois…). Il s’agit principalement de combiner une hausse d’activité sportive à une réduction/adaptation de l’alimentation. <em>Facile en&nbsp;théorie.</em></p>
<p>Je vous livre ma principale astuce avant d’en faire un TED&nbsp;talk ou un article pour Flow magazine&nbsp;: <strong>se brosser les dents après chaque ingestion d’aliment.</strong> Dans mon cas particulier, j’applique la règle pour <em>chaque</em> carreau de chocolat. Mine de rien lorsqu’il y a plusieurs minutes en jeu, à répétition, ça donne beaucoup moins envie de grignoter. <em>Facile en&nbsp;pratique.</em></p>
<hr />
<p>C’est la guerre. Alors je suis allé randonner à skis. Fort. Loin. Oublier. Accepter. Se perdre. Dans des pensées étranges, entre misanthropie et incompréhension. Je ne comprends pas cette idée de nation, encore moins de nationalisme. Et j’appréhende une telle déception si j’arrivais finalement à comprendre que je m’y refuse. Ce concept peut-il mourir avec suffisamment de personnes&#8239;?&nbsp;Combien&#8239;?</p>
<p>C’est la guerre. Alors je suis allé randonner à skis. Fort. Loin. Oublier. Accepter. Se perdre. Dans des pensées étranges, entre misanthropie et incompréhension. Je ne comprends pas cette idée de nation, encore moins de nationalisme. Et j’appréhende une telle déception si j’arrivais finalement à comprendre que je m’y refuse. Ce concept peut-il mourir avec suffisamment de personnes&#8239;? Combien&#8239;?</p>
<hr />
<p>Les cavaliers de l’apocalypse galopent, on ne sait plus s’ils courent après le capitalisme ou fuient la crise climatique qui s’en vient. Probablement un peu des deux, et on leur donne trop de foin, pas assez de soin. En attendant, <a href="https://www.bedetheque.com/serie-34387-BD-Cavaliers-de-l-apocadispe.html">on se marre bien</a> en famille. Et c’est déjà&nbsp;ça.</p>
<hr />
@@ -155,7 +155,7 @@ We feared and hated what is&nbsp;here.</p>

<blockquote lang="en">
<p>🎲 I made this game so I can improve my daughter’s ability to read and debug code. Each card has something interesting to teach. The game is simple, pick a card, read the code, throw a 20&nbsp;sided dice (wherever you see the ⚂ symbol) to get a value and evaluate the code together with your&nbsp;kid.</p>
<p><cite><em><a href="https://punkjazz.org/programming-time/">Programming time</a></em></cite></p>
<p><cite><em><a href="https://punkjazz.org/programming-time/">Programming&nbsp;time</a></em></cite></p>
</blockquote>

<blockquote lang="en">
@@ -180,7 +180,7 @@ We feared and hated what is&nbsp;here.</p>

<blockquote lang="en">
<p>💩 According to Farley, one song that contains only the word “poop” repeated over and over generates $500&nbsp;in streaming revenue every month as of 2018, likely in part because children request it from Alexa or other&nbsp;devices.</p>
<p><cite><a href="https://en.wikipedia.org/wiki/Matt_Farley">Matt Farley</a>, sur Wikipedia</cite></p>
<p><cite><a href="https://en.wikipedia.org/wiki/Matt_Farley">Matt Farley</a>, sur&nbsp;Wikipedia</cite></p>
</blockquote>

<blockquote lang="en">

+ 11
- 11
david/log/index.xml View File

@@ -6,7 +6,7 @@
<link href="https://larlet.fr/david/" rel="alternate" type="text/html" />
<link href="https://larlet.fr/david/log/" rel="self" />
<id>https://larlet.fr/david/</id>
<updated>2022-03-04T12:00:00+01:00</updated>
<updated>2022-03-05T12:00:00+01:00</updated>
<author>
<name>David Larlet</name>
<uri>https://larlet.fr/david/</uri>
@@ -24,12 +24,12 @@
&lt;p&gt;J’ai eu le temps, durant toutes ces années d’errances convenues, de sentir à quel point plus c’est sauvage et plus c’est vrai. Je ne peux me défaire de ce que l’expérience de la nature a laissé&amp;nbsp;: dans l’abandon du sauvage, on perd toute possibilité de liberté. J’ai toujours marché librement dans les forêts, fort de ce constat que la beauté est l’expression parfaite du sauvage pour la nature, et de la liberté pour&amp;nbsp;l’homme.&lt;/p&gt;
&lt;p&gt;L’ambition est peut-être énorme que de vouloir vivre derrière l’ours en naturaliste éperdu, mais rien ne peut m’interdire d’être libre sous les étoiles, nul ne peut m’empêcher d’être entier consacré à cette errance naturelle. Partout où je marche longtemps, partout où je m’attarde un peu, l’acte libérateur est toujours un acte de présence au chemin, pourvu qu’il me conduise là où d’autres ne vont pas. […]&lt;/p&gt;
&lt;p&gt;Cet exact moment de solitude n’est pas un retranchement, mais un&amp;nbsp;rapprochement.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;Dans les forêts de l’ours&lt;/em&gt;, Rémi Huot&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;Dans les forêts de l’ours&lt;/em&gt;, Rémi&amp;nbsp;Huot&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Perdre du poids &lt;a href=&quot;https://larlet.fr/david/2021/12/06/&quot;&gt;de manière saisonnière&lt;/a&gt; est assez difficile, surtout lorsque l’hiver s’éternise (insérer ici un mème de Merry et Pippin qui demandent si vous êtes au courant du 3&lt;sup&gt;e&lt;/sup&gt; hiver québécois…). Il s’agit principalement de combiner une hausse d’activité sportive à une réduction/adaptation de l’alimentation. &lt;em&gt;Facile en&amp;nbsp;théorie.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Je vous livre ma principale astuce avant d’en faire un TED&amp;nbsp;talk ou un article pour Flow magazine&amp;nbsp;: &lt;strong&gt;se brosser les dents après chaque ingestion d’aliment.&lt;/strong&gt; Dans mon cas particulier, j’applique la règle pour &lt;em&gt;chaque&lt;/em&gt; carreau de chocolat. Mine de rien lorsqu’il y a plusieurs minutes en jeu, à répétition, ça donne beaucoup moins envie de grignoter. &lt;em&gt;Facile en&amp;nbsp;pratique.&lt;/em&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;C’est la guerre. Alors je suis allé randonner à skis. Fort. Loin. Oublier. Accepter. Se perdre. Dans des pensées étranges, entre misanthropie et incompréhension. Je ne comprends pas cette idée de nation, encore moins de nationalisme. Et j’appréhende une telle déception si j’arrivais finalement à comprendre que je m’y refuse. Ce concept peut-il mourir avec suffisamment de personnes&amp;#8239;?&amp;nbsp;Combien&amp;#8239;?&lt;/p&gt;
&lt;p&gt;C’est la guerre. Alors je suis allé randonner à skis. Fort. Loin. Oublier. Accepter. Se perdre. Dans des pensées étranges, entre misanthropie et incompréhension. Je ne comprends pas cette idée de nation, encore moins de nationalisme. Et j’appréhende une telle déception si j’arrivais finalement à comprendre que je m’y refuse. Ce concept peut-il mourir avec suffisamment de personnes&amp;#8239;? Combien&amp;#8239;?&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Les cavaliers de l’apocalypse galopent, on ne sait plus s’ils courent après le capitalisme ou fuient la crise climatique qui s’en vient. Probablement un peu des deux, et on leur donne trop de foin, pas assez de soin. En attendant, &lt;a href=&quot;https://www.bedetheque.com/serie-34387-BD-Cavaliers-de-l-apocadispe.html&quot;&gt;on se marre bien&lt;/a&gt; en famille. Et c’est déjà&amp;nbsp;ça.&lt;/p&gt;
&lt;hr /&gt;
@@ -107,7 +107,7 @@ We feared and hated what is&amp;nbsp;here.&lt;/p&gt;

&lt;blockquote lang=&quot;en&quot;&gt;
&lt;p&gt;🎲 I made this game so I can improve my daughter’s ability to read and debug code. Each card has something interesting to teach. The game is simple, pick a card, read the code, throw a 20&amp;nbsp;sided dice (wherever you see the ⚂ symbol) to get a value and evaluate the code together with your&amp;nbsp;kid.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://punkjazz.org/programming-time/&quot;&gt;Programming time&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://punkjazz.org/programming-time/&quot;&gt;Programming&amp;nbsp;time&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote lang=&quot;en&quot;&gt;
@@ -132,7 +132,7 @@ We feared and hated what is&amp;nbsp;here.&lt;/p&gt;

&lt;blockquote lang=&quot;en&quot;&gt;
&lt;p&gt;💩 According to Farley, one song that contains only the word “poop” repeated over and over generates $500&amp;nbsp;in streaming revenue every month as of 2018, likely in part because children request it from Alexa or other&amp;nbsp;devices.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Matt_Farley&quot;&gt;Matt Farley&lt;/a&gt;, sur Wikipedia&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Matt_Farley&quot;&gt;Matt Farley&lt;/a&gt;, sur&amp;nbsp;Wikipedia&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote lang=&quot;en&quot;&gt;
@@ -187,7 +187,7 @@ We feared and hated what is&amp;nbsp;here.&lt;/p&gt;
&lt;p&gt;Dans l’un de mes carnets de voyage, j’écris ces lignes&amp;nbsp;: «&amp;nbsp;Je vois la civilisation comme une feuille qui vient de se détacher de sa branche. Elle virevolte, elle croit voler, elle se croit libre, affranchie de son socle. Puis elle s’écrase sur le sol et s’aperçoit que &lt;mark&gt;depuis tout ce temps, elle était déjà morte.&lt;/mark&gt;&amp;nbsp;»&lt;/p&gt;
&lt;p&gt;Je finis par être convaincu que l’humanité fonce droit dans le mur, emportant avec elle une immense partie du vivant. Prendre la mesure de la catastrophe, à savoir que le monde est en train de mourir, m’a tout d’abord assommé, puis désespéré, et puis finalement ça m’a remis en capacité d’agir. Les seuls moments où je parviens à m’apaiser sont ceux passés en&amp;nbsp;expédition.&lt;/p&gt;
&lt;p&gt;Alors je repars encore et&amp;nbsp;encore.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;Comment survivre à l’attaque d’un ours et autres aventures&lt;/em&gt;, Eliott Schonfeld&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;Comment survivre à l’attaque d’un ours et autres aventures&lt;/em&gt;, Eliott&amp;nbsp;Schonfeld&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;J’aime bien me rendre compte d’à quel point l’envie décroit avec le temps. Si je n’écris pas mon cheminement (de pensées) dans la foulée d’une sortie en forêt, je sais que ça n’aura pas lieu. Les émotions du moment s’évanouissent, les anecdotes deviennent fades, les réflexions se noircissent ou se teintent d’une sur-interprétation. Comme si elles n’étaient plus… &lt;em&gt;en vie&lt;/em&gt;.&lt;/p&gt;
&lt;hr /&gt;
@@ -230,7 +230,7 @@ We feared and hated what is&amp;nbsp;here.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote lang=&quot;en&quot;&gt;
&lt;p&gt;👅 Buy it now, it’ll arrive at your door on a bike or a drone or robo-courier in 30&amp;nbsp;minutes or less, this is good, you want your dinner, &lt;mark&gt;one-lick purchase&lt;/mark&gt;,&amp;nbsp;boom.&lt;/p&gt;
&lt;p&gt;👅 Buy it now, it’ll arrive at your door on a bike or a drone or robo-courier in 30&amp;nbsp;minutes or less, this is good, you want your dinner, &lt;mark&gt;one-lick purchase&lt;/mark&gt;, boom.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://interconnected.org/home/2022/01/24/meme_meals&quot;&gt;Who can be the Netflix of ghost kitchens?&lt;/a&gt;&lt;/em&gt;&amp;nbsp;(&lt;a href=&quot;https://larlet.fr/david/cache/2022/622620656409b4f687cab890288a0a01/&quot;&gt;cache&lt;/a&gt;)&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;

@@ -241,7 +241,7 @@ We feared and hated what is&amp;nbsp;here.&lt;/p&gt;

&lt;blockquote lang=&quot;en&quot;&gt;
&lt;p&gt;💅 A redesigned user interface for&amp;nbsp;Wikipedia&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://www.modernwiki.app/&quot;&gt;Modern for Wikipedia&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://www.modernwiki.app/&quot;&gt;Modern for&amp;nbsp;Wikipedia&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
@@ -261,7 +261,7 @@ We feared and hated what is&amp;nbsp;here.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🎥 Le principe&amp;nbsp;: nous achetons les droits sur des films de cinéma sélectionnés parmi les meilleurs documentaires d’auteurs venant juste de finir leur exploitation en salles de cinéma. Nous vous les proposons et &lt;mark&gt;vous organisez votre festival à domicile.&lt;/mark&gt; Des rencontres avec les auteur.e.s sont accessibles à tou.te.s par&amp;nbsp;visio-conférence.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://tenkchezlhabitant.fr/&quot;&gt;Tënk chez l’Habitant&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://tenkchezlhabitant.fr/&quot;&gt;Tënk chez&amp;nbsp;l’Habitant&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote lang=&quot;en&quot;&gt;
@@ -327,7 +327,7 @@ We feared and hated what is&amp;nbsp;here.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Les générations qui sont nées après 1973, celles qui ont grandi à l’ère de «&amp;nbsp;la crise&amp;nbsp;» perpétuelle, ont intériorisé, l’une après l’autre, l’idée que chacune vivrait globalement moins bien que la précédente. &lt;mark&gt;Elles ont réappris à avoir peur.&lt;/mark&gt; Un retournement historique qui pourrait aussi se lire comme une sorte de psychothérapie de groupe, une rééducation de masse à la «&amp;nbsp;tolérance à la&amp;nbsp;frustration&amp;nbsp;».&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;La société ingouvernable&lt;/em&gt;, Grégoire Chamayou&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;La société ingouvernable&lt;/em&gt;, Grégoire&amp;nbsp;Chamayou&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cela fait bientôt deux années que le monde (occidental) aspire à être négatif. À passer entre les gouttes. À fuir son prochain. Ça laisse des traces. Profondes.&lt;/p&gt;
&lt;p&gt;Il y a la peur. Celle de faire une forme grave ou longue. Celle de la transmettre aux personnes, forcément proches. Celle de croiser le mauvais mutant, celui de trop. Celle de se&amp;nbsp;déshumaniser.&lt;/p&gt;
@@ -368,7 +368,7 @@ We feared and hated what is&amp;nbsp;here.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;✍️ Établir une réflexion en sciences humaines et sociales aujourd’hui signifie &lt;mark&gt;comprendre et manipuler des outils d’écriture numérique&lt;/mark&gt;. Il est nécessaire de proposer des formations dans les institutions de savoir pour former les chercheur·e·s en sciences humaines aux théories et pratiques&amp;nbsp;numériques.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://debugue.ecrituresnumeriques.ca/&quot;&gt;Débugue tes humanités&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://debugue.ecrituresnumeriques.ca/&quot;&gt;Débugue tes&amp;nbsp;humanités&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;

+ 11
- 6
test_widont.py View File

@@ -55,14 +55,19 @@ import pytest
"<div><p>But divs with paragraphs&nbsp;do!</p></div>",
),
(
"<p>Avec <mark>mon ami Marc.</mark></p>",
"<p>Avec <mark>mon ami\u00a0Marc.</mark></p>",
"<p>Avec <mark>mon ami&nbsp;Marc.</mark></p>",
"<p>With <mark>my friend Mark.</mark></p>",
"<p>With <mark>my friend\u00a0Mark.</mark></p>",
"<p>With <mark>my friend&nbsp;Mark.</mark></p>",
),
(
"Vraiment. Bien.",
"Vraiment. Bien.",
"Vraiment. Bien.",
"Really. Good.",
"Really. Good.",
"Really. Good.",
),
(
"With, punctuation",
"With, punctuation",
"With, punctuation",
),
],
)

+ 34
- 2
widont.py View File

@@ -14,7 +14,39 @@ NON_BREAKABLE_SPACE = Charactere(unicode="\u00a0", html="&nbsp;")

# TODISCUSS: part of the configuration?
COMPUTED_BLOCKS = "|".join(["p", "h[1-6]", "li", "dt", "dd"])
ALLOWED_INLINES = "|".join(["a", "em", "span", "strong", "i", "b", "mark"])

# Complete list:
# https://developer.mozilla.org/en-US/docs/Web/HTML/Inline_elements#list_of_inline_elements
# TODISCUSS: special treatment for `abbr` and `acronym`?
# Intentionnaly excluded: audio, bdi, bdo, br, button, canvas, code, datalist,
# embed, iframe, img, input, kbd, map, meter, noscript, object, picture,
# progress, ruby, samp, script, select, slot, svg, template, textarea, time,
# tt, var, video, wbr.
ALLOWED_INLINES = "|".join(
[
"a",
"b",
"big",
"cite",
"data",
"del",
"dfn",
"em",
"i",
"ins",
"label",
"mark",
"output",
"q",
"s",
"small",
"span",
"strong",
"sub",
"sup",
"u",
]
)

# \p{} allows to match a character by its Unicode category
# "Zs" is the category "Separator, space".
@@ -23,7 +55,7 @@ widont_finder = regex.compile(
# must be preceded by:
(?:</? # a closing tag
(?:{ALLOWED_INLINES})[^>]*>) # an approved inline opening
|[^<>\s\.] # or a nontag/nonspace and not a point
|[^<>\s\.,;:!\?] # or a nontag/nonspace and not punctuation
)
\p{{Zs}}+ # the space to replace
([^<>\s]+ # must be followed by non-tag non-space characters

Loading…
Cancel
Save