Clean up a bit

This commit is contained in:
Yann Esposito (Yogsototh) 2011-09-13 13:26:44 +02:00
parent 7ab5118127
commit 94adfae3bf
10 changed files with 444 additions and 748 deletions

60
README.md Normal file
View file

@ -0,0 +1,60 @@
# yannesposito.com
This is the source code of yannesposito.com website.
It is mainly a multi-language blog based on [nanoc](nanoc.stoneship.org).
_Notice, this is not a clean system.
Mainly because I use it for some years now.
I just want it to work, not to be a nice piece of code.
But in the end I know I will make it clean._
What you'll need to use it:
- [nanoc](nanoc.stoneship.org) → `gem install nanoc`
- [zsh](zsh.org) → By default installed on most good system
- A bunch of gems: `gem install ultraviolet krambook sass rainpress`
Optionally
- [graphviz](graphviz.org)
Here is a short explanation of each file role:
config.rb → nanoc central configuration file
config.ru → Rack server configuration
config.yaml → A YAML configuration file (mostly strings)
content/ → The directory where nanoc will search most content
img_latest_blog_dir@ → A link to the latest blog image directory
latest.md@ → A link to the latest blog file
layouts/ → HTML Layouts for your webpages
lib/ → Some ruby files loaded by nanoc before generating
multi/ → Where you should write content
output/ → Where the content is loaded
Rakefile → Ruby actions
README.md → This file
resources/ → Some file I used and wanted to keep
Rules → Generation rules
tasks/ → Where I putted most of my scripts
Here are features I added:
analytics.rb → Functions to add web analytics code
calendar.rb → Function show a date nicely in HTML
gitmtime.rb
graph.rb
helpers.rb
html.rb
intenseDebate.rb
macros.rb
mail.rb
multiMenu.rb
multi.rb
nanoc_item_conf.rb
repair_html.rb
syntaxColorize.rb
tag.rb
ultraviolet.rb
y.rb

1
Rules
View file

@ -9,7 +9,6 @@
# CSS
compile '/css/*' do
filter :no_custom_css
filter :sass
filter :rainpress
end

View file

@ -1,3 +1,5 @@
# This file is needed if you want to host this website
# using ruby rack. In particular on heroku.
require 'rubygems'
require 'rack'
require 'rack/contrib'

View file

@ -1,32 +0,0 @@
class NoCustomCSS < Nanoc3::Filter
identifier :no_custom_css
def run(content, params={})
res=""
content.each do |line|
res <<= line if not res=~/^\s*-(moz|webkit)/
end
return res
end
end
class MozillaCSS < Nanoc3::Filter
identifier :mozilla
def run(content, params={})
res=""
content.each do |line|
res <<= line if not res=~/-webkit/
end
return res
end
end
class WebkitCSS < Nanoc3::Filter
identifier :webkit
def run(content, params={})
res=""
content.each do |line|
res <<= line if not res=~/-moz/
end
return res
end
end

View file

