Welcome to the IGB Worg

Welcome to the IGB Worg

Introduction

Welcome to Worg - a wiki engine built around org-mode and org-babel. Here you can edit any page in org-mode syntax, taking advantage of org-babel to run R, perl, python, or sh code. Markup is easily converted to HTML and elements can be styled using Twitter Bootstrap.


To view and/or edit private pages, please Login first. To view all pages visible to you, please visit the Index. See the internal wiki to create an account.

Features

Compilation of code blocks
Twitter Bootstrap UI
R Shiny app integration
Simple markup language for creating runnable reports
Version control and RSS feeds
Code block caching
User permissions
Project specific read-only accounts
Search
Syntax Highlighting
In-browser editor
Comments and attachments

Syntax

The syntax used by worg is the same as that of org-mode including org-babel as would be found in your native emacs client, for emacs versions > 23.1.

Included in the Worg is an alternative syntax for R code blocks (python, sh, and perl are all also supported through org-babel). For this, please see the tutorial at tutorial.html.

Navigation

Visit index.html for a list of pages available to you. After logging in and joining a project, you will have access to private pages and depending on write permissions, will be able to edit some pages.

Permissions

Permissions can be set using a .auth file within any project folder. These settings will be inherited by any children directories, or can be overridden. For example, the following .auth file will allow only the user Michael Zeller to edit the files, but anyone within the projects bogi and baldig will be able to view. Additionally, the ignore directive will omit directories and all subdirectories matching any name on the ignore list, so that they will not be searched or displayed on the Index.

[users]
users[]=Michael Zeller

[projects]
projects[]=igb
projects[]=collaborator

[ignore]
ignore[]="opt"
ignore[]=".git"

Editing pages

Files can be edited in the terminal and checked in via git which will trigger autocompilation of any changed files.

Alternatively, a built-in editor is provided for easily editing pages on the web. To edit any page, simply visit that page followed by &mode=edit, for example to edit this page you would visit intro.html&mode=edit. If you are not currently logged in or you have insufficient access, you will be prompted to login or change users.

Since org-mode is built on the emacs text editor, editing via emacs is preferred over the browser. To use the editor from the command line use the following aliases (in your ~/.bashrc):

alias edit-org="bash /path/to/worg/utils/edit.sh"
alias compile-org="bash /path/to/worg/utils/compile.sh"

Example

You can view the source of this page for a basic example of the org-mode syntax. This can be accessed for any page by selection "Source" from the "View" dropdown menu (after logging in), or can be viewed for this page by visiting: intro.html&mode=source

#+TITLE: Welcome to the IGB Worg
#+AUTHOR: Michael Zeller
#+EMAIL: zellerm@uci.edu
#+OPTIONS: toc:nil
#+INFOJS_OPT: up:index.html view:showall

* Introduction

Welcome to Worg - a wiki engine built around =org-mode= and =org-babel=. Here you can edit any page in =org-mode= syntax, taking advantage of =org-babel= to run =R=, =perl=, =python=, or =sh= code. Markup is easily converted to HTML and elements can be styled using Twitter Bootstrap.

#+BEGIN_HTML
<br>
To view and/or edit private pages, please <a class="btn btn-primary btn-small" href="intro.html&mode=login">Login</a> first. To view all pages visible to you, please visit the <a href='index.html'>Index</a>. See the internal wiki to create an account.
#+END_HTML

* Features

#+BEGIN_HTML
<div class='alert alert-success'>Compilation of code blocks</div>
<div class='alert alert-success'>Twitter Bootstrap UI</div>
<div class='alert alert-success'>R Shiny app integration</div>
<div class='alert alert-error'>Simple markup language for creating runnable reports</div>
<div class='alert alert-error'>Version control and RSS feeds</div>
<div class='alert alert-error'>Code block caching</div>
<div class='alert alert-success'>User permissions</div>
<div class='alert alert-success'>Project specific read-only accounts</div>
<div class='alert alert-error'>Search</div>
<div class='alert alert-error'>Syntax Highlighting</div>
<div class='alert alert-success'>In-browser editor</div>
<div class='alert alert-error'>Comments and attachments</div>
#+END_HTML

* Syntax

The syntax used by worg is the same as that of =org-mode= including =org-babel= as would be found in your native =emacs= client, for =emacs= versions > =23.1=.

- =org-mode= Syntax Guide
- =org-babel= Syntax Guide

Included in the Worg is an alternative syntax for =R= code blocks (=python=, =sh=, and =perl= are all also supported through =org-babel=). For this, please see the tutorial at file:tutorial.html.

* Navigation

Visit file:index.html for a list of pages available to you. After logging in and joining a project, you will have access to private pages and depending on write permissions, will be able to edit some pages.

* Permissions

Permissions can be set using a =.auth= file within any project folder. These settings will be inherited by any children directories, or can be overridden. For example, the following =.auth= file will allow only the user *Michael Zeller* to edit the files, but anyone within the projects *bogi* and *baldig* will be able to view. Additionally, the ignore directive will omit directories and all subdirectories matching any name on the ignore list, so that they will not be searched or displayed on the Index.

#+BEGIN_EXAMPLE
[users]
users[]=Michael Zeller

[projects]
projects[]=igb
projects[]=collaborator

[ignore]
ignore[]="opt"
ignore[]=".git"
#+END_EXAMPLE

* Editing pages

Files can be edited in the terminal and checked in via git which will trigger autocompilation of any changed files. 

Alternatively, a built-in editor is provided for easily editing pages on the web. To edit any page, simply visit that page followed by &mode=edit, for example to edit this page you would visit file:intro.html&mode=edit. If you are not currently logged in or you have insufficient access, you will be prompted to login or change users.

Since org-mode is built on the =emacs= text editor, editing via =emacs= is preferred over the browser. To use the editor from the command line use the following aliases (in your =~/.bashrc=):

#+BEGIN_EXAMPLE
alias edit-org="bash /path/to/worg/utils/edit.sh"
alias compile-org="bash /path/to/worg/utils/compile.sh"
#+END_EXAMPLE

* Example

You can view the source of this page for a basic example of the =org-mode= syntax. This can be accessed for any page by selection "Source" from the "View" dropdown menu (after logging in), or can be viewed for this page by visiting: file:intro.html&mode=source

#+INCLUDE: intro.org src org