wiki 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/README.md +10 -2
  4. data/bin/wiki +4 -0
  5. data/default-data/pages/how-to-wiki +1069 -0
  6. data/default-data/pages/welcome-visitors +336 -0
  7. data/default-data/status/favicon.png +0 -0
  8. data/default-data/status/local-identity +7 -0
  9. data/lib/wiki/favicon.rb +0 -1
  10. data/lib/wiki/page.rb +3 -6
  11. data/lib/wiki/server.rb +7 -3
  12. data/lib/wiki/version.rb +1 -1
  13. data/package.json +70 -0
  14. data/wiki.gemspec +20 -13
  15. metadata +205 -58
  16. data/lib/wiki/views/client/Gruntfile.js +0 -50
  17. data/lib/wiki/views/client/ReadMe.md +0 -67
  18. data/lib/wiki/views/client/build-test.bat +0 -10
  19. data/lib/wiki/views/client/build.bat +0 -8
  20. data/lib/wiki/views/client/builder.pl +0 -41
  21. data/lib/wiki/views/client/client.coffee +0 -3
  22. data/lib/wiki/views/client/client.js +0 -3607
  23. data/lib/wiki/views/client/crosses.png +0 -0
  24. data/lib/wiki/views/client/images/external-link-ltr-icon.png +0 -0
  25. data/lib/wiki/views/client/images/noise.png +0 -0
  26. data/lib/wiki/views/client/images/oops.jpg +0 -0
  27. data/lib/wiki/views/client/js/d3/d3.behavior.js +0 -198
  28. data/lib/wiki/views/client/js/d3/d3.chart.js +0 -984
  29. data/lib/wiki/views/client/js/d3/d3.csv.js +0 -92
  30. data/lib/wiki/views/client/js/d3/d3.geo.js +0 -566
  31. data/lib/wiki/views/client/js/d3/d3.geom.js +0 -825
  32. data/lib/wiki/views/client/js/d3/d3.js +0 -3597
  33. data/lib/wiki/views/client/js/d3/d3.layout.js +0 -1923
  34. data/lib/wiki/views/client/js/d3/d3.time.js +0 -660
  35. data/lib/wiki/views/client/js/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  36. data/lib/wiki/views/client/js/images/ui-icons_222222_256x240.png +0 -0
  37. data/lib/wiki/views/client/js/jquery-1.6.2.min.js +0 -18
  38. data/lib/wiki/views/client/js/jquery-1.7.1.min.js +0 -4
  39. data/lib/wiki/views/client/js/jquery-1.9.1.min.js +0 -5
  40. data/lib/wiki/views/client/js/jquery-migrate-1.1.1.min.js +0 -3
  41. data/lib/wiki/views/client/js/jquery-ui-1.10.1.custom.min.css +0 -5
  42. data/lib/wiki/views/client/js/jquery-ui-1.10.1.custom.min.js +0 -6
  43. data/lib/wiki/views/client/js/jquery-ui-1.8.16.custom.css +0 -339
  44. data/lib/wiki/views/client/js/jquery-ui-1.8.16.custom.min.js +0 -315
  45. data/lib/wiki/views/client/js/jquery.ie.cors.js +0 -310
  46. data/lib/wiki/views/client/js/jquery.ui.touch-punch.min.js +0 -11
  47. data/lib/wiki/views/client/js/modernizr.custom.63710.js +0 -824
  48. data/lib/wiki/views/client/js/sockjs-0.3.min.js +0 -27
  49. data/lib/wiki/views/client/js/underscore-min.js +0 -30
  50. data/lib/wiki/views/client/mkplugin.sh +0 -97
  51. data/lib/wiki/views/client/package.json +0 -36
  52. data/lib/wiki/views/client/runtests.html +0 -26
  53. data/lib/wiki/views/client/style.css +0 -339
  54. data/lib/wiki/views/client/test/mocha.css +0 -231
  55. data/lib/wiki/views/client/test/mocha.js +0 -5340
  56. data/lib/wiki/views/client/test/testclient.js +0 -17133
  57. data/lib/wiki/views/client/testclient.coffee +0 -18
  58. data/lib/wiki/views/client/theme/granite.css +0 -59
  59. data/lib/wiki/views/client/theme/stoneSeamless.jpg +0 -0
  60. data/lib/wiki/views/client/twitter-maintainance.jpg +0 -0
