tiddlywiki_cp 0.0.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.
Files changed (69) hide show
  1. data/COPYING +674 -0
  2. data/History.txt +4 -0
  3. data/Manifest.txt +68 -0
  4. data/README.txt +3 -0
  5. data/Rakefile +123 -0
  6. data/bin/tiddlywiki_cp +13 -0
  7. data/lib/tiddlywiki_cp/converters.rb +36 -0
  8. data/lib/tiddlywiki_cp/file2file.rb +32 -0
  9. data/lib/tiddlywiki_cp/file2tiddler.rb +42 -0
  10. data/lib/tiddlywiki_cp/r4tw.rb +763 -0
  11. data/lib/tiddlywiki_cp/tiddler2directory.rb +27 -0
  12. data/lib/tiddlywiki_cp/tiddler2file.rb +41 -0
  13. data/lib/tiddlywiki_cp/tiddler2tiddlywiki.rb +29 -0
  14. data/lib/tiddlywiki_cp/tiddler_css.rb +39 -0
  15. data/lib/tiddlywiki_cp/tiddler_html.rb +39 -0
  16. data/lib/tiddlywiki_cp/tiddler_js.rb +39 -0
  17. data/lib/tiddlywiki_cp/tiddlywiki2file.rb +29 -0
  18. data/lib/tiddlywiki_cp/version.rb +24 -0
  19. data/lib/tiddlywiki_cp.rb +378 -0
  20. data/scripts/txt2html +67 -0
  21. data/setup.rb +1585 -0
  22. data/test/content/a +0 -0
  23. data/test/content/a.div +0 -0
  24. data/test/content/b +0 -0
  25. data/test/content/e +3 -0
  26. data/test/content/e.div +1 -0
  27. data/test/content/html_entities.html +6 -0
  28. data/test/content/test_fetch.html +6 -0
  29. data/test/content/universe.html +10522 -0
  30. data/test/r4tw/addtag.rb +93 -0
  31. data/test/r4tw/all.rb +29 -0
  32. data/test/r4tw/createfrom.rb +62 -0
  33. data/test/r4tw/empties/2.1.3.html +7087 -0
  34. data/test/r4tw/empties/2.2.0.beta5.html +8726 -0
  35. data/test/r4tw/fromremote.rb +19 -0
  36. data/test/r4tw/fromurl.rb +28 -0
  37. data/test/r4tw/shadows.rb +27 -0
  38. data/test/r4tw/tiddler.rb +70 -0
  39. data/test/r4tw/tiddlerfromurl.rb +23 -0
  40. data/test/r4tw/tiddlywiki.rb +66 -0
  41. data/test/r4tw/utils.rb +55 -0
  42. data/test/r4tw/withcontent/2.2.0.beta5.html +8739 -0
  43. data/test/r4tw/withcontent/22b5index.html +13523 -0
  44. data/test/r4tw/withcontent/empty2.html +7084 -0
  45. data/test/r4tw/withcontent/nothing.js +1 -0
  46. data/test/r4tw/write_all_tiddlers_to.rb +62 -0
  47. data/test/test_all.rb +8 -0
  48. data/test/test_helper.rb +36 -0
  49. data/test/test_tiddler_css.rb +55 -0
  50. data/test/test_tiddler_html.rb +54 -0
  51. data/test/test_tiddler_js.rb +56 -0
  52. data/test/test_tiddlywiki_cp.rb +341 -0
  53. data/website/files/DefaultTiddlers.tiddler +2 -0
  54. data/website/files/DefaultTiddlers.tiddler.div +1 -0
  55. data/website/files/Introduction.tiddler +12 -0
  56. data/website/files/Introduction.tiddler.div +1 -0
  57. data/website/files/MainMenu.tiddler +1 -0
  58. data/website/files/MainMenu.tiddler.div +1 -0
  59. data/website/files/SiteSubtitle.tiddler +1 -0
  60. data/website/files/SiteSubtitle.tiddler.div +1 -0
  61. data/website/files/SiteTitle.tiddler +1 -0
  62. data/website/files/SiteTitle.tiddler.div +1 -0
  63. data/website/files/Usage.tiddler +55 -0
  64. data/website/files/Usage.tiddler.div +1 -0
  65. data/website/files/WebDAVSavingPlugin.js +234 -0
  66. data/website/files/WebDAVSavingPlugin.js.div +1 -0
  67. data/website/index.html +9144 -0
  68. data/website/index.xml +336 -0
  69. metadata +116 -0
