Piggy 0.4.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. data/CHANGES.txt +91 -0
  2. data/INSTALL.txt +77 -0
  3. data/LICENCE.txt +339 -0
  4. data/README.txt +27 -0
  5. data/UNINSTALL.txt +24 -0
  6. data/bin/directory_diff +6 -0
  7. data/bin/ftp_browser +6 -0
  8. data/bin/piggy +6 -0
  9. data/lib/directory_diff.rb +35 -0
  10. data/lib/ftp_browser.rb +33 -0
  11. data/lib/icons/auto-select-for-del.ico +0 -0
  12. data/lib/icons/auto-select-right.ico +0 -0
  13. data/lib/icons/auto-upload-right.ico +0 -0
  14. data/lib/icons/back.ico +0 -0
  15. data/lib/icons/checked.ico +0 -0
  16. data/lib/icons/copy.png +0 -0
  17. data/lib/icons/cut.png +0 -0
  18. data/lib/icons/dir.ico +0 -0
  19. data/lib/icons/dirup.ico +0 -0
  20. data/lib/icons/file.ico +0 -0
  21. data/lib/icons/fileopen.png +0 -0
  22. data/lib/icons/filesave.ico +0 -0
  23. data/lib/icons/gallery.ico +0 -0
  24. data/lib/icons/generate.ico +0 -0
  25. data/lib/icons/minus.png +0 -0
  26. data/lib/icons/move-right-dir.ico +0 -0
  27. data/lib/icons/move-right-file.ico +0 -0
  28. data/lib/icons/newer-file.ico +0 -0
  29. data/lib/icons/next-image.ico +0 -0
  30. data/lib/icons/paste.png +0 -0
  31. data/lib/icons/plus.png +0 -0
  32. data/lib/icons/preview.png +0 -0
  33. data/lib/icons/previous-image.ico +0 -0
  34. data/lib/icons/reload.ico +0 -0
  35. data/lib/icons/remove-selected.ico +0 -0
  36. data/lib/icons/rotate.ico +0 -0
  37. data/lib/icons/slides.ico +0 -0
  38. data/lib/icons/stop-slides.ico +0 -0
  39. data/lib/icons/unchecked-dir.ico +0 -0
  40. data/lib/icons/unchecked.ico +0 -0
  41. data/lib/icons/upload-selected.ico +0 -0
  42. data/lib/icons/upload.ico +0 -0
  43. data/lib/piggy-core/alive_check.rb +44 -0
  44. data/lib/piggy-core/debug.rb +21 -0
  45. data/lib/piggy-core/encoding.rb +11 -0
  46. data/lib/piggy-core/environment.rb +66 -0
  47. data/lib/piggy-core/exifr_adapter.rb +85 -0
  48. data/lib/piggy-core/file_info.rb +218 -0
  49. data/lib/piggy-core/ftp_adapter.rb +106 -0
  50. data/lib/piggy-core/htmlgen.rb +242 -0
  51. data/lib/piggy-core/nconvert_thumbsgen.rb +73 -0
  52. data/lib/piggy-core/options.rb +116 -0
  53. data/lib/piggy-core/options_persistence.rb +54 -0
  54. data/lib/piggy-core/progress.rb +48 -0
  55. data/lib/piggy-core/rmagick_thumbnail_page_generator.rb +30 -0
  56. data/lib/piggy-core/thumbnail_generator.rb +79 -0
  57. data/lib/piggy-core/thumbnail_page_generator.rb +542 -0
  58. data/lib/piggy-core/upload_info.rb +41 -0
  59. data/lib/piggy-core/version.rb +18 -0
  60. data/lib/piggy-core/winshell.rb +240 -0
  61. data/lib/piggy-gui/directory_diff_widget.rb +398 -0
  62. data/lib/piggy-gui/filtered_file_list.rb +243 -0
  63. data/lib/piggy-gui/fox_thumbsgen.rb +18 -0
  64. data/lib/piggy-gui/ftp_browser_widget.rb +395 -0
  65. data/lib/piggy-gui/html_generation_dialog.rb +157 -0
  66. data/lib/piggy-gui/image_processor.rb +140 -0
  67. data/lib/piggy-gui/multiimagecanvas.rb +163 -0
  68. data/lib/piggy-gui/options_dialog.rb +85 -0
  69. data/lib/piggy-gui/piggy_image_browser.rb +776 -0
  70. data/lib/piggy-gui/pipe_log.rb +67 -0
  71. data/lib/piggy-gui/progress_with_dialog.rb +51 -0
  72. data/lib/piggy-gui/require-fox.rb +87 -0
  73. data/lib/piggy.rb +35 -0
  74. data/lib/templates/fuss.htm +10 -0
  75. data/lib/templates/kopf.htm +13 -0
  76. data/lib/templates/navigation.htm +11 -0
  77. data/lib/templates/slideshow.htm +129 -0
  78. data/lib/templates/slideshow.js +691 -0
  79. data/lib/templates/styles/basic/style.css +27 -0
  80. data/lib/templates/styles/black/style.css +64 -0
  81. data/lib/templates/styles/roundedbox/roundedbox_lo.gif +0 -0
  82. data/lib/templates/styles/roundedbox/roundedbox_lu.gif +0 -0
  83. data/lib/templates/styles/roundedbox/roundedbox_ro.gif +0 -0
  84. data/lib/templates/styles/roundedbox/roundedbox_ru.gif +0 -0
  85. data/lib/templates/styles/roundedbox/style.css +70 -0
  86. data/lib/templates/styles/shadow/lo.gif +0 -0
  87. data/lib/templates/styles/shadow/lu.gif +0 -0
  88. data/lib/templates/styles/shadow/ro.gif +0 -0
  89. data/lib/templates/styles/shadow/ru.gif +0 -0
  90. data/lib/templates/styles/shadow/style.css +63 -0
  91. data/test/file_info_test.rb +117 -0
  92. data/test.rb +8 -0
  93. data/web/IMAGE_PROCESSING.txt +53 -0
  94. data/web/INSTALL.txt +74 -0
  95. data/web/extern.gif +0 -0
  96. data/web/ftp-browser.png +0 -0
  97. data/web/index-de.html +60 -0
  98. data/web/index.html +57 -0
  99. data/web/piggy.png +0 -0
  100. data/web/style.css +14 -0
  101. metadata +177 -0
