Merge branch 'master' into next
Conflicts: Rules img_latest_blog_dir latest.md output/Scratch/en/blog/feed/feed.xml output/Scratch/fr/blog/feed/feed.xml output/Scratch/sitemap.xml
This commit is contained in:
commit
c2c6ae4493
34 changed files with 517 additions and 388 deletions
60
README.md
Normal file
60
README.md
Normal 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 → Show time using git last change log
|
||||||
|
graph.rb → Use graphviz to draw graphs
|
||||||
|
helpers.rb → Some standard nanoc helpers are added
|
||||||
|
html.rb → Layout block helper
|
||||||
|
intenseDebate.rb → IntenseDebate integration
|
||||||
|
macros.rb → Macros system (%latex => LaTeX, etc...)
|
||||||
|
mail.rb → My uniquely encoded personal email
|
||||||
|
multiMenu.rb → The machinery for the menu
|
||||||
|
multi.rb → The machinery for helping to be multi-language
|
||||||
|
nanoc_item_conf.rb
|
||||||
|
repair_html.rb
|
||||||
|
syntaxColorize.rb
|
||||||
|
tag.rb
|
||||||
|
ultraviolet.rb
|
||||||
|
y.rb
|
1
Rules
1
Rules
|
@ -9,7 +9,6 @@
|
||||||
|
|
||||||
# CSS
|
# CSS
|
||||||
compile '/css/*' do
|
compile '/css/*' do
|
||||||
# filter :no_custom_css
|
|
||||||
filter :sass
|
filter :sass
|
||||||
filter :rainpress
|
filter :rainpress
|
||||||
end
|
end
|
||||||
|
|
|
@ -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 'rubygems'
|
||||||
require 'rack'
|
require 'rack'
|
||||||
require 'rack/contrib'
|
require 'rack/contrib'
|
||||||
|
|
|
@ -10,6 +10,7 @@ $secondRevealColor: #AA5533
|
||||||
$lighterRevealColor: $revealColor + #666
|
$lighterRevealColor: $revealColor + #666
|
||||||
$imageBackgroundColor: $mainBackgroundColor
|
$imageBackgroundColor: $mainBackgroundColor
|
||||||
$imageBorderColor: #cccccc
|
$imageBorderColor: #cccccc
|
||||||
|
$borderColor: #cccccc
|
||||||
$mainLinkColor: $mainTextColor
|
$mainLinkColor: $mainTextColor
|
||||||
$textLinkColor: #555555
|
$textLinkColor: #555555
|
||||||
$highlightColor: #888888
|
$highlightColor: #888888
|
||||||
|
@ -61,6 +62,9 @@ $codeBlockBackgroundColor: $behindColor
|
||||||
|
|
||||||
=secondColor
|
=secondColor
|
||||||
color: $behindColor
|
color: $behindColor
|
||||||
|
border: $borderColor solid 1px
|
||||||
|
border-radius: 5px
|
||||||
|
box-shadow: 0 0 2px $borderColor inset
|
||||||
background:
|
background:
|
||||||
color: $lighterColor
|
color: $lighterColor
|
||||||
a
|
a
|
||||||
|
@ -396,9 +400,7 @@ $hauteur_menu: 4em
|
||||||
$contentMargin: 0em
|
$contentMargin: 0em
|
||||||
|
|
||||||
.encadre, .black, .red, .intro, .resume, .shadow
|
.encadre, .black, .red, .intro, .resume, .shadow
|
||||||
padding:
|
padding: 2em
|
||||||
left: 2em
|
|
||||||
right: 2em
|
|
||||||
margin:
|
margin:
|
||||||
top: 2em
|
top: 2em
|
||||||
bottom: 2em
|
bottom: 2em
|
||||||
|
|
|
@ -27,7 +27,7 @@ def gitmtime
|
||||||
ext=%{.#{@item[:extension]}}
|
ext=%{.#{@item[:extension]}}
|
||||||
filepath<<=ext
|
filepath<<=ext
|
||||||
if not FileTest.exists?(filepath)
|
if not FileTest.exists?(filepath)
|
||||||
filepath.sub!(ext,%{/index#{ext}})
|
filepath.sub!(ext,%{#{@item.raw_filename}#{ext}})
|
||||||
end
|
end
|
||||||
str=`git log -1 --format='%ci' -- #{filepath}`
|
str=`git log -1 --format='%ci' -- #{filepath}`
|
||||||
if str.nil? or str.empty?
|
if str.nil? or str.empty?
|
||||||
|
@ -43,4 +43,5 @@ But it works as expected.
|
||||||
Now the date you see at the bottom is exactly the date I modified the _content_ of the page.
|
Now the date you see at the bottom is exactly the date I modified the _content_ of the page.
|
||||||
|
|
||||||
|
|
||||||
Thanks to Eric Sunshine to provide me some hints at cleaning my code.
|
_Edit_:
|
||||||
|
Thanks to Eric Sunshine and Kris to provide me some hints at cleaning my code.
|
||||||
|
|
|
@ -213,11 +213,12 @@ With all preceding commands you should be comfortable to use vim.
|
||||||
But now, here are the killer features.
|
But now, here are the killer features.
|
||||||
Some of these features were the reason I started to use vim.
|
Some of these features were the reason I started to use vim.
|
||||||
|
|
||||||
### Move on current line: `0` `^` `$` `f` `F` `t` `T` `,` `;`
|
### Move on current line: `0` `^` `$` `g_` `f` `F` `t` `T` `,` `;`
|
||||||
|
|
||||||
> - `0` → go to column 0
|
> - `0` → go to column 0
|
||||||
> - `^` → go to first character on the line
|
> - `^` → go to first character on the line
|
||||||
> - `$` → go to the last character on the line
|
> - `$` → go to the last column
|
||||||
|
> - `g_` → go to the last character on the line
|
||||||
> - `fa` → go to next occurrence of the letter `a` on the line. `,` (resp. `;`) will seek for the next (resp. previous) occurrence.
|
> - `fa` → go to next occurrence of the letter `a` on the line. `,` (resp. `;`) will seek for the next (resp. previous) occurrence.
|
||||||
> - `t,` → go just before the character `,`.
|
> - `t,` → go just before the character `,`.
|
||||||
> - `3fa` → search the 3rd occurrence of `a` on this line.
|
> - `3fa` → search the 3rd occurrence of `a` on this line.
|
||||||
|
@ -260,7 +261,7 @@ Typically: `0<C-v><C-d>I-- [ESC]`
|
||||||
|
|
||||||
<%= blogimage("rectangular-blocks.gif","Rectangular blocks") %>
|
<%= blogimage("rectangular-blocks.gif","Rectangular blocks") %>
|
||||||
|
|
||||||
Not on windows you might have to use `<C-q>` instead of `<C-v>` if your clipboard is not empty.
|
Note on windows you might have to use `<C-q>` instead of `<C-v>` if your clipboard is not empty.
|
||||||
|
|
||||||
### Completion: `<C-n>` and `<C-p>`.
|
### Completion: `<C-n>` and `<C-p>`.
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ def gitmtime
|
||||||
ext=%{.#{@item[:extension]}}
|
ext=%{.#{@item[:extension]}}
|
||||||
filepath<<=ext
|
filepath<<=ext
|
||||||
if not FileTest.exists?(filepath)
|
if not FileTest.exists?(filepath)
|
||||||
filepath.sub!(ext,%{/index#{ext}})
|
filepath.sub!(ext,%{#{@item.raw_filename}#{ext}})
|
||||||
end
|
end
|
||||||
str=`git log -1 --format='%ci' -- #{filepath}`
|
str=`git log -1 --format='%ci' -- #{filepath}`
|
||||||
if str.nil? or str.empty?
|
if str.nil? or str.empty?
|
||||||
|
@ -43,4 +43,5 @@ Bien entendu je sais que c'est très lent et absolument pas optimisé.
|
||||||
Mais ça fonctionne comme prévu.
|
Mais ça fonctionne comme prévu.
|
||||||
Maintenant la date que vous voyez en bas de la page correspond exactement à la dernière date de modification de son contenu.
|
Maintenant la date que vous voyez en bas de la page correspond exactement à la dernière date de modification de son contenu.
|
||||||
|
|
||||||
Je tiens à remercier Eric Sunshine pour ses conseils sur ce problème.
|
_Mise à jour_:
|
||||||
|
Je tiens à remercier Eric Sunshine et Kris pour leurs conseils sur ce problème.
|
||||||
|
|
|
@ -219,11 +219,12 @@ Jusqu'ici vous avez appris les commandes les plus courantes.
|
||||||
Mais voici les killer features de vim.
|
Mais voici les killer features de vim.
|
||||||
Celles que je n'ai retrouvé que dans vim (ou presque).
|
Celles que je n'ai retrouvé que dans vim (ou presque).
|
||||||
|
|
||||||
### Déplacement sur la ligne : `0` `^` `$` `f` `F` `t` `T` `,` `;`
|
### Déplacement sur la ligne : `0` `^` `$` `g_` `f` `F` `t` `T` `,` `;`
|
||||||
|
|
||||||
> - `0` → aller à la colonne 0,
|
> - `0` → aller à la colonne 0,
|
||||||
> - `^` → aller au premier caractère de la ligne
|
> - `^` → aller au premier caractère de la ligne
|
||||||
> - `$` → aller au dernier caractère de la ligne
|
> - `$` → aller à la dernière colonne de la ligne
|
||||||
|
> - `g_` → aller au dernier caractère de la ligne
|
||||||
> - `fa` → vous amène à la prochaine occurrence de a sur la ligne courante. `,` (resp. `;`) recherche l'occurrence suivante (resp. précédente).
|
> - `fa` → vous amène à la prochaine occurrence de a sur la ligne courante. `,` (resp. `;`) recherche l'occurrence suivante (resp. précédente).
|
||||||
> - `t,` → vous amène juste avant le `,`.
|
> - `t,` → vous amène juste avant le `,`.
|
||||||
> - `3fa` → recherche la 3ième occurrence de `a`.
|
> - `3fa` → recherche la 3ième occurrence de `a`.
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
./output/Scratch/img/blog/programming-language-experience
|
/home/e640846/Sites/webroot/output/Scratch/img/blog/Higher-order-function-in-zsh
|
|
@ -1 +1 @@
|
||||||
./multi/blog/programming-language-experience.md
|
./multi/blog/Higher-order-function-in-zsh.md
|
19
lib/blog.rb
Normal file
19
lib/blog.rb
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# Helper to find an image corresponding to the current
|
||||||
|
# article
|
||||||
|
def blogimage(val,title="no name", divclass=nil)
|
||||||
|
if depthOf( @item ) == 4
|
||||||
|
imgpath=@item.parent.path
|
||||||
|
else
|
||||||
|
imgpath=@item.path
|
||||||
|
end
|
||||||
|
imgpath=imgpath.sub(%r{#{@config[:webprefix]}/../},@config[:webprefix]+'/img/')+val
|
||||||
|
if not divclass.nil?
|
||||||
|
cls=%{ class="#{divclass}"}
|
||||||
|
end
|
||||||
|
return %{<img alt="#{title}" src="#{imgpath}"#{cls}/>}
|
||||||
|
end
|
||||||
|
|
||||||
|
# Return a blog image with class left added
|
||||||
|
def leftblogimage(val,title="no name")
|
||||||
|
return blogimage(val, title, "left")
|
||||||
|
end
|
32
lib/css.rb
32
lib/css.rb
|
@ -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
|
|
|
@ -3,7 +3,7 @@ def gitmtime
|
||||||
ext=%{.#{@item[:extension]}}
|
ext=%{.#{@item[:extension]}}
|
||||||
filepath<<=ext
|
filepath<<=ext
|
||||||
if not FileTest.exists?(filepath)
|
if not FileTest.exists?(filepath)
|
||||||
filepath.sub!(ext,%{/index#{ext}})
|
filepath.sub!(ext,%{#{@item.raw_filename}#{ext}})
|
||||||
end
|
end
|
||||||
str=`git log -1 --format='%ci' -- #{filepath}`
|
str=`git log -1 --format='%ci' -- #{filepath}`
|
||||||
if str.nil? or str.empty?
|
if str.nil? or str.empty?
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
# <% content_for :summary do %>
|
# <% content_for :summary do %>
|
||||||
# Sommaire que je veux ecrire
|
# Sommaire que je veux ecrire
|
||||||
# <% end %>
|
# <% end %>
|
||||||
#
|
|
||||||
# Pour remplir à la fois le texte et le sommaire
|
# Pour remplir à la fois le texte et le sommaire
|
||||||
|
|
||||||
include Nanoc3::Helpers::Capturing
|
include Nanoc3::Helpers::Capturing
|
||||||
|
|
|
@ -1,14 +1,17 @@
|
||||||
|
# give item corresponding to the homepage of the current language
|
||||||
def homepage
|
def homepage
|
||||||
@items.find do |i|
|
@items.find do |i|
|
||||||
i.reps[0].path == %{#{@config[:webprefix]}/#{@conf.language}/}
|
i.reps[0].path == %{#{@config[:webprefix]}/#{@conf.language}/}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Explicit, give the children of a node in the menu, sorted by menu priority
|
||||||
def sortedChildrenByMenuPriority(item)
|
def sortedChildrenByMenuPriority(item)
|
||||||
item.children.reject{|p| p[:isHidden]}.
|
item.children.reject{|p| p[:isHidden]}.
|
||||||
sort!{|x,y| x[:menupriority] <=> y[:menupriority]}
|
sort!{|x,y| x[:menupriority] <=> y[:menupriority]}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Generate the menu for the current item
|
||||||
def generateMenu
|
def generateMenu
|
||||||
home=homepage
|
home=homepage
|
||||||
if home.nil?
|
if home.nil?
|
||||||
|
@ -22,6 +25,7 @@ def generateMenu
|
||||||
"<ul><li>"+liste.join("</li>\n<li>")+"</li></ul>"
|
"<ul><li>"+liste.join("</li>\n<li>")+"</li></ul>"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# get the depth of an item in the menu
|
||||||
def depthOf(item)
|
def depthOf(item)
|
||||||
res=0
|
res=0
|
||||||
while item.parent != nil
|
while item.parent != nil
|
||||||
|
@ -31,6 +35,8 @@ def depthOf(item)
|
||||||
return res
|
return res
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# get the list of item children of a node sorted
|
||||||
|
# by menupriority or date depending of the kind fo page
|
||||||
def getSortedChildren(parent)
|
def getSortedChildren(parent)
|
||||||
if parent[:kind] == "blog"
|
if parent[:kind] == "blog"
|
||||||
return parent.children.reject{|p| p[:isHidden]}.sort!{|x,y| x[:created_at] <=> y[:created_at] }
|
return parent.children.reject{|p| p[:isHidden]}.sort!{|x,y| x[:created_at] <=> y[:created_at] }
|
||||||
|
@ -39,6 +45,7 @@ def getSortedChildren(parent)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# For the page blog, the submenu is very specific
|
||||||
def generateBlogSubMenu(language)
|
def generateBlogSubMenu(language)
|
||||||
year=0
|
year=0
|
||||||
res=""
|
res=""
|
||||||
|
@ -63,6 +70,7 @@ def generateBlogSubMenu(language)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Generate a submenu, not always needed
|
||||||
def generateSubMenu()
|
def generateSubMenu()
|
||||||
if @item[:noSubMenu]
|
if @item[:noSubMenu]
|
||||||
return
|
return
|
||||||
|
@ -102,23 +110,6 @@ def generateSubMenu()
|
||||||
end
|
end
|
||||||
# =======================
|
# =======================
|
||||||
|
|
||||||
def blogimage(val,title="no name", divclass=nil)
|
|
||||||
if depthOf( @item ) == 4
|
|
||||||
imgpath=@item.parent.path
|
|
||||||
else
|
|
||||||
imgpath=@item.path
|
|
||||||
end
|
|
||||||
imgpath=imgpath.sub(%r{#{@config[:webprefix]}/../},@config[:webprefix]+'/img/')+val
|
|
||||||
if not divclass.nil?
|
|
||||||
cls=%{ class="#{divclass}"}
|
|
||||||
end
|
|
||||||
return %{<img alt="#{title}" src="#{imgpath}"#{cls}/>}
|
|
||||||
end
|
|
||||||
|
|
||||||
def leftblogimage(val,title="no name")
|
|
||||||
return blogimage(val, title, "left")
|
|
||||||
end
|
|
||||||
|
|
||||||
def lnkto(title,item)
|
def lnkto(title,item)
|
||||||
language=@item_rep.path.sub(/#{@config[:webprefix]}\//,'').sub(/\/.*$/,'')
|
language=@item_rep.path.sub(/#{@config[:webprefix]}\//,'').sub(/\/.*$/,'')
|
||||||
link_to(title, "#{@config[:webprefix]}/#{language}"+item)
|
link_to(title, "#{@config[:webprefix]}/#{language}"+item)
|
||||||
|
|
|
@ -11,36 +11,23 @@ def repair_html( html, debug=false )
|
||||||
depth=0
|
depth=0
|
||||||
html.scan( %r{<(/?)(\w*)([^>]*)>} ).each do |m|
|
html.scan( %r{<(/?)(\w*)([^>]*)>} ).each do |m|
|
||||||
if m[-1] == "/"
|
if m[-1] == "/"
|
||||||
if debug
|
|
||||||
puts 'IGNORE: <'+m[0]+m[1]+'/>' + depth.to_s
|
|
||||||
puts 'parents='+parents.join('; ')
|
|
||||||
end
|
|
||||||
next
|
next
|
||||||
end
|
end
|
||||||
if m[0] == ""
|
if m[0] == ""
|
||||||
parents[depth]=m[1]
|
parents[depth]=m[1]
|
||||||
depth+=1
|
depth+=1
|
||||||
if debug
|
|
||||||
puts '<'+m[0]+m[1]+'> ' + depth.to_s
|
|
||||||
puts 'parents='+parents.join('; ')
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
depth-=1
|
depth-=1
|
||||||
if (not debug) and (depth <0)
|
# -1 is normal for my layout
|
||||||
puts 'ERROR repair_html !'
|
if (depth <= -2)
|
||||||
# puts 'HTML: ' + html
|
puts "WARNING: Intermiedate Depth <= -2"
|
||||||
# puts '---'
|
|
||||||
# repair_html(html,true)
|
|
||||||
# puts 'END_ERROR'
|
|
||||||
end
|
|
||||||
if debug
|
|
||||||
puts '<'+m[0]+m[1]+'> ' + depth.to_s
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
res=html.sub(/<[^>]*$/m,'')
|
res=html.sub(/<[^>]*$/m,'')
|
||||||
depth -= 1
|
depth -= 1
|
||||||
if (depth < 0)
|
if (depth < -1)
|
||||||
|
puts "ERROR: Final Depth < 0"
|
||||||
parents=[]
|
parents=[]
|
||||||
depth=0
|
depth=0
|
||||||
html.scan( %r{<(/?)(\w*)[^>]*(/?)>} ).each do |m|
|
html.scan( %r{<(/?)(\w*)[^>]*(/?)>} ).each do |m|
|
||||||
|
|
|
@ -35,7 +35,7 @@ def gitmtime
|
||||||
ext=%{.#{@item[:extension]}}
|
ext=%{.#{@item[:extension]}}
|
||||||
filepath<<=ext
|
filepath<<=ext
|
||||||
if not FileTest.exists?(filepath)
|
if not FileTest.exists?(filepath)
|
||||||
filepath.sub!(ext,%{/index#{ext}})
|
filepath.sub!(ext,%{#{@item.raw_filename}#{ext}})
|
||||||
end
|
end
|
||||||
str=`git log -1 --format='%ci' -- #{filepath}`
|
str=`git log -1 --format='%ci' -- #{filepath}`
|
||||||
if str.nil? or str.empty?
|
if str.nil? or str.empty?
|
||||||
|
@ -54,5 +54,7 @@ fr: Bien entendu je sais que c'est très lent et absolument pas optimisé.
|
||||||
fr: Mais ça fonctionne comme prévu.
|
fr: Mais ça fonctionne comme prévu.
|
||||||
fr: Maintenant la date que vous voyez en bas de la page correspond exactement à la dernière date de modification de son contenu.
|
fr: Maintenant la date que vous voyez en bas de la page correspond exactement à la dernière date de modification de son contenu.
|
||||||
|
|
||||||
en: Thanks to Eric Sunshine to provide me some hints at cleaning my code.
|
en: _Edit_:
|
||||||
fr: Je tiens à remercier Eric Sunshine pour ses conseils sur ce problème.
|
en: Thanks to Eric Sunshine and Kris to provide me some hints at cleaning my code.
|
||||||
|
fr: _Mise à jour_:
|
||||||
|
fr: Je tiens à remercier Eric Sunshine et Kris pour leurs conseils sur ce problème.
|
||||||
|
|
90
multi/blog/Higher-order-function-in-zsh.md
Normal file
90
multi/blog/Higher-order-function-in-zsh.md
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
-----
|
||||||
|
isHidden: false
|
||||||
|
menupriority: 1
|
||||||
|
kind: article
|
||||||
|
created_at: 2011-09-27T15:15:23+02:00
|
||||||
|
en: title: Higher order function in zsh
|
||||||
|
fr: title: Higher order function in zsh
|
||||||
|
author_name: Yann Esposito
|
||||||
|
author_uri: yannesposito.com
|
||||||
|
# tags:
|
||||||
|
-----
|
||||||
|
<%= blogimage("main.png","Title image") %>
|
||||||
|
|
||||||
|
begindiv(intro)
|
||||||
|
|
||||||
|
en: <%= tldr %> some simple implementation of higher order function for zsh.
|
||||||
|
fr: <%= tlal %> des fonctions d'ordres supérieurs en zsh.
|
||||||
|
|
||||||
|
enddiv
|
||||||
|
|
||||||
|
fr: Tout d'abord, pourquoi c'est important d'avoir ces fonctions.
|
||||||
|
fr: Plus je programmais avec zsh plus j'essayais d'avoir un style fonctionnel.
|
||||||
|
|
||||||
|
fr: Le minimum pour pouvoir avoir du code plus lisible c'est de posséder les fonctions `map`, `filter` et `fold`.
|
||||||
|
|
||||||
|
fr: Voici pourquoi avec une comparaison.
|
||||||
|
fr: Commençons par un programme qui converti tous les gif en png dans plusieurs répertoires projets contenant tous des répertoires resources.
|
||||||
|
fr: Avant :
|
||||||
|
|
||||||
|
<code class="zsh">
|
||||||
|
# for each directory in projects dir
|
||||||
|
for toProject in /path/to/projects/*(/N); do
|
||||||
|
# toProject is /path/to/projects/foo
|
||||||
|
# project become foo (:t for tail)
|
||||||
|
project=${toProject:t}
|
||||||
|
for toResource in $toProject/resources/*.gif(.N); do
|
||||||
|
convert $toResource ${toResource:r}.png
|
||||||
|
\rm -f $toResource
|
||||||
|
done
|
||||||
|
done
|
||||||
|
</code>
|
||||||
|
|
||||||
|
fr: Après
|
||||||
|
|
||||||
|
<code class="zsh">
|
||||||
|
gif_to_png() { convert $1 ${1:r}.png && \rm -f $1 }
|
||||||
|
handle_resources() { map gif_to_png $1/resources/*.gif(.N) }
|
||||||
|
map handle_resources /path/to/projects/*(/N)
|
||||||
|
</code>
|
||||||
|
|
||||||
|
fr: Plus de bloc !
|
||||||
|
fr: Oui, c'est un poil plus difficile à lire pour les non initiés.
|
||||||
|
fr: Mais c'est à la fois plus concis et plus robuste.
|
||||||
|
|
||||||
|
fr: Et encore ce code ne possède pas de test.
|
||||||
|
fr: Recommençons sur le même principe.
|
||||||
|
|
||||||
|
fr: Trouver les fichiers des projets qui ne contiennent pas de s dans leur nom qui ont le même nom que leur projet.
|
||||||
|
|
||||||
|
|
||||||
|
<code class="zsh">
|
||||||
|
for toProject in Projects/*; do
|
||||||
|
project=$toProject:t
|
||||||
|
if print -- project | grep -v s >/dev/null
|
||||||
|
then
|
||||||
|
print $project
|
||||||
|
for toResource in $toProject/*(.N); do
|
||||||
|
if print -- ${toResource:t} | grep $project >/dev/null; then
|
||||||
|
print -- "X $toResource"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
</code>
|
||||||
|
|
||||||
|
After =>
|
||||||
|
|
||||||
|
<code class="zsh">
|
||||||
|
contain_no_s() { print $1 | grep -v s }
|
||||||
|
function verify_file_name {
|
||||||
|
local project=$1:t
|
||||||
|
contains_project_name() { print $1:t | grep $project }
|
||||||
|
map "print -- X" $(filter contains_project_name $1/*(.N))
|
||||||
|
}
|
||||||
|
map show_project_matchin_file $( filter contain_no_s Projects/* )
|
||||||
|
</code>
|
||||||
|
|
||||||
|
Also, the first verstion is a bit easier to read.
|
||||||
|
But the second one is clearly far superior in architecture.
|
||||||
|
Why?
|
|
@ -362,19 +362,21 @@ fr: Jusqu'ici vous avez appris les commandes les plus courantes.
|
||||||
fr: Mais voici les killer features de vim.
|
fr: Mais voici les killer features de vim.
|
||||||
fr: Celles que je n'ai retrouvé que dans vim (ou presque).
|
fr: Celles que je n'ai retrouvé que dans vim (ou presque).
|
||||||
|
|
||||||
en: ### Move on current line: `0` `^` `$` `f` `F` `t` `T` `,` `;`
|
en: ### Move on current line: `0` `^` `$` `g_` `f` `F` `t` `T` `,` `;`
|
||||||
fr: ### Déplacement sur la ligne : `0` `^` `$` `f` `F` `t` `T` `,` `;`
|
fr: ### Déplacement sur la ligne : `0` `^` `$` `g_` `f` `F` `t` `T` `,` `;`
|
||||||
|
|
||||||
en: > - `0` → go to column 0
|
en: > - `0` → go to column 0
|
||||||
en: > - `^` → go to first character on the line
|
en: > - `^` → go to first character on the line
|
||||||
en: > - `$` → go to the last character on the line
|
en: > - `$` → go to the last column
|
||||||
|
en: > - `g_` → go to the last character on the line
|
||||||
en: > - `fa` → go to next occurrence of the letter `a` on the line. `,` (resp. `;`) will seek for the next (resp. previous) occurrence.
|
en: > - `fa` → go to next occurrence of the letter `a` on the line. `,` (resp. `;`) will seek for the next (resp. previous) occurrence.
|
||||||
en: > - `t,` → go just before the character `,`.
|
en: > - `t,` → go just before the character `,`.
|
||||||
en: > - `3fa` → search the 3rd occurrence of `a` on this line.
|
en: > - `3fa` → search the 3rd occurrence of `a` on this line.
|
||||||
en: > - `F` and `T` → like `f` and `t` but backward.
|
en: > - `F` and `T` → like `f` and `t` but backward.
|
||||||
fr: > - `0` → aller à la colonne 0,
|
fr: > - `0` → aller à la colonne 0,
|
||||||
fr: > - `^` → aller au premier caractère de la ligne
|
fr: > - `^` → aller au premier caractère de la ligne
|
||||||
fr: > - `$` → aller au dernier caractère de la ligne
|
fr: > - `$` → aller à la dernière colonne de la ligne
|
||||||
|
fr: > - `g_` → aller au dernier caractère de la ligne
|
||||||
fr: > - `fa` → vous amène à la prochaine occurrence de a sur la ligne courante. `,` (resp. `;`) recherche l'occurrence suivante (resp. précédente).
|
fr: > - `fa` → vous amène à la prochaine occurrence de a sur la ligne courante. `,` (resp. `;`) recherche l'occurrence suivante (resp. précédente).
|
||||||
fr: > - `t,` → vous amène juste avant le `,`.
|
fr: > - `t,` → vous amène juste avant le `,`.
|
||||||
fr: > - `3fa` → recherche la 3ième occurrence de `a`.
|
fr: > - `3fa` → recherche la 3ième occurrence de `a`.
|
||||||
|
@ -439,7 +441,7 @@ fr: - `I-- [ESC]` → écrit `-- ` pour commenter le reste de la ligne.
|
||||||
|
|
||||||
<%= blogimage("rectangular-blocks.gif","Rectangular blocks") %>
|
<%= blogimage("rectangular-blocks.gif","Rectangular blocks") %>
|
||||||
|
|
||||||
en: Not on windows you might have to use `<C-q>` instead of `<C-v>` if your clipboard is not empty.
|
en: Note on windows you might have to use `<C-q>` instead of `<C-v>` if your clipboard is not empty.
|
||||||
fr: Remarquez que sous windows, vous devez utiliser `<C-q>` plutôt que `<C-v>` si votre "presse papier" n'est pas vide.
|
fr: Remarquez que sous windows, vous devez utiliser `<C-q>` plutôt que `<C-v>` si votre "presse papier" n'est pas vide.
|
||||||
|
|
||||||
en: ### Completion: `<C-n>` and `<C-p>`.
|
en: ### Completion: `<C-n>` and `<C-p>`.
|
||||||
|
|
|
@ -4,7 +4,7 @@ def gitmtime
|
||||||
ext=%{.#{@item[:extension]}}
|
ext=%{.#{@item[:extension]}}
|
||||||
filepath<<=ext
|
filepath<<=ext
|
||||||
if not FileTest.exists?(filepath)
|
if not FileTest.exists?(filepath)
|
||||||
filepath.sub!(ext,%{/index#{ext}})
|
filepath.sub!(ext,%{#{@item.raw_filename}#{ext}})
|
||||||
end
|
end
|
||||||
str=`git log -1 --format='%ci' -- #{filepath}`
|
str=`git log -1 --format='%ci' -- #{filepath}`
|
||||||
if str.nil? or str.empty?
|
if str.nil? or str.empty?
|
||||||
|
|
|
@ -74,7 +74,7 @@ This is how I do this with <a href="http://nanoc.stoneship.org">nanoc</a>:</p>
|
||||||
ext<span class="Keyword">=</span><span class="String"><span class="String">%{</span>.<span class="StringEmbeddedSource"><span class="StringEmbeddedSource">#{</span><span class="StringVariable"><span class="StringVariable">@</span>item</span><span class="StringEmbeddedSource">[</span><span class="StringConstant"><span class="StringConstant">:</span>extension</span><span class="StringEmbeddedSource">]</span><span class="StringEmbeddedSource">}</span></span><span class="String">}</span></span>
|
ext<span class="Keyword">=</span><span class="String"><span class="String">%{</span>.<span class="StringEmbeddedSource"><span class="StringEmbeddedSource">#{</span><span class="StringVariable"><span class="StringVariable">@</span>item</span><span class="StringEmbeddedSource">[</span><span class="StringConstant"><span class="StringConstant">:</span>extension</span><span class="StringEmbeddedSource">]</span><span class="StringEmbeddedSource">}</span></span><span class="String">}</span></span>
|
||||||
filepath<span class="Keyword"><<=</span>ext
|
filepath<span class="Keyword"><<=</span>ext
|
||||||
<span class="Keyword">if</span> <span class="Keyword">not</span> <span class="Support">FileTest</span>.<span class="Entity">exists?</span>(filepath)
|
<span class="Keyword">if</span> <span class="Keyword">not</span> <span class="Support">FileTest</span>.<span class="Entity">exists?</span>(filepath)
|
||||||
filepath.<span class="Entity">sub!</span>(ext,<span class="String"><span class="String">%{</span>/index<span class="StringEmbeddedSource"><span class="StringEmbeddedSource">#{</span>ext<span class="StringEmbeddedSource">}</span></span><span class="String">}</span></span>)
|
filepath.<span class="Entity">sub!</span>(ext,<span class="String"><span class="String">%{</span><span class="StringEmbeddedSource"><span class="StringEmbeddedSource">#{</span><span class="StringVariable"><span class="StringVariable">@</span>item</span><span class="StringEmbeddedSource"><span class="StringEmbeddedSource">.</span><span class="Entity">raw_filename</span></span><span class="StringEmbeddedSource">}</span></span><span class="StringEmbeddedSource"><span class="StringEmbeddedSource">#{</span>ext<span class="StringEmbeddedSource">}</span></span><span class="String">}</span></span>)
|
||||||
<span class="Keyword">end</span>
|
<span class="Keyword">end</span>
|
||||||
str<span class="Keyword">=</span><span class="String"><span class="String">`</span>git log -1 --format='%ci' -- <span class="StringEmbeddedSource"><span class="StringEmbeddedSource">#{</span>filepath<span class="StringEmbeddedSource">}</span></span><span class="String">`</span></span>
|
str<span class="Keyword">=</span><span class="String"><span class="String">`</span>git log -1 --format='%ci' -- <span class="StringEmbeddedSource"><span class="StringEmbeddedSource">#{</span>filepath<span class="StringEmbeddedSource">}</span></span><span class="String">`</span></span>
|
||||||
<span class="Keyword">if</span> str.<span class="Entity">nil?</span> <span class="Keyword">or</span> str.<span class="Entity">empty?</span>
|
<span class="Keyword">if</span> str.<span class="Entity">nil?</span> <span class="Keyword">or</span> str.<span class="Entity">empty?</span>
|
||||||
|
@ -90,7 +90,8 @@ This is how I do this with <a href="http://nanoc.stoneship.org">nanoc</a>:</p>
|
||||||
But it works as expected.
|
But it works as expected.
|
||||||
Now the date you see at the bottom is exactly the date I modified the <em>content</em> of the page.</p>
|
Now the date you see at the bottom is exactly the date I modified the <em>content</em> of the page.</p>
|
||||||
|
|
||||||
<p>Thanks to Eric Sunshine to provide me some hints at cleaning my code.</p>
|
<p><em>Edit</em>:
|
||||||
|
Thanks to Eric Sunshine and Kris to provide me some hints at cleaning my code.</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -188,7 +189,7 @@ Now the date you see at the bottom is exactly the date I modified the <em>conten
|
||||||
</div>
|
</div>
|
||||||
<div id="lastmod">
|
<div id="lastmod">
|
||||||
Created: 09/02/2010
|
Created: 09/02/2010
|
||||||
Modified: 04/20/2011
|
Modified: 09/14/2011
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
Entirely done with
|
Entirely done with
|
||||||
|
|
|
@ -321,13 +321,14 @@ is also true for <code>d</code> (delete), <code>v</code> (visual select), <code>
|
||||||
But now, here are the killer features.
|
But now, here are the killer features.
|
||||||
Some of these features were the reason I started to use vim.</p>
|
Some of these features were the reason I started to use vim.</p>
|
||||||
|
|
||||||
<h3 id="move-on-current-line-0---f-f-t-t--">Move on current line: <code>0</code> <code>^</code> <code>$</code> <code>f</code> <code>F</code> <code>t</code> <code>T</code> <code>,</code> <code>;</code></h3>
|
<h3 id="move-on-current-line-0---g-f-f-t-t--">Move on current line: <code>0</code> <code>^</code> <code>$</code> <code>g_</code> <code>f</code> <code>F</code> <code>t</code> <code>T</code> <code>,</code> <code>;</code></h3>
|
||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<ul>
|
<ul>
|
||||||
<li><code>0</code> → go to column 0</li>
|
<li><code>0</code> → go to column 0</li>
|
||||||
<li><code>^</code> → go to first character on the line</li>
|
<li><code>^</code> → go to first character on the line</li>
|
||||||
<li><code>$</code> → go to the last character on the line</li>
|
<li><code>$</code> → go to the last column</li>
|
||||||
|
<li><code>g_</code> → go to the last character on the line</li>
|
||||||
<li><code>fa</code> → go to next occurrence of the letter <code>a</code> on the line. <code>,</code> (resp. <code>;</code>) will seek for the next (resp. previous) occurrence.</li>
|
<li><code>fa</code> → go to next occurrence of the letter <code>a</code> on the line. <code>,</code> (resp. <code>;</code>) will seek for the next (resp. previous) occurrence.</li>
|
||||||
<li><code>t,</code> → go just before the character <code>,</code>.</li>
|
<li><code>t,</code> → go just before the character <code>,</code>.</li>
|
||||||
<li><code>3fa</code> → search the 3<sup>rd</sup> occurrence of <code>a</code> on this line.</li>
|
<li><code>3fa</code> → search the 3<sup>rd</sup> occurrence of <code>a</code> on this line.</li>
|
||||||
|
@ -377,7 +378,7 @@ Typically: <code>0<C-v><C-d>I-- [ESC]</code></p>
|
||||||
|
|
||||||
<p><img alt="Rectangular blocks" src="/Scratch/img/blog/Learn-Vim-Progressively/rectangular-blocks.gif" /></p>
|
<p><img alt="Rectangular blocks" src="/Scratch/img/blog/Learn-Vim-Progressively/rectangular-blocks.gif" /></p>
|
||||||
|
|
||||||
<p>Not on windows you might have to use <code><C-q></code> instead of <code><C-v></code> if your clipboard is not empty.</p>
|
<p>Note on windows you might have to use <code><C-q></code> instead of <code><C-v></code> if your clipboard is not empty.</p>
|
||||||
|
|
||||||
<h3 id="completion-c-n-and-c-p">Completion: <code><C-n></code> and <code><C-p></code>.</h3>
|
<h3 id="completion-c-n-and-c-p">Completion: <code><C-n></code> and <code><C-p></code>.</h3>
|
||||||
|
|
||||||
|
@ -564,7 +565,7 @@ $(document).ready(function() {
|
||||||
</div>
|
</div>
|
||||||
<div id="lastmod">
|
<div id="lastmod">
|
||||||
Created: 08/25/2011
|
Created: 08/25/2011
|
||||||
Modified: 08/31/2011
|
Modified: 09/08/2011
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
Entirely done with
|
Entirely done with
|
||||||
|
|
|
@ -2,46 +2,13 @@
|
||||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||||
<id>http://yannesposito.com/</id>
|
<id>http://yannesposito.com/</id>
|
||||||
<title>Yogsototh's last blogs entries</title>
|
<title>Yogsototh's last blogs entries</title>
|
||||||
<updated>2011-09-05T10:21:41Z</updated>
|
<updated>2011-08-25T17:28:20Z</updated>
|
||||||
<link href="http://yannesposito.com/" rel="alternate"/>
|
<link href="http://yannesposito.com/" rel="alternate"/>
|
||||||
<link href="http://feeds.feedburner.com/yannespositocomen" rel="self"/>
|
<link href="http://feeds.feedburner.com/yannespositocomen" rel="self"/>
|
||||||
<author>
|
<author>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>http://yannesposito.com</uri>
|
<uri>http://yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<entry>
|
|
||||||
<id>tag:yannesposito.com,2011-09-05:/Scratch/en/blog/programming-language-experience/</id>
|
|
||||||
<title type="html">programming language experience</title>
|
|
||||||
<published>2011-09-05T10:21:41Z</published>
|
|
||||||
<updated>2011-09-05T10:21:41Z</updated>
|
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/programming-language-experience/" rel="alternate"/>
|
|
||||||
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/programming-language-experience/main.png" /></p>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="intro">
|
|
||||||
|
|
||||||
<span class="sc"><abbr title="Too long; didn't read">tl;dr</abbr>: </span> My feelings about programming languages I used.
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<h3 id="basic">BASIC</h3>
|
|
||||||
|
|
||||||
<p>The language of my firsts programs!
|
|
||||||
I was about 10, with an <code>MO5</code> and <code>Amstrad CPC 6128</code> and even with my <code>Atari STe</code>.
|
|
||||||
This is the language of <code>GOTO</code>s.
|
|
||||||
Ô nostalgia.
|
|
||||||
Unfortunately this might be the only interesting part of this language.</p>
|
|
||||||
|
|
||||||
<p>Today this language is obsolescent.
|
|
||||||
It not even a good language to learn programming.
|
|
||||||
I know there exist some compiler now.
|
|
||||||
But this is not enough to try to learn it.</p>
|
|
||||||
|
|
||||||
<pre class="twilight">
|
|
||||||
READY
|
|
||||||
10 PRINT </pre></p></content>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
<entry>
|
||||||
<id>tag:yannesposito.com,2011-08-25:/Scratch/en/blog/Learn-Vim-Progressively/</id>
|
<id>tag:yannesposito.com,2011-08-25:/Scratch/en/blog/Learn-Vim-Progressively/</id>
|
||||||
<title type="html">Learn Vim Progressively</title>
|
<title type="html">Learn Vim Progressively</title>
|
||||||
|
@ -200,7 +167,7 @@ But I will revive a bit this blog.</p>
|
||||||
<p>I had written an efficient <em>&amp;</em> simplistic MVC javascript framework.</p>
|
<p>I had written an efficient <em>&amp;</em> simplistic MVC javascript framework.</p>
|
||||||
|
|
||||||
<p>Best wishes for <em>2011</em>!</p>
|
<p>Best wishes for <em>2011</em>!</p>
|
||||||
</p></content>
|
</content>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<id>tag:yannesposito.com,2010-10-26:/Scratch/en/blog/2010-10-26-LaTeX-like-macro-and-markdown/</id>
|
<id>tag:yannesposito.com,2010-10-26:/Scratch/en/blog/2010-10-26-LaTeX-like-macro-and-markdown/</id>
|
||||||
|
@ -304,7 +271,7 @@ Then my new design obey to the following rules:</p>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>I hope the new design please you.</p>
|
<p>I hope the new design please you.</p>
|
||||||
</p></content>
|
</content>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<id>tag:yannesposito.com,2010-09-02:/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/</id>
|
<id>tag:yannesposito.com,2010-09-02:/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/</id>
|
||||||
|
@ -445,7 +412,7 @@ Now all should scroll smoothly on all platforms.
|
||||||
I was inspired by Readability and iBooks<small>&copy;</small> (the iPhone<small>&copy;</small> application).</p>
|
I was inspired by Readability and iBooks<small>&copy;</small> (the iPhone<small>&copy;</small> application).</p>
|
||||||
|
|
||||||
<p>Tell me what you think of this new design.</p>
|
<p>Tell me what you think of this new design.</p>
|
||||||
</p></content>
|
</content>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<id>tag:yannesposito.com,2010-07-07:/Scratch/en/blog/2010-07-07-CSS-rendering-problems-by-navigator/</id>
|
<id>tag:yannesposito.com,2010-07-07:/Scratch/en/blog/2010-07-07-CSS-rendering-problems-by-navigator/</id>
|
||||||
|
@ -805,7 +772,7 @@ a.....<span class="Constant"><strong>a......b</strong></spa
|
||||||
|
|
||||||
<p>and you have to make this behaviour with only one regular expression. The problem is the complementary of regular languages is not regular. Then, for some expression it is absolutely not impossible.</p>
|
<p>and you have to make this behaviour with only one regular expression. The problem is the complementary of regular languages is not regular. Then, for some expression it is absolutely not impossible.</p>
|
||||||
|
|
||||||
<p>But sometimes with some simple regular expression it should be possible<sup><a href="#note1">&dagger;</a></sup>. Say you want to match everything containing the some word say <code>bull</code> but don&rsquo;t want to match <code>bullshit</code>. Here is a nice way to do that:</p>...</p></content>
|
<p>But sometimes with some simple regular expression it should be possible<sup><a href="#note1">&dagger;</a></sup>. Say you want to match everything containing the some word say <code>bull</code> but don&rsquo;t want to match <code>bullshit</code>. Here is a nice way to do that:</p>...</content>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<id>tag:yannesposito.com,2010-01-12:/Scratch/en/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/</id>
|
<id>tag:yannesposito.com,2010-01-12:/Scratch/en/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/</id>
|
||||||
|
@ -835,7 +802,7 @@ a.....<span class="Constant"><strong>a......b</strong></spa
|
||||||
<div><pre class="twilight">
|
<div><pre class="twilight">
|
||||||
<span class="Keyword">&gt;</span> chsh
|
<span class="Keyword">&gt;</span> chsh
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div></content>
|
</content>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<id>tag:yannesposito.com,2009-12-14:/Scratch/en/blog/2009-12-14-Git-vs--Bzr/</id>
|
<id>tag:yannesposito.com,2009-12-14:/Scratch/en/blog/2009-12-14-Git-vs--Bzr/</id>
|
||||||
|
@ -868,23 +835,36 @@ a.....<span class="Constant"><strong>a......b</strong></spa
|
||||||
<content type="html"><p>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.</p>
|
<content type="html"><p>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.</p>
|
||||||
|
|
||||||
<p>I&rsquo;m a λ iPhone&rsquo;s user. The only way to filter your call and to manage blacklist is to <em>jailbreak</em> your iPhone. And I don&rsquo;t want to do that. Then, if like me you find it unacceptable, just write a line to Apple: <a href="http://www.apple.com/feedback/iphone.html">http://www.apple.com/feedback/iphone.html</a></p>
|
<p>I&rsquo;m a λ iPhone&rsquo;s user. The only way to filter your call and to manage blacklist is to <em>jailbreak</em> your iPhone. And I don&rsquo;t want to do that. Then, if like me you find it unacceptable, just write a line to Apple: <a href="http://www.apple.com/feedback/iphone.html">http://www.apple.com/feedback/iphone.html</a></p>
|
||||||
</p></content>
|
</content>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<id>tag:yannesposito.com,2009-11-12:/Scratch/en/blog/2009-11-12-Git-for-n00b/comprendre/</id>
|
<id>tag:yannesposito.com,2009-11-12:/Scratch/en/blog/2009-11-12-Git-for-n00b/commandes-avancees/</id>
|
||||||
<title type="html">Git for n00b</title>
|
<title type="html">Git for n00b</title>
|
||||||
<published>2009-11-12T09:39:54Z</published>
|
<published>2009-11-12T09:39:54Z</published>
|
||||||
<updated>2009-11-12T09:39:54Z</updated>
|
<updated>2009-11-12T09:39:54Z</updated>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/comprendre/" rel="alternate"/>
|
<link href="http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/commandes-avancees/" rel="alternate"/>
|
||||||
<content type="html"><h1 class="first" id="why-git-is-cool">Why Git is cool?</h1>
|
<content type="html"><h1 class="first" id="command-list">Command List</h1>
|
||||||
|
|
||||||
<p>Because with <a href="http://git-scm.org" title="Git">Git</a> you can work on many part of some project totally independently. This is the true efficiency of decentralisation.</p>
|
<h2 id="command-for-each-functionality">Command for each functionality</h2>
|
||||||
|
|
||||||
<p>Each branch use the same directory. Then you can easily change your branch. You can also change branch when some files are modified. You can then dispatch your work on many different branches and merge them on one master branch at will.</p>
|
<p>In the first part, we saw the list of resolved problem by <a href="http://git-scm.org" title="Git">Git</a>. To resume <a href="http://git-scm.org" title="Git">Git</a> should do:</p>
|
||||||
|
|
||||||
<p>Using the <code>git rebase</code> you can decide which modifications should be forget or merged into only one modification.</p>
|
<ul>
|
||||||
|
<li>get others modifications,</li>
|
||||||
|
<li>send modifications to others,</li>
|
||||||
|
<li>get back in time,</li>
|
||||||
|
<li>list differences between each version,</li>
|
||||||
|
<li>name some versions in order to refer easily to them,</li>
|
||||||
|
<li>write an historic of modifications,</li>
|
||||||
|
<li>know who did what and when,</li>
|
||||||
|
<li>manage conflicts,</li>
|
||||||
|
<li>easily manage branches.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<p>What does it mean for real usage? You can focus on coding. For example, you can code, a fix for bug b01 and for bug b02 and code a feature f03. Once finished you can creat...</p></content>
|
<h3 id="get-others-modifications">get others modifications</h3>
|
||||||
|
|
||||||
|
<div><pre class="twilight">
|
||||||
|
$ g...</pre></div></content>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<id>tag:yannesposito.com,2009-11-12:/Scratch/en/blog/2009-11-12-Git-for-n00b/</id>
|
<id>tag:yannesposito.com,2009-11-12:/Scratch/en/blog/2009-11-12-Git-for-n00b/</id>
|
||||||
|
@ -917,4 +897,27 @@ a.....<span class="Constant"><strong>a......b</strong></spa
|
||||||
<div><pre class="twilight">
|
<div><pre class="twilight">
|
||||||
git clone ssh...</pre></div></content>
|
git clone ssh...</pre></div></content>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<id>tag:yannesposito.com,2009-11-12:/Scratch/en/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/</id>
|
||||||
|
<title type="html">Git for n00b</title>
|
||||||
|
<published>2009-11-12T09:39:54Z</published>
|
||||||
|
<updated>2009-11-12T09:39:54Z</updated>
|
||||||
|
<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"><h1 class="first" id="here-we-go">Here we go!</h1>
|
||||||
|
|
||||||
|
<p>Here is one from many way to use <a href="http://git-scm.org" title="Git">Git</a>. This method is sufficient to work on a project. Not there is many other <em>workflows</em>.</p>
|
||||||
|
|
||||||
|
<h2 id="basic-usage">Basic usage</h2>
|
||||||
|
|
||||||
|
<p>Work with <a href="http://git-scm.org" title="Git">Git</a> immediately:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Get modification done by others <span class="black"><code>git pull</code></span>,</li>
|
||||||
|
<li>See details of these modifications <span class="black"><code>git log</code></span>,</li>
|
||||||
|
<li>Many times:
|
||||||
|
<ul>
|
||||||
|
<li><em>Make an atomic modification</em></li>
|
||||||
|
<li>Verify details of this modification: <span class="black"><code>git status</code></span> and <span class="black"><code>git diff</code></span>,</li>
|
||||||
|
<li>Add ...</li></ul></li></ul></content>
|
||||||
|
</entry>
|
||||||
</feed>
|
</feed>
|
||||||
|
|
|
@ -103,7 +103,7 @@
|
||||||
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Copyright ©, Yann Esposito</a>
|
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Copyright ©, Yann Esposito</a>
|
||||||
</div>
|
</div>
|
||||||
<div id="lastmod">
|
<div id="lastmod">
|
||||||
Modified: 04/20/2011
|
Modified: 09/14/2011
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
Entirely done with
|
Entirely done with
|
||||||
|
|
|
@ -4,7 +4,7 @@ def gitmtime
|
||||||
ext=%{.#{@item[:extension]}}
|
ext=%{.#{@item[:extension]}}
|
||||||
filepath<<=ext
|
filepath<<=ext
|
||||||
if not FileTest.exists?(filepath)
|
if not FileTest.exists?(filepath)
|
||||||
filepath.sub!(ext,%{/index#{ext}})
|
filepath.sub!(ext,%{#{@item.raw_filename}#{ext}})
|
||||||
end
|
end
|
||||||
str=`git log -1 --format='%ci' -- #{filepath}`
|
str=`git log -1 --format='%ci' -- #{filepath}`
|
||||||
if str.nil? or str.empty?
|
if str.nil? or str.empty?
|
||||||
|
|
|
@ -74,7 +74,7 @@ Voici comment je m’y prend avec <a href="http://nanoc.stoneship.org">nanoc
|
||||||
ext<span class="Keyword">=</span><span class="String"><span class="String">%{</span>.<span class="StringEmbeddedSource"><span class="StringEmbeddedSource">#{</span><span class="StringVariable"><span class="StringVariable">@</span>item</span><span class="StringEmbeddedSource">[</span><span class="StringConstant"><span class="StringConstant">:</span>extension</span><span class="StringEmbeddedSource">]</span><span class="StringEmbeddedSource">}</span></span><span class="String">}</span></span>
|
ext<span class="Keyword">=</span><span class="String"><span class="String">%{</span>.<span class="StringEmbeddedSource"><span class="StringEmbeddedSource">#{</span><span class="StringVariable"><span class="StringVariable">@</span>item</span><span class="StringEmbeddedSource">[</span><span class="StringConstant"><span class="StringConstant">:</span>extension</span><span class="StringEmbeddedSource">]</span><span class="StringEmbeddedSource">}</span></span><span class="String">}</span></span>
|
||||||
filepath<span class="Keyword"><<=</span>ext
|
filepath<span class="Keyword"><<=</span>ext
|
||||||
<span class="Keyword">if</span> <span class="Keyword">not</span> <span class="Support">FileTest</span>.<span class="Entity">exists?</span>(filepath)
|
<span class="Keyword">if</span> <span class="Keyword">not</span> <span class="Support">FileTest</span>.<span class="Entity">exists?</span>(filepath)
|
||||||
filepath.<span class="Entity">sub!</span>(ext,<span class="String"><span class="String">%{</span>/index<span class="StringEmbeddedSource"><span class="StringEmbeddedSource">#{</span>ext<span class="StringEmbeddedSource">}</span></span><span class="String">}</span></span>)
|
filepath.<span class="Entity">sub!</span>(ext,<span class="String"><span class="String">%{</span><span class="StringEmbeddedSource"><span class="StringEmbeddedSource">#{</span><span class="StringVariable"><span class="StringVariable">@</span>item</span><span class="StringEmbeddedSource"><span class="StringEmbeddedSource">.</span><span class="Entity">raw_filename</span></span><span class="StringEmbeddedSource">}</span></span><span class="StringEmbeddedSource"><span class="StringEmbeddedSource">#{</span>ext<span class="StringEmbeddedSource">}</span></span><span class="String">}</span></span>)
|
||||||
<span class="Keyword">end</span>
|
<span class="Keyword">end</span>
|
||||||
str<span class="Keyword">=</span><span class="String"><span class="String">`</span>git log -1 --format='%ci' -- <span class="StringEmbeddedSource"><span class="StringEmbeddedSource">#{</span>filepath<span class="StringEmbeddedSource">}</span></span><span class="String">`</span></span>
|
str<span class="Keyword">=</span><span class="String"><span class="String">`</span>git log -1 --format='%ci' -- <span class="StringEmbeddedSource"><span class="StringEmbeddedSource">#{</span>filepath<span class="StringEmbeddedSource">}</span></span><span class="String">`</span></span>
|
||||||
<span class="Keyword">if</span> str.<span class="Entity">nil?</span> <span class="Keyword">or</span> str.<span class="Entity">empty?</span>
|
<span class="Keyword">if</span> str.<span class="Entity">nil?</span> <span class="Keyword">or</span> str.<span class="Entity">empty?</span>
|
||||||
|
@ -90,7 +90,8 @@ Voici comment je m’y prend avec <a href="http://nanoc.stoneship.org">nanoc
|
||||||
Mais ça fonctionne comme prévu.
|
Mais ça fonctionne comme prévu.
|
||||||
Maintenant la date que vous voyez en bas de la page correspond exactement à la dernière date de modification de son contenu.</p>
|
Maintenant la date que vous voyez en bas de la page correspond exactement à la dernière date de modification de son contenu.</p>
|
||||||
|
|
||||||
<p>Je tiens à remercier Eric Sunshine pour ses conseils sur ce problème.</p>
|
<p><em>Mise à jour</em>:
|
||||||
|
Je tiens à remercier Eric Sunshine et Kris pour leurs conseils sur ce problème.</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -188,7 +189,7 @@ Maintenant la date que vous voyez en bas de la page correspond exactement à la
|
||||||
</div>
|
</div>
|
||||||
<div id="lastmod">
|
<div id="lastmod">
|
||||||
Écrit le : 02/09/2010
|
Écrit le : 02/09/2010
|
||||||
modifié le : 20/04/2011
|
modifié le : 14/09/2011
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
Site entièrement réalisé avec
|
Site entièrement réalisé avec
|
||||||
|
|
|
@ -327,13 +327,14 @@ est aussi vrai pour <code>d</code> (delete → supprimer), <code>v</code> (séle
|
||||||
Mais voici les killer features de vim.
|
Mais voici les killer features de vim.
|
||||||
Celles que je n’ai retrouvé que dans vim (ou presque).</p>
|
Celles que je n’ai retrouvé que dans vim (ou presque).</p>
|
||||||
|
|
||||||
<h3 id="dplacement-sur-la-ligne--0---f-f-t-t--">Déplacement sur la ligne : <code>0</code> <code>^</code> <code>$</code> <code>f</code> <code>F</code> <code>t</code> <code>T</code> <code>,</code> <code>;</code></h3>
|
<h3 id="dplacement-sur-la-ligne--0---g-f-f-t-t--">Déplacement sur la ligne : <code>0</code> <code>^</code> <code>$</code> <code>g_</code> <code>f</code> <code>F</code> <code>t</code> <code>T</code> <code>,</code> <code>;</code></h3>
|
||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<ul>
|
<ul>
|
||||||
<li><code>0</code> → aller à la colonne 0,</li>
|
<li><code>0</code> → aller à la colonne 0,</li>
|
||||||
<li><code>^</code> → aller au premier caractère de la ligne</li>
|
<li><code>^</code> → aller au premier caractère de la ligne</li>
|
||||||
<li><code>$</code> → aller au dernier caractère de la ligne</li>
|
<li><code>$</code> → aller à la dernière colonne de la ligne</li>
|
||||||
|
<li><code>g_</code> → aller au dernier caractère de la ligne</li>
|
||||||
<li><code>fa</code> → vous amène à la prochaine occurrence de a sur la ligne courante. <code>,</code> (resp. <code>;</code>) recherche l’occurrence suivante (resp. précédente).</li>
|
<li><code>fa</code> → vous amène à la prochaine occurrence de a sur la ligne courante. <code>,</code> (resp. <code>;</code>) recherche l’occurrence suivante (resp. précédente).</li>
|
||||||
<li><code>t,</code> → vous amène juste avant le <code>,</code>.</li>
|
<li><code>t,</code> → vous amène juste avant le <code>,</code>.</li>
|
||||||
<li><code>3fa</code> → recherche la 3ième occurrence de <code>a</code>.</li>
|
<li><code>3fa</code> → recherche la 3ième occurrence de <code>a</code>.</li>
|
||||||
|
@ -571,7 +572,7 @@ $(document).ready(function() {
|
||||||
</div>
|
</div>
|
||||||
<div id="lastmod">
|
<div id="lastmod">
|
||||||
Écrit le : 25/08/2011
|
Écrit le : 25/08/2011
|
||||||
modifié le : 31/08/2011
|
modifié le : 08/09/2011
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
Site entièrement réalisé avec
|
Site entièrement réalisé avec
|
||||||
|
|
|
@ -2,41 +2,13 @@
|
||||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||||
<id>http://yannesposito.com/</id>
|
<id>http://yannesposito.com/</id>
|
||||||
<title>Yogsototh's last blogs entries</title>
|
<title>Yogsototh's last blogs entries</title>
|
||||||
<updated>2011-09-05T10:21:41Z</updated>
|
<updated>2011-08-25T17:28:20Z</updated>
|
||||||
<link href="http://yannesposito.com/" rel="alternate"/>
|
<link href="http://yannesposito.com/" rel="alternate"/>
|
||||||
<link href="http://feeds.feedburner.com/yannespositocomfr" rel="self"/>
|
<link href="http://feeds.feedburner.com/yannespositocomfr" rel="self"/>
|
||||||
<author>
|
<author>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>http://yannesposito.com</uri>
|
<uri>http://yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<entry>
|
|
||||||
<id>tag:yannesposito.com,2011-09-05:/Scratch/fr/blog/programming-language-experience/</id>
|
|
||||||
<title type="html">programming language experience</title>
|
|
||||||
<published>2011-09-05T10:21:41Z</published>
|
|
||||||
<updated>2011-09-05T10:21:41Z</updated>
|
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/programming-language-experience/" rel="alternate"/>
|
|
||||||
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/programming-language-experience/main.png" /></p>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="intro">
|
|
||||||
|
|
||||||
<span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Mon avis sur les différents languages de programmations que j&rsquo;ai utilisé.
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<h3 id="basic">BASIC</h3>
|
|
||||||
|
|
||||||
<p>Ah&nbsp;! Le language de mes premiers programmes&nbsp;!
|
|
||||||
Je devais avoir 10-11 ans.
|
|
||||||
Sous <code>MO5</code>, <code>Amstrad CPC 6128</code> et même <code>Atari STe</code>.
|
|
||||||
Le langage des <code>GOTO</code>s.
|
|
||||||
Je suis empleint de nostalgie rien que d&rsquo;y penser.
|
|
||||||
C&rsquo;est à peu prêt le seul intérêt de ce langage.</p>
|
|
||||||
|
|
||||||
<p>Aujourd&rsquo;hui ce langage est tombé en désuétude.
|
|
||||||
Ce n&rsquo;est ni un bon langage pour apprendre, ni un bon langage pour faire de vrai prog...</p></p></content>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
<entry>
|
||||||
<id>tag:yannesposito.com,2011-08-25:/Scratch/fr/blog/Learn-Vim-Progressively/</id>
|
<id>tag:yannesposito.com,2011-08-25:/Scratch/fr/blog/Learn-Vim-Progressively/</id>
|
||||||
<title type="html">Apprenez Vim Progressivement</title>
|
<title type="html">Apprenez Vim Progressivement</title>
|
||||||
|
@ -183,7 +155,7 @@ Je n&rsquo;en ai pas encore terminé avec ça. Mais si je tarde trop
|
||||||
<p>J&rsquo;ai écrit un framework MVC pour application javascript simple mais néanmoins très rapide.</p>
|
<p>J&rsquo;ai écrit un framework MVC pour application javascript simple mais néanmoins très rapide.</p>
|
||||||
|
|
||||||
<p>Meilleurs vœux à tous&nbsp;!</p>
|
<p>Meilleurs vœux à tous&nbsp;!</p>
|
||||||
</p></content>
|
</content>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<id>tag:yannesposito.com,2010-10-26:/Scratch/fr/blog/2010-10-26-LaTeX-like-macro-and-markdown/</id>
|
<id>tag:yannesposito.com,2010-10-26:/Scratch/fr/blog/2010-10-26-LaTeX-like-macro-and-markdown/</id>
|
||||||
|
@ -274,7 +246,7 @@ J&rsquo;ai donc décidé de faire un site à minima.
|
||||||
Je voulais qu&rsquo;il soit joli <em>et</em> le plus simple possible pour assurer sa compatibilité.
|
Je voulais qu&rsquo;il soit joli <em>et</em> le plus simple possible pour assurer sa compatibilité.
|
||||||
Les règles que je me suis fixées sont donc:</p>
|
Les règles que je me suis fixées sont donc:</p>
|
||||||
|
|
||||||
</p></content>
|
</content>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<id>tag:yannesposito.com,2010-09-02:/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/</id>
|
<id>tag:yannesposito.com,2010-09-02:/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/</id>
|
||||||
|
@ -400,7 +372,7 @@ J&rsquo;ai complètement modifié le style de mon site web.
|
||||||
Il est inspiré du style de l&rsquo;application iBooks<small>&copy;</small> sur iPhone<small>&copy;</small>.</p>
|
Il est inspiré du style de l&rsquo;application iBooks<small>&copy;</small> sur iPhone<small>&copy;</small>.</p>
|
||||||
|
|
||||||
<p>Dites moi ce que vous pensez de ce nouveau design.</p>
|
<p>Dites moi ce que vous pensez de ce nouveau design.</p>
|
||||||
</p></content>
|
</content>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<id>tag:yannesposito.com,2010-07-07:/Scratch/fr/blog/2010-07-07-CSS-rendering-problems-by-navigator/</id>
|
<id>tag:yannesposito.com,2010-07-07:/Scratch/fr/blog/2010-07-07-CSS-rendering-problems-by-navigator/</id>
|
||||||
|
@ -629,7 +601,7 @@ Parce qu&rsquo;il est facile de <em>merger</em> par erreur, je p
|
||||||
|
|
||||||
<p>Disons que j&rsquo;ai les branches&nbsp;:</p>
|
<p>Disons que j&rsquo;ai les branches&nbsp;:</p>
|
||||||
|
|
||||||
...</p></content>
|
...</content>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<id>tag:yannesposito.com,2010-03-22:/Scratch/fr/blog/2010-03-22-Git-Tips/</id>
|
<id>tag:yannesposito.com,2010-03-22:/Scratch/fr/blog/2010-03-22-Git-Tips/</id>
|
||||||
|
@ -764,7 +736,7 @@ a.....<span class="Constant"><strong>a......b</strong></spa
|
||||||
<div><pre class="twilight">
|
<div><pre class="twilight">
|
||||||
<span class="Keyword">&gt;</span> chsh
|
<span class="Keyword">&gt;</span> chsh
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div></content>
|
</content>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<id>tag:yannesposito.com,2009-12-14:/Scratch/fr/blog/2009-12-14-Git-vs--Bzr/</id>
|
<id>tag:yannesposito.com,2009-12-14:/Scratch/fr/blog/2009-12-14-Git-vs--Bzr/</id>
|
||||||
|
@ -797,7 +769,7 @@ a.....<span class="Constant"><strong>a......b</strong></spa
|
||||||
<content type="html"><p>Il est vraiment incroyable que le filtrage d&rsquo;appel soit impossible avec un iPhone&nbsp;! Le <em>seul</em> intérêt que j&rsquo;y vois, c&rsquo;est une négociation avec les opérateurs pour interdire aux utilisateurs de passer à travers la publicité. C&rsquo;est tout simplement inacceptable.</p>
|
<content type="html"><p>Il est vraiment incroyable que le filtrage d&rsquo;appel soit impossible avec un iPhone&nbsp;! Le <em>seul</em> intérêt que j&rsquo;y vois, c&rsquo;est une négociation avec les opérateurs pour interdire aux utilisateurs de passer à travers la publicité. C&rsquo;est tout simplement inacceptable.</p>
|
||||||
|
|
||||||
<p>Je suis un utilisateur λ de l&rsquo;iPhone. Le seul moyen de filtrer ses appels, de faire des blacklists ou autre c&rsquo;est de <em>jailbreaker</em> son iPhone. Et je n&rsquo;en ai aucune envie. Alors si comme moi, vous trouvez ça inacceptable, envoyez un mot à Apple&nbsp;: <a href="http://www.apple.com/feedback/iphone.html">http://www.apple.com/feedback/iphone.html</a></p>
|
<p>Je suis un utilisateur λ de l&rsquo;iPhone. Le seul moyen de filtrer ses appels, de faire des blacklists ou autre c&rsquo;est de <em>jailbreaker</em> son iPhone. Et je n&rsquo;en ai aucune envie. Alors si comme moi, vous trouvez ça inacceptable, envoyez un mot à Apple&nbsp;: <a href="http://www.apple.com/feedback/iphone.html">http://www.apple.com/feedback/iphone.html</a></p>
|
||||||
</p></content>
|
</content>
|
||||||
</entry>
|
</entry>
|
||||||
<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>
|
<id>tag:yannesposito.com,2009-11-12:/Scratch/fr/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/</id>
|
||||||
|
@ -818,26 +790,41 @@ a.....<span class="Constant"><strong>a......b</strong></spa
|
||||||
<li>voir les détails de ces modifications <span class="black"><code>git log</code></span></li></ul></content>
|
<li>voir les détails de ces modifications <span class="black"><code>git log</code></span></li></ul></content>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<id>tag:yannesposito.com,2009-11-12:/Scratch/fr/blog/2009-11-12-Git-for-n00b/commandes-avancees/</id>
|
<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>
|
<title type="html">Git pour les nuls</title>
|
||||||
<published>2009-11-12T09:39:54Z</published>
|
<published>2009-11-12T09:39:54Z</published>
|
||||||
<updated>2009-11-12T09:39:54Z</updated>
|
<updated>2009-11-12T09:39:54Z</updated>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/commandes-avancees/" rel="alternate"/>
|
<link href="http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/" rel="alternate"/>
|
||||||
<content type="html"><h1 class="first" id="liste-de-commandes">Liste de commandes</h1>
|
<content type="html">
|
||||||
|
<div class="intro">
|
||||||
|
|
||||||
<h2 id="les-commandes-pour-chaque-choses">Les commandes pour chaque choses</h2>
|
|
||||||
|
|
||||||
<p>Dans la première partie, nous avons vu la liste des problèmes résolus par <a href="http://git-scm.org" title="Git">Git</a>. En résumé Git doit pouvoir&nbsp;:</p>
|
<p>Voici un tutoriel <a href="http://git-scm.org">Git</a> détaillé pour ceux qui en connaissent très peu sur les systèmes de versions. Vous comprendrez l&rsquo;utilité de tels systèmes et surtout comment on se sert des systèmes de versions modernes, le tout en restant le plus pragmatique possible.</p>
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>récupérer les modifications des autres&nbsp;;</li>
|
</div>
|
||||||
<li>envoyer ses modifications aux autres&nbsp;;</li>
|
|
||||||
<li>revenir dans le temps&nbsp;;</li>
|
|
||||||
<li>lister les différences entre chaque version&nbsp;;</li>
|
|
||||||
<li>nommer certaines versions pour s&rsquo;y référer facilement&nbsp;;</li>
|
</div>
|
||||||
<li>afficher l&rsquo;historique des modifications&nbsp;;</li>
|
|
||||||
<li>savoir qui a fait quoi et quand&nbsp;;</li>
|
<div class="corps">
|
||||||
<li>gérer des conflits&nbsp;;</li>
|
|
||||||
<li>manipuler facileme...</li></ul></content>
|
|
||||||
|
<h1 class="first" id="pour-commencer-la-conclusion">Pour commencer, la conclusion</h1>
|
||||||
|
|
||||||
|
<p>Voici la liste des commandes nécessaires et suffisantes pour utiliser <a href="http://git-scm.org" title="Git">Git</a>. Il y en a très peu. Il est normal de ne pas les comprendre tout de suite mais c&rsquo;est pour vous donner une idée. Malgré la longueur de l&rsquo;article, 95% de l&rsquo;utilisation de </p></content>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<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>
|
||||||
|
<link href="http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/comprendre/" rel="alternate"/>
|
||||||
|
<content type="html"><h1 class="first" id="pourquoi-git-est-cool-">Pourquoi Git est cool&nbsp;?</h1>
|
||||||
|
|
||||||
|
<p>Parce que grace à <a href="http://git-scm.org" title="Git">Git</a> vous pouvez travailler sur plusieurs partie du projet de façon complètement isolée les unes des autres. Ça c&rsquo;est la partie décentralisée de <a href="http://git-scm.org" title="Git">Git</a>.</p>
|
||||||
|
|
||||||
|
<p>Toutes les branches locales utilisent le même répertoire. Ainsi on peu changer de branche très aisément et rapidement. On peut aussi changer de branche alors que certains fichier sont en cours de modifications. On peut même pousser le vice jusqu&rsquo;à modifier un fichier, changer de branche, commiter une partie seulement des modifications de ce fichier dans la branche courante. Revenir dans l&rsquo;ancienne branche et commi...</p></content>
|
||||||
</entry>
|
</entry>
|
||||||
</feed>
|
</feed>
|
||||||
|
|
|
@ -148,7 +148,7 @@
|
||||||
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/deed.fr">Droits de reproduction ©, Yann Esposito</a>
|
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/deed.fr">Droits de reproduction ©, Yann Esposito</a>
|
||||||
</div>
|
</div>
|
||||||
<div id="lastmod">
|
<div id="lastmod">
|
||||||
modifié le : 20/04/2011
|
modifié le : 14/09/2011
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
Site entièrement réalisé avec
|
Site entièrement réalisé avec
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.7 KiB |
|
@ -0,0 +1,6 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
0 ^ fi t) 4fi g_ $
|
||||||
|
│ │ │ │ │ │ │
|
||||||
|
x = (name_1,vision_3); #this is a comment.
|
|
@ -2,702 +2,694 @@
|
||||||
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
|
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/</loc>
|
<loc>http://yannesposito.com/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/about/contact/</loc>
|
<loc>http://yannesposito.com/Scratch/en/about/contact/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-06-19-jQuery-popup-the-easy-way/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-06-19-jQuery-popup-the-easy-way/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/softwares/ypassword/</loc>
|
<loc>http://yannesposito.com/Scratch/en/softwares/ypassword/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/about/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/about/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2009-09-jQuery-Tag-Cloud/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2009-09-jQuery-Tag-Cloud/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/Password-Management/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/Password-Management/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-05-19-How-to-cut-HTML-and-repair-it/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-05-19-How-to-cut-HTML-and-repair-it/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-05-24-Trees--Pragmatism-and-Formalism/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-05-24-Trees--Pragmatism-and-Formalism/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-10-26-LaTeX-like-macro-and-markdown/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-10-26-LaTeX-like-macro-and-markdown/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-09-02-base64-and-sha1-on-iPhone/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-09-02-base64-and-sha1-on-iPhone/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/softwares/ypassword/iphoneweb/</loc>
|
<loc>http://yannesposito.com/Scratch/en/softwares/ypassword/iphoneweb/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-10-06-New-Blog-Design-Constraints/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-10-06-New-Blog-Design-Constraints/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-02-18-split-a-file-by-keyword/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-02-18-split-a-file-by-keyword/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-06-17-hide-yourself-to-analytics/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-06-17-hide-yourself-to-analytics/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/commandes-avancees/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/commandes-avancees/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_1/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_1/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/mvc/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/mvc/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2009-09-replace-all-except-some-part/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2009-09-replace-all-except-some-part/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/09_Why_I_didn-t_keep_whosamung-us/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/09_Why_I_didn-t_keep_whosamung-us/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-02-18-split-a-file-by-keyword/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-02-18-split-a-file-by-keyword/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_2/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_2/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/softwares/yaquabubbles/</loc>
|
<loc>http://yannesposito.com/Scratch/en/softwares/yaquabubbles/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/commandes-avancees/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/commandes-avancees/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-Focus-vs-Minimalism/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-Focus-vs-Minimalism/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_3/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_3/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-03-22-Git-Tips/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-03-22-Git-Tips/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-06-19-jQuery-popup-the-easy-way/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-06-19-jQuery-popup-the-easy-way/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-07-09-Indecidabilities/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-07-09-Indecidabilities/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_4/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_4/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/01_nanoc/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/01_nanoc/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-07-05-Cappuccino-and-Web-applications/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-07-05-Cappuccino-and-Web-applications/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2009-12-06-iphone-call-filter/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2009-12-06-iphone-call-filter/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_1/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_1/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/11_Load_Disqus_Asynchronously/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/11_Load_Disqus_Asynchronously/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-02-15-All-but-something-regexp/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-02-15-All-but-something-regexp/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-07-05-Cappuccino-and-Web-applications/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-07-05-Cappuccino-and-Web-applications/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/softwares/ypassword/web/</loc>
|
<loc>http://yannesposito.com/Scratch/en/softwares/ypassword/web/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/05_git_create_remote_branch/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/05_git_create_remote_branch/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-untaught-git-usage/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-untaught-git-usage/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/11_Load_Disqus_Asynchronously/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/11_Load_Disqus_Asynchronously/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-10-26-LaTeX-like-macro-and-markdown/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-10-26-LaTeX-like-macro-and-markdown/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/about/cv/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/about/cv/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/about/technical_details/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/about/technical_details/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_2/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_2/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-14</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-07-07-CSS-rendering-problems-by-navigator/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-07-07-CSS-rendering-problems-by-navigator/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-06-15-Get-my-blog-engine/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-06-15-Get-my-blog-engine/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/Haskell-Mandelbrot/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/Haskell-Mandelbrot/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/mvc/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/mvc/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_3/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_3/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/programming-language-experience/</loc>
|
|
||||||
<lastmod>2011-09-05</lastmod>
|
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/validation/</loc>
|
<loc>http://yannesposito.com/Scratch/en/validation/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_4/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_4/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-untaught-git-usage/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-untaught-git-usage/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/softwares/yclock/</loc>
|
<loc>http://yannesposito.com/Scratch/en/softwares/yclock/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-How-to-preload-your-site-with-style/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-How-to-preload-your-site-with-style/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2011-01-03-Happy-New-Year/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2011-01-03-Happy-New-Year/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/about/old/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/about/old/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-05-17-at-least-this-blog-revive/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-05-17-at-least-this-blog-revive/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/02_ackgrep/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/02_ackgrep/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-14</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/03_losthighway/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/03_losthighway/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-08-31-send-mail-from-command-line-with-attached-file/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-08-31-send-mail-from-command-line-with-attached-file/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/about/contact/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/about/contact/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-How-to-preload-your-site-with-style/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-How-to-preload-your-site-with-style/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-Focus-vs-Minimalism/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-Focus-vs-Minimalism/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/programming-language-experience/</loc>
|
|
||||||
<lastmod>2011-09-05</lastmod>
|
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-07-07-CSS-rendering-problems-by-navigator/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-07-07-CSS-rendering-problems-by-navigator/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/07_Screensaver_compilation_option_for_Snow_Leopard/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/07_Screensaver_compilation_option_for_Snow_Leopard/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-07-31-New-style-after-holidays/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-07-31-New-style-after-holidays/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2009-12-06-iphone-call-filter/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2009-12-06-iphone-call-filter/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-02-23-When-regexp-is-not-the-best-solution/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-02-23-When-regexp-is-not-the-best-solution/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-30-How-to-handle-evil-IE/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-30-How-to-handle-evil-IE/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-09-02-base64-and-sha1-on-iPhone/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-09-02-base64-and-sha1-on-iPhone/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/07_Screensaver_compilation_option_for_Snow_Leopard/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/07_Screensaver_compilation_option_for_Snow_Leopard/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-10-14-Fun-with-wav/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-10-14-Fun-with-wav/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/softwares/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/softwares/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/02_ackgrep/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/02_ackgrep/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/06_How_I_use_git/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/06_How_I_use_git/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2009-09-replace-all-except-some-part/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2009-09-replace-all-except-some-part/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/10_Synchronize_Custom_WebSite_with_mobileMe/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/10_Synchronize_Custom_WebSite_with_mobileMe/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-02-15-All-but-something-regexp/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-02-15-All-but-something-regexp/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/about/old/</loc>
|
<loc>http://yannesposito.com/Scratch/en/about/old/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/about/cv/</loc>
|
<loc>http://yannesposito.com/Scratch/en/about/cv/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2011-04-20-Now-hosted-on-github/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2011-04-20-Now-hosted-on-github/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/Password-Management/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/Password-Management/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/softwares/ypassword/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/softwares/ypassword/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/A-more-convenient-diff/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/A-more-convenient-diff/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/09_Why_I_didn-t_keep_whosamung-us/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/09_Why_I_didn-t_keep_whosamung-us/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/feed/feed.xml</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/feed/feed.xml</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/validation/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/validation/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-08-23-Now-heberged-on-heroku/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-08-23-Now-heberged-on-heroku/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-10-14-Fun-with-wav/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-10-14-Fun-with-wav/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-06-14-multi-language-choices/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-06-14-multi-language-choices/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/A-more-convenient-diff/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/A-more-convenient-diff/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2011-01-03-Happy-New-Year/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2011-01-03-Happy-New-Year/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-08-31-send-mail-from-command-line-with-attached-file/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-08-31-send-mail-from-command-line-with-attached-file/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/10_Synchronize_Custom_WebSite_with_mobileMe/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/10_Synchronize_Custom_WebSite_with_mobileMe/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-02-16-All-but-something-regexp--2-/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-02-16-All-but-something-regexp--2-/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-07-31-New-style-after-holidays/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-07-31-New-style-after-holidays/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/softwares/yaquabubbles/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/softwares/yaquabubbles/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2009-12-14-Git-vs--Bzr/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2009-12-14-Git-vs--Bzr/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/06_How_I_use_git/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/06_How_I_use_git/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/03_losthighway/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/03_losthighway/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/comprendre/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/comprendre/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/rss/</loc>
|
<loc>http://yannesposito.com/Scratch/en/rss/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2009-09-jQuery-Tag-Cloud/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2009-09-jQuery-Tag-Cloud/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/conf-et-install/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/conf-et-install/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-launch-daemon-from-command-line/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-launch-daemon-from-command-line/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-06-15-Get-my-blog-engine/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-06-15-Get-my-blog-engine/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-03-23-Encapsulate-git/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-03-23-Encapsulate-git/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-03-22-Git-Tips/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-03-22-Git-Tips/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/Haskell-Mandelbrot/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/Haskell-Mandelbrot/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-02-16-All-but-something-regexp--2-/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-02-16-All-but-something-regexp--2-/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-05-24-Trees--Pragmatism-and-Formalism/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-05-24-Trees--Pragmatism-and-Formalism/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-02-23-When-regexp-is-not-the-best-solution/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-02-23-When-regexp-is-not-the-best-solution/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/</loc>
|
<loc>http://yannesposito.com/Scratch/en/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-10-06-New-Blog-Design-Constraints/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-10-06-New-Blog-Design-Constraints/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-05-17-at-least-this-blog-revive/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-05-17-at-least-this-blog-revive/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-08-23-Now-heberged-on-heroku/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-08-23-Now-heberged-on-heroku/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-launch-daemon-from-command-line/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-launch-daemon-from-command-line/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/conf-et-install/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/conf-et-install/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-03-23-Encapsulate-git/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-03-23-Encapsulate-git/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/softwares/ypassword/web/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/softwares/ypassword/web/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/Learn-Vim-Progressively/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/Learn-Vim-Progressively/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-06-17-track-events-with-google-analytics/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-06-17-track-events-with-google-analytics/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/assets/css/main.css</loc>
|
<loc>http://yannesposito.com/Scratch/assets/css/main.css</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/rss/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/rss/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2011-04-20-Now-hosted-on-github/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2011-04-20-Now-hosted-on-github/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/04_drm/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/04_drm/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/about/technical_details/</loc>
|
<loc>http://yannesposito.com/Scratch/en/about/technical_details/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-06-17-hide-yourself-to-analytics/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-06-17-hide-yourself-to-analytics/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-30-How-to-handle-evil-IE/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-30-How-to-handle-evil-IE/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-07-09-Indecidabilities/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-07-09-Indecidabilities/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/01_nanoc/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/01_nanoc/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/about/</loc>
|
<loc>http://yannesposito.com/Scratch/en/about/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-05-19-How-to-cut-HTML-and-repair-it/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-05-19-How-to-cut-HTML-and-repair-it/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/softwares/ypassword/iphoneweb/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/softwares/ypassword/iphoneweb/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/softwares/</loc>
|
<loc>http://yannesposito.com/Scratch/en/softwares/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/comprendre/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/comprendre/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2010-06-14-multi-language-choices/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2010-06-14-multi-language-choices/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/05_git_create_remote_branch/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/05_git_create_remote_branch/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/feed/feed.xml</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/feed/feed.xml</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/sitemap.xml</loc>
|
<loc>http://yannesposito.com/Scratch/sitemap.xml</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/fr/softwares/yclock/</loc>
|
<loc>http://yannesposito.com/Scratch/fr/softwares/yclock/</loc>
|
||||||
<lastmod>2011-09-05</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/04_drm/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/04_drm/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>http://yannesposito.com/Scratch/en/blog/2009-12-14-Git-vs--Bzr/</loc>
|
<loc>http://yannesposito.com/Scratch/en/blog/2009-12-14-Git-vs--Bzr/</loc>
|
||||||
<lastmod>2011-08-29</lastmod>
|
<lastmod>2011-09-12</lastmod>
|
||||||
</url>
|
</url>
|
||||||
</urlset>
|
</urlset>
|
||||||
|
|
|
@ -188,7 +188,7 @@
|
||||||
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Copyright ©, Yann Esposito</a>
|
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Copyright ©, Yann Esposito</a>
|
||||||
</div>
|
</div>
|
||||||
<div id="lastmod">
|
<div id="lastmod">
|
||||||
Modified: 09/02/2011
|
Modified: 09/14/2011
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
Entirely done with
|
Entirely done with
|
||||||
|
|
12
resources/.vimrc
Normal file
12
resources/.vimrc
Normal 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
|
Loading…
Reference in a new issue