diff --git a/README.md b/README.md new file mode 100644 index 000000000..e560dd0a8 --- /dev/null +++ b/README.md @@ -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 diff --git a/Rules b/Rules index d35466c90..1c0aaa969 100644 --- a/Rules +++ b/Rules @@ -9,7 +9,6 @@ # CSS compile '/css/*' do - # filter :no_custom_css filter :sass filter :rainpress end diff --git a/config.ru b/config.ru index 7591c9e6d..866e6b446 100644 --- a/config.ru +++ b/config.ru @@ -1,3 +1,5 @@ +# This file is needed if you want to host this website +# using ruby rack. In particular on heroku. require 'rubygems' require 'rack' require 'rack/contrib' diff --git a/content/css/main.css b/content/css/main.css index dcb448613..6c284e5da 100644 --- a/content/css/main.css +++ b/content/css/main.css @@ -10,6 +10,7 @@ $secondRevealColor: #AA5533 $lighterRevealColor: $revealColor + #666 $imageBackgroundColor: $mainBackgroundColor $imageBorderColor: #cccccc +$borderColor: #cccccc $mainLinkColor: $mainTextColor $textLinkColor: #555555 $highlightColor: #888888 @@ -61,6 +62,9 @@ $codeBlockBackgroundColor: $behindColor =secondColor color: $behindColor + border: $borderColor solid 1px + border-radius: 5px + box-shadow: 0 0 2px $borderColor inset background: color: $lighterColor a @@ -396,9 +400,7 @@ $hauteur_menu: 4em $contentMargin: 0em .encadre, .black, .red, .intro, .resume, .shadow - padding: - left: 2em - right: 2em + padding: 2em margin: top: 2em bottom: 2em diff --git a/content/html/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes.md b/content/html/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes.md index be71574f4..eab5e9c6d 100644 --- a/content/html/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes.md +++ b/content/html/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes.md @@ -27,7 +27,7 @@ def gitmtime ext=%{.#{@item[:extension]}} filepath<<=ext if not FileTest.exists?(filepath) - filepath.sub!(ext,%{/index#{ext}}) + filepath.sub!(ext,%{#{@item.raw_filename}#{ext}}) end str=`git log -1 --format='%ci' -- #{filepath}` 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. -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. diff --git a/content/html/en/blog/Learn-Vim-Progressively.md b/content/html/en/blog/Learn-Vim-Progressively.md index d72d0b4d1..077c0a434 100644 --- a/content/html/en/blog/Learn-Vim-Progressively.md +++ b/content/html/en/blog/Learn-Vim-Progressively.md @@ -213,11 +213,12 @@ With all preceding commands you should be comfortable to use vim. But now, here are the killer features. 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 > - `^` → 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. > - `t,` → go just before the character `,`. > - `3fa` → search the 3rd occurrence of `a` on this line. @@ -260,7 +261,7 @@ Typically: `0I-- [ESC]` <%= blogimage("rectangular-blocks.gif","Rectangular blocks") %> -Not on windows you might have to use `` instead of `` if your clipboard is not empty. +Note on windows you might have to use `` instead of `` if your clipboard is not empty. ### Completion: `` and ``. diff --git a/content/html/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes.md b/content/html/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes.md index a95c1a01e..d019da167 100644 --- a/content/html/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes.md +++ b/content/html/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes.md @@ -27,7 +27,7 @@ def gitmtime ext=%{.#{@item[:extension]}} filepath<<=ext if not FileTest.exists?(filepath) - filepath.sub!(ext,%{/index#{ext}}) + filepath.sub!(ext,%{#{@item.raw_filename}#{ext}}) end str=`git log -1 --format='%ci' -- #{filepath}` 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. 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. diff --git a/content/html/fr/blog/Learn-Vim-Progressively.md b/content/html/fr/blog/Learn-Vim-Progressively.md index 50ec72c12..83bffda0d 100644 --- a/content/html/fr/blog/Learn-Vim-Progressively.md +++ b/content/html/fr/blog/Learn-Vim-Progressively.md @@ -219,11 +219,12 @@ Jusqu'ici vous avez appris les commandes les plus courantes. Mais voici les killer features de vim. 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, > - `^` → 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). > - `t,` → vous amène juste avant le `,`. > - `3fa` → recherche la 3ième occurrence de `a`. diff --git a/img_latest_blog_dir b/img_latest_blog_dir index 822bb2e00..6edf35902 120000 --- a/img_latest_blog_dir +++ b/img_latest_blog_dir @@ -1 +1 @@ -./output/Scratch/img/blog/programming-language-experience \ No newline at end of file +/home/e640846/Sites/webroot/output/Scratch/img/blog/Higher-order-function-in-zsh \ No newline at end of file diff --git a/latest.md b/latest.md index f8eddf7dc..ed9648ff9 120000 --- a/latest.md +++ b/latest.md @@ -1 +1 @@ -./multi/blog/programming-language-experience.md \ No newline at end of file +./multi/blog/Higher-order-function-in-zsh.md \ No newline at end of file diff --git a/lib/blog.rb b/lib/blog.rb new file mode 100644 index 000000000..4c0978998 --- /dev/null +++ b/lib/blog.rb @@ -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 %{#{title}} +end + +# Return a blog image with class left added +def leftblogimage(val,title="no name") + return blogimage(val, title, "left") +end diff --git a/lib/css.rb b/lib/css.rb deleted file mode 100644 index 0dada1386..000000000 --- a/lib/css.rb +++ /dev/null @@ -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 diff --git a/lib/gitmtime.rb b/lib/gitmtime.rb index 49f8cf571..82671298f 100644 --- a/lib/gitmtime.rb +++ b/lib/gitmtime.rb @@ -3,7 +3,7 @@ def gitmtime ext=%{.#{@item[:extension]}} filepath<<=ext if not FileTest.exists?(filepath) - filepath.sub!(ext,%{/index#{ext}}) + filepath.sub!(ext,%{#{@item.raw_filename}#{ext}}) end str=`git log -1 --format='%ci' -- #{filepath}` if str.nil? or str.empty? diff --git a/lib/helpers.rb b/lib/helpers.rb index 4e0ded6a9..c68bad653 100644 --- a/lib/helpers.rb +++ b/lib/helpers.rb @@ -7,7 +7,6 @@ # <% content_for :summary do %> # Sommaire que je veux ecrire # <% end %> -# # Pour remplir à la fois le texte et le sommaire include Nanoc3::Helpers::Capturing diff --git a/lib/multiMenu.rb b/lib/multiMenu.rb index 0537a03cf..3ef77eea8 100644 --- a/lib/multiMenu.rb +++ b/lib/multiMenu.rb @@ -1,14 +1,17 @@ +# give item corresponding to the homepage of the current language def homepage @items.find do |i| i.reps[0].path == %{#{@config[:webprefix]}/#{@conf.language}/} end end +# Explicit, give the children of a node in the menu, sorted by menu priority def sortedChildrenByMenuPriority(item) item.children.reject{|p| p[:isHidden]}. sort!{|x,y| x[:menupriority] <=> y[:menupriority]} end +# Generate the menu for the current item def generateMenu home=homepage if home.nil? @@ -22,6 +25,7 @@ def generateMenu "
  • "+liste.join("
  • \n
  • ")+"