@@ -5,24 +5,31 @@ require 'wiki/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "wiki"
8
+ spec.platform = Gem::Platform::RUBY
8
9
  spec.version = Wiki::VERSION
9
- spec.authors = ["Daniel Stark", "Ward Cunningham"]
10
- spec.email = ["daniel@studiostark.com", "ward@c2.com"]
11
- spec.description = %q{A Federated Wiki Server}
12
- spec.summary = %q{Wiki is a single-page application for browsing and editing content distributed throughout a federation of similar creative-commons licensed sites. What is a federated wiki, and why does federation matter? Authors thoughout the federation pull content towards themselves as they edit. With this package authors publish their own edits back to the federation as they edit.}
10
+ spec.authors = ["Ward Cunningham", "Jonan Scheffler", "Daniel Stark"]
11
+ spec.email = ["ward@c2.com", "jonanscheffler@gmail.com", "daniel@studiostark.com"]
12
+ spec.summary = %q{A Federated Wiki Server}
13
+ spec.description = %q{Wiki is a single-page application for browsing and editing content distributed throughout a federation of similar creative-commons licensed sites. What is a federated wiki, and why does federation matter? Authors throughout the federation pull content towards themselves as they edit. With this package authors publish their own edits back to the federation as they edit.}
13
14
  spec.homepage = "http://fed.wiki.org"
14
15
  spec.licenses = ['MIT', 'GPL-2']
15
16
 
16
17
  spec.files = `git ls-files`.split($/)
17
- # spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
- # spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
20
  spec.require_paths = ["lib"]
21
+ spec.add_runtime_dependency 'sinatra'
22
+ spec.add_runtime_dependency 'thin'
23
+ spec.add_runtime_dependency 'png'
24
+ spec.add_runtime_dependency 'openid'
25
+ spec.add_runtime_dependency 'haml'
26
+ spec.add_runtime_dependency 'sass'
27
+ spec.add_runtime_dependency 'json'
28
+ spec.add_runtime_dependency 'RubyInline'
29
+ spec.add_runtime_dependency 'ZenTest'
30
+ spec.add_runtime_dependency 'rest-client'
31
+ spec.add_runtime_dependency 'ruby-openid'
32
+ spec.add_runtime_dependency 'couchrest'
33
+ spec.add_runtime_dependency 'memcache-client'
20
34
 
21
- # spec.add_dependency "openid"
22
- # spec.add_dependency "png"
23
- # spec.add_dependency "sinatra"
24
- # spec.add_dependency "haml"
25
-
26
- # spec.add_development_dependency "bundler", "~> 1.3"
27
- # spec.add_development_dependency "rake"
28
35
  end
metadata CHANGED
@@ -1,21 +1,210 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wiki
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
- - Daniel Stark
8
7
  - Ward Cunningham