data/Manifest.txt ADDED
@@ -0,0 +1,68 @@
1
+ COPYING
2
+ History.txt
3
+ Manifest.txt
4
+ README.txt
5
+ Rakefile
6
+ bin/tiddlywiki_cp
7
+ lib/tiddlywiki_cp.rb
8
+ lib/tiddlywiki_cp/converters.rb
9
+ lib/tiddlywiki_cp/file2file.rb
10
+ lib/tiddlywiki_cp/file2tiddler.rb
11
+ lib/tiddlywiki_cp/r4tw.rb
12
+ lib/tiddlywiki_cp/tiddler2directory.rb
13
+ lib/tiddlywiki_cp/tiddler2file.rb
14
+ lib/tiddlywiki_cp/tiddler2tiddlywiki.rb
15
+ lib/tiddlywiki_cp/tiddler_css.rb
16
+ lib/tiddlywiki_cp/tiddler_html.rb
17
+ lib/tiddlywiki_cp/tiddler_js.rb
18
+ lib/tiddlywiki_cp/tiddlywiki2file.rb
19
+ lib/tiddlywiki_cp/version.rb
20
+ scripts/txt2html
21
+ setup.rb
22
+ test/content/a
23
+ test/content/a.div
24
+ test/content/b
25
+ test/content/e
26
+ test/content/e.div
27
+ test/content/html_entities.html
28
+ test/content/test_fetch.html
29
+ test/content/universe.html
30
+ test/r4tw/addtag.rb
31
+ test/r4tw/all.rb
32
+ test/r4tw/createfrom.rb
33
+ test/r4tw/empties/2.1.3.html
34
+ test/r4tw/empties/2.2.0.beta5.html
35
+ test/r4tw/fromremote.rb
36
+ test/r4tw/fromurl.rb
37
+ test/r4tw/shadows.rb
38
+ test/r4tw/tiddler.rb
39
+ test/r4tw/tiddlerfromurl.rb
40
+ test/r4tw/tiddlywiki.rb
41
+ test/r4tw/utils.rb
42
+ test/r4tw/withcontent/2.2.0.beta5.html
43
+ test/r4tw/withcontent/22b5index.html
44
+ test/r4tw/withcontent/empty2.html
45
+ test/r4tw/withcontent/nothing.js
46
+ test/r4tw/write_all_tiddlers_to.rb
47
+ test/test_all.rb
48
+ test/test_helper.rb
49
+ test/test_tiddler_css.rb
50
+ test/test_tiddler_html.rb
51
+ test/test_tiddler_js.rb
52
+ test/test_tiddlywiki_cp.rb
53
+ website/files/DefaultTiddlers.tiddler
54
+ website/files/DefaultTiddlers.tiddler.div
55
+ website/files/Introduction.tiddler
56
+ website/files/Introduction.tiddler.div
57
+ website/files/MainMenu.tiddler
58
+ website/files/MainMenu.tiddler.div
59
+ website/files/SiteSubtitle.tiddler
60
+ website/files/SiteSubtitle.tiddler.div
61
+ website/files/SiteTitle.tiddler
62
+ website/files/SiteTitle.tiddler.div
63
+ website/files/Usage.tiddler
64
+ website/files/Usage.tiddler.div
65
+ website/files/WebDAVSavingPlugin.js
66
+ website/files/WebDAVSavingPlugin.js.div
67
+ website/index.html
68
+ website/index.xml
data/README.txt ADDED
@@ -0,0 +1,3 @@
1
+ README for tiddlywiki_cp
2
+ ========================
3
+
data/Rakefile ADDED
@@ -0,0 +1,123 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'rake/clean'
4
+ require 'rake/testtask'
5
+ require 'rake/packagetask'
6
+ require 'rake/gempackagetask'
7
+ require 'rake/rdoctask'
8
+ require 'rake/contrib/rubyforgepublisher'
9
+ require 'fileutils'
10
+ require 'hoe'
11
+
12
+ include FileUtils
13
+ require File.join(File.dirname(__FILE__), 'lib', 'tiddlywiki_cp', 'version')
14
+
15
+ AUTHOR = 'Loic Dachary' # can also be an array of Authors
16
+ EMAIL = "loic@dachary.org"
17
+ DESCRIPTION = "copy tiddlers to files and vice versa"
18
+ GEM_NAME = 'tiddlywiki_cp' # what ppl will type to install your gem
19
+
20
+ @config_file = "~/.rubyforge/user-config.yml"
21
+ @config = nil
22
+ def rubyforge_username
23
+ unless @config
24
+ begin
25
+ @config = YAML.load(File.read(File.expand_path(@config_file)))
26
+ rescue
27
+ puts <<-EOS
28
+ ERROR: No rubyforge config file found: #{@config_file}"
29
+ Run 'rubyforge setup' to prepare your env for access to Rubyforge
30
+ - See http://newgem.rubyforge.org/rubyforge.html for more details
31
+ EOS
32
+ exit
33
+ end
34
+ end
35
+ @rubyforge_username ||= @config["username"]
36
+ end
37
+
38
+ RUBYFORGE_PROJECT = 'tiddlywikicp' # The unix name for your project
39
+ HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
40
+ DOWNLOAD_PATH = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}"
41
+
42
+ NAME = "tiddlywiki_cp"
43
+ REV = nil
44
+ # UNCOMMENT IF REQUIRED:
45
+ # REV = `svn info`.each {|line| if line =~ /^Revision:/ then k,v = line.split(': '); break v.chomp; else next; end} rescue nil
46
+ VERS = TiddlywikiCp::VERSION::STRING + (REV ? ".#{REV}" : "")
47
+ CLEAN.include ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store']
48
+ RDOC_OPTS = ['--quiet', '--title', 'tiddlywiki_cp documentation',
49
+ "--opname", "index.html",
50
+ "--line-numbers",
51
+ "--main", "README",
52
+ "--inline-source"]
53
+
54
+ class Hoe
55
+ def extra_deps
56
+ @extra_deps.reject { |x| Array(x).first == 'hoe' }
57
+ end
58
+ end
59
+
60
+ # Generate all the Rake tasks
61
+ # Run 'rake -T' to see list of generated tasks (from gem root directory)
62
+ hoe = Hoe.new(GEM_NAME, VERS) do |p|
63
+ p.author = AUTHOR
64
+ p.description = DESCRIPTION
65
+ p.email = EMAIL
66
+ p.summary = DESCRIPTION
67
+ p.url = HOMEPATH
68
+ p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
69
+ p.test_globs = ["test/**/test_*.rb"]
70
+ p.clean_globs |= CLEAN #An array of file patterns to delete on clean.
71
+
72
+ # == Optional
73
+ p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
74
+ #p.extra_deps = [] # An array of rubygem dependencies [name, version], e.g. [ ['active_support', '>= 1.3.1'] ]
75
+ #p.spec_extras = {} # A hash of extra values to set in the gemspec.
76
+ end
77
+
78
+ CHANGES = hoe.paragraphs_of('History.txt', 0..1).join("\n\n")
79
+ PATH = (RUBYFORGE_PROJECT == GEM_NAME) ? RUBYFORGE_PROJECT : "#{RUBYFORGE_PROJECT}/#{GEM_NAME}"
80
+ hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc')
81
+
82
+ desc 'Generate website files'
83
+ task :website_generate do
84
+ Dir['website/**/*.txt'].each do |txt|
85
+ sh %{ ( echo '{{{' ; RUBYLIB=lib ruby bin/tiddlywiki_cp --help ; echo '}}}' ) > website/files/Usage }
86
+ end
87
+ end
88
+
89
+ desc 'Upload website files to rubyforge'
90
+ task :website_upload do
91
+ host = "#{rubyforge_username}@rubyforge.org"
92
+ remote_dir = "/var/www/gforge-projects/#{PATH}/"
93
+ local_dir = 'website'
94
+ sh %{rsync -aCv #{local_dir}/ #{host}:#{remote_dir}}
95
+ end
96
+
97
+ desc 'Generate and upload website files'
98
+ task :website => [:website_generate, :website_upload, :publish_docs]
99
+
100
+ desc 'Release the website and new gem version'
101
+ task :deploy => [:check_version, :website, :release] do
102
+ puts "Remember to create SVN tag:"
103
+ puts "svn copy svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/trunk " +
104
+ "svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{VERS} "
105
+ puts "Suggested comment:"
106
+ puts "Tagging release #{CHANGES}"
107
+ end
108
+
109
+ desc 'Runs tasks website_generate and install_gem as a local deployment of the gem'
110
+ task :local_deploy => [:website_generate, :install_gem]
111
+
112
+ task :check_version do
113
+ unless ENV['VERSION']
114
+ puts 'Must pass a VERSION=x.y.z release version'
115
+ exit
116
+ end
117
+ unless ENV['VERSION'] == VERS
118
+ puts "Please update your version.rb to match the release version, currently #{VERS}"
119
+ exit
120
+ end
121
+ end
122
+
123
+
data/bin/tiddlywiki_cp ADDED
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ begin
4
+ require 'rubygems'
5
+ rescue LoadError
6
+ # no rubygems to load, so we fail silently
7
+ end
8
+
9
+ require 'tiddlywiki_cp'
10
+
11
+ module TiddlywikiCp
12
+ TiddlyWikiCp.new.main(ARGV)
13
+ end
@@ -0,0 +1,36 @@
1
+ #
2
+ # Copyright (C) 2007 Loic Dachary <loic@dachary.org>
3
+ #
4
+ # This program is free software: you can redistribute it and/or modify
5
+ # it under the terms of the GNU General Public License as published by
6
+ # the Free Software Foundation, either version 3 of the License, or
7
+ # (at your option) any later version.
8
+ #
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
+ #
17
+
18
+ #
19
+ # generic functions
20
+ #
21
+ require 'tiddlywiki_cp/file2tiddler'
22
+ require 'tiddlywiki_cp/file2tiddler'
23
+ require 'tiddlywiki_cp/file2file'
24
+ require 'tiddlywiki_cp/tiddler2file'
25
+ require 'tiddlywiki_cp/tiddler2tiddlywiki'
26
+ require 'tiddlywiki_cp/tiddler2directory'
27
+ require 'tiddlywiki_cp/tiddlywiki2file'
28
+
29
+ #
30
+ # per tiddlers type functions
31
+ #
32
+ require 'tiddlywiki_cp/tiddler_css'
33
+ require 'tiddlywiki_cp/tiddler_html'
34
+ require 'tiddlywiki_cp/tiddler_js'
35
+
36
+
@@ -0,0 +1,32 @@
1
+ #
2
+ # Copyright (C) 2007 Loic Dachary <loic@dachary.org>
3
+ #
4
+ # This program is free software: you can redistribute it and/or modify
5
+ # it under the terms of the GNU General Public License as published by
6
+ # the Free Software Foundation, either version 3 of the License, or
7
+ # (at your option) any later version.
8
+ #
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
+ #
17
+ require 'fileutils'
18
+
19
+ module TiddlywikiCp
20
+
21
+ class TiddlyWikiCp
22
+
23
+ def file2file(from, to)
24
+ FileUtils.cp(from, to)
25
+ if File.exists?("#{from}.div")
26
+ FileUtils.cp("#{from}.div", "#{to}.div")
27
+ end
28
+ end
29
+
30
+ end
31
+
32
+ end
@@ -0,0 +1,42 @@
1
+ #
2
+ # Copyright (C) 2007 Loic Dachary <loic@dachary.org>
3
+ #
4
+ # This program is free software: you can redistribute it and/or modify
5
+ # it under the terms of the GNU General Public License as published by
6
+ # the Free Software Foundation, either version 3 of the License, or
7
+ # (at your option) any later version.
8
+ #
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
+ #
17
+ module TiddlywikiCp
18
+
19
+ class TiddlyWikiCp
20
+
21
+ def file2tiddler(from, to)
22
+ content = read_uri(from)
23
+ div_from = "#{from}.div"
24
+ div = File.read(div_from).to_s
25
+ content = "<div #{div}>\n<pre>#{content}</pre>\n</div>"
26
+
27
+ tiddlywiki = uri2tiddlywiki(to)
28
+ tiddler = Tiddler.new.from_div(content, true)
29
+ if @options.times
30
+ tiddler.fields['modified'] = File.mtime(from).convertToYYYYMMDDHHMM
31
+ end
32
+ #
33
+ # add_tiddler implies remove tiddler
34
+ #
35
+ tiddlywiki.add_tiddler(tiddler)
36
+ end
37
+
38
+ alias file2tiddlywiki file2tiddler
39
+
40
+ end
41
+
42
+ end