sp-tutorial 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  # Środowisko Programisty
2
2
 
3
- Gem zawierający notatki do wykładu z „Środowiska Programisty”.
3
+ Gem zawierający notatki do wykładu „Środowisko Programisty”.
4
4
 
5
5
 
6
6
  ## Instalacja
@@ -16,11 +16,15 @@ Sprawdzamy gdzie w systemie został zainstalowany gem *sp-tutorial*:
16
16
 
17
17
  gem which sp-tutorial
18
18
 
19
- Przechodzimy do tego katalogu i uruchamiamy aplikację:
19
+ Aplikację uruchamiamy w takis sposób:
20
20
 
21
- <pre>rackup <i>ścieżka do katalogu z gemem</i>/lib/config.ru -p 8008
21
+ <pre>rackup /«<i>ścieżka do katalogu z gemem</i>»/lib/config.ru -p 8008
22
22
  </pre>
23
23
 
24
+ Na przykład:
25
+
26
+ rackup rackup /usr/lib/ruby/gems/1.8/gems/sp-tutorial-0.3.0/lib/config.ru -p 8008
27
+
24
28
  Po uruchomieniu aplikacja jest dostępna z URL:
25
29
 
26
30
  http://localhost:8008/
data/Rakefile CHANGED
@@ -6,25 +6,26 @@ begin
6
6
  require 'jeweler'
7
7
  Jeweler::Tasks.new do |gemspec|
8
8
  gemspec.name = "sp-tutorial"
9
- gemspec.summary = "Notatki do wykladu z Srodowiska Programisty."
10
- gemspec.email = "matwb@univ.gda.pl"
9
+ gemspec.summary = "Notatki do wykladu Srodowisko Programisty."
10
+ gemspec.email = "matwb@ug.edu.pl"
11
11
  gemspec.authors = ["Wlodek Bzyl"]
12
12
  gemspec.homepage = "http://github.com/wbzyl/sp-ii"
13
13
 
14
14
  gemspec.description = <<-EOF
15
- Notatki do frameworka Rails3
15
+ Notatki do wykladu: Srodowisko Programisty
16
16
  EOF
17
17
 
18
18
  gemspec.files = FileList['lib/**/*', "Rakefile",
19
19
  "VERSION.yml", "sp-tutorial.gemspec"]
20
-
20
+
21
21
  gemspec.add_runtime_dependency 'rack'
22
22
  gemspec.add_runtime_dependency 'sinatra'
23
23
  gemspec.add_runtime_dependency 'rdiscount'
24
24
  gemspec.add_runtime_dependency 'ultraviolet'
25
- gemspec.add_runtime_dependency 'sinatra-rdiscount'
26
25
  gemspec.add_runtime_dependency 'rack-codehighlighter'
27
-
26
+ gemspec.add_runtime_dependency 'sinatra-rdiscount'
27
+ gemspec.add_runtime_dependency 'sinatra-static-assets'
28
+
28
29
  gemspec.rubyforge_project = 'sp-tutorial'
29
30
  end
30
31
  Jeweler::GemcutterTasks.new
@@ -1,5 +1,5 @@
1
1
  ---
2
- :minor: 3
3
- :patch: 0
4
2
  :major: 0
3
+ :minor: 3
4
+ :patch: 1
5
5
  :build:
@@ -13,7 +13,7 @@
13
13
  }
14
14
 
15
15
  #logo {
16
- font: normal 256%/1 "Cyklop", "DejaVu Sans", sans-serif;
16
+ font: italic 256%/1 "Cyklop", "DejaVu Sans", sans-serif;
17
17
  margin-bottom: 24px;
18
18
  }
19
19
 
