golf 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. data/.gitignore +10 -0
  2. data/Gemfile +6 -0
  3. data/Gemfile.lock +21 -0
  4. data/Rakefile +12 -0
  5. data/bin/golf +8 -0
  6. data/golf-java/README.markdown +41 -0
  7. data/golf-java/THANKS.markdown +14 -0
  8. data/golf-java/build/classes.zip +0 -0
  9. data/golf-java/build/com/thinkminimo/golf/GolfResource$MimeMapping$MimeMappingSingleton.class +0 -0
  10. data/golf-java/build/com/thinkminimo/golf/GolfResource$MimeMapping.class +0 -0
  11. data/golf-java/build/com/thinkminimo/golf/GolfResource.class +0 -0
  12. data/golf-java/build/com/thinkminimo/golf/GolfServlet$1.class +0 -0
  13. data/golf-java/build/com/thinkminimo/golf/GolfServlet$GolfContext.class +0 -0
  14. data/golf-java/build/com/thinkminimo/golf/GolfServlet$GolfParams.class +0 -0
  15. data/golf-java/build/com/thinkminimo/golf/GolfServlet$GolfSession.class +0 -0
  16. data/golf-java/build/com/thinkminimo/golf/GolfServlet$PermanentRedirectException.class +0 -0
  17. data/golf-java/build/com/thinkminimo/golf/GolfServlet$RedirectException.class +0 -0
  18. data/golf-java/build/com/thinkminimo/golf/GolfServlet$StoredJSVM.class +0 -0
  19. data/golf-java/build/com/thinkminimo/golf/GolfServlet.class +0 -0
  20. data/golf-java/build/com/thinkminimo/golf/JsonpTunnel.class +0 -0
  21. data/golf-java/build/com/thinkminimo/golf/Main$1.class +0 -0
  22. data/golf-java/build/com/thinkminimo/golf/Main$RingList.class +0 -0
  23. data/golf-java/build/com/thinkminimo/golf/Main.class +0 -0
  24. data/golf-java/build/com/thinkminimo/golf/ProxyServlet.class +0 -0
  25. data/golf-java/build/com/yahoo/platform/yui/compressor/CssCompressor.class +0 -0
  26. data/golf-java/build/com/yahoo/platform/yui/compressor/JarClassLoader.class +0 -0
  27. data/golf-java/build/com/yahoo/platform/yui/compressor/JavaScriptCompressor.class +0 -0
  28. data/golf-java/build/com/yahoo/platform/yui/compressor/JavaScriptIdentifier.class +0 -0
  29. data/golf-java/build/com/yahoo/platform/yui/compressor/JavaScriptToken.class +0 -0
  30. data/golf-java/build/com/yahoo/platform/yui/compressor/ScriptOrFnScope.class +0 -0
  31. data/golf-java/build/depends.zip +0 -0
  32. data/golf-java/build/golf +2 -0
  33. data/golf-java/build/org/json/JSONArray.class +0 -0
  34. data/golf-java/build/org/json/JSONException.class +0 -0
  35. data/golf-java/build/org/json/JSONObject$1.class +0 -0
  36. data/golf-java/build/org/json/JSONObject$Null.class +0 -0
  37. data/golf-java/build/org/json/JSONObject.class +0 -0
  38. data/golf-java/build/org/json/JSONString.class +0 -0
  39. data/golf-java/build/org/json/JSONStringer.class +0 -0
  40. data/golf-java/build/org/json/JSONTokener.class +0 -0
  41. data/golf-java/build/org/json/JSONWriter.class +0 -0
  42. data/golf-java/build/resources.zip +0 -0
  43. data/golf-java/build.xml +174 -0
  44. data/golf-java/dist/golf.zip +0 -0
  45. data/golf-java/lib/ant-launcher.jar +0 -0
  46. data/golf-java/lib/ant.jar +0 -0
  47. data/golf-java/lib/commons-codec-1.4.jar +0 -0
  48. data/golf-java/lib/commons-collections-3.2.1.jar +0 -0
  49. data/golf-java/lib/commons-fileupload-1.2.1.jar +0 -0
  50. data/golf-java/lib/commons-httpclient-3.1.jar +0 -0
  51. data/golf-java/lib/commons-io-1.4.jar +0 -0
  52. data/golf-java/lib/commons-lang-2.4.jar +0 -0
  53. data/golf-java/lib/commons-logging-1.1.1.jar +0 -0
  54. data/golf-java/lib/cssparser-0.9.5.jar +0 -0
  55. data/golf-java/lib/getopt-0.1-dev.jar +0 -0
  56. data/golf-java/lib/htmlunit-2.6.jar +0 -0
  57. data/golf-java/lib/htmlunit-core-js-2.6.jar +0 -0
  58. data/golf-java/lib/java-xmlbuilder-1.jar +0 -0
  59. data/golf-java/lib/jets3t-0.7.0.jar +0 -0
  60. data/golf-java/lib/jetty-6.1.15.jar +0 -0
  61. data/golf-java/lib/jetty-util-6.1.15.jar +0 -0
  62. data/golf-java/lib/log4j-1.2.15.jar +0 -0
  63. data/golf-java/lib/nekohtml-1.9.13.jar +0 -0
  64. data/golf-java/lib/sac-1.3.jar +0 -0
  65. data/golf-java/lib/serializer-2.7.1.jar +0 -0
  66. data/golf-java/lib/servlet-api-2.5-20081211.jar +0 -0
  67. data/golf-java/lib/xalan-2.7.1.jar +0 -0
  68. data/golf-java/lib/xercesImpl-2.9.1.jar +0 -0
  69. data/golf-java/lib/xml-apis-1.3.04.jar +0 -0
  70. data/golf-java/resources/app_error.html +60 -0
  71. data/golf-java/resources/error.html +29 -0
  72. data/golf-java/resources/forcebot.txt +0 -0
  73. data/golf-java/resources/forceclient.txt +0 -0
  74. data/golf-java/resources/forceproxy.txt +0 -0
  75. data/golf-java/resources/head.html +0 -0
  76. data/golf-java/resources/jquery.address.js +439 -0
  77. data/golf-java/resources/jquery.golf.js +945 -0
  78. data/golf-java/resources/jquery.js +4376 -0
  79. data/golf-java/resources/jsdetect.html +23 -0
  80. data/golf-java/resources/loading.gif +0 -0
  81. data/golf-java/resources/new.html +45 -0
  82. data/golf-java/resources/new.static.html +45 -0
  83. data/golf-java/resources/noscript.forceclient.html +11 -0
  84. data/golf-java/resources/noscript.html +18 -0
  85. data/golf-java/resources/noscript.static.html +15 -0
  86. data/golf-java/resources/project.xml +21 -0
  87. data/golf-java/resources/proxy_project.xml +11 -0
  88. data/golf-java/resources/proxy_web.xml +40 -0
  89. data/golf-java/resources/static_project.xml +37 -0
  90. data/golf-java/resources/version +1 -0
  91. data/golf-java/resources/web.xml +36 -0
  92. data/golf-java/resources/welcome2golf.html +50 -0
  93. data/golf-java/src/com/thinkminimo/golf/GolfResource.java +582 -0
  94. data/golf-java/src/com/thinkminimo/golf/GolfServlet.java +1055 -0
  95. data/golf-java/src/com/thinkminimo/golf/JsonpTunnel.java +86 -0
  96. data/golf-java/src/com/thinkminimo/golf/Main.java +1299 -0
  97. data/golf-java/src/com/thinkminimo/golf/ProxyServlet.java +577 -0
  98. data/golf-java/src/com/yahoo/platform/yui/compressor/CssCompressor.java +188 -0
  99. data/golf-java/src/com/yahoo/platform/yui/compressor/JarClassLoader.java +158 -0
  100. data/golf-java/src/com/yahoo/platform/yui/compressor/JavaScriptCompressor.java +1281 -0
  101. data/golf-java/src/com/yahoo/platform/yui/compressor/JavaScriptIdentifier.java +55 -0
  102. data/golf-java/src/com/yahoo/platform/yui/compressor/JavaScriptToken.java +28 -0
  103. data/golf-java/src/com/yahoo/platform/yui/compressor/ScriptOrFnScope.java +160 -0
  104. data/golf-java/src/org/json/JSONArray.java +934 -0
  105. data/golf-java/src/org/json/JSONException.java +27 -0
  106. data/golf-java/src/org/json/JSONObject.java +1550 -0
  107. data/golf-java/src/org/json/JSONString.java +18 -0
  108. data/golf-java/src/org/json/JSONStringer.java +78 -0
  109. data/golf-java/src/org/json/JSONTokener.java +422 -0
  110. data/golf-java/src/org/json/JSONWriter.java +323 -0
  111. data/golf-java/test/client/golftest/README.markdown +3 -0
  112. data/golf-java/test/client/golftest/components/com/thinkminimo/golf/test/Harness.css +114 -0
  113. data/golf-java/test/client/golftest/components/com/thinkminimo/golf/test/Harness.html +17 -0
  114. data/golf-java/test/client/golftest/components/com/thinkminimo/golf/test/Harness.js +81 -0
  115. data/golf-java/test/client/golftest/components/com/thinkminimo/golf/test/Harness.res/asc.gif +0 -0
  116. data/golf-java/test/client/golftest/components/com/thinkminimo/golf/test/Harness.res/bg.gif +0 -0
  117. data/golf-java/test/client/golftest/components/com/thinkminimo/golf/test/Harness.res/desc.gif +0 -0
  118. data/golf-java/test/client/golftest/components/com/thinkminimo/golf/test/Harness.res/test/test.html +1 -0
  119. data/golf-java/test/client/golftest/controller.js +131 -0
  120. data/golf-java/test/client/golftest/forceclient.txt +0 -0
  121. data/golf-java/test/client/golftest/forceproxy.txt +0 -0
  122. data/golf-java/test/client/golftest/head.html +1 -0
  123. data/golf-java/test/client/golftest/scripts/jquery.tablesort.js +75 -0
  124. data/golf-java/test/client/golftest/styles/style.css +18 -0
  125. data/golf-java/test/client/golftest/test/test.html +1 -0
  126. data/golf.gemspec +24 -0
  127. data/lib/golf/cli.rb +32 -0
  128. data/lib/golf/compiler.rb +12 -0
  129. data/lib/golf/rack.rb +17 -0
  130. data/lib/golf/version.rb +3 -0
  131. data/lib/golf.rb +6 -0
  132. data/template/Gemfile +5 -0
  133. data/template/config.ru +7 -0
  134. data/template/golfapp/components/Test/Test.html +22 -0
  135. data/template/golfapp/components/Test/Test.res/myfile.txt +1 -0
  136. data/template/golfapp/controller.js +10 -0
  137. data/template/golfapp/plugins/mylib.js +12 -0
  138. data/test/test_compiler.rb +10 -0
  139. data/test/test_helper.rb +6 -0
  140. data/test/test_rack.rb +17 -0
  141. metadata +208 -0