" end +# get the depth of an item in the menu def depthOf(item) res=0 while item.parent != nil @@ -31,6 +35,8 @@ def depthOf(item) return res end +# get the list of item children of a node sorted +# by menupriority or date depending of the kind fo page def getSortedChildren(parent) if parent[:kind] == "blog" 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 +# For the page blog, the submenu is very specific def generateBlogSubMenu(language) year=0 res="" @@ -63,6 +70,7 @@ def generateBlogSubMenu(language) end end +# Generate a submenu, not always needed def generateSubMenu() if @item[:noSubMenu] return @@ -102,23 +110,6 @@ def generateSubMenu() 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 %{#{title}} -end - -def leftblogimage(val,title="no name") - return blogimage(val, title, "left") -end - def lnkto(title,item) language=@item_rep.path.sub(/#{@config[:webprefix]}\//,'').sub(/\/.*$/,'') link_to(title, "#{@config[:webprefix]}/#{language}"+item) diff --git a/lib/repair_html.rb b/lib/repair_html.rb index dc2f9d324..87222b809 100644 --- a/lib/repair_html.rb +++ b/lib/repair_html.rb @@ -11,36 +11,23 @@ def repair_html( html, debug=false ) depth=0 html.scan( %r{<(/?)(\w*)([^>]*)>} ).each do |m| if m[-1] == "/" - if debug - puts 'IGNORE: <'+m[0]+m[1]+'/>' + depth.to_s - puts 'parents='+parents.join('; ') - end next end if m[0] == "" parents[depth]=m[1] depth+=1 - if debug - puts '<'+m[0]+m[1]+'> ' + depth.to_s - puts 'parents='+parents.join('; ') - end else depth-=1 - if (not debug) and (depth <0) - puts 'ERROR repair_html !' - # puts 'HTML: ' + html - # puts '---' - # repair_html(html,true) - # puts 'END_ERROR' - end - if debug - puts '<'+m[0]+m[1]+'> ' + depth.to_s + # -1 is normal for my layout + if (depth <= -2) + puts "WARNING: Intermiedate Depth <= -2" end end end res=html.sub(/<[^>]*$/m,'') depth -= 1 - if (depth < 0) + if (depth < -1) + puts "ERROR: Final Depth < 0" parents=[] depth=0 html.scan( %r{<(/?)(\w*)[^>]*(/?)>} ).each do |m| diff --git a/multi/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes.md b/multi/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes.md index 470ebb94c..eda4616cf 100644 --- a/multi/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes.md +++ b/multi/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes.md @@ -35,7 +35,7 @@ def gitmtime ext=%{.#{@item[:extension]}} filepath<<=ext if not FileTest.exists?(filepath) - filepath.sub!(ext,%{/index#{ext}}) + filepath.sub!(ext,%{#{@item.raw_filename}#{ext}}) end str=`git log -1 --format='%ci' -- #{filepath}` 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: 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. -fr: Je tiens à remercier Eric Sunshine pour ses conseils sur ce problème. +en: _Edit_: +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. diff --git a/multi/blog/Higher-order-function-in-zsh.md b/multi/blog/Higher-order-function-in-zsh.md new file mode 100644 index 000000000..490b5bfad --- /dev/null +++ b/multi/blog/Higher-order-function-in-zsh.md @@ -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 : + + +# 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 + + +fr: Après + + +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) + + +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. + + + +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 + + +After => + + +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/* ) + + +Also, the first verstion is a bit easier to read. +But the second one is clearly far superior in architecture. +Why? diff --git a/multi/blog/Learn-Vim-Progressively.md b/multi/blog/Learn-Vim-Progressively.md index e15d8d76f..7eafb4a35 100644 --- a/multi/blog/Learn-Vim-Progressively.md +++ b/multi/blog/Learn-Vim-Progressively.md @@ -362,19 +362,21 @@ fr: Jusqu'ici vous avez appris les commandes les plus courantes. fr: Mais voici les killer features de vim. fr: Celles que je n'ai retrouvé que dans vim (ou presque). -en: ### Move on current line: `0` `^` `$` `f` `F` `t` `T` `,` `;` -fr: ### Déplacement sur la ligne : `0` `^` `$` `f` `F` `t` `T` `,` `;` +en: ### Move on current line: `0` `^` `$` `g_` `f` `F` `t` `T` `,` `;` +fr: ### Déplacement sur la ligne : `0` `^` `$` `g_` `f` `F` `t` `T` `,` `;` en: > - `0` → go to column 0 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: > - `t,` → go just before the character `,`. en: > - `3fa` → search the 3rd occurrence of `a` on this line. en: > - `F` and `T` → like `f` and `t` but backward. fr: > - `0` → aller à la colonne 0, 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: > - `t,` → vous amène juste avant le `,`. 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") %> -en: Not on windows you might have to use `` instead of `` if your clipboard is not empty. +en: Note on windows you might have to use `` instead of `` if your clipboard is not empty. fr: Remarquez que sous windows, vous devez utiliser `` plutôt que `` si votre "presse papier" n'est pas vide. en: ### Completion: `` and ``. diff --git a/output/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/code/gitmtime.rb b/output/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/code/gitmtime.rb index 181b11b14..0617e0637 100644 --- a/output/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/code/gitmtime.rb +++ b/output/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/code/gitmtime.rb @@ -4,7 +4,7 @@ def gitmtime ext=%{.#{@item[:extension]}} filepath<<=ext if not FileTest.exists?(filepath) - filepath.sub!(ext,%{/index#{ext}}) + filepath.sub!(ext,%{#{@item.raw_filename}#{ext}}) end str=`git log -1 --format='%ci' -- #{filepath}` if str.nil? or str.empty? diff --git a/output/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/index.html b/output/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/index.html index 1bda20e6d..6bbbb3dd8 100644 --- a/output/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/index.html +++ b/output/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/index.html @@ -74,7 +74,7 @@ This is how I do this with nanoc:

