Showing with 71 additions and 45 deletions.
  1. +16 −12 CHANGES.md
  2. +4 −8 Makefile
  3. +44 −20 README.md
  4. +2 −2 claferwiki.cabal
  5. +2 −2 claferwiki.sh
  6. +3 −1 stack.yaml
28 changes: 16 additions & 12 deletions CHANGES.md
@@ -1,47 +1,51 @@
# claferwiki Version 0.4.2 released on Oct 16, 2015
* claferwiki Version 0.4.2.1 released on Oct 20, 2015

Updated to clafer 0.4.2.1, added stack instructions to README.

* claferwiki Version 0.4.2 released on Oct 16, 2015

[Release](https://github.com/gsdlab/claferwiki/pull/13)

# claferwiki Version 0.4.1 released on Sep 1, 2015
* claferwiki Version 0.4.1 released on Sep 1, 2015

[Release](https://github.com/gsdlab/claferwiki/pull/12)

# claferwiki Version 0.4.0 released on Jul 28, 2015
* claferwiki Version 0.4.0 released on Jul 28, 2015

[Release](https://github.com/gsdlab/claferwiki/pull/11)

# claferwiki Version 0.3.10 released on April 24, 2015
* claferwiki Version 0.3.10 released on April 24, 2015

[Release](https://github.com/gsdlab/claferwiki/pull/10)

# claferwiki Version 0.3.9 released on March 06, 2015
* claferwiki Version 0.3.9 released on March 06, 2015

[Release](https://github.com/gsdlab/claferwiki/pull/9)

# claferwiki Version 0.3.8 released on January 27, 2015
* claferwiki Version 0.3.8 released on January 27, 2015

[Release](https://github.com/gsdlab/claferwiki/pull/8)

# claferwiki Version 0.3.7 released on October 23, 2014
* claferwiki Version 0.3.7 released on October 23, 2014

[Release](https://github.com/gsdlab/claferwiki/pull/7)

# claferwiki Version 0.3.6.1 released on July 08, 2014
* claferwiki Version 0.3.6.1 released on July 08, 2014

[Release](https://github.com/gsdlab/claferwiki/pull/6)

# claferwiki Version 0.3.6 released on May 23, 2014
* claferwiki Version 0.3.6 released on May 23, 2014

[Release](https://github.com/gsdlab/claferwiki/pull/5)

# claferwiki Version 0.3.5 released on January 20, 2014
* claferwiki Version 0.3.5 released on January 20, 2014

[Release](https://github.com/gsdlab/claferwiki/pull/4)

# claferwiki Version 0.3.4 released on September 20, 2013
* claferwiki Version 0.3.4 released on September 20, 2013

[Release Diff](https://github.com/gsdlab/claferwiki/compare/61a313dd9f65c0a378d97bb4e04be2464af7dbe5...b705ad9744502d15ae39d8503808914c5e798d8d)

# claferwiki Version 0.3.3 released on August 14, 2013
* claferwiki Version 0.3.3 released on August 14, 2013

[Release](https://github.com/gsdlab/claferwiki/pull/1)
12 changes: 4 additions & 8 deletions Makefile
@@ -1,17 +1,13 @@
all:
cabal build

init:
cabal sandbox init --sandbox=../.clafertools-cabal-sandbox
cabal install gitit -fhighlighting -fhttps -fplugins -fnetwork-uri
cabal install --only-dependencies
stack build

install:
cabal install
stack install
@if test ! -d ".git"; then \
cp -f -r .git $(to); \
fi
mkdir -p $(to)
cp -f stack.yaml $(to)
cp -f gitit.cnf $(to)
cp -f claferwiki.sh $(to)
chmod +x $(to)/claferwiki.sh
Expand All @@ -30,4 +26,4 @@ update:
cp -f static/css/clafer.css $(to)/static/css/clafer.css

clean:
cabal clean
stack clean
64 changes: 44 additions & 20 deletions README.md
@@ -1,12 +1,19 @@
# Clafer Wiki
# Claferwiki

v0.4.2
v0.4.2.1

**ClaferWiki** is a wiki system integrated with [Clafer compiler](https://github.com/gsdlab/clafer). [Clafer](http://clafer.org) 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** is a wiki system integrated with [Clafer compiler](https://github.com/gsdlab/clafer). [Clafer](http://clafer.org) 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.
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](http://gitit.net/).
Also, Claferwiki acts as a collaborative, lightweight, web-based model publishing environment 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](http://gitit.net/).

Claferwiki is also integrated with other Clafer Web Tools, allowing to open the current page in:

* Clafer Integrated Development Environment ([ClaferIDE](https://github.com/gsdlab/claferIDE)),
* Clafer Configurator ([ClaferConfigurator](https://github.com/gsdlab/ClaferConfigurator)),
* Multi-Objective [Visualizer and Explorer](https://github.com/gsdlab/ClaferMooVisualizer)

### Live demo

Expand All @@ -28,25 +35,44 @@ Clafer can be installed either from Hackage or from the source code.

Regardless of the installation method, the following are required:

* [Clafer compiler](https://github.com/gsdlab/clafer/) v0.4.2
* [Clafer compiler](https://github.com/gsdlab/clafer/) v0.4.2.1
* [GHC](https://www.haskell.org/downloads) v7.10.*
* [Git](http://git-scm.com)
* [Gitit wiki](http://gitit.net) v0.11.1
* [Gitit wiki](http://gitit.net) v0.12.0.1
* GraphViz

### Installation from Hackage

Claferwiki is now available on [Hackage](http://hackage.haskell.org/package/claferwiki-0.4.2.1/) and it can be installed using either [`stack`](https://github.com/commercialhaskell/stack) or [`cabal-install`](https://hackage.haskell.org/package/cabal-install).

#### Installation using `stack`

Stack is the only requirement: no other Haskell tooling needs to be installed because stack will automatically install everything that's needed.

1. `stack update`
2. `stack install claferwiki`

#### Installation using `cabal-install`

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

### 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 'master` are guaranteed to work well together.
Development versions from branches `develop` should work well together but this might not always be the case.

### 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`
2. execute `stack update`
3. execute `make init`
4. [install clafer from source code](https://github.com/gsdlab/clafer#installation-from-the-source-code)
4. execute `make`
Expand All @@ -55,26 +81,24 @@ Regardless of the installation method, the following are required:
6. 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 'master` are guaranteed to work well together.
Development versions from branches `develop` should work well together but this might not always be the case.

# Usage

Wiki can be configured by editing the `gitit.cnf` file. See [Configuring and customizing gitit](http://gitit.net/README#configuring-and-customizing-gitit).

#### Installation using `stack`

* in the `<target directory>` execute `stack exec gitit -- -f gitit.cnf` to start the wiki server.

* in the `<target directory>` execute `claferwiki.sh` to start the wiki server
#### Using `cabal-install`

* in the `<target directory>` execute `claferwiki.sh` to start the wiki server.

The script can either use gitit and clafer installed in the user package space (default) or in the sandbox. The sandbox location can be provided using the parameter `--sandbox` as follows:

* `./claferwiki.sh --sandbox <relative or absolute path to the sandbox>`, or
* `./claferwiki.sh --sandbox` which will use the default sandbox location `../.clafertools-cabal-sandbox`

Wiki can be configured by editing the `gitit.cnf` file. See [Configuring and customizing gitit](http://gitit.net/README#configuring-and-customizing-gitit).

## Update

* in the `<source directory>` execute `git pull`
Expand Down
4 changes: 2 additions & 2 deletions claferwiki.cabal
@@ -1,5 +1,5 @@
Name: claferwiki
version: 0.4.2
version: 0.4.2.1
stability: experimental
author: Michał Antkiewicz, Chris Walker, Luke Michael Brown
maintainer: Michał Antkiewicz <mantkiew@gsd.uwaterloo.ca>
Expand Down Expand Up @@ -49,7 +49,7 @@ library
, gitit >= 0.12.0.1
, transformers-compat >= 0.3 && < 0.5

, clafer == 0.4.2
, clafer == 0.4.2.1
hs-source-dirs: src
ghc-options: -Wall -fno-warn-orphans
exposed-modules: Network.Gitit.Plugin.ClaferWiki
4 changes: 2 additions & 2 deletions claferwiki.sh
@@ -1,9 +1,9 @@
echo "-----------------------------------------"
echo "| ClaferWiki v0.4.2 |"
echo "| ClaferWiki v0.4.2.1 |"
echo "| https://github.com/gsdlab/claferwiki/ |"
echo "| By Michal Antkiewicz, Chris Walker |"
echo "| Generative Software Development Lab |"
echo "| Using `clafer -V` |"
echo "| Using `clafer -V` |"
echo "-----------------------------------------"
echo ""
echo "Starting gitit..."
Expand Down
4 changes: 3 additions & 1 deletion stack.yaml
Expand Up @@ -8,14 +8,16 @@ extra-deps:
, sendfile-0.7.9
]

resolver: lts-3.9
resolver: lts-3.10

flags:
sendfile:
portable: true
gitit:
plugins: true
network-uri: true
https: true
highlighting: true

packages:
- '../clafer'
Expand Down