190 lines
20 KiB
JavaScript
190 lines
20 KiB
JavaScript
// remap jQuery to $
|
|
(function ($) {
|
|
|
|
if (window.location.hash !== "") {
|
|
$.post(
|
|
'load.php',
|
|
{'hash': window.location.hash},
|
|
function (data) {
|
|
if (data) {
|
|
$('#sug').val(data);
|
|
}
|
|
},
|
|
'text'
|
|
);
|
|
}
|
|
var verbs1 = "abandonner,accepter,accompagner,accorder,accrocher,accuser,acheter,achever,adresser,affirmer,agiter,aider,aimer,ajouter,allumer,amener,amuser,animer,annoncer,appeler,apporter,approcher,appuyer,armer,arracher,arrêter,arriver,assister,assurer,attacher,attaquer,attirer,avancer,avouer,baisser,briller,briser,brûler,cacher,calmer,caresser,casser,causer,céder,cesser,changer,chanter,charger,chasser,chercher,commander,commencer,composer,compter,condamner,confier,considérer,consulter,contenter,continuer,coucher,couler,couper,coûter,créer,creuser,crier,croiser,danser,déchirer,décider,déclarer,dégager,demander,demeurer,dépasser,déposer,désigner,désirer,dessiner,détacher,deviner,diriger,discuter,disposer,distinguer,dominer,donner,douter,dresser,durer,écarter,échapper,éclairer,éclater,écouter,écraser,effacer,élever,éloigner,embrasser,emmener,empêcher,employer,emporter,enfermer,enfoncer,engager,enlever,entourer,entraîner,entrer,envelopper,envoyer,éprouver,espérer,essayer,essuyer,étaler,étonner,étouffer,étudier,éviter,examiner,exécuter,exiger,exister,expliquer,exposer,exprimer,fatiguer,fermer,figurer,fixer,fonder,forcer,former,frapper,fumer,gagner,garder,glisser,habiller,habiter,hésiter,ignorer,imaginer,importer,imposer,indiquer,inquiéter,inspirer,installer,intéresser,interroger,inventer,inviter,jeter,jouer,juger,lever,lier,lisser,livrer,lutter,manger,manier,manquer,marcher,marier,marquer,mêler,menacer,mener,mériter,miser,monter,montrer,nommer,obliger,observer,occuper,oser,oublier,parler,partager,passer,payer,pencher,pénétrer,penser,peser,placer,pleurer,plonger,porter,poser,posséder,pousser,précéder,précipiter,préférer,préparer,présenter,presser,prêter,prier,profiter,promener,prononcer,proposer,protéger,prouver,quitter,raconter,ramasser,ramener,rappeler,rapporter,rassurer,réclamer,recommencer,reculer,refuser,regarder,regretter,rejeter,relever,remarquer,remercier,remonter,remplacer,rencontrer,renoncer,rentrer,renverser,répéter,reposer,repousser,représenter,réserver,résister,respecter,respirer,ressembler,rester,retirer,retomber,retourner,retrouver,réveiller,révéler,rêver,risquer,rouler,saluer,sauter,sauver,sembler,séparer,serrer,signer,signifier,songer,sonner,souffler,souhaiter,soulever,supporter,supposer,surveiller,tenter,terminer,tirer,tomber,toucher,tourner,tracer,traîner,traiter,transformer,travailler,traverser,trembler,tromper,troubler,trouver,tuer,user,veiller,verser,voler,voyager".split(','),
|
|
verbs2 = "accomplir,agir,choisir,établir,finir,franchir,grandir,nourrir,obéir,réfléchir,remplir,réunir,réussir,saisir,subir,vêtir".split(','),
|
|
verbs3 = "apercevoir,aperçois,aperçoit,apercevons,apercevez,aperçoivent,apparaître,apparais,apparait,apparqissons,apparqissez,apparaissent,apprendre,apprend,apprends,apprenons,apprenez,apprennent,atteindre,atteins,atteint,atteignons,atteignez,atteignent,attendre,attend,attends,attendons,attendez,attendent,avoir,ai,as,a,avons,avez,ont,boire,bois,boit,buvons,buvez,boivent,comprendre,comprend,comprends,comprenons,comprenez,comprennent,conclure,conclus,conclut,concluons,concluez,concluent,conduire,conduis,conduit,conduisons,conduisez,conduisent,confondre,confond,confonds,confondons,confondez,confondent,connaître,connais,connait,connaissons,connaissez,connaissent,construire,construis,construits,construisons,construisez,construisent,craindre,crains,craint,craignons,craignez,craignent,croire,crois,croit,croyons,croyez,croient,décrire,décris,décrit,décrivons,décrivez,décrivent,défendre,défends,défend,défendons,défendez,défendent,descendre,descend,descends,descendons,descendez,descendent,détruire,détruit,détruis,détruisons,détruisez,détruisent,devoir,dois,doit,devons,devez,doivent,dire,dis,dit,disons,disez,disent,disparaître,disparais,disparait,disparissons,disparaissez,disparraissent,écrire,écris,écrit,écrivons,écrivons,écrivent,entendre,entends,entend,entendons,entendez,entendent,éteindre,éteins,éteint,éteignons,éteignez,éteignent,étendre,étends,étend,étendons,étendez,étendent,être,suis,es,est,sommes,êtes,sont,falloir,faut,haïr,haïs,haït,haïssons,haïssez,haïssent,interrompre,interromps,interrompt,interrompons,interrompez,interrompent,joindre,joins,joint,joignons,joignez,joignent,lire,lis,lit,lisons,lisez,lisent,naître,nais,nait,naissons,naissez,naissent,paraître,parais,parait,paraissons,paraissez,paraissent,pendre,pend,pends,pendons,pendez,pendent,perdre,perd,perds,perdons,perdez,perdent,plaindre,plains,plaint,plaignons,plaignez,plaignent,plaire,plais,plait,plaisons,plaisez,plaisent,poursuivre,poursuis,poursuit,poursuivons,poursuivez,poursuivent,pouvoir,peux,peut,pouvons,pouvez,peuvent,prendre,prends,prend,prenons,prenez,prennent,prétendre,prétend,prétends,prétendons,prétendez,prétendent,prévoir,prévois,prévoit,prévoyons,prévoyez,prévoient,produire,produis,produit,produisons,produisez,produisent,promettre,promets,promet,promettons,promettez,promettent,recevoir,reçois,reçoit,recevons,recevez,reçoivent,reconnaître,reconnais,reconnait,reconnaissons,reconnaissez,reconnaissent,réduire,réduis,réduit,réduisons,réduisez,réduisent,rejoindre,rejoins,rejoint,rejoignons,rejoignez,rejoignent,rendre,rends,rend,rendons,rendez,rendent,répandre,répand,répands,répendons,répendez,répendent,répondre,répond,réponds,répondons,répondez,répondent,reprendre,reprends,reprend,reprenons,reprenez,reprenent,résoudre,résous,résout,resolvons,resolvez,resolvent,revoir,revois,revoit,revoyons,revoyez,revoient,rire,ris,rit,rions,riez,rient,rompre,romps,rompt,rompons,rompez,rompent,satisfaire,satisfais,satisfait,satisfaisons,satisfaisez,satisfaisent,savoir,sais,sait,savons,savez,savent,sourire,souris,sourit,sourions,souriez,sourient,suffire,suffis,suffit,suffisons,suffisez,suffisent,suivre,suis,suit,suivons,suivez,suivent,surprendre,surprends,surprend,surprenons,surprenez,surprennent,taire,tais,tait,taisons,taisez,taisent,tendre,tends,tend,tendons,tendez,tendent,vaincre,vaincs,vainc,vainquons,vainquez,vainquent,valoir,vaux,vaut,valons,valez,valent,vendre,vends,vend,vendons,vendez,vendent,vivre,vis,vit,vivons,vivez,vivent,voir,vois,voit,voyons,voyez,voient,vouloir,veux,veut,voulons,voulez,veulent,appartenir,appartiens,appartient,appartenons,appartenez,appartiennent,consentir,consens,consent,consentons,consentez,consentent,contenir,contiens,contient,contenons,contenez,contiennent,convenir,conviens,convient,convenons,convenez,conviennent,courir,cours,court,courrons,courrez,courrent,couvrir,couvres,couvre,couvrons,couvrez,couvrent,découvrir,découvres,découvre,découvrons,découvrez,découvrent,devenir,deviens,devient,devenons,devenez,deviennent,dormir,dors,dort,dormons,dormez,dorment,endormir,endors,endort,endormons,endormez,endorment,entretenir,entretiens,entretient,entretenons,entretenez,entretiennent,fuir,fuis,fuit,fuyons,fuyez,fuient,maintenir,maintiens,maintient,maintenons,maintenez,maintiennent,mentir,mens,ment,mentons,mentez,mentent,mourir,meurs,meurt,mourons,mourez,meurent,obtenir,obtient,obtiens,obtenons,obtenez,obtiennent,offrir,offres,offre,offront,offrez,offrent,ouvrir,ouvres,ouvre,ouvrons,ouvrez,ouvrent,parcourir,parcours,parcourt,parcourons,parcourez,parcourent,partir,pars,part,partons,partez,partent,parvenir,parviens,parvient,parvenons,parvenez,parviennent,prévenir,préviens,prévient,prévenons,prévenez,préviennent,recueillir,recueilles,recueille,recueillons,recueillez,recueillent,retenir,retiens,retient,retenons,retenez,retiennet,revenir,reviens,revient,revenons,revenez,reviennent,sentir,sens,sent,sentons,sentez,sentent,servir,sers,sert,servons,servez,servent,sortir,sors,sort,sortons,sortez,sortent,souffrir,souffres,souffre,souffrons,souffrez,souffrent,soutenir,soutiens,soutient,soutenons,soutenez,soutiennent,souvenir,souviens,souvient,souvenons,souvenez,souviennent,tenir,tiens,tient,tenons,tenez,tiennent,venir,viens,vient,venons,venez,viennent,aller,vais,vas,va,allons,allez,vont,faire,fais,fait,faisons,faisez,font,asseoir,assois,assoit,assoyons,assoyez,assoient".split(','),
|
|
verbs3ttre = "abattre,admettre,battre,mettre,permettre,remettre,soumettre".split(','),
|
|
adverbs = "d,l,n,s,m,à,absolument,afin,ah,ailleurs,ainsi,alors,attention,assez,au,aux,aujourd'hui,auprès,auquel,aussi,aussitôt,autant,après,arrière,aucun,aucune,autour,autrefois,autrement,avant,avec,beau,beaux,belle,belles,beaucoup,bientôt,brusquement,ça,car,ce,ceci,cela,celui,cependant,certain,certainement,certes,chacun,chacune,chaque,chez,ci,cinq,cinquante,combien,comme,comment,complètement,courant,d'abord,dans,d'autre,d'autres,davantage,de,debout,dehors,déjà,delà,demain,depuis,derrière,dès,des,désormais,dessus,deux,devant,dimanche,divers,dix,donc,dont,doucement,douze,du,durant,eau,eaux,également,eh,en,encore,enfin,ensuite,entre,environ,est,et,etc,fois,grâce,guère,hier,hors,huit,ici,jamais,je,jusque,jusqu'à,là,la,le,lentement,laquelle,lequel,lesquels,lesquelles,longtemps,lors,lorsque,lui,l'un,l'une,madame,maintenant,mais,malgré,me,même,midi,moi,moins,mois,mon,naturellement,ne,nez,ni,non,nord,notre,nous,oh,on,or,ou,où,oui,par,parce,parfaitement,parfois,parmi,partout,pas,pendant,peu,plus,plusieurs,plutôt,pour,pourquoi,pourtant,près,presque,printemps,profondément,propos,puis,puisque,quand,quant,quarante,quatre,que,quel,quelque,quelqu'un,qui,quinze,quoi,rapidement,rien,sans,se,selon,sept,seulement,si,simplement,six,soit,son,soudain,sous,souvent,suivant,sur,surtout,tandis,tant,tantôt,tard,te,tel,tellement,toi,ton,tôt,toujours,tout,toute,trente,très,trois,troisième,trop,tu,un,une,vers,vieil,vieux,vingt,vite,voici,voilà,votre,vous,vraiment,y,oeil,yeux".split(','), // Invariables
|
|
adjectives = "absolu,ancien,anglais,bas,blanc,bleu,blond,bon,calme,capable,chaud,cher,clair,commun,complet,content,court,cruel,curieux,dangereux,différent,difficile,digne,double,doux,droit,drôle,dur,égal,épais,étendu,éternel,étrange,étroit,extraordinaire,facile,faible,fidèle,fier,fin,fort,frais,franc,français,froid,gauche,général,grand,grave,gris,gros,haut,heureux,immense,immobile,important,impossible,inutile,jaune,jeune,joli,juste,large,léger,libre,long,lourd,magnifique,mauvais,meilleur,mien,mince,muet,naturel,nécessaire,nerveux,neuf,nombreux,nouveau,nu,nul,ouvert,pareil,perdu,petit,plein,politique,possible,précieux,précis,premier,présent,prochain,profond,propre,public,puissant,pur,rapide,rare,réel,riche,rond,rose,rouge,saint,sauvage,sec,secret,semblable,sérieux,seul,sien,silencieux,simple,social,sombre,sourd,supérieur,sûr,tendre,terrible,tranquille,triste,vaste,véritable,vert,vif,violent,visible,vivant,vrai".split(','), // Variable (m/f + pluriel)
|
|
names = "abri,absence,accent,accord,acte,action,affaire,âgé,âge,agent,aide,aile,air,âme,ami,amour,an,angoisse,animal,année,apparence,appartement,appel,arbre,argent,arme,armée,arrivée,art,article,as,aspect,attitude,auteur,autorité,autre,avance,avenir,aventure,avis,banc,bande,barbe,bataille,beauté,besoin,bête,bien,billet,bois,bonheur,bord,bouche,bout,branche,bras,bruit,bureau,but,cabinet,camarade,campagne,caractère,carte,cas,cause,cent,centre,cercle,cerveau,chaîne,chair,chaise,chaleur,chambre,champ,chance,changement,chant,charge,chasse,chat,chef,chemin,chemise,cheval,cheveu,chien,chiffre,choix,chose,chute,ciel,circonstance,classe,clé,clef,coeur,coin,colère,colline,colon,combat,commencement,compagnie,compagnon,compte,condition,confiance,connaissance,conscience,conseil,contraire,contre,conversation,corde,corps,côte,côté,cou,couche,couleur,coup,cour,courage,cours,course,crainte,cri,crise,croix,cuisine,curiosité,dame,danger,début,défaut,demande,demi,dent,départ,dernier,désert,désespoir,désir,détail,devoir,dieu,direction,discours,discussion,distance,docteur,doigt,dos,douceur,douleur,doute,drame,éclat,école,effet,effort,élément,elle,émotion,empire,endroit,énergie,enfance,enfant,ennemi,énorme,ensemble,entier,entrée,envie,épaule,époque,erreur,escalier,espace,espèce,espoir,esprit,étage,état,été,étoile,étranger,étude,événement,exemple,existence,expérience,expression,face,façon,faim,fait,famille,fatigue,faute,fauteuil,faux,faveur,femme,fenêtre,fer,ferme,fête,feu,feuille,figure,fil,fille,fils,fixe,flamme,fleur,flot,foi,folie,fonction,fond,force,forêt,forme,fortune,fou,foule,frère,front,fruit,fumée,fusil,garçon,garde,genou,genre,gens,geste,glace,gloire,goût,goutte,gouvernement,grain,groupe,guerre,habitant,habitude,haine,hasard,hauteur,herbe,heure,histoire,hiver,homme,honneur,honte,horizon,hôtel,humain,humide,idée,il,île,image,importance,impression,inconnu,inquiétude,instant,instinct,intelligence,intention,intérêt,intérieur,jambe,jardin,jeu,jeunesse,joie,joue,jour,journal,journée,juge,justice,larme,lendemain,lettre,leur,lèvre,liberté,lien,lieu,ligne,lit,livre,loi,loin,loup,lueur,lumière,lune,lutte,machine,main,maison,maître,mal,malade,maladie,malheur,marchand,marché,marche,mari,mariage,masse,matière,matin,médecin,membre,mémoire,mensonge,mer,mesure,métier,mieux,milieu,militaire,mille,million,mine,ministre,minute,mode,moindre,moitié,moment,monde,monsieur,montagne,morceau,mort,mot,mouvement,moyen,mur,musique,naissance,nation,nature,noir,noire,nom,nombre,note,nuage,nuit,objet,occasion,odeur,oeuvre,officier,oiseau,ombre,oncle,ordre,oreille,ouvrage,page,pain,paix,palais,papa,papier,paquet,parent,parole,part,parti,particulier,partie,passage,passé,passion,patron,paupière,pauvre,pays,paysage,paysan,peau,peine,pensée,père,personnage,personne,perte,peuple,peur,phrase,pièce,pied,pierre,pitié,place,plaine,plaisir,plan,planche,plante,pluie,poche,poésie,poète,poids,point,pointe,poitrine,police,pont,port,porte,portier,position,poste,poussière,pouvoir,présence,président,prêt,preuve,prière,prince,principe,prison,prix,problème,professeur,projet,puissance,qualité,quart,quartier,question,queue,race,raison,rang,rapport,rayon,réalité,recherche,réflexion,regard,règle,relation,religion,rencontre,repas,réponse,résistance,respect,reste,résultat,retour,rêve,révolution,rideau,robe,roche,rocher,roi,rôle,roman,route,rue,ruine,sable,sac,saison,salle,salut,sang,santé,savoir,scène,science,second,seconde,secours,secrétaire,seigneur,sein,semaine,sens,sentier,sentiment,service,seuil,siècle,siège,signe,silence,situation,société,soi,soin,soir,soirée,sol,soldat,soleil,solitude,somme,sommeil,sommet,sorte,sou,souffrance,source,souvenir,spectacle,succès,sueur,suite,sujet,système,table,tâche,tache,taille,tapis,témoin,tempête,temps,terme,terrain,terre,terreur,terrible,tête,théâtre,titre,toile,toit,tombe,tour,trace,train,trait,travail,travers,trésor,trou,type,unique,usage,vague,valeur,veille,vent,ventre,vérité,verre,vêtement,victime,vide,vie,vieillard,village,ville,vin,violence,visage,vision,visite,voie,voile,voisin,voiture,voix,vol,volonté,voyage,vue".split(',');
|
|
|
|
verbs1 = conjuguer1(verbs1);
|
|
verbs2 = conjuguer2(verbs2);
|
|
verbs3ttre = conjuguerttre(verbs3ttre);
|
|
adjectives = varadj(adjectives);
|
|
names = varnames(names);
|
|
|
|
function conjuguer1(v) {
|
|
v2 = v;
|
|
for (var i = 0, l = v.length; i < l; i++) {
|
|
var strLen = v[i].length,
|
|
curv = v[i].substr(0, strLen - 1),
|
|
curs = curv + "s",
|
|
strLen2 = curv.length,
|
|
curv2 = curv.substr(0, strLen2 - 1),
|
|
curons = curv2.substr(-1) === 'c' ? curv2.substr(0, strLen2 - 2) + "çons" : curv2 + "ons",
|
|
curez = curv2 + "ez",
|
|
curent = curv2 + "ent";
|
|
v2.push(curv, curs, curons, curez, curent);
|
|
}
|
|
return v2;
|
|
}
|
|
|
|
function conjuguer2(v) {
|
|
v2 = v;
|
|
for (var i = 0, l = v.length; i < l; i++) {
|
|
var strLen = v[i].length,
|
|
curv = v[i].substr(0, strLen - 1),
|
|
curs = curv + "s",
|
|
curt = curv + "t",
|
|
curons = curv + "ssons",
|
|
curez = curv + "ssez",
|
|
curent = curv + "ssent";
|
|
v2.push(curt, curs, curons, curez, curent);
|
|
}
|
|
return v2;
|
|
}
|
|
|
|
function conjuguerttre(v) {
|
|
v2 = v;
|
|
for (var i = 0, l = v.length; i < l; i++) {
|
|
var strLen = v[i].length,
|
|
curv = v[i].substr(0, strLen - 3),
|
|
curs = curv + "s",
|
|
curons = curv + "tons",
|
|
curez = curv + "tez",
|
|
curent = curv + "tent";
|
|
v2.push(curv, curs, curons, curez, curent);
|
|
}
|
|
return v2;
|
|
}
|
|
|
|
function varadj(a) {
|
|
a2 = a;
|
|
for (var i = 0, l = a.length; i < l; i++) {
|
|
var adj = a[i];
|
|
if (adj === "") continue;
|
|
// pluriel
|
|
if (adj.substr(-1) !== 's' && adj.substr(-1) !== 'x') {
|
|
if (adj.substr(-3) === 'eau') {
|
|
a2.push(adj + 'x');
|
|
} else if (adj.substr(-2) !== 'al') {
|
|
a2.push(adj + 's');
|
|
} else {
|
|
a2.push(adj.substr(0, adj.length - 2) + 'aux');
|
|
}
|
|
}
|
|
// féminin
|
|
var fem = "";
|
|
if (adj.substr(-2) === 'er' || adj.substr(-2) === 'et') {
|
|
fem = adj.substr(0, adj.length - 2) + 'è' + adj.substr(-1) + 'e';
|
|
}
|
|
if (adj.substr(-2) === 'en') {
|
|
fem = adj.substr(0, adj.length - 2) + 'enne';
|
|
} else if (adj.substr(-2) === 'as') {
|
|
fem = adj + 'se';
|
|
} else if (adj.substr(-1) === 'c') { // NO !
|
|
fem = adj + 'he';
|
|
} else if (adj.substr(-1) === 'n' && adj.substr(-2, 1) !== 'e') {
|
|
fem = adj + 'ne';
|
|
} else if (adj.substr(-1) === 'l') {
|
|
fem = adj + 'e';
|
|
} else if (adj.substr(-1) === 'f') {
|
|
fem = adj.substr(0, adj.length - 1) + 've';
|
|
} else if (adj.substr(-1) === 'g') {
|
|
fem = adj + 'ue';
|
|
} else if (adj.substr(-1) === 'x') {
|
|
fem = adj.substr(0, adj.length - 1) + 'se';
|
|
} else if (adj.substr(-3) === 'eau') {
|
|
fem = adj.substr(0, adj.length - 3) + 'elle';
|
|
}
|
|
if (fem === "" && adj.substr(-1) !== 'e') {
|
|
fem = adj + 'e';
|
|
}
|
|
if (fem !== "") {
|
|
a2.push(fem);
|
|
// féminin pluriel
|
|
a2.push(fem + 's');
|
|
}
|
|
}
|
|
return a2;
|
|
}
|
|
|
|
function varnames(n) {
|
|
n2 = n;
|
|
for (var i = 0, l = n.length; i < l; i++) {
|
|
var nam = n[i];
|
|
if (nam === "") continue;
|
|
// pluriel
|
|
if (nam.substr(-1) !== 's' && nam.substr(-1) !== 'x') {
|
|
if (nam.substr(-3) === 'eau') {
|
|
n2.push(nam + 'x');
|
|
} else if (nam.substr(-2) !== 'al') {
|
|
n2.push(nam + 's');
|
|
} else {
|
|
n2.push(nam.substr(0, nam.length - 2) + 'aux');
|
|
}
|
|
}
|
|
}
|
|
return n2;
|
|
}
|
|
|
|
var terms = adverbs.concat(adjectives, names, verbs1, verbs2, verbs3ttre, verbs3);
|
|
var sug = $('#sug')
|
|
.asuggest(terms, {
|
|
'stopSuggestionKeys': [$.asuggestKeys.RETURN],
|
|
'minChunkSize': 1,
|
|
'delimiters': ' '
|
|
})
|
|
.explanationCheck(terms);
|
|
$('#myForm').on('submit', function (e) {
|
|
e.preventDefault();
|
|
$.post(
|
|
$(this).prop('action'),
|
|
{'sug': $('#sug').val()},
|
|
function (data) {
|
|
if (data) {
|
|
alert('saved');
|
|
window.history.pushState(data.file, "Title", "#" + data.file);
|
|
} else {
|
|
|
|
}
|
|
},
|
|
'json'
|
|
);
|
|
});
|
|
})(window.jQuery);
|
|
|
|
|
|
// usage: log('inside coolFunc',this,arguments);
|
|
// paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
|
|
window.log = function () {
|
|
log.history = log.history || []; // store logs to an array for reference
|
|
log.history.push(arguments);
|
|
if (this.console) {
|
|
console.log(Array.prototype.slice.call(arguments));
|
|
}
|
|
};
|
|
|
|
|
|
// catch all document.write() calls
|
|
(function (doc) {
|
|
var write = doc.write;
|
|
doc.write = function (q) {
|
|
log('document.write(): ', arguments);
|
|
if (/docwriteregexwhitelist/.test(q)) write.apply(doc, arguments);
|
|
};
|
|
})(document); |