Skip to content

Commit

Permalink
Merge pull request #11 from gsdlab/develop
Browse files Browse the repository at this point in the history
Release 0.4.0
  • Loading branch information
mantkiew committed Jul 28, 2015
2 parents 0f36288 + 4f3225c commit bbe0d99
Show file tree
Hide file tree
Showing 5 changed files with 102 additions and 66 deletions.
22 changes: 13 additions & 9 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,39 @@
**ClaferIG Version 0.3.10 released on April 24, 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

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

**ClaferIG 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)

**ClaferIG 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)

**ClaferIG 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)

**ClaferIG 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)

**ClaferIG 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)

**ClaferIG 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)

**ClaferIG 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)

**ClaferIG 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)
44 changes: 20 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
Clafer Wiki
===========
# Clafer Wiki

v0.3.10
v0.4.0

**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.

Expand All @@ -15,32 +14,31 @@ Also, ClaferWiki acts as a collaborative, lightweight, web-based integrated deve

If the demo is down or you encounter a bug, please email [Michal Antkiewicz](mailto:mantkiew@gsd.uwaterloo.ca).

Contributors
------------
## Contributors

* [Michał Antkiewicz](http://gsd.uwaterloo.ca/mantkiew), Main developer. Requirements, development, architecture, testing, technology transfer.
* Chris Walker, co-op student May-Aug, 2012. Developer of Clafer Wiki, HTML and GraphViz generators.
* [Jimmy Liang](http://gsd.uwaterloo.ca/jliang), Clafer compiler support, including multi-fragment compilation, source/AST/IR traceability, parsing and compilation error reporting.

Getting the Clafer Wiki
-----------------------
## 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:

* [Clafer compiler](https://github.com/gsdlab/clafer/) v0.3.10.
* [The Haskell Platform](http://hackage.haskell.org/platform) v2014.2.0.0.
* [Clafer compiler](https://github.com/gsdlab/clafer/) v0.4.0
* [GHC](https://www.haskell.org/downloads) v7.10.*
* [Git](http://git-scm.com)
* [Gitit wiki](http://gitit.net) v0.10.6.2.
* [Gitit wiki](http://gitit.net) v0.11.1
* GraphViz

### Installation from Hackage

1. `cabal update`
2. `cabal install claferwiki-0.3.10 -fhighlighting -fhttps -fplugins -fnetwork-uri`
3. `cd <cabal's lib or share folder>` (`C:\Users\<user>\AppData\Roaming\cabal\i386-windows-ghc-7.8.3\claferwiki-0.3.10` on Windows or `.cabal/share/x86_64-linux-ghc-7.8.3/claferwiki-0.3.10/` on Linux)
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

Expand All @@ -54,6 +52,8 @@ Regardless of the installation method, the following are required:
4. execute `make`
5. execute `make install to=<target directory>`
* this will copy the wiki files
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

Expand All @@ -63,8 +63,8 @@ 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
=====
# Usage


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

Expand All @@ -75,15 +75,13 @@ The script can either use gitit and clafer installed in the user package space (

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

Update
------
## Update

* in the `<source directory>` execute `git pull`
* execute `make update to=<target directory>`
* this will keep the directory structure and your existing git repository with the wiki contents

Features
--------
## 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">
Expand All @@ -100,8 +98,7 @@ Features
* overview with graph rendering, statistics, and download links for the entire model source and self-contained HTML rendering
* integration with ClaferMooVisualizer

Using Clafer Wiki
-----------------
## Using Clafer Wiki

For general usage information for the GitIt wiki see the [README](http://gitit.net/README).

Expand All @@ -124,8 +121,7 @@ The model overview, including the graph, stats, and download links, can be added

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
------------
## How it works

* Clafer Wiki is a set of plugins for the GitIt wiki which processes clafer code blocks and invokes the Clafer compiler.
* All code blocks on a single page are interpreted as a single module.
Expand All @@ -135,7 +131,7 @@ How it works
* links to the types of references
* compiler error highlights

Need help?
==========
# Need help?

* Visit [language's website](http://clafer.org).
* Report issues to [issue tracker](https://github.com/gsdlab/claferwiki/issues)
35 changes: 17 additions & 18 deletions claferwiki.cabal
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Name: claferwiki
version: 0.3.10
version: 0.4.0
stability: experimental
author: Michał Antkiewicz, Chris Walker, Luke Michael Brown
maintainer: Michał Antkiewicz <mantkiew@gsd.uwaterloo.ca>
Expand All @@ -12,8 +12,7 @@ build-type: Simple
copyright: Michal Antkiewicz, Chris Walker, Luke Michael Brown
license: MIT
license-file: LICENSE
tested-with: GHC == 7.8.3
, GHC == 7.10.1
tested-with: GHC == 7.10.1
data-files: claferwiki.sh
, gitit.cnf
, Makefile
Expand All @@ -27,26 +26,26 @@ source-repository head
type: git
location: git://github.com/gsdlab/claferwiki.git
library
build-tools : ghc >= 7.8.3
build-tools : ghc >= 7.10.1
default-language: Haskell2010
build-depends: base >= 4.7.0.1 && < 5
, containers >= 0.5.5.1
, directory >= 1.2.1.0
, process >= 1.1.0.2
, time >= 1.4.2
, transformers >= 0.3.0.0
build-depends: base >= 4.8.0.0 && < 5
, containers >= 0.5.6.2
, directory >= 1.2.2.0
, process >= 1.2.3.0
, time >= 1.5.0.1
, transformers >= 0.4.2.0

, mtl >= 2.1.3.1
, network >= 2.6
, mtl >= 2.2.1
, network >= 2.6.2.1
, split >= 0.2.2

, MissingH >= 1.2.1.0
, network-uri >= 2.6
, SHA >= 1.6.4
, utf8-string >= 0.3.8
, gitit >= 0.10.6.2
, MissingH >= 1.3.0.1
, network-uri >= 2.6.0.3
, SHA >= 1.6.4.2
, utf8-string >= 1
, gitit >= 0.10.6.3

, clafer == 0.3.10
, clafer == 0.4.0
hs-source-dirs: src
ghc-options: -Wall -fno-warn-orphans
exposed-modules: Network.Gitit.Plugin.ClaferWiki
4 changes: 2 additions & 2 deletions claferwiki.sh
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
echo "-----------------------------------------"
echo "| ClaferWiki v0.3.10 |"
echo "| ClaferWiki v0.4.0 |"
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
63 changes: 50 additions & 13 deletions gitit.cnf
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
# gitit wiki configuration file

# address: 0.0.0.0
# sets the IP address on which the web server will listen.

port: 8091
# sets the port on which the web server will run.

wiki-title: Clafer Wiki
wiki-title: Clafer Model Wiki
# the title of the wiki.

repository-type: Git
Expand Down Expand Up @@ -34,6 +37,10 @@ authentication-method: form
# will attempt to log in through https://rpxnow.com.
# This requires that 'rpx-domain', 'rpx-key', and 'base-url'
# be set below, and that 'curl' be in the system path.
# 'github' means that you are redirected to github website and
# need to avail gitit to use your credential from there (github name and
# email). Your email is used to identify you when you push your wiki data
# to git to identify you as the author.

user-file: gitit-users
# specifies the path of the file containing user login information.
Expand All @@ -48,18 +55,22 @@ static-dir: static
# css, and images). If it does not exist, gitit will create it
# and populate it with required scripts, stylesheets, and images.

default-extension: page
# files in the repository path must have this extension in order
# to be recognized as Wiki pages

default-page-type: Markdown
# specifies the type of markup used to interpret pages in the wiki.
# Possible values are Markdown, RST, LaTeX, HTML, Markdown+LHS, RST+LHS,
# and LaTeX+LHS. (The +LHS variants treat the input as
# Possible values are Markdown, CommonMark, RST, LaTeX, HTML, Markdown+LHS,
# RST+LHS, LaTeX+LHS, DocBook, Org. (The +LHS variants treat the input as
# literate Haskell. See pandoc's documentation for more details.) If
# Markdown is selected, pandoc's syntax extensions (for footnotes,
# delimited code blocks, etc.) will be enabled. Note that pandoc's
# reStructuredText parser is not complete, so some pages may not be
# rendered correctly if RST is selected. The same goes for LaTeX and
# HTML.

math: MathML
math: mathjax
# specifies how LaTeX math is to be displayed. Possible values
# are MathML, raw, mathjax, jsMath, and google. If mathml is selected,
# gitit will convert LaTeX math to MathML and link in a script,
Expand All @@ -73,6 +84,16 @@ math: MathML
# API is called to render the formula as an image. This requires a connection
# to google, and might raise a technical or a privacy problem.

mathjax-script: https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML
# specifies the path to MathJax rendering script.
# You might want to use your own MathJax script to render formulas without
# Internet connection or if you want to use some special LaTeX packages.
# Note: path specified there cannot be an absolute path to a script on your hdd,
# instead you should run your (local if you wish) HTTP server which will
# serve the MathJax.js script. You can easily (in four lines of code) serve
# MathJax.js using http://happstack.com/docs/crashcourse/FileServing.html
# Do not forget the "http://" prefix (e.g. http://localhost:1234/MathJax.js)

show-lhs-bird-tracks: no
# specifies whether to show Haskell code blocks in "bird style",
# with "> " at the beginning of each line.
Expand Down Expand Up @@ -122,12 +143,13 @@ table-of-contents: yes
plugins:
# specifies a list of plugins to load. Plugins may be specified
# either by their path or by their module name. If the plugin name
# starts with Network.Gitit.Plugin., gitit will assume that the plugin is
# starts with Gitit.Plugin., gitit will assume that the plugin is
# an installed module and will not try to find a source file.
# Examples:
plugins: Network.Gitit.Plugin.ClaferWiki
# plugins: plugins/DotPlugin.hs, CapitalizeEmphasisPlugin.hs
# plugins: plugins/DotPlugin
# plugins: Network.Gitit.Plugin.InterwikiLinks
# plugins: Gitit.Plugin.InterwikiLinks

use-cache: no
# specifies whether to cache rendered pages. Note that if use-feed
Expand All @@ -140,7 +162,7 @@ max-upload-size: 100K
# specifies an upper limit on the size (in bytes) of files uploaded
# through the wiki's web interface.
# To disable uploads, set this to 0K.
# This will result in the uploads link disappearing
# This will result in the uploads link disappearing
# and the _upload url becoming inactive.

max-page-size: 100K
Expand All @@ -152,7 +174,7 @@ debug-mode: no
compress-responses: yes
# specifies whether HTTP responses should be compressed.

# mime-types-file: /cygdrive/c/dev/cygwin/etc/email/mime.types
mime-types-file: /etc/mime.types
# specifies the path of a file containing mime type mappings.
# Each line of the file should contain two fields, separated by
# whitespace. The first field is the mime type, the second is a
Expand Down Expand Up @@ -185,7 +207,7 @@ rpx-key:
# just the prefix of the complete RPX domain, so if your full domain
# is 'https://foo.rpxnow.com/', use 'foo' as the value of rpx-domain.

mail-command: email %s
mail-command: sendmail %s
# specifies the command to use to send notification emails.
# '%s' will be replaced by the destination email address.
# The body of the message will be read from stdin.
Expand All @@ -197,10 +219,10 @@ reset-password-message:
> Subject: Wiki password reset
>
> Dear $username$:
>
>
> To reset your password, please follow the link below:
> http://$hostname$:$port$$resetlink$
>
>
> Yours sincerely,
> The Wiki Master

Expand All @@ -225,8 +247,8 @@ use-feed: no

base-url:
# the base URL of the wiki, to be used in constructing feed IDs
# and RPX token_urls. Set this if use-feed is 'yes' or
# authentication-method is 'rpx'.
# and RPX token_urls.
# Set this if use-feed is 'yes' or authentication-method is 'rpx'.

absolute-urls: no
# make wikilinks absolute with respect to the base-url.
Expand Down Expand Up @@ -258,3 +280,18 @@ xss-sanitize: no
# if yes, all HTML (including that produced by pandoc) is filtered
# through xss-sanitize. Set to no only if you trust all of your users.

recent-activity-days: 30
# if the activity page receives no 'since' parameter specifiying the time
# thereafter which to show the changes, it will by default show "recent"
# changes. This allows you to specify how recent "recent" means, in days.

[Github]
# replace dummy oauthclientid and oauthclientsecret:
oauthclientid: 01239456789abcdef012
oauthclientsecret: 01239456789abcdef01239456789abcdef012394
oauthcallback: http://mysite/_githubCallback
oauthoauthorizeendpoint: https://github.com/login/oauth/authorize
oauthaccesstokenendpoint: https://github.com/login/oauth/access_token
## Uncomment if you are checking membership against an organization and change
## gitit-testorg to this organization:
# github-org: gitit-testorg

0 comments on commit bbe0d99

Please sign in to comment.