Graphiclious 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES.txt CHANGED
@@ -1,3 +1,5 @@
1
+ Changes in 0.1.3
2
+ - Javascript changes urls
1
3
  Changes in 0.1.2
2
4
  - Support FXRuby 1.6 (or: 1.4, 1.2)
3
5
  - Support Rubilicious 0.2 (or: 1.5.0)
data/doc/install.html CHANGED
@@ -5,7 +5,7 @@
5
5
  <meta name="author" content="Sascha D�rdelmann">
6
6
  <meta name="generator" content="Ulli Meybohms HTML EDITOR">
7
7
  <meta name="keywords" lang="en"
8
- content="Graphiclious,del.icio.us,static webpage generator">
8
+ content="Graphiclious,del.icio.us,static webpage generator">
9
9
  <link rel="stylesheet" type="text/css" href="style.css">
10
10
  <title>Graphiclious Installation</title>
11
11
  </head>
@@ -13,26 +13,26 @@
13
13
  <h1>Graphiclious Installation</h1>
14
14
  <div class="main">
15
15
  <ul class="menu">
16
- <li class="menuitem"><a href="index.html">Homepage</a></li>
17
- <li class="menuitem"><a href="screenshots/thumb.html">Screenshots</a></li>
18
- <li class="menuselected">Installation</li>
19
- <li class="menuitem"><a href="help.html">Documentation</a></li>
16
+ <li class="menuitem"><a href="index.html">Homepage</a></li>
17
+ <li class="menuitem"><a href="screenshots/thumb.html">Screenshots</a></li>
18
+ <li class="menuselected">Installation</li>
19
+ <li class="menuitem"><a href="help.html">Documentation</a></li>
20
20
  </ul>
21
21
  <h2>Requirements &amp; Installation</h2>
22
22
  <p>Do you have an account at <a class="extern"
23
- href="http://del.icio.us/">del.icio.us</a>? If not, there is nothing,
23
+ href="http://del.icio.us/">del.icio.us</a>? If not, there is nothing,
24
24
  Graphiclious can do for you at current state of development. File a
25
25
  feature request or better: join the development team and add new
26
26
  features yourself.</p>
27
27
  <p>Graphiclious is written in the <a class="extern"
28
- href="http://www.ruby-lang.org/en/">Ruby programming language <a>
28
+ href="http://www.ruby-lang.org/en/">Ruby programming language <a>
29
29
  and needs the Ruby interpreter and <a class="extern"
30
- href="http://www.rubygems.org/">Rubygems</a> to be installed on your
30
+ href="http://www.rubygems.org/">Rubygems</a> to be installed on your
31
31
  computer. </p>
32
32
  <p>Graphiclious has a simple user interface that is written in <a
33
- class="extern" href="http://www.fxruby.org/">FXRuby</a>. On Windows,
33
+ class="extern" href="http://www.fxruby.org/">FXRuby</a>. On Windows,
34
34
  the <a class="extern"
35
- href="http://rubyforge.org/projects/rubyinstaller/">Ruby installer</a>
35
+ href="http://rubyforge.org/projects/rubyinstaller/">Ruby installer</a>
36
36
  has an option to install Rubygems and FXRuby for you, too.</p>
37
37
  <p>Once, Rubygems is installed, things become easy: Just run each of
38
38
  the following commands</p>
@@ -40,29 +40,29 @@ the following commands</p>
40
40
  gem install RGL<br>
41
41
  gem install Graphiclious</p>
42
42
  <p>on the commandline to install <a class="extern"
43
- href="http://pablotron.org/software/rubilicious/">Rubilicious</a>, <a
44
- class="extern" href="http://rubyforge.org/projects/rgl/">RGL</a> and
43
+ href="http://pablotron.org/software/rubilicious/">Rubilicious</a>, <a
44
+ class="extern" href="http://rubyforge.org/projects/rgl/">RGL</a> and
45
45
  Graphiclious. Choose Version 0.2.0 for Rubilicious and latest version of
46
46
  Stream, RGL and Graphiclious when asked.</p>
47
47
  <p>(Note: If your do not acess the internet directly but over a
48
48
  proxy server, please set up the proxy configuration as described in the
49
49
  <a class="extern"
50
- href="http://wiki.rubyonrails.com/rails/pages/GemRails">Ruby on
50
+ href="http://wiki.rubyonrails.com/rails/pages/GemRails">Ruby on
51
51
  Rails wiki</a>.)
52
52
  <p>
53
53
  <h2>Additional features</h2>