@@ -0,0 +1,296 @@
1
+ #### {% title "Bash w przykładach" %}
2
+
3
+ <!-- opracował Robert Fidytek -->
4
+
5
+ # Bash w przykładach
6
+
7
+ <blockquote>
8
+ {%= image_tag "/images/algorithm.png", :alt => "[Rozwiązanie…]" %}
9
+ </blockquote>
10
+
11
+ 1\. Podaj przykład skryptu wykorzystującego zmienne i
12
+ zmienne środowiskowa np. $USER, $PWD, $HOME.
13
+
14
+ :::shell-unix-generic
15
+ #!/bin/bash
16
+ echo "Czesc $USER"
17
+ echo "twoj aktualny katalog to $PWD"
18
+ zmienna="a to twoj katalog domowy to $HOME"
19
+ echo $zmienna
20
+ echo "nazwa twojego hosta to: $HOSTNAME"
21
+ echo "korzystasz z systemu operacyjnego: $OSTYPE"
22
+ zmienna2=$(pwd)
23
+ echo "\"Ciapki\" – przyklad: $zmienna2"
24
+ exit 0
25
+
26
+ 2\. Podaj przykład skryptu korzystującego ze zmiennych
27
+ specjalnych, czyli użyj $0, $1, $2, …, $9, $@, $*, $?, $$.
28
+
29
+ :::shell-unix-generic
30
+ #!/bin/bash
31
+ echo "Nazwa biezacego skryptu: $0"
32
+ echo "Pierwszy przekazany parametr do skryptu: $1"
33
+ echo "Drugi przekazany parametr do skryptu: $2"
34
+ echo "..."
35
+ echo "Dziewiaty przekazany parametr do skryptu: $9"
36
+ # separatorem będzie spacja
37
+ echo "Skrypt uruchomiono z parametrami: $@"
38
+ # separator okresla zmienna $IFS
39
+ echo "Skrypt uruchomiono z parametrami: $*"
40
+ echo "Kod powrotu ostanio wykonywanego polecenia: $?"
41
+ echo "PID procesu biezacej powloki: $$"
42
+ exit 0
43
+
44
+ 3\. Podać przykład skryptu korzystającego z tablic
45
+ (Użyj declare, unset, *, @, # ).
46
+
47
+ :::shell-unix-generic
48
+ owoc[0]="jablko"
49
+ owoc[1]="gruszka"
50
+ owoc[2]="sliwka"
51
+ owoc[3]="wisnia"
52
+ echo "Pierwszy element tablicy owoc to: ${owoc[0]}"
53
+ echo "Wszystkie elementy tablicy owoc to: ${owoc[*]}"
54
+ echo "Wszystkie elementy tablicy owoc to: ${owoc[@]}"
55
+ echo "Drugi element tablicy owoc ma ${#owoc[1]} znakow"
56
+ echo "Tablica owoc ma ${#owoc[*]} elementy"
57
+ imie=(Jola Ania Kasia Basia Magda)
58
+ echo "Wszystkie elementy tablicy imie to: ${imie[@]}"
59
+ unset imie # usuniecie tablicy
60
+ echo "Tablica imie ma ${#imie[*]} elementow"
61
+ tab1=(`cat /etc/passwd`)
62
+ echo "Tablica tab1 ma ${#tab1[*]} elementow"
63
+ declare tab2=(`cat /etc/passwd`)
64
+ echo "Tablica tab2 ma ${#tab2[*]} elementow"
65
+ exit 0
66
+
67
+ 4\. Napisać skrypt obliczający sumę, różnicę i iloczyn dwóch
68
+ wczytanych liczb całkowitych. (Użyj polecenia read.)
69
+
70
+ :::shell-unix-generic
71
+ #!/bin/bash
72
+ echo -n "Podaj pierwsza liczbe: "
73
+ read liczba1
74
+ echo -n "Podaj druga liczbe: "
75
+ read liczba2
76
+ echo
77
+ suma=$[liczba1 + liczba2] #1 sposob
78
+ echo "Suma liczb wynosi: $suma"
79
+ roznica=$((liczba1-liczba2)) #2 sposob
80
+ echo "Roznica liczb wynosi: $roznica"
81
+ let iloczyn=liczba1*liczba2 #3 sposob
82
+ echo "Iloczyn liczb wynosi: $iloczyn"
83
+ iloraz=$[liczba1/liczba2]
84
+ echo "Iloraz liczb wynosi: $iloraz" #czesc calkowita
85
+ modulo=$[liczba1%liczba2]
86
+ echo "Modulo liczb wynosi: $modulo" #reszta
87
+ exit 0
88
+
89
+ 5\. Napisać skrypt sprawdzający, czy w katalogu głównym użytkownika
90
+ istnieje plik *.bashrc*. (Użyj instrukcji warunkowej if.)
91
+
92
+ :::shell-unix-generic
93
+ if [ -e ~/.bashrc ]
94
+ # lub rownowaznie: if test -e ~/.bashrc
95
+ then echo "Masz plik .bashrc"
96
+ else echo "Nie masz pliku .bashrc"
97
+ fi
98
+ exit 0
99
+
100
+ Krótka ściąga z pozostałych warunków:
101
+
102
+ <table class="span-19" summary="Scaffold">
103
+ <colgroup>
104
+ <col class="table1"/>
105
+ <col class="table2"/>
106
+ </colgroup>
107
+ <tbody>
108
+ <tr>
109
+ <td>-d plik</td>
110
+ <td>plik jest katalogiem</td>
111
+ </tr>
112
+ <tr>
113
+ <td>-e plik</td>
114
+ <td>plik istnieje</td>
115
+ </tr>
116
+ <tr>
117
+ <td>-f plik</td>
118
+ <td>plik jest plikiem regularnym</td>
119
+ </tr>
120
+ <tr>
121
+ <td>-g plik</td>
122
+ <td>plik ma przypisany set-group-id</td>
123
+ </tr>
124
+ <tr>
125
+ <td>-r plik</td>
126
+ <td>plik daje się odczytac</td>
127
+ </tr>
128
+ <tr>
129
+ <td>-s plik</td>
130
+ <td>plik ma niezerowy rozmiar</td>
131
+ </tr>
132
+ <tr>
133
+ <td>-u plik</td>
134
+ <td>plik ma przypisany set-user-id</td>
135
+ </tr>
136
+ <tr>
137
+ <td>-w plik</td>
138
+ <td>plik można edytowac (można pisac))</td>
139
+ </tr>
140
+ <tr>
141
+ <td>-x plik</td>
142
+ <td>plik wykonywalny</td>
143
+ </tr>
144
+ </tbody>
145
+ </table>
146
+
147
+
148
+
149
+ 6\. Napisać skrypt pytający się czy już jest wieczór. Dla odpowiedzi
150
+ „tak” powinien wypisać „Dobry wieczor”, dla odpowiedzi „nie” –
151
+ „Dzien dobry”, dla pozostałych odpowiedzi „Nie rozpoznana odpowiedz: ”
152
+ i przytoczyć treść odpowiedzi. (Użyj instrukcji warunkowej if-elif.)
153
+
154
+ :::shell-unix-generic
155
+ #!/bin/bash
156
+ echo -n "Czy jest wieczor? Odpowiedz tak lub nie: "
157
+ read odp
158
+ if [ "$odp" = "tak" ]
159
+ then echo "Dobry wieczor"
160
+ elif [ "$odp" = "nie" ]
161
+ then echo "Dzien dobry"
162
+ else
163
+ echo "Nie rozpoznana odpowiedz: $odp"
164
+ exit 1
165
+ fi
166
+ exit 0
167
+
168
+ Jeszcze jedna ściąga:
169
+
170
+ <table class="span-19" summary="Scaffold">
171
+ <colgroup>
172
+ <col class="table1"/>
173
+ <col class="table2"/>
174
+ </colgroup>
175
+ <tbody>
176
+ <tr>
177
+ <td>ciąg</td>
178
+ <td>ciąg jest niepusty</td>
179
+ </tr>
180
+ <tr>
181
+ <td>ciąg1=ciąg2</td>
182
+ <td>ciągi sa jednakowe</td>
183
+ </tr>
184
+ <tr>
185
+ <td>ciąg1!=ciąg2</td>
186
+ <td>ciągi nie sa rowne</td>
187
+ </tr>
188
+ <tr>
189
+ <td>-n ciąg</td>
190
+ <td>ciąg nie jest NULL</td>
191
+ </tr>
192
+ <tr>
193
+ <td>-z ciąg</td>
194
+ <td>ciąg jest NULL (pusty)</td>
195
+ </tr>
196
+ </tbody>
197
+ </table>
198
+
199
+
200
+ 7\. Napisać skrypt pobierający numer dnia tygodnia i wypisujący jego
201
+ nazwę lub informację „Nie rozumiem”. (Użyj polecenia read i
202
+ instrukcji warunkowej case.)
203
+
204
+ :::shell-unix-generic
205
+ #!/bin/bash
206
+ echo "Podaj numer dnia tygodnia: "
207
+ read dzien
208
+ case "$dzien" in
209
+ "1") echo "poniedzialek" ;;
210
+ "2") echo "wtorek" ;;
211
+ "3") echo "sroda" ;;
212
+ "4") echo "czwartek" ;;
213
+ "5") echo "piatek" ;;
214
+ "6") echo "sobota" ;;
215
+ "7") echo "niedziela" ;;
216
+ *) echo "Nie rozumiem"
217
+ esac
218
+ exit 0
219
+
220
+ 8\. Wyświetlić z bieżącego katalogu nazwy wszystkich plików:
221
+ \*.html, \*.htm, *.php, *.css, *.gif, *.jpg. (Użyj pętli for.)
222
+
223
+ :::shell-unix-generic
224
+ #!/bin/bash
225
+ for nazwa in *.html *.htm *.php *.css *.gif *.jpg
226
+ do
227
+ echo $nazwa
228
+ done
229
+ exit 0
230
+
231
+ To samo, ale bez rozróżniania małych i dużych liter.
232
+
233
+ 9\. Napisać skrypt wykonujący pętlę 15 razy i wypisujący za każdym
234
+ razem numer obiegu pętli. (Użyj pętli while.)
235
+
236
+ :::shell-unix-generic
237
+ #!/bin/bash
238
+ n=1;
239
+ # gdy warunek stanie się fałszywy to petla zakonczy dzialanie
240
+ while [ $n -le 15 ]
241
+ do
242
+ echo "Petla wykonuje sie po raz: $n"
243
+ n=$[n + 1]
244
+ done
245
+ exit 0
246
+
247
+ Ściąga z operatorów wykorzystywanych w warunkach:
248
+
249
+ <pre>-eq (==) -ne (!=) -lt (&lt;)
250
+ -le (&lt;=) -gt (>) -ge (>=)
251
+ </pre>
252
+
253
+ 10\. Napisać skrypt sprawdzający, czy użytkownik, którego login został
254
+ podany jako parametr skryptu zalogował się. (Użyj pętli until.)
255
+
256
+ :::shell-unix-generic
257
+ #!/bin/bash
258
+ until who | grep "$1" > /dev/null
259
+ # gdy warunek stanie się prawdziwy to petla zakonczy dzialanie
260
+ do
261
+ sleep 60
262
+ done
263
+ echo -e \\a
264
+ echo "$1 wlasnie sie zalogowal !!! "
265
+ exit 0
266
+
267
+ 11\. Napisać skrypt pytający się użytkownika co wybiera: kawe,
268
+ herbate, sok, quit. Po dokonaniu wyboru powinna się pojawić
269
+ informacja co zostało wybrane. Po wybraniu quit skrypt powinien
270
+ zakończyć działanie. (Użyj pętli select i instrukcji warunkowej case.)
271
+
272
+ :::shell-unix-generic
273
+ #!/bin/bash
274
+ echo "Co wybierasz?"
275
+ select x in kawe herbate sok quit
276
+ do
277
+ case $x in
278
+ "kawe") echo "Wybrales kawe." ;;
279
+ "herbate") echo "Wybrales herbate." ;;
280
+ "sok") echo "Wybrales sok." ;;
281
+ "quit") echo "Wybrales quit."; break ;;
282
+ *) echo "Nic nie wybrales."
283
+ esac
284
+ done
285
+ exit 0
286
+
287
+ 12\. Zmienić nazwy plików i katalogów pisane dużymi literami na nazwy
288
+ pisane małymi literami.
289
+
290
+ :::shell-unix-generic
291
+ #!/bin/bash
292
+ for nazwa in *
293
+ do
294
+ mv $nazwa $(echo $nazwa | tr '[A-Z]' '[a-z]')
295
+ done
296
+ exit 0
@@ -8,6 +8,7 @@
8
8
  1. <a href="http://sigma.inf.ug.edu.pl/~bberda/sp/">Berda, Bartłomiej</a>
