Piggy 0.4.2.2
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.
- 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
|