8
+ - Jonan Scheffler
9
+ - Daniel Stark
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2013-12-09 00:00:00.000000000 Z
13
- dependencies: []
14
- description: A Federated Wiki Server
13
+ date: 2014-02-12 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: sinatra
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - '>='
27
+ - !ruby/object:Gem::Version
28
+ version: '0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: thin
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - '>='
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - '>='
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: png
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - '>='
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: openid
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - '>='
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ type: :runtime
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ - !ruby/object:Gem::Dependency
72
+ name: haml
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ type: :runtime
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - '>='
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ - !ruby/object:Gem::Dependency
86
+ name: sass
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - '>='
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ type: :runtime
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ - !ruby/object:Gem::Dependency
100
+ name: json
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - '>='
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ type: :runtime
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - '>='
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
113
+ - !ruby/object:Gem::Dependency
114
+ name: RubyInline
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - '>='
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ type: :runtime
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - '>='
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ - !ruby/object:Gem::Dependency
128
+ name: ZenTest
129
+ requirement: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ type: :runtime
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - '>='
139
+ - !ruby/object:Gem::Version
140
+ version: '0'
141
+ - !ruby/object:Gem::Dependency
142
+ name: rest-client
143
+ requirement: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - '>='
146
+ - !ruby/object:Gem::Version
147
+ version: '0'
148
+ type: :runtime
149
+ prerelease: false
150
+ version_requirements: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - '>='
153
+ - !ruby/object:Gem::Version
154
+ version: '0'
155
+ - !ruby/object:Gem::Dependency
156
+ name: ruby-openid
157
+ requirement: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - '>='
160
+ - !ruby/object:Gem::Version
161
+ version: '0'
162
+ type: :runtime
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - '>='
167
+ - !ruby/object:Gem::Version
168
+ version: '0'
169
+ - !ruby/object:Gem::Dependency
170
+ name: couchrest
171
+ requirement: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - '>='
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
176
+ type: :runtime
177
+ prerelease: false
178
+ version_requirements: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - '>='
181
+ - !ruby/object:Gem::Version
182
+ version: '0'
183
+ - !ruby/object:Gem::Dependency
184
+ name: memcache-client
185
+ requirement: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
190
+ type: :runtime
191
+ prerelease: false
192
+ version_requirements: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - '>='
195
+ - !ruby/object:Gem::Version
196
+ version: '0'
197
+ description: Wiki is a single-page application for browsing and editing content distributed
198
+ throughout a federation of similar creative-commons licensed sites. What is a federated
199
+ wiki, and why does federation matter? Authors throughout the federation pull content
200
+ towards themselves as they edit. With this package authors publish their own edits
201
+ back to the federation as they edit.
15
202
  email:
16
- - daniel@studiostark.com
17
203
  - ward@c2.com
18
- executables: []
204
+ - jonanscheffler@gmail.com
205
+ - daniel@studiostark.com
206
+ executables:
207
+ - wiki
19
208
  extensions: []
20
209
  extra_rdoc_files: []
21
210
  files:
@@ -24,6 +213,11 @@ files:
24
213
  - LICENSE.txt
25
214
  - README.md
26
215
  - Rakefile
216
+ - bin/wiki
217
+ - default-data/pages/how-to-wiki
218
+ - default-data/pages/welcome-visitors
219
+ - default-data/status/favicon.png
220
+ - default-data/status/local-identity
27
221
  - lib/wiki.rb
28
222
  - lib/wiki/ReadMe.md
29
223
  - lib/wiki/config.ru
@@ -38,56 +232,12 @@ files:
38
232
  - lib/wiki/stores/file.rb
39
233
  - lib/wiki/stores/store.rb
40
234
  - lib/wiki/version.rb