9
9
  bb (czyli brak bloga)
10
10
  1. <a href="http://sigma.inf.ug.edu.pl/~mwanta/sp/">Wanta, Marcin</a> bb
11
+ 1. <a href="http://sigma.inf.ug.edu.pl/~azmuda/sp/">Żmuda, Adam</a> br 16.11 23.11 30.11 7.12
11
12
  -->
12
13
 
13
14
  1. <a href="http://sigma.inf.ug.edu.pl/~kbasinski/sp/">Basiński, Krzysztof</a> 16.11
@@ -27,4 +28,4 @@
27
28
  1. <a href="http://sigma.inf.ug.edu.pl/~dwojkiewicz/sp/">Wojkiewicz, Daniel</a> lab4 (16.11)
28
29
  1. <a href="http://sigma.inf.ug.edu.pl/~pzawodny/sp/">Zawodny, Paweł</a> br
29
30
  1. <a href="http://sigma.inf.ug.edu.pl/~dzduniak/sp/">Zduniak, Daniel</a> br 16.11
30
- 1. <a href="http://sigma.inf.ug.edu.pl/~azmuda/sp/">Żmuda, Adam</a> br 16.11
31
+
@@ -162,7 +162,7 @@ Na *indeks* mówimy też *staging area* (punkt etapowy, punkt tranzytowy),
162
162
  a *trunk* to *trunk*.
