#!/usr/bin/perl
use strict;
use warnings;
my @extensions = ("jpg", "gif", "mp4", "svg", "png", "txt", "pdf", "doc", "mp3");
my $readme = "README.md";
my $readmeUpdate = "README.md.new";
my $scopeCode = 0;
open(my $in, "<", $readme) || die "Can't open $readme $!";
open(my $out, ">", $readmeUpdate) || die "Can't open $readmeUpdate $!";
while (<$in>)
{
# check if we are in a code scope
if (/```/)
{
if ($scopeCode == 0)
{
$scopeCode = 1;
}
else
{
$scopeCode = 0;
}
}
if ($scopeCode == 0)
{
# add backtick to each path beginning by a dollar
if (/\$\w+/)
{
s/( |^)(\$[^\s]+)(\.( |$))/$1`$2`$3/g
}
# add backtick to each extensions types
foreach my $extension (@extensions)
{
s/( |^)(\.$extension)/$1`$2`/g
}
# add backtick to each command flag
# WIP
# TODO
# ignore if the flag is already between backtick
# s/( |^|\()(\-+(\w|-)+)/$1`$2`/g
}
print $out $_;
}
system("mv", $readmeUpdate, $readme);
close $in;
close $out;
README: add a few backticks
I had backtick to:
How
I create a
perl
script