41
- - lib/wiki/views/client/Gruntfile.js
42
- - lib/wiki/views/client/ReadMe.md
43
- - lib/wiki/views/client/build-test.bat
44
- - lib/wiki/views/client/build.bat
45
- - lib/wiki/views/client/builder.pl
46
- - lib/wiki/views/client/client.coffee
47
- - lib/wiki/views/client/client.js
48
- - lib/wiki/views/client/crosses.png
49
- - lib/wiki/views/client/images/external-link-ltr-icon.png
50
- - lib/wiki/views/client/images/noise.png
51
- - lib/wiki/views/client/images/oops.jpg
52
- - lib/wiki/views/client/js/d3/d3.behavior.js
53
- - lib/wiki/views/client/js/d3/d3.chart.js
54
- - lib/wiki/views/client/js/d3/d3.csv.js
55
- - lib/wiki/views/client/js/d3/d3.geo.js
56
- - lib/wiki/views/client/js/d3/d3.geom.js
57
- - lib/wiki/views/client/js/d3/d3.js
58
- - lib/wiki/views/client/js/d3/d3.layout.js
59
- - lib/wiki/views/client/js/d3/d3.time.js
60
- - lib/wiki/views/client/js/images/ui-bg_glass_65_ffffff_1x400.png
61
- - lib/wiki/views/client/js/images/ui-icons_222222_256x240.png
62
- - lib/wiki/views/client/js/jquery-1.6.2.min.js
63
- - lib/wiki/views/client/js/jquery-1.7.1.min.js
64
- - lib/wiki/views/client/js/jquery-1.9.1.min.js
65
- - lib/wiki/views/client/js/jquery-migrate-1.1.1.min.js
66
- - lib/wiki/views/client/js/jquery-ui-1.10.1.custom.min.css
67
- - lib/wiki/views/client/js/jquery-ui-1.10.1.custom.min.js
68
- - lib/wiki/views/client/js/jquery-ui-1.8.16.custom.css
69
- - lib/wiki/views/client/js/jquery-ui-1.8.16.custom.min.js
70
- - lib/wiki/views/client/js/jquery.ie.cors.js
71
- - lib/wiki/views/client/js/jquery.ui.touch-punch.min.js
72
- - lib/wiki/views/client/js/modernizr.custom.63710.js
73
- - lib/wiki/views/client/js/sockjs-0.3.min.js
74
- - lib/wiki/views/client/js/underscore-min.js
75
- - lib/wiki/views/client/mkplugin.sh
76
- - lib/wiki/views/client/package.json
77
- - lib/wiki/views/client/runtests.html
78
- - lib/wiki/views/client/style.css
79
- - lib/wiki/views/client/test/mocha.css
80
- - lib/wiki/views/client/test/mocha.js
81
- - lib/wiki/views/client/test/testclient.js
82
- - lib/wiki/views/client/testclient.coffee
83
- - lib/wiki/views/client/theme/granite.css
84
- - lib/wiki/views/client/theme/stoneSeamless.jpg
85
- - lib/wiki/views/client/twitter-maintainance.jpg
86
235
  - lib/wiki/views/layout.haml
87
236
  - lib/wiki/views/oops.haml
88
237
  - lib/wiki/views/page.haml
89
238
  - lib/wiki/views/static.html
90
239
  - lib/wiki/views/view.haml
240
+ - package.json
91
241
  - wiki.gemspec
92
242
  homepage: http://fed.wiki.org
93
243
  licenses:
@@ -110,12 +260,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
260
  version: '0'
111
261
  requirements: []
112
262
  rubyforge_project:
113
- rubygems_version: 2.1.11
263
+ rubygems_version: 2.0.14
114
264
  signing_key:
115
265
  specification_version: 4
116
- summary: Wiki is a single-page application for browsing and editing content distributed
117
- throughout a federation of similar creative-commons licensed sites. What is a federated
118
- wiki, and why does federation matter? Authors thoughout the federation pull content
119
- towards themselves as they edit. With this package authors publish their own edits
120
- back to the federation as they edit.
266
+ summary: A Federated Wiki Server
121
267
  test_files: []