163
163
 
164
164
 
165
- ### Git na codzień
165
+ ### Git na co dzień
166
166
 
167
167
  Zazwyczaj praca z repozytorium wygląda tak:
168
168
 
@@ -13,5 +13,16 @@
13
13
  2\. Przygotować po jednym dokumencie (1–2 strony wydruku)
14
14
  pokazującym podstawowe możliwości każdego z pakietów:
15
15
 
16
- * *graphicx* (dokumentacja *epslatex.pdf*)
17
- * *floatlft* albo *photo* (pływające wstawki)
16
+ * grafika: *graphicx* (dokumentacja *epslatex.pdf*)
17
+ * pływające wstawki:
18
+ [*wrapfigure*](http://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions)
19
+ (podstawowa funkcjonalność) [floatlft][] albo [photo] (więcej możliwości).
20
+
21
+ Zobacz też artykuł w Wikipedii
22
+ [LaTeX/Floats, Figures and Captions](http://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions).
23
+
24
+ 3\. [Jeopardy!][jeopardy]
25
+
26
+ [floatlft]: http://tug.ctan.org/tex-archive/macros/latex/contrib/floatflt/
27
+ [photo]: http://tug.ctan.org/tex-archive/macros/latex/contrib/photo/
28
+ [jeopardy]: http://tug.ctan.org/tex-archive/macros/latex/contrib/jeopardy/
@@ -148,9 +148,9 @@ dwukrotnie skompilować dokument).
148
148
  % jeśli tego nie zrobisz będzie drukowana aktualna data
149
149
 
150
150
  \begin{document}
151
- \maketitle % drukuj tytuł
151
+ \maketitle % składaj tytuł
152
152
 
153
- \tableofcontents % drukuj spis treści
153
+ \tableofcontents % składaj spis treści
154
154
 
155
155
  \section{Pierwsza sekcja}
156
156
 
@@ -182,7 +182,104 @@ też są znakami specjalnymi. Jeśli je wpiszesz,
182
182
  to zostaną wydrukowane zupełnie inne rzeczy.
183
183
 
184
184
 
185
- ## Bibliografia albo Literatura
185
+ ## Bibliografia pakiet *amsrefs*
186
+
187
+ Na stronie [The amsrefs package] [amsrefs] umieszczono
188
+ link do dokumentacji oraz przykładów.
189
+
190
+ Prosty przykład może wyglądać tak, plik *szablon.tex*:
191
+
192
+ :::latex
193
+ % !TEX TS-program = xelatex
194
+ % !TEX encoding = UTF-8 Unicode
195
+
196
+ \documentclass[12pt]{article}
197
+ \usepackage{amsrefs}
198
+
199
+ \usepackage{fontspec}
200
+ \defaultfontfeatures{Mapping=tex-text}
201
+ \usepackage{hyperref}
202
+ \usepackage{xunicode}
203
+ \usepackage{xltxtra}
204
+ \usepackage{url} % do przełamywania url
205
+ \usepackage[polish]{polyglossia}
206
+
207
+ \begin{document}
208
+
209
+ \section{Pierwszy rozdział}
210
+
211
+ SGML~\cite{Goldfarb2002} jest to \emph{metajęzyk}
212
+ służący do opisywania struktury i~zawartości dokumentów.
213
+
214
+ \section{Drugi rozdział}
215
+
216
+ Typowy proces produkcji dokumentów w~standardzie SGML
217
+ podzielony jest na kilka części. Najważniejsze elementy tego
218
+ procesu są opisane w~\cite{Eisenberg2002}.
219
+
220
+ \begin{bibdiv}
221
+ \begin{biblist}
222
+ \bibselect{literatura}
223
+ \end{biblist}
224
+ \end{bibdiv}
225
+
226
+ \end{document}
227
+
228
+ Plik z bibliografią może wyglądać tak, *literatura.ltb*:
229
+
230
+ :::latex
231
+ % !TEX TS-program = xelatex
232
+ % !TEX encoding = UTF-8 Unicode
233
+
234
+ \documentclass[12pt]{amsbook}
235
+ \usepackage{amsrefs}
236
+
237
+ \usepackage{fontspec}
238
+ \defaultfontfeatures{Mapping=tex-text}
239
+ \usepackage{xunicode}
240
+ \usepackage{xltxtra}
241
+ \usepackage[polish]{polyglossia}
242
+
243
+ \raggedbottom
244
+
245
+ \begin{document}
246
+
247
+ \begin{bibdiv}
248
+ \begin{biblist}
249
+
250
+ \bib{Goldfarb2002}{book}{
251
+ author={Charles F. Goldfarb},
252
+ author={Paul Prescod},
253
+ title={Charles F. Goldfarb's XML handbook},
254
+ edition={Fourth},
255
+ publisher={Princeton-Hall},
256
+ address={Englewood Cliffs, NJ 07632, USA},
257
+ date={2002},
258
+ ISBN={0-13-065198-2; 978-0-13-065198-3},
259
+ }
260
+ \bib{Eisenberg2002}{article}{
261
+ author={Andrew Eisenberg},
262
+ author={Jim Melton},
263
+ title={SQL\slash XML is making good progress},
264
+ date={2002},
265
+ ISSN={0000-0000},
266
+ journal={SIGMOD},
267
+ volume={31},
268
+ number={2},
269
+ pages={101\ndash 108},
270
+ }
271
+
272
+ \end{biblist}
273
+ \end{bibdiv}
274
+ \end{document}
275
+
276
+ Dokument *szablon.tex* kompilujemy dwukrotnie:
277
+
278
+ xelatex szablon
279
+ xelatex szablon
280
+
281
+
282
+ ## Bibliografia klasycznie, czyli bibtex
186
283
 
187
284
  Teraz przyjrzymy się bardziej skomplikowanemu dokumentowi.
188
285
  Pokazuje on jak przygotowywać bibliografię w systemie LaTeX.
@@ -308,10 +405,13 @@ tabelek, korzystanie z koloru, notacja do wpisywania matematyki...
308
405
 
309
406
  \usepackage{geometry}
310
407
  \geometry{a4paper}
311
-
408
+
312
409
  \usepackage{fontspec}
313
410
  \defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
314
- %\setmainfont{Lucida}
411
+ \setmainfont[Mapping=tex-text]{Minion Pro:+onum}
412
+ \setsansfont[Mapping=tex-text]{Myriad Pro}
413
+ \setmonofont{Monaco}
414
+
315
415
  \usepackage{xunicode}
316
416
  \usepackage{xltxtra}
317
417
  \usepackage{hyperref}
@@ -430,3 +530,5 @@ powinno przekonać do programu niedowiarków.
430
530
  [tug]: http://www.tug.org/ "TUG"
431
531
 
432
532
  [arxiv]: http://arxiv.org/ "arXiv.org"
533
+
534
+ [amsrefs]: http://www.ams.org/tex/amsrefs.html "amsrefs doc"
@@ -16,10 +16,10 @@
16
16
  </head>
17
17
  <body>
18
18
  <div class="span-21" id="header">
19
- <div id="logo" class="push-1 span-7">
20
- <%= link_to "WB@SP", "/" %><span>2dc87f0d…</span>
19
+ <div id="logo" class="push-1 span-13">
20
+ <%= link_to "WB@SP", "/" %><span>2dc87f…</span>
21
21
  </div>
22
- <div class="span-13 last">
22
+ <div class="span-7 last">
23
23
  <div class="append-1" id="links">
24
24
  <a href="http://inf.ug.edu.pl/~wbzyl/">home</a>
25
25
  <a href="http://inf.ug.edu.pl/~wbzyl/galeria/zakopane/2009-08-28-zawrat/">galeria</a>
@@ -23,17 +23,18 @@ w komputerze tak się Wam spodobał.
23
23
  1. {%= link_to "Jak zostać Uniksowym guru w kwadrans", "/unix-guru" %}
24
24
  1. {%= link_to "TeXLive i inne różne rzeczy", "/texlive" %}
25
25
  1. {%= link_to "Skryptologia stosowana", "/scripts" %}
26
+ 1. {%= link_to "Bash w przykładach", "/bash" %}
26
27
 
27
28
  Różne rzeczy:
28
29
 
29
30
  * {%= link_to "Wykłady", "/ll"%}
30
31
  * {%= link_to "Ćwiczenia", "/exercises" %}
31
- * {%= link_to "Odpowiedzi", "/answers" %}
32
32
  * {%= link_to "Blogi studentów", "/blogs" %}
33
33
 
34
34
 
35
35
  ## Literatura
36
36
 
37
+ 1. [FreeBSD Man Pages] [freebsd].
37
38
  1. A. Robbins, N. H. F. Beebe. „Programowanie skryptów powłoki”. Helion 2005.
38
39
  1. C. Albing, JP Vossen, C. Newham. „Bash receptury”. Helion 2008.
39
40
  1. S. Chacon. [Pro Git – professional version control] [progit].
@@ -57,6 +58,7 @@ Różne rzeczy:
57
58
 
58
59
  #### Linki
59
60
 
61
+ [freebsd]: http://www.freebsd.org/cgi/man.cgi "FreeBSD Man Pages: Index Page"
60
62
  [lshort2e]: ftp://ftp.gust.org.pl/pub/CTAN/info/lshort/polish/lshort2e.pdf "Wprowadzenie do systemu LaTeX2e"
61
63
  [gnu os]: http://www.gnu.org/fun/fun.html "Laugh along with GNU - GNU Project - Free Software Foundation (FSF)"
62
64
  [progit]: http://progit.org/book/ "Pro Git – professional version control"
@@ -47,8 +47,8 @@ Zawartość tego pliku podejrzymy tak:
47
47
  Na stronie [TeX Live availability](http://www.tug.org/texlive/acquire.html)
48
48
  znajdziemy link do instalki systemu bezpośrednio z internetu
49
49
  „TeX Live installation over the Internet”:
50
- [Linux](http://mirror.ctan.org/systems/texlive/tlnet/2008/install-tl-unx.tar.gz)
51
- [Windows](http://mirror.ctan.org/systems/texlive/tlnet/2008/install-tl.zip).
50
+ [Linux](http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz)
51
+ [Windows](http://mirror.ctan.org/systems/texlive/tlnet/install-tl.zip).
52
52
 
53
53
  Po rozpakowaniu archiwum, uruchamiamy skrypt:
54
54
 
@@ -58,7 +58,7 @@ i po chwili widzimy, że będziemy musieli czekać z tydzień, zanim
58
58
  zostaną ściągnięte wszystkie pakiety. Aby przyspieszyć instalację
59
59
  wymieniamy domyślnie ustawiony serwer z którego pobierane są pakiety:
60
60
 
61
- sudo ./install-tl -location ftp://ftp.gust.org.pl/tex-archive/systems/texlive/tlnet/2008/tlpkg/
61
+ sudo ./install-tl -location ftp://ftp.gust.org.pl/tex-archive/systems/texlive/tlnet/tlpkg/
62
62
 
63
63
  Domyślne ustawienie drzewek techowych w TeXLive:
64
64
 
@@ -353,6 +353,7 @@ Edytory ASCII i non-ASCII. [Emacs kontra Vi] [wojny edytorowe].
353
353
 
354
354
  Użyteczne linki:
355
355
 
356
+ * [emacs-fu](http://emacs-fu.blogspot.com/)
356
357
  * [A Guided Tour of Emacs] [emacs-tour]
357
358
  * {%= link_to "Skróty klawiszowe edytora Emacs", "/doc/survival.pdf" %}
358
359
  * [Emacs Wiki] [emacs-wiki]
@@ -5,14 +5,14 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{sp-tutorial}
8
- s.version = "0.3.0"
8
+ s.version = "0.3.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Wlodek Bzyl"]
12
- s.date = %q{2009-11-26}
13
- s.description = %q{Notatki do frameworka Rails3
12
+ s.date = %q{2009-12-27}
13
+ s.description = %q{Notatki do wykladu: Srodowisko Programisty
14
14
  }
15
- s.email = %q{matwb@univ.gda.pl}
15
+ s.email = %q{matwb@ug.edu.pl}
16
16
  s.extra_rdoc_files = [
17
17
  "README.markdown"
18
18
  ]
@@ -30,6 +30,7 @@ Gem::Specification.new do |s|
30
30
  "lib/public/doc/survival.pdf",
31
31
  "lib/public/doc/templates/article-bibliography.tex",
32
32
  "lib/public/doc/templates/article-hyperref.tex",
33
+ "lib/public/doc/xetex-pl.pdf",
33
34
  "lib/public/images/Thatll_Flat_Git_It_Vol_20.jpg",
34
35
  "lib/public/images/alan_kay.jpg",
35
36
  "lib/public/images/alan_perlis.jpg",
@@ -73,6 +74,7 @@ Gem::Specification.new do |s|
73
74
  "lib/public/stylesheets/uv.css",
74
75
  "lib/sp-tutorial.rb",
75
76
  "lib/views/answers.rdiscount",
77
+ "lib/views/bash.rdiscount",
76
78
  "lib/views/blogs.rdiscount",
77
79
  "lib/views/exercises.rdiscount",
78
80
  "lib/views/favicon.ico.rdiscount",
@@ -102,7 +104,7 @@ Gem::Specification.new do |s|
102
104
  s.require_paths = ["lib"]
103
105
  s.rubyforge_project = %q{sp-tutorial}
104
106
  s.rubygems_version = %q{1.3.5}
105
- s.summary = %q{Notatki do wykladu z Srodowiska Programisty.}
107
+ s.summary = %q{Notatki do wykladu Srodowisko Programisty.}
106
108
 
107
109
  if s.respond_to? :specification_version then
108
110
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
@@ -113,23 +115,26 @@ Gem::Specification.new do |s|
113
115
  s.add_runtime_dependency(%q<sinatra>, [">= 0"])
114
116
  s.add_runtime_dependency(%q<rdiscount>, [">= 0"])
115
117
  s.add_runtime_dependency(%q<ultraviolet>, [">= 0"])
116
- s.add_runtime_dependency(%q<sinatra-rdiscount>, [">= 0"])
117
118
  s.add_runtime_dependency(%q<rack-codehighlighter>, [">= 0"])
119
+ s.add_runtime_dependency(%q<sinatra-rdiscount>, [">= 0"])
120
+ s.add_runtime_dependency(%q<sinatra-static-assets>, [">= 0"])
118
121
  else
119
122
  s.add_dependency(%q<rack>, [">= 0"])
120
123
  s.add_dependency(%q<sinatra>, [">= 0"])
121
124
  s.add_dependency(%q<rdiscount>, [">= 0"])
122
125
  s.add_dependency(%q<ultraviolet>, [">= 0"])
123
- s.add_dependency(%q<sinatra-rdiscount>, [">= 0"])
124
126
  s.add_dependency(%q<rack-codehighlighter>, [">= 0"])
127
+ s.add_dependency(%q<sinatra-rdiscount>, [">= 0"])
128
+ s.add_dependency(%q<sinatra-static-assets>, [">= 0"])
125
129
  end
126
130
  else
127
131
  s.add_dependency(%q<rack>, [">= 0"])
128
132
  s.add_dependency(%q<sinatra>, [">= 0"])
129
133
  s.add_dependency(%q<rdiscount>, [">= 0"])
130
134
  s.add_dependency(%q<ultraviolet>, [">= 0"])
131
- s.add_dependency(%q<sinatra-rdiscount>, [">= 0"])
132
135
  s.add_dependency(%q<rack-codehighlighter>, [">= 0"])
136
+ s.add_dependency(%q<sinatra-rdiscount>, [">= 0"])
137
+ s.add_dependency(%q<sinatra-static-assets>, [">= 0"])
133
138
  end
134
139
  end
135
140
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sp-tutorial
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wlodek Bzyl
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-26 00:00:00 +01:00
12
+ date: 2009-12-27 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -52,6 +52,16 @@ dependencies:
52
52
  - !ruby/object:Gem::Version
53
53
  version: "0"
54
54
  version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: rack-codehighlighter
57
+ type: :runtime
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: "0"
64
+ version:
55
65
  - !ruby/object:Gem::Dependency
56
66
  name: sinatra-rdiscount
57
67
  type: :runtime
@@ -63,7 +73,7 @@ dependencies:
63
73
  version: "0"
64
74
  version:
65
75
  - !ruby/object:Gem::Dependency
66
- name: rack-codehighlighter
76
+ name: sinatra-static-assets
67
77
  type: :runtime
68
78
  version_requirement:
69
79
  version_requirements: !ruby/object:Gem::Requirement
@@ -73,9 +83,9 @@ dependencies:
73
83
  version: "0"
74
84
  version:
75
85
  description: |
76
- Notatki do frameworka Rails3
86
+ Notatki do wykladu: Srodowisko Programisty
77
87
 
78
- email: matwb@univ.gda.pl
88
+ email: matwb@ug.edu.pl
79
89
  executables: []
80
90
 
81
91
  extensions: []
@@ -96,6 +106,7 @@ files:
96
106
  - lib/public/doc/survival.pdf
97
107
  - lib/public/doc/templates/article-bibliography.tex
98
108
  - lib/public/doc/templates/article-hyperref.tex
109
+ - lib/public/doc/xetex-pl.pdf
99
110
  - lib/public/images/Thatll_Flat_Git_It_Vol_20.jpg
100
111
  - lib/public/images/alan_kay.jpg
101
112
  - lib/public/images/alan_perlis.jpg
@@ -139,6 +150,7 @@ files:
139
150
  - lib/public/stylesheets/uv.css
140
151
  - lib/sp-tutorial.rb
141
152
  - lib/views/answers.rdiscount
153
+ - lib/views/bash.rdiscount
142
154
  - lib/views/blogs.rdiscount
143
155
  - lib/views/exercises.rdiscount
144
156
  - lib/views/favicon.ico.rdiscount
@@ -190,6 +202,6 @@ rubyforge_project: sp-tutorial
190
202
  rubygems_version: 1.3.5
191
203
  signing_key:
192
204
  specification_version: 3
193
- summary: Notatki do wykladu z Srodowiska Programisty.
205
+ summary: Notatki do wykladu Srodowisko Programisty.
194
206
  test_files: []
195
207