staging.inyokaproject.org

ManPages übersichtlich durch man2html

Status: Gelöst | Ubuntu-Version: Ubuntu
Antworten |

DaWi

Anmeldungsdatum:
19. Februar 2008

Beiträge: Zähle...

Hallo. Ich habe ein Skript geschrieben um die Manpages mal übersichtlich in einer lokalen "Datenbank" zu sammeln und übersichtlich darzustellen. Ich poste es auch hier, da es nicht sooo lag ist und sich so länger hält.
Es benutzt man2html um die Manpages darzustellen via html in einem Browser
Dabei wird ein html-File angelegt in dem steht dann einfach
man1
man2
man3
...
Das kann man anwählen und kommt zu einer Liste von Manpages die man wiederrum anwählen kann.

Es wird eine "Datenbank" angelegt in einem Ordner im homeverzeichnis "~/.MeinStandardOrdner". Desweiteren stelle ich die htmls mit firefox dar. Auch das ist natürlich Geschmackssache
Das geht bestimmt noch klüger.
Vor allem das "Auffrischen" der Datenbank läuft ja nur über vollständiges Neuerstellen, was an Ineffiezienz kaum zu überbieten ist.

Wenn man das Skript startet wird man per zenity gefragt, was man machen will.

Ist jetzt nicht so spannend, aber mir war langweilig und vielleicht kanns jemand gebrauchen 😀

Grüße DaWi

ps: man benötigt das Programm: man2html....selbstverständlich

#!/bin/bash


#funktionen

test_zenity_output()
{
if [ $? -eq 1 ]
then
	exit 1
fi
}

eine_page_einrichten()
{
mkdir ~/.MeinStandardOrdner/$1

list=$(ls /usr/share/man/$1)

echo "<html>"> ~/.MeinStandardOrdner/$1.html
echo "<head>">> ~/.MeinStandardOrdner/$1.html
#echo "<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">">> ~/.MeinStandardOrdner/$1.html
echo "<title>kleine \"$1\"</title>">> ~/.MeinStandardOrdner/$1.html
echo "</head>">> ~/.MeinStandardOrdner/$1.html
echo "<body>">> ~/.MeinStandardOrdner/$1.html
echo "<ul>">> ~/.MeinStandardOrdner/ManPager.html

for i in $list
do

echo "<li>  <a href=\"$1/$i.html\">$i</a>  </li>">> ~/.MeinStandardOrdner/$1.html

man2html /usr/share/man/$1/$i>~/.MeinStandardOrdner/$1/$i.html

done

echo "</ul>">> ~/.MeinStandardOrdner/ManPager.html
echo "</body>">> ~/.MeinStandardOrdner/ManPager.html
echo "</html>">> ~/.MeinStandardOrdner/ManPager.html

}

hauptfile_anlegen()
{
echo "<html>"> ~/.MeinStandardOrdner/ManPager.html
echo "<head>">> ~/.MeinStandardOrdner/ManPager.html
#echo "<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">">> ~/.MeinStandardOrdner/ManPager.html
echo "<title>kleine \"ManPager\"</title>">> ~/.MeinStandardOrdner/ManPager.html
echo "</head>">> ~/.MeinStandardOrdner/ManPager.html
echo "<body>">> ~/.MeinStandardOrdner/ManPager.html

echo "<ul>">> ~/.MeinStandardOrdner/ManPager.html
echo "<li>  <a href=\"man1.html\">man1</a>  </li>">> ~/.MeinStandardOrdner/ManPager.html
echo "<li>  <a href=\"man2.html\">man2</a>  </li>">> ~/.MeinStandardOrdner/ManPager.html
echo "<li>  <a href=\"man3.html\">man3</a>  </li>">> ~/.MeinStandardOrdner/ManPager.html
echo "<li>  <a href=\"man4.html\">man4</a>  </li>">> ~/.MeinStandardOrdner/ManPager.html
echo "<li>  <a href=\"man5.html\">man5</a>  </li>">> ~/.MeinStandardOrdner/ManPager.html
echo "<li>  <a href=\"man6.html\">man6</a>  </li>">> ~/.MeinStandardOrdner/ManPager.html
echo "<li>  <a href=\"man7.html\">man7</a>  </li>">> ~/.MeinStandardOrdner/ManPager.html
echo "<li>  <a href=\"man8.html\">man8</a>  </li>">> ~/.MeinStandardOrdner/ManPager.html
echo "</ul>">> ~/.MeinStandardOrdner/ManPager.html
echo "</body>">> ~/.MeinStandardOrdner/ManPager.html
echo "</html>">> ~/.MeinStandardOrdner/ManPager.html

}

#das skript


buffer=$(zenity --list --radiolist --text "Was wollen Sie tun?" --column "" --column "" True "ManPage anzeigen" False "Datenbank anlegen")
test_zenity_output


if( echo $buffer | grep "ManPage" )
then	
	if( file -b ~/.MeinStandardOrdner/ManPager.html | grep ERROR)
	then	zenity --error --text="Es muss zuerst das file angelegt werden"
		exit 1
	fi

	firefox ~/.MeinStandardOrdner/ManPager.html	
else	
echo 
mkdir ~/.MeinStandardOrdner
#files anlegen

hauptfile_anlegen

eine_page_einrichten man1
eine_page_einrichten man2
eine_page_einrichten man3
eine_page_einrichten man4
eine_page_einrichten man5
eine_page_einrichten man6
eine_page_einrichten man7
eine_page_einrichten man8

fi

exit 0

hypn0t04d

Avatar von hypn0t04d

Anmeldungsdatum:
13. August 2007

Beiträge: Zähle...

keine schlechte Idee - ich werds mal ausprobieren. auf lange sicht fände ich es cool, die manpages in der Form mit hilfreichen Tutorials bzw. Wikis im Netz zu verbinden (also quasi "halbautomatisch" über den Browser: URLs werden automatisch geparst etc., Foren und Wikis werden durchsucht...)

Antworten |