2022-01-26 21:10:09 +08:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "UTF-8" >
< meta name = "viewport"
content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=3.0, user-scalable=yes"/>
< meta name = "format-detection" content = "telephone=no" / >
{{ yml['header'] | safe }}
{% if yml['css']['item'] %}
{% for css in yml['css']['item'] %}
< link href = "{{ css }}" rel = "stylesheet" >
{% endfor %}
{% endif %}
{% if yml['js']['head'] %}
{% for js in yml['js']['head'] %}
< script src = "{{ js }}" > < / script >
{% endfor %}
{% endif %}
2023-02-21 20:05:48 +08:00
2022-01-26 21:10:09 +08:00
< title > EnglishPal Study Room for {{ username }}< / title >
2023-01-29 12:01:19 +08:00
< style >
.shaking {
animation: shakes 1600ms ease-in-out;
}
@keyframes shakes {
10%, 90% { transform: translate3d(-1px, 0, 0); }
20%, 50% { transform: translate3d(+2px, 0, 0); }
30%, 70% { transform: translate3d(-4px, 0, 0); }
40%, 60% { transform: translate3d(+4px, 0, 0); }
50% { transform: translate3d(-4px, 0, 0); }
}
< / style >
2022-01-26 21:10:09 +08:00
< / head >
2023-03-08 16:33:13 +08:00
< body >
2022-01-26 21:10:09 +08:00
< div class = "container-fluid" >
2022-07-18 13:29:04 +08:00
< p > < b > English Pal for < font id = "username" color = "red" > {{ username }}< / font > < / b >
2023-04-21 05:33:26 +08:00
< a id = "quit" class = "btn btn-secondary" href = "/logout" role = "button" > 退出< / a >
2022-01-26 21:10:09 +08:00
< a class = "btn btn-secondary" href = "/reset" role = "button" > 重设密码< / a >
< / p >
2023-03-27 14:28:54 +08:00
{# {% for message in flashed_messages %}#} {# 根据user_service.userpage,取消了参数flashed_messages, 因此注释了这段代码 #}
{# < div class = "alert alert-warning" role = "alert" > Congratulations! {{ message }}< / div > #}
{# {% endfor %}#}
2022-01-27 11:27:26 +08:00
2023-04-21 02:36:51 +08:00
{% if result_of_generate_article != "had read all articles" %}
2023-05-08 14:10:16 +08:00
< button class = "btn btn-success" id = "load_next_article" onclick = "load_next_article()" > 下一篇 Next Article < / button >
<!-- <a id="next_btn" class="btn btn - success" href="/{{ username }}/reset" role="button"> 下一篇 Next Article </a> -->
2023-04-21 02:36:51 +08:00
{% endif %}
2023-04-25 17:47:51 +08:00
{% if session.get('visited_articles') and session.get('visited_articles')['index']>0 %}
2023-05-08 14:10:16 +08:00
<!-- <a id="pre_btn" class="btn btn - success" href="/{{ username }}/back" role="button"> 上一篇 Previous Article </a> -->
< button class = "btn btn-success" id = "load_pre_article" onclick = "load_pre_article()" > 上一篇 Previous Article < / button >
2022-07-21 23:13:33 +08:00
{% endif %}
2023-05-08 14:10:16 +08:00
< p > < b > 阅读文章并回答问题{{result_of_generate_article}}< / b > < / p >
2023-03-08 16:33:13 +08:00
< div id = "text-content" >
2023-04-21 02:36:51 +08:00
{% if result_of_generate_article == 'found' %}
2023-05-08 14:10:16 +08:00
< div id = "found" >
< div class = "alert alert-success" role = "alert" > According to your word list, your level is < span class = "badge bg-success" id = "user_level" > {{ today_article["user_level"] }}< / span > and we have chosen an article with a difficulty level of < span class = "badge bg-success" id = "text-level" > {{ today_article["text_level"] }}< / span > for you.< / div >
< p class = "text-muted" id = "date" > Article added on: {{ today_article["date"] }}< / p > < br / >
2023-03-08 16:33:13 +08:00
< div class = "p-3 mb-2 bg-light text-dark" > < br / >
2023-05-08 14:10:16 +08:00
< p class = "display-5" id = "article_title" > {{ today_article["article_title"] }}< / p > < br / >
2023-03-08 16:33:13 +08:00
< p class = "lead" > < font id = "article" size = 2 > {{ today_article["article_body"] }}< / font > < / p > < br / >
2023-05-08 14:10:16 +08:00
< p > < small class = "text-muted" id = "source" > {{ today_article['source'] }}< / small > < / p > < br / >
< p > < b id = "question" > {{ today_article['question'] }}< / b > < / p > < br / >
2023-03-08 16:33:13 +08:00
< script type = "text/javascript" >
function toggle_visibility(id) { {# https://css-tricks.com/snippets/javascript/showhide-element/#}
const e = document.getElementById(id);
if(e.style.display === 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
< / script >
< button onclick = "toggle_visibility('answer');" > ANSWER< / button >
< div id = "answer" style = "display:none;" > {{ today_article['answer'] }}< / div > < br / >
< / div >
2023-05-08 14:10:16 +08:00
< / div >
2023-04-20 22:53:30 +08:00
{% elif result_of_generate_article == "not found" %}
2023-05-08 14:10:16 +08:00
< div class = "alert alert-success" role = "alert" id = "not_found" >
2023-03-08 16:33:13 +08:00
< p class = "text-muted" > < span class = "badge bg-success" > Notes:< / span > < br > No article is currently available for you. You can try again a few times or mark new words in the passage to improve your level.< / p >
< / div >
2023-04-20 22:53:30 +08:00
{% elif result_of_generate_article == "had read all articles" %}
2023-05-08 14:10:16 +08:00
< div class = "alert alert-success" role = "alert" id = "read_all" >
2023-04-20 22:53:30 +08:00
< p class = "text-muted" > < span class = "badge bg-success" > Notes:< / span > < br > You've read all the articles.< / p >
< / div >
2023-03-08 16:33:13 +08:00
{% endif %}
< / div >
2022-01-27 11:27:26 +08:00
2022-08-02 12:33:41 +08:00
< input type = "checkbox" onclick = "toggleHighlighting()" checked / > 生词高亮
2022-01-26 21:10:09 +08:00
< input type = "checkbox" onclick = "onReadClick()" checked / > 大声朗读
< input type = "checkbox" onclick = "onChooseClick()" checked / > 划词入库
2022-07-18 16:00:08 +08:00
< div class = "range" >
< div class = "field" >
< div class = "sliderValue" >
< span id = "rangeValue" > 1× < / span >
< / div >
2023-02-21 20:23:24 +08:00
< input type = "range" id = "rangeComponent" min = "0.5" max = "2" value = "1" step = "0.25" / >
2022-07-18 16:00:08 +08:00
< / div >
2023-02-21 20:05:48 +08:00
< / div >
2022-01-26 21:10:09 +08:00
< p > < b > 收集生词吧< / b > (可以在正文中划词,也可以复制黏贴)< / p >
2023-04-20 20:30:14 +08:00
< form method = "post" action = "/{{ username }}/userpage" >
2022-01-26 21:10:09 +08:00
< textarea name = "content" id = "selected-words" rows = "10" cols = "120" > < / textarea > < br / >
2022-01-27 11:40:58 +08:00
< input type = "submit" value = "把生词加入我的生词库" / >
2022-01-26 21:10:09 +08:00
< input type = "reset" value = "清除" / >
< / form >
{% if session.get['thisWord'] %}
< script type = "text/javascript" >
//point to the anchor in the page whose id is aaa if it exists
window.onload = function () {
var element = document.getElementsByName("aaa");
if (element != null)
document.getElementsByName("aaa")[0].scrollIntoView(true);
}
< / script >
{% endif %}
{% if d_len > 0 %}
2023-01-29 12:01:19 +08:00
< p >
< b > 我的生词簿< / b >
< label for = "move_dynamiclly" >
< input type = "checkbox" name = "move_dynamiclly" id = "move_dynamiclly" checked >
允许动态调整顺序
< / label >
< / p >
< a name = "aaa" > < / a >
< div class = "word-container" >
{% for x in lst3 %}
{% set word = x[0] %}
{% set freq = x[1] %}
{% if session.get('thisWord') == x[0] and session.get('time') == 1 %}
{% endif %}
< p id = 'p_{{ word }}' class = "new-word" >
< a id = "word_{{ word }}" class = "btn btn-light" href = 'http://youdao.com/w/eng/{{ word }}/#keyfrom=dict2.index'
role="button">{{ word }}< / a >
( < a id = "freq_{{ word }}" title = "{{ word }}" > {{ freq }}< / a > )
< a class = "btn btn-success" onclick = "familiar('{{ word }}')" role = "button" > 熟悉< / a >
< a class = "btn btn-warning" onclick = "unfamiliar('{{ word }}')" role = "button" > 不熟悉< / a >
< a class = "btn btn-danger" onclick = "delete_word('{{ word }}')" role = "button" > 删除< / a >
< / p >
{% endfor %}
< / div >
2022-01-26 21:10:09 +08:00
< input id = "selected-words2" type = "hidden" value = "{{ words }}" >
{% endif %}
< / div >
{{ yml['footer'] | safe }}
{% if yml['js']['bottom'] %}
{% for js in yml['js']['bottom'] %}
< script src = "{{ js }}" > < / script >
{% endfor %}
{% endif %}
2023-05-08 14:10:16 +08:00
< script >
function load_next_article(){
$.ajax({
url: '/get_next_article/{{username}}',
dataType: 'json',
success: function(data) {
// 更新页面内容
if(data){
$('#user_level').html(data['user_level']);
$('#text_level').html(data["text_level"]);
$('#date').html('Article added on: '+data["date"]);
$('#article_title').html(data["article_title"]);
$('#article').html(data["article_body"]);
$('#source').html(data['source']);
$('#question').html(data["question"]);
$('#answer').html(data["answer"]);
}
}
});
}
function load_pre_article(){
$.ajax({
url: '/get_pre_article/{{username}}',
dataType: 'json',
success: function(data) {
// 更新页面内容
if(data){
$('#user_level').html(data['user_level']);
$('#text_level').html(data["text_level"]);
$('#date').html('Article added on: '+data["date"]);
$('#article_title').html(data["article_title"]);
$('#article').html(data["article_body"]);
$('#source').html(data['source']);
$('#question').html(data["question"]);
$('#answer').html(data["answer"]);
}
}
});
console.info({{visited_articles}})
}
< / script >
2022-01-26 21:10:09 +08:00
< / body >
< style >
mark {
2023-02-21 20:05:48 +08:00
color: #{{ yml['highlight']['color'] }};
background-color: rgba(0, 0, 0, 0);
}
2022-01-26 21:10:09 +08:00
< / style >
2022-01-27 20:15:26 +08:00
< / html >