philomena/lib/philomena_web/templates/comment/index.html.slime
2020-12-11 11:53:40 -05:00

115 lines
3.5 KiB
Text

h1 Comments
= form_for :comments, Routes.comment_path(@conn, :index), [method: "get", class: "hform", enforce_utf8: false], fn f ->
.field
= text_input f, :cq, name: :cq, value: @conn.params["cq"], class: "input hform__text", placeholder: "Search comments", autocapitalize: "none"
= submit "Search", class: "hform__button button"
.fieldlabel
' For more information, see the
a href="/pages/search_syntax" search syntax documentation
' . Search results are sorted by creation date.
h2 Search Results
= cond do
- Enum.any?(@comments) ->
- route = fn p -> Routes.comment_path(@conn, :index, p) end
- pagination = render PhilomenaWeb.PaginationView, "_pagination.html", page: @comments, route: route, params: [cq: @conn.params["cq"]], conn: @conn
= for {body, comment} <- @comments, comment.image.hidden_from_users == false do
= render PhilomenaWeb.CommentView, "_comment_with_image.html", body: body, comment: comment, conn: @conn
.block
.block__header.block__header--light.page__header
.page__pagination = pagination
.page__info
span.block__header__title
= render PhilomenaWeb.PaginationView, "_pagination_info.html", page: @comments, conn: @conn
- assigns[:error] ->
p
' Oops, there was an error evaluating your query:
pre = assigns[:error]
- true ->
p
' No comments found!
h3 Default search
p
' If you do not specify a field to search over, the search engine will
' search for comments with a body that is similar to the query's
em word stems
' . For example, comments containing the words
code winged humanization
' ,
code wings
' , and
code> spread wings
' would all be found by a search for
code wing
' , but
code> sewing
' would not be.
h3 Allowed fields
table.table
thead
tr
th Field Selector
th Type
th Description
th Example
tbody
tr
td
code author
td Literal
td Matches the author of this comment. Anonymous authors will never match this term.
td
code = link "author:Joey", to: Routes.comment_path(@conn, :index, cq: "author:Joey")
tr
td
code body
td Full Text
td Matches the body of this comment. This is the default field.
td
code = link "body:test", to: Routes.comment_path(@conn, :index, cq: "body:test")
tr
td
code created_at
td Date/Time Range
td Matches the creation time of this comment.
td
code = link "created_at:2015", to: Routes.comment_path(@conn, :index, cq: "created_at:2015")
tr
td
code id
td Numeric Range
td Matches the numeric surrogate key for this comment.
td
code = link "id:1000000", to: Routes.comment_path(@conn, :index, cq: "id:1000000")
tr
td
code image_id
td Literal
td Matches the numeric surrogate key for the image this comment belongs to.
td
code = link "image_id:1000000", to: Routes.comment_path(@conn, :index, cq: "image_id:1000000")
tr
td
code my
td Meta
td
code> my:comments
' matches comments you have posted if you are signed in.
td
code = link "my:comments", to: Routes.comment_path(@conn, :index, cq: "my:comments")
tr
td
code user_id
td Literal
td Matches comments with the specified user_id. Anonymous users will never match this term.
td
code = link "user_id:211190", to: Routes.comment_path(@conn, :index, cq: "user_id:211190")