Graphiclious 0.1.0 → 0.1.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.
- data/README.txt +1 -0
- data/doc/extern.gif +0 -0
- data/doc/index.html +42 -9
- data/doc/screenshots/original/{cornflower.html → 01-blue-style-1.html} +5 -5
- data/doc/screenshots/original/{blue-style-1.jpg → 01-blue-style-1.jpg} +0 -0
- data/doc/screenshots/original/{blue-style-1.html → 02-cornflower.html} +5 -5
- data/doc/screenshots/original/{cornflower.jpg → 02-cornflower.jpg} +0 -0
- data/doc/screenshots/original/{sample-graph.html → 03-sample-graph.html} +5 -5
- data/doc/screenshots/original/{sample-graph.jpg → 03-sample-graph.jpg} +0 -0
- data/doc/screenshots/original/04-basic-style-js.html +37 -0
- data/doc/screenshots/original/04-basic-style-js.jpg +0 -0
- data/doc/screenshots/original/05-custom-style.html +37 -0
- data/doc/screenshots/original/05-custom-style.jpg +0 -0
- data/doc/screenshots/original/06-custom-style-js.html +37 -0
- data/doc/screenshots/original/06-custom-style-js.jpg +0 -0
- data/doc/screenshots/original/07-user-interface.html +37 -0
- data/doc/screenshots/original/07-user-interface.jpg +0 -0
- data/doc/screenshots/original/{custom-style.html → 08-ftp-upload.html} +5 -5
- data/doc/screenshots/original/08-ftp-upload.jpg +0 -0
- data/doc/screenshots/thumb.html +22 -10
- data/doc/screenshots/thumb/{t_blue-style-1.jpg → t_01-blue-style-1.jpg} +0 -0
- data/doc/screenshots/thumb/{t_cornflower.jpg → t_02-cornflower.jpg} +0 -0
- data/doc/screenshots/thumb/{t_sample-graph.jpg → t_03-sample-graph.jpg} +0 -0
- data/doc/screenshots/thumb/t_04-basic-style-js.jpg +0 -0
- data/doc/screenshots/thumb/t_05-custom-style.jpg +0 -0
- data/doc/screenshots/thumb/t_06-custom-style-js.jpg +0 -0
- data/doc/screenshots/thumb/t_07-user-interface.jpg +0 -0
- data/doc/screenshots/thumb/t_08-ftp-upload.jpg +0 -0
- data/doc/style.css +7 -4
- data/javascript/cloud.js +236 -0
- data/javascript/index.htm +24 -0
- data/javascript/link.js +25 -0
- data/javascript/style.css +52 -0
- data/lib/graphiclious.rb +6 -1
- data/lib/graphiclious/delicious2yaml.rb +75 -16
- data/lib/graphiclious/environment.rb +14 -1
- data/lib/graphiclious/ftp_browser.rb +53 -0
- data/lib/graphiclious/gui.rb +78 -24
- data/lib/graphiclious/help.rb +1 -0
- data/lib/graphiclious/version.rb +1 -1
- data/lib/graphiclious/yaml-links2html.rb +79 -64
- data/lib/graphiclious/yaml-links2js.rb +159 -0
- metadata +36 -19
- data/doc/screenshots/original/custom-style.jpg +0 -0
- data/doc/screenshots/original/user-interface.html +0 -37
- data/doc/screenshots/original/user-interface.jpg +0 -0
- data/doc/screenshots/thumb/t_custom-style.jpg +0 -0
- data/doc/screenshots/thumb/t_user-interface.jpg +0 -0
@@ -0,0 +1,159 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#$Id: yaml-links2js.rb,v 1.20 2006/03/09 22:57:52 wsdng Exp $
|
3
|
+
|
4
|
+
require 'yaml'
|
5
|
+
require 'ftools'
|
6
|
+
require 'graphiclious/environment'
|
7
|
+
require 'graphiclious/url_graph'
|
8
|
+
|
9
|
+
class YamlLinksToJavascript
|
10
|
+
attr_accessor(:write_only_diff_tags, :include_private)
|
11
|
+
|
12
|
+
# differs from working dir in YamlLinksToHtml
|
13
|
+
# because we do not need to know the user
|
14
|
+
def set_working_dir(new_working_dir)
|
15
|
+
@working_dir = new_working_dir
|
16
|
+
@input_file = File.join(@working_dir, 'delicious.yaml')
|
17
|
+
@diff_file = File.join(@working_dir, 'delicious.diff.yaml')
|
18
|
+
@js_output_path = File.join(@working_dir, 'js')
|
19
|
+
end
|
20
|
+
|
21
|
+
def initialize
|
22
|
+
@include_private = false
|
23
|
+
@write_only_diff_tags = true
|
24
|
+
@diff_tags = Set.new
|
25
|
+
set_working_dir(Dir.getwd)
|
26
|
+
end
|
27
|
+
|
28
|
+
def set_protocol_block(aProc)
|
29
|
+
@protocol_block = aProc
|
30
|
+
end
|
31
|
+
|
32
|
+
def write_line_on_protokol(lineString)
|
33
|
+
puts lineString
|
34
|
+
unless @protocol_block.nil?
|
35
|
+
@protocol_block.call(lineString)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
# copy graphiclious javascripts to working dir
|
40
|
+
def copy_scripts
|
41
|
+
['*.js', '*.htm', '*.css'].each do
|
42
|
+
|pattern|
|
43
|
+
Dir[File.join(JS_TEMPLATES_FOLDER, pattern)].each do
|
44
|
+
|template_file|
|
45
|
+
write_line_on_protokol("Copy #{template_file}")
|
46
|
+
File.copy(template_file, @js_output_path)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
# methods for js-generation
|
52
|
+
|
53
|
+
def write_js_head_on(fp)
|
54
|
+
fp.puts '/*---javascript generated by graphiclious/yaml-links2js.rb---*/'
|
55
|
+
fp.puts
|
56
|
+
fp.puts 'var links = new Array();'
|
57
|
+
fp.puts
|
58
|
+
end
|
59
|
+
|
60
|
+
def write_link_on(link, fp, skip_tags = [])
|
61
|
+
fp.puts "links.push(new Link("
|
62
|
+
fp.puts "\t'#{link['href']}',"
|
63
|
+
other_tags = link['tags'].reject { |t| skip_tags.include?(t) }
|
64
|
+
fp.puts "\tnew Array(" + other_tags.collect{|t| "'#{t}'"}.join(", ") + "),"
|
65
|
+
desc = link['description'].gsub(/'/, "\\'")
|
66
|
+
fp.puts "\t'#{desc}'));"
|
67
|
+
end
|
68
|
+
|
69
|
+
def load_links
|
70
|
+
if(@write_only_diff_tags)
|
71
|
+
@diff_tags = Set.new
|
72
|
+
diff = File.open(@diff_file, 'r') { |io| YAML.load(io) }
|
73
|
+
diff.keys.each { |k|
|
74
|
+
diff[k]['tags'].each {|t| @diff_tags.add(t) }
|
75
|
+
}
|
76
|
+
end
|
77
|
+
|
78
|
+
# load yaml-file containing links as a hash
|
79
|
+
cache = File.open(@input_file, 'r') { |io|
|
80
|
+
YAML.load(io)
|
81
|
+
}
|
82
|
+
links = cache.values
|
83
|
+
unless(@include_private)
|
84
|
+
links = links.reject { |l| l['shared'] =~ /no/ }
|
85
|
+
end
|
86
|
+
|
87
|
+
@links_by_tag = Hash.new
|
88
|
+
links.each do
|
89
|
+
|link|
|
90
|
+
tagsOfLink = link['tags'].reject { |t| t =~ /^for:/ }
|
91
|
+
link['tags'] = tagsOfLink
|
92
|
+
n = tagsOfLink.size - 1
|
93
|
+
(0..n).each do
|
94
|
+
|i|
|
95
|
+
tag = tagsOfLink[i]
|
96
|
+
unless @links_by_tag.has_key?(tag)
|
97
|
+
@links_by_tag[tag] = Array.new
|
98
|
+
end
|
99
|
+
@links_by_tag[tag].push(link)
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
@links_by_tag.keys.each { |tag|
|
104
|
+
@links_by_tag[tag] = @links_by_tag[tag].sort { |l1, l2|
|
105
|
+
l1['description'] <=> l2['description']
|
106
|
+
}
|
107
|
+
}
|
108
|
+
links
|
109
|
+
end
|
110
|
+
|
111
|
+
def fatal(msg)
|
112
|
+
write_line_on_protokol(msg)
|
113
|
+
exit(1)
|
114
|
+
end
|
115
|
+
|
116
|
+
# Create one Javascript-File for each tag
|
117
|
+
def write_single_tag_files
|
118
|
+
@links_by_tag.keys.each do
|
119
|
+
|tag|
|
120
|
+
if !@write_only_diff_tags or @diff_tags.include?(tag)
|
121
|
+
File.open(File.join(@js_output_path, "#{UrlGraph.tag2file(tag)}.js"), 'w') do
|
122
|
+
|fp|
|
123
|
+
write_js_head_on(fp)
|
124
|
+
@links_by_tag[tag].each { |link|
|
125
|
+
write_link_on(link, fp, [tag])
|
126
|
+
}
|
127
|
+
end
|
128
|
+
end
|
129
|
+
end
|
130
|
+
write_line_on_protokol "Wrote one js-file for each tag to directory #{@js_output_path}."
|
131
|
+
end
|
132
|
+
|
133
|
+
def write_all_links_file links
|
134
|
+
File.open(File.join(@js_output_path, "_all.js"), 'w') do
|
135
|
+
|fp|
|
136
|
+
write_js_head_on(fp)
|
137
|
+
links.each { |link|
|
138
|
+
write_link_on(link, fp, [])
|
139
|
+
}
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
# run the complete batch
|
144
|
+
def run
|
145
|
+
unless File.exists?(@input_file)
|
146
|
+
raise "Missing input file #{@input_file}"
|
147
|
+
end
|
148
|
+
Dir.mkdir(@js_output_path) unless File.directory?(@js_output_path)
|
149
|
+
copy_scripts
|
150
|
+
links = load_links
|
151
|
+
write_all_links_file links
|
152
|
+
# write_single_tag_files
|
153
|
+
write_line_on_protokol "Finished."
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
if $0 == __FILE__
|
158
|
+
YamlLinksToJavascript.new.run
|
159
|
+
end
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: Graphiclious
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.1.
|
7
|
-
date: 2006-
|
6
|
+
version: 0.1.1
|
7
|
+
date: 2006-08-25 00:00:00 +02:00
|
8
8
|
summary: Create an html image map pointing to generated static html pages from your del.icio.us links. Uses Rubilicious and Graphviz. Interface done with FXRuby
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -39,6 +39,7 @@ files:
|
|
39
39
|
- wickie
|
40
40
|
- test
|
41
41
|
- Rakefile
|
42
|
+
- javascript
|
42
43
|
- styles/cornflower
|
43
44
|
- styles/blue-style-1
|
44
45
|
- styles/cornflower/cornflower.png
|
@@ -64,31 +65,47 @@ files:
|
|
64
65
|
- lib/graphiclious/yaml-links2html.rb
|
65
66
|
- lib/graphiclious/gui.rb
|
66
67
|
- lib/graphiclious/environment.rb
|
68
|
+
- lib/graphiclious/ftp_browser.rb
|
69
|
+
- lib/graphiclious/yaml-links2js.rb
|
67
70
|
- doc/screenshots
|
68
71
|
- doc/index.html
|
69
72
|
- doc/style.css
|
70
73
|
- doc/cloud.jpg
|
71
|
-
- doc/
|
72
|
-
- doc/screenshots/thumb.html
|
74
|
+
- doc/extern.gif
|
73
75
|
- doc/screenshots/original
|
74
76
|
- doc/screenshots/thumb
|
75
|
-
- doc/screenshots/
|
76
|
-
- doc/screenshots/
|
77
|
-
- doc/screenshots/original/
|
78
|
-
- doc/screenshots/original/cornflower.jpg
|
79
|
-
- doc/screenshots/original/
|
80
|
-
- doc/screenshots/original/
|
81
|
-
- doc/screenshots/original/
|
82
|
-
- doc/screenshots/original/
|
83
|
-
- doc/screenshots/original/user-interface.
|
84
|
-
- doc/screenshots/original/
|
85
|
-
- doc/screenshots/
|
86
|
-
- doc/screenshots/
|
87
|
-
- doc/screenshots/
|
88
|
-
- doc/screenshots/
|
89
|
-
- doc/screenshots/
|
77
|
+
- doc/screenshots/thumb.html
|
78
|
+
- doc/screenshots/default.css
|
79
|
+
- doc/screenshots/original/01-blue-style-1.jpg
|
80
|
+
- doc/screenshots/original/02-cornflower.jpg
|
81
|
+
- doc/screenshots/original/03-sample-graph.jpg
|
82
|
+
- doc/screenshots/original/04-basic-style-js.jpg
|
83
|
+
- doc/screenshots/original/05-custom-style.jpg
|
84
|
+
- doc/screenshots/original/06-custom-style-js.jpg
|
85
|
+
- doc/screenshots/original/07-user-interface.jpg
|
86
|
+
- doc/screenshots/original/08-ftp-upload.jpg
|
87
|
+
- doc/screenshots/original/01-blue-style-1.html
|
88
|
+
- doc/screenshots/original/02-cornflower.html
|
89
|
+
- doc/screenshots/original/03-sample-graph.html
|
90
|
+
- doc/screenshots/original/04-basic-style-js.html
|
91
|
+
- doc/screenshots/original/05-custom-style.html
|
92
|
+
- doc/screenshots/original/06-custom-style-js.html
|
93
|
+
- doc/screenshots/original/07-user-interface.html
|
94
|
+
- doc/screenshots/original/08-ftp-upload.html
|
95
|
+
- doc/screenshots/thumb/t_01-blue-style-1.jpg
|
96
|
+
- doc/screenshots/thumb/t_02-cornflower.jpg
|
97
|
+
- doc/screenshots/thumb/t_03-sample-graph.jpg
|
98
|
+
- doc/screenshots/thumb/t_04-basic-style-js.jpg
|
99
|
+
- doc/screenshots/thumb/t_05-custom-style.jpg
|
100
|
+
- doc/screenshots/thumb/t_06-custom-style-js.jpg
|
101
|
+
- doc/screenshots/thumb/t_07-user-interface.jpg
|
102
|
+
- doc/screenshots/thumb/t_08-ftp-upload.jpg
|
90
103
|
- bin/graphiclious
|
91
104
|
- test/test_delicious2yaml.rb
|
105
|
+
- javascript/style.css
|
106
|
+
- javascript/link.js
|
107
|
+
- javascript/cloud.js
|
108
|
+
- javascript/index.htm
|
92
109
|
test_files: []
|
93
110
|
rdoc_options: []
|
94
111
|
extra_rdoc_files: []
|
Binary file
|
@@ -1,37 +0,0 @@
|
|
1
|
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
2
|
-
"http://www.w3.org/TR/html4/strict.dtd">
|
3
|
-
<html>
|
4
|
-
<head>
|
5
|
-
<meta name="GENERATOR" content="XnView">
|
6
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
7
|
-
<meta http-equiv="Content-Language" content="en-us">
|
8
|
-
<title>Graphiclious screenshots</title>
|
9
|
-
<link rel="stylesheet" type="text/css" href="../default.css">
|
10
|
-
<style type="text/css">
|
11
|
-
table, td {
|
12
|
-
border: none;
|
13
|
-
background-color: #ffffff;
|
14
|
-
}
|
15
|
-
</style>
|
16
|
-
</head>
|
17
|
-
<body>
|
18
|
-
<H1>Graphiclious - user-interface.jpg</H1>
|
19
|
-
<p>
|
20
|
-
<a href="sample-graph.html">Previous</a> |
|
21
|
-
<a href="blue-style-1.html">Next</a> |
|
22
|
-
<a href="../thumb.html">Thumbnails</a>
|
23
|
-
</p>
|
24
|
-
<table cellpadding="2" cellspacing="5">
|
25
|
-
<tr>
|
26
|
-
<td><img src="user-interface.jpg" alt="user-interface.jpg" width="348" height="427"></td>
|
27
|
-
</tr>
|
28
|
-
<tr>
|
29
|
-
<td>user-interface</td>
|
30
|
-
</tr>
|
31
|
-
<tr>
|
32
|
-
<td><p><i>This page was generated by <a href="http://www.xnview.com">XnView</a></i></p></td>
|
33
|
-
</tr>
|
34
|
-
</table>
|
35
|
-
</body>
|
36
|
-
</html>
|
37
|
-
|
Binary file
|
Binary file
|
Binary file
|