| 
									
										
										
										
											2022-01-26 21:10:09 +08:00
										 |  |  |  | <!DOCTYPE html> | 
					
						
							|  |  |  |  | <html lang="en"> | 
					
						
							| 
									
										
										
										
											2023-04-25 15:51:39 +08:00
										 |  |  |  |   <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" /> | 
					
						
							| 
									
										
										
										
											2022-01-26 21:10:09 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-25 15:51:39 +08:00
										 |  |  |  |     {{ 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 %} | 
					
						
							| 
									
										
										
										
											2022-01-26 21:10:09 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |     <title>EnglishPal Study Room for {{ username }}</title> | 
					
						
							| 
									
										
										
										
											2023-01-29 12:01:19 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |     <style> | 
					
						
							| 
									
										
										
										
											2023-04-25 15:51:39 +08:00
										 |  |  |  |       .shaking { | 
					
						
							|  |  |  |  |         animation: shakes 1600ms ease-in-out; | 
					
						
							|  |  |  |  |       } | 
					
						
							| 
									
										
										
										
											2023-01-29 12:01:19 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-25 15:51:39 +08:00
										 |  |  |  |       @keyframes shakes { | 
					
						
							|  |  |  |  |         10%, | 
					
						
							|  |  |  |  |         90% { | 
					
						
							|  |  |  |  |           transform: translate3d(-1px, 0, 0); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         20%, | 
					
						
							|  |  |  |  |         50% { | 
					
						
							|  |  |  |  |           transform: translate3d(+2px, 0, 0); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         30%, | 
					
						
							|  |  |  |  |         70% { | 
					
						
							|  |  |  |  |           transform: translate3d(-4px, 0, 0); | 
					
						
							| 
									
										
										
										
											2023-01-29 12:01:19 +08:00
										 |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2023-04-25 15:51:39 +08:00
										 |  |  |  |         40%, | 
					
						
							|  |  |  |  |         60% { | 
					
						
							|  |  |  |  |           transform: translate3d(+4px, 0, 0); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         50% { | 
					
						
							|  |  |  |  |           transform: translate3d(-4px, 0, 0); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |       } | 
					
						
							| 
									
										
										
										
											2023-01-29 12:01:19 +08:00
										 |  |  |  |     </style> | 
					
						
							| 
									
										
										
										
											2023-04-25 15:51:39 +08:00
										 |  |  |  |   </head> | 
					
						
							|  |  |  |  |   <body> | 
					
						
							|  |  |  |  |     <div class="container-fluid"> | 
					
						
							|  |  |  |  |       <p> | 
					
						
							|  |  |  |  |         <b | 
					
						
							|  |  |  |  |           >English Pal for | 
					
						
							|  |  |  |  |           <font id="username" color="red">{{ username }}</font></b | 
					
						
							|  |  |  |  |         > | 
					
						
							|  |  |  |  |         {% if username == admin_name %} | 
					
						
							|  |  |  |  |         <a | 
					
						
							|  |  |  |  |           class="btn btn-secondary" | 
					
						
							|  |  |  |  |           href="/admin" | 
					
						
							|  |  |  |  |           role="button" | 
					
						
							|  |  |  |  |           onclick="stopRead()" | 
					
						
							|  |  |  |  |           >管理</a | 
					
						
							|  |  |  |  |         > | 
					
						
							| 
									
										
										
										
											2023-03-20 20:15:58 +08:00
										 |  |  |  |         {% endif %} | 
					
						
							| 
									
										
										
										
											2023-04-25 15:51:39 +08:00
										 |  |  |  |         <a | 
					
						
							|  |  |  |  |           class="btn btn-secondary" | 
					
						
							|  |  |  |  |           href="/logout" | 
					
						
							|  |  |  |  |           role="button" | 
					
						
							|  |  |  |  |           onclick="stopRead()" | 
					
						
							|  |  |  |  |           >退出</a | 
					
						
							|  |  |  |  |         > | 
					
						
							|  |  |  |  |         <a | 
					
						
							|  |  |  |  |           class="btn btn-secondary" | 
					
						
							|  |  |  |  |           href="/reset" | 
					
						
							|  |  |  |  |           role="button" | 
					
						
							|  |  |  |  |           onclick="stopRead()" | 
					
						
							|  |  |  |  |           >重设密码</a | 
					
						
							|  |  |  |  |         > | 
					
						
							|  |  |  |  |       </p> | 
					
						
							|  |  |  |  |       {# {% 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-25 15:51:39 +08:00
										 |  |  |  |       <a | 
					
						
							|  |  |  |  |         class="btn btn-success" | 
					
						
							|  |  |  |  |         href="/{{ username }}/reset" | 
					
						
							|  |  |  |  |         role="button" | 
					
						
							|  |  |  |  |         onclick="stopRead()" | 
					
						
							|  |  |  |  |       > | 
					
						
							|  |  |  |  |         下一篇 Next Article | 
					
						
							|  |  |  |  |       </a> | 
					
						
							|  |  |  |  |       {% if session.get('existing_articles') != None and | 
					
						
							|  |  |  |  |       session.get('existing_articles')["index"] !=0 %} | 
					
						
							|  |  |  |  |       <a | 
					
						
							|  |  |  |  |         class="btn btn-success" | 
					
						
							|  |  |  |  |         href="/{{ username }}/back" | 
					
						
							|  |  |  |  |         role="button" | 
					
						
							|  |  |  |  |         onclick="stopRead()" | 
					
						
							|  |  |  |  |       > | 
					
						
							|  |  |  |  |         上一篇 Previous Article | 
					
						
							|  |  |  |  |       </a> | 
					
						
							|  |  |  |  |       {% endif %} | 
					
						
							| 
									
										
										
										
											2022-07-21 23:13:33 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-25 15:51:39 +08:00
										 |  |  |  |       <p><b>阅读文章并回答问题</b></p> | 
					
						
							|  |  |  |  |       <div id="text-content"> | 
					
						
							| 
									
										
										
										
											2023-03-08 16:33:13 +08:00
										 |  |  |  |         {% if today_article %} | 
					
						
							| 
									
										
										
										
											2023-04-25 15:51:39 +08:00
										 |  |  |  |         <div class="alert alert-success" role="alert"> | 
					
						
							|  |  |  |  |           According to your word list, your level is | 
					
						
							|  |  |  |  |           <span class="badge bg-success" | 
					
						
							|  |  |  |  |             >{{ today_article["user_level"] }}</span | 
					
						
							|  |  |  |  |           > | 
					
						
							|  |  |  |  |           and we have chosen an article with a difficulty level of | 
					
						
							|  |  |  |  |           <span class="badge bg-success" | 
					
						
							|  |  |  |  |             >{{ today_article["text_level"] }}</span | 
					
						
							|  |  |  |  |           > | 
					
						
							|  |  |  |  |           for you. | 
					
						
							|  |  |  |  |         </div> | 
					
						
							|  |  |  |  |         <p class="text-muted">Article added on: {{ today_article["date"] }}</p> | 
					
						
							|  |  |  |  |         <br /> | 
					
						
							|  |  |  |  |         <div class="p-3 mb-2 bg-light text-dark"> | 
					
						
							|  |  |  |  |           <br /> | 
					
						
							|  |  |  |  |           <p class="display-5">{{ today_article["article_title"] }}</p> | 
					
						
							|  |  |  |  |           <br /> | 
					
						
							|  |  |  |  |           <p class="lead"> | 
					
						
							|  |  |  |  |             <font id="article" size="2" | 
					
						
							|  |  |  |  |               >{{ today_article["article_body"] }}</font | 
					
						
							|  |  |  |  |             > | 
					
						
							|  |  |  |  |           </p> | 
					
						
							|  |  |  |  |           <br /> | 
					
						
							|  |  |  |  |           <p><small class="text-muted">{{ today_article['source'] }}</small></p> | 
					
						
							|  |  |  |  |           <br /> | 
					
						
							|  |  |  |  |           <p><b>{{ today_article['question'] }}</b></p> | 
					
						
							|  |  |  |  |           <br /> | 
					
						
							|  |  |  |  |           <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-03-08 16:33:13 +08:00
										 |  |  |  |         {% else %} | 
					
						
							| 
									
										
										
										
											2023-04-25 15:51:39 +08:00
										 |  |  |  |         <div class="alert alert-success" role="alert"> | 
					
						
							|  |  |  |  |           <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-03-08 16:33:13 +08:00
										 |  |  |  |         {% endif %} | 
					
						
							| 
									
										
										
										
											2023-04-25 15:51:39 +08:00
										 |  |  |  |       </div> | 
					
						
							| 
									
										
										
										
											2022-01-27 11:27:26 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-25 15:51:39 +08:00
										 |  |  |  |       <input type="checkbox" onclick="toggleHighlighting()" checked />生词高亮 | 
					
						
							|  |  |  |  |       <input type="checkbox" onclick="onReadClick()" checked />大声朗读 | 
					
						
							|  |  |  |  |       <input type="checkbox" onclick="onChooseClick()" checked />划词入库 | 
					
						
							|  |  |  |  |       <div class="range"> | 
					
						
							| 
									
										
										
										
											2022-07-18 16:00:08 +08:00
										 |  |  |  |         <div class="field"> | 
					
						
							| 
									
										
										
										
											2023-04-25 15:51:39 +08:00
										 |  |  |  |           <div class="sliderValue"> | 
					
						
							|  |  |  |  |             <span id="rangeValue">1×</span> | 
					
						
							|  |  |  |  |           </div> | 
					
						
							|  |  |  |  |           <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-04-25 15:51:39 +08:00
										 |  |  |  |       </div> | 
					
						
							|  |  |  |  |       <p><b>收集生词吧</b> (可以在正文中划词,也可以复制黏贴)</p> | 
					
						
							|  |  |  |  |       <form method="post" action="/{{ username }}"> | 
					
						
							|  |  |  |  |         <textarea | 
					
						
							|  |  |  |  |           name="content" | 
					
						
							|  |  |  |  |           id="selected-words" | 
					
						
							|  |  |  |  |           rows="10" | 
					
						
							|  |  |  |  |           cols="120" | 
					
						
							|  |  |  |  |         ></textarea | 
					
						
							|  |  |  |  |         ><br /> | 
					
						
							|  |  |  |  |         <input type="submit" value="把生词加入我的生词库" /> | 
					
						
							|  |  |  |  |         <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 %} | 
					
						
							|  |  |  |  |       <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 | 
					
						
							|  |  |  |  |           > | 
					
						
							| 
									
										
										
										
											2023-01-29 12:01:19 +08:00
										 |  |  |  |         </p> | 
					
						
							| 
									
										
										
										
											2023-04-25 15:51:39 +08:00
										 |  |  |  |         {% endfor %} | 
					
						
							|  |  |  |  |       </div> | 
					
						
							|  |  |  |  |       <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 %} | 
					
						
							|  |  |  |  |   </body> | 
					
						
							|  |  |  |  |   <style> | 
					
						
							| 
									
										
										
										
											2022-01-26 21:10:09 +08:00
										 |  |  |  |     mark { | 
					
						
							| 
									
										
										
										
											2023-02-21 20:05:48 +08:00
										 |  |  |  |         color: #{{ yml['highlight']['color'] }}; | 
					
						
							|  |  |  |  |         background-color: rgba(0, 0, 0, 0); | 
					
						
							|  |  |  |  |     } | 
					
						
							| 
									
										
										
										
											2023-04-25 15:51:39 +08:00
										 |  |  |  |   </style> | 
					
						
							| 
									
										
										
										
											2022-01-27 20:15:26 +08:00
										 |  |  |  | </html> |