Comments (18)
@bibi6 : est-ce que tu peux donner la liste des liens morts que tu as trouvé ?
Je crois qu'il faudra scripter une recherche de \url et \href.
Si tu as écrit un script qui parse mazhe.bib
, tu peux le mettre dans le répertoire "testing". Je suis en train d'y rassembler quelque scripts de vérification automatique de différentes choses (intégrité des figures et références vers le futur principalement).
from mazhe.
Le wget --quiet
est inefficace parce qu'il télécharge effectivement tout ce que contient l'URL.
En python on peut faire sans télécharger :
Les egrep
par contre me semblent plus concis que ce que je pourrais faire en python.
- Des
ls
en bash pour avoir la liste des fichiers - Passage à
egrep
pour créer la liste des URL - Passage à python pour vérifier si elles sont bonnes.
Avec ça, on n'a pas encore les URL dans les champs url = "...."
de mazhe.bib
Attention : je ne jurerais pas qu'aucune URL ne contienne un "
La dernière contient même une parenthèse non fermée.
from mazhe.
Ce sont les références aux doux noms de :
- PDFpersoWanadoo
- BezoutCos
- NjCCfW
Pour l'instant je ne les corrige pas, et les tiens en mémoire comme "test" pour le futur détecteur de liens morts en cours de rédaction ...
from mazhe.
J'ai poussé un premier détecteur d'url mort dans la branche alpha.
from mazhe.
Je viens de pousser dans 'alpha' une violente purge de 'mazhe.bib'. j'ai supprimé pas mal de \cite.
J'ai pu retrouver quelque documents qui avaient bougé et contacté deux ou trois auteurs.
Mais là je dois avouer que la tâche est démesurée : j'ai encore 27 url cassées. Je crois que c'est un peu idiot de persévérer à tenter de retrouver soit le texte soit l'auteur pour chaque : au final il est sûrement plus simple de trouver une autre source pour les résultats énoncés et qui sont maintenant sans citations.
from mazhe.
Un nettoyage a été fait, le détecteur d'url cassées fonctionne à peu près (on pourrait beaucoup paralléliser).
J'attends la réponse de quelque personnes pour savoir où retrouver leurs textes, et on relacera de temps en temps les tests. Il se lance avec
<mazhe>/testing/testing.sh --dead-links
from mazhe.
(je ne sais pas à quoi vous faites référence)
Mais les pages en question sont peut-être encore accessibles sur des sites d'archivages, comme https://web.archive.org/ ou le cache utilisé par Wikimédia, http://archive.wikiwix.com/ ?
(conseil général @LaurentClaessens : un lien utile peut être sauvegardé en un clic sur https://web.archive.org, ça peut aider pour des références que tu n'as que comme lien web)
from mazhe.
@bibi6 : continuez dans votre lancée, c'est très utile ! (je manque de temps pour relire le Frido depuis quelques temps...)
from mazhe.
from mazhe.
OK je suis d'accord avec tout.
C'est assez compliqué ces hstoires de droit de copie et d'archivage. La mission de archive.org est noble mais risquée.
Je pense que ton approche est donc la bonne.
from mazhe.
C'est rapide et sûrement insuffisant, mais voici un début :
#!/usr/bin/env bash
# test-url-in-file
for file in $@; do
egrep -o "\\url\{([^\}]+)" "$file" | sed s/"\\url{"/""/g | test-all-urls.sh
egrep -o "\\href\{([^\}]+)" "$file" | sed s/"\\url{"/""/g | test-all-urls.sh
done
et
#!/usr/bin/env bash
# test-all-urls.sh
cd /tmp/
for url in $@; do
wget --quiet "$url" || echo -e "$url invalide ?"
done
C'est très brouillon mais ça donne l'idée.
Cela dit je pense que ça existe déjà, probablement en Python.
from mazhe.
Qu'il existe en python un moyen de savoir si une URL n'est pas un 404 ne fait aucun doute.
Par contre, je ne suis pas certain qu'il existe des moyens tout faits en python pour parser du LaTeX.
Je me rends compte pour l'occasion que 'mazhe.bib' contient plein d'hyperliens dans les champs "note" au lieu de "url". Il faudrait unifier cela ...
from mazhe.
@bibi6 : est-ce que tu peux donner la liste des liens morts que tu as trouvé ?
À vrai dire, c'est juste que je pensais consulter la réf... du coup, je n'ai détecté que celle-là, et manuellement ;)
from mazhe.
OK
- Je recommande
find . -type f
plutôt quels
- Le
egrep
que j'ai fait est très sommaire - OK en Python
from mazhe.
Comme updaté, le lien de la source 15 aussi, est mort :(
from mazhe.
Le 21 aussi.
from mazhe.
Ça marche chez moi ! 👍
Par contre ça ne cherchait pas à vérifier si les liens sont valides comme prévu.
J'espère que #39 aidera.
from mazhe.
Effectivement...
Je ne me souviens pas d'en avoir vue il y a 3 ans... mais encore une fois je n'ai plus trop utilisé le Frido depuis 2014 😢
from mazhe.
Related Issues (20)
- Regle de l'etau HOT 1
- Remarque 13.164 HOT 2
- 13.393 operateur nabla pour gradient HOT 2
- x divise y utilisé avant sa définition HOT 1
- Bugs dans la table des matières
- Construction des réels - l'ensemble quotient mérite une clarification HOT 2
- Integration continue & release automatique HOT 4
- Lemme 2.7 (sous-groupe engendré) faux ? HOT 1
- Ensembles équipotents : ajouter ou soustraire des cardinalités HOT 15
- sin(0) should be equal to 0 HOT 2
- Remplacer les « affin » par « afin » + une coquille à corriger HOT 1
- Certaines figures sont tronquées trop près de la bordure HOT 1
- Correction d'une typo HOT 1
- Correction de coquille HOT 1
- Anneaux quotients HOT 1
- Lien mort dans une référence bibliographique
- Casse des noms de fichiers HOT 1
- Tri de l’index tenant compte des accents HOT 7
- Cohérence typographique / Majuscule (ou pas) après le : HOT 2
- Il manque un verbe HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mazhe.