Saturday, November 1, 2014

File listing into an html file.


Just downloaded a bunch of PDF files and I wanted to put them on the server so they could be accessed easily. Since the pdf file list was over 200 items, did not want to go edit every line in the file manually from

Your-personal-intranet-Part-2.pdf

to

<a href="Your-personal-intranet-Part-2.pdf">Your-personal-intranet-Part-2</a><br />

What to do? First was to make a list of the files.

$ ls *.pdf > pdflist

The you get:

...
...
Yagi-foil-HDTV-antenna.pdf
Yet-another-amplified-acoustical-guitar.pdf
Yet-another-cheese-making-episode.pdf
Yet-another-continuity-tester.pdf
Yet-another-dtv-antenna.pdf
Yet-another-simple-portable-disposable-barbecue-.pdf
Yet-another-usb-coolerwarmer.pdf
Yet-another-usb-lamp.pdf
Your-first-Android-Application.pdf
Your-personal-intranet-Part-1.pdf
Your-personal-intranet-Part-2.pdf

First was to make a list of the files.

But then you may not want the pdf extension as part of the descriptions. So now to create a file called descripts without the extensions:

$ cut -d "." -f1 pdflist > descripts

Which creates:

Yagi-foil-HDTV-antenna

Yet-another-amplified-acoustical-guitar

Yet-another-cheese-making-episode

Yet-another-continuity-tester

Yet-another-dtv-antenna

Yet-another-simple-portable-disposable-barbecue-

Yet-another-usb-coolerwarmer

Yet-another-usb-lamp

Your-first-Android-Application

Your-personal-intranet-Part-1

Your-personal-intranet-Part-2

Now we need to start building the file parts with the first part of the href. We are assuming the pdf files will be in the same directory as the html file.

$ sed -i -e 's/^/<a href=\"/' pdflist

<a href="Yagi-foil-HDTV-antenna.pdf

<a href="Yet-another-amplified-acoustical-guitar.pdf

<a href="Yet-another-cheese-making-episode.pdf

<a href="Yet-another-continuity-tester.pdf

<a href="Yet-another-dtv-antenna.pdf

<a href="Yet-another-simple-portable-disposable-barbecue-.pdf

<a href="Yet-another-usb-coolerwarmer.pdf

<a href="Yet-another-usb-lamp.pdf

<a href="Your-first-Android-Application.pdf

<a href="Your-personal-intranet-Part-1.pdf

<a href="Your-personal-intranet-Part-2.pdf

Now we need to close the href

$ sed -i 's/$/\"\>/' pdflist

<a href="Yagi-foil-HDTV-antenna.pdf">

<a href="Yet-another-amplified-acoustical-guitar.pdf">

<a href="Yet-another-cheese-making-episode.pdf">

<a href="Yet-another-continuity-tester.pdf">

<a href="Yet-another-dtv-antenna.pdf">

<a href="Yet-another-simple-portable-disposable-barbecue-.pdf">

<a href="Yet-another-usb-coolerwarmer.pdf">

<a href="Yet-another-usb-lamp.pdf">

<a href="Your-first-Android-Application.pdf">

<a href="Your-personal-intranet-Part-1.pdf">

<a href="Your-personal-intranet-Part-2.pdf">

Lets add the description and create the html file:

$ paste -d "" pdflist descripts > pdflist.html

<a href="Yagi-foil-HDTV-antenna.pdf">Yagi-foil-HDTV-antenna

<a href="Yet-another-amplified-acoustical-guitar.pdf">Yet-another-amplified-acoustical-guitar

<a href="Yet-another-cheese-making-episode.pdf">Yet-another-cheese-making-episode

<a href="Yet-another-continuity-tester.pdf">Yet-another-continuity-tester

<a href="Yet-another-dtv-antenna.pdf">Yet-another-dtv-antenna

<a href="Yet-another-simple-portable-disposable-barbecue-.pdf">Yet-another-simple-portable-disposable-barbecue-

<a href="Yet-another-usb-coolerwarmer.pdf">Yet-another-usb-coolerwarmer

