1
0
forked from GitHub/gf-core

Add download/index.md as demo of working Markdown rendering to HTML

Archive 3.9 pages and mark current ones for 18-12
This commit is contained in:
John J. Camilleri
2018-11-08 22:46:30 +01:00
parent 390a6a04a1
commit 2f1ee094d2
5 changed files with 247 additions and 10 deletions

16
.gitignore vendored
View File

@@ -44,3 +44,19 @@ src/ui/android/obj/
.cabal-sandbox
cabal.sandbox.config
DATA_DIR
# Generated documentation (not exhaustive)
demos/index-numbers.html
demos/resourcegrammars.html
demos/translation.html
doc/tutorial/gf-tutorial.html
doc/gf-bibliography.html
doc/gf-developers.html
doc/gf-editor-modes.html
doc/gf-faq.html
doc/gf-reference.html
doc/gf-shell-reference.html
doc/icfp-2012.html
download/*.html
gf-book/index.html
src/www/gf-web-api.html

View File

@@ -7,8 +7,8 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
# Render txt2tags into html file
# Arguments:
# 1. txt2tags source file, e.g. download/index.t2t
# 2. html target filen, e.g. download/index.html
function render_html {
# 2. html target file, e.g. download/index.html
function render_t2t_html {
t2t="$1"
html="$2"
tmp="$2.tmp"
@@ -57,18 +57,58 @@ function render_html {
fi
}
# Render markdown into html file
# Arguments:
# 1. markdown source file, e.g. download/index.md
# 2. html target filen, e.g. download/index.html
function render_md_html {
md="$1"
html="$2"
relroot="$( dirname $md | sed -E 's/^.\///' | sed -E 's/[^/]+/../g' )"
pandoc \
--from=markdown \
--to=html5 \
--standalone \
--template="$DIR/_template.html" \
--variable="rel-root:$relroot" \
"$md" \
--output="$html"
# Final post-processing
if [ -f "$html" ] ; then
sed -i.bak "s/<table>/<table class=\"table\">/" "$html" && rm "$html.bak"
echo "$html"
fi
}
if [ $# -gt 0 ] ; then
# Render specific file(s) from args, ignoring dates
for t2t in "$@" ; do
html="${t2t%.t2t}.html"
render_html "$t2t" "$html"
for file in "$@" ; do
ext="${file##*.}"
html="${file%.$ext}.html"
case $ext in
"md")
render_md_html "$file" "$html"
;;
"t2t")
render_t2t_html "$file" "$html"
;;
esac
done
else
# Render all files found in cwd, and below, if source is newer
find . -name '*.t2t' | while read t2t ; do
html="${t2t%.t2t}.html"
if [ "$t2t" -nt "$html" ] ; then
render_html "$t2t" "$html"
# Render all files found in cwd and deeper if source is newer
find . -name '*.t2t' | while read file ; do
html="${file%.t2t}.html"
if [ "$file" -nt "$html" ] ; then
render_t2t_html "$file" "$html"
fi
done
find . -name '*.md' | while read file ; do
if [[ "$file" == *"README.md" ]] ; then continue ; fi
html="${file%.md}.html"
if [ "$file" -nt "$html" ] ; then
render_md_html "$file" "$html"
fi
done
fi

165
download/index.md Normal file
View File

@@ -0,0 +1,165 @@
---
title: Grammatical Framework Download and Installation
...
**GF Bundle 18-12** was released on 28 November 2018.
It contains **GF v3.10** and **RGL snapshot 18-11-28**.
What's new? See the [release notes](release-18-12.html).
## Binary packages ("bundles")
| Platform | Download | Features | How to install |
|:----------------|:---------------------------------------------------------------|:-----------|:------------------------------------------------------------|
| macOS | [gf-18-12.pkg](gf-18-12.pkg) | GF,S,C,J,P | Double-click on the package icon |
| macOS | [gf-18-12-bin-intel-mac.tar.gz](gf-18-12-bin-intel-mac.tar.gz) | GF,S,C,J,P | `sudo tar -C /usr/local -zxf gf-18-12-bin-intel-mac.tar.gz` |
| Raspian 9.1 | [gf\_18-12-1\_armhf.deb](gf_18-12-1_armhf.deb) | GF,S,C,J,P | `sudo dpkg -i gf_18-12-1_armhf.deb` |
| Ubuntu (32-bit) | [gf\_18-12-1\_i386.deb](gf_18-12-1_i386.deb) | GF,S,C,J,P | `sudo dpkg -i gf_18-12-1_i386.deb` |
| Ubuntu (64-bit) | [gf\_18-12-1\_amd64.deb](gf_18-12-1_amd64.deb) | GF,S,C,J,P | `sudo dpkg -i gf_18-12-1_amd64.deb` |
| Windows | [gf-18-12-bin-windows.zip](gf-18-12-bin-windows.zip) | GF,S | `unzip gf-18-12-bin-windows.zip` |
**Features**
- GF = GF shell and grammar compiler
- RGL = Resource Grammar Library
- S = `gf -server` mode
- C = C run-time system
- J/P = Java/Python binding to the C run-time system
### Notes
The Windows package is installed by just unpacking it anywhere. You will
probably need to set the `PATH` and `GF_LIB_PATH` environment variables,
see Inari's notes on [Installing GF on Windows](http://www.grammaticalframework.org/~inari/gf-windows.html#toc3).
The Ubuntu `.deb` packages should work on Ubuntu 16.04 and 17.04 and
similar Linux distributions.
The Raspian `.deb` package was created on a Raspberry Pi 3 and will
probably work on other ARM-based systems running Debian 9 (stretch) or
similar Linux distributions.
The packages for macOS (Mac OS X) should work on at least 10.11 and
10.12 (El Capitan and Sierra).
The Mac OS and Linux `.tar.gz` packages are designed to be installed in
`/usr/local`. You can install them in other locations, but then you need
to set the `GF_LIB_PATH` environment variable:
```
export GF_LIB_PATH=/usr/local/share/gf-3.9/lib
```
where `/usr/local` should be replaced with the path to the location
where you unpacked the package.
## Installing the latest release from source
[GF is on Hackage](http://hackage.haskell.org/package/gf), so under
normal circumstances the prodedure is fairly simple:
1. Install a recent version of the [Haskell
Platform](http://hackage.haskell.org/platform), e.g. version 7.10.3
(see note 2 below)
2. `cabal update`
3. On Linux: install some C libraries from your Linux distribution (see
note 1 below)
4. `cabal install gf`
You can also download full source packages from GitHub:
- [GF releases](https://github.com/GrammaticalFramework/gf-core/releases)
- [RGL releases](https://github.com/GrammaticalFramework/gf-rgl/releases)
### Notes
**Installation location**
The above steps installs GF for a single user. The executables are put
in `$HOME/.cabal/bin` (or, with recent versions of the Haskell platform
on Mac OS X, in `$HOME/Library/Haskell/bin`), so it is a good idea to
put a line in your `.bash_profile` or `.profile` to add that directory
to you path:
```
PATH=$HOME/.cabal/bin:$PATH
```
or
```
PATH=$HOME/Library/Haskell/bin:$PATH
```
**Build tools**
*TODO* Alex, Happy
**Haskeline**
GF uses [`haskeline`](http://hackage.haskell.org/package/haskeline), which
on Linux depends on some non-Haskell libraries that won't be installed
automatically by cabal, and therefore need to be installed manually.
Here is one way to do this:
- On Ubuntu: `sudo apt-get install libghc-haskeline-dev`
- On Fedora: `sudo yum install ghc-haskeline-devel`
**GHC version**
The GF source code has been updated to compile with GHC
8.2.1. Using older versions of GHC (e.g. 8.0.x and 7.10.3) should still
work too.
## Installing from the latest developer source code
The first time:
```
git clone https://github.com/GrammaticalFramework/gf-core.git
cd gf-core
cabal install
```
and
```
git clone https://github.com/GrammaticalFramework/gf-rgl.git
cd gf-rgl
make
```
Subsequently:
```
cd gf-core
git pull
cabal install
```
and
```
cd gf-rgl
git pull
make
```
The above notes for installing from source apply also in these cases.
For more info on working with the GF source code, see the [GF Developers
Guide](../doc/gf-developers.html).
## Older releases
- [GF 3.9](index-3.9.html) (August 2017)
- [GF 3.8](index-3.8.html) (June 2016)
- [GF 3.7.1](index-3.7.1.html) (October 2015)
- [GF 3.7](index-3.7.html) (June 2015)
- [GF 3.6](index-3.6.html) (June 2014)
- [GF 3.5](index-3.5.html) (August 2013)
- [GF 3.4](index-3.4.html) (January 2013)
- [GF 3.3.3](index-3.3.3.html) (March 2012)
- [GF 3.3](index-3.3.html) (October 2011)
- [GF 3.2.9](index-3.2.9.html) source-only snapshot (September 2011)
- [GF 3.2](index-3.2.html) (December 2010)
- [GF 3.1.6](index-3.1.6.html) (April 2010)

16
download/release-18-12.md Normal file
View File

@@ -0,0 +1,16 @@
---
title: GF Bundle 18-12 Release Notes
date: 28 November 2018
...
## Installation
See the [download page](index.html).
## What's new
- RGL split
### GF v3.10
### RGL 18-12-28