Piggy 0.4.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES.txt +91 -0
- data/INSTALL.txt +77 -0
- data/LICENCE.txt +339 -0
- data/README.txt +27 -0
- data/UNINSTALL.txt +24 -0
- data/bin/directory_diff +6 -0
- data/bin/ftp_browser +6 -0
- data/bin/piggy +6 -0
- data/lib/directory_diff.rb +35 -0
- data/lib/ftp_browser.rb +33 -0
- data/lib/icons/auto-select-for-del.ico +0 -0
- data/lib/icons/auto-select-right.ico +0 -0
- data/lib/icons/auto-upload-right.ico +0 -0
- data/lib/icons/back.ico +0 -0
- data/lib/icons/checked.ico +0 -0
- data/lib/icons/copy.png +0 -0
- data/lib/icons/cut.png +0 -0
- data/lib/icons/dir.ico +0 -0
- data/lib/icons/dirup.ico +0 -0
- data/lib/icons/file.ico +0 -0
- data/lib/icons/fileopen.png +0 -0
- data/lib/icons/filesave.ico +0 -0
- data/lib/icons/gallery.ico +0 -0
- data/lib/icons/generate.ico +0 -0
- data/lib/icons/minus.png +0 -0
- data/lib/icons/move-right-dir.ico +0 -0
- data/lib/icons/move-right-file.ico +0 -0
- data/lib/icons/newer-file.ico +0 -0
- data/lib/icons/next-image.ico +0 -0
- data/lib/icons/paste.png +0 -0
- data/lib/icons/plus.png +0 -0
- data/lib/icons/preview.png +0 -0
- data/lib/icons/previous-image.ico +0 -0
- data/lib/icons/reload.ico +0 -0
- data/lib/icons/remove-selected.ico +0 -0
- data/lib/icons/rotate.ico +0 -0
- data/lib/icons/slides.ico +0 -0
- data/lib/icons/stop-slides.ico +0 -0
- data/lib/icons/unchecked-dir.ico +0 -0
- data/lib/icons/unchecked.ico +0 -0
- data/lib/icons/upload-selected.ico +0 -0
- data/lib/icons/upload.ico +0 -0
- data/lib/piggy-core/alive_check.rb +44 -0
- data/lib/piggy-core/debug.rb +21 -0
- data/lib/piggy-core/encoding.rb +11 -0
- data/lib/piggy-core/environment.rb +66 -0
- data/lib/piggy-core/exifr_adapter.rb +85 -0
- data/lib/piggy-core/file_info.rb +218 -0
- data/lib/piggy-core/ftp_adapter.rb +106 -0
- data/lib/piggy-core/htmlgen.rb +242 -0
- data/lib/piggy-core/nconvert_thumbsgen.rb +73 -0
- data/lib/piggy-core/options.rb +116 -0
- data/lib/piggy-core/options_persistence.rb +54 -0
- data/lib/piggy-core/progress.rb +48 -0
- data/lib/piggy-core/rmagick_thumbnail_page_generator.rb +30 -0
- data/lib/piggy-core/thumbnail_generator.rb +79 -0
- data/lib/piggy-core/thumbnail_page_generator.rb +542 -0
- data/lib/piggy-core/upload_info.rb +41 -0
- data/lib/piggy-core/version.rb +18 -0
- data/lib/piggy-core/winshell.rb +240 -0
- data/lib/piggy-gui/directory_diff_widget.rb +398 -0
- data/lib/piggy-gui/filtered_file_list.rb +243 -0
- data/lib/piggy-gui/fox_thumbsgen.rb +18 -0
- data/lib/piggy-gui/ftp_browser_widget.rb +395 -0
- data/lib/piggy-gui/html_generation_dialog.rb +157 -0
- data/lib/piggy-gui/image_processor.rb +140 -0
- data/lib/piggy-gui/multiimagecanvas.rb +163 -0
- data/lib/piggy-gui/options_dialog.rb +85 -0
- data/lib/piggy-gui/piggy_image_browser.rb +776 -0
- data/lib/piggy-gui/pipe_log.rb +67 -0
- data/lib/piggy-gui/progress_with_dialog.rb +51 -0
- data/lib/piggy-gui/require-fox.rb +87 -0
- data/lib/piggy.rb +35 -0
- data/lib/templates/fuss.htm +10 -0
- data/lib/templates/kopf.htm +13 -0
- data/lib/templates/navigation.htm +11 -0
- data/lib/templates/slideshow.htm +129 -0
- data/lib/templates/slideshow.js +691 -0
- data/lib/templates/styles/basic/style.css +27 -0
- data/lib/templates/styles/black/style.css +64 -0
- data/lib/templates/styles/roundedbox/roundedbox_lo.gif +0 -0
- data/lib/templates/styles/roundedbox/roundedbox_lu.gif +0 -0
- data/lib/templates/styles/roundedbox/roundedbox_ro.gif +0 -0
- data/lib/templates/styles/roundedbox/roundedbox_ru.gif +0 -0
- data/lib/templates/styles/roundedbox/style.css +70 -0
- data/lib/templates/styles/shadow/lo.gif +0 -0
- data/lib/templates/styles/shadow/lu.gif +0 -0
- data/lib/templates/styles/shadow/ro.gif +0 -0
- data/lib/templates/styles/shadow/ru.gif +0 -0
- data/lib/templates/styles/shadow/style.css +63 -0
- data/test/file_info_test.rb +117 -0
- data/test.rb +8 -0
- data/web/IMAGE_PROCESSING.txt +53 -0
- data/web/INSTALL.txt +74 -0
- data/web/extern.gif +0 -0
- data/web/ftp-browser.png +0 -0
- data/web/index-de.html +60 -0
- data/web/index.html +57 -0
- data/web/piggy.png +0 -0
- data/web/style.css +14 -0
- 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
|
+
}
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -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,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
|
data/web/ftp-browser.png
ADDED
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ä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öglicht eine
|
18
|
+
komfortable Bildauswahl, generiert die Seiten auf Knopfdruck und hat
|
19
|
+
einen rudimentären FTP-Browser für das Hochladen in's Netz integriert.</p>
|
20
|
+
<p>Im Bildbetrachter können Bilder angesehen und ausgewä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ählten Verzeichns
|
26
|
+
ersetzt.</li>
|
27
|
+
<li>Über die Schaltfläche "-" lassen sich Bilder aus dem
|
28
|
+
Album löschen. Dabei wird nicht das Bild selbst gelöscht.</li>
|
29
|
+
<li>Analog fügt man über die Schaltfläche "+" das
|
30
|
+
aktuelle Bild dem Album zu.</li>
|
31
|
+
</ul>
|
32
|
+
<p>Man kann über Pfeiltasten durch die gewählten Bilder blättern, um
|
33
|
+
sicher zu gehen, dass das Album nur Bilder enthält, die man wirklich
|
34
|
+
veröffentlichen möchte. Es gibt auch eine Vorschau. Diese lässt sich
|
35
|
+
ü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ät,
|
39
|
+
man sollte also das Original aufbewahren.</p>
|
40
|
+
<p>Um das so vorbereitete Album zu erzeugen klickt man auf die
|
41
|
+
Schaltfläche "HTML". Es öffnet sich ein Eingabefenster. Dort
|
42
|
+
wählt man einen Seitentitel und den Namen für ein noch nicht
|
43
|
+
vorhandenes(!), unter C:\temp\bild zu erstellendes Unterverzeichnis.
|
44
|
+
Nach dem "Accept" werden die ausgewählten Bilder kopiert,
|
45
|
+
verkleinert und evtl. in einen anderen Dateityp konvertiert oder
|
46
|
+
nachgeschärft. Index, Frameseite und Bilderü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/">Ä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 "-".</li>
|
29
|
+
<li>Add images with the button "+".</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
|