54
54
  <p>Some features require additional software.</p>
55
55
  <ul>
56
- <li>To generate html image maps showing tag relations you'll need
57
- <a class="extern" href="http://www.graphviz.org/">Graphviz</a>.</li>
58
- <li>To show thumbnail images of these maps in the generated web
59
- pages you'll need <a class="extern"
60
- href="http://rmagick.rubyforge.org/">RMagick</a>.</li>
61
- <li>To conveniently upload the generated web-pages to your
62
- homepage directly from the Graphiclious user interface you should try <a
63
- class="extern" href="http://sourceforge.net/projects/piggy/">Piggy
64
- ftp browser</a>.</li>
56
+ <li>To generate html image maps showing tag relations you'll need
57
+ <a class="extern" href="http://www.graphviz.org/">Graphviz</a>.</li>
58
+ <li>To show thumbnail images of these maps in the generated web
59
+ pages you'll need <a class="extern"
60
+ href="http://rmagick.rubyforge.org/">RMagick</a>.</li>
61
+ <li>To conveniently upload the generated web-pages to your
62
+ homepage directly from the Graphiclious user interface you should try <a
63
+ class="extern" href="http://sourceforge.net/projects/piggy/">Piggy
64
+ ftp browser</a>.</li>
65
65
  </ul>
66
66
  </div>
67
67
  </body>
68
- </html>
68
+ </html>
data/javascript/cloud.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // -*-javascript-*-
2
- // $Id: cloud.js 39 2007-01-27 13:36:53Z wsdng $
2
+ // $Id: cloud.js 42 2007-10-08 19:09:22Z wsdng $
3
3
  //
4
4
 
5
5
  // Cloud constructor computes everything we need
@@ -18,6 +18,8 @@ function Cloud(links, varname, content_id)
18
18
  this.filtered_links = new Array();
19
19
  this.num_filtered_links = 0;
20
20
  this.visible_links = new Array();
21
+ this.search="";
22
+ this.change_url = true;
21
23
 
22
24
  // init hashes
23
25
  for(var i in links)
@@ -59,6 +61,16 @@ new Cloud(new Array());
59
61
 
60
62
  Cloud.prototype.MAX_STYLES = 10;
61
63
 
64
+ // Unless you call this function after constructing the cloud object
65
+ // the url will change by changing the tag-filter. This default
66
+ // behaviour will make the back button of the browser work.
67
+ // Call only if you prefer it a little bit faster and don't care about the url.
68
+ function Cloud_dont_change_url()
69
+ {
70
+ this.change_url = false;
71
+ }
72
+ Cloud.prototype.dont_change_url = Cloud_dont_change_url;
73
+
62
74
  // We use a logarithmic scale to compute a fixed
63
75
  // number of styles depending on link counts
64
76
  function Cloud_downscale(val)
@@ -119,7 +131,11 @@ function Cloud_get_cloud_node()
119
131
  span.className = this.get_style(this.num_links_for_tag[tag]);
120
132
  var tag_node = document.createTextNode(tag);
121
133
  var ankor = document.createElement('a');
122
- ankor.href = 'javascript:' + this.varname + ".add_filter('" + tag + "')";
134
+ if(this.change_url){
135
+ ankor.href = "javascript:window.location.search='" + this.get_search_with(tag) + "'";
136
+ } else {
137
+ ankor.href = 'javascript:' + this.varname + ".add_filter('" + tag + "')";
138
+ }
123
139
  ankor.appendChild(tag_node);
124
140
  span.appendChild(ankor);
125
141
  div.appendChild(span);
@@ -147,7 +163,11 @@ function Cloud_get_filter_node()
147
163
  var span = document.createElement('span');
148
164
  var tag_node = document.createTextNode(tag);
149
165
  var ankor = document.createElement('a');
150
- ankor.href = 'javascript:' + this.varname + ".remove_filter('" + tag + "')";
166
+ if(this.change_url){
167
+ ankor.href = "javascript:window.location.search='" + this.get_search_without(tag) + "'";
168
+ } else {
169
+ ankor.href = 'javascript:' + this.varname + ".remove_filter('" + tag + "')";
170
+ }
151
171
  ankor.appendChild(tag_node);
152
172
  span.appendChild(ankor);
153
173
  div.appendChild(span);
@@ -203,7 +223,7 @@ function Cloud_subst()
203
223
  }
204
224
  var ul = document.createElement("ul");
205
225
  ul.className = 'link_list';
206
- list_to_show = list_to_show.sort(Link_compare_desc)
226
+ list_to_show = list_to_show.sort(Link_compare_desc)
207
227
  for(var l in list_to_show)
