Commit dc295701 by Mike Chen

Merge branch 'master' of github.com:dementrock/mitx into ccp0101/moderation

parents fca5ab9a 39ae9343
...@@ -105,7 +105,6 @@ $ -> ...@@ -105,7 +105,6 @@ $ ->
replaceMath: (text) -> replaceMath: (text) ->
text = text.replace /@@(\d+)@@/g, ($0, $1) => @math[$1] text = text.replace /@@(\d+)@@/g, ($0, $1) => @math[$1]
@math = null @math = null
console.log text
text text
@replaceMathWrapper: (_this) -> @replaceMathWrapper: (_this) ->
...@@ -163,7 +162,6 @@ $ -> ...@@ -163,7 +162,6 @@ $ ->
$('#file-upload').unbind('change').change(startUploadHandler) $('#file-upload').unbind('change').change(startUploadHandler)
imageUploadHandler = (elem, input) -> imageUploadHandler = (elem, input) ->
console.log "here"
ajaxFileUpload(imageUploadUrl, input, imageUploadHandler) ajaxFileUpload(imageUploadUrl, input, imageUploadHandler)
editor = new Markdown.Editor( editor = new Markdown.Editor(
......
...@@ -330,15 +330,36 @@ initializeFollowThread = (thread) -> ...@@ -330,15 +330,36 @@ initializeFollowThread = (thread) ->
handleDelete(this) handleDelete(this)
initializeContent: (content) -> initializeContent: (content) ->
unescapeHighlightTag = (text) ->
text.replace(/\&lt\;highlight\&gt\;/g, "<span class='search-highlight'>")
.replace(/\&lt\;\/highlight\&gt\;/g, "</span>")
stripLatexHighlight = (text) ->
text
markdownWithHighlight = (text) ->
converter = Markdown.getMathCompatibleConverter()
unescapeHighlightTag stripLatexHighlight converter.makeHtml text
$content = $(content) $content = $(content)
initializeVote $content initializeVote $content
if $content.hasClass("thread") if $content.hasClass("thread")
initializeFollowThread $content initializeFollowThread $content
$local = Discussion.generateLocal($content.children(".discussion-content")) $local = Discussion.generateLocal($content.children(".discussion-content"))
$contentTitle = $local(".thread-title")
if $contentTitle.length
$contentTitle.html unescapeHighlightTag stripLatexHighlight $contentTitle.html()
$contentBody = $local(".content-body") $contentBody = $local(".content-body")
raw_text = $contentBody.html()
converter = Markdown.getMathCompatibleConverter() console.log "raw html:"
$contentBody.html(converter.makeHtml(raw_text)) console.log $contentBody.html()
$contentBody.html markdownWithHighlight $contentBody.html()
MathJax.Hub.Queue ["Typeset", MathJax.Hub, $contentBody.attr("id")] MathJax.Hub.Queue ["Typeset", MathJax.Hub, $contentBody.attr("id")]
id = $content.attr("_id") id = $content.attr("_id")
if not Discussion.getContentInfo id, 'editable' if not Discussion.getContentInfo id, 'editable'
......
...@@ -27,7 +27,7 @@ initializeFollowDiscussion = (discussion) -> ...@@ -27,7 +27,7 @@ initializeFollowDiscussion = (discussion) ->
bindDiscussionEvents: (discussion) -> bindDiscussionEvents: (discussion) ->
$discussion = $(discussion) $discussion = $(discussion)
$discussionNonContent = $discussion.children(".discussion-non-content") $discussionNonContent = $discussion.children(".discussion-local")
$local = Discussion.generateLocal($discussionNonContent) $local = Discussion.generateLocal($discussionNonContent)
id = $discussion.attr("_id") id = $discussion.attr("_id")
...@@ -127,5 +127,5 @@ initializeFollowDiscussion = (discussion) -> ...@@ -127,5 +127,5 @@ initializeFollowDiscussion = (discussion) ->
"click .discussion-sort-link": -> "click .discussion-sort-link": ->
handleAjaxSort(this) handleAjaxSort(this)
$discussion.children(".discussion-paginator").find(".discussion-inline-page-link").click -> $discussion.children(".discussion-paginator").find(".discussion-page-link").click ->
handleAjaxPage(this) handleAjaxPage(this)
...@@ -20,33 +20,67 @@ $discussion_input_width: 100%; ...@@ -20,33 +20,67 @@ $discussion_input_width: 100%;
.discussion-non-content { .discussion-non-content {
margin-left: flex-gutter(); margin-left: flex-gutter();
} }
//TITLE
.discussion-title {
@include discussion-font;
@include discussion-clickable;
display: inline-block;
font-size: $discussion_title_size;
font-weight: bold;
margin-bottom: flex-gutter(6);
}
.discussion-title-wrapper {
.discussion-watch-discussion, .discussion-unwatch-discussion {
@include discussion-font;
display: none;
font-size: $comment_info_size;
margin-left: 5px;
}
}
//SORTING
.discussion-sort {
float: right;
font-size: $comment_body_size;
margin-top: -2.5%;
.discussion-sort-link {
&:hover {
color: #1C71DD;
text-decoration: none;
}
}
.discussion-sort-link.sorted {
color: #1C71DD;
font-weight: bold;
}
}
//SEARCH
.search-wrapper-inline { .search-wrapper-inline {
width: 80%;
display: inline-block; display: inline-block;
margin-top: 3%;
margin-bottom: 6%; margin-bottom: 6%;
margin-top: 3%;
width: 80%;
} }
.discussion-search-form { .discussion-search-form {
margin-bottom: 1%;
display: inline-block; display: inline-block;
margin-bottom: 1%;
width: flex-grid(12); width: flex-grid(12);
.discussion-link { .discussion-link {
@include button; @include button;
display: inline-block;
margin-left: 1%;
color: white; color: white;
display: inline-block;
font-size: inherit;
font-weight: bold; font-weight: bold;
text-decoration: none; margin-left: 1%;
padding-top: 9px; padding-top: 9px;
font-size: inherit; text-decoration: none;
} }
.discussion-search-text { .discussion-search-text {
@include discussion-font; @include discussion-font;
} }
.search-input { .search-input {
float: left;
font: inherit; font: inherit;
font-style: normal; font-style: normal;
float: left;
width: 72%; width: 72%;
} }
} }
...@@ -55,25 +89,14 @@ $discussion_input_width: 100%; ...@@ -55,25 +89,14 @@ $discussion_input_width: 100%;
margin-bottom: 3%; margin-bottom: 3%;
} }
.discussion-search-within-board { .discussion-search-within-board {
font-style: normal;
font: inherit; font: inherit;
font-size: $comment_body_size; font-size: $comment_body_size;
font-style: normal;
} }
//BASIC BUTTON STYLES
.control-button { .control-button {
@include button; @include button;
@include discussion-font; @include discussion-font;
display: inline-block;
margin-bottom: 3%;
color: white;
font-weight: bold;
padding-top: 9px;
font-size: inherit;
width: inherit;
text-decoration: none;
border: 1px solid #6F6F6F;
-webkit-box-shadow: inset 0 1px 0 #A2A2A2,0 0 3px #CCC;
-moz-box-shadow: inset 0 1px 0 #a2a2a2,0 0 3px #ccc;
box-shadow: inset 0 1px 0 #A2A2A2,0 0 3px #CCC;
background-color: #959595; background-color: #959595;
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #959595),color-stop(100%, #7B7B7B)); background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #959595),color-stop(100%, #7B7B7B));
background-image: -webkit-linear-gradient(top, #959595,#7B7B7B); background-image: -webkit-linear-gradient(top, #959595,#7B7B7B);
...@@ -81,11 +104,20 @@ $discussion_input_width: 100%; ...@@ -81,11 +104,20 @@ $discussion_input_width: 100%;
background-image: -ms-linear-gradient(top, #959595,#7B7B7B); background-image: -ms-linear-gradient(top, #959595,#7B7B7B);
background-image: -o-linear-gradient(top, #959595,#7B7B7B); background-image: -o-linear-gradient(top, #959595,#7B7B7B);
background-image: linear-gradient(top, #959595,#7B7B7B); background-image: linear-gradient(top, #959595,#7B7B7B);
border: 1px solid #6F6F6F;
-webkit-box-shadow: inset 0 1px 0 #A2A2A2,0 0 3px #CCC;
-moz-box-shadow: inset 0 1px 0 #a2a2a2,0 0 3px #ccc;
box-shadow: inset 0 1px 0 #A2A2A2,0 0 3px #CCC;
color: white;
display: inline-block;
font-size: inherit;
font-weight: bold;
margin-bottom: 3%;
padding-top: 9px;
width: inherit;
text-decoration: none;
text-shadow: none; text-shadow: none;
&:hover { &:hover {
-webkit-box-shadow: inset 0 1px 0 #BBB,0 0 3px #CCC;
-moz-box-shadow: inset 0 1px 0 #bbb,0 0 3px #ccc;
box-shadow: inset 0 1px 0 #BBB,0 0 3px #CCC;
background-color: #A2A2A2; background-color: #A2A2A2;
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #A2A2A2),color-stop(100%, #7B7B7B)); background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #A2A2A2),color-stop(100%, #7B7B7B));
background-image: -webkit-linear-gradient(top, #A2A2A2,#7B7B7B); background-image: -webkit-linear-gradient(top, #A2A2A2,#7B7B7B);
...@@ -94,70 +126,55 @@ $discussion_input_width: 100%; ...@@ -94,70 +126,55 @@ $discussion_input_width: 100%;
background-image: -o-linear-gradient(top, #A2A2A2,#7B7B7B); background-image: -o-linear-gradient(top, #A2A2A2,#7B7B7B);
background-image: linear-gradient(top, #A2A2A2,#7B7B7B); background-image: linear-gradient(top, #A2A2A2,#7B7B7B);
border: 1px solid #555; border: 1px solid #555;
-webkit-box-shadow: inset 0 1px 0 #BBB,0 0 3px #CCC;
-moz-box-shadow: inset 0 1px 0 #bbb,0 0 3px #ccc;
box-shadow: inset 0 1px 0 #BBB,0 0 3px #CCC;
} }
} }
.discussion-title { //FOLLOW BUTTON
@include discussion-font;
@include discussion-clickable;
font-size: $discussion_title_size;
font-weight: bold;
margin-bottom: flex-gutter(6);
display: block;
}
.discussion-title-wrapper {
.discussion-watch-discussion, .discussion-unwatch-discussion {
display: none;
@include discussion-font;
margin-left: 5px;
font-size: $comment_info_size;
}
.discussion-title {
display: inline-block;
}
}
.follow-wrapper { .follow-wrapper {
float: right; float: right;
.discussion-link { .discussion-link {
display: inline-block;
@include button; @include button;
text-decoration: none; background-color: #BEBEBE;
background-image: none;
border: none;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
display: inline-block;
font-size: $comment_info_size; font-size: $comment_info_size;
padding: 5px 8px; padding: 5px 8px;
text-decoration: none; text-decoration: none;
border: none;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
background-color: #AAA;
background-image: none;
text-shadow: none; text-shadow: none;
&:hover { &:hover {
background-color: #AAA;
background-image: none;
border: none; border: none;
-webkit-box-shadow: none; -webkit-box-shadow: none;
-moz-box-shadow: none; -moz-box-shadow: none;
box-shadow: none; box-shadow: none;
background-color: #BEBEBE;
background-image: none;
} }
} }
} }
//VOTES
.discussion-votes { .discussion-votes {
text-align: center;
height: flex-grid(3);
float: left; float: left;
height: flex-grid(3);
margin: 1% 2%; margin: 1% 2%;
text-align: center;
.discussion-vote-count { .discussion-vote-count {
font-size: $comment_body_size;
@include discussion-font; @include discussion-font;
font-size: $comment_body_size;
} }
a.discussion-vote { a.discussion-vote {
display: block;
color: black; color: black;
font-weight: bold; display: block;
font-size: 15px; font-size: 15px;
font-weight: bold;
&:hover { &:hover {
text-decoration: none;
color: #1C71DD; color: #1C71DD;
text-decoration: none;
} }
&.discussion-vote-up { &.discussion-vote-up {
margin-bottom: 3px; margin-bottom: 3px;
...@@ -165,33 +182,33 @@ $discussion_input_width: 100%; ...@@ -165,33 +182,33 @@ $discussion_input_width: 100%;
&.discussion-vote-down { &.discussion-vote-down {
margin-top: 5px; margin-top: 5px;
} }
&.voted { &.voted {
color: #1C71DD; color: #1C71DD;
} }
} }
} }
//CREATE NEW AND EDIT POSTS
.discussion-right-wrapper { .discussion-right-wrapper {
min-height: 40px;
float: left; float: left;
min-height: 40px;
width: 90%; width: 90%;
} }
.new-post-form, .discussion-thread-edit { .new-post-form, .discussion-thread-edit {
.title-input, .body-input { .title-input, .body-input {
font-style: normal;
font: inherit;
display: block !important; display: block !important;
font: inherit;
font-style: normal;
width: $discussion_input_width !important; width: $discussion_input_width !important;
} }
.discussion-errors { .discussion-errors {
display: block;
color: #8F0E0E; color: #8F0E0E;
display: block;
margin-left: -5%; margin-left: -5%;
} }
.new-post-body { .new-post-body {
margin-top: flex-gutter(); margin-top: flex-gutter();
} }
.tagsinput { .tagsinput {
margin-top: flex-gutter();
background: #FAFAFA; background: #FAFAFA;
border: 1px solid #C8C8C8; border: 1px solid #C8C8C8;
-webkit-border-radius: 3px; -webkit-border-radius: 3px;
...@@ -205,26 +222,13 @@ $discussion_input_width: 100%; ...@@ -205,26 +222,13 @@ $discussion_input_width: 100%;
-webkit-box-sizing: border-box; -webkit-box-sizing: border-box;
-moz-box-sizing: border-box; -moz-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
margin-top: flex-gutter();
vertical-align: top; vertical-align: top;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
} }
} }
.discussion-sort {
font-size: $comment_body_size;
float: right;
margin-top: -2.5%;
.discussion-sort-link {
&:hover {
text-decoration: none;
color: #1C71DD;
}
}
.discussion-sort-link.sorted {
font-weight: bold;
color: #1C71DD;
}
}
.discussion-content-edit, .discussion-reply-new, .new-post-form { .discussion-content-edit, .discussion-reply-new, .new-post-form {
margin: 10px 0 10px 0;
.new-post-control { .new-post-control {
margin-left: 80%; margin-left: 80%;
margin-top: 1%; margin-top: 1%;
...@@ -240,15 +244,14 @@ $discussion_input_width: 100%; ...@@ -240,15 +244,14 @@ $discussion_input_width: 100%;
@include button; @include button;
@include discussion-font; @include discussion-font;
color: white; color: white;
display: inline-block;
font-size: inherit;
font-weight: bold; font-weight: bold;
text-decoration: none;
margin-left: 5%; margin-left: 5%;
display: inline-block;
padding-top: 9px; padding-top: 9px;
font-size: inherit; text-decoration: none;
width: inherit; width: inherit;
} }
margin: 10px 0 10px 0;
} }
.new-post-form { .new-post-form {
margin: 10px 0 40px 0; margin: 10px 0 40px 0;
...@@ -258,20 +261,26 @@ $discussion_input_width: 100%; ...@@ -258,20 +261,26 @@ $discussion_input_width: 100%;
margin-left: 2%; margin-left: 2%;
} }
} }
//THREAD STYLES
.thread { .thread {
//display: none; //display: none;
.search-highlight {
display: inline;
font-weight: bold;
background-color: lightyellow;
}
.thread-title { .thread-title {
@include discussion-font; @include discussion-font;
@include discussion-clickable; @include discussion-clickable;
display: block;
font-size: $comment_title_size; font-size: $comment_title_size;
font-weight: bold; font-weight: bold;
display: block;
} }
.thread-body, .content-body { .thread-body, .content-body {
@include discussion-font; @include discussion-font;
font-size: $comment_body_size; font-size: $comment_body_size;
margin-top: 3px;
margin-bottom: 4px; margin-bottom: 4px;
margin-top: 3px;
p { p {
@include discussion-font; @include discussion-font;
margin: 0; margin: 0;
...@@ -281,54 +290,63 @@ $discussion_input_width: 100%; ...@@ -281,54 +290,63 @@ $discussion_input_width: 100%;
display: inline-block; display: inline-block;
.thread-tag { .thread-tag {
@include discussion-font; @include discussion-font;
background: #CDE69C;
border: 1px solid #A5D24A; border: 1px solid #A5D24A;
-moz-border-radius: 2px; -moz-border-radius: 2px;
-webkit-border-radius: 2px; -webkit-border-radius: 2px;
color: #638421;
float: left; float: left;
font-size: 13px;
margin: 5px 7px 5px 0;
padding: 5px 7px; padding: 5px 7px;
text-decoration: none; text-decoration: none;
background: #CDE69C;
color: #638421;
margin-right: 7px;
margin-bottom: 4px;
font-size: 13px;
&:hover { &:hover {
color: #1E4612;
border-color: #1E4612; border-color: #1E4612;
color: #1E4612;
} }
} }
} }
.info { .info {
@include discussion-font; @include discussion-font;
color: gray;
font-size: $comment_info_size; font-size: $comment_info_size;
font-style: italic; font-style: italic;
color: gray; margin-top: 2%;
.comment-time {
display: inline;
float: right;
margin-right: -4%;
}
.comment-count {
display: inline;
}
.discussion-reply { .discussion-reply {
margin-left: 4px; margin-left: 4px;
} }
.discussion-link { .discussion-link {
@include discussion-font; @include discussion-font;
margin-left: 2px;
color: #1d9dd9; color: #1d9dd9;
display: inline; display: inline;
margin-left: 2px;
} }
} }
.discussion-content { .discussion-content {
overflow: hidden;
border-top: lightgray 1px solid; border-top: lightgray 1px solid;
padding: 2% 0; overflow: hidden;
padding: 1.5% 0;
.discussion-reply-new { .discussion-reply-new {
@include discussion-font; @include discussion-font;
margin-left: 5%; margin-left: 5%;
.reply-body { .reply-body {
@include discussion-font; @include discussion-font;
width: 95%; display: block;
font-size: $comment_body_size; font-size: $comment_body_size;
margin-top: 10px; margin-top: 10px;
display: block; width: 95%;
} }
} }
} }
//COMMENT STYLES
.comments { .comments {
//display: none; //display: none;
margin-left: $comment_margin_left; margin-left: $comment_margin_left;
...@@ -336,12 +354,11 @@ $discussion_input_width: 100%; ...@@ -336,12 +354,11 @@ $discussion_input_width: 100%;
.comment { .comment {
.comment-body, .content-body { .comment-body, .content-body {
@include discussion-font; @include discussion-font;
color: black;
display: block;
font-size: $comment_body_size; font-size: $comment_body_size;
margin-top: 3px; margin-top: 3px;
display: block;
color: black;
} }
&.endorsed { &.endorsed {
> .discussion-content { > .discussion-content {
background-color: lightyellow; background-color: lightyellow;
...@@ -350,25 +367,26 @@ $discussion_input_width: 100%; ...@@ -350,25 +367,26 @@ $discussion_input_width: 100%;
} }
} }
} }
//PAGES
.discussion-paginator { .discussion-paginator {
margin-top: 20px;
margin-bottom: 10px;
font-size: $comment_body_size; font-size: $comment_body_size;
margin-bottom: 10px;
margin-top: 20px;
text-align: center; text-align: center;
div { div {
display: inline-block; display: inline-block;
font-weight: bold; font-weight: bold;
margin: 0 5px; margin: 0 5px;
a { a {
background: #EEE;
-webkit-border-radius: 3px; -webkit-border-radius: 3px;
-moz-border-radius: 3px; -moz-border-radius: 3px;
-ms-border-radius: 3px; -ms-border-radius: 3px;
-o-border-radius: 3px; -o-border-radius: 3px;
border-radius: 3px; border-radius: 3px;
padding: 4px 10px;
background: #EEE;
font-weight: normal;
color: black; color: black;
font-weight: normal;
padding: 4px 10px;
text-decoration: none; text-decoration: none;
&:hover { &:hover {
background: #DDD; background: #DDD;
...@@ -378,6 +396,7 @@ $discussion_input_width: 100%; ...@@ -378,6 +396,7 @@ $discussion_input_width: 100%;
} }
} }
//EDITOR STYLES
.wmd-panel .wmd-panel
{ {
......
<%namespace name="renderer" file="_thread.html"/> <%namespace name="renderer" file="_thread.html"/>
<section class="discussion inline-discussion" _id="${discussion_id}"> <section class="discussion inline-discussion" _id="${discussion_id}">
<div class="discussion-non-content"> <div class="discussion-non-content discussion-local">
<div class="discussion-title-wrapper"> <div class="discussion-title-wrapper">
<a class="discussion-title" href="javascript:void(0)">Discussion</a> <a class="discussion-title" href="javascript:void(0)">Discussion</a>
</div> </div>
...@@ -13,8 +13,8 @@ ...@@ -13,8 +13,8 @@
<label for="discussion-search-within-board-${discussion_id}" class="discussion-search-within-board">Search within board</label> <label for="discussion-search-within-board-${discussion_id}" class="discussion-search-within-board">Search within board</label>
</div> </div>
<div class="discussion-new-post control-button" href="javascript:void(0)">New Post</div> <div class="discussion-new-post control-button" href="javascript:void(0)">New Post</div>
<%include file="_sort.html" />
</div> </div>
<%include file="_sort.html" />
<div class="threads"> <div class="threads">
% for thread in threads: % for thread in threads:
${renderer.render_thread(course_id, thread, show_comments=False)} ${renderer.render_thread(course_id, thread, show_comments=False)}
......
<%namespace name="renderer" file="_thread.html"/> <%namespace name="renderer" file="_thread.html"/>
<section class="discussion inline-discussion" _id="${discussion_id}"> <section class="discussion inline-discussion" _id="${discussion_id}">
<div class="discussion-non-content"> <div class="discussion-non-content discussion-local">
<div class="search-wrapper-inline search-wrapper"> <div class="search-wrapper-inline search-wrapper">
<%include file="_search_bar.html" /> <%include file="_search_bar.html" />
</div> </div>
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<a class="discussion-sort-link ${cls}" href="javascript:void(0)" sort-url="${url_for_sort(key, order)}">${title}</a> <a class="discussion-sort-link ${cls}" href="javascript:void(0)" sort-url="${url_for_sort(key, order)}">${title}</a>
</%def> </%def>
<div class="discussion-sort"> <div class="discussion-sort discussion-local">
Sort by: Sort by:
${link_to_sort('date', 'date')} ${link_to_sort('date', 'date')}
| |
......
...@@ -42,7 +42,11 @@ ...@@ -42,7 +42,11 @@
<div class="discussion-right-wrapper clearfix"> <div class="discussion-right-wrapper clearfix">
${render_title(content, type, **kwargs)} ${render_title(content, type, **kwargs)}
<div class="discussion-content-view"> <div class="discussion-content-view">
<div class="content-body ${type}-body" id="content-body-${content['id']}">${content['body'] | h}</div> % if content.get('highlighted_body', None):
<div class="content-body ${type}-body" id="content-body-${content['id']}">${content['highlighted_body'] | h}</div>
% else:
<div class="content-body ${type}-body" id="content-body-${content['id']}">${content['body'] | h}</div>
% endif
<div class="content-raw-body ${type}-raw-body" style="display: none">${content['body'] | h}</div> <div class="content-raw-body ${type}-raw-body" style="display: none">${content['body'] | h}</div>
${render_tags(content, type, **kwargs)} ${render_tags(content, type, **kwargs)}
${render_bottom_bar(content, type, **kwargs)} ${render_bottom_bar(content, type, **kwargs)}
...@@ -54,7 +58,11 @@ ...@@ -54,7 +58,11 @@
<%def name="render_title(content, type, **kwargs)"> <%def name="render_title(content, type, **kwargs)">
% if type == "thread": % if type == "thread":
<a class="thread-title" name="${content['id']}" href="javascript:void(0)">${content['title'] | h}</a> % if content.get('highlighted_title', None):
<a class="thread-title" name="${content['id']}" href="javascript:void(0)">${content['highlighted_title'] | h}</a>
% else:
<a class="thread-title" name="${content['id']}" href="javascript:void(0)">${content['title'] | h}</a>
% endif
% endif % endif
</%def> </%def>
...@@ -102,15 +110,19 @@ ...@@ -102,15 +110,19 @@
</%def> </%def>
<%def name="render_info(content)"> <%def name="render_info(content)">
${time_ago_in_words(parse(content['updated_at']))} ago by <div class="comment-time">
% if content['anonymous']: ${time_ago_in_words(parse(content['updated_at']))} ago by
anonymous % if content['anonymous']:
% else: anonymous
user No.${content['user_id']} % else:
% endif user No.${content['user_id']}
% if content.get('comments_count', -1) >= 0: % endif
, <a href="javascript:void(0)" class="discussion-show-comments"> Show ${content['comments_count']} comment(s)</a> </div>
% endif <div class="comment-count">
% if content.get('comments_count', -1) >= 0:
<a href="javascript:void(0)" class="discussion-show-comments"> Show ${content['comments_count']} comment(s)</a>
% endif
</div>
</%def> </%def>
<%def name="render_link(cls, html)"> <%def name="render_link(cls, html)">
......
...@@ -79,15 +79,19 @@ ...@@ -79,15 +79,19 @@
</%def> </%def>
<%def name="render_info(content)"> <%def name="render_info(content)">
${time_ago_in_words(parse(content['updated_at']))} ago by <div class="comment-time">
% if content['anonymous']: ${time_ago_in_words(parse(content['updated_at']))} ago by
anonymous % if content['anonymous']:
% else: anonymous
user No.${content['user_id']} % else:
% endif user No.${content['user_id']}
% if content.get('comments_count', -1) >= 0: % endif
, ${content['comments_count']} comment(s) </div>
% endif <div class="comment-count">
% if content.get('comments_count', -1) >= 0:
${content['comments_count']} comment(s)
% endif
</div>
</%def> </%def>
<%def name="render_link(cls, html)"> <%def name="render_link(cls, html)">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment