Category: Tips

  • Syntax highlighting in WordPress

    I am using the plugin “Syntax Highlighter Evolved” to color the code samples embedded in my posts.

    This one is based, as many others, on the code syntax highlighter developed in java-script by Alex Gorbatchev.

    Click to Read More

    Here is the list of supported syntaxes [syntax name: tag]:

    ActionScript3: as3, actionscript3
    Bash/shell: bash, shell
    ColdFusion: cf, coldfusion
    C#: c-sharp, csharp
    C++: cpp, c
    CSS: css
    Delphi: delphi, pas, pascal
    Diff: diff, patch
    Erlang: erl, erlang
    Groovy: groovy
    JavaScript: js, jscript, javascript
    Java: java
    JavaFX: jfx, javafx
    Perl: perl, pl
    PHP: php
    Plain Text: plain, text
    PowerShell: ps, powershell
    Python: py, python
    Ruby: rails, ror, ruby
    Scala: scala
    SQL: sql
    Visual Basic: vb, vbnet
    XML: xml, xhtml, xslt, html, xhtml

    The easiest it to use the tags here above as shortcode around your “code”, like this: [tag]my code[/tag] where tag can be php, vb, shell, ….

    Here is a sample from Alex G.’s website using the tag “php” as a shortcode:

    [php]// SyntaxHighlighter makes your code snippets
    // beautiful without tiring your servers.
    // http://alexgorbatchev.com
    var setArray = function(elems) {
    this.length = 0;
    push.apply(this, elems);
    return this;
    }[/php]

    There are various options than can be set using parameters: [tag parameter=”value”]my code[/tag]. Those options are listed in the “settings” page of the plugin (See via the WordPress admin dashboard).

    The various issues I found are:

    1. Although using the parameter gutter=”true”, I cannot remove the line numbering but keep the toolbar.
    2. Copy/Paste code from an IDE does not provide a nice output:
      • The indentation is lost,
      • some lines of code become formatted as “paragraphs” and extra blank lines appears therefore
    There is however a trick to keep the original formatting of the code when copy/pasting this one.
    1. Copy first your code from the IDE
    2. Next, in your post, select the HTML view
    3. Then, in this view, add your tags [tag][/tag]
    4. Finally, paste your code between those tags and switch back to the Visual view

    If you prefer to convert your code into HTML+CSS, the best online tool I found is Pygments (Python Syntax Highlighter) which supports for free much more languages than most others, has a simple interface and display not  advertisement.

    Loading

    ,
  • Synchronize with an array of disks

    Months ago, I did backup a very large disk of my PC (E:\) to multiple smaller disks connected one after one, using a e-sata cradle (G:\).

    Recently one of those small backup disk started to experience NTFS Errors and I did lost its content. To avoid restarting a complete backup of E:\, I had to find which data were lost to redo a backup of those only.

    Click to read more

    First, I did recreate the complete folder structure (i.e.: without the files) of the remaining backup disks in one folder of my PC (C:\Temp\Backups). I did reconnect the disks one after one via the e-sata Cradle and did execute each time the following command in a MS-DOS console:

    [powershell gutter=”true”] MkDir C:\Temp\Backups
    XCopy G:\ C:\Temp\Backups /T /E[/powershell]

    More details typing “XCopy /?” in your console:

    /T Creates directory structure, but does not copy files. Does not include empty directories or subdirectories. /T /E includes empty directories and subdirectories.

    The result was 22.036 folders – 0 bytes.

    Notice that the target folder (C:\Temp\Backups) must exists !

    Next, using BeyondCompare, I did a “Folder Compare” between “C:\Temp\Backups” and “E:\”.

    I did first select the option to see only the orphans, via the menu “View/Show Orphans“.

    And I did next add a “Filter” to “Exclude files”  with a name “*.*”, via the “glasses” icon (i.e.: I did exclude all the files – in order to only compare the directory structure and backup the missing ones. Otherwise, no folder in C:\Temp\Backups would have appeared as orphans as they are all empty while their equivalent folders on E:\ have content).

    Finally, in BeyondCompare, I did select all the orphan folders on E:\ and used the contextual menu “Copy To Folder…“. In the “Action” field of the “Copy to Folder” dialog box, I did pick G:\ as a destination folder.

    Et voilà.

    Loading