μετατροπή ελληνικού html σε text (χύμα)

Giorgos Keramidas keramida at ceid.upatras.gr
Wed Oct 4 13:58:49 EEST 2006


On 2006-10-04 13:45, Nick Demou <ndemou at gmail.com> wrote:
>Την 3/10/2006, Giorgos Keramidas <keramida at ceid.upatras.gr> έγραψε:
> το δοκίμασα το html-diff και είναι ωραίο. Θέλω μόνο να βρω λίγο χρόνο
> για να κάνω το μαρκάρισμα των αλλαγών να ξεχωρίζει πιο έντονα από το
> σύνολο της σελίδας. Απο μια διαγώνια ματιά στον κώδικα είδα ότι μπορώ
> να πειράξω το html που προσθέτει πριν και μετά από κάθε αλλαγή για να
> βάλω π.χ. μεγάλα λαμπερά γράμματα στις προσθήκες. Έχεις καμιά καλύτερη
> ιδέα - αν σε έχει απασχολήσει- ?

Υπάρχουν διάφοροι τρόποι να «δείξει» κανείς «όμορφα» την έξοδο της
diff(1) εντολής.  Σε text terminals, ας πούμε, εγώ χρησιμοποιώ ως
φίλτρο/pager το εξής:

    % cat -n ~/bin/cdiff
         1  #!/bin/sh
         2  perl -pe '
         3  while (s/\t/" " x (8 - ((length($`)-1) % 8))/e) {}
         4  s/^(\+.*)$/\033[36m$1\033[m/o;
         5  s/^(-.*)$/\033[32m$1\033[m/o
         6          if !s/^(--- \d+,\d+ ----.*)$/\033[1m$1\033[m/o;
         7  s/^(\*\*\* \d+,\d+ *\*\*\*.*)$/\033[1m$1\033[m/o;
         8  s/^(\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*)$/\033[1m$1\033[m/o;
         9  s/^(!.*)$/\033[33m$1\033[m/o;
        10  s/^(@@.*$)/\033[1m$1\033[m/o;
        11  ' $@ | less -r

Αν εξαιρέσεις τα \033...m ANSI escape sequences, το υπόλοιπο θα σου
δώσει μια ιδέα για το πως μπορείς να κάνεις «highlight» συγκεκριμένα
μέρη ενός diff(1) output :)

Συνήθως, εγώ το χρησιμοποιώ αυτό για να βλέπω patches από version
control συστήματα, όπως π.χ. με:

    % cvs diff .      | cdiff
    % hg diff         | cdiff
    % p4 diff -du ... | cdiff
    % svn diff .      | cdiff




More information about the Linux-greek-users mailing list