@ -14,10 +14,6 @@
<title type="html">Learn Vim Progressively</title>
<published>2011-08-25T17:28:20Z</published>
<updated>2011-08-25T17:28:20Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/" rel="alternate"/>
<content type="html">&lt;p&gt;&lt;img alt="&#220;ber leet use vim!" src="/Scratch/img/blog/Learn-Vim-Progressively/uber_leet_use_vim.jpg" /&gt;&lt;/p&gt;
@ -52,10 +48,6 @@ Hard to learn, but incredible to use.&lt;/p&gt;
<title type="html">A more convenient diff</title>
<published>2011-08-17T09:33:30Z</published>
<updated>2011-08-17T09:33:30Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/A-more-convenient-diff/" rel="alternate"/>
<content type="html">&lt;p&gt;Diff is a very useful tool. But it is not so easy to read for us, simple mortal.&lt;/p&gt;
@ -78,10 +70,6 @@ function colorize_diff {
<title type="html">ASCII Haskell Mandelbrot</title>
<published>2011-07-10T10:41:26Z</published>
<updated>2011-07-10T10:41:26Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/Haskell-Mandelbrot/" rel="alternate"/>
<content type="html">&lt;p&gt;Here is the obfuscated code:&lt;/p&gt;
@ -96,10 +84,6 @@ a=27;b=79;c=&lt;span class="Constant"&gt;C&lt;/span&gt;(-2.0,-1.0);d=&lt;span cl
<title type="html">40 character's passwords</title>
<published>2011-05-18T11:14:28Z</published>
<updated>2011-05-18T11:14:28Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/Password-Management/" rel="alternate"/>
<content type="html">&lt;p&gt;&lt;img alt="Title image" src="/Scratch/img/blog/Password-Management/main.png" /&gt;&lt;/p&gt;
@ -129,10 +113,6 @@ It is both safe and easy to use everyday.&lt;/p&gt;
<title type="html">Now hosted on github</title>
<published>2011-04-20T15:22:15Z</published>
<updated>2011-04-20T15:22:15Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2011-04-20-Now-hosted-on-github/" rel="alternate"/>
<content type="html">&lt;p&gt;&lt;img alt="Title image" src="/Scratch/img/blog/2011-04-20-Now-hosted-on-github/main.png" /&gt;&lt;/p&gt;
@ -144,10 +124,6 @@ It is both safe and easy to use everyday.&lt;/p&gt;
<title type="html">Why I won't use CoffeeScript (sadly)</title>
<published>2011-01-03T08:37:26Z</published>
<updated>2011-01-03T08:37:26Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/" rel="alternate"/>
<content type="html">&lt;p&gt;&lt;img alt="Title image" src="/Scratch/img/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/main.png" /&gt;&lt;/p&gt;
@ -180,10 +156,6 @@ And as Denis said: &amp;ldquo;it is time to use Coffeescript as a javascript wit
<title type="html">Happy New Year</title>
<published>2011-01-01T06:55:54Z</published>
<updated>2011-01-01T06:55:54Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2011-01-03-Happy-New-Year/" rel="alternate"/>
<content type="html">&lt;p&gt;Happy New Year!&lt;/p&gt;
@ -202,10 +174,6 @@ But I will revive a bit this blog.&lt;/p&gt;
<title type="html">LaTeX like macro for markdown</title>
<published>2010-10-26T12:30:58Z</published>
<updated>2010-10-26T12:30:58Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-10-26-LaTeX-like-macro-and-markdown/" rel="alternate"/>
<content type="html">
&lt;div class="intro"&gt;
@ -225,10 +193,6 @@ When we are used to &lt;span style="text-transform: uppercase"&gt;L&lt;sup style
<title type="html">Fun with wav</title>
<published>2010-10-14T09:04:58Z</published>
<updated>2010-10-14T09:04:58Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-10-14-Fun-with-wav/" rel="alternate"/>
<content type="html">
&lt;div class="intro"&gt;
@ -256,10 +220,6 @@ This is even more impressive know...&lt;/p&gt;</content>
<title type="html">Secure eMail on Mac in few steps</title>
<published>2010-10-10T16:39:00Z</published>
<updated>2010-10-10T16:39:00Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/" rel="alternate"/>
<content type="html">&lt;p&gt;&lt;img alt="Title image" src="/Scratch/img/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/main.png" class="clean" /&gt;&lt;/p&gt;
@ -294,10 +254,6 @@ Now I&amp;rsquo;m able to sign and encrypt my emails.&lt;/p&gt;
<title type="html">New Blog Design Constraints</title>
<published>2010-10-06T09:33:03Z</published>
<updated>2010-10-06T09:33:03Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-10-06-New-Blog-Design-Constraints/" rel="alternate"/>
<content type="html">&lt;p&gt;I changed the design of my blog.
Now it should be far cleaner.
@ -322,10 +278,6 @@ Then my new design obey to the following rules:&lt;/p&gt;
<title type="html">Use git to calculate trusted mtimes</title>
<published>2010-09-02T13:54:10Z</published>
<updated>2010-09-02T13:54:10Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/" rel="alternate"/>
<content type="html">&lt;p&gt;You can remark at the bottom of each page I provide a last modification date.
This label was first calculated using the &lt;code&gt;mtime&lt;/code&gt; of the file on the file system.
@ -341,14 +293,10 @@ This is how I do this with &lt;a href="http://nanoc.stoneship.org"&gt;nanoc&lt;/
&lt;span class="Keyword"&gt;def&lt;/span&gt; &lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content>
</entry>
<entry>
<id>tag:yannesposito.com,2010-09-02:/Scratch/en/blog/2010-09-02-base64-and-sha1-on-iPhone/</id>
<id>tag:yannesposito.com,2010-09-01:/Scratch/en/blog/2010-09-02-base64-and-sha1-on-iPhone/</id>
<title type="html">base64 and sha1 on iPhone</title>
<published>2010-09-01T22:02:17Z</published>
<updated>2010-09-01T22:02:17Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-09-02-base64-and-sha1-on-iPhone/" rel="alternate"/>
<content type="html">&lt;p&gt;Lets be straight:
here are two functions to add to your code to have &lt;code&gt;base64&lt;/code&gt; and &lt;code&gt;hexadecimal&lt;/code&gt; version of the &lt;code&gt;sha1&lt;/code&gt; hash of an NSString.&lt;/p&gt;
@ -367,10 +315,6 @@ here are two functions to add to your code to have &lt;code&gt;base64&lt;/code&g
<title type="html">send mail from command line with attached file</title>
<published>2010-08-31T08:16:04Z</published>
<updated>2010-08-31T08:16:04Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-08-31-send-mail-from-command-line-with-attached-file/" rel="alternate"/>
<content type="html">&lt;p&gt;I had to send a mail using only command line.
I was surprised it isn&amp;rsquo;t straightforward at all.
@ -398,10 +342,6 @@ begin 664 fic....&lt;/pre&gt;</content>
<title type="html">Now hosted by heroku</title>
<published>2010-08-23T13:05:13Z</published>
<updated>2010-08-23T13:05:13Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-08-23-Now-heberged-on-heroku/" rel="alternate"/>
<content type="html">&lt;h1 class="first" id="now-on-herokuhttpherokucom"&gt;Now on &lt;a href="http://heroku.com"&gt;Heroku&lt;/a&gt;&lt;/h1&gt;
@ -423,10 +363,6 @@ But here is the conf to make it work on heroku.&lt;/p&gt;
<title type="html">Undecidabilities (part 1)</title>
<published>2010-08-11T08:04:31Z</published>
<updated>2010-08-11T08:04:31Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-07-09-Indecidabilities/" rel="alternate"/>
<content type="html">
&lt;div class="intro"&gt;
@ -469,10 +405,6 @@ And I&amp;rsquo;ll...&lt;/p&gt;&lt;/div&gt;</content>
<title type="html">New style after holidays</title>
<published>2010-07-31T21:59:10Z</published>
<updated>2010-07-31T21:59:10Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-07-31-New-style-after-holidays/" rel="alternate"/>
<content type="html">&lt;p&gt;Before my holidays many visitors tell me my website was too long to scroll.
This is why I completely changed my website design.
@ -487,10 +419,6 @@ I was inspired by Readability and iBooks&lt;small&gt;&amp;copy;&lt;/small&gt; (t
<title type="html">Do not use CSS gradient with Chrome</title>
<published>2010-07-07T13:43:43Z</published>
<updated>2010-07-07T13:43:43Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-07-07-CSS-rendering-problems-by-navigator/" rel="alternate"/>
<content type="html">&lt;p&gt;Some &lt;a href="http://reddit.com"&gt;Reddit&lt;/a&gt; users reported my website was really long to load and to scroll.
They thinks it was because of the &amp;lsquo;1px shadow&amp;rsquo; I apply on all the text.
@ -512,10 +440,6 @@ I was a bit surprised, because I make some test into a really &lt;em&gt;slow&lt;
<title type="html">Cappuccino vs jQuery</title>
<published>2010-07-05T11:49:04Z</published>
<updated>2010-07-05T11:49:04Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-07-05-Cappuccino-and-Web-applications/" rel="alternate"/>
<content type="html">
&lt;div class="intro"&gt;
@ -543,14 +467,10 @@ I was a bit surprised, because I make some test into a really &lt;em&gt;slow&lt;
Nonetheless I used these two to make the same web application. This is why I compare the exp...&lt;/p&gt;&lt;/div&gt;&lt;/hr&gt;</content>
</entry>
<entry>
<id>tag:yannesposito.com,2010-06-19:/Scratch/en/blog/2010-06-19-jQuery-popup-the-easy-way/</id>
<id>tag:yannesposito.com,2010-06-18:/Scratch/en/blog/2010-06-19-jQuery-popup-the-easy-way/</id>
<title type="html">jQuery popup the easy way</title>
<published>2010-06-18T22:44:50Z</published>
<updated>2010-06-18T22:44:50Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-06-19-jQuery-popup-the-easy-way/" rel="alternate"/>
<content type="html">&lt;p&gt;Some source code on this blog can be downloaded.
Most of time, the code is larger than the &lt;code&gt;div&lt;/code&gt; bloc.
@ -569,10 +489,6 @@ This is why I use a method to show this code in a large jQuery popup. &lt;/p&gt;
<title type="html">Hide Yourself to your Analytics</title>
<published>2010-06-17T14:37:22Z</published>
<updated>2010-06-17T14:37:22Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-06-17-hide-yourself-to-analytics/" rel="alternate"/>
<content type="html">&lt;p&gt;This is a way not to count your own visits to your blog.
First you should look on how &lt;a href="/Scratch/en/blog/2010-06-17-track-events-with-google-analytics"&gt;I handle analytics&lt;/a&gt;. All analytics are handled in one javascript file, this make things really convenient.&lt;/p&gt;
@ -591,10 +507,6 @@ First you should look on how &lt;a href="/Scratch/en/blog/2010-06-17-track-event
<title type="html">Track Events with Google Analytics</title>
<published>2010-06-17T12:41:36Z</published>
<updated>2010-06-17T12:41:36Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-06-17-track-events-with-google-analytics/" rel="alternate"/>
<content type="html">&lt;p&gt;Here is how to track all clicks on your website using google analytics asynchronously.&lt;/p&gt;
@ -608,10 +520,6 @@ First you should look on how &lt;a href="/Scratch/en/blog/2010-06-17-track-event
<title type="html">Get my blog engine</title>
<published>2010-06-15T08:56:32Z</published>
<updated>2010-06-15T08:56:32Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-06-15-Get-my-blog-engine/" rel="alternate"/>
<content type="html">&lt;p&gt;I published a &lt;em&gt;light&lt;/em&gt; version of my blog engine based on &lt;a href="http://nanoc.stoneship.org"&gt;nanoc&lt;/a&gt; yesterday night. By &lt;em&gt;light&lt;/em&gt;, I mean a lighter, more portable CSS (without round border).
You can get it on &lt;a href="http://github.com/yogsototh/nanoc3_blog"&gt;github.com&lt;/a&gt;.&lt;/p&gt;
@ -632,10 +540,6 @@ You can get it on &lt;a href="http://github.com/yogsototh/nanoc3_blog"&gt;github
<title type="html">multi language choices</title>
<published>2010-06-14T14:14:57Z</published>
<updated>2010-06-14T14:14:57Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-06-14-multi-language-choices/" rel="alternate"/>
<content type="html">&lt;p&gt;I translate most of my blog entries in French and English.
Most people advice me to have one file per language. Generally it ends with:&lt;/p&gt;
@ -668,10 +572,6 @@ Finally my files...&lt;/p&gt;</content>
<title type="html">Trees; Pragmatism and Formalism</title>
<published>2010-05-24T18:05:14Z</published>
<updated>2010-05-24T18:05:14Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-05-24-Trees--Pragmatism-and-Formalism/" rel="alternate"/>
<content type="html">
&lt;div class="intro"&gt;
@ -704,10 +604,6 @@ I entered in the &lt;em&gt;infernal&lt;/em&gt;: ...&lt;/p&gt;</content>
<title type="html">How to repair a cutted XML?</title>
<published>2010-05-19T20:20:34Z</published>
<updated>2010-05-19T20:20:34Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-05-19-How-to-cut-HTML-and-repair-it/" rel="alternate"/>
<content type="html">&lt;p&gt;For my main page, you can see, a list of my latest blog entry. And you have the first part of each article. To accomplish that, I needed to include the begining of the entry and to cut it somewhere. But now, I had to repair this cutted HTML.&lt;/p&gt;
@ -722,10 +618,6 @@ I entered in the &lt;em&gt;infernal&lt;/em&gt;: ...&lt;/p&gt;</content>
<title type="html">I live again!</title>
<published>2010-05-17T11:25:51Z</published>
<updated>2010-05-17T11:25:51Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-05-17-at-least-this-blog-revive/" rel="alternate"/>
<content type="html">&lt;p&gt;Hi all!&lt;/p&gt;
@ -747,10 +639,6 @@ I entered in the &lt;em&gt;infernal&lt;/em&gt;: ...&lt;/p&gt;</content>
<title type="html">Encapsulate git</title>
<published>2010-03-23T20:37:36Z</published>
<updated>2010-03-23T20:37:36Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-03-23-Encapsulate-git/" rel="alternate"/>
<content type="html">&lt;div class="intro"&gt;
Here is a solution to maintain divergent branches in git. Because it is easy to merge by mistake. I give a script that encapsulate git in order to forbid some merge and warn you some merge should be dangerous.
@ -777,10 +665,6 @@ clientB: project adapted for client B&lt;/p&gt;
<title type="html">Git Tips</title>
<published>2010-03-22T08:42:27Z</published>
<updated>2010-03-22T08:42:27Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-03-22-Git-Tips/" rel="alternate"/>
<content type="html">&lt;h2 class="first" id="clone-from-github-behind-an-evil-firewall"&gt;clone from github behind an evil firewall&lt;/h2&gt;
@ -818,10 +702,6 @@ $ git ...&lt;/pre&gt;&lt;/div&gt;</content>
<title type="html">When regexp is not the best solution</title>
<published>2010-02-23T08:09:52Z</published>
<updated>2010-02-23T08:09:52Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-02-23-When-regexp-is-not-the-best-solution/" rel="alternate"/>
<content type="html">&lt;p&gt;Regular expression are really useful. Unfortunately, they are not always the best way of doing things.
Particularly when transformations you want to make are easy.&lt;/p&gt;
@ -838,10 +718,6 @@ ext&lt;span class="Keyword"&gt;=&lt;/span&gt;&lt;span class="Variable"&gt;&lt;sp
<title type="html">split a file by keyword</title>
<published>2010-02-18T13:29:14Z</published>
<updated>2010-02-18T13:29:14Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-02-18-split-a-file-by-keyword/" rel="alternate"/>
<content type="html">&lt;p&gt;Strangely enough, I didn&amp;rsquo;t find any built-in tool to split a file by keyword. I made one myself in &lt;code&gt;awk&lt;/code&gt;. I put it here mostly for myself. But it could also helps someone else.
The following code split a file for each line containing the word &lt;code&gt;UTC&lt;/code&gt;.&lt;/p&gt;
@ -860,10 +736,6 @@ The following code split a file for each line containing the word &lt;code&gt;UT
<title type="html">Pragmatic Regular Expression Exclude (2)</title>
<published>2010-02-16T08:33:21Z</published>
<updated>2010-02-16T08:33:21Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-02-16-All-but-something-regexp--2-/" rel="alternate"/>
<content type="html">&lt;p&gt;In my &lt;a href="previouspost"&gt;previous post&lt;/a&gt; I had given some trick to match all except something. On the same idea, the trick to match the smallest possible string. Say you want to match the string between &amp;lsquo;a&amp;rsquo; and &amp;lsquo;b&amp;rsquo;, for example, you want to match:&lt;/p&gt;
@ -889,10 +761,6 @@ a.....&lt;span class="Constant"&gt;&lt;strong&gt;a......b&lt;/strong&gt;&lt;/spa
<title type="html">Pragmatic Regular Expression Exclude</title>
<published>2010-02-15T09:16:12Z</published>
<updated>2010-02-15T09:16:12Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-02-15-All-but-something-regexp/" rel="alternate"/>
<content type="html">&lt;p&gt;Sometimes you cannot simply write:&lt;/p&gt;
@ -911,10 +779,6 @@ a.....&lt;span class="Constant"&gt;&lt;strong&gt;a......b&lt;/strong&gt;&lt;/spa
<title type="html">antialias font in Firefox under Ubuntu</title>
<published>2010-01-12T14:36:40Z</published>
<updated>2010-01-12T14:36:40Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/" rel="alternate"/>
<content type="html">&lt;p&gt;How to stop using bad Microsoft&#169; font under Ubuntu Linux in order to user nice anti aliased font under Firefox.&lt;/p&gt;
@ -932,10 +796,6 @@ a.....&lt;span class="Constant"&gt;&lt;strong&gt;a......b&lt;/strong&gt;&lt;/spa
<title type="html">Change default shell on Mac OS X</title>
<published>2010-01-04T10:31:47Z</published>
<updated>2010-01-04T10:31:47Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/" rel="alternate"/>
<content type="html">&lt;p&gt;I just found a way to change the default shell on Mac OS X. This note is mostly for me, but somebody else should find it useful. Just launch the following command: &lt;/p&gt;
@ -949,10 +809,6 @@ a.....&lt;span class="Constant"&gt;&lt;strong&gt;a......b&lt;/strong&gt;&lt;/spa
<title type="html">Git vs. Bzr</title>
<published>2009-12-14T08:46:36Z</published>
<updated>2009-12-14T08:46:36Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2009-12-14-Git-vs--Bzr/" rel="alternate"/>
<content type="html">
&lt;div class="intro"&gt;
@ -975,10 +831,6 @@ a.....&lt;span class="Constant"&gt;&lt;strong&gt;a......b&lt;/strong&gt;&lt;/spa
<title type="html">iphone call filter</title>
<published>2009-12-06T09:35:34Z</published>
<updated>2009-12-06T09:35:34Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2009-12-06-iphone-call-filter/" rel="alternate"/>
<content type="html">&lt;p&gt;It is unbelievable you cannot filter your call with an iPhone! The only reason I see for that is a negotiation with phone operator to force users to get phone advertising. It is simple unacceptable.&lt;/p&gt;
@ -990,10 +842,6 @@ a.....&lt;span class="Constant"&gt;&lt;strong&gt;a......b&lt;/strong&gt;&lt;/spa
<title type="html">Git for n00b</title>
<published>2009-11-12T09:39:54Z</published>
<updated>2009-11-12T09:39:54Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/commandes-avancees/" rel="alternate"/>
<content type="html">&lt;h1 class="first" id="command-list"&gt;Command List&lt;/h1&gt;
@ -1023,10 +871,6 @@ $ g...&lt;/pre&gt;&lt;/div&gt;</content>
<title type="html">Git for n00b</title>
<published>2009-11-12T09:39:54Z</published>
<updated>2009-11-12T09:39:54Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/" rel="alternate"/>
<content type="html">
&lt;div class="intro"&gt;
@ -1058,10 +902,6 @@ git clone ssh...&lt;/pre&gt;&lt;/div&gt;</content>
<title type="html">Git for n00b</title>
<published>2009-11-12T09:39:54Z</published>
<updated>2009-11-12T09:39:54Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/" rel="alternate"/>
<content type="html">&lt;h1 class="first" id="here-we-go"&gt;Here we go!&lt;/h1&gt;

View file

@ -429,7 +429,7 @@ It is both safe and easy to use everyday.</p>
<li style="line-height: 3em; margin: 0;">
<span class="date">
<span class="day">19</span>
<span class="day">18</span>
<span class="month">Jun</span>
<span class="year">2010</span>
</span>
@ -888,7 +888,7 @@ It is both safe and easy to use everyday.</p>
</ul><a class="return" href="#tagcloud">&uarr;</a></div><div id="iPhone" class="list"><h4>iPhone</h4><ul style="list-style-type: none; margin: 0;">
<li style="line-height: 3em; margin: 0;">
<span class="date">
<span class="day">2</span>
<span class="day">1</span>
<span class="month">Sep</span>
<span class="year">2010</span>
</span>
@ -933,7 +933,7 @@ It is both safe and easy to use everyday.</p>
<li style="line-height: 3em; margin: 0;">
<span class="date">
<span class="day">19</span>
<span class="day">18</span>
<span class="month">Jun</span>
<span class="year">2010</span>
</span>
@ -996,7 +996,7 @@ It is both safe and easy to use everyday.</p>
<li style="line-height: 3em; margin: 0;">
<span class="date">
<span class="day">19</span>
<span class="day">18</span>
<span class="month">Jun</span>
<span class="year">2010</span>
</span>
@ -1203,7 +1203,7 @@ It is both safe and easy to use everyday.</p>
</ul><a class="return" href="#tagcloud">&uarr;</a></div><div id="Objective_C" class="list"><h4>Objective-C</h4><ul style="list-style-type: none; margin: 0;">
<li style="line-height: 3em; margin: 0;">
<span class="date">
<span class="day">2</span>
<span class="day">1</span>
<span class="month">Sep</span>
<span class="year">2010</span>
</span>
@ -1230,7 +1230,7 @@ It is both safe and easy to use everyday.</p>
</ul><a class="return" href="#tagcloud">&uarr;</a></div><div id="popup" class="list"><h4>popup</h4><ul style="list-style-type: none; margin: 0;">
<li style="line-height: 3em; margin: 0;">
<span class="date">
<span class="day">19</span>
<span class="day">18</span>
<span class="month">Jun</span>
<span class="year">2010</span>
</span>
@ -1239,7 +1239,7 @@ It is both safe and easy to use everyday.</p>
</ul><a class="return" href="#tagcloud">&uarr;</a></div><div id="Programming" class="list"><h4>Programming</h4><ul style="list-style-type: none; margin: 0;">
<li style="line-height: 3em; margin: 0;">
<span class="date">
<span class="day">2</span>
<span class="day">1</span>
<span class="month">Sep</span>
<span class="year">2010</span>
</span>
@ -1743,7 +1743,7 @@ It is both safe and easy to use everyday.</p>
<li style="line-height: 3em; margin: 0;">
<span class="date">
<span class="day">19</span>
<span class="day">18</span>
<span class="month">Jun</span>
<span class="year">2010</span>
</span>
@ -1957,7 +1957,7 @@ It is both safe and easy to use everyday.</p>
<span class="month">Sep</span>
<span class="year">2010</span>
</span> <a href="/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/">Use git to calculate trusted mtimes<span class="nicer">»</span></a></li><li><span class="date">
<span class="day">2</span>
<span class="day">1</span>
<span class="month">Sep</span>
<span class="year">2010</span>
</span> <a href="/Scratch/en/blog/2010-09-02-base64-and-sha1-on-iPhone/">base64 and sha1 on iPhone<span class="nicer">»</span></a></li><li><span class="date">
@ -1985,7 +1985,7 @@ It is both safe and easy to use everyday.</p>
<span class="month">Jul</span>
<span class="year">2010</span>
</span> <a href="/Scratch/en/blog/2010-07-05-Cappuccino-and-Web-applications/">Cappuccino vs jQuery<span class="nicer">»</span></a></li><li><span class="date">
<span class="day">19</span>
<span class="day">18</span>
<span class="month">Jun</span>
<span class="year">2010</span>
</span> <a href="/Scratch/en/blog/2010-06-19-jQuery-popup-the-easy-way/">jQuery popup the easy way<span class="nicer">»</span></a></li><li><span class="date">

View file

@ -14,10 +14,6 @@
<title type="html">Apprenez Vim Progressivement</title>
<published>2011-08-25T17:28:20Z</published>
<updated>2011-08-25T17:28:20Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/Learn-Vim-Progressively/" rel="alternate"/>
<content type="html">&lt;p&gt;&lt;img alt="&#220;ber leet use vim!" src="/Scratch/img/blog/Learn-Vim-Progressively/uber_leet_use_vim.jpg" /&gt;&lt;/p&gt;
@ -46,10 +42,6 @@ Sa prise en mais est difficile, mais p...&lt;/p&gt;&lt;/p&gt;</content>
<title type="html">Un diff plus pratique</title>
<published>2011-08-17T09:33:30Z</published>
<updated>2011-08-17T09:33:30Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/A-more-convenient-diff/" rel="alternate"/>
<content type="html">&lt;p&gt;&lt;code&gt;diff&lt;/code&gt; est un utilitaire tr&#232;s pratique, mais il n&amp;rsquo;est pas facile &#224; lire pour nous, les Hommes.&lt;/p&gt;
@ -72,10 +64,6 @@ function colorize_diff {
<title type="html">Mandelbrot avec haskell</title>
<published>2011-07-10T10:41:26Z</published>
<updated>2011-07-10T10:41:26Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/Haskell-Mandelbrot/" rel="alternate"/>
<content type="html">&lt;p&gt;Voici le code &amp;ldquo;obfusqu&#233;&amp;rdquo;&amp;nbsp;:&lt;/p&gt;
@ -90,10 +78,6 @@ a=27;b=79;c=&lt;span class="Constant"&gt;C&lt;/span&gt;(-2.0,-1.0);d=&lt;span cl
<title type="html">Password Management</title>
<published>2011-05-18T11:14:28Z</published>
<updated>2011-05-18T11:14:28Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/Password-Management/" rel="alternate"/>
<content type="html">&lt;p&gt;&lt;img alt="Title image" src="/Scratch/img/blog/Password-Management/main.png" /&gt;&lt;/p&gt;
@ -120,10 +104,6 @@ Bon, d&amp;rsquo;accord, m&#234;me si vous ne t&#233;l&#233;chargez pas mon appl
<title type="html">H&#233;bergement github</title>
<published>2011-04-20T15:22:15Z</published>
<updated>2011-04-20T15:22:15Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2011-04-20-Now-hosted-on-github/" rel="alternate"/>
<content type="html">&lt;p&gt;&lt;img alt="Title image" src="/Scratch/img/blog/2011-04-20-Now-hosted-on-github/main.png" /&gt;&lt;/p&gt;
@ -135,10 +115,6 @@ Bon, d&amp;rsquo;accord, m&#234;me si vous ne t&#233;l&#233;chargez pas mon appl
<title type="html">Pourquoi je n'utiliserai pas CoffeeScript (malheureusement)</title>
<published>2011-01-03T08:37:26Z</published>
<updated>2011-01-03T08:37:26Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/" rel="alternate"/>
<content type="html">&lt;p&gt;&lt;img alt="Title image" src="/Scratch/img/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/main.png" /&gt;&lt;/p&gt;
@ -165,10 +141,6 @@ Tout d&amp;rsquo;abord, je viens de d&#233;couvrir un convertisseur javascript v
<title type="html">Bonne et heureuse ann&#233;e</title>
<published>2011-01-01T06:55:54Z</published>
<updated>2011-01-01T06:55:54Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2011-01-03-Happy-New-Year/" rel="alternate"/>
<content type="html">&lt;p&gt;Bonne et heureuse ann&#233;e&amp;nbsp;!&lt;/p&gt;
@ -190,10 +162,6 @@ Je n&amp;rsquo;en ai pas encore termin&#233; avec &#231;a. Mais si je tarde trop
<title type="html">Des macros LaTeX pour markdown</title>
<published>2010-10-26T12:30:58Z</published>
<updated>2010-10-26T12:30:58Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-10-26-LaTeX-like-macro-and-markdown/" rel="alternate"/>
<content type="html">
&lt;div class="intro"&gt;
@ -213,10 +181,6 @@ Lorsqu&amp;rsquo;on est habitu&#233; &#224; &lt;span style="text-transform: uppe
<title type="html">S'amuser avec un .wav</title>
<published>2010-10-14T09:04:58Z</published>
<updated>2010-10-14T09:04:58Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-10-14-Fun-with-wav/" rel="alternate"/>
<content type="html">
&lt;div class="intro"&gt;
@ -241,10 +205,6 @@ De m&#233;moire il &#233;tait peu ais&#233; de manipuler des ...&lt;/p&gt;</cont
<title type="html">S&#233;curisez vos emails</title>
<published>2010-10-10T16:39:00Z</published>
<updated>2010-10-10T16:39:00Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/" rel="alternate"/>
<content type="html">&lt;p&gt;&lt;img alt="Title image" src="/Scratch/img/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/main.png" class="clean" /&gt;&lt;/p&gt;
@ -274,10 +234,6 @@ Il y a seulement quelques ann&#233;es c&amp;rs...&lt;/p&gt;&lt;/p&gt;</content>
<title type="html">Contraintes du design de ce blog</title>
<published>2010-10-06T09:33:03Z</published>
<updated>2010-10-06T09:33:03Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-10-06-New-Blog-Design-Constraints/" rel="alternate"/>
<content type="html">&lt;p&gt;Vous avez pu constater que j&amp;rsquo;ai modifi&#233; le design de mon blog.
Maintenant il doit &#234;tre beaucoup plus l&#233;ger qu&amp;rsquo;avant.
@ -297,10 +253,6 @@ Les r&#232;gles que je me suis fix&#233;es sont donc:&lt;/p&gt;
<title type="html">Utilisation de git pour calculer les mtimes</title>
<published>2010-09-02T13:54:10Z</published>
<updated>2010-09-02T13:54:10Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/" rel="alternate"/>
<content type="html">&lt;p&gt;Vous pouvez remarquer qu&amp;rsquo;&#224; la fin de chaque page je donne une date de derni&#232;re modification.
Pr&#233;c&#233;demment cette date &#233;tait calcul&#233;e en utilisant la date du fichier.
@ -318,10 +270,6 @@ Voici comment je m&amp;rsquo;y prend avec &lt;a href="http://nanoc.stoneship.org
<title type="html">base64 et sha1 sur iPhone</title>
<published>2010-09-01T22:02:17Z</published>
<updated>2010-09-01T22:02:17Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-09-02-base64-and-sha1-on-iPhone/" rel="alternate"/>
<content type="html">&lt;p&gt;Allons directement &#224; l&amp;rsquo;essentiel&amp;nbsp;:
voici deux fonctions &#224; int&#233;grer &#224; votre application iPhone pour afficher l&amp;rsquo;encodage en base64 ou en hexadecimal du hash sha1 d&amp;rsquo;un string en Objective-C pour iPhone.&lt;/p&gt;
@ -339,10 +287,6 @@ Puis&amp;nbsp;:&lt;/p&gt;
<title type="html">Envoyer un mail en ligne de commande avec un fichier attach&#233;</title>
<published>2010-08-31T08:16:04Z</published>
<updated>2010-08-31T08:16:04Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-08-31-send-mail-from-command-line-with-attached-file/" rel="alternate"/>
<content type="html">&lt;p&gt;J&amp;rsquo;ai d&#251; envoyer un mail en ligne de commande r&#233;cemment.
Quelle ne f&#251;t pas ma surprise lorsque je constatais que ce n&amp;rsquo;&#233;tait vraiment pas &#233;vident.
@ -364,10 +308,6 @@ Je l&amp;rsquo;ai compress&#233; au format &lt;code&gt;.gz&lt;/code&gt;, &lt;/p&
<title type="html">Maintenant sur Heroku</title>
<published>2010-08-23T13:05:13Z</published>
<updated>2010-08-23T13:05:13Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-08-23-Now-heberged-on-heroku/" rel="alternate"/>
<content type="html">&lt;h1 class="first" id="maintenant-sur-herokuhttpherokucom"&gt;Maintenant sur &lt;a href="http://heroku.com"&gt;Heroku&lt;/a&gt;&lt;/h1&gt;
@ -385,10 +325,6 @@ Voici comment configurer un site statique sur heroku.&lt;/p&gt;
<title type="html">Ind&#233;cidabilit&#233;s (partie 1)</title>
<published>2010-08-11T08:04:31Z</published>
<updated>2010-08-11T08:04:31Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-07-09-Indecidabilities/" rel="alternate"/>
<content type="html">
&lt;div class="intro"&gt;
@ -428,10 +364,6 @@ Je vais me mettre &#224; sa p...&lt;/p&gt;&lt;/div&gt;</content>
<title type="html">Nouveau style apr&#232;s les vacances</title>
<published>2010-07-31T21:59:10Z</published>
<updated>2010-07-31T21:59:10Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-07-31-New-style-after-holidays/" rel="alternate"/>
<content type="html">&lt;p&gt;Avant les vacances beaucoup d&amp;rsquo;utilisateurs se sont plaints de la lenteur de rendu de mon site.
Il s&amp;rsquo;agit notamment de probl&#232;mes avec Chrome en particulier.
@ -447,10 +379,6 @@ Il est inspir&#233; du style de l&amp;rsquo;application iBooks&lt;small&gt;&amp;
<title type="html">N'utilisez pas de gradients avec Chrome</title>
<published>2010-07-07T13:43:43Z</published>
<updated>2010-07-07T13:43:43Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-07-07-CSS-rendering-problems-by-navigator/" rel="alternate"/>
<content type="html">&lt;p&gt;Beaucoup d&amp;rsquo;utilisateurs de &lt;a href="http://reddit.com"&gt;Reddit&lt;/a&gt; m&amp;rsquo;ont rapport&#233; que mon site &#233;tait tr&#232;s long &#224; charger et &#224; &lt;em&gt;scroller&lt;/em&gt;.
Ils pensaient qu&amp;rsquo;il s&amp;rsquo;agissait d&amp;rsquo;un probl&#232;me d&#251; aux ombres que j&amp;rsquo;applique sur le texte.
@ -471,10 +399,6 @@ En r&#233;alit&#233;, ce qui ralenti le rendu de ce site est par ordre d&amp;rsq
<title type="html">Cappuccino ou jQuery ?</title>
<published>2010-07-05T11:49:04Z</published>
<updated>2010-07-05T11:49:04Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-07-05-Cappuccino-and-Web-applications/" rel="alternate"/>
<content type="html">
&lt;div class="intro"&gt;
@ -505,10 +429,6 @@ En r&#233;alit&#233;, ce qui ralenti le rendu de ce site est par ordre d&amp;rsq
<title type="html">Comment faire des popups en jQuery rapidement</title>
<published>2010-06-18T22:44:50Z</published>
<updated>2010-06-18T22:44:50Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-06-19-jQuery-popup-the-easy-way/" rel="alternate"/>
<content type="html">&lt;p&gt;Sur ce blog, je donne parfois la possibilit&#233; de t&#233;l&#233;charger certaines sources de code.
Dans ce cas, le code est souvent plus large que le &lt;code&gt;div&lt;/code&gt; qui le contient.
@ -527,10 +447,6 @@ C&amp;rsquo;est pourquoi, j&amp;rsquo;utilise une m&#233;thode qui permet d&amp;
<title type="html">Se cacher de ses statistiques web</title>
<published>2010-06-17T14:37:22Z</published>
<updated>2010-06-17T14:37:22Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-06-17-hide-yourself-to-analytics/" rel="alternate"/>
<content type="html">&lt;p&gt;Voici un moyen tr&#232;s simple de ne plus &#234;tre comptabilis&#233; dans les visites de son propre site.
Tout d&amp;rsquo;abord, vous devriez jeter un coup d&amp;rsquo;&#339;il sur comment &lt;a href="/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics"&gt;je g&#232;re les syst&#232;mes de r&#233;cup&#233;ration de statistiques&lt;/a&gt;.
@ -548,10 +464,6 @@ Je centralise tout dans un seul fichier javascript ce qui facilite le travail.&l
<title type="html">Analyser les clicks sur votre Site</title>
<published>2010-06-17T12:41:36Z</published>
<updated>2010-06-17T12:41:36Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics/" rel="alternate"/>
<content type="html">&lt;p&gt;Voici comment analyser tous les clics que font vos utilisateurs sur votre blog en incluant google analytics de fa&#231;on asynchrone.&lt;/p&gt;
@ -565,10 +477,6 @@ Je centralise tout dans un seul fichier javascript ce qui facilite le travail.&l
<title type="html">R&#233;cup&#233;rez mon syst&#232;me de blog</title>
<published>2010-06-15T08:56:32Z</published>
<updated>2010-06-15T08:56:32Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-06-15-Get-my-blog-engine/" rel="alternate"/>
<content type="html">&lt;p&gt;J&amp;rsquo;ai publi&#233; une version &lt;em&gt;light&lt;/em&gt; de mon syst&#232;me de blog hier soir. Par &lt;em&gt;light&lt;/em&gt; il faut comprendre avec un CSS plus &#233;pur&#233; et plus portable (sans les bords ronds).
Vous pouvez le r&#233;cup&#233;rer sur &lt;a href="http://github.com/yogsototh/nanoc3_blog"&gt;github.com&lt;/a&gt;.&lt;/p&gt;
@ -587,10 +495,6 @@ Vous pouvez le r&#233;cup&#233;rer sur &lt;a href="http://github.com/yogsototh/n
<title type="html">choix li&#233;s &#224; l'&#233;criture dans plusieurs langues</title>
<published>2010-06-14T14:14:57Z</published>
<updated>2010-06-14T14:14:57Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-06-14-multi-language-choices/" rel="alternate"/>
<content type="html">&lt;p&gt;Je traduis la plupart de mes articles pour qu&amp;rsquo;ils soient disponibles en fran&#231;ais et en anglais.
La fa&#231;on que l&amp;rsquo;on m&amp;rsquo;a conseill&#233; &#233;tait d&amp;rsquo;avoir un fichier par langue. En g&#233;n&#233;ral &#231;a donne &#231;a.&lt;/p&gt;
@ -621,10 +525,6 @@ Lorsque je m&amp;...&lt;/p&gt;</content>
<title type="html">Arbres ; Pragmatisme et Formalisme</title>
<published>2010-05-24T18:05:14Z</published>
<updated>2010-05-24T18:05:14Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-05-24-Trees--Pragmatism-and-Formalism/" rel="alternate"/>
<content type="html">
&lt;div class="intro"&gt;
@ -654,10 +554,6 @@ Lorsque je m&amp;...&lt;/p&gt;</content>
<title type="html">Comment r&#233;parer un XML coup&#233; ?</title>
<published>2010-05-19T20:20:34Z</published>
<updated>2010-05-19T20:20:34Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-05-19-How-to-cut-HTML-and-repair-it/" rel="alternate"/>
<content type="html">&lt;p&gt;Sur ma page d&amp;rsquo;accueil vous pouvez voir la liste des mes derniers articles avec le d&#233;but de ceux-ci. Pour arriver &#224; faire &#231;a, j&amp;rsquo;ai besoin de couper le code XHTML de mes pages en plein milieu. Il m&amp;rsquo;a donc fallu trouver un moyen de les r&#233;parer.&lt;/p&gt;
@ -672,10 +568,6 @@ Lorsque je m&amp;...&lt;/p&gt;</content>
<title type="html">Je reviens &#224; la vie !</title>
<published>2010-05-17T11:25:51Z</published>
<updated>2010-05-17T11:25:51Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-05-17-at-least-this-blog-revive/" rel="alternate"/>
<content type="html">&lt;p&gt;Bonjour &#224; tous&amp;nbsp;!&lt;/p&gt;
@ -695,10 +587,6 @@ Lorsque je m&amp;...&lt;/p&gt;</content>
<title type="html">Encapsuler git</title>
<published>2010-03-23T20:37:36Z</published>
<updated>2010-03-23T20:37:36Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-03-23-Encapsulate-git/" rel="alternate"/>
<content type="html">&lt;p&gt;&lt;span class="intro"&gt;
Voici une solution pour conserver des branches divergentes avec &lt;code&gt;git&lt;/code&gt;.
@ -720,10 +608,6 @@ Parce qu&amp;rsquo;il est facile de &lt;em&gt;merger&lt;/em&gt; par erreur, je p
<title type="html">Astuces Git</title>
<published>2010-03-22T08:42:27Z</published>
<updated>2010-03-22T08:42:27Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-03-22-Git-Tips/" rel="alternate"/>
<content type="html">&lt;h2 class="first" id="cloner-de-github--travers-un-pare-feu"&gt;Cloner de github &#224; travers un pare-feu&lt;/h2&gt;
@ -756,10 +640,6 @@ git branch --track local_branch remote_branch
<title type="html">Quand se passer des expressions r&#233;guli&#232;res ?</title>
<published>2010-02-23T08:09:52Z</published>
<updated>2010-02-23T08:09:52Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-02-23-When-regexp-is-not-the-best-solution/" rel="alternate"/>
<content type="html">&lt;p&gt;Les expressions r&#233;guli&#232;res sont tr&#232;s utiles. Cependant, elles ne sont pas toujours la meilleure mani&#232;re d&amp;rsquo;aborder certain probl&#232;me autour des chaines de caract&#232;res.
Et surtout quand les transformations que vous voulez accomplir sont simples.&lt;/p&gt;
@ -775,10 +655,6 @@ str.&lt;span class="Entity"&gt;match&lt;/span&gt;(&lt;span class="StringRegexp"&
<title type="html">d&#233;couper un fichier par mots cl&#233;s</title>
<published>2010-02-18T13:29:14Z</published>
<updated>2010-02-18T13:29:14Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-02-18-split-a-file-by-keyword/" rel="alternate"/>
<content type="html">&lt;p&gt;Assez bizarrement, je n&amp;rsquo;ai trouv&#233; aucun outil UNIX pour d&#233;couper un fichier par mot cl&#233;.
Alors j&amp;rsquo;en ai fait un en &lt;code&gt;awk&lt;/code&gt;. Je le met ici principalement pour moi, mais &#231;a peut toujours servir &#224; quelqu&amp;rsquo;un d&amp;rsquo;autre.
@ -798,10 +674,6 @@ Le code suivant d&#233;coupe un fichier pour chacune de ses ligne contenant le m
<title type="html">Tout sauf quelquechose en expression r&#233;guli&#232;re.</title>
<published>2010-02-16T08:33:21Z</published>
<updated>2010-02-16T08:33:21Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-02-16-All-but-something-regexp--2-/" rel="alternate"/>
<content type="html">&lt;p&gt;Dans mon &lt;a href="previouspost"&gt;pr&#233;c&#233;dent article&lt;/a&gt; j&amp;rsquo;ai donn&#233; certaines astuces pour matcher &amp;lsquo;tout sauf quelque chose&amp;rsquo;. De la m&#234;me mani&#232;re, un truc pour matcher la chaine de caract&#232;re la plus petite possible.
Disons que vous voulez matcher la chaine de caract&#232;re entre &amp;lsquo;a&amp;rsquo; et &amp;lsquo;b&amp;rsquo;. Par exemple, vous voulez matcher&amp;nbsp;:&lt;/p&gt;
@ -824,10 +696,6 @@ a.....&lt;span class="Constant"&gt;&lt;strong&gt;a......b&lt;/strong&gt;&lt;/spa
<title type="html">Expression r&#233;guli&#232;re pour tout sauf quelquechose</title>
<published>2010-02-15T09:16:12Z</published>
<updated>2010-02-15T09:16:12Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-02-15-All-but-something-regexp/" rel="alternate"/>
<content type="html">&lt;p&gt;Parfois vous ne pouvez simplement pas &#233;crire&amp;nbsp;:&lt;/p&gt;
@ -846,10 +714,6 @@ a.....&lt;span class="Constant"&gt;&lt;strong&gt;a......b&lt;/strong&gt;&lt;/spa
<title type="html">Fontes adoucies sous Ubuntu Firefox</title>
<published>2010-01-12T14:36:40Z</published>
<updated>2010-01-12T14:36:40Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/" rel="alternate"/>
<content type="html">&lt;p&gt;Voici comment faire pour ne plus utiliser les fontes Microsoft&#169; sous Linux Ubuntu pour avoir de belles fontes adoucies (anti aliased) qui ne font pas mal aux yeux sous Firefox.&lt;/p&gt;
@ -866,10 +730,6 @@ a.....&lt;span class="Constant"&gt;&lt;strong&gt;a......b&lt;/strong&gt;&lt;/spa
<title type="html">Changer le shell par d&#233;faut sous Mac OS X</title>
<published>2010-01-04T10:31:47Z</published>
<updated>2010-01-04T10:31:47Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/" rel="alternate"/>
<content type="html">&lt;p&gt;Je viens de trouver le moyen de changer son shell par d&#233;faut sous Mac OS X. Cette note est plus pour moi. Mais elle peut aussi servir &#224; quelqu&amp;rsquo;un d&amp;rsquo;autre. Il suffit de lancer la commande&amp;nbsp;: &lt;/p&gt;
@ -883,10 +743,6 @@ a.....&lt;span class="Constant"&gt;&lt;strong&gt;a......b&lt;/strong&gt;&lt;/spa
<title type="html">Git ou Bazaar ?</title>
<published>2009-12-14T08:46:36Z</published>
<updated>2009-12-14T08:46:36Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2009-12-14-Git-vs--Bzr/" rel="alternate"/>
<content type="html">
&lt;div class="intro"&gt;
@ -909,25 +765,35 @@ a.....&lt;span class="Constant"&gt;&lt;strong&gt;a......b&lt;/strong&gt;&lt;/spa
<title type="html">Filtrage d'appel avec l'iPhone</title>
<published>2009-12-06T09:35:34Z</published>
<updated>2009-12-06T09:35:34Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2009-12-06-iphone-call-filter/" rel="alternate"/>
<content type="html">&lt;p&gt;Il est vraiment incroyable que le filtrage d&amp;rsquo;appel soit impossible avec un iPhone&amp;nbsp;! Le &lt;em&gt;seul&lt;/em&gt; int&#233;r&#234;t que j&amp;rsquo;y vois, c&amp;rsquo;est une n&#233;gociation avec les op&#233;rateurs pour interdire aux utilisateurs de passer &#224; travers la publicit&#233;. C&amp;rsquo;est tout simplement inacceptable.&lt;/p&gt;
&lt;p&gt;Je suis un utilisateur &#955; de l&amp;rsquo;iPhone. Le seul moyen de filtrer ses appels, de faire des blacklists ou autre c&amp;rsquo;est de &lt;em&gt;jailbreaker&lt;/em&gt; son iPhone. Et je n&amp;rsquo;en ai aucune envie. Alors si comme moi, vous trouvez &#231;a inacceptable, envoyez un mot &#224; Apple&amp;nbsp;: &lt;a href="http://www.apple.com/feedback/iphone.html"&gt;http://www.apple.com/feedback/iphone.html&lt;/a&gt;&lt;/p&gt;
&lt;/p&gt;</content>
</entry>
<entry>
<id>tag:yannesposito.com,2009-11-12:/Scratch/fr/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/</id>
<title type="html">Git pour les nuls</title>
<published>2009-11-12T09:39:54Z</published>
<updated>2009-11-12T09:39:54Z</updated>
<link href="http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/" rel="alternate"/>
<content type="html">&lt;h1 class="first" id="et-cest-parti-"&gt;Et c&amp;rsquo;est parti&amp;nbsp;!&lt;/h1&gt;
&lt;p&gt;Voici une parmi de nombreuses autres fa&#231;on d&amp;rsquo;utiliser &lt;a href="http://git-scm.org" title="Git"&gt;Git&lt;/a&gt;. Cette m&#233;thode est n&#233;cessaire et suffisante pour travailler seul ou en collaboration sur un projet commun. Cependant, on peut faire beaucoup mieux avec &lt;a href="http://git-scm.org" title="Git"&gt;Git&lt;/a&gt; que ce &lt;em&gt;workflow&lt;/em&gt; (en langage anglo-saxon).&lt;/p&gt;
&lt;h2 id="utilisation-basique"&gt;Utilisation basique&lt;/h2&gt;
&lt;p&gt;La fa&#231;on imm&#233;diate de travailler avec &lt;a href="http://git-scm.org" title="Git"&gt;Git&lt;/a&gt;&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;r&#233;cup&#233;rer les modifications des autres &lt;span class="black"&gt;&lt;code&gt;git pull&lt;/code&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;voir les d&#233;tails de ces modifications &lt;span class="black"&gt;&lt;code&gt;git log&lt;/code&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;</content>
</entry>
<entry>
<id>tag:yannesposito.com,2009-11-12:/Scratch/fr/blog/2009-11-12-Git-for-n00b/</id>
<title type="html">Git pour les nuls</title>
<published>2009-11-12T09:39:54Z</published>
<updated>2009-11-12T09:39:54Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/" rel="alternate"/>
<content type="html">
&lt;div class="intro"&gt;
@ -950,66 +816,15 @@ a.....&lt;span class="Constant"&gt;&lt;strong&gt;a......b&lt;/strong&gt;&lt;/spa
&lt;p&gt;Voici la liste des commandes n&#233;cessaires et suffisantes pour utiliser &lt;a href="http://git-scm.org" title="Git"&gt;Git&lt;/a&gt;. Il y en a tr&#232;s peu. Il est normal de ne pas les comprendre tout de suite mais c&amp;rsquo;est pour vous donner une id&#233;e. Malgr&#233; la longueur de l&amp;rsquo;article, 95% de l&amp;rsquo;utilisation de &lt;/p&gt;</content>
</entry>
<entry>
<id>tag:yannesposito.com,2009-11-12:/Scratch/fr/blog/2009-11-12-Git-for-n00b/conf-et-install/</id>
<id>tag:yannesposito.com,2009-11-12:/Scratch/fr/blog/2009-11-12-Git-for-n00b/comprendre/</id>
<title type="html">Git pour les nuls</title>
<published>2009-11-12T09:39:54Z</published>
<updated>2009-11-12T09:39:54Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/conf-et-install/" rel="alternate"/>
<content type="html">&lt;h1 class="first" id="avant-lutilisation-la-configuration"&gt;Avant l&amp;rsquo;utilisation, la configuration&lt;/h1&gt;
<link href="http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/comprendre/" rel="alternate"/>
<content type="html">&lt;h1 class="first" id="pourquoi-git-est-cool-"&gt;Pourquoi Git est cool&amp;nbsp;?&lt;/h1&gt;
&lt;h2 id="installation"&gt;installation&lt;/h2&gt;
&lt;p&gt;Parce que grace &#224; &lt;a href="http://git-scm.org" title="Git"&gt;Git&lt;/a&gt; vous pouvez travailler sur plusieurs partie du projet de fa&#231;on compl&#232;tement isol&#233;e les unes des autres. &#199;a c&amp;rsquo;est la partie d&#233;centralis&#233;e de &lt;a href="http://git-scm.org" title="Git"&gt;Git&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Sous Linux Ubuntu ou Debian&amp;nbsp;:&lt;/p&gt;
&lt;div&gt;&lt;pre class="twilight"&gt;$ sudo apt-get install git
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Sous Mac OS X&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;installez &lt;a href="http://macports.org/install.php"&gt;MacPorts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;installez &lt;a href="http://git-scm.org" title="Git"&gt;Git&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;pre class="twilight"&gt;
$ sudo port selfupdate
$ sudo port install git-core
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="configuration-globale"&gt;Configuration globale&lt;/h2&gt;
&lt;p&gt;Enregistrez le fichier suivant comme le fichier &lt;code&gt;~/.gitconfig&lt;/code&gt;.&lt;/p&gt;
&lt;div&gt;&lt;div class="code"&gt;&lt;div class="file"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content>
</entry>
<entry>
<id>tag:yannesposito.com,2009-11-12:/Scratch/fr/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/</id>
<title type="html">Git pour les nuls</title>
<published>2009-11-12T09:39:54Z</published>
<updated>2009-11-12T09:39:54Z</updated>
<author>
<name>Yann Esposito</name>
<uri>yannesposito.com</uri>
</author>
<link href="http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/" rel="alternate"/>
<content type="html">&lt;h1 class="first" id="gitgit-pour-quoi-faire-"&gt;&lt;a href="http://git-scm.org" title="Git"&gt;Git&lt;/a&gt; pour quoi faire&amp;nbsp;?&lt;/h1&gt;
&lt;div class="intro"&gt;
&lt;p&gt;Si tout ce qui vous int&#233;resse c&amp;rsquo;est d&amp;rsquo;utiliser &lt;a href="http://git-scm.org" title="Git"&gt;Git&lt;/a&gt; &lt;strong&gt;tout de suite&lt;/strong&gt;. Lisez simplement les parties sur fond noir. Je vous conseille aussi de revenir relire tout &#231;a un peu plus tard, pour mieux comprendre les fondements des syst&#232;mes de versions et ne pas faire de b&#234;tises quand vous les utilisez.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="http://git-scm.org" title="Git"&gt;Git&lt;/a&gt; est un &lt;abbr title="Decentralized Concurent Versions System"&gt;DCVS&lt;/abbr&gt;, c&amp;rsquo;est-&#224;-dire un syst&#232;me de versions concurrentes d&#233;centralis&#233;. Analysons chaque partie de cette appellation compliqu&#233;e.&lt;/p&gt;
...&lt;/p&gt;</content>
&lt;p&gt;Toutes les branches locales utilisent le m&#234;me r&#233;pertoire. Ainsi on peu changer de branche tr&#232;s ais&#233;ment et rapidement. On peut aussi changer de branche alors que certains fichier sont en cours de modifications. On peut m&#234;me pousser le vice jusqu&amp;rsquo;&#224; modifier un fichier, changer de branche, commiter une partie seulement des modifications de ce fichier dans la branche courante. Revenir dans l&amp;rsquo;ancienne branche et commi...&lt;/p&gt;</content>
</entry>
</feed>

File diff suppressed because it is too large Load diff

View file

@ -188,7 +188,7 @@
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Copyright ©, Yann Esposito</a>
</div>
<div id="lastmod">
Modified: 09/08/2011
Modified: 09/12/2011
</div>
<div>
Entirely done with

12
resources/.vimrc Normal file
View file

@ -0,0 +1,12 @@
" Add this to your vimrc file to use my two split view with multiple language
autocmd BufRead *latest.md set foldenable
autocmd BufRead *latest.md set foldlevel=0
autocmd BufRead *latest.md set foldminlines=0
autocmd BufRead *latest.md set foldmethod=expr
autocmd BufRead *latest.md set foldtext=''
autocmd BufRead *latest.md set scrollbind
autocmd BufRead *latest.md set foldexpr=getline(v:lnum)=~'^en:\ .*$'
autocmd BufRead *latest.md vsplit
autocmd BufRead *latest.md set foldexpr=getline(v:lnum)=~'^fr:\ .*$'
autocmd BufRead *latest.md set spell