@@ -0,0 +1,64 @@
1
+ body {
2
+ color: #FFFFFF;
3
+ background:black;
4
+ }
5
+
6
+ body.thumbs {
7
+ text-align: center;
8
+ }
9
+
10
+ a:link {
11
+ color: #FFFF00;
12
+ text-decoration: underline;
13
+ }
14
+
15
+ a:visited {
16
+ color: #FFFF00;
17
+ text-decoration: underline;
18
+ }
19
+
20
+ a:hover {
21
+ color: #AAAAAA;
22
+ text-decoration: underline;
23
+ }
24
+
25
+ a:active {
26
+ color: #FFFF00;
27
+ text-decoration: none;
28
+ }
29
+
30
+ dl {
31
+ max-width: 600px;
32
+ }
33
+
34
+ /* no max-width in IE < 7 */
35
+ * html dl {
36
+ width: 600px;
37
+ }
38
+
39
+ dd {
40
+ margin:0;
41
+ padding: 0;
42
+ width: 110px;
43
+ height: 114px;
44
+ float: left;
45
+ vertical-align: top;
46
+ text-align: center;
47
+ }
48
+
49
+ img {
50
+ border-style: none
51
+ }
52
+
53
+ div {
54
+ margin:0;
55
+ }
56
+
57
+ .thumb {
58
+ margin:0;
59
+ }
60
+
61
+ .thumb p {
62
+ margin:0;
63
+ padding:0;
64
+ }
@@ -0,0 +1,70 @@
1
+ body {
2
+ background-color:#F1EDCF;
3
+ }
4
+
5
+ body.thumbs {
6
+ text-align: center;
7
+ }
8
+
9
+ h1,h2,h3 {
10
+ color:#667553;
11
+ }
12
+
13
+ dl {
14
+ margin-left: auto;
15
+ margin-right: auto;
16
+ max-width: 600px;
17
+ }
18
+
19
+ /* no max-width in IE < 7 */
20
+ * html dl {
21
+ width: 600px;
22
+ }
23
+
24
+ dd {
25
+ margin:0;
26
+ padding: 0;
27
+ width: 130px;
28
+ height: 130px;
29
+ float: left;
30
+ vertical-align: top;
31
+ text-align: center;
32
+ }
33
+
34
+ div {
35
+ margin:0;
36
+ }
37
+
38
+ .preview {
39
+ background:url(roundedbox_ro.gif) top right no-repeat;
40
+ }
41
+
42
+ .thumb {
43
+ margin:0;
44
+ background:url(roundedbox_lo.gif) top left no-repeat;
45
+ }
46
+
47
+ .thumb p {
48
+ margin:0;
49
+ padding:0;
50
+ background:url(roundedbox_ru.gif) bottom right no-repeat;
51
+ }
52
+
53
+ .thumb p a {
54
+ display: block;
55
+ background:url(roundedbox_lu.gif) bottom left no-repeat;
56
+ padding: 6px 20px 20px 6px;
57
+ }
58
+
59
+ img {
60
+ border:none;
61
+ }
62
+
63
+ .image_page img {
64
+ max-width: 100%;
65
+ }
66
+
67
+ /* IE 6 image height */
68
+ * html .thumb p a {
69
+ padding-bottom: 16px;
70
+ }
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,63 @@
1
+ body.thumbs {
2
+ text-align: center;
3
+ }
4
+
5
+ div {
6
+ margin:0;
7
+ }
8
+
9
+ dl {
10
+ margin-left: auto;
11
+ margin-right: auto;
12
+ max-width: 600px;
13
+ }
14
+
15
+ /* no max-width in IE < 7 */
16
+ * html dl {
17
+ width: 600px;
18
+ }
19
+
20
+ dd {
21
+ margin:0;
22
+ padding: 0;
23
+ width: 110px;
24
+ height: 114px;
25
+ float: left;
26
+ vertical-align: top;
27
+ text-align: center;
28
+ }
29
+
30
+ .preview {
31
+ background:url(ro.gif) top right no-repeat;
32
+ }
33
+
34
+ .thumb {
35
+ background:url(lo.gif) top left no-repeat;
36
+ }
37
+
38
+ .thumb p {
39
+ margin:0;
40
+ padding:0;
41
+ background:url(ru.gif) bottom right no-repeat;
42
+ }
43
+
44
+ .thumb p a {
45
+ display: block;
46
+ background: url(lu.gif) bottom left no-repeat;
47
+ padding: 0px 9px 9px 0px;
48
+ }
49
+
50
+ .thumb p a img {
51
+ border:none;
52
+ }
53
+
54
+ .image_page img {
55
+ max-width: 100%;
56
+ }
57
+
58
+ /* IE 6 image height */
59
+ * html .thumb p a {
60
+ padding-bottom: 5px;
61
+ }
62
+
63
+
@@ -0,0 +1,117 @@
1
+ #!/usr/bin/ruby
2
+ #$Id: file_info_test.rb 130 2005-12-14 14:39:20Z Sascha $
3
+
4
+ require 'test/unit'
5
+ require 'piggy-core/file_info'
6
+
7
+ class FilePathTest < Test::Unit::TestCase
8
+ def test_internPath
9
+ assert_equal('C:/', FilePath.internPath('C:'))
10
+ assert_equal('C:/', FilePath.internPath("C:\\"))
11
+ assert_equal('C:/bla/bla', FilePath.internPath("C:\\bla\\bla"))
12
+ assert_equal('C:/bla/bla/', FilePath.internPath("C:\\bla\\bla\\"))
13
+
14
+ assert_equal('C:/bla/bla', FilePath.internPath("C:/bla/bla"))
15
+ assert_equal('/bla/bla', FilePath.internPath("/bla/bla"))
16
+ end
17
+
18
+ def test_join
19
+ assert_equal('/bla', FilePath.join('', '/bla'))
20
+ assert_equal('bla', FilePath.join('', 'bla'))
21
+ assert_equal('C:', FilePath.join('', 'C:'))
22
+ assert_equal('C:/', FilePath.join('', 'C:/'))
23
+
24
+ assert_equal('/bla', FilePath.join('/bla', ''))
25
+ assert_equal('bla', FilePath.join('bla', ''))
26
+ assert_equal('C:', FilePath.join('C:', ''))
27
+ assert_equal('C:/', FilePath.join('C:/', ''))
28
+
29
+ assert_equal('C:/bla', FilePath.join('C:', '/bla'))
30
+ assert_equal('C:/bla', FilePath.join('C:/', 'bla'))
31
+ assert_equal('C:/bla', FilePath.join('C:/', '/bla'))
32
+ assert_equal('/bla/bla', FilePath.join('/bla', 'bla'))
33
+ assert_equal('/bla/bla', FilePath.join('/bla', '/bla'))
34
+ end
35
+
36
+ def test_split
37
+ assert_equal(['C:', 'bla', 'bla'], FilePath.split('C:/bla/bla'))
38
+ end
39
+
40
+ def test_oneDirUp
41
+ assert_equal(['C:', 'bla', 'bla'], FilePath.split('C:/bla/bla'))
42
+ end
43
+ end
44
+
45
+ class FileNameTest < Test::Unit::TestCase
46
+ def test_c_bla_bla_bla
47
+ fn = FileName.new('bla')
48
+ fn.path = "C:\\bla\\bla"
49
+ assert_equal('C:/bla/bla/bla', fn.nameWithPath)
50
+ assert_equal(['C:', 'bla', 'bla'], fn.pathSections)
51
+ end
52
+ end
53
+
54
+ class FileInfoTest < Test::Unit::TestCase
55
+ def test_c_bla_bla_bla
56
+ fn = FileInfo.new('bla')
57
+ fn.path = "C:\\bla\\bla"
58
+ assert_equal('C:/bla/bla/bla', fn.nameWithPath)
59
+ assert_equal(['C:', 'bla', 'bla'], fn.pathSections)
60
+ end
61
+
62
+ def test_directory
63
+ fn = FileInfo.new('bla')
64
+ assert(!fn.directory?)
65
+ fn.directory!
66
+ assert(fn.directory?)
67
+ end
68
+ end
69
+
70
+ class DirectoryContentsTest < Test::Unit::TestCase
71
+ def test_initialize
72
+ to = DirectoryContents.new('bla')
73
+ assert_equal([], to.keys)
74
+ end
75
+
76
+ def test_directoriesAndFiles
77
+ to = DirectoryContents.new('bla')
78
+ fnDir = FileInfo.new('blubbDir')
79
+ fnDir.directory!
80
+ fn = FileInfo.new('blubb')
81
+ to.add(fnDir)
82
+ to.add(fn)
83
+ assert_equal(['blubbDir'], to.directories)
84
+ assert_equal(['blubb'], to.files)
85
+ assert_equal(['blubb', 'blubbDir'], to.keys)
86
+ end
87
+
88
+ def test_duplicates
89
+ to = DirectoryContents.new('bla')
90
+ fn = FileInfo.new('blubb')
91
+ fnDir = fn.clone
92
+ fnDir.directory!
93
+ to.add(fn)
94
+ to.add(fnDir)
95
+ assert_equal(['blubb'], to.directories)
96
+ assert_equal([], to.files)
97
+ assert_equal(['blubb'], to.keys)
98
+ end
99
+ end
100
+
101
+ class FileRepositoryTest < Test::Unit::TestCase
102
+ def test_smokeTest
103
+ to = FileRepository.new
104
+ infArray = Array.new
105
+ infArray.push(FileInfo.new('dir1', 'f'))
106
+ infArray.push(FileInfo.new('dir2', 'f'))
107
+ infArray.push(FileInfo.new('dir2', 'f'))
108
+ infArray.push(FileInfo.new('dir', 'f2'))
109
+ (0..3).each { |i|
110
+ infArray[i].size = i + 1
111
+ to.add(infArray[i])
112
+ }
113
+ assert_equal(infArray[2], to.get(FileName.new('dir2', 'f')))
114
+ assert_equal(4, to.get(FileName.new('dir', 'f2')).size)
115
+ end
116
+ end
117
+
data/test.rb ADDED
@@ -0,0 +1,8 @@
1
+ require 'test/unit'
2
+
3
+ Dir.glob("test/*.rb").collect { |f|
4
+ f[0..-4]
5
+ }.each { |test|
6
+ puts test
7
+ require test
8
+ }
@@ -0,0 +1,53 @@
1
+ Piggy is capable of building thumbnail all by using plain Ruby and FXRuby but you might
2
+ want to increase the quality of the result by switching options and make Piggy use
3
+ one of the following tools:
4
+ - RMagick
5
+ - Nconvert (the batch processing application of the great image converter XNview)
6
+
7
+ *** RMagick
8
+
9
+ Homepage: http://rubyforge.org/projects/rmagick/
10
+
11
+ Installation on Windows:
12
+
13
+ This is, what worked for me:
14
+ 1. Download binary distribution.
15
+ 2. Unpack e. g. into something like F:\transfer
16
+ 3. Open console window on the RMagick-Folder
17
+
18
+ Now the gem installation and postinstall:
19
+ >>
20
+ F:\transfer\RMAGIC~1.3-W>gem install RMagick-win32-1.9.2-mswin32.gem
21
+ Attempting local installation of 'RMagick-win32-1.9.2-mswin32.gem'
22
+ Successfully installed RMagick-win32, version 1.9.2
23
+
24
+ F:\transfer\RMAGIC~1.3-W>postinstall
25
+ RMagick 1.9.2 win32 Post Installation (see enclosed README for license informati
26
+ on)
27
+ detecting available fonts, writing to config/type-windows.xml...Warning: Ignored
28
+ file c:/winnt/fonts/micross.ttf, exception occurred.
29
+ Warning: Ignored file c:/winnt/fonts/MICN__DB.TTF, exception occurred.
30
+ [...]
31
+ Warning: Ignored file c:/winnt/fonts/21205___.TTF, exception occurred.
32
+ ok.
33
+ setting MAGICK_CONFIGURE_PATH to 'E:/ruby/lib/ruby/gems/1.8/gems/RMagick-win32-1
34
+ .9.2-mswin32/config'.
35
+ setting is only for current user.
36
+ Copying 5 dlls to E:/ruby/bin...done.
37
+ all done.
38
+ <<
39
+
40
+ Installation on Linux is most easy if you run a Debian flavoured Linux: Simply
41
+ download and install the Debian package.
42
+
43
+
44
+ *** NConvert
45
+
46
+ Homepage: http://perso.wanadoo.fr/pierre.g/xnview/en_nconvert.html
47
+
48
+ Installation on Windows:
49
+
50
+ Copy nconvert.exe into a directory of your choice which is part of the PATH variable, e. g
51
+ into C:\ruby\bin.
52
+
53
+ For Linux there are RPM packages availiable.
data/web/INSTALL.txt ADDED
@@ -0,0 +1,74 @@
1
+ ------------------
2
+ Piggy Installation
3
+ ------------------
4
+
5
+ Installation depends on operation system and ruby version.
6
+
7
+ Intallation includes the following applications
8
+ - piggy
9
+ - directory_diff
10
+ - ftp_browser
11
+
12
+ ------------------
13
+ Windows NT/2000/XP
14
+ ------------------
15
+
16
+ You might be using the Ruby Windows Installer, so you
17
+ probably have FXRuby and most of the other required libraries
18
+ installed on your system.
19
+
20
+ Continue with the gem installation.
21
+
22
+ ------------
23
+ Debian Linux
24
+ ------------
25
+
26
+ Use any package manager you like (apt, aptitude, kpackage,...)
27
+ to install the following debian packages:
28
+
29
+ libruby
30
+ libyaml-ruby
31
+ libzlib-ruby
32
+ rdoc
33
+
34
+ Install FXRuby.
35
+
36
+ There is a gem availiable but I recommend that you use a debian package
37
+ instead. You'll have to add the following lines to the sources.list:
38
+
39
+ >>
40
+ # FreeRIDE
41
+ deb http://freeride.rubyforge.org/debian/ deb/
42
+ deb-src http://freeride.rubyforge.org/debian/ src/
43
+ <<
44
+
45
+ (You may do this via the graphical user interface provided by kpackage.
46
+ Don't forget to update the apt package list afterwards.)
47
+
48
+ Continue with the gem installation.
49
+
50
+ ----------------
51
+ Gem installation
52
+ ----------------
53
+
54
+ It's quite obvious that you'll need RubyGems to be installed
55
+ for this. It is packaged with actual windows installer versions.
56
+ On other systems you'll have to download and install it yourself
57
+ but installation is pretty easy, RubyGems comes with an install.rb
58
+ script.
59
+
60
+ You can now install piggy with the gem install command
61
+
62
+ gem install Piggy-x.x.x.x.gem
63
+
64
+ where x.x.x.x is a
65
+ placeholder for the downloaded version of Piggy.
66
+
67
+ (Note that for now the gem command won't check if
68
+ FXRuby is installed on your system.)
69
+
70
+ Gem installation might fail if you don't have the rights
71
+ to write the gem directories. You'll need to become root/admin
72
+ to get rid of these errors.
73
+
74
+
data/web/extern.gif ADDED
Binary file
Binary file
data/web/index-de.html ADDED
@@ -0,0 +1,60 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <title>Piggy</title>
5
+ <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
6
+ <meta name="author" content="Sascha Doerdelmann">
7
+ <link rel="stylesheet" type="text/css" href="style.css">
8
+ </head>
9
+ <body>
10
+ <h1>Piggy</h1>
11
+ <div class="languages"><a href="index.html">englisch (english)</a>
12
+ </div>
13
+ <div class="content">
14
+ <p>Am Anfang habe ich die Bildseiten h&auml;ndisch mit Hilfe von <a
15
+ class="extern" href="http://perso.wanadoo.fr/pierre.g/" title="XNview">XNview</a>
16
+ und einiger selbstgestrickter Unix-Scripte erstellt. Inzwischen habe ich
17
+ mir ein kleines Ruby-Programm geschrieben. Dies erm&ouml;glicht eine
18
+ komfortable Bildauswahl, generiert die Seiten auf Knopfdruck und hat
19
+ einen rudiment&auml;ren FTP-Browser f&uuml;r das Hochladen in's Netz integriert.</p>
20
+ <p>Im Bildbetrachter k&ouml;nnen Bilder angesehen und ausgew&auml;hlt werden.
21
+ Die jeweils angeklickte Bilddatei ist im Mittelteil des Fensters zu
22
+ sehen. Jetzt kann man entscheiden, ob es im Album enthalten sein soll:
23
+ <ul>
24
+ <li>Beim Wechsel in ein anderes Verzeichnis wird die aktuelle
25
+ Auswahl verworfen und durch die Bilddateien im neu gew&auml;hlten Verzeichns
26
+ ersetzt.</li>
27
+ <li>&Uuml;ber die Schaltfl&auml;che &quot;-&quot; lassen sich Bilder aus dem
28
+ Album l&ouml;schen. Dabei wird nicht das Bild selbst gel&ouml;scht.</li>
29
+ <li>Analog f&uuml;gt man &uuml;ber die Schaltfl&auml;che &quot;+&quot; das
30
+ aktuelle Bild dem Album zu.</li>
31
+ </ul>
32
+ <p>Man kann &uuml;ber Pfeiltasten durch die gew&auml;hlten Bilder bl&auml;ttern, um
33
+ sicher zu gehen, dass das Album nur Bilder enth&auml;lt, die man wirklich
34
+ ver&ouml;ffentlichen m&ouml;chte. Es gibt auch eine Vorschau. Diese l&auml;sst sich
35
+ &uuml;ber den Optionen-Dialog aktivieren. Die Vorschau verlangsamt allerdings
36
+ Verzeichniswechsel deutlich.</p>
37
+ <p>Das jeweils aktuelle Bilde kann gedreht und unter neuem Namen
38
+ gespeichert werden. Beim Drehen verringert sich etwas die Bildqualit&auml;t,
39
+ man sollte also das Original aufbewahren.</p>
40
+ <p>Um das so vorbereitete Album zu erzeugen klickt man auf die
41
+ Schaltfl&auml;che &quot;HTML&quot;. Es &ouml;ffnet sich ein Eingabefenster. Dort
42
+ w&auml;hlt man einen Seitentitel und den Namen f&uuml;r ein noch nicht
43
+ vorhandenes(!), unter C:\temp\bild zu erstellendes Unterverzeichnis.
44
+ Nach dem &quot;Accept&quot; werden die ausgew&auml;hlten Bilder kopiert,
45
+ verkleinert und evtl. in einen anderen Dateityp konvertiert oder
46
+ nachgesch&auml;rft. Index, Frameseite und Bilder&uuml;bersicht werden neu
47
+ erstellt, die Navigationsseite aktualisiert.</p>
48
+ <ul>
49
+ <li>Screenshots: <a href="piggy.png">piggy</a>, <a
50
+ href="ftp-browser.png">ftp-browser</a></li>
51
+ <li><a href="INSTALL.txt">Installationsanweisung (englisch)</a></li>
52
+ <li><a class="extern"
53
+ href="http://www.gnu.de/documents/gpl.de.html">Lizenz (GPL)</a></li>
54
+ <li>Download, Newsfeed, Bugtracker und mehr:
55
+ <a href="http://rubyforge.org/projects/piggy/">Rubyforge: Piggy</a></li>
56
+ <li><a href="http://sourceforge.net/projects/piggy/">&Auml;ltere Versionen</a></li>
57
+ </ul>
58
+ </div>
59
+ </body>
60
+ </html>
data/web/index.html ADDED
@@ -0,0 +1,57 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
2
+ <html>
3
+ <head>
4
+ <title>Piggy</title>
5
+ <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
6
+ <meta name="author" content="Sascha Doerdelmann">
7
+ <link href="style.css" rel="stylesheet" type="text/css">
8
+ </head>
9
+ <body>
10
+ <h1>Piggy</h1>
11
+ <div class="languages"><a href="index-de.html">german
12
+ (deutsch)</a></div>
13
+ <div class="content">
14
+ <p>In the beginning I created internet picture albums step by step
15
+ using <a class="extern" href="http://perso.wanadoo.fr/pierre.g/"
16
+ title="XNview">XNview</a> and some quick and dirty Unix
17
+ scripts.Meanwhile I wrote a little Ruby program. This allows a
18
+ comfortable selection of pictures, generates web pages and includes a
19
+ very basic FTP browser which can be used to upload the album to the
20
+ webspace of your choice.</p>
21
+ <p>The main view of the application is a kind of image viewer.
22
+ Select an image file and it will be shown in the middle frame of the
23
+ application. You may decide if you want this image to be included in the
24
+ internet picture album:
25
+ <ul>
26
+ <li>Changing the directory will clear the list of chosen images
27
+ and choose all image files found in the actual folder.</li>
28
+ <li>Remove images with the button &quot;-&quot;.</li>
29
+ <li>Add images with the button &quot;+&quot;.</li>
30
+ </ul>
31
+ <p>Step through the chosen images with the next and previous buttons
32
+ to be sure that only images you really want to publish are chosen. You
33
+ can also enable a preview table on the right side but image loading into
34
+ the preview will slow down directory changes.</p>
35
+ <p>You may rotate the currently shown image and then save it under a
36
+ new name. Rotation will introduce a loss in quality which is acceptable
37
+ for the internet picture album but please, keep the original image.</p>
38
+ <p>Html-generation is done by clicking the generation button. You'll
39
+ be prompted for page title, destination path and a name for a
40
+ subdirectory. Piggy will create two resized copies of every preselected
41
+ image into the subdirectory of the destination and html-pages to show
42
+ them.</p>
43
+ <ul>
44
+ <li>Screenshots: <a href="piggy.png">piggy</a>, <a
45
+ href="ftp-browser.png">ftp-browser</a></li>
46
+ <li><a href="INSTALL.txt">How to install</a></li>
47
+ <li><a class="extern" href="http://www.gnu.org/licenses/gpl.html">Licence
48
+ (GPL)</a></li>
49
+ <li>Download, Newsfeed, Bugtracker and more:
50
+ <a href="http://rubyforge.org/projects/piggy/">Rubyforge: Piggy</a></li>
51
+ <li><a href="http://sourceforge.net/projects/piggy/">Older releases</a></li>
52
+ <li><a href="IMAGE_PROCESSING.txt">Further notes on image
53
+ processing tools</a></li>
54
+ </ul>
55
+ </div>
56
+ </body>
57
+ </html>
data/web/piggy.png ADDED
Binary file
data/web/style.css ADDED
@@ -0,0 +1,14 @@
1
+ body{
2
+ background:aliceblue
3
+ }
4
+
5
+ .extern{
6
+ background:transparent url(extern.gif) no-repeat center left;
7
+ padding-left:12px;
8
+ }
9
+
10
+ .languages{
11
+ position:absolute;
12
+ top:10px;
13
+ right:10px;
14
+ }