The claferwiki package

[Tags: library, mit]

A wiki-based IDE for literate modeling with Clafer. A Plugin for the Gitit wiki which collects code blocks written in Clafer (.clafer), compiles them, renders into HTML and Dot, and replaces the code blocks with the results.


[Skip to ReadMe]

Properties

Versions0.3.5, 0.3.5.1, 0.3.6, 0.3.6.1, 0.3.7, 0.3.8, 0.3.9, 0.3.10, 0.4.0 (info)
Change logCHANGES.md
Dependenciesbase (>=4.8.0.0 && <5), clafer (==0.4.0), containers (>=0.5.6.2), directory (>=1.2.2.0), gitit (>=0.10.6.3), MissingH (>=1.3.0.1), mtl (>=2.2.1), network (>=2.6.2.1), network-uri (>=2.6.0.3), process (>=1.2.3.0), SHA (>=1.6.4.2), split (>=0.2.2), time (>=1.5.0.1), transformers (>=0.4.2.0), utf8-string (>=1) [details]
LicenseMIT
CopyrightMichal Antkiewicz, Chris Walker, Luke Michael Brown
AuthorMichał Antkiewicz, Chris Walker, Luke Michael Brown
MaintainerMichał Antkiewicz <mantkiew@gsd.uwaterloo.ca>
Stabilityexperimental
CategoryWiki
Home pagehttp://github.com/gsdlab/claferwiki
Source repositoryhead: git clone git://github.com/gsdlab/claferwiki.git
UploadedTue Jul 28 17:50:24 UTC 2015 by mantkiew
Downloads930 total (77 in last 30 days)
Votes
0 []
StatusDocs pending
Build status unknown [no reports yet]

Modules

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for claferwiki-0.4.0

Clafer Wiki

v0.4.0 ClaferWiki is a wiki system integrated with Clafer compiler. Clafer is a lightweight yet powerful structural modeling language. ClaferWiki allows for embedding Clafer model fragments in wiki pages and provides model authoring support including code highlighting, parse and semantic error reporting, hyperlinking from identifier use to its definition, and graphical view rendering. ClaferWiki supports informal-to-formal modeling, that is, gradually refining parts of specification in natural language into a Clafer model fragments. ClaferWiki supports literate modeling - both the rich text and the model fragments can be freely mixed. Informal-to-formal modeling is important during domain modeling. Also, ClaferWiki acts as a collaborative, lightweight, web-based integrated development environment (IDE) for Clafer. In addition to code highlighting, error reporting, hyperlinking, and graphical view rendering, it also provides model versioning and distributed online/offline editing capabilities as it is based on the Git distributed version control system and the Gitit wiki.

Live demo

Try me! If the demo is down or you encounter a bug, please email Michal Antkiewicz.

Contributors

Getting the Clafer Wiki

Clafer can be installed either from Hackage or from the source code.

Dependencies for running

Regardless of the installation method, the following are required:

Installation from Hackage

  1. cabal update
  2. cabal install claferwiki-0.4.0 -fhighlighting -fhttps -fplugins -fnetwork-uri
  3. cd <cabal's lib or share folder> (C:\Users\<user>\AppData\Roaming\cabal\i386-windows-ghc-7.10.1\claferwiki-0.4.0 on Windows or .cabal/share/x86_64-linux-ghc-7.10.1/claferwiki-0.4.0/ on Linux)
    • execute make install to=<target directory>
    • this will copy the wiki files

Installation from source code

  1. In some <source directory> where you want to have the wiki source code
    • execute git clone git://github.com/gsdlab/claferwiki.git
  2. execute cabal update
  3. execute make init
  4. install clafer from source code
  5. execute make
  6. execute make install to=<target directory>
    • this will copy the wiki files
  7. in <target directory>, execute git init to create a git repository for the wiki data
    • NOTE: see repository-path: option in gitit.cnf

Important: Branches must correspond

All related projects are following the simultaneous release model. The branch master contains releases, whereas the branch develop contains code under development. When building the tools, the branches should match. Releases from branches 'masterare guaranteed to work well together. Development versions from branchesdevelop` should work well together but this might not always be the case.

Usage

Update

Features

<a href="https://raw.github.com/gsdlab/claferwiki/master/spec/telematics-screenshot-1.png"> <img src="https://raw.github.com/gsdlab/claferwiki/master/spec/telematics-screenshot-1.png" width="30%" alt="Telematics Example, Module Overview"> </a> <a href="https://raw.github.com/gsdlab/claferwiki/master/spec/telematics-screenshot-2.png"> <img src="https://raw.github.com/gsdlab/claferwiki/master/spec/telematics-screenshot-2.png" width="30%" alt="Telematics Example, Module Details" > </a>

Using Clafer Wiki

For general usage information for the GitIt wiki see the README. You can insert code blocks with clafer code anywhere in the page as follows: ```clafer <here goes your model fragment> ``` The model overview, including the graph, stats, and download links, can be added as follows: ``` {.clafer .summary} <the contents in this block are ignored> ``` To have the code blocks correctly processed, make sure to add an empty line before and after the code block, even if the code block is the last element on the page.

How it works

Need help?