9b28d5783246f085037f3ba53134acca555b208d
[nit.git] / contrib / nitrpg / src / templates / templates_base.nit
1 # This file is part of NIT ( http://www.nitlanguage.org ).
2 #
3 # Copyright 2014-2015 Alexandre Terrasa <alexandre@moz-code.org>
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16
17 # Base HTML rendering templates for `nitpg`.
18 module templates_base
19
20 import statistics
21
22 redef class GameEntity
23
24 # URL to this game entity page.
25 fun url: String do return game.url / key
26 end
27
28 redef class Game
29
30 # Root URL ise used as a prefix for `url`.
31 #
32 # This must be set before any access to `url`.
33 var root_url: String is noinit, writable
34
35 redef fun url do return "{root_url}/games" / key
36
37 # Displayed name.
38 fun name: String do return repo.full_name
39
40 # Return a HTML link to this Game.
41 fun link: String do return "<a href=\"{url}\">{name}</a>"
42 end
43
44 redef class Player
45 # Return a HTML link to this Player.
46 fun link: String do return "<a href=\"{url}\">{name}</a>"
47 end
48
49 redef class Issue
50 # Return a HTML link to this Issue.
51 fun link: String do return "<a href=\"{html_url}\">#{number}</a>"
52 end