Jako że uczę się programowania, stwierdziłem że przyda się skrypt który będzie mnie wspomagać.
Funkcje SDNP
1) Słownik- jest tworzony w trakcie nauki przez użytkownika co ułatwia zapamiętywanie pojęć i przyda się w przyszłości. (dodawanie pojęć, wyświetlanie pojęć i wyszukiwanie)
2) Organizator ćwiczeń z Polskiego SPOJ. Dodane ćwiczenie jest transformowane na plik html, a póżniej jest tworzony plik index.html w którym jest lista zrobionych przez nas ćwiczeń, wszystko jest tak zrobione by łatwo można było zmienić wygląd plików .html.
Zresztą co się będę rozgadywać. Poniżej kod nauka.sh i style.css. Wszystko wymaga zenity.
Kod: Zaznacz cały
#!/bin/bash
while true
do
wybor=$(zenity --list --width=500 --height=280 --title="Menu" --column="Numer" --column="Opis" 1 "Dodaj słówko do słownika" 2 "Wyświetl słowniczek" 3 "Przeszukaj słowniczek" 4 "Dodaj ćwiczenie i rozwiązanie" 5 "Wyświetl info" 6 "Wyświetl listę ćwiczeń" 7 "Wyjście")
case $wybor in
1 )
zenity --forms --title="Słowniczek" --text="Dodaj słówko" --separator="-" --add-entry="Słówko" --add-entry="Opis" >> slowniczek.txt
echo " --------------------------------------------------------" >>slowniczek.txt
case $? in
0)
zenity --info --text="Dodano słówko"
;;
1)
zenity --warning --text="Nie dodano słówka"
;;
-1)
zenity --error --text="Napotkano błąd"
;;
esac
;;
2 )
zenity --text-info --width=500 --height=280 --title="Słowniczek" --filename=slowniczek.txt
;;
3 )
ile=$(zenity --entry --text="Podaj słówko" --entry-text="print")
case $? in
1)
zenity --warning --text="Nic nie podałeś"
;;
-1)
zenity --error --text="Napotkano błąd"
;;
esac
wyb=$(grep $ile slowniczek.txt)
zenity --info --text=" $wyb"
;;
4 )
nazwa=$( zenity --entry --title="Dodaj ćwiczenie" --text="Podaj Nazwę ćwiczenia" --entry-text "np. PTEST" )
touch $nazwa.html
temat=$( zenity --entry --title="Dodaj ćwiczenie" --text="Podaj temat ćwiczenia" --entry-text "Temat ćwiczenia")
zadanie=$( zenity --entry --title="Dodaj ćwiczenie" --text="Podaj treść ćwiczenia" --entry-text "Treść ćwiczenia")
rozwiazanie=$( zenity --entry --title="Dodaj ćwiczenie" --text="Podaj treść rozwiązania" --entry-text "Rozwiązanie")
echo "<html>" >>$nazwa.html
echo "<head> " >>$nazwa.html
echo ' <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >' >>$nazwa.html
echo ' <link rel="stylesheet" href="style.css" />' >>$nazwa.html
echo " <title> $temat </title>" >>$nazwa.html
echo "</head>" >>$nazwa.html
echo "<body>" >>$nazwa.html
echo " <table>" >>$nazwa.html
echo " <tr>" >>$nazwa.html
echo " <td>" >>$nazwa.html
echo " <h1> $temat</h1>" >>$nazwa.html
echo " <p> $zadanie</p>" >>$nazwa.html
echo " <h1> Rozwiązanie </h1>" >>$nazwa.html
echo " <p> $rozwiazanie </p>" >>$nazwa.html
echo " <a href='index.html'> Główna</a>" >>$nazwa.html
echo " </td>" >>$nazwa.html
echo " </tr>" >>$nazwa.html
echo " </table>" >>$nazwa.html
echo "</body>" >>$nazwa.html
echo "</html>" >>$nazwa.html
rm index.html
touch index.html
echo "<html>" >>index.html
echo "<head> " >>index.html
echo ' <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >' >>index.html
echo " <title> Lista plików </title>" >>index.html
echo '<link rel="stylesheet" href="style.css" />' >>index.html
echo "</head>" >>index.html
echo "<body>" >>index.html
echo " <table>" >>index.html
echo " <tr>" >>index.html
echo " <td>" >>index.html
echo " <ul>" >>index.html
ls *.html | while read file
do
echo " <li><p><a href='$file'> $file</a></p></li>" >>index.html
done
echo " </ul>" >>index.html
echo " </td>" >>index.html
echo " </tr>" >>index.html
echo " </table>" >>index.html
echo "</body>" >>index.html
echo "</html>" >>index.html
;;
5 )
zenity --info --text="SDNP v0.1 \n Opis sposobu nakuki: \n 1. Podczas nauki dodawaj słówka do słowniczka(opcja 1) \n 2. Dodawaj ćwiczenia i rozwiązania (opcja 3) \n 3. Bądz wytrwały w nauce a przyniesie to Tobie korzyści"
;;
6 )
xdg-open index.html
;;
7 )
exit
;;
esac
done
Kod: Zaznacz cały
body {
background-color: #556B2F;
}
table {
background-color: white;
width: 80%;
height: 80%;
border-right-style: dashed;
border-left-style: dashed;
border-bottom-style: dashed;
border-top-style: dashed;
margin-left: 10%;
margin-right: 10%;
margin-top: 5%;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
}