From: Dietmar Maurer Date: Mon, 10 Oct 2016 06:25:43 +0000 (+0200) Subject: scan-adoc-refs: factor out register_title X-Git-Url: https://git.proxmox.com/?p=pve-docs.git;a=commitdiff_plain;h=152b10fb37c4e586adee5644b2c7bf4f74b2dea5 scan-adoc-refs: factor out register_title and try to substitute macros and urls. --- diff --git a/scan-adoc-refs b/scan-adoc-refs index 6563c35..96f5182 100755 --- a/scan-adoc-refs +++ b/scan-adoc-refs @@ -89,6 +89,17 @@ sub register_blockid { } } +sub register_title { + my ($filename, $env, $doctype, $title) = @_; + + # fixme: what about other macros? + $title =~ s/\{pve\}/Proxmox VE/g; + $title =~ s!http://\S+\[(.*?)\]!$1!g; + + $fileinfo->{titles}->{$env}->{$filename} = $title; + $fileinfo->{doctype}->{$env}->{$filename} = $doctype; +} + sub scan_adoc_file { my ($filename) = @_; @@ -123,17 +134,13 @@ sub scan_adoc_file { next if defined($title); if ($line =~ m/^=====+$/) { - $fileinfo->{titles}->{$e}->{$filename} = $env_last_line->{$e}; - $fileinfo->{doctype}->{$e}->{$filename} = 0; + register_title($filename, $e, 0, $env_last_line->{$e}); } elsif ($line =~ m/^-----+$/) { - $fileinfo->{titles}->{$e}->{$filename} = $env_last_line->{$e}; - $fileinfo->{doctype}->{$e}->{$filename} = 1; + register_title($filename, $e, 1, $env_last_line->{$e}); } elsif ($line =~ m/^= +(\S.*?)( +=)?$/) { - $fileinfo->{titles}->{$e}->{$filename} = $1; - $fileinfo->{doctype}->{$e}->{$filename} = 0; + register_title($filename, $e, 0, $1); } elsif ($line =~ m/^== +(\S.*?)( +==)?$/) { - $fileinfo->{titles}->{$e}->{$filename} = $1; - $fileinfo->{doctype}->{$e}->{$filename} = 1; + register_title($filename, $e, 1, $1); } $env_last_line->{$e} = $line; @@ -206,7 +213,6 @@ foreach my $e (@$start_env) { my $fn = resolve_link_target($e, $blockid_hash->{$blockid}); if ($e eq 'wiki') { my $title = $fileinfo->{titles}->{$e}->{$fn}; - $title =~ s/\{pve\}/Proxmox VE/g; $title =~ s/\s/_/g; die "found not title for '$fn' in env '$e'" if !$title; $fileinfo->{blockid_target}->{$e}->{$blockid} = "link:/wiki/$title#$blockid";