Summary
Xiki is short for "Executable Wiki". It has wiki syntaxes for executing things, like shell commands, code (in various languages), sql, and even general-purpose menus you can define. Xiki runs mostly as a text editor plugin.
Links
- Home Page - http://xiki.org
- Twitter: http://twitter.com/xiki, http://twitter.com/xiki/favorites
- Communicate with the author, Craig Muth, here
- 3 Minute Intro Screencast
Xiki has wiki syntaxes for
- Normal wiki elements like headings and bullets
- Shell commands
- Files and directories
- File contents
- Sql
- url's (to open in the browser, or fetch and insert the contents)
- Code (ruby, javascript, python, etc.)
- Menus with nested items (just words indented by 2 spaces)
Examples
> A heading
- A bullet point
$ ls -l
$ ls -l
| -rw-r--r-- root wheel 2k May 22 2012 passwd
| -rw-r--r-- root wheel 1k May 22 2012 group
$ my-other-shell-command
| Results are inserted underneath when you
| double-click (or type control-enter) on the command.
| Then you can double-click again to collapse the output.
/tmp/
/tmp/my-other-diretory/
- my-file.txt
/tmp/my-other-diretory/
- my-file.txt
| Contents of
| the file.
/tmp/my-other-diretory/
$ ls
| file-in-this-dir.txt
| and-another.txt
select * from users
select * from users/
| id name description
| 1 Sam Wears sunglasses
| 2 Steve Edit rows and double-click to save back to the db
puts 1 + 2 # Double-click on this ruby code to run it
puts 1 + 2 # Double-click on this ruby code to run it
3
html/
| <h1>Double-click on one of these lines</h1>
| <p>to show this html in the browser</p>
css/
| h1 { color: red; },
| body {
| font-family: arial;
| font-size: 15px;
| },
js/alert('hi') // Double-click to run this javascript in your browser
dom/
- body/
- h1/
| Explore and edit the DOM of the current
| page in your browser
- div/
r/User.first
r/User.first
| --- !ruby/object:User
| attributes:
| id: 1
| name: Steve
| details: Runs code in rails apps.
| more: You can edit ActiveRecord models and double-click again to save.
couchdb/
- my_db/
- id_of_a_document/
| name: Steve
| description: Edit and double-click to save
- my_other_db/
bootstrap/
> Heading
This will be rendered in the browser as a bootstrap layout.
bootstrap/
> Heading
This will be have
(blank line)
> Another Heading
Two sections
bootstrap/
> Heading
This will be have
> Another Heading
Two columns, because blank line omitted
rails/
+ start/
- generate/
+ app/
- model/house/
> Example fields
| name:string
| details:text
| price:decimal
| purchased_at:datetime
| user:references
+ resource/
+ controller/
Xiki has menus for
- html, css, dom, rails, node, mysql, git, webgl, d3, brew, cassandra, coffee script, svg, apache, markdown, firefox, cookies, couch, curl, dom, itunes, memcache, mongo, python, rake, riak, rss, safari, sass, shoes, sinatra, rspec
- many more tools and frameworks
Misc Features
- Double-click or type control-enter on lines to run them
- You can type some letters to incrementally narrow down the output each time you run something, to show only lines that match
- Can be used as a development environment
- Navigate with your mouse or your keyboard
- Web interface for using menus
- Command-line interface for using menus
- Very simple mapping between classes and menus
- For creating interactive menus backed by code
Supported Editors
- Aquamacs
- Emacs
- experimental support
- Redcar
- Vim
- Sublime
Invitation from the Author
- The author has extended an invitation to anyone to remote pair program with him on Xiki for an hour
- No Xiki expertise is required - only enthusiasm about Xiki
- Ping him at http://twitter.com/xiki to set up a time
Ruby Conf 2012 Xiki talk
http://www.youtube.com/watch?v=QqOrQN0bxNE