-
Notifications
You must be signed in to change notification settings - Fork 1
/
entrypoint.sh
executable file
·73 lines (63 loc) · 1.76 KB
/
entrypoint.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/bin/bash
main_file=$1
source_dir=$2
unsafe=$3
generate_html=$4
standard_library=$5
css_link=$6
echo "Main file: $main_file"
echo "Source directory: $source_dir"
echo "HTML: $generate_html"
echo "CSS: $css_link"
agda --version
ghc --version
cabal --version
cd $source_dir
if [ "$standard_library" == true ]; then
echo "Setting up the standard library"
# Pull and install the standard library.
mkdir agda-dir
wget https://github.com/agda/agda-stdlib/archive/v1.7.1.tar.gz
tar -xf v1.7.1.tar.gz
mv agda-stdlib-1.7.1 agda-dir
echo "standard-library" > agda-dir/defaults
echo "$(pwd)/agda-dir/agda-stdlib-1.7.1/standard-library.agda-lib" > agda-dir/libraries
export AGDA_DIR=$(pwd)/agda-dir
else
echo "Not setting up the standard library."
fi
if [ "$unsafe" = "true" ]; then
echo "Running Agda in unsafe mode."
agda $main_file || exit 1
else
echo "Running Agda in safe mode."
agda --safe $main_file || exit
fi
if [ "$generate_html" == "true" ]; then
echo "Generating HTML from Agda code with CSS $css_link."
if [ "$css_link" == "" ]; then
agda --html --html-highlight=auto $main_file
else
agda --html --html-highlight=auto --css=$css_link $main_file
test -f $css_link
if [ -f $css_link ]; then
cp $css_link html/
css_name=$(basename $css_link)
else
css_name=$css_link
fi
fi
# Generate HTML from Markdown files.
cd html
for file in `ls *.md`; do
title=$(basename -s .md $file)
pandoc \
--standalone \
--css=$css_name \
--metadata title=$title \
-o $title.html \
$file;
rm $file
done
cd ..
fi