Un mur de chanteurs : superbe !
Je ne suis pas particulièment fan de ce genre de choses, mais j’avoue qu’il est extrêmement bien fait :
Je ne suis pas particulièment fan de ce genre de choses, mais j’avoue qu’il est extrêmement bien fait :
Tout est dans le titre.
J’ai souvent ce problème : je fais copier coller de code dans un article WordPress que je veux publier, je mets le code entre <code></code> mais le problème, c’est que les espaces de début sont ignorés et l’indentation est perdue.
Voici donc l’astuce, sous vi, pour remplacer tous les espaces uniquement au début de la ligne par .
C’est à dire que :
extend: 'Ext.panel.Panel',
devient :
extend: 'Ext.panel.Panel',
Ce que je ne veux pas bien évidemment.
J’ai posé la question ici : vim-regexp-help-change-spaces-to-nbsp.
Et je vous laisse y lire les réponses, mais la solution que j’ai retenue :
:%s/^ \+/\=repeat(" ",strlen(submatch(0)))
Site des vimgolfers : http://vimgolf.com/.
On peut éxecuter du javascript dans Firefox directement dans la ligne de l’adresse Internet.
Attendez, c’est génial, je le redis, vous n’avez pas compris :
En pratique ça donne quoi ?
J’en ai marre de taper systématiquement mon identifiant et mon mot de passe pour me connecter à un intranet.
J’ai un bouton qui est un raccourci classique :
Et au lieu d’un raccourci « simple » genre http://translate.google.com/ c’est un code JavaScript comme ça :
javascript:(function(){m='http://translate.google.com/translate?u='+encodeURIComponent(document.location)+'&langpair=en%7Cfr&hl=en&ie=UTF-8&oe=UTF-8';w=window.open(m,'addwindow','resizable=yes');setTimeout(function(){w.focus();},%20250);})();
Qu’est ce que ça fait : je peux être sur n’importe quelle page en anglais, je clique sur le bouton, et hop ! Il m’ouvre une autre fenêtre avec la page traduire via http://translate.google.com/. Magique !
Mais on peut faire encore plus pratique !
Par exemple, moi j’ai un raccourci pour me connecter sur un site personnel, mais ce dernier me demande toujours mon identifiant et mon mot de passe, qui sont systématiquement effacés, alors j’ai fait un second bouton dans lequel il y a du JavaScript qui remplit les champs automatiquement et simule le clic sur « valider ». Donc en pratique, je clique une fois, hop, la page s’affiche, je clique une seconde fois et je suis connecté. Je gagne un temps fou !
Et même chose pour les développeurs de paiement en ligne : vous en avez marre de remplir systématiquement les champs avec les numéros de cartes factices afin de tester, et de mettre une bonne date ? Hop il suffit de créer correctement un bon morceau de JavaScript et ça y est vous remplissez systématiquement TOUS les champs en un seul clic ! Gain de temps phénoménal.
Vous avez plein d’exemples ici :
http://mozillalinks.org/resources/bookmarklets-collection/
Pour la note, cela fonctionne aussi sur Chrome.
En espérant que cela serve à la communauté !
Voici, pour ceux qui ne le connaissent pas, un langage très récent (2011), fonctionnel, et lisible, mais entièrement nouveau, j’ai nommé (roulement de tambours) : « Funciton »
Voici un exemple de programme qui fonctionne, essayez de deviner ce qu’il fait :
(Note : ce n’est pas un dessin, c’est bien du texte, vous pouvez le sélectionner et le copier coller, ça fonctionne, essayez !) :
╓───╖
┌──╢ + ╟──┐
│ ╙───╜ │
┌────┴────┬────┴────┐
│ ┌┐ │ ┌┐ │
┌─┴──┤├──whoops!─┬─┤├─┴─┐
│ └┘ │ │ └┘ │ ╔════════════════════════════╗
│ ┌──────┴───┬┘ │ ║ addition — WITH ║
│ ┌┴┐ ┌┴┐ │ ║ THREE PROBLEMS (read on) ║
│ └┬┘ └┬┘ │ ╟────────────────────────────╢
│ ┌──┴─╖ ┌───╖ │ │ ║ +(a, b) = b ║
│ │ << ╟──┤ + ╟─┘ │ ║ ? +(a^b, (a&b) << 1) ║
│ ╘══╤═╝ ╘═╤═╝ │ ║ : a ║
│ ╔═╧═╗ │ │ ╚════════════════════════════╝
│ ║ 1 ║ │ │
│ ╚═══╝ ┌─┴─╖ │
└─────────┤ ? ╟─────────┘
╘═╤═╝
│
Vous pouvez avoir toutes les informations sur Wikipedia ici :
J’avais un problème que vous avez peut-être rencontré : la couleur des fichiers HTML quand il y a du Smarty, ça ne fonctionne pas parfois.
Alors j’ai récupéré le truc qui met les bonnes couleurs ici :
www.vim.org/scripts/script.php?script_id=1798
Mais seul problème : ça ne fonctionne qu’avec les fichier *.TPL
Donc j’ai fait une demande sur stackoverflow : comment ouvrir un fichier HTML, et vérifier s’il y a dedans "{* *}"
et si c’est le cas, appliquer la couleur Smarty.
Répondu ici :
vim-how-to-apply-a-new-syntax-highlighting-smarty-instead-of-html-depending
Et maintenant, j’ai enfin tous les fichiers HTML qui s’affichent correctement. Je vous conseille vivement d’en faire autant, franchement ça m’aide bien que les "{* *}"
soient enfin des commentaires et que les {foreach ...}
soient bien colorisés.
Trop pratique !
D’abord installez compizconfig-settings-manager : le tutoriel est ici :
http://packages.ubuntu.com/search?keywords=compizconfig-settings-manager
Après avoir installé « compizconfig settings manager » :
alt
+ F2
et une boite de dialogue va s’ouvrir ;ccsm
puis validez par la touche entrée
;"Délai de pop-up de fenêtre"
, ou en anglais : "Popup Window Delay"
;"Comportement"
ou "Behavior"
;0
.Et voilà, la combinaison alt
+ Tab
pour passer d’une application à une autre est devenue instantanée !
Pour information, le tutoriel est ici :
http://askubuntu.com/questions/75250/how-to-make-alt-tab-switch-quickly
http://askubuntu.com/questions/43875/how-do-i-adjust-the-alt-tab-speed
Vous avez sûrement déjà été confronté au fait de vouloir afficher le contenu d’une variable Smarty.
J’ai décrit la version courte ici.
Maintenant, il peut arriver que l’affichage ne corresponde pas à ce que vous vouliez notamment parce que le print_r()
et autre var_dump()
affichent des retour chariot.
J’ai donc crée ma fonction plugin, qui fait cela :
/**
* Affiche le contenu d'une variable.
* Utilisation : {dump var=$variable_smarty}
*
* @param array $params Tableau de parametres
* @param object $smarty objet Smarty
* @return string Le dump
*/
public function smarty_dump($params,$smarty)
{
// Récupération des paramètres
if (!isset($params['var'])) {
throw new Exception(
"dump : paramètre 'var' obligatoire");
}
return
'<pre>'.
str_replace(
"\n", "<br />",
str_replace(
"\r", "",
var_export($params['var'],true)
)
).
'</pre>';
}
Ensuite, je déclare le plugin à Smarty :
$smarty->registerPlugin('function','dump',
array($this,'smarty_dump'));
Et dans mon template, je l’appelle ainsi :
<table>
{foreach from=$tab_devis item=a}
<tr>
<td>
{dump var=$a}
</td>
</tr>
{/foreach}
</table>
Et l’affichage devient parfait : il est à l’intérieur d’une balise <pre>
– </pre>
, avec retour à la ligne <br />
comme il faut.
En espérant que cela serve à des utilisateurs
Bonjour,
Voici une petite astuce pour les développeurs de sites Internet.
Supposons que la page que vous êtes en train de développer soit du genre http://monsite.com/mapage.php
.
Dans cette page, vous avez plusieurs liens/images vers le même site, mais seule l’adresse change un peu, par exemple http://autre.monsite.com/image1.png
Imaginez que quelques temps après, vous deviez changer de protocole et passer en mode sécurisé.
Vous devez changer aussi tous les autres liens, donc :
http://autre.monsite.com/image1.png
devient :
https://autre.monsite.com/image1.png
…
Eh bien voici l’astuce qui peut vous servir : vous pouvez demander au navigateur de rester sur le même type de protocole avec seulement deux slashes avant le nom du site. Notre exemple :
http://autre.monsite.com/image1.png
devient :
//autre.monsite.com/image1.png
(oui oui ça fonctionne et même très bien) !
Ca y est je les ai reçu !
Question quizz : savez vous à quoi chaque t-shirt correspond ?
Pour information, j’étais inquiet sur la qualité de l’impression, mais la méthode utilisée semble très résistante, et les couleurs ne devraient pas changer sur les quelques prochains lavages à venir (d’après le site c’est une centaine de lavages, ce qui ferait que je pourrais tenir presque un an avec ces trois tshirts…).
Voilà le problème que je viens de rencontrer et que vous avez sûrement rencontré si vous faites un petit peu de jQuery : j’ai fait un <div></div>
qui était un petit rectangle, et je voulais, que lorsque la souris entre dedans, il s’agrandisse, et lorsqu’elle en sort, il diminue.
Le problème (qui est la plupart du temps un avantage) avec jQuery, c’est que lorsqu’une animation commence, s’il y en a une autre pour le même élément, il la met dans une queue()
(toute plaisanterie grivoise mise à part).
Donc, si, comme moi, vous voulez faire une animation assez lente, et que vous entrez et sortez rapidement avant la fin de l’animation, il va y avoir plein d’éléments qui vont aller à l’intérieur, et… même si vous éloignez la souris, les animations d’entrée-sortie vont continuer à jusqu’à ce que la queue soit vide ! …là aussi toute plaisanterie grivoise mise à part.
La solution est simple : il faut non seulement dire à l’élément concerné d’arrêter l’animation via stop()
, mais aussi :
true
)true
)Exemple de code qui fonctionne :
$('tr') .mouseenter(function() { var id=$(this).attr('id').substring(3); var c=$(this).children('.principal').children('.texte'); c.stop(true, true).animate({ height: '400px'}, 'slow'); }) .mouseleave(function() { var c=$(this).children('.principal').children('.texte'); c.stop(true, true).animate({ height: '89px'}, 'slow'); });