data/.gitignore ADDED
@@ -0,0 +1,10 @@
1
+ *.swp
2
+ *.swo
3
+ *.war
4
+ *~
5
+ .DS_Store
6
+ hs_err_pid*
7
+ build/*
8
+ dist/*
9
+ docs/api/*
10
+ docs/api
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in golf.gemspec
4
+ gemspec
5
+
6
+ gem "rack-test", :require => "rack/test"
data/Gemfile.lock ADDED
@@ -0,0 +1,21 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ golf (0.0.1)
5
+ thor
6
+
7
+ GEM
8
+ remote: http://rubygems.org/
9
+ specs:
10
+ rack (1.2.2)
11
+ rack-test (0.5.7)
12
+ rack (>= 1.0)
13
+ thor (0.14.6)
14
+
15
+ PLATFORMS
16
+ java
17
+ ruby
18
+
19
+ DEPENDENCIES
20
+ golf!
21
+ rack-test
data/Rakefile ADDED
@@ -0,0 +1,12 @@
1
+ require 'bundler'
2
+ require 'rake/testtask'
3
+
4
+ Bundler::GemHelper.install_tasks
5
+
6
+ task :default => [:test]
7
+
8
+ Rake::TestTask.new("test") do |t|
9
+ t.test_files = FileList['test/test*.rb']
10
+ t.libs << "test/"
11
+ t.verbose = false
12
+ end
data/bin/golf ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+ $:.push File.expand_path("../../lib", __FILE__)
3
+
4
+ require "rubygems"
5
+ require "golf"
6
+
7
+ Golf::CLI.start
8
+
@@ -0,0 +1,41 @@
1
+ The Golf Web Application Server
2
+ ===============================
3
+
4
+ <object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/4cmWRTVOBpo?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/4cmWRTVOBpo?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object>
5
+
6
+ Golf is a web application server. It provides a way to build and deploy JavaScript driven webapps without sacrificing accessibility to JavaScript-disabled browsers (search engines, for example). By making dynamic content and behaviors fully accessible, Golf apps are designed from the ground up as clientside applications. As such, they are able to take full advantage of a powerful, rich JavaScript runtime environment. Golf both simplifies and adds power to the process of writing apps for the web.
7
+
8
+ Documentation For Golf Web Application Developers
9
+ -------------------------------------------------
10
+
11
+ Please see [http://golf.github.com/](http://golf.github.com/).
12
+
13
+ Pre-built Binaries
14
+ ------------------
15
+
16
+ Please see [http://golf.github.com/install-golf-on-your-workstation/](http://golf.github.com/install-golf-on-your-workstation/).
17
+
18
+ Build From Source
19
+ -----------------
20
+
21
+ 1. Clone the git repo.
22
+
23
+ $ git clone git://github.com/golf/golf.git
24
+
25
+ 2. Compile Golf, produce the `golf.zip` file, and install:
26
+
27
+ $ cd golf
28
+ $ ant install
29
+
30
+ 3. You will be prompted for a directory to copy the jar file and the wrapper script to. Choose a directory that is in your path. Now you should be able to run Golf.
31
+
32
+ $ golf --help
33
+
34
+ 4. Javadocs can be generated the usual way:
35
+
36
+ $ ant Javadoc
37
+
38
+ Hack
39
+ ----
40
+
41
+ Please feel free to fork and hack! Pull requests and/or patches are always welcomed. Also, feel free to hit us up in our IRC channel on freenode: [#golfdev](irc://irc.freenode.net/golfdev).
@@ -0,0 +1,14 @@
1
+ Thanks!
2
+ =======
3
+
4
+ Golf uses a number of opensource projects internally:
5
+
6
+ * [Jetty](http://www.mortbay.org/jetty/): java web server
7
+ * [HtmlUnit](http://htmlunit.sourceforge.net/): java web browser
8
+ * [jQuery](http://jquery.com): javascript framework
9
+ * [jQuery History Plugin](http://plugins.jquery.com/node/1773): plugin for jQuery providing history support
10
+ * [XMLBuilder](http://code.google.com/p/java-xmlbuilder/): java XML utility toolkit
11
+ * [Ant](http://ant.apache.org): java build tool
12
+ * [JetS3t](https://jets3t.dev.java.net/): java library providing access to Amazon s3 APIs
13
+
14
+ Thanks for making your software useful and free.
Binary file
Binary file
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env bash
2
+ java -jar "$(dirname "$0")/golf-0.4.jar" "$@"
Binary file
@@ -0,0 +1,174 @@
1
+ <project name="jtemplate" default="all" basedir=".">
2
+
3
+ <!-- use defaults unless already set by included configuration files -->
4
+ <property name="vendor.namespace" value="com.thinkminimo"/>
5
+ <property name="app.name" value="golf"/>
6
+ <property name="version" value="0.4"/>
7
+ <property name="release" value=""/>
8
+ <property name="app.vendor" value="thinkminimo.com"/>
9
+
10
+ <!-- load environment variables into the 'env' property -->
11
+ <property environment="env"/>
12
+
13
+ <!-- set remaining properties -->
14
+ <condition property="app.version" value="${version}" else="0.0">
15
+ <length string="${version}" trim="true" when="greater" length="0"/>
16
+ </condition>
17
+ <condition property="app.fullversion"
18
+ value="${app.version}-${release}" else="${app.version}">
19
+ <length string="${release}" trim="true" when="greater" length="0"/>
20
+ </condition>
21
+
22
+ <property name="app.base" value="${vendor.namespace}.${app.name}"/>
23
+ <property name="app.fullname" value="${app.name}-${app.fullversion}"/>
24
+
25
+ <property name="build.home" value="${basedir}/build"/>
26
+ <property name="dist.home" value="${basedir}/dist"/>
27
+ <property name="docs.home" value="${basedir}/docs"/>
28
+ <property name="src.home" value="${basedir}/src"/>
29
+ <property name="lib.home" value="${basedir}/lib"/>
30
+ <property name="resources.home" value="${basedir}/resources"/>
31
+ <property name="ant-scripts.home" value="${basedir}/ant/scripts"/>
32
+
33
+ <property name="appversion.dist" value="${resources.home}/version"/>
34
+ <property name="jarfile.dist" value="${dist.home}/${app.fullname}.jar"/>
35
+ <property name="warfile.dist" value="${dist.home}/${app.fullname}.war"/>
36
+ <property name="zipfile.dist" value="${dist.home}/${app.fullname}.zip"/>
37
+ <property name="startscript.dist" value="${app.name}-start.sh"/>
38
+
39
+ <property name="compile.debug" value="true"/>
40
+ <property name="compile.deprecation" value="true"/>
41
+ <property name="compile.mainclass" value="${app.base}.Main"/>
42
+
43
+ <!-- detect java version -->
44
+ <available property="jdk1.3+" classname="java.lang.StrictMath"/>
45
+ <available property="jdk1.4+" classname="java.lang.CharSequence"/>
46
+ <available property="jdk1.5+" classname="java.lang.Readable"/>
47
+
48
+ <!-- set classpath for compiling project -->
49
+ <path id="compile.classpath">
50
+ <pathelement path="${src.home}"/>
51
+ <fileset dir="${lib.home}" includes="*.jar"/>
52
+ </path>
53
+
54
+ <!-- the rest of this file is target definitions -->
55
+
56
+ <target name="all" depends="jar" description="Same as 'jar'."/>
57
+
58
+ <target name="clean"
59
+ description="Remove compiled project, javadocs, and jar files.">
60
+ <delete dir="${build.home}"/>
61
+ <delete dir="${dist.home}"/>
62
+ <delete dir="${docs.home}/api"/>
63
+ </target>
64
+
65
+ <target name="prepare" description="Create necessary directories.">
66
+ <!-- Create build directories as needed -->
67
+ <mkdir dir="${build.home}"/>
68
+ <mkdir dir="${dist.home}"/>
69
+ </target>
70
+
71
+ <target name="compile" depends="prepare"
72
+ description="Compile Java source files.">
73
+ <!-- Compile Java classes as necessary -->
74
+ <javac srcdir="${src.home}"
75
+ destdir="${build.home}"
76
+ debug="${compile.debug}"
77
+ deprecation="${compile.deprecation}"
78
+ source="1.5"
79
+ target="1.5"
80
+ classpathref="compile.classpath">
81
+ </javac>
82
+ </target>
83
+
84
+ <target name="version" depends="clean"
85
+ description="Change the project version.">
86
+ <!-- Write new version info to the version file. -->
87
+ <echo file="${appversion.dist}">${app.fullversion}</echo>
88
+ <antcall target="dist"/>
89
+ </target>
90
+
91
+ <target name="jar" depends="compile" description="Create jar file.">
92
+ <!-- Create the classes zip file -->
93
+ <zip destfile="${build.home}/classes.zip">
94
+ <fileset dir="${build.home}">
95
+ <exclude name="classes.zip"/>
96
+ <exclude name="depends.zip"/>
97
+ <exclude name="resources.zip"/>
98
+ <exclude name="**/*.swp"/>
99
+ <exclude name="**/*.swo"/>
100
+ <exclude name="**/*~"/>
101
+ </fileset>
102
+ </zip>
103
+ <!-- Create the zip file of classes golf depends on -->
104
+ <zip destfile="${build.home}/depends.zip">
105
+ <fileset dir="${lib.home}">
106
+ <exclude name="servlet-*"/>
107
+ <exclude name="jetty-*"/>
108
+ <exclude name="ant.jar"/>
109
+ <exclude name="ant-*"/>
110
+ <exclude name="getopt-*"/>
111
+ <exclude name="yuicompressor-*"/>
112
+ </fileset>
113
+ </zip>
114
+ <!-- Create the resources zip file -->
115
+ <zip destfile="${build.home}/resources.zip">
116
+ <fileset dir="${resources.home}">
117
+ <exclude name="web.xml"/>
118
+ <exclude name="project.xml"/>
119
+ <exclude name="**/.*"/>
120
+ <exclude name="**/.*/**"/>
121
+ <exclude name="**/*~"/>
122
+ </fileset>
123
+ </zip>
124
+ <!-- Create application jarfile -->
125
+ <jar jarfile="${jarfile.dist}" index="true">
126
+ <manifest>
127
+ <attribute name="Built-By" value="${user.name}"/>
128
+ <attribute name="Implementation-Vendor" value="${app.vendor}"/>
129
+ <attribute name="Implementation-Title" value="${app.base}"/>
130
+ <attribute name="Implementation-Version" value="${app.version}"/>
131
+ <attribute name="Main-Class" value="${compile.mainclass}"/>
132
+ </manifest>
133
+ <fileset dir="${build.home}"/>
134
+ <fileset dir="${resources.home}">
135
+ <exclude name="**/.*"/>
136
+ <exclude name="**/.*/**"/>
137
+ <exclude name="**/*~"/>
138
+ </fileset>
139
+ <zipgroupfileset dir="${lib.home}"/>
140
+ </jar>
141
+ </target>
142
+
143
+ <target name="javadoc" depends="compile"
144
+ description="Create Javadoc API documentation.">
145
+ <mkdir dir="${docs.home}/api"/>
146
+ <javadoc sourcepath="${src.home}" destdir="${docs.home}/api"
147
+ packagenames="*">
148
+ <classpath refid="compile.classpath"/>
149
+ </javadoc>
150
+ </target>
151
+
152
+ <target name="dist" depends="jar"
153
+ description="Create binary distribution.">
154
+ <echo file="${build.home}/golf">#!/usr/bin/env bash
155
+ java -jar "$(dirname "$0")/${app.fullname}.jar" "$@"
156
+ </echo>
157
+ <chmod file="${build.home}/golf" perm="ugo+rx"/>
158
+ <zip destfile="${dist.home}/golf.zip">
159
+ <zipfileset file="${jarfile.dist}"/>
160
+ <zipfileset file="${build.home}/golf" filemode="755"/>
161
+ </zip>
162
+ </target>
163
+
164
+ <target name="install" depends="dist">
165
+ <input defaultvalue="${env.HOME}/bin"
166
+ addproperty="get.installdir"
167
+ message="Install dir?"/>
168
+ <unzip src="${dist.home}/golf.zip" dest="${dist.home}"/>
169
+ <chmod file="${dist.home}/golf" perm="755"/>
170
+ <move file="${jarfile.dist}" todir="${get.installdir}"/>
171
+ <move file="${dist.home}/golf" todir="${get.installdir}"/>
172
+ </target>
173
+
174
+ </project>
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,60 @@
1
+
2
+ <style type="text/css">
3
+ * {
4
+ font-family: sans-serif;
5
+ margin: 0;
6
+ padding: 0;
7
+ color: #333;
8
+ }
9
+
10
+ h1.type {
11
+ padding: .5em 20px .5em 20px;
12
+ background: orange;
13
+ margin: 2px;
14
+ }
15
+
16
+ h3.description {
17
+ padding: .5em 20px .5em 20px;
18
+ background: yellowgreen;
19
+ margin: 2px;
20
+ }
21
+
22
+ p.message {
23
+ padding: .75em 20px .75em 20px;
24
+ background: cadetblue;
25
+ margin: 2px;
26
+ }
27
+
28
+ a, a:visited {
29
+ color: darkblue;
30
+ text-decoration: none;
31
+ }
32
+
33
+ a:hover {
34
+ color: darkblue;
35
+ text-decoration: underline;
36
+ }
37
+
38
+ code {
39
+ font-family: monospace;
40
+ font-weight: bold;
41
+ font-size: 1.18em;
42
+ padding: 0 0.20em 0 0.20em;
43
+ }
44
+
45
+ .content {
46
+ position: relative;
47
+ top: 5em;
48
+ width: 35em;
49
+ margin: 0 auto;
50
+ }
51
+ </style>
52
+
53
+ <div class="content">
54
+ <h1 class="type"/>
55
+ <h3 class="description"/>
56
+ <p class="message">
57
+ Golf server documentation:
58
+ <a href="http://golf.github.com/">http://golf.github.com</a>.
59
+ </p>
60
+ </div>
@@ -0,0 +1,29 @@
1
+ <html>
2
+ <head>
3
+ <title>Golf Error</title>
4
+ <style type="text/css">
5
+ td.error {
6
+ color: darkred;
7
+ border: 1px dashed red;
8
+ background: #fee;
9
+ padding: 0.5em;
10
+ font-family: monospace;
11
+ }
12
+ </style>
13
+ </head>
14
+ <body>
15
+ <table height='100%' width='100%'>
16
+ <tr>
17
+ <td valign='middle' align='center'>
18
+ <table width='600px'>
19
+ <tr>
20
+ <td class="error">
21
+ <b>Golf error:</b> <%error%>
22
+ </td>
23
+ </tr>
24
+ </table>
25
+ </td>
26
+ </tr>
27
+ </table>
28
+ </body>
29
+ </html>
File without changes
File without changes
File without changes
File without changes