xiki 0.6.0 → 0.6.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.markdown +36 -28
- data/etc/command/copy_xiki_command_to.rb +14 -0
- data/etc/command/xiki_command.rb +16 -11
- data/etc/command/xiki_wrapper +1 -1
- data/etc/www/sinatra_server.rb +0 -4
- data/lib/xiki.rb +2 -2
- data/lib/xiki/launcher.rb +3 -0
- data/menu/dimensions_config.menu +1 -0
- data/menu/dir.rb +5 -0
- data/menu/itunes.rb +1 -3
- data/menu/markdown.rb +4 -0
- data/menu/readme.rb +6 -0
- data/menu/shell_commands.menu +2 -0
- data/menu/web_interface.rb +9 -0
- data/xiki.gemspec +4 -3
- metadata +7 -18
data/README.markdown
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# Summary
|
2
|
-
|
2
|
+
|
3
|
+
This file shows how to install Xiki. For a description of Xiki see:
|
4
|
+
|
5
|
+
http://xiki.org
|
3
6
|
|
4
7
|
# Install Xiki
|
5
8
|
|
@@ -13,33 +16,37 @@ Either install as a gem, or install from github.
|
|
13
16
|
|
14
17
|
$ git clone git@github.com:trogdoro/xiki.git
|
15
18
|
$ cd xiki
|
16
|
-
$ gem install bundler
|
17
|
-
$ bundle install --system
|
18
|
-
$
|
19
|
-
$ chmod 755 /usr/local/bin/xiki
|
19
|
+
$ sudo gem install bundler
|
20
|
+
$ sudo bundle install --system
|
21
|
+
$ sudo ruby etc/command/copy_xiki_command_to.rb /usr/local/bin/xiki
|
20
22
|
|
21
|
-
|
23
|
+
You don't need "sudo" at the beginning if you're using rvm and your
|
24
|
+
/usr/local/bin/ dir is writable.
|
22
25
|
|
23
26
|
# Verify the 'xiki' shell command works
|
24
27
|
|
25
28
|
$ xiki
|
26
29
|
|
27
|
-
It should delay slightly the first time, but be fast subsequent
|
30
|
+
It should delay slightly the first time, but be fast subsequent
|
31
|
+
times. If you run into errors and then fix them, you'll want to
|
32
|
+
run the "xiki restart" command.
|
28
33
|
|
29
34
|
# Configure your editor to use Xiki
|
30
35
|
|
31
36
|
## Emacs
|
32
37
|
|
33
|
-
|
38
|
+
Emacs is the most supported editor. Don't worry though, you don't
|
39
|
+
have to know emacs to use it with Xiki.
|
34
40
|
|
35
41
|
### Step 1: Download Emacs
|
36
42
|
|
37
43
|
#### On Mac:
|
44
|
+
|
38
45
|
- Try Aquamacs if you're new to emacs (it's more mac-like)
|
39
|
-
|
40
|
-
|
46
|
+
- http://aquamacs.org/download-classic.shtml
|
47
|
+
- works well with rvm, because it loads .bash_login
|
41
48
|
- Or
|
42
|
-
|
49
|
+
- http://emacsformacosx.com
|
43
50
|
|
44
51
|
#### On Linux:
|
45
52
|
|
@@ -52,33 +59,31 @@ We just patched el4r, so there's a chance Xiki might work in windows.
|
|
52
59
|
- Skip the 'xiki' shell command step
|
53
60
|
- Maybe try this emacs? http://ourcomments.org/Emacs/EmacsW32.html
|
54
61
|
|
55
|
-
|
56
62
|
### Step 2: EmacsRuby (el4r) setup
|
57
63
|
|
58
|
-
$ cd
|
64
|
+
$ cd `xiki dir`
|
59
65
|
$ sudo bash etc/install/el4r_setup.sh
|
60
66
|
|
61
67
|
If you're using rvm, the sudo may not be necessary.
|
62
68
|
|
63
|
-
If you're using the xiki gem, you can paste this for the above cd:
|
64
|
-
|
65
|
-
$ cd `dirname \`gem contents xiki | grep Gemfile\``
|
66
|
-
|
67
69
|
### Step 3: Require Xiki in EmacsRuby's config
|
68
70
|
Sample configuration:
|
69
71
|
|
70
72
|
~/.el4r/init.rb:
|
71
|
-
$LOAD_PATH.unshift "
|
73
|
+
$LOAD_PATH.unshift "(xiki dir)/lib"
|
72
74
|
require 'xiki'
|
73
75
|
Xiki.init
|
74
76
|
|
75
77
|
KeyBindings.keys # Use default key bindings
|
76
78
|
Themes.use "Default" # Use xiki theme
|
77
79
|
|
80
|
+
Be sure to substitute '(xiki dir)' with the actual dir. If you
|
81
|
+
don't know it, run this command:
|
78
82
|
|
79
|
-
|
83
|
+
$ xiki dir
|
80
84
|
|
81
85
|
### If you get an error
|
86
|
+
|
82
87
|
If you got partially through the load...
|
83
88
|
|
84
89
|
- You may be able to use these keys to trouble-shoot:
|
@@ -86,31 +91,34 @@ If you got partially through the load...
|
|
86
91
|
- Option+l to reload xiki and .emacs
|
87
92
|
- also use this when you see "el4r-instance is dead"
|
88
93
|
- If you can't use the keys, look at the log
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
94
|
+
- Named something like: /tmp/el4r......log
|
95
|
+
- Go to the end and search backward for the last error
|
96
|
+
- probably contains ":Error:"
|
97
|
+
- Restart emacs (or reload .emacs) manually to reload
|
93
98
|
- See "Issues Loading Xiki" buffer (under "Window" menu bar menu)
|
94
99
|
|
95
|
-
|
96
100
|
## Vim
|
97
101
|
|
98
102
|
Vim support is very partially implemented, but should be pretty
|
99
103
|
straight-forward to implement. It turns out vim is very easy to
|
100
104
|
extend using ruby. See this file to try it out:
|
101
105
|
|
102
|
-
|
106
|
+
(xiki dir)/etc/vim/vim_status.notes
|
103
107
|
|
104
108
|
## CodeMirror
|
105
109
|
|
106
110
|
There's a simple prototype working, though it's not committed yet.
|
107
111
|
|
108
112
|
## Other editors
|
109
|
-
Are you in the bay area and savvy at extending your editor (vim, sublime, textmate, rubymine)? Ping me on the google group and we'll get together and pair on making a Xiki extension for it.
|
110
113
|
|
114
|
+
Are you in the bay area and savvy at extending your editor (vim,
|
115
|
+
sublime, textmate, rubymine)? Ping me on the google group and
|
116
|
+
we'll get together and pair on making a Xiki extension for it.
|
111
117
|
|
112
118
|
# Google group
|
113
|
-
Join the google group for help with installing, or to chat about whatever or share your ideas:
|
114
119
|
|
115
|
-
|
120
|
+
Join the google group for help with installing, or to chat about
|
121
|
+
whatever or share your ideas:
|
122
|
+
|
123
|
+
http://groups.google.com/group/xiki
|
116
124
|
|
@@ -0,0 +1,14 @@
|
|
1
|
+
dest = ARGV[0]
|
2
|
+
puts "Putting the 'xiki' shell command at:
|
3
|
+
#{dest}"
|
4
|
+
|
5
|
+
source = "etc/command/xiki_wrapper"
|
6
|
+
|
7
|
+
xiki_dir = Dir.pwd
|
8
|
+
|
9
|
+
puts "" # Blank line
|
10
|
+
|
11
|
+
txt = File.read source
|
12
|
+
txt.sub! /\(xiki_dir\)/, xiki_dir
|
13
|
+
|
14
|
+
File.open(dest, "w", 0755) { |f| f << txt }
|
data/etc/command/xiki_command.rb
CHANGED
@@ -108,7 +108,7 @@ class XikiCommand
|
|
108
108
|
def self.get_response
|
109
109
|
|
110
110
|
# Simulate timeout error if process not running
|
111
|
-
process_running = `ps -
|
111
|
+
process_running = `ps -ef` =~ /xiki_process.rb/
|
112
112
|
if ! process_running
|
113
113
|
raise Timeout::Error
|
114
114
|
end
|
@@ -146,13 +146,17 @@ class XikiCommand
|
|
146
146
|
|
147
147
|
> Setting up your editor
|
148
148
|
The most common way to use Xiki is from a text editor. For
|
149
|
-
example, typing "tables" on any blank line
|
150
|
-
it (or typing control-enter or
|
151
|
-
your mysql database.
|
149
|
+
example, from in a text editor, typing "tables" on any blank line
|
150
|
+
and then double-clicking on it (or typing control-enter or
|
151
|
+
command-enter) to browse and update your mysql database.
|
152
152
|
|
153
|
-
See
|
153
|
+
See the README.markdown file in the Xiki dir for help setting up
|
154
|
+
your editor. You can view it by typing this command or going to
|
155
|
+
this url:
|
154
156
|
|
155
|
-
$xiki
|
157
|
+
$ xiki readme
|
158
|
+
|
159
|
+
https://github.com/trogdoro/xiki
|
156
160
|
|
157
161
|
> Service
|
158
162
|
The 'xiki' shell command automatically runs a service in the
|
@@ -180,11 +184,10 @@ class XikiCommand
|
|
180
184
|
http://twitter.com/xiki
|
181
185
|
|
182
186
|
> Troubleshooting
|
183
|
-
|
187
|
+
A couple commands to help you trouble-shoot:
|
184
188
|
|
185
189
|
% bundle install
|
186
|
-
|
187
|
-
Also see $xiki/README.markdown
|
190
|
+
% xiki readme
|
188
191
|
|
189
192
|
`.unindent
|
190
193
|
|
@@ -224,7 +227,9 @@ class XikiCommand
|
|
224
227
|
case line
|
225
228
|
when /^(>) (.+)/
|
226
229
|
"#{self.heading_bracket $1} #{self.bold $2}"
|
227
|
-
when /^
|
230
|
+
when /^(>>+) (.+)/
|
231
|
+
"#{self.heading_bracket $1} #{self.path $2}"
|
232
|
+
when /^ *https?:\/\/.+/
|
228
233
|
"#{self.url $&}"
|
229
234
|
when /^.+\/$/
|
230
235
|
"#{self.path $&}"
|
@@ -251,7 +256,7 @@ class XikiCommand
|
|
251
256
|
self.colorize txt, "1;31" # Red # colorize("1;91") # Red
|
252
257
|
end
|
253
258
|
def self.label txt
|
254
|
-
self.colorize txt, "1;
|
259
|
+
self.colorize txt, "1;90" # Gray
|
255
260
|
end
|
256
261
|
def self.path txt
|
257
262
|
colorize(txt, "1;90")
|
data/etc/command/xiki_wrapper
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
load "/
|
2
|
+
load "(xiki_dir)/bin/xiki"
|
data/etc/www/sinatra_server.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'sinatra'
|
2
|
-
require "/projects/xiki/lib/xiki/ol.rb"
|
3
2
|
|
4
3
|
set :port, 8161
|
5
4
|
set :bind, '127.0.0.1'
|
@@ -286,14 +285,11 @@ def index menu
|
|
286
285
|
|
287
286
|
# rescue e=>Exception
|
288
287
|
# puts "<pre>#{e.message}\n#{e.backtrace}</pre>"
|
289
|
-
# Ol << "e: #{e.message}"
|
290
|
-
# Ol << "e: #{e.backtrace}"
|
291
288
|
# Ol << "If we get the permission problem, provide .notes file that will run command to run xiki command once (message explaining it first)!"
|
292
289
|
# end
|
293
290
|
|
294
291
|
# TODO: return different string when the service is down
|
295
292
|
|
296
|
-
# Ol << "Extract to new method: suggest_creating!!"
|
297
293
|
if txt.empty?
|
298
294
|
menu = menu.sub /\/$/, ''
|
299
295
|
|
data/lib/xiki.rb
CHANGED
@@ -44,8 +44,8 @@ class Xiki
|
|
44
44
|
| Double-click on these lines to add the executable 'xiki' command to
|
45
45
|
| your path:
|
46
46
|
|
|
47
|
-
|
48
|
-
|
47
|
+
@#{Xiki.dir}/
|
48
|
+
$ ruby etc/command/copy_xiki_command_to.rb /usr/local/bin/xiki
|
49
49
|
|
|
50
50
|
| Then you can type 'xiki' on a command line outside of emacs as a
|
51
51
|
| shortcut to opening xiki and opening menus, like so:
|
data/lib/xiki/launcher.rb
CHANGED
data/menu/dimensions_config.menu
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
- full/View.dimensions_full; Styles.font_size 110
|
2
|
+
- half/width = 166; width += 3 if ! View.scroll_bars; View.dimensions_set width, 59, 0, 902; Styles.font_size 110; Window.visibility('full')
|
2
3
|
- medium/Styles.font_size 160
|
3
4
|
- small/View.dimensions_set 50, 15, 100, 22; Styles.font_size 110
|
4
5
|
- tiny/20, 10, 40, 22
|
data/menu/dir.rb
ADDED
data/menu/itunes.rb
CHANGED
@@ -25,7 +25,6 @@ class Itunes
|
|
25
25
|
@@use_pipe_delimiter = "set Applescript's text item delimiters to \"|\""
|
26
26
|
|
27
27
|
def self.songs name=nil
|
28
|
-
|
29
28
|
# If nothing passed, list all songs
|
30
29
|
if name.nil?
|
31
30
|
tracks = Applescript.run "iTunes", "get the name of every track of library playlist 1 as string", :delimiter=>"|"
|
@@ -35,7 +34,6 @@ class Itunes
|
|
35
34
|
end
|
36
35
|
|
37
36
|
Applescript.run "iTunes", "play track \"#{name}\""
|
38
|
-
|
39
37
|
end
|
40
38
|
|
41
39
|
def self.current
|
@@ -56,13 +54,13 @@ class Itunes
|
|
56
54
|
|
57
55
|
def self.next
|
58
56
|
Applescript.run "iTunes", "next track"
|
57
|
+
".flash - #{self.current}"
|
59
58
|
end
|
60
59
|
def self.previous
|
61
60
|
Applescript.run "iTunes", "previous track"
|
62
61
|
end
|
63
62
|
|
64
63
|
def self.artists artist=nil, track=nil
|
65
|
-
|
66
64
|
# If nothing passed, list artists
|
67
65
|
|
68
66
|
if artist.nil?
|
data/menu/markdown.rb
CHANGED
@@ -3,6 +3,10 @@ require 'redcarpet'
|
|
3
3
|
|
4
4
|
class Markdown
|
5
5
|
|
6
|
+
def self.to_xiki_format txt
|
7
|
+
txt = txt.gsub(/^#+/){"#{'>' * $&.length}"}
|
8
|
+
end
|
9
|
+
|
6
10
|
def self.render txt
|
7
11
|
markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML, :autolink=>true, :space_after_headers=>true)
|
8
12
|
html = markdown.render txt
|
data/menu/readme.rb
ADDED
data/menu/shell_commands.menu
CHANGED
data/menu/web_interface.rb
CHANGED
@@ -7,6 +7,10 @@ class WebInterface
|
|
7
7
|
@http://xiki
|
8
8
|
|
9
9
|
- install/
|
10
|
+
- warning/
|
11
|
+
| Beware, the web interface is currently experimental and
|
12
|
+
| has security holes that need to be patched (blocking)
|
13
|
+
| non-priveleged users from using sensitive menus.
|
10
14
|
- Mac/
|
11
15
|
- 1. Configure Apache/
|
12
16
|
@/etc/apache2/other/
|
@@ -43,6 +47,11 @@ class WebInterface
|
|
43
47
|
- Restore) @chmod/644/
|
44
48
|
- 3. Restart Apache/
|
45
49
|
@apache/restart/
|
50
|
+
- Linux/
|
51
|
+
The steps are the same as for the Mac, but with these
|
52
|
+
differences:
|
53
|
+
- Use the 'sites-available' dir instead of 'other'
|
54
|
+
- Run "a2ensite xiki" on the command line before restarting apache
|
46
55
|
- start/
|
47
56
|
@$xiki/etc/www/
|
48
57
|
% ruby -rubygems sinatra_server.rb
|
data/xiki.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "xiki"
|
8
|
-
s.version = "0.6.
|
8
|
+
s.version = "0.6.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Craig Muth"]
|
@@ -18,9 +18,11 @@ Gem::Specification.new do |s|
|
|
18
18
|
"LICENSE",
|
19
19
|
"README.markdown"
|
20
20
|
]
|
21
|
+
|
22
|
+
s.rdoc_options += %w[--exclude etc/templates/.*]
|
23
|
+
|
21
24
|
files = `git ls-files`.split("\n")
|
22
25
|
|
23
|
-
# TMP
|
24
26
|
files = files.select{|o| o !~ /^etc\/xiki/}
|
25
27
|
|
26
28
|
s.files = files
|
@@ -39,7 +41,6 @@ Gem::Specification.new do |s|
|
|
39
41
|
s.add_dependency('net-scp')
|
40
42
|
s.add_dependency('net-sftp')
|
41
43
|
s.add_dependency('rspec')
|
42
|
-
s.add_dependency('memcached')
|
43
44
|
s.add_dependency('trogdoro-el4r', [">= 1.0.7"])
|
44
45
|
|
45
46
|
s.add_dependency('file-tail')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xiki
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -171,22 +171,6 @@ dependencies:
|
|
171
171
|
- - ! '>='
|
172
172
|
- !ruby/object:Gem::Version
|
173
173
|
version: '0'
|
174
|
-
- !ruby/object:Gem::Dependency
|
175
|
-
name: memcached
|
176
|
-
requirement: !ruby/object:Gem::Requirement
|
177
|
-
none: false
|
178
|
-
requirements:
|
179
|
-
- - ! '>='
|
180
|
-
- !ruby/object:Gem::Version
|
181
|
-
version: '0'
|
182
|
-
type: :runtime
|
183
|
-
prerelease: false
|
184
|
-
version_requirements: !ruby/object:Gem::Requirement
|
185
|
-
none: false
|
186
|
-
requirements:
|
187
|
-
- - ! '>='
|
188
|
-
- !ruby/object:Gem::Version
|
189
|
-
version: '0'
|
190
174
|
- !ruby/object:Gem::Dependency
|
191
175
|
name: trogdoro-el4r
|
192
176
|
requirement: !ruby/object:Gem::Requirement
|
@@ -282,6 +266,7 @@ files:
|
|
282
266
|
- README.markdown
|
283
267
|
- Rakefile
|
284
268
|
- bin/xiki
|
269
|
+
- etc/command/copy_xiki_command_to.rb
|
285
270
|
- etc/command/xiki_command.rb
|
286
271
|
- etc/command/xiki_process.rb
|
287
272
|
- etc/command/xiki_wrapper
|
@@ -471,6 +456,7 @@ files:
|
|
471
456
|
- menu/diffs.menu
|
472
457
|
- menu/dimensions_config.menu
|
473
458
|
- menu/dimensions_config.rb
|
459
|
+
- menu/dir.rb
|
474
460
|
- menu/disk.rb
|
475
461
|
- menu/do.rb
|
476
462
|
- menu/docs.menu
|
@@ -544,6 +530,7 @@ files:
|
|
544
530
|
- menu/rails.rb
|
545
531
|
- menu/rake.rb
|
546
532
|
- menu/random.menu
|
533
|
+
- menu/readme.rb
|
547
534
|
- menu/redis.menu
|
548
535
|
- menu/redmine.rb
|
549
536
|
- menu/riak_tree.rb
|
@@ -614,7 +601,9 @@ homepage: http://xiki.org
|
|
614
601
|
licenses:
|
615
602
|
- MIT
|
616
603
|
post_install_message:
|
617
|
-
rdoc_options:
|
604
|
+
rdoc_options:
|
605
|
+
- --exclude
|
606
|
+
- etc/templates/.*
|
618
607
|
require_paths:
|
619
608
|
- .
|
620
609
|
required_ruby_version: !ruby/object:Gem::Requirement
|