soywiki 0.0.9 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/README.markdown +77 -24
- data/bin/soywiki-expand +5 -2
- data/bin/soywiki-ls-t +8 -6
- data/bin/soywiki-pages-linking-in +14 -18
- data/bin/soywiki-rename +40 -50
- data/lib/soywiki.rb +2 -9
- data/lib/soywiki.vim +171 -178
- metadata +4 -5
- data/website/soywiki.html +0 -446
data/website/soywiki.html
DELETED
@@ -1,446 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html lang="en">
|
3
|
-
<head>
|
4
|
-
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
5
|
-
<title>Vmail</title>
|
6
|
-
<link href="stylesheets-vmail/reset.css?1297299905" media="screen" rel="stylesheet" type="text/css" />
|
7
|
-
<link href="stylesheets-vmail/960.css?1297299905" media="screen" rel="stylesheet" type="text/css" />
|
8
|
-
<link href="stylesheets-vmail/text.css?1297299905" media="screen" rel="stylesheet" type="text/css" />
|
9
|
-
<link href="stylesheets-vmail/site.css?1297299905" media="screen" rel="stylesheet" type="text/css" />
|
10
|
-
<script type="text/javascript" src="http://w.sharethis.com/button/buttons.js"></script><script type="text/javascript">stLight.options({publisher:'8579b5f8-0860-4ea6-9ef1-6f0f58359a99'});</script>
|
11
|
-
<script type="text/javascript" src="lightbox2/js/prototype.js"></script>
|
12
|
-
<script type="text/javascript" src="lightbox2/js/scriptaculous.js?load=effects,builder"></script>
|
13
|
-
<script type="text/javascript" src="lightbox2/js/lightbox.js"></script>
|
14
|
-
<link rel="stylesheet" href="lightbox2/css/lightbox.css" type="text/css" media="screen" />
|
15
|
-
</head>
|
16
|
-
<body>
|
17
|
-
<div class="container_12">
|
18
|
-
<div class="grid_10 alpha" id="main">
|
19
|
-
<h1>SoyWiki</h1>
|
20
|
-
|
21
|
-
<p>SoyWiki is lightweight application that turns Vim into a fast and
|
22
|
-
powerful wiki.</p>
|
23
|
-
|
24
|
-
<p>A quick overview of its characteristics and features:</p>
|
25
|
-
|
26
|
-
<ul>
|
27
|
-
<li>flat text files</li>
|
28
|
-
<li>maximum data portability</li>
|
29
|
-
<li>high interoperability with Unix tools</li>
|
30
|
-
<li>Vim text editing power</li>
|
31
|
-
<li>super-efficient modes of wiki traversal</li>
|
32
|
-
<li>Git for versioning, distributed workflows, and blaming</li>
|
33
|
-
<li>CamelCase wiki words</li>
|
34
|
-
<li>namespaced wiki words</li>
|
35
|
-
<li>autocompletion of wiki words</li>
|
36
|
-
<li>automated global renaming of wiki words</li>
|
37
|
-
<li>syntax colored wiki words</li>
|
38
|
-
<li>outliner-like capability with expansion commands</li>
|
39
|
-
<li>operates on all POSIX systems (e.g. OS X, Linux, FreeBSD)</li>
|
40
|
-
</ul>
|
41
|
-
|
42
|
-
|
43
|
-
<p>SoyWiki builds on Vim's strengths as a text editor and interface to the
|
44
|
-
Unix operating system, SoyWiki makes it possible to create, navigate,
|
45
|
-
and refactor wiki content at the speed of thought.</p>
|
46
|
-
|
47
|
-
<p>SoyWiki is good for tracking projects, contacts, ideas, and collecting
|
48
|
-
and organizing research. SoyWiki combines the affordances of notebooks,
|
49
|
-
index cards, and Post-it notes, and adds to them the power of hyperlinks
|
50
|
-
and automatic indexing.</p>
|
51
|
-
|
52
|
-
<p>SoyWiki makes a great writing aid, especially if you do your writing in
|
53
|
-
Vim. You can have SoyWiki open in multiple Vim windows, tabs, and
|
54
|
-
buffers, alongside any number of regular Vim windows. Throw in a bunch
|
55
|
-
of Vim abbreviations (<code>:help abbreviations</code>), a large monitor, and a
|
56
|
-
teapot, and you'll have your paper, essay, book, or screenplay written
|
57
|
-
in record time.</p>
|
58
|
-
|
59
|
-
<p>SoyWiki is free and open source.</p>
|
60
|
-
|
61
|
-
<h2>Screenshots</h2>
|
62
|
-
|
63
|
-
<p><a href="images-soywiki/1.png" rel="lightbox[screens]"><img src="images-soywiki/1-small.png" /></a>
|
64
|
-
<a href="images-soywiki/autocomplete.png" rel="lightbox[screens]"><img src="images-soywiki/autocomplete-small.png" /></a>
|
65
|
-
<a href="images-soywiki/attach.png" rel="lightbox[screens]"><img src="images-soywiki/attach-small.png" /></a></p>
|
66
|
-
|
67
|
-
|
68
|
-
<h2>Prerequisites</h2>
|
69
|
-
|
70
|
-
<ul>
|
71
|
-
<li>a recent version of Vim (SoyWiki is developed against Vim 7.2 and 7.3)</li>
|
72
|
-
<li>a recent version of Ruby (SoyWiki is developed using Ruby 1.9.2)</li>
|
73
|
-
<li>RubyGems (if Ruby version is older than 1.9)</li>
|
74
|
-
<li>a recent version of Git (1.7.0.4 or above to be safe)</li>
|
75
|
-
</ul>
|
76
|
-
|
77
|
-
|
78
|
-
<p>The current version of SoyWiki assumes a Unix environment.</p>
|
79
|
-
|
80
|
-
<p>To use SoyWiki you should be fairly good at using Vim.</p>
|
81
|
-
|
82
|
-
<h2>Installation</h2>
|
83
|
-
|
84
|
-
<pre><code>gem install soywiki
|
85
|
-
</code></pre>
|
86
|
-
|
87
|
-
<p>Test your installation by typing <code>soywiki -h</code>. You should see SoyWiki's help.</p>
|
88
|
-
|
89
|
-
<p>On some systems you may run into a PATH issue, where the system can't find the
|
90
|
-
<code>soywiki</code> command after installation. Please report this if you encounter this
|
91
|
-
problem, and mention what system you're using. You might want to try</p>
|
92
|
-
|
93
|
-
<pre><code>sudo gem install soywiki
|
94
|
-
</code></pre>
|
95
|
-
|
96
|
-
<p>If you ever want to uninstall SoyWiki from your system, execute this command:</p>
|
97
|
-
|
98
|
-
<pre><code>gem uninstall soywiki
|
99
|
-
</code></pre>
|
100
|
-
|
101
|
-
<p>... and all traces of SoyWiki will removed.</p>
|
102
|
-
|
103
|
-
<p>New and improved versions of SoyWiki will be released over time. To install the
|
104
|
-
latest version, just type <code>gem install soywiki</code> again.</p>
|
105
|
-
|
106
|
-
<h2>Starting SoyWiki</h2>
|
107
|
-
|
108
|
-
<p>Before you start SoyWiki, create a directory that will hold your wiki
|
109
|
-
files and <code>cd</code> into it. Then you can start SoyWiki with</p>
|
110
|
-
|
111
|
-
<pre><code>soywiki
|
112
|
-
</code></pre>
|
113
|
-
|
114
|
-
<p>You can make as many SoyWiki wikis on your system as you want just by
|
115
|
-
creating directories for them. It's not a good idea however to nest
|
116
|
-
SoyWiki wiki directories within each other, for reasons that will become
|
117
|
-
clear below.</p>
|
118
|
-
|
119
|
-
<p>To use MacVim as your SoyWiki Vim engine, you can run soywiki like this</p>
|
120
|
-
|
121
|
-
<pre><code>SOYWIKI_VIM=mvim soywiki
|
122
|
-
</code></pre>
|
123
|
-
|
124
|
-
<p>or you can <code>export SOYWIKI_VIM=mvim</code> in your <code>~/.bash_profile</code> and then
|
125
|
-
just run <code>soywiki</code>.</p>
|
126
|
-
|
127
|
-
<h2>Basic usage</h2>
|
128
|
-
|
129
|
-
<p>For basic use, SoyWiki works exactly like a typical wiki.</p>
|
130
|
-
|
131
|
-
<p>You write text, and when you want to create a new wiki page, you come up
|
132
|
-
with a WikiWord for it and format it in CamelCase. The WikiLink you
|
133
|
-
just typed will automatically be syntax-highlighted, and pressing ENTER
|
134
|
-
on it will take you to the new page. Creating WikiWords and pressing
|
135
|
-
ENTER on them is the main way of linking wiki pages together. You'll be
|
136
|
-
surprised at how powerful this simple mechanism is for organizing your
|
137
|
-
notes.</p>
|
138
|
-
|
139
|
-
<p>That's all you need to know to get started.</p>
|
140
|
-
|
141
|
-
<h2>Wiki navigation</h2>
|
142
|
-
|
143
|
-
<p>Because SoyWiki is not just wiki but also a Vim program, it lets you
|
144
|
-
work a lot faster and with more economy than browser-based wikis.</p>
|
145
|
-
|
146
|
-
<p>You can navigate a SoyWiki wiki very quickly with the following
|
147
|
-
commands.</p>
|
148
|
-
|
149
|
-
<ul>
|
150
|
-
<li><code>CTRL-n</code> and <code>CTRL-p</code> move the cursor directly to the next or previous WikiLink on the page</li>
|
151
|
-
<li><code>ENTER</code> follows the WikiLink under the cursor</li>
|
152
|
-
<li><code>,f</code> follows the first WikiLink after the cursor</li>
|
153
|
-
<li><code>,-</code> opens a WikiLink in a split window</li>
|
154
|
-
<li><code>,|</code> does the same, but in a vertical split window</li>
|
155
|
-
</ul>
|
156
|
-
|
157
|
-
|
158
|
-
<p>You can also use Vim's jump motions <code>CTRL-o</code> and <code>CTRL-i</code> to move back
|
159
|
-
and forth in your jump history. See <code>:help jump-motions</code> for more on
|
160
|
-
this. You can press <code>CTRL-^</code> to toggle between the current page and the
|
161
|
-
last page you looked at.</p>
|
162
|
-
|
163
|
-
<p>You can view all the pages in your wiki, most recently modified first,
|
164
|
-
by press <code>,m</code>. This opens both a page list and autocompletion window.
|
165
|
-
You can use the standard Vim autocompletion commands here to find the
|
166
|
-
page you want and call it up. See Vim's <code>:help ins-completion-menu</code> for
|
167
|
-
further instructions.</p>
|
168
|
-
|
169
|
-
<p>When you're on a wiki page and you want to see all the other wiki pages
|
170
|
-
that link in to it, press <code>,M</code>. If there is only one page that links in,
|
171
|
-
you'll be taken there automatically.</p>
|
172
|
-
|
173
|
-
<p><code>,o</code> opens the first normal web hyperlink -- the ones that begin with http://
|
174
|
-
or https:// -- on or after the cursor in your default web browser.</p>
|
175
|
-
|
176
|
-
<p>Under the covers, SoyWiki uses the command <code>gnome-open</code> or <code>open</code> to
|
177
|
-
launch your web browser. This should cover Linux Gnome desktop and OS X
|
178
|
-
users. You can change the command SoyWiki uses to open a hyperlink by
|
179
|
-
adding this to your <code>~/.vimrc</code>:</p>
|
180
|
-
|
181
|
-
<pre><code>let g:SoyWiki#browser_command = "your browser command here"
|
182
|
-
</code></pre>
|
183
|
-
|
184
|
-
<p>If your Vim has <code>netrw</code>, you can open a hyperlink directly in same Vim
|
185
|
-
window by putting the cursor at the beginning of a hyperlink and typing
|
186
|
-
<code>gf</code>, or <code>C-w f</code> if you want to open the webpage in a split window. See
|
187
|
-
<code>:help netrw</code> for more information.</p>
|
188
|
-
|
189
|
-
<h2>WikiLink autocompletion</h2>
|
190
|
-
|
191
|
-
<p>When you're writing a wiki page and you want to link to another page,
|
192
|
-
SoyWiki can help you autocomplete your WikiLink. Press <code>CTRL-x CTRL-u</code>
|
193
|
-
in Vim insert mode to invoke it.</p>
|
194
|
-
|
195
|
-
<h2>Wiki refactoring</h2>
|
196
|
-
|
197
|
-
<p>You can rename a wiki page with<code>,r</code>. You'll see a prompt asking
|
198
|
-
you for the new name. Make sure it is valid CamelCase. After you press
|
199
|
-
ENTER, SoyWiki will rename the page and update all the links on other
|
200
|
-
pages in your wiki that need updating because of the change.</p>
|
201
|
-
|
202
|
-
<p>You can delete a page with <code>,#</code>.</p>
|
203
|
-
|
204
|
-
<p>Beyond the standard cut and paste, SoyWiki gives you four fast ways of
|
205
|
-
shuttling text from one wiki page to another.</p>
|
206
|
-
|
207
|
-
<p>First, highlight the text you want to move with Vim's visual mode. (See
|
208
|
-
<code>:help visual-mode</code> for more info)</p>
|
209
|
-
|
210
|
-
<p>Then, type</p>
|
211
|
-
|
212
|
-
<ul>
|
213
|
-
<li><code>:SWInsert [target]</code> to move the text to the top of target page</li>
|
214
|
-
<li><code>:SWAppend [target]</code> to move the text to the bottom of the target page</li>
|
215
|
-
<li><code>:SWLinkInsert [target]</code> performs <code>:SWInsert</code> and replaces the text with a WikiWord link</li>
|
216
|
-
<li><code>:SWLinkAppend [target]</code> performs <code>:SWAppend</code> and replaces the text with a WikiWord link</li>
|
217
|
-
</ul>
|
218
|
-
|
219
|
-
|
220
|
-
<p><code>[target]</code> is the name of the file that contains the wiki page you're
|
221
|
-
targeting. Press <code>TAB</code> for autocompletion help.</p>
|
222
|
-
|
223
|
-
<p>These commands will open the target page (if it isn't open already) in a
|
224
|
-
split window and insert or append the selected text into it. If the
|
225
|
-
target page doesn't exist, it will be created.</p>
|
226
|
-
|
227
|
-
<p>You can use these shortcuts:</p>
|
228
|
-
|
229
|
-
<ul>
|
230
|
-
<li><code>:SWInsert</code> → <code>:SWI</code></li>
|
231
|
-
<li><code>:SWAppend</code> → <code>:SWA</code></li>
|
232
|
-
</ul>
|
233
|
-
|
234
|
-
|
235
|
-
<p>With <code>:SWLinkInsert</code> and <code>:SWLinkAppend</code> you can use tab-autocompletion
|
236
|
-
to avoid typing out the whole command name.</p>
|
237
|
-
|
238
|
-
<h2>Search</h2>
|
239
|
-
|
240
|
-
<p>To search your SoyWiki wiki, type <code>:SWSearch [search term]</code>. Vim will
|
241
|
-
load any matches in the quickfix list window. If there are matches, you
|
242
|
-
can use <code>:cn</code> and <code>:cp</code> to go from match to match. See <code>:help quickfix</code>
|
243
|
-
for more QuickFix commands.</p>
|
244
|
-
|
245
|
-
<p>Searches are case-insensitve by default. To do a case-sensitive search,
|
246
|
-
add a <code>\C</code> to your search string, e.g.:</p>
|
247
|
-
|
248
|
-
<pre><code>:SWSearch Gnu\C
|
249
|
-
</code></pre>
|
250
|
-
|
251
|
-
<p>Again, you can use <code>:SWS</code> as a shortcut.</p>
|
252
|
-
|
253
|
-
<p>Under the hood, <code>:SWSearch</code> is just a thin wrapper around the <code>:vimgrep</code>
|
254
|
-
command.</p>
|
255
|
-
|
256
|
-
<h2>Revision history and distributed workflows</h2>
|
257
|
-
|
258
|
-
<p>SoyWiki delegates revision-tracking, syncing, and collaboration
|
259
|
-
workflows to Git. SoyWiki automatically creates a Git repository in
|
260
|
-
your wiki directory and automatically commits all the edits you make to
|
261
|
-
it. You can sync a SoyWiki wiki between two computers using the
|
262
|
-
standard Git push and pull commands. Collaborators can also edit a
|
263
|
-
common wiki this way, in peer to peer fashion.</p>
|
264
|
-
|
265
|
-
<p>SoyWiki provides a few convenient key mappings to view the revision
|
266
|
-
history of a wiki page:</p>
|
267
|
-
|
268
|
-
<ul>
|
269
|
-
<li><code>,l</code> shows a <code>git-log</code> view of the revision history of the current page</li>
|
270
|
-
<li><code>,b</code> shows a <code>git-blame</code> view of the current page, which shows when each line was added and by whom.</li>
|
271
|
-
<li><code>:SWLogStat</code> shows a <code>git log --stat</code> view of the current page's revision history</li>
|
272
|
-
</ul>
|
273
|
-
|
274
|
-
|
275
|
-
<p>You can always bypass Vim and SoyWiki altogether and use Git directly to
|
276
|
-
inspect your revision history. The Git repo for your SoyWiki wiki will
|
277
|
-
be located in the same directory as your wiki files.</p>
|
278
|
-
|
279
|
-
<p>To sync your SoyWiki wiki between two personal computers, just follow
|
280
|
-
the general instructions <a href="http://www-cs-students.stanford.edu/~blynn/gitmagic/ch03.html">here</a>.</p>
|
281
|
-
|
282
|
-
<h2>Namespaced WikiWords</h2>
|
283
|
-
|
284
|
-
<p>You can get very far with SoyWiki using normal CamelCase WikiWords.</p>
|
285
|
-
|
286
|
-
<pre><code>NormalWikiWord
|
287
|
-
</code></pre>
|
288
|
-
|
289
|
-
<p>But if you want, you can also namespace your WikiWords, like so:</p>
|
290
|
-
|
291
|
-
<pre><code>namespaced.WikiWord
|
292
|
-
</code></pre>
|
293
|
-
|
294
|
-
<p>A namespaced WikiWord is a WikiWord prefixed by a namespace and a
|
295
|
-
period. The namespace word must start with a lower-case letter and
|
296
|
-
consist only of letters, numbers, and underscore characters. You can't
|
297
|
-
chain namespace words together: the maximum nesting level is 1.</p>
|
298
|
-
|
299
|
-
<p>Namespaced WikiWords help organize your wiki space conceptually. They also
|
300
|
-
have two other benefits:</p>
|
301
|
-
|
302
|
-
<p>First, wiki pages that represent a namespaced WikiWord are stored under a
|
303
|
-
subdirectory named after the namespace. This can help reduce clutter in
|
304
|
-
your wiki directory.</p>
|
305
|
-
|
306
|
-
<p>Second, a WikiWord namespace lets you use abbreviated links within that
|
307
|
-
namespace. For example, if you are editing a page called
|
308
|
-
<code>recipes.SoyMacaroni</code> and you want to link to another page in the same
|
309
|
-
namespace called <code>recipes.SoyRaspberrySmoothie</code> you can type the link in
|
310
|
-
this special abbreviated form:</p>
|
311
|
-
|
312
|
-
<pre><code>.SoyRaspberrySmoothie
|
313
|
-
</code></pre>
|
314
|
-
|
315
|
-
<p>SoyWiki will know from the leading period that this is a link to another
|
316
|
-
page in the same namespace.</p>
|
317
|
-
|
318
|
-
<p>WikiLink autocompletion also works with abbreviated namespaced links. Just type a
|
319
|
-
period, and invoke autocompletion with <code>CTRL-x CTRL-u</code>.</p>
|
320
|
-
|
321
|
-
<h2>Expanding a wiki page</h2>
|
322
|
-
|
323
|
-
<p>SoyWiki lets you "expand" a wiki page. What this does is expand all the
|
324
|
-
wiki links in the page that appear alone on a line. Each of these links
|
325
|
-
is replaced by the content of the wiki page the link points to. This
|
326
|
-
expansion works recursively on all the expanded content. Don't worry.
|
327
|
-
It can't fall into an infinite recursive loop because it will only
|
328
|
-
expand each WikiWord it encounters once, leaving all subsequent
|
329
|
-
references to the same WikiWord unexpanded.</p>
|
330
|
-
|
331
|
-
<p>The expanded version of the page will appear in a new Vim scratch buffer.
|
332
|
-
From there you can write it out to a new text file, pipe it to <code>lpr</code> to
|
333
|
-
print it, or whatever you like.</p>
|
334
|
-
|
335
|
-
<p>There are two forms of expansion: seamful and seamless. Seamful
|
336
|
-
expansion expands wiki links into wiki pages and clearly marks where
|
337
|
-
this has happened by including markers along with the WikiWord that was
|
338
|
-
expanded. Seamless expansion does not mark a point of expansion with
|
339
|
-
anything, and it erases the WikiWord that got expanded.</p>
|
340
|
-
|
341
|
-
<ul>
|
342
|
-
<li><code>,x</code> expands a wiki page seamfully</li>
|
343
|
-
<li><code>,X</code> expands a wiki page seamlessly</li>
|
344
|
-
</ul>
|
345
|
-
|
346
|
-
|
347
|
-
<p>Both modes of expansion are useful when you want to assemble a long
|
348
|
-
piece of writing by using one page as a master outline that links to
|
349
|
-
other wiki pages that include the real content. And since expansion is
|
350
|
-
recursive, you can effectively nest outlines within outlines, like
|
351
|
-
dreams within dreams.</p>
|
352
|
-
|
353
|
-
<h2>Getting help</h2>
|
354
|
-
|
355
|
-
<p>Typing <code>,?</code> will open the help webpage in a browser.</p>
|
356
|
-
|
357
|
-
<h2>Why CamelCase WikiLinks rule</h2>
|
358
|
-
|
359
|
-
<p>Some people don't like the CamelCase (a.k.a. WikiCase) wiki link
|
360
|
-
pattern. But SoyWiki embraces it and wants everyone to adopt it, for the
|
361
|
-
following reasons:</p>
|
362
|
-
|
363
|
-
<ul>
|
364
|
-
<li>Besides being the original, CamelCase is the most elegantly minimalist approach to linking wiki pages together -- "with no additional markup whatsoever," as <a href="http://c2.com/cgi/wiki?WikiCase">Ward Cunningham put it</a>.</li>
|
365
|
-
<li>It encourages you more than other wiki link patterns to create wiki pages with succinctly descriptive names that are easy to remember.</li>
|
366
|
-
<li>Because the link pattern is so minimal and succinct, writing
|
367
|
-
them interrupts your flow of thought a lot less than other wiki patterns.</li>
|
368
|
-
<li>It is very conducive to storing
|
369
|
-
wiki pages in plain text files: the page names can map directly to Unix
|
370
|
-
file names without any awkward character escaping.</li>
|
371
|
-
</ul>
|
372
|
-
|
373
|
-
|
374
|
-
<h2>Why name a wiki engine after a legume?</h2>
|
375
|
-
|
376
|
-
<p>I am a fan of food made of <a href="http://www.mayoclinic.com/health/soy/NS_patient-soy">soy</a>: soy ice cream, soy milk, soy
|
377
|
-
burgers, soy butter, you name it. The word "soy" has come to signify a
|
378
|
-
newer, lighter, healthier alternative to the same old same old. SoyWiki
|
379
|
-
may not be an actual soy product, but it tries to be a wiki engine with
|
380
|
-
soy-like benefits.</p>
|
381
|
-
|
382
|
-
<h2>How to contact the developer</h2>
|
383
|
-
|
384
|
-
<p>My name is Daniel Choi. I am based in Cambridge, Massachusetts, USA, and you
|
385
|
-
can email me at dhchoi {at} gmail.com.</p>
|
386
|
-
|
387
|
-
<h2>How to support the SoyWiki project</h2>
|
388
|
-
|
389
|
-
<p>If you find SoyWiki very useful, feel free to drop me a note to say so. If you
|
390
|
-
have a bug to report or a good feature to suggest, please file it on the <a href="https://github.com/danchoi/soywiki/issues">issue
|
391
|
-
tracker</a>.</p>
|
392
|
-
|
393
|
-
</div>
|
394
|
-
<div class="grid_2 omega">
|
395
|
-
|
396
|
-
<div class="sidebar">
|
397
|
-
|
398
|
-
<h4>current version</h4>
|
399
|
-
|
400
|
-
<ul>
|
401
|
-
<li>
|
402
|
-
0.0.3
|
403
|
-
</li>
|
404
|
-
</ul>
|
405
|
-
|
406
|
-
<h4>links</h4>
|
407
|
-
<ul>
|
408
|
-
<li><a href="https://github.com/danchoi/soywiki">github repo</a></li>
|
409
|
-
<li><a href="https://rubygems.org/gems/soywiki">rubygems page</a></li>
|
410
|
-
<li><a href="https://github.com/danchoi/soywiki/issues">issue tracker</a></li>
|
411
|
-
<li><a href="https://github.com/danchoi/soywiki/commits/master">commit history</a></li>
|
412
|
-
<li><a href="https://github.com/danchoi/soywiki/wiki">wiki</a></li>
|
413
|
-
</ul>
|
414
|
-
|
415
|
-
<h4>share this</h4>
|
416
|
-
|
417
|
-
<span class="st_twitter_large" displayText="Tweet"></span><span class="st_facebook_large" displayText="Facebook"></span><span class="st_ybuzz_large" displayText="Yahoo! Buzz"></span><span class="st_gbuzz_large" displayText="Google Buzz"></span><span class="st_email_large" displayText="Email"></span><span class="st_sharethis_large" displayText="ShareThis"></span>
|
418
|
-
|
419
|
-
|
420
|
-
<div class="also-by">
|
421
|
-
<h4>also by this developer</h4>
|
422
|
-
<ul class="cross-promo">
|
423
|
-
<li><a href="http://vmail.com">vmail<a/></li>
|
424
|
-
<li><a href="http://instantwatcher.com">instantwatcher.com<a/></li>
|
425
|
-
<li><a href="http://openmbta.org">OpenMBTA<a/></li>
|
426
|
-
<li><a href="http://kindlefeeder.com">kindlefeeder.com<a/></li>
|
427
|
-
</ul>
|
428
|
-
</div>
|
429
|
-
|
430
|
-
|
431
|
-
</div>
|
432
|
-
|
433
|
-
</div>
|
434
|
-
</div>
|
435
|
-
|
436
|
-
<script type="text/javascript">
|
437
|
-
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
|
438
|
-
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
|
439
|
-
</script>
|
440
|
-
<script type="text/javascript">
|
441
|
-
var pageTracker = _gat._getTracker("UA-4028996-5");
|
442
|
-
pageTracker._initData();
|
443
|
-
pageTracker._trackPageview();
|
444
|
-
</script>
|
445
|
-
</body>
|
446
|
-
</html>
|