268
+ has_rdoc:
@@ -1,50 +0,0 @@
1
- module.exports = function (grunt) {
2
- grunt.loadNpmTasks('grunt-browserify');
3
- grunt.loadNpmTasks('grunt-contrib-coffee');
4
- grunt.loadNpmTasks('grunt-contrib-watch');
5
-
6
- grunt.initConfig({
7
- browserify: {
8
- client: {
9
- src: ['client.coffee'],
10
- dest: 'client.js',
11
- options: {
12
- transform: ['coffeeify'],
13
- debug: true
14
- }
15
- },
16
- testClient: {
17
- src: ['testclient.coffee', 'plugins/*/test.coffee'],
18
- dest: 'test/testclient.js',
19
- options: {
20
- transform: ['coffeeify'],
21
- debug: true
22
- }
23
- }
24
- },
25
-
26
- coffee: {
27
- plugins: {
28
- expand: true,
29
- src: ['plugins/**/*.coffee'],
30
- ext: '.js'
31
- }
32
- },
33
-
34
- watch: {
35
- all: {
36
- files: [
37
- '<%= browserify.testClient.src %>',
38
- '<%= browserify.client.src %>',
39
- '<%= coffee.plugins.src %>',
40
- 'lib/**/*.coffee'
41
- ],
42
- tasks: ['browserify', 'coffee']
43
- }
44
- }
45
- });
46
-
47
- grunt.registerTask('build', ['coffee', 'browserify']);
48
- grunt.registerTask('default', ['build']);
49
-
50
- };
@@ -1,67 +0,0 @@
1
- Client Goals
2
- ============
3
-
4
- A server offers direct restful read/write access to pages it owns and proxy access to pages held elsewhere in federated space.
5
- A page is owned if it was created with the server or has been cloned and edited such that it is believed to be the most authoritative copy of a page previously owned elsewhere.
6
- A server operates as a proxy to the rest of the federated wiki.
7
- In this role it reformats data and metadata providing a unified experience.
8
- It is welcome to collect behavioral statistics in order to improve this experience by anticipating permitted peer-to-peer server operations.
9
-
10
- In summary, the server's client side exists to:
11
-
12
- * Offer to a user a browsing experience that is independent of any specific server.
13
- * Support writing, editing and curating of one server in a way that offers suitable influence over others.
14
-
15
- Working with Browserify
16
- =======================
17
-
18
- The client side is written in CoffeeScript, and built with Browserify.
19
- If you are not checking in changes you need not concern yourself with this.
20
- We've checked in the generated Javascript for the client application.
21
-
22
- If you do want to check in changes, install node v0.6.x
23
-
24
- * On Linux download the source from [GitHub](https://github.com/joyent/node)
25
- * On Windows get the installer from the [main node.js site](http://nodejs.org).
26
- * On Mac you should be able to choose either.
27
-
28
- Once node is installed come back to this directory and run:
29
-
30
- * `npm install` To install CoffeeScript, Browserify, and all their dependencies.
31
-
32
- You can now use:
33
-
34
- * `npm start` To build the main client.
35
- * `npm test` To build the test client.
36
-
37
- These commands build client.js and test/testclient.js from client.coffee and
38
- testclient.coffee respectively. They use their entry files to require the
39
- rest of the coffee script they need from the source CS files in /lib.
40
-
41
- We also have a cool automated talking (Mac only) Perl build script that uses
42
- a globally installed browserify via `npm install -g browserify`, it watches
43
- for changes, builds the clients automatically, and gives a verbal report
44
- when you have syntax errors.
45
-
46
- Testing
47
- =======
48
-
49
- All the client tests can be run by visiting /runtests.html on your server
50
- or by running the full ruby test suite. Information about the libraries we
51
- are using for testing can be found at:
52
-
53
- * http://visionmedia.github.com/mocha/
54
- * https://github.com/LearnBoost/expect.js
55
- * http://sinonjs.org/
56
-
57
- CoffeeScript hints
58
- ==================
59
-
60
- We recommend taking time to learn the CoffeeScript syntax and the rationale for the Javascript idioms it employs. Start here:
61
-
62
- http://jashkenas.github.com/coffee-script/
63
-
64
- We used a Javascript to Coffeescript converter to create the first draft of client.coffee. You may find this converter useful for importing sample codes.
65
-
66
- http://ricostacruz.com/js2coffee/
67
-