208
228
  {
209
229
  var link = list_to_show[l];
@@ -216,22 +236,77 @@ function Cloud_subst()
216
236
  }
217
237
  Cloud.prototype.subst = Cloud_subst;
218
238
 
219
- function Cloud_add_filter(tag)
239
+ function Cloud_get_search_with(tag)
220
240
  {
221
- if(this.filter[tag] == false){
241
+ var new_search = '';
242
+ if(this.num_filtered > 0){
243
+ new_search = this.search + "+" + tag;
244
+ } else {
245
+ new_search = tag;
246
+ }
247
+ return new_search;
248
+ }
249
+ Cloud.prototype.get_search_with = Cloud_get_search_with;
250
+
251
+ function Cloud_set_filtered(tag)
252
+ {
253
+ if(this.filter[tag] == false){
254
+ this.search = this.get_search_with(tag);
222
255
  this.num_filtered++;
223
256
  this.filter[tag] = true;
224
- }
225
- this.subst();
257
+ }
258
+ }
259
+ Cloud.prototype.set_filtered = Cloud_set_filtered;
260
+
261
+ function Cloud_add_filter(tag)
262
+ {
263
+ this.set_filtered(tag);
264
+ this.subst();
226
265
  }
227
266
  Cloud.prototype.add_filter = Cloud_add_filter;
228
267
 
268
+ function Cloud_get_search_without(tag)
269
+ {
270
+ var new_search = '';
271
+ var search_tags = this.search.split("+");
272
+ var first = true;
273
+ for(var i in search_tags){
274
+ if(search_tags[i] != tag){
275
+ if(first){
276
+ new_search = search_tags[i];
277
+ first = false;
278
+ } else {
279
+ new_search += "+" + search_tags[i];
280
+ }
281
+ }
282
+ }
283
+ return new_search;
284
+ }
285
+ Cloud.prototype.get_search_without = Cloud_get_search_without;
286
+
229
287
  function Cloud_remove_filter(tag)
230
288
  {
231
- if(this.filter[tag] == true){
289
+ if(this.filter[tag] == true){
290
+ this.search = this.get_search_without(tag);
232
291
  this.num_filtered--;
233
292
  this.filter[tag] = false;
234
- }
235
- this.subst();
293
+ }
294
+ this.subst();
295
+ }
296
+ Cloud.prototype.remove_filter = Cloud_remove_filter;
297
+
298
+ function Cloud_jump_to(location)
299
+ {
300
+ var location_params = location.search;
301
+ var argstr = location_params.substring(1, location_params.length);
302
+ var args = argstr.split('+');
303
+ for(var i = 0; i < args.length; i++){
304
+ var possible_tag = unescape(args[i])
305
+ this.set_filtered(possible_tag);
306
+ }
307
+ this.subst();
236
308
  }
237
- Cloud.prototype.remove_filter = Cloud_remove_filter;
309
+ Cloud.prototype.jump_to = Cloud_jump_to;
310
+
311
+
312
+
data/javascript/index.htm CHANGED
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <!-- $Id: index.htm 29 2006-08-25 14:41:24Z wsdng $ -->
2
+ <!-- $Id: index.htm 42 2007-10-08 19:09:22Z wsdng $ -->
3
3
  <html>
4
4
  <head>
5
5
  <link rel="stylesheet" type="text/css" href="style.css">
@@ -19,6 +19,7 @@
19
19
  <script>
20
20
  <!--
21
21
  cloud = new Cloud(links, 'cloud', 'content');
22
- cloud.subst(links);
22
+ //cloud.dont_change_url();
23
+ cloud.jump_to(document.location);
23
24
  //-->
24
25
  </script>
@@ -3,6 +3,6 @@
3
3
 
4
4
  module Graphiclious
5
5
  def self.version
6
- '0.1.2'
6
+ '0.1.3'
7
7
  end
8
8
  end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: Graphiclious
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.1.2
7
- date: 2007-01-27 00:00:00 +01:00
6
+ version: 0.1.3
7
+ date: 2007-10-08 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
@@ -107,9 +107,9 @@ files:
107
107
  - bin/graphiclious
108
108
  - test/test_delicious2yaml.rb
109
109
  - javascript/style.css
110
- - javascript/index.htm
111
- - javascript/cloud.js
112
110
  - javascript/link.js
111
+ - javascript/cloud.js
112
+ - javascript/index.htm
113
113
  test_files: []
114
114
 
115
115
  rdoc_options: []