summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--assets/css/screen.css10
-rw-r--r--mumi/web/controller.scm2
-rw-r--r--mumi/web/view/html.scm65
3 files changed, 77 insertions, 0 deletions
diff --git a/assets/css/screen.css b/assets/css/screen.css
index 389cffb..1517a56 100644
--- a/assets/css/screen.css
+++ b/assets/css/screen.css
@@ -206,6 +206,16 @@ table {
color: #888;
}
+.filter {
+ display: inline-block;
+ color: #fff;
+ background: #aaa;
+ text-align: center;
+ padding: 2px;
+ border-radius: 3px;
+ font-family: monospace;
+}
+
.status-tag {
display: inline-block;
color: #fff;
diff --git a/mumi/web/controller.scm b/mumi/web/controller.scm
index d19e961..414b42e 100644
--- a/mumi/web/controller.scm
+++ b/mumi/web/controller.scm
@@ -103,5 +103,7 @@
`(p "Could not access issue #" (strong ,id) ".")))
((GET "issue" not-an-id)
(apply render-html (unknown not-an-id)))
+ ((GET "help")
+ (apply render-html (help)))
((GET path ...)
(render-static-asset request))))
diff --git a/mumi/web/view/html.scm b/mumi/web/view/html.scm
index 9d5511d..3098bc3 100644
--- a/mumi/web/view/html.scm
+++ b/mumi/web/view/html.scm
@@ -24,6 +24,7 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-19)
#:export (index
+ help
unknown
error-page
issue-page
@@ -130,6 +131,70 @@
`((h2 "Recent activity")
,(list-of-bugs bugs))))))))
+(define (help)
+ (layout
+ #:extra-headers
+ ;; Cache for 24 hours.
+ '((cache-control . ((max-age . 86400))))
+ #:body
+ `(,(header #:search-bar? #f)
+ (div
+ (@ (class "container"))
+ (h1 "Help")
+ (a (@ (href "search")))
+ (p "You can improve the search results by making use of the
+simple query language. Here is a list of supported query terms with
+some examples.")
+ (table
+ (@ (class "table"))
+ (thead
+ (tr
+ (th (@ (class "col-md-3")) "Filter")
+ (th (@ (class "col-md-9")) "Description")))
+ (tbody
+ (tr
+ (td (span (@ (class "filter")) "is:open") ", "
+ (span (@ (class "filter")) "is:pending"))
+ (td "Open issues."))
+ (tr
+ (td (span (@ (class "filter")) "is:closed") ", "
+ (span (@ (class "filter")) "is:done"))
+ (td "Issues marked as done."))
+ (tr
+ (td (span (@ (class "filter")) "submitter:<who>"))
+ (td "Issues submitted by a person named " (strong "who")
+ ", e.g. "
+ (span (@ (class "filter")) "author:ludo")
+ " for all issues submitted by ludo. "
+ "The filter matches both the email address and the name."))
+ (tr
+ (td (span (@ (class "filter")) "author:<who>"))
+ (td "Issues where a person named " (strong "who")
+ " has commented, e.g. "
+ (span (@ (class "filter")) "author:rekado")
+ " for all messages where rekado has commented. "
+ "The filter matches both the email address and the name."))
+ (tr
+ (td (span (@ (class "filter")) "date:<start>..<end>"))
+ (td "Issues submitted within the provided range. "
+ (strong "start") " and " (strong "end") " can be one of "
+ (strong "now") ", " (strong "today") ", " (strong "yesterday")
+ ", a date in the formats "
+ (strong "YYYY-MM-DD") " or " (strong "YYYYMMDD")
+ ", or an amount and a unit for a point in the past, such as "
+ (strong "12d") " for 12 days ago. "
+ "Supported units are: "
+ (strong "h") " (hours), "
+ (strong "d") " (days), "
+ (strong "w") " (weeks), "
+ (strong "m") " (months), and "
+ (strong "y") " (years)."))
+ (tr
+ (td (span (@ (class "filter")) "mdate:<start>..<end>"))
+ (td "Issues with comments submitted within the provided
+range. The supported arguments are the same as for "
+ (span (@ (class "filter")) "date:") "."))))))))
+
(define (unknown id)
(layout
#:body