<a href="Yet-another-usb-lamp.pdf">Yet-another-usb-lamp

<a href="Your-first-Android-Application.pdf">Your-first-Android-Application

<a href="Your-personal-intranet-Part-1.pdf">Your-personal-intranet-Part-1

<a href="Your-personal-intranet-Part-2.pdf">Your-personal-intranet-Part-2

And then finally to close up the reference:

$ sed -i 's/$/\<\/a\>\<br \/\>/' pdflist.html

<a href="Yagi-foil-HDTV-antenna.pdf">Yagi-foil-HDTV-antenna</a><br />

<a href="Yet-another-amplified-acoustical-guitar.pdf">Yet-another-amplified-acoustical-guitar</a><br />

<a href="Yet-another-cheese-making-episode.pdf">Yet-another-cheese-making-episode</a><br />

<a href="Yet-another-continuity-tester.pdf">Yet-another-continuity-tester</a><br />

<a href="Yet-another-dtv-antenna.pdf">Yet-another-dtv-antenna</a><br />

<a href="Yet-another-simple-portable-disposable-barbecue-.pdf">Yet-another-simple-portable-disposable-barbecue-</a><br />

<a href="Yet-another-usb-coolerwarmer.pdf">Yet-another-usb-coolerwarmer</a><br />

<a href="Yet-another-usb-lamp.pdf">Yet-another-usb-lamp</a><br />

<a href="Your-first-Android-Application.pdf">Your-first-Android-Application</a><br />

<a href="Your-personal-intranet-Part-1.pdf">Your-personal-intranet-Part-1</a><br />

<a href="Your-personal-intranet-Part-2.pdf">Your-personal-intranet-Part-2</a><br />

Cool. Add a bit of window dressing and we are done.

<html>

<body>

<h2><center>PDF list</center></h2>

<hr>

<a href="Yagi-foil-HDTV-antenna.pdf">Yagi-foil-HDTV-antenna</a><br />

<a href="Yet-another-amplified-acoustical-guitar.pdf">Yet-another-amplified-acoustical-guitar</a><br />

<a href="Yet-another-cheese-making-episode.pdf">Yet-another-cheese-making-episode</a><br />

<a href="Yet-another-continuity-tester.pdf">Yet-another-continuity-tester</a><br />

<a href="Yet-another-dtv-antenna.pdf">Yet-another-dtv-antenna</a><br />

<a href="Yet-another-simple-portable-disposable-barbecue-.pdf">Yet-another-simple-portable-disposable-barbecue-</a><br />

<a href="Yet-another-usb-coolerwarmer.pdf">Yet-another-usb-coolerwarmer</a><br />

<a href="Yet-another-usb-lamp.pdf">Yet-another-usb-lamp</a><br />

<a href="Your-first-Android-Application.pdf">Your-first-Android-Application</a><br />

<a href="Your-personal-intranet-Part-1.pdf">Your-personal-intranet-Part-1</a><br />

<a href="Your-personal-intranet-Part-2.pdf">Your-personal-intranet-Part-2</a><br />

</body>

</html>

Of course the page looks like:


Of course this is all over simplified and more window dressing plus shortcuts could have been taken. Anyway so I came up with a shell file to do the job. that only took a few seconds at most to run. It would have taken a much longer time to edit the file by hand.

# turn a pdf list into a usable http file for a web server.

ls *.pdf > pdflist
cut -d "." -f1 pdflist > descripts
sed -i -e 's/^/<a href=\"/' pdflist
sed -i 's/$/\"\>/' pdflist
paste -d "" pdflist descripts > pdflist.html
sed -i 's/$/\<\/a\>\<br \/\>/' pdflist.html
echo "<html>" > index.html
echo "<body>" >> index.html
echo "<h2><center>PDF list</center></h2>" >> index.html
echo "<hr>" >> index.html
cat pdflist.html >> index.html
echo "</body>" >> index.html
echo "</html>" >> index.html

Now to copy all the files to a directory on the web server!

Update: you can also tags

<pre>
<a href="#a">A</a>
 
<p><a name="a">A</a></p>
</pre>
 
 

No comments:

Post a Comment