ext=%{.#{@item[:extension]}} filepath<<=ext if not FileTest.exists?(filepath) - filepath.sub!(ext,%{/index#{ext}}) + filepath.sub!(ext,%{#{@item.raw_filename}#{ext}}) end str=`git log -1 --format='%ci' -- #{filepath}` if str.nil? or str.empty? @@ -90,7 +90,8 @@ This is how I do this with nanoc:

But it works as expected. 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.

@@ -188,7 +189,7 @@ Now the date you see at the bottom is exactly the date I modified the conten
Created: 09/02/2010 - Modified: 04/20/2011 + Modified: 09/14/2011
Entirely done with diff --git a/output/Scratch/en/blog/Learn-Vim-Progressively/index.html b/output/Scratch/en/blog/Learn-Vim-Progressively/index.html index d6250201d..468927954 100644 --- a/output/Scratch/en/blog/Learn-Vim-Progressively/index.html +++ b/output/Scratch/en/blog/Learn-Vim-Progressively/index.html @@ -321,13 +321,14 @@ is also true for d (delete), v (visual select), But now, here are the killer features. 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
  • ^ → 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.
  • t, → go just before the character ,.
  • 3fa → search the 3rd occurrence of a on this line.
  • @@ -377,7 +378,7 @@ Typically: 0<C-v><C-d>I-- [ESC]

    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>.

    @@ -564,7 +565,7 @@ $(document).ready(function() {
Created: 08/25/2011 - Modified: 08/31/2011 + Modified: 09/08/2011
Entirely done with diff --git a/output/Scratch/en/blog/feed/feed.xml b/output/Scratch/en/blog/feed/feed.xml index d4c03a870..9f9d142bd 100644 --- a/output/Scratch/en/blog/feed/feed.xml +++ b/output/Scratch/en/blog/feed/feed.xml @@ -2,46 +2,13 @@ http://yannesposito.com/ Yogsototh's last blogs entries - 2011-09-05T10:21:41Z + 2011-08-25T17:28:20Z Yann Esposito http://yannesposito.com - - tag:yannesposito.com,2011-09-05:/Scratch/en/blog/programming-language-experience/ - programming language experience - 2011-09-05T10:21:41Z - 2011-09-05T10:21:41Z - - <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> - tag:yannesposito.com,2011-08-25:/Scratch/en/blog/Learn-Vim-Progressively/ Learn Vim Progressively @@ -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>Best wishes for <em>2011</em>!</p> -</p> + tag:yannesposito.com,2010-10-26:/Scratch/en/blog/2010-10-26-LaTeX-like-macro-and-markdown/ @@ -304,7 +271,7 @@ Then my new design obey to the following rules:</p> </ul> <p>I hope the new design please you.</p> -</p> + tag:yannesposito.com,2010-09-02:/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/ @@ -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> <p>Tell me what you think of this new design.</p> -</p> + tag:yannesposito.com,2010-07-07:/Scratch/en/blog/2010-07-07-CSS-rendering-problems-by-navigator/ @@ -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>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> +<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>... tag:yannesposito.com,2010-01-12:/Scratch/en/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/ @@ -835,7 +802,7 @@ a.....<span class="Constant"><strong>a......b</strong></spa <div><pre class="twilight"> <span class="Keyword">&gt;</span> chsh </pre></div> -</div> + tag:yannesposito.com,2009-12-14:/Scratch/en/blog/2009-12-14-Git-vs--Bzr/ @@ -868,23 +835,36 @@ a.....<span class="Constant"><strong>a......b</strong></spa <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> + - tag:yannesposito.com,2009-11-12:/Scratch/en/blog/2009-11-12-Git-for-n00b/comprendre/ + tag:yannesposito.com,2009-11-12:/Scratch/en/blog/2009-11-12-Git-for-n00b/commandes-avancees/ Git for n00b 2009-11-12T09:39:54Z 2009-11-12T09:39:54Z - - <h1 class="first" id="why-git-is-cool">Why Git is cool?</h1> + + <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> +<h3 id="get-others-modifications">get others modifications</h3> + +<div><pre class="twilight"> +$ g...</pre></div> tag:yannesposito.com,2009-11-12:/Scratch/en/blog/2009-11-12-Git-for-n00b/ @@ -917,4 +897,27 @@ a.....<span class="Constant"><strong>a......b</strong></spa <div><pre class="twilight"> git clone ssh...</pre></div> + + tag:yannesposito.com,2009-11-12:/Scratch/en/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/ + Git for n00b + 2009-11-12T09:39:54Z + 2009-11-12T09:39:54Z + + <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> + diff --git a/output/Scratch/en/index.html b/output/Scratch/en/index.html index 4743b7665..01d14ccd1 100644 --- a/output/Scratch/en/index.html +++ b/output/Scratch/en/index.html @@ -103,7 +103,7 @@ Copyright ©, Yann Esposito
- Modified: 04/20/2011 + Modified: 09/14/2011
Entirely done with diff --git a/output/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/code/gitmtime.rb b/output/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/code/gitmtime.rb index 181b11b14..0617e0637 100644 --- a/output/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/code/gitmtime.rb +++ b/output/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/code/gitmtime.rb @@ -4,7 +4,7 @@ def gitmtime ext=%{.#{@item[:extension]}} filepath<<=ext if not FileTest.exists?(filepath) - filepath.sub!(ext,%{/index#{ext}}) + filepath.sub!(ext,%{#{@item.raw_filename}#{ext}}) end str=`git log -1 --format='%ci' -- #{filepath}` if str.nil? or str.empty? diff --git a/output/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/index.html b/output/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/index.html index 2bbe8bb23..3f12c2ab6 100644 --- a/output/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/index.html +++ b/output/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/index.html @@ -74,7 +74,7 @@ Voici comment je m’y prend avec nanoc ext=%{.#{@item[:extension]}} filepath<<=ext if not FileTest.exists?(filepath) - filepath.sub!(ext,%{/index#{ext}}) + filepath.sub!(ext,%{#{@item.raw_filename}#{ext}}) end str=`git log -1 --format='%ci' -- #{filepath}` if str.nil? or str.empty? @@ -90,7 +90,8 @@ Voici comment je m’y prend avec nanoc 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.

-

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.

@@ -188,7 +189,7 @@ Maintenant la date que vous voyez en bas de la page correspond exactement à la
Écrit le : 02/09/2010 - modifié le : 20/04/2011 + modifié le : 14/09/2011
Site entièrement réalisé avec diff --git a/output/Scratch/fr/blog/Learn-Vim-Progressively/index.html b/output/Scratch/fr/blog/Learn-Vim-Progressively/index.html index 46fa8e13a..2e2120136 100644 --- a/output/Scratch/fr/blog/Learn-Vim-Progressively/index.html +++ b/output/Scratch/fr/blog/Learn-Vim-Progressively/index.html @@ -327,13 +327,14 @@ est aussi vrai pour d (delete → supprimer), v (séle Mais voici les killer features de vim. 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,
  • ^ → 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).
  • t, → vous amène juste avant le ,.
  • 3fa → recherche la 3ième occurrence de a.
  • @@ -571,7 +572,7 @@ $(document).ready(function() {
Écrit le : 25/08/2011 - modifié le : 31/08/2011 + modifié le : 08/09/2011
Site entièrement réalisé avec diff --git a/output/Scratch/fr/blog/feed/feed.xml b/output/Scratch/fr/blog/feed/feed.xml index 7235d9b77..b38f85d6c 100644 --- a/output/Scratch/fr/blog/feed/feed.xml +++ b/output/Scratch/fr/blog/feed/feed.xml @@ -2,41 +2,13 @@ http://yannesposito.com/ Yogsototh's last blogs entries - 2011-09-05T10:21:41Z + 2011-08-25T17:28:20Z Yann Esposito http://yannesposito.com - - tag:yannesposito.com,2011-09-05:/Scratch/fr/blog/programming-language-experience/ - programming language experience - 2011-09-05T10:21:41Z - 2011-09-05T10:21:41Z - - <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> - tag:yannesposito.com,2011-08-25:/Scratch/fr/blog/Learn-Vim-Progressively/ Apprenez Vim Progressivement @@ -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>Meilleurs vœux à tous&nbsp;!</p> -</p> + tag:yannesposito.com,2010-10-26:/Scratch/fr/blog/2010-10-26-LaTeX-like-macro-and-markdown/ @@ -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é. Les règles que je me suis fixées sont donc:</p> -</p> + tag:yannesposito.com,2010-09-02:/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/ @@ -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> <p>Dites moi ce que vous pensez de ce nouveau design.</p> -</p> + tag:yannesposito.com,2010-07-07:/Scratch/fr/blog/2010-07-07-CSS-rendering-problems-by-navigator/ @@ -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> +... tag:yannesposito.com,2010-03-22:/Scratch/fr/blog/2010-03-22-Git-Tips/ @@ -764,7 +736,7 @@ a.....<span class="Constant"><strong>a......b</strong></spa <div><pre class="twilight"> <span class="Keyword">&gt;</span> chsh </pre></div> -</div> + tag:yannesposito.com,2009-12-14:/Scratch/fr/blog/2009-12-14-Git-vs--Bzr/ @@ -797,7 +769,7 @@ a.....<span class="Constant"><strong>a......b</strong></spa <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> + tag:yannesposito.com,2009-11-12:/Scratch/fr/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/ @@ -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> - tag:yannesposito.com,2009-11-12:/Scratch/fr/blog/2009-11-12-Git-for-n00b/commandes-avancees/ + tag:yannesposito.com,2009-11-12:/Scratch/fr/blog/2009-11-12-Git-for-n00b/ Git pour les nuls 2009-11-12T09:39:54Z 2009-11-12T09:39:54Z - - <h1 class="first" id="liste-de-commandes">Liste de commandes</h1> + + +<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> - <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> - <li>afficher l&rsquo;historique des modifications&nbsp;;</li> - <li>savoir qui a fait quoi et quand&nbsp;;</li> - <li>gérer des conflits&nbsp;;</li> - <li>manipuler facileme...</li></ul> + +</div> + + + +</div> + +<div class="corps"> + + +<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> + + + tag:yannesposito.com,2009-11-12:/Scratch/fr/blog/2009-11-12-Git-for-n00b/comprendre/ + Git pour les nuls + 2009-11-12T09:39:54Z + 2009-11-12T09:39:54Z + + <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> diff --git a/output/Scratch/fr/index.html b/output/Scratch/fr/index.html index 7ae93d05a..89d5ea92c 100644 --- a/output/Scratch/fr/index.html +++ b/output/Scratch/fr/index.html @@ -148,7 +148,7 @@ Droits de reproduction ©, Yann Esposito
- modifié le : 20/04/2011 + modifié le : 14/09/2011
Site entièrement réalisé avec diff --git a/output/Scratch/img/blog/Learn-Vim-Progressively/line_moves.jpg b/output/Scratch/img/blog/Learn-Vim-Progressively/line_moves.jpg index 95f0fcd90..225c878b3 100644 Binary files a/output/Scratch/img/blog/Learn-Vim-Progressively/line_moves.jpg and b/output/Scratch/img/blog/Learn-Vim-Progressively/line_moves.jpg differ diff --git a/output/Scratch/img/blog/Learn-Vim-Progressively/line_moves.txt b/output/Scratch/img/blog/Learn-Vim-Progressively/line_moves.txt new file mode 100644 index 000000000..c5983300e --- /dev/null +++ b/output/Scratch/img/blog/Learn-Vim-Progressively/line_moves.txt @@ -0,0 +1,6 @@ + + + +0 ^ fi t) 4fi g_ $ +│ │ │ │ │ │ │ + x = (name_1,vision_3); #this is a comment. diff --git a/output/Scratch/sitemap.xml b/output/Scratch/sitemap.xml index e1de0d9f4..436b0da5b 100644 --- a/output/Scratch/sitemap.xml +++ b/output/Scratch/sitemap.xml @@ -2,702 +2,694 @@ http://yannesposito.com/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/about/contact/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-06-19-jQuery-popup-the-easy-way/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/softwares/ypassword/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/about/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2009-09-jQuery-Tag-Cloud/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/Password-Management/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-05-19-How-to-cut-HTML-and-repair-it/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-05-24-Trees--Pragmatism-and-Formalism/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-10-26-LaTeX-like-macro-and-markdown/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-09-02-base64-and-sha1-on-iPhone/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/softwares/ypassword/iphoneweb/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-10-06-New-Blog-Design-Constraints/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-02-18-split-a-file-by-keyword/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-06-17-hide-yourself-to-analytics/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/commandes-avancees/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_1/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/mvc/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2009-09-replace-all-except-some-part/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/09_Why_I_didn-t_keep_whosamung-us/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-02-18-split-a-file-by-keyword/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_2/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/softwares/yaquabubbles/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/commandes-avancees/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2009-10-Focus-vs-Minimalism/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_3/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-03-22-Git-Tips/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-06-19-jQuery-popup-the-easy-way/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-07-09-Indecidabilities/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_4/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/01_nanoc/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-07-05-Cappuccino-and-Web-applications/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2009-12-06-iphone-call-filter/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_1/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/11_Load_Disqus_Asynchronously/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-02-15-All-but-something-regexp/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-07-05-Cappuccino-and-Web-applications/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/softwares/ypassword/web/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/05_git_create_remote_branch/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2009-10-untaught-git-usage/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/11_Load_Disqus_Asynchronously/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-10-26-LaTeX-like-macro-and-markdown/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/about/cv/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/about/technical_details/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_2/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/ - 2011-09-05 + 2011-09-14 http://yannesposito.com/Scratch/en/blog/2010-07-07-CSS-rendering-problems-by-navigator/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-06-15-Get-my-blog-engine/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/Haskell-Mandelbrot/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/mvc/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_3/ - 2011-08-29 - - - http://yannesposito.com/Scratch/en/blog/programming-language-experience/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/validation/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_4/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2009-10-untaught-git-usage/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/softwares/yclock/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2009-10-How-to-preload-your-site-with-style/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2011-01-03-Happy-New-Year/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/about/old/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-05-17-at-least-this-blog-revive/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/02_ackgrep/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/ - 2011-09-05 + 2011-09-14 http://yannesposito.com/Scratch/en/blog/03_losthighway/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-08-31-send-mail-from-command-line-with-attached-file/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/about/contact/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2009-10-How-to-preload-your-site-with-style/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2009-10-Focus-vs-Minimalism/ - 2011-08-29 - - - http://yannesposito.com/Scratch/fr/blog/programming-language-experience/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-07-07-CSS-rendering-problems-by-navigator/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/07_Screensaver_compilation_option_for_Snow_Leopard/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-07-31-New-style-after-holidays/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2009-12-06-iphone-call-filter/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-02-23-When-regexp-is-not-the-best-solution/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2009-10-30-How-to-handle-evil-IE/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-09-02-base64-and-sha1-on-iPhone/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/07_Screensaver_compilation_option_for_Snow_Leopard/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-10-14-Fun-with-wav/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/softwares/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/02_ackgrep/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/06_How_I_use_git/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2009-09-replace-all-except-some-part/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/10_Synchronize_Custom_WebSite_with_mobileMe/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-02-15-All-but-something-regexp/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/about/old/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/about/cv/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2011-04-20-Now-hosted-on-github/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/Password-Management/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/softwares/ypassword/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/A-more-convenient-diff/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/09_Why_I_didn-t_keep_whosamung-us/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/feed/feed.xml - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/validation/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-08-23-Now-heberged-on-heroku/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-10-14-Fun-with-wav/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-06-14-multi-language-choices/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/A-more-convenient-diff/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2011-01-03-Happy-New-Year/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-08-31-send-mail-from-command-line-with-attached-file/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/10_Synchronize_Custom_WebSite_with_mobileMe/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-02-16-All-but-something-regexp--2-/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-07-31-New-style-after-holidays/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/softwares/yaquabubbles/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2009-12-14-Git-vs--Bzr/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/06_How_I_use_git/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/03_losthighway/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/comprendre/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/rss/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2009-09-jQuery-Tag-Cloud/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/conf-et-install/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2009-10-launch-daemon-from-command-line/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-06-15-Get-my-blog-engine/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-03-23-Encapsulate-git/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-03-22-Git-Tips/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/Haskell-Mandelbrot/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-02-16-All-but-something-regexp--2-/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-05-24-Trees--Pragmatism-and-Formalism/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-02-23-When-regexp-is-not-the-best-solution/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-10-06-New-Blog-Design-Constraints/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-05-17-at-least-this-blog-revive/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-08-23-Now-heberged-on-heroku/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2009-10-launch-daemon-from-command-line/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/conf-et-install/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-03-23-Encapsulate-git/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/softwares/ypassword/web/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/Learn-Vim-Progressively/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-06-17-track-events-with-google-analytics/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/assets/css/main.css - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/rss/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2011-04-20-Now-hosted-on-github/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/04_drm/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/about/technical_details/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-06-17-hide-yourself-to-analytics/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2009-10-30-How-to-handle-evil-IE/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-07-09-Indecidabilities/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/01_nanoc/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/about/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-05-19-How-to-cut-HTML-and-repair-it/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/softwares/ypassword/iphoneweb/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/softwares/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/comprendre/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2010-06-14-multi-language-choices/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/05_git_create_remote_branch/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/feed/feed.xml - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/sitemap.xml - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/fr/softwares/yclock/ - 2011-09-05 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/04_drm/ - 2011-08-29 + 2011-09-12 http://yannesposito.com/Scratch/en/blog/2009-12-14-Git-vs--Bzr/ - 2011-08-29 + 2011-09-12 diff --git a/output/index.html b/output/index.html index 97a85caf0..9449d4190 100644 --- a/output/index.html +++ b/output/index.html @@ -188,7 +188,7 @@ Copyright ©, Yann Esposito
- Modified: 09/02/2011 + Modified: 09/14/2011
Entirely done with diff --git a/resources/.vimrc b/resources/.vimrc new file mode 100644 index 000000000..d4afa97b8 --- /dev/null +++ b/resources/.vimrc @@ -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