' % self.name
+
+
+class AnonymousUser(AnonymousUserMixin):
+
+ def can(self, permissions):
+ return False
+
+ def is_administrator(self):
+ return False
+
+
+class Permission:
+ FOLLOW = 0x01 # 关注用户
+ COMMENT = 0x02 # 发表评论
+ WRITE_ARTICLES = 0x04 # 写文章
+ MODERATE_COMMENTS = 0x08 # 管理评论
+ ADMINISTER = 0x80 # 管理网站
+
+
+login_manager.anonymous_user = AnonymousUser
+
+
+class Post(db.Model):
+ __tablename__ = 'posts'
+ id = db.Column(db.Integer, primary_key=True, autoincrement=1)
+ body = db.Column(db.Text)
+ body_html = db.Column(db.Text)
+ timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow())
+ author_id = db.Column(db.Integer, db.ForeignKey('user.id'))
+ comments = db.relationship('Comment', backref='post', lazy='dynamic')
+
+ @staticmethod
+ def on_changed_body(target, value, oldvalue, initiator):
+ allowed_tags = ['a', 'abbr', 'acronym', 'b', 'blockquote', 'code', 'em', 'i', 'li', 'ol', 'pre', 'strong', 'ul',
+ 'h1', 'h2', 'h3', 'p']
+ target.body_html = bleach.linkify(bleach.clean(markdown(value, output_format='html'), tags=allowed_tags,
+ strip=True))
+
+db.event.listen(Post.body, 'set', Post.on_changed_body)
+
+
+class Comment(db.Model):
+ __tablename__ = 'comments'
+ id = db.Column(db.Integer, primary_key=True, autoincrement=1)
+ body = db.Column(db.Text)
+ body_html = db.Column(db.Text)
+ timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow())
+ disabled = db.Column(db.Boolean)
+ author_id = db.Column(db.Integer, db.ForeignKey('user.id'))
+ post_id = db.Column(db.Integer, db.ForeignKey('posts.id'))
+
+ @staticmethod
+ def on_change_body(target, value, oldvalue, initiator):
+ allowed_tags = ['a', 'abbr', 'acronym', 'b', 'code', 'em', 'i', 'strong']
+ target.body_html = bleach.linkify(bleach.clean(markdown(value, output_format='html'), tags=allowed_tags,
+ strip=True))
+
+db.event.listen(Comment.body, 'set', Comment.on_change_body)
diff --git a/app/static/.DS_Store b/app/static/.DS_Store
new file mode 100644
index 0000000..5b91945
Binary files /dev/null and b/app/static/.DS_Store differ
diff --git a/app/static/20160904.jpg b/app/static/20160904.jpg
new file mode 100755
index 0000000..b19cb1e
Binary files /dev/null and b/app/static/20160904.jpg differ
diff --git a/app/static/IMG_1560.JPG b/app/static/IMG_1560.JPG
new file mode 100644
index 0000000..cd93e47
Binary files /dev/null and b/app/static/IMG_1560.JPG differ
diff --git a/app/static/IMG_2318.JPG b/app/static/IMG_2318.JPG
new file mode 100755
index 0000000..110cb70
Binary files /dev/null and b/app/static/IMG_2318.JPG differ
diff --git a/app/static/P1090763.JPG b/app/static/P1090763.JPG
new file mode 100755
index 0000000..4c0b2b6
Binary files /dev/null and b/app/static/P1090763.JPG differ
diff --git a/app/static/P1090766.JPG b/app/static/P1090766.JPG
new file mode 100755
index 0000000..f44cf42
Binary files /dev/null and b/app/static/P1090766.JPG differ
diff --git a/app/static/P1090770.JPG b/app/static/P1090770.JPG
new file mode 100755
index 0000000..89fdaac
Binary files /dev/null and b/app/static/P1090770.JPG differ
diff --git a/app/static/apple-touch-icon-120x120.png b/app/static/apple-touch-icon-120x120.png
new file mode 100644
index 0000000..b9319ad
Binary files /dev/null and b/app/static/apple-touch-icon-120x120.png differ
diff --git a/app/static/apple-touch-icon-152x152.png b/app/static/apple-touch-icon-152x152.png
new file mode 100644
index 0000000..f23467b
Binary files /dev/null and b/app/static/apple-touch-icon-152x152.png differ
diff --git a/app/static/apple-touch-icon-180x180.png b/app/static/apple-touch-icon-180x180.png
new file mode 100644
index 0000000..4b1f974
Binary files /dev/null and b/app/static/apple-touch-icon-180x180.png differ
diff --git a/app/static/apple-touch-icon-72x72.png b/app/static/apple-touch-icon-72x72.png
new file mode 100644
index 0000000..017cd99
Binary files /dev/null and b/app/static/apple-touch-icon-72x72.png differ
diff --git a/app/static/ar-active.png b/app/static/ar-active.png
new file mode 100644
index 0000000..8fe9f47
Binary files /dev/null and b/app/static/ar-active.png differ
diff --git a/app/static/ar.png b/app/static/ar.png
new file mode 100644
index 0000000..60a6e8d
Binary files /dev/null and b/app/static/ar.png differ
diff --git a/app/static/bg-footer-content.png b/app/static/bg-footer-content.png
new file mode 100644
index 0000000..f5c9293
Binary files /dev/null and b/app/static/bg-footer-content.png differ
diff --git a/app/static/bg-footer-wrapper.png b/app/static/bg-footer-wrapper.png
new file mode 100644
index 0000000..73170b1
Binary files /dev/null and b/app/static/bg-footer-wrapper.png differ
diff --git a/app/static/bg-header-content2014.jpg b/app/static/bg-header-content2014.jpg
new file mode 100644
index 0000000..21e30f3
Binary files /dev/null and b/app/static/bg-header-content2014.jpg differ
diff --git a/app/static/bg-header-wrapper.jpg b/app/static/bg-header-wrapper.jpg
new file mode 100644
index 0000000..c196e8f
Binary files /dev/null and b/app/static/bg-header-wrapper.jpg differ
diff --git a/app/static/bg-link-sub-menu-2.png b/app/static/bg-link-sub-menu-2.png
new file mode 100644
index 0000000..1a28d8a
Binary files /dev/null and b/app/static/bg-link-sub-menu-2.png differ
diff --git a/app/static/bg-palmares.png b/app/static/bg-palmares.png
new file mode 100644
index 0000000..9b6ba1a
Binary files /dev/null and b/app/static/bg-palmares.png differ
diff --git a/app/static/campionato-over.png b/app/static/campionato-over.png
new file mode 100644
index 0000000..e4c0d27
Binary files /dev/null and b/app/static/campionato-over.png differ
diff --git a/app/static/campionato.png b/app/static/campionato.png
new file mode 100644
index 0000000..b294433
Binary files /dev/null and b/app/static/campionato.png differ
diff --git a/app/static/champions-league-old-over.png b/app/static/champions-league-old-over.png
new file mode 100644
index 0000000..3182a4d
Binary files /dev/null and b/app/static/champions-league-old-over.png differ
diff --git a/app/static/champions-league-old.png b/app/static/champions-league-old.png
new file mode 100644
index 0000000..167cf18
Binary files /dev/null and b/app/static/champions-league-old.png differ
diff --git a/app/static/champions-league-over.png b/app/static/champions-league-over.png
new file mode 100644
index 0000000..e2d7277
Binary files /dev/null and b/app/static/champions-league-over.png differ
diff --git a/app/static/champions-league.png b/app/static/champions-league.png
new file mode 100644
index 0000000..5d5bb92
Binary files /dev/null and b/app/static/champions-league.png differ
diff --git a/app/static/coppa-intercontinentale-over.png b/app/static/coppa-intercontinentale-over.png
new file mode 100644
index 0000000..aa376b9
Binary files /dev/null and b/app/static/coppa-intercontinentale-over.png differ
diff --git a/app/static/coppa-intercontinentale.png b/app/static/coppa-intercontinentale.png
new file mode 100644
index 0000000..8d074f9
Binary files /dev/null and b/app/static/coppa-intercontinentale.png differ
diff --git a/app/static/coppa-italia-over.png b/app/static/coppa-italia-over.png
new file mode 100644
index 0000000..765718a
Binary files /dev/null and b/app/static/coppa-italia-over.png differ
diff --git a/app/static/coppa-italia.png b/app/static/coppa-italia.png
new file mode 100644
index 0000000..b013f37
Binary files /dev/null and b/app/static/coppa-italia.png differ
diff --git a/app/static/coppa-uefa-over.png b/app/static/coppa-uefa-over.png
new file mode 100644
index 0000000..d2bd87f
Binary files /dev/null and b/app/static/coppa-uefa-over.png differ
diff --git a/app/static/coppa-uefa.png b/app/static/coppa-uefa.png
new file mode 100644
index 0000000..475b36f
Binary files /dev/null and b/app/static/coppa-uefa.png differ
diff --git a/app/static/deutschebank.png b/app/static/deutschebank.png
new file mode 100644
index 0000000..8f16ec9
Binary files /dev/null and b/app/static/deutschebank.png differ
diff --git a/app/static/deutschebank_over.png b/app/static/deutschebank_over.png
new file mode 100644
index 0000000..5cb8bb0
Binary files /dev/null and b/app/static/deutschebank_over.png differ
diff --git a/app/static/es-active.png b/app/static/es-active.png
new file mode 100644
index 0000000..ee7c60b
Binary files /dev/null and b/app/static/es-active.png differ
diff --git a/app/static/es.png b/app/static/es.png
new file mode 100644
index 0000000..86b9765
Binary files /dev/null and b/app/static/es.png differ
diff --git a/app/static/fb_off.png b/app/static/fb_off.png
new file mode 100644
index 0000000..058ea5e
Binary files /dev/null and b/app/static/fb_off.png differ
diff --git a/app/static/fb_on.png b/app/static/fb_on.png
new file mode 100644
index 0000000..929dd6d
Binary files /dev/null and b/app/static/fb_on.png differ
diff --git a/app/static/fc-internazionale2016.png b/app/static/fc-internazionale2016.png
new file mode 100644
index 0000000..e667d7a
Binary files /dev/null and b/app/static/fc-internazionale2016.png differ
diff --git a/app/static/gb-active.png b/app/static/gb-active.png
new file mode 100644
index 0000000..7be37a4
Binary files /dev/null and b/app/static/gb-active.png differ
diff --git a/app/static/gb.png b/app/static/gb.png
new file mode 100644
index 0000000..90a939b
Binary files /dev/null and b/app/static/gb.png differ
diff --git a/app/static/googleplus_new-2.png b/app/static/googleplus_new-2.png
new file mode 100644
index 0000000..117b030
Binary files /dev/null and b/app/static/googleplus_new-2.png differ
diff --git a/app/static/googleplus_new.png b/app/static/googleplus_new.png
new file mode 100644
index 0000000..117b030
Binary files /dev/null and b/app/static/googleplus_new.png differ
diff --git a/app/static/icona_ig_v2_29x29.png b/app/static/icona_ig_v2_29x29.png
new file mode 100644
index 0000000..1f2bedc
Binary files /dev/null and b/app/static/icona_ig_v2_29x29.png differ
diff --git a/app/static/icona_ig_v2_29x29_hover.png b/app/static/icona_ig_v2_29x29_hover.png
new file mode 100644
index 0000000..a1a65df
Binary files /dev/null and b/app/static/icona_ig_v2_29x29_hover.png differ
diff --git a/app/static/inter.css b/app/static/inter.css
new file mode 100644
index 0000000..de49e57
--- /dev/null
+++ b/app/static/inter.css
@@ -0,0 +1,729 @@
+#headerWrapper {
+ width: 100%;
+ min-width: 968px;
+ overflow: inherit;
+ background: url('bg-header-wrapper.jpg') repeat-x left top;
+ z-index: 998;
+}
+#headerWrapper #headerContent {
+ width: 968px;
+ margin: 0 auto;
+ overflow: hidden;
+ position: relative;
+ overflow: visible;
+ background: url('bg-header-content2014.jpg') no-repeat left top;
+ min-height: 165px;
+ *zoom: 1;
+}
+#headerWrapper #headerContent:before,
+#headerWrapper #headerContent:after {
+ content: "";
+ display: table;
+}
+#headerWrapper #headerContent:after {
+ clear: both;
+}
+#headerWrapper #headerContent #externalLinks {
+ display: inline;
+ float: left;
+ width: 268px;
+
+}
+#headerWrapper #headerContent #externalLinks ul {
+ float: left;
+ list-style: none;
+ padding-left: 10px;
+ margin: 0;
+}
+#headerWrapper #headerContent #externalLinks ul li, #externalbrandname {
+ float: left;
+ color:#666;
+ margin-top:4px;
+ z-index:9999 !important;
+
+}
+
+#externalbrandname {
+ float: left;
+ font-family: 'LeagueGothicRegular';
+ font-weight: normal;
+ font-size: 19px;
+ margin-bottom:5px;
+ border-left:5px solid;
+ border-left-color:rgb(228,222,206);
+
+ margin-right:100px;
+ text-align:right;
+ color:#666;
+ z-index:9999 !important;
+
+}
+#externalbrandname li {
+ text-align:right;
+
+}
+
+#headerWrapper #headerContent #externalLinks ul li a {
+ text-transform: uppercase;
+ text-decoration: none;
+ color:#333;
+
+}
+#headerWrapper #headerContent #externalLinks ul li a:hover {
+ text-decoration: none;
+ color:#fff;
+}
+#headerWrapper #headerContent #externalLinks #printlogo {
+ display:none;
+}
+#headerWrapper #headerContent #socialLinks,.socialLinks {
+ display: inline;
+ float: left;
+ width: 530px;
+ height: 29px;
+ overflow:hidden;
+ margin-right: 1px;
+ margin-bottom: 0;
+ margin-left: 0;
+
+}
+.socialLinks {
+ width: 30% !important;
+ height: 29px;
+ overflow:hidden;
+ margin-bottom: 20px;
+ margin-left: 35% !important;
+ margin-top:-10px;
+}
+#headerWrapper #headerContent #socialLinks ul,.socialLinks ul {
+ float: right;
+ list-style: none;
+ padding: 0;
+ margin: 0;
+}
+.socialLinks ul {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+ float:none !important;
+}
+#headerWrapper #headerContent #socialLinks ul li,.socialLinks ul li {
+ float: left;
+ font-size: 1.5384615384615385em;
+ line-height: 1.45em;
+ color: #a59061;
+}
+#headerWrapper #headerContent #socialLinks ul li a,.socialLinks ul li a {
+ display: block;
+}
+#headerWrapper #headerContent #socialLinks ul li#facebookLink,
+#headerWrapper #headerContent #socialLinks ul li#twitterLink,
+#headerWrapper #headerContent #socialLinks ul li#youtubeLink,
+#headerWrapper #headerContent #socialLinks ul li#googlepLink,
+#headerWrapper #headerContent #socialLinks ul li#instagramLink,
+#headerWrapper #headerContent #socialLinks ul li#weiboLink
+#headerWrapper #headerContent #socialLinks ul li#LinkedinLink
+{
+ padding-top: 0px;
+}
+#headerWrapper #headerContent #socialLinks ul li#facebookLink a,
+#headerWrapper #headerContent #socialLinks ul li#twitterLink a,
+#headerWrapper #headerContent #socialLinks ul li#youtubeLink a,
+#headerWrapper #headerContent #socialLinks ul li#googlepLink a,
+#headerWrapper #headerContent #socialLinks ul li#instagramLink a,
+#headerWrapper #headerContent #socialLinks ul li#weiboLink a
+#headerWrapper #headerContent #socialLinks ul li#LinkedinLink a
+ {
+
+ text-indent: 100%;
+ white-space: nowrap;
+ overflow: hidden;
+}
+#headerWrapper #headerContent #socialLinks ul li#facebookLink a,.socialLinks ul li#facebookLink a {
+ width: 29px;
+ margin-right: 0px;
+ background: url('fb_on.png') no-repeat left top;
+}
+#headerWrapper #headerContent #socialLinks ul li#facebookLink a:hover,.socialLinks ul li#facebookLink a:hover {
+ background: url('fb_off.png') no-repeat left top;
+}
+
+
+#headerWrapper #headerContent #socialLinks ul li#LinkedinLink a,.socialLinks ul li#LinkedinLink a {
+ width: 29px;
+ margin-right: 0px;
+ background: url('linkedin_on.jpg') no-repeat left top;
+}
+#headerWrapper #headerContent #socialLinks ul li#LinkedinLink a:hover,.socialLinks ul li#LinkedinLink a:hover {
+ background: url('linkedin_off.jpg') no-repeat left top;
+}
+
+
+#headerWrapper #headerContent #socialLinks ul li#twitterLink a,.socialLinks ul li#twitterLink a {
+ width: 29px;
+ margin-right: 0px;
+ background: url('tw_on.png') no-repeat left top;
+}
+#headerWrapper #headerContent #socialLinks ul li#twitterLink a:hover,.socialLinks ul li#twitterLink a:hover {
+ background: url('tw_off.png') no-repeat left top;
+}
+
+
+#headerWrapper #headerContent #socialLinks ul li#youtubeLink a,.socialLinks ul li#youtubeLink a {
+ width: 29px;
+ margin-right: 0px;
+ background: url('yt_on.png') no-repeat left top;
+}
+#headerWrapper #headerContent #socialLinks ul li#youtubeLink a:hover {
+ background: url('yt_off.png') no-repeat left top;
+}
+
+
+#headerWrapper #headerContent #socialLinks ul li#instagramLink a,.socialLinks ul li#instagramLink a {
+ width: 29px;
+ margin-right: 0px;
+ background: url('icona_ig_v2_29x29.png') no-repeat left top;
+}
+#headerWrapper #headerContent #socialLinks ul li#instagramLink a:hover,.socialLinks ul li#instagramLink a:hover {
+ background: url('icona_ig_v2_29x29_hover.png') no-repeat left top;
+}
+
+#headerWrapper #headerContent #socialLinks ul li#googlepLink a,.socialLinks ul li#googlepLink a {
+ width: 29px;
+ margin-right: 0px;
+ background: url('googleplus_new.png') no-repeat left top;
+}
+#headerWrapper #headerContent #socialLinks ul li#googlepLink a:hover,.socialLinks ul li#googlepLink a:hover {
+ background: url('googleplus_new.png') no-repeat left top;
+}
+
+#headerWrapper #headerContent #socialLinks ul li#weiboLink a,.socialLinks ul li#weiboLink a {
+ width: 29px;
+ margin-right: 0px;
+ background: url('wb_on.png') no-repeat left top;
+}
+#headerWrapper #headerContent #socialLinks ul li#weiboLink a:hover,.socialLinks ul li#weiboLink a:hover {
+ background: url('wb_off.png') no-repeat left top;
+}
+.socialLinks ul li{width:20%;}
+.socialLinks ul li a
+ {
+
+ text-indent: 100%;
+ white-space: nowrap;
+ overflow: hidden;
+ margin-right:2% !important;
+ width:98% !important;
+}
+
+#headerWrapper #headerContent #socialLinks ul li#searchBox {
+ width: 34px;
+ height: 29px;
+ font-size: 0.9230769230769231em;
+ line-height: 2.4166666666666665em;
+ color: #000000;
+ border-left: 1px solid #a59061;
+ overflow: hidden;
+}
+#headerWrapper #headerContent #socialLinks ul li#searchBox #headerSearch p {
+ display: none;
+ position: relative;
+ float: left;
+ padding: 0 0 0 5px;
+ margin: 0;
+}
+#headerWrapper #headerContent #socialLinks ul li#searchBox #headerSearch p label {
+ position: absolute;
+ top: 0;
+ left: 8px;
+}
+#headerWrapper #headerContent #socialLinks ul li#searchBox #headerSearch p #headerSearchQuery {
+ width: 150px;
+ background: #ffffff;
+ border: 1px solid #a59061;
+ outline: none;
+}
+#headerWrapper #headerContent #socialLinks ul li#searchBox #headerSearch #headerSearchButton {
+ display: block;
+ float: right;
+ width: 34px;
+ height: 29px;
+ background: url('search.png') no-repeat left top;
+ border: none;
+}
+#headerWrapper #headerContent #socialLinks ul li#searchBox a {
+ width: 34px;
+ height: 29px;
+ background: url('search.png') no-repeat left top;
+ text-indent: 100%;
+ white-space: nowrap;
+
+}
+#headerWrapper #headerContent #socialLinks ul li#subscribeLink,
+#headerWrapper #headerContent #socialLinks ul li#loginLink {
+ letter-spacing: 1px;
+}
+#headerWrapper #headerContent #socialLinks ul li#subscribeLink a,
+#headerWrapper #headerContent #socialLinks ul li#loginLink a {
+ font-family: 'LeagueGothicRegular';
+ font-weight: normal;
+ font-style: normal;
+ color: white;
+ text-decoration: none;
+ text-transform: uppercase;
+ background-color: #a59061;
+ height:28px;
+ padding-top: 2px;
+ padding-right: 8px;
+ padding-bottom: 0;
+ padding-left: 8px;
+ overflow:hidden
+}
+#headerWrapper #headerContent #socialLinks ul li#loginLink {
+ border-left: 1px solid #e1dccd;
+}
+#headerWrapper #headerContent #socialLinks ul li#loginLink a:hover,
+#headerWrapper #headerContent #socialLinks ul li#loginLink a.active {
+ background-color: #005daa;
+}
+#headerWrapper #headerContent #socialLinks ul li#loginLink.loggedin {
+ font-size: 1em;
+ line-height: 2.230769230769231em;
+ letter-spacing: 0;
+}
+/*#headerWrapper #headerContent #socialLinks ul li#loginLink.loggedin a {*/
+ /*font-family: sans-serif;*/
+ /*text-transform: none;*/
+ /*padding-right: 23px;*/
+ /*background: #a59061 url('bg-link-profilo.png') no-repeat right 11px;*/
+/*}*/
+/*#headerWrapper #headerContent #socialLinks ul li#loginLink.loggedin a:hover,*/
+/*#headerWrapper #headerContent #socialLinks ul li#loginLink.loggedin a.active {*/
+ /*background: #005daa url('bg-link-profilo.png') no-repeat right 11px;*/
+/*}*/
+#headerWrapper #headerContent #trofei {
+ position: relative;
+ display: inline;
+ float: left;
+ width: 967px;
+ margin: 0 1px 0 0;
+ height: 97px;
+}
+#headerWrapper #headerContent #trofei a {
+ position: absolute;
+ background-repeat: no-repeat;
+ text-indent: 100%;
+ white-space: nowrap;
+ overflow: hidden;
+}
+#headerWrapper #headerContent #trofei a.campionato {
+ top: 38px;
+ width: 13px;
+ height: 12px;
+ background-image: url('campionato.png');
+}
+#headerWrapper #headerContent #trofei a.campionato:hover {
+ background-image: url('campionato-over.png');
+}
+#headerWrapper #headerContent #trofei a.coppa-italia {
+ top: 62px;
+ width: 11px;
+ height: 29px;
+ background-image: url('coppa-italia.png');
+}
+#headerWrapper #headerContent #trofei a.coppa-italia:hover {
+ background-image: url('coppa-italia-over.png');
+}
+#headerWrapper #headerContent #trofei a.champions-league {
+ top: 63px;
+ width: 17px;
+ height: 28px;
+ background-image: url('champions-league.png');
+}
+#headerWrapper #headerContent #trofei a.champions-league:hover {
+ background-image: url('champions-league-over.png');
+}
+#headerWrapper #headerContent #trofei a.champions-league-old {
+ top: 66px;
+ width: 15px;
+ height: 25px;
+ background-image: url('champions-league-old.png');
+}
+#headerWrapper #headerContent #trofei a.champions-league-old:hover {
+ background-image: url('champions-league-old-over.png');
+}
+#headerWrapper #headerContent #trofei a.coppa-intercontinentale {
+ top: 63px;
+ width: 10px;
+ height: 28px;
+ background-image: url('coppa-intercontinentale.png');
+}
+#headerWrapper #headerContent #trofei a.coppa-intercontinentale:hover {
+ background-image: url('coppa-intercontinentale-over.png');
+}
+#headerWrapper #headerContent #trofei a.coppa-uefa {
+ top: 65px;
+ width: 12px;
+ height: 26px;
+ background-image: url('coppa-uefa.png');
+}
+#headerWrapper #headerContent #trofei a.coppa-uefa:hover {
+ background-image: url('coppa-uefa-over.png');
+}
+#headerWrapper #headerContent #trofei a.mondiale-per-club {
+ top: 59px;
+ width: 12px;
+ height: 32px;
+ background-image: url('mondiale-per-club.png');
+}
+#headerWrapper #headerContent #trofei a.mondiale-per-club:hover {
+ background-image: url('mondiale-per-club-over.png');
+}
+#headerWrapper #headerContent #trofei a.supercoppa {
+ top: 61px;
+ width: 12px;
+ height: 30px;
+ background-image: url('supercoppa.png');
+}
+#headerWrapper #headerContent #trofei a.supercoppa:hover {
+ background-image: url('supercoppa-over.png');
+}
+#headerWrapper #headerContent #trofei a#trofeo1 {
+ left: 37px;
+}
+#headerWrapper #headerContent #trofei a#trofeo2 {
+ left: 81px;
+}
+#headerWrapper #headerContent #trofei a#trofeo3 {
+ left: 124px;
+}
+#headerWrapper #headerContent #trofei a#trofeo4 {
+ left: 167px;
+}
+#headerWrapper #headerContent #trofei a#trofeo5 {
+ left: 210px;
+}
+#headerWrapper #headerContent #trofei a#trofeo6 {
+ left: 253px;
+}
+#headerWrapper #headerContent #trofei a#trofeo7 {
+ left: 296px;
+}
+#headerWrapper #headerContent #trofei a#trofeo8 {
+ left: 339px;
+}
+#headerWrapper #headerContent #trofei a#trofeo9 {
+ left: 382px;
+}
+#headerWrapper #headerContent #trofei a#trofeo10 {
+ left: 568px;
+}
+#headerWrapper #headerContent #trofei a#trofeo11 {
+ left: 610px;
+}
+#headerWrapper #headerContent #trofei a#trofeo12 {
+ left: 653px;
+}
+#headerWrapper #headerContent #trofei a#trofeo13 {
+ left: 696px;
+}
+#headerWrapper #headerContent #trofei a#trofeo14 {
+ left: 739px;
+}
+#headerWrapper #headerContent #trofei a#trofeo15 {
+ left: 782px;
+}
+#headerWrapper #headerContent #trofei a#trofeo16 {
+ left: 825px;
+}
+#headerWrapper #headerContent #trofei a#trofeo17 {
+ left: 868px;
+}
+#headerWrapper #headerContent #trofei a#trofeo18 {
+ left: 910px;
+}
+#headerWrapper #headerContent #trofei a#trofeo19 {
+ left: 19px;
+}
+#headerWrapper #headerContent #trofei a#trofeo20 {
+ left: 57px;
+}
+#headerWrapper #headerContent #trofei a#trofeo21 {
+ left: 96px;
+}
+#headerWrapper #headerContent #trofei a#trofeo22 {
+ left: 134px;
+}
+#headerWrapper #headerContent #trofei a#trofeo23 {
+ left: 172px;
+}
+#headerWrapper #headerContent #trofei a#trofeo24 {
+ left: 211px;
+}
+#headerWrapper #headerContent #trofei a#trofeo25 {
+ left: 249px;
+}
+#headerWrapper #headerContent #trofei a#trofeo26 {
+ left: 287px;
+}
+#headerWrapper #headerContent #trofei a#trofeo27 {
+ left: 325px;
+}
+#headerWrapper #headerContent #trofei a#trofeo28 {
+ left: 364px;
+}
+#headerWrapper #headerContent #trofei a#trofeo29 {
+ left: 402px;
+}
+#headerWrapper #headerContent #trofei a#trofeo30 {
+ left: 548px;
+}
+#headerWrapper #headerContent #trofei a#trofeo31 {
+ left: 590px;
+}
+#headerWrapper #headerContent #trofei a#trofeo32 {
+ left: 633px;
+}
+#headerWrapper #headerContent #trofei a#trofeo33 {
+ left: 675px;
+}
+#headerWrapper #headerContent #trofei a#trofeo34 {
+ left: 720px;
+}
+#headerWrapper #headerContent #trofei a#trofeo35 {
+ left: 763px;
+}
+#headerWrapper #headerContent #trofei a#trofeo36 {
+ left: 806px;
+}
+#headerWrapper #headerContent #trofei a#trofeo37 {
+ left: 850px;
+}
+#headerWrapper #headerContent #trofei a#trofeo38 {
+ left: 893px;
+}
+#headerWrapper #headerContent #trofei a#trofeo39 {
+ left: 935px;
+}
+
+#headerWrapper #headerContent #logo {
+ position: absolute;
+ top: 8px;
+ left: 430px;
+ width: 105px;
+ height: 133px;
+}
+#headerWrapper #headerContent #logo a {
+ display: block;
+ width: 105px;
+ height: 133px;
+ background: url('fc-internazionale2016.png') no-repeat left top;
+ text-indent: 100%;
+ white-space: nowrap;
+ overflow: hidden;
+}
+#headerWrapper #headerContent #mainMenu {
+ display: inline;
+ float: left;
+ width: 967px;
+ padding-left:0px;
+
+}
+#headerWrapper #headerContent #mainMenu ul {
+ float: left;
+ margin-top: 10px;
+ list-style: none;
+ padding: 0;
+ border-left: 1px solid #a59061;
+}
+#headerWrapper #headerContent #mainMenu ul li {
+ float: left;
+ height: 29px;
+ font-size: 1.5em;
+ line-height: 1em;
+ text-align: center;
+ letter-spacing: 5px;
+}
+#headerWrapper #headerContent #mainMenu ul li a {
+ display: block;
+ width: 161px;
+ height: 29px;
+ font-family: 'LeagueGothicRegular';
+ font-weight: normal;
+ font-style: normal;
+ color: #ffffff;
+ text-decoration: none;
+ text-transform: uppercase;
+ border-right: 1px solid #a59061;
+}
+#headerWrapper #headerContent #mainMenu ul li a:hover,
+#headerWrapper #headerContent #mainMenu ul li a.current,
+#headerWrapper #headerContent #mainMenu ul li a.open {
+ background-color: #192b3c;
+ color: #005daa;
+}
+#headerWrapper #headerContent #mainMenu ul li a#menuShop {
+ border: none;
+ color: #a59061;
+}
+#headerWrapper #headerContent #mainMenu ul li a#menuShop:hover,
+#headerWrapper #headerContent #mainMenu ul li a#menuShop.current {
+ color: #005daa;
+}
+
+#footerWrapper {
+ width: 100%;
+ min-width: 968px;
+ overflow: hidden;
+ background: url('bg-footer-wrapper.png') repeat-x left top;
+}
+#footerWrapper #footerContent {
+ width: 968px;
+ margin: 0 auto;
+ overflow: hidden;
+ height: 400px;
+ background: url('bg-footer-content.png') repeat-x left top;
+}
+#footerWrapper #footerContent #copy,
+#footerWrapper #footerContent #privacy {
+ display: inline;
+ float: left;
+ width: 483px;
+ margin: 0 1px 0 0;
+}
+#footerWrapper #footerContent #copy p,
+#footerWrapper #footerContent #privacy p {
+ font-size: 0.9230769230769231em;
+ line-height: 2.5833333333333335em;
+ margin: 0 10px;
+}
+#footerWrapper #footerContent #privacy p {
+ color: #a59061;
+ text-align: right;
+}
+#footerWrapper #footerContent #privacy p a {
+ color: #a59061;
+ text-decoration: none;
+}
+#footerWrapper #footerContent #privacy p a:hover {
+ text-decoration: underline;
+}
+#footerWrapper #footerContent #sponsors {
+ position: relative;
+ display: inline !important;
+ float: left;
+ width: 967px;
+ margin: 0 1px 0 0;
+ height: 205px;
+ overflow:auto;
+}
+#footerWrapper #footerContent #sponsors a {
+ display: block;
+ position: absolute;
+ white-space: nowrap;
+ text-indent:-9999px;
+ overflow: hidden;
+}
+#footerWrapper #footerContent #sponsors a#nike {
+ top: 60px;
+ left: 364px;
+ width: 100px;
+ height: 35px;
+ background: url('nike.png') no-repeat;
+}
+#footerWrapper #footerContent #sponsors a#nike:hover {
+ background: url('nike_over.png') no-repeat;
+}
+#footerWrapper #footerContent #sponsors a#pirelli {
+ top: 60px;
+ left: 495px;
+ width: 120px;
+ height: 37px;
+ background: url('pirelli.png') no-repeat;
+}
+#footerWrapper #footerContent #sponsors a#pirelli:hover {
+ background: url('pirelli_over.png') no-repeat;
+}
+#footerWrapper #footerContent #sponsors a#tim {
+ top: 135px;
+ left: 359px;
+ width: 100px;
+ height: 55px;
+ background: url('tim016.png') no-repeat;
+}
+#footerWrapper #footerContent #sponsors a#tim:hover {
+ background: url('tim016_over.png') no-repeat;
+}
+
+#footerWrapper #footerContent #sponsors a#oknoplast {
+ display:none;
+ /*top: 110px;
+ left: 429px;
+ width: 100px;
+ height: 53px;
+ background: url(/html/images/sponsors/oknoplast4_off.png) no-repeat;*/
+}
+#footerWrapper #footerContent #sponsors a#oknoplast:hover {
+ display:none;
+ /*
+ background: url(/html/images/sponsors/oknoplast4_on.png) no-repeat;*/
+
+}
+
+#footerWrapper #footerContent #sponsors a#deutschebank {
+ top: 138px;
+ left: 508px;
+ width: 100px;
+ height: 51px;
+ background: url('deutschebank.png') no-repeat;
+}
+#footerWrapper #footerContent #sponsors a#deutschebank:hover {
+ background: url('deutschebank_over.png') no-repeat;
+}
+#footerWrapper #footerContent #footerMenu {
+ display: inline;
+ float: left;
+ width: 967px;
+ margin: 0 1px 0 0;
+}
+#footerWrapper #footerContent #footerMenu ul {
+ list-style: none;
+ margin: 15px 0 0 15px;
+ padding: 0;
+}
+#footerWrapper #footerContent #footerMenu ul li {
+ float: left;
+ width: 200px;
+}
+#footerWrapper #footerContent #footerMenu ul li p {
+ font-family: 'LeagueGothicRegular';
+ font-weight: normal;
+ font-style: normal;
+ font-size: 1.6em;
+ line-height: 2.5em;
+ margin-bottom: 0.22727272727272727em;
+ letter-spacing: 1px;
+ color: #ffffff;
+}
+#footerWrapper #footerContent #footerMenu ul li p a {
+ color: #ffffff;
+ text-decoration: none;
+}
+#footerWrapper #footerContent #footerMenu ul li p a:hover {
+ color: #005daa;
+}
+#footerWrapper #footerContent #footerMenu ul li ul {
+ margin: 0 0 16px;
+}
+#footerWrapper #footerContent #footerMenu ul li ul li {
+ float: none;
+ font-size: 1.1em;
+ line-height: 1.5em;
+}
+#footerWrapper #footerContent #footerMenu ul li ul li a {
+ color: #e1dccd;
+ text-decoration: none;
+}
+#footerWrapper #footerContent #footerMenu ul li ul li a:hover {
+ color: #ffffff;
+}
diff --git a/app/static/inter.png b/app/static/inter.png
new file mode 100644
index 0000000..e4072cb
Binary files /dev/null and b/app/static/inter.png differ
diff --git a/app/static/interista.jpeg b/app/static/interista.jpeg
new file mode 100644
index 0000000..d1e535e
Binary files /dev/null and b/app/static/interista.jpeg differ
diff --git a/app/static/it-active.png b/app/static/it-active.png
new file mode 100644
index 0000000..3c51fbb
Binary files /dev/null and b/app/static/it-active.png differ
diff --git a/app/static/it.png b/app/static/it.png
new file mode 100644
index 0000000..137da4d
Binary files /dev/null and b/app/static/it.png differ
diff --git a/app/static/jp-active.png b/app/static/jp-active.png
new file mode 100644
index 0000000..a5cc188
Binary files /dev/null and b/app/static/jp-active.png differ
diff --git a/app/static/jp.png b/app/static/jp.png
new file mode 100644
index 0000000..092bcd8
Binary files /dev/null and b/app/static/jp.png differ
diff --git a/app/static/linkedin_off.jpg b/app/static/linkedin_off.jpg
new file mode 100644
index 0000000..22c20ec
Binary files /dev/null and b/app/static/linkedin_off.jpg differ
diff --git a/app/static/linkedin_on.jpg b/app/static/linkedin_on.jpg
new file mode 100644
index 0000000..3f52ed4
Binary files /dev/null and b/app/static/linkedin_on.jpg differ
diff --git a/app/static/mondiale-per-club-over.png b/app/static/mondiale-per-club-over.png
new file mode 100644
index 0000000..678183e
Binary files /dev/null and b/app/static/mondiale-per-club-over.png differ
diff --git a/app/static/mondiale-per-club.png b/app/static/mondiale-per-club.png
new file mode 100644
index 0000000..dc42d88
Binary files /dev/null and b/app/static/mondiale-per-club.png differ
diff --git a/app/static/nike.png b/app/static/nike.png
new file mode 100644
index 0000000..20fcdb9
Binary files /dev/null and b/app/static/nike.png differ
diff --git a/app/static/nike_over.png b/app/static/nike_over.png
new file mode 100644
index 0000000..e4b0a93
Binary files /dev/null and b/app/static/nike_over.png differ
diff --git a/app/static/pirelli.png b/app/static/pirelli.png
new file mode 100644
index 0000000..56bfafe
Binary files /dev/null and b/app/static/pirelli.png differ
diff --git a/app/static/pirelli_over.png b/app/static/pirelli_over.png
new file mode 100644
index 0000000..28d1276
Binary files /dev/null and b/app/static/pirelli_over.png differ
diff --git a/app/static/ri-active.png b/app/static/ri-active.png
new file mode 100644
index 0000000..7b8017a
Binary files /dev/null and b/app/static/ri-active.png differ
diff --git a/app/static/ri.png b/app/static/ri.png
new file mode 100644
index 0000000..6b55b51
Binary files /dev/null and b/app/static/ri.png differ
diff --git a/app/static/rpc-active.png b/app/static/rpc-active.png
new file mode 100644
index 0000000..ab0f50c
Binary files /dev/null and b/app/static/rpc-active.png differ
diff --git a/app/static/rpc.png b/app/static/rpc.png
new file mode 100644
index 0000000..c83c767
Binary files /dev/null and b/app/static/rpc.png differ
diff --git a/app/static/search.png b/app/static/search.png
new file mode 100644
index 0000000..ff3a326
Binary files /dev/null and b/app/static/search.png differ
diff --git a/app/static/styles.css b/app/static/styles.css
new file mode 100644
index 0000000..a27596f
--- /dev/null
+++ b/app/static/styles.css
@@ -0,0 +1,137 @@
+.profile-thumbnail {
+ position: absolute;
+}
+.profile-header {
+ min-height: 260px;
+ margin-left: 280px;
+}
+div.post-tabs {
+ margin-top: 16px;
+}
+ul.posts {
+ list-style-type: none;
+ padding: 0px;
+ margin: 16px 0px 0px 0px;
+ border-top: 1px solid #e0e0e0;
+}
+div.post-tabs ul.posts {
+ margin: 0px;
+ border-top: none;
+}
+ul.posts li.post {
+ padding: 8px;
+ border-bottom: 1px solid #e0e0e0;
+}
+ul.posts li.post:hover {
+ background-color: #f0f0f0;
+}
+div.post-date {
+ float: right;
+}
+div.post-author {
+ font-weight: bold;
+}
+div.post-thumbnail {
+ position: absolute;
+}
+div.post-content {
+ margin-left: 48px;
+ min-height: 48px;
+}
+div.post-footer {
+ text-align: right;
+}
+ul.comments {
+ list-style-type: none;
+ padding: 0px;
+ margin: 16px 0px 0px 0px;
+}
+ul.comments li.comment {
+ margin-left: 32px;
+ padding: 8px;
+ border-bottom: 1px solid #e0e0e0;
+}
+ul.comments li.comment:nth-child(1) {
+ border-top: 1px solid #e0e0e0;
+}
+ul.comments li.comment:hover {
+ background-color: #f0f0f0;
+}
+div.comment-date {
+ float: right;
+}
+div.comment-author {
+ font-weight: bold;
+}
+div.comment-thumbnail {
+ position: absolute;
+}
+div.comment-content {
+ margin-left: 48px;
+ min-height: 48px;
+}
+div.comment-form {
+ margin: 16px 0px 16px 32px;
+}
+div.pagination {
+ width: 100%;
+ text-align: right;
+ padding: 0px;
+ margin: 0px;
+}
+div.flask-pagedown-preview {
+ margin: 10px 0px 10px 0px;
+ border: 1px solid #e0e0e0;
+ padding: 4px;
+}
+div.flask-pagedown-preview h1 {
+ font-size: 140%;
+}
+div.flask-pagedown-preview h2 {
+ font-size: 130%;
+}
+div.flask-pagedown-preview h3 {
+ font-size: 120%;
+}
+.post-body h1 {
+ font-size: 140%;
+}
+.post-body h2 {
+ font-size: 130%;
+}
+.post-body h3 {
+ font-size: 120%;
+}
+.table.followers tr {
+ border-bottom: 1px solid #e0e0e0;
+}
+.imgsize{
+ max-width: 100%;
+ max-height: 545px;
+ display: block;
+ margin: 0 auto;
+}
+.content{
+ position: relative;
+ left: 160px;
+ width: 75%;
+ border:0px;
+ margin:0px;
+
+}
+.content imgsize{
+ position: relative;
+ left: 160px;
+}
+.content h1 {
+ text-align: center;
+ color: #e0e0e0;
+}
+.content p {
+ font-size: 20px;
+ color: #e0e0e0;
+}
+.col-md-offset-2 h1 {
+ color: #e0e0e0;
+}
+body{background-color: #0F1A25}
diff --git a/app/static/supercoppa-over.png b/app/static/supercoppa-over.png
new file mode 100644
index 0000000..87191b0
Binary files /dev/null and b/app/static/supercoppa-over.png differ
diff --git a/app/static/supercoppa.png b/app/static/supercoppa.png
new file mode 100644
index 0000000..0de6399
Binary files /dev/null and b/app/static/supercoppa.png differ
diff --git a/app/static/test.html b/app/static/test.html
new file mode 100644
index 0000000..2f63d0f
--- /dev/null
+++ b/app/static/test.html
@@ -0,0 +1,573 @@
+#headerWrapper {
+ width: 100%;
+ min-width: 968px;
+ overflow: hidden;
+ position: absolute;
+ background: url('bg-header-wrapper.jpg') repeat-x left top;
+ z-index: 998;
+}
+#headerWrapper #headerContent {
+ width: 968px;
+ margin: 0 auto;
+ overflow: hidden;
+ position: relative;
+ overflow: visible;
+ background: url('bg-header-content2014.jpg') no-repeat left top;
+ min-height: 165px;
+ *zoom: 1;
+}
+#headerWrapper #headerContent:before,
+#headerWrapper #headerContent:after {
+ content: "";
+ display: table;
+}
+#headerWrapper #headerContent:after {
+ clear: both;
+}
+#headerWrapper #headerContent #externalLinks {
+ display: inline;
+ float: left;
+ width: 268px;
+
+}
+#headerWrapper #headerContent #externalLinks ul {
+ float: left;
+ list-style: none;
+ padding-left: 10px;
+ margin: 0;
+}
+#headerWrapper #headerContent #externalLinks ul li, #externalbrandname {
+ float: left;
+ color:#666;
+ margin-top:4px;
+ z-index:9999 !important;
+
+}
+
+#externalbrandname {
+ float: left;
+ font-family: 'LeagueGothicRegular';
+ font-weight: normal;
+ font-size: 19px;
+ margin-bottom:5px;
+ border-left:5px solid;
+ border-left-color:rgb(228,222,206);
+
+ margin-right:100px;
+ text-align:right;
+ color:#666;
+ z-index:9999 !important;
+
+}
+#externalbrandname li {
+ text-align:right;
+
+}
+
+#headerWrapper #headerContent #externalLinks ul li a {
+ text-transform: uppercase;
+ text-decoration: none;
+ color:#333;
+
+}
+#headerWrapper #headerContent #externalLinks ul li a:hover {
+ text-decoration: none;
+ color:#fff;
+}
+#headerWrapper #headerContent #externalLinks #printlogo {
+ display:none;
+}
+#headerWrapper #headerContent #socialLinks,.socialLinks {
+ display: inline;
+ float: left;
+ width: 530px;
+ height: 29px;
+ overflow:hidden;
+ margin-right: 1px;
+ margin-bottom: 0;
+ margin-left: 0;
+
+}
+.socialLinks {
+ width: 30% !important;
+ height: 29px;
+ overflow:hidden;
+ margin-bottom: 20px;
+ margin-left: 35% !important;
+ margin-top:-10px;
+}
+#headerWrapper #headerContent #socialLinks ul,.socialLinks ul {
+ float: right;
+ list-style: none;
+ padding: 0;
+ margin: 0;
+}
+.socialLinks ul {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+ float:none !important;
+}
+#headerWrapper #headerContent #socialLinks ul li,.socialLinks ul li {
+ float: left;
+ font-size: 1.5384615384615385em;
+ line-height: 1.45em;
+ color: #a59061;
+}
+#headerWrapper #headerContent #socialLinks ul li a,.socialLinks ul li a {
+ display: block;
+}
+#headerWrapper #headerContent #socialLinks ul li#facebookLink,
+#headerWrapper #headerContent #socialLinks ul li#twitterLink,
+#headerWrapper #headerContent #socialLinks ul li#youtubeLink,
+#headerWrapper #headerContent #socialLinks ul li#googlepLink,
+#headerWrapper #headerContent #socialLinks ul li#instagramLink,
+#headerWrapper #headerContent #socialLinks ul li#weiboLink
+#headerWrapper #headerContent #socialLinks ul li#LinkedinLink
+{
+ padding-top: 0px;
+}
+#headerWrapper #headerContent #socialLinks ul li#facebookLink a,
+#headerWrapper #headerContent #socialLinks ul li#twitterLink a,
+#headerWrapper #headerContent #socialLinks ul li#youtubeLink a,
+#headerWrapper #headerContent #socialLinks ul li#googlepLink a,
+#headerWrapper #headerContent #socialLinks ul li#instagramLink a,
+#headerWrapper #headerContent #socialLinks ul li#weiboLink a
+#headerWrapper #headerContent #socialLinks ul li#LinkedinLink a
+ {
+
+ text-indent: 100%;
+ white-space: nowrap;
+ overflow: hidden;
+}
+#headerWrapper #headerContent #socialLinks ul li#facebookLink a,.socialLinks ul li#facebookLink a {
+ width: 29px;
+ margin-right: 0px;
+ background: url('fb_on.png') no-repeat left top;
+}
+#headerWrapper #headerContent #socialLinks ul li#facebookLink a:hover,.socialLinks ul li#facebookLink a:hover {
+ background: url('fb_off.png') no-repeat left top;
+}
+
+
+#headerWrapper #headerContent #socialLinks ul li#LinkedinLink a,.socialLinks ul li#LinkedinLink a {
+ width: 29px;
+ margin-right: 0px;
+ background: url('linkedin_on.jpg') no-repeat left top;
+}
+#headerWrapper #headerContent #socialLinks ul li#LinkedinLink a:hover,.socialLinks ul li#LinkedinLink a:hover {
+ background: url('linkedin_off.jpg') no-repeat left top;
+}
+
+
+#headerWrapper #headerContent #socialLinks ul li#twitterLink a,.socialLinks ul li#twitterLink a {
+ width: 29px;
+ margin-right: 0px;
+ background: url('tw_on.png') no-repeat left top;
+}
+#headerWrapper #headerContent #socialLinks ul li#twitterLink a:hover,.socialLinks ul li#twitterLink a:hover {
+ background: url('tw_off.png') no-repeat left top;
+}
+
+
+#headerWrapper #headerContent #socialLinks ul li#youtubeLink a,.socialLinks ul li#youtubeLink a {
+ width: 29px;
+ margin-right: 0px;
+ background: url('yt_on.png') no-repeat left top;
+}
+#headerWrapper #headerContent #socialLinks ul li#youtubeLink a:hover {
+ background: url('yt_off.png') no-repeat left top;
+}
+
+
+#headerWrapper #headerContent #socialLinks ul li#instagramLink a,.socialLinks ul li#instagramLink a {
+ width: 29px;
+ margin-right: 0px;
+ background: url('icona_ig_v2_29x29.png') no-repeat left top;
+}
+#headerWrapper #headerContent #socialLinks ul li#instagramLink a:hover,.socialLinks ul li#instagramLink a:hover {
+ background: url('icona_ig_v2_29x29_hover.png') no-repeat left top;
+}
+
+#headerWrapper #headerContent #socialLinks ul li#googlepLink a,.socialLinks ul li#googlepLink a {
+ width: 29px;
+ margin-right: 0px;
+ background: url('googleplus_new.png') no-repeat left top;
+}
+#headerWrapper #headerContent #socialLinks ul li#googlepLink a:hover,.socialLinks ul li#googlepLink a:hover {
+ background: url('googleplus_new.png') no-repeat left top;
+}
+
+#headerWrapper #headerContent #socialLinks ul li#weiboLink a,.socialLinks ul li#weiboLink a {
+ width: 29px;
+ margin-right: 0px;
+ background: url('wb_on.png') no-repeat left top;
+}
+#headerWrapper #headerContent #socialLinks ul li#weiboLink a:hover,.socialLinks ul li#weiboLink a:hover {
+ background: url('wb_off.png') no-repeat left top;
+}
+.socialLinks ul li{width:20%;}
+.socialLinks ul li a
+ {
+
+ text-indent: 100%;
+ white-space: nowrap;
+ overflow: hidden;
+ margin-right:2% !important;
+ width:98% !important;
+}
+
+#headerWrapper #headerContent #socialLinks ul li#searchBox {
+ width: 34px;
+ height: 29px;
+ font-size: 0.9230769230769231em;
+ line-height: 2.4166666666666665em;
+ color: #000000;
+ border-left: 1px solid #a59061;
+ overflow: hidden;
+}
+#headerWrapper #headerContent #socialLinks ul li#searchBox #headerSearch p {
+ display: none;
+ position: relative;
+ float: left;
+ padding: 0 0 0 5px;
+ margin: 0;
+}
+#headerWrapper #headerContent #socialLinks ul li#searchBox #headerSearch p label {
+ position: absolute;
+ top: 0;
+ left: 8px;
+}
+#headerWrapper #headerContent #socialLinks ul li#searchBox #headerSearch p #headerSearchQuery {
+ width: 150px;
+ background: #ffffff;
+ border: 1px solid #a59061;
+ outline: none;
+}
+#headerWrapper #headerContent #socialLinks ul li#searchBox #headerSearch #headerSearchButton {
+ display: block;
+ float: right;
+ width: 34px;
+ height: 29px;
+ background: url('search.png') no-repeat left top;
+ border: none;
+}
+#headerWrapper #headerContent #socialLinks ul li#searchBox a {
+ width: 34px;
+ height: 29px;
+ background: url('search.png') no-repeat left top;
+ text-indent: 100%;
+ white-space: nowrap;
+
+}
+#headerWrapper #headerContent #socialLinks ul li#subscribeLink,
+#headerWrapper #headerContent #socialLinks ul li#loginLink {
+ letter-spacing: 1px;
+}
+#headerWrapper #headerContent #socialLinks ul li#subscribeLink a,
+#headerWrapper #headerContent #socialLinks ul li#loginLink a {
+ font-family: 'LeagueGothicRegular';
+ font-weight: normal;
+ font-style: normal;
+ color: white;
+ text-decoration: none;
+ text-transform: uppercase;
+ background-color: #a59061;
+ height:28px;
+ padding-top: 2px;
+ padding-right: 8px;
+ padding-bottom: 0;
+ padding-left: 8px;
+ overflow:hidden
+}
+#headerWrapper #headerContent #socialLinks ul li#loginLink {
+ border-left: 1px solid #e1dccd;
+}
+#headerWrapper #headerContent #socialLinks ul li#loginLink a:hover,
+#headerWrapper #headerContent #socialLinks ul li#loginLink a.active {
+ background-color: #005daa;
+}
+#headerWrapper #headerContent #socialLinks ul li#loginLink.loggedin {
+ font-size: 1em;
+ line-height: 2.230769230769231em;
+ letter-spacing: 0;
+}
+/*#headerWrapper #headerContent #socialLinks ul li#loginLink.loggedin a {*/
+ /*font-family: sans-serif;*/
+ /*text-transform: none;*/
+ /*padding-right: 23px;*/
+ /*background: #a59061 url('bg-link-profilo.png') no-repeat right 11px;*/
+/*}*/
+/*#headerWrapper #headerContent #socialLinks ul li#loginLink.loggedin a:hover,*/
+/*#headerWrapper #headerContent #socialLinks ul li#loginLink.loggedin a.active {*/
+ /*background: #005daa url('bg-link-profilo.png') no-repeat right 11px;*/
+/*}*/
+#headerWrapper #headerContent #trofei {
+ position: relative;
+ display: inline;
+ float: left;
+ width: 967px;
+ margin: 0 1px 0 0;
+ height: 97px;
+}
+#headerWrapper #headerContent #trofei a {
+ position: absolute;
+ background-repeat: no-repeat;
+ text-indent: 100%;
+ white-space: nowrap;
+ overflow: hidden;
+}
+#headerWrapper #headerContent #trofei a.campionato {
+ top: 38px;
+ width: 13px;
+ height: 12px;
+ background-image: url('campionato.png');
+}
+#headerWrapper #headerContent #trofei a.campionato:hover {
+ background-image: url('campionato-over.png');
+}
+#headerWrapper #headerContent #trofei a.coppa-italia {
+ top: 62px;
+ width: 11px;
+ height: 29px;
+ background-image: url('coppa-italia.png');
+}
+#headerWrapper #headerContent #trofei a.coppa-italia:hover {
+ background-image: url('coppa-italia-over.png');
+}
+#headerWrapper #headerContent #trofei a.champions-league {
+ top: 63px;
+ width: 17px;
+ height: 28px;
+ background-image: url('champions-league.png');
+}
+#headerWrapper #headerContent #trofei a.champions-league:hover {
+ background-image: url('champions-league-over.png');
+}
+#headerWrapper #headerContent #trofei a.champions-league-old {
+ top: 66px;
+ width: 15px;
+ height: 25px;
+ background-image: url('champions-league-old.png');
+}
+#headerWrapper #headerContent #trofei a.champions-league-old:hover {
+ background-image: url('champions-league-old-over.png');
+}
+#headerWrapper #headerContent #trofei a.coppa-intercontinentale {
+ top: 63px;
+ width: 10px;
+ height: 28px;
+ background-image: url('coppa-intercontinentale.png');
+}
+#headerWrapper #headerContent #trofei a.coppa-intercontinentale:hover {
+ background-image: url('coppa-intercontinentale-over.png');
+}
+#headerWrapper #headerContent #trofei a.coppa-uefa {
+ top: 65px;
+ width: 12px;
+ height: 26px;
+ background-image: url('coppa-uefa.png');
+}
+#headerWrapper #headerContent #trofei a.coppa-uefa:hover {
+ background-image: url('coppa-uefa-over.png');
+}
+#headerWrapper #headerContent #trofei a.mondiale-per-club {
+ top: 59px;
+ width: 12px;
+ height: 32px;
+ background-image: url('mondiale-per-club.png');
+}
+#headerWrapper #headerContent #trofei a.mondiale-per-club:hover {
+ background-image: url('mondiale-per-club-over.png');
+}
+#headerWrapper #headerContent #trofei a.supercoppa {
+ top: 61px;
+ width: 12px;
+ height: 30px;
+ background-image: url('supercoppa.png');
+}
+#headerWrapper #headerContent #trofei a.supercoppa:hover {
+ background-image: url('supercoppa-over.png');
+}
+#headerWrapper #headerContent #trofei a#trofeo1 {
+ left: 37px;
+}
+#headerWrapper #headerContent #trofei a#trofeo2 {
+ left: 81px;
+}
+#headerWrapper #headerContent #trofei a#trofeo3 {
+ left: 124px;
+}
+#headerWrapper #headerContent #trofei a#trofeo4 {
+ left: 167px;
+}
+#headerWrapper #headerContent #trofei a#trofeo5 {
+ left: 210px;
+}
+#headerWrapper #headerContent #trofei a#trofeo6 {
+ left: 253px;
+}
+#headerWrapper #headerContent #trofei a#trofeo7 {
+ left: 296px;
+}
+#headerWrapper #headerContent #trofei a#trofeo8 {
+ left: 339px;
+}
+#headerWrapper #headerContent #trofei a#trofeo9 {
+ left: 382px;
+}
+#headerWrapper #headerContent #trofei a#trofeo10 {
+ left: 568px;
+}
+#headerWrapper #headerContent #trofei a#trofeo11 {
+ left: 610px;
+}
+#headerWrapper #headerContent #trofei a#trofeo12 {
+ left: 653px;
+}
+#headerWrapper #headerContent #trofei a#trofeo13 {
+ left: 696px;
+}
+#headerWrapper #headerContent #trofei a#trofeo14 {
+ left: 739px;
+}
+#headerWrapper #headerContent #trofei a#trofeo15 {
+ left: 782px;
+}
+#headerWrapper #headerContent #trofei a#trofeo16 {
+ left: 825px;
+}
+#headerWrapper #headerContent #trofei a#trofeo17 {
+ left: 868px;
+}
+#headerWrapper #headerContent #trofei a#trofeo18 {
+ left: 910px;
+}
+#headerWrapper #headerContent #trofei a#trofeo19 {
+ left: 19px;
+}
+#headerWrapper #headerContent #trofei a#trofeo20 {
+ left: 57px;
+}
+#headerWrapper #headerContent #trofei a#trofeo21 {
+ left: 96px;
+}
+#headerWrapper #headerContent #trofei a#trofeo22 {
+ left: 134px;
+}
+#headerWrapper #headerContent #trofei a#trofeo23 {
+ left: 172px;
+}
+#headerWrapper #headerContent #trofei a#trofeo24 {
+ left: 211px;
+}
+#headerWrapper #headerContent #trofei a#trofeo25 {
+ left: 249px;
+}
+#headerWrapper #headerContent #trofei a#trofeo26 {
+ left: 287px;
+}
+#headerWrapper #headerContent #trofei a#trofeo27 {
+ left: 325px;
+}
+#headerWrapper #headerContent #trofei a#trofeo28 {
+ left: 364px;
+}
+#headerWrapper #headerContent #trofei a#trofeo29 {
+ left: 402px;
+}
+#headerWrapper #headerContent #trofei a#trofeo30 {
+ left: 548px;
+}
+#headerWrapper #headerContent #trofei a#trofeo31 {
+ left: 590px;
+}
+#headerWrapper #headerContent #trofei a#trofeo32 {
+ left: 633px;
+}
+#headerWrapper #headerContent #trofei a#trofeo33 {
+ left: 675px;
+}
+#headerWrapper #headerContent #trofei a#trofeo34 {
+ left: 720px;
+}
+#headerWrapper #headerContent #trofei a#trofeo35 {
+ left: 763px;
+}
+#headerWrapper #headerContent #trofei a#trofeo36 {
+ left: 806px;
+}
+#headerWrapper #headerContent #trofei a#trofeo37 {
+ left: 850px;
+}
+#headerWrapper #headerContent #trofei a#trofeo38 {
+ left: 893px;
+}
+#headerWrapper #headerContent #trofei a#trofeo39 {
+ left: 935px;
+}
+
+#headerWrapper #headerContent #logo {
+ position: absolute;
+ top: 8px;
+ left: 430px;
+ width: 105px;
+ height: 133px;
+}
+#headerWrapper #headerContent #logo a {
+ display: block;
+ width: 105px;
+ height: 133px;
+ background: url('fc-internazionale2016.png') no-repeat left top;
+ text-indent: 100%;
+ white-space: nowrap;
+ overflow: hidden;
+}
+#headerWrapper #headerContent #mainMenu {
+ display: inline;
+ float: left;
+ width: 967px;
+ padding-left:0px;
+
+}
+#headerWrapper #headerContent #mainMenu ul {
+ float: left;
+ margin-top: 10px;
+ list-style: none;
+ padding: 0;
+ border-left: 1px solid #a59061;
+}
+#headerWrapper #headerContent #mainMenu ul li {
+ float: left;
+ height: 29px;
+ font-size: 1.5em;
+ line-height: 1em;
+ text-align: center;
+ letter-spacing: 5px;
+}
+#headerWrapper #headerContent #mainMenu ul li a {
+ display: block;
+ width: 161px;
+ height: 29px;
+ font-family: 'LeagueGothicRegular';
+ font-weight: normal;
+ font-style: normal;
+ color: #ffffff;
+ text-decoration: none;
+ text-transform: uppercase;
+ border-right: 1px solid #a59061;
+}
+#headerWrapper #headerContent #mainMenu ul li a:hover,
+#headerWrapper #headerContent #mainMenu ul li a.current,
+#headerWrapper #headerContent #mainMenu ul li a.open {
+ background-color: #192b3c;
+ color: #005daa;
+}
+#headerWrapper #headerContent #mainMenu ul li a#menuShop {
+ border: none;
+ color: #a59061;
+}
+#headerWrapper #headerContent #mainMenu ul li a#menuShop:hover,
+#headerWrapper #headerContent #mainMenu ul li a#menuShop.current {
+ color: #005daa;
+}
diff --git a/app/static/tim016.png b/app/static/tim016.png
new file mode 100644
index 0000000..6a5b5cc
Binary files /dev/null and b/app/static/tim016.png differ
diff --git a/app/static/tim016_over.png b/app/static/tim016_over.png
new file mode 100644
index 0000000..4a99617
Binary files /dev/null and b/app/static/tim016_over.png differ
diff --git a/app/static/tw_off.png b/app/static/tw_off.png
new file mode 100644
index 0000000..f4cb071
Binary files /dev/null and b/app/static/tw_off.png differ
diff --git a/app/static/tw_on.png b/app/static/tw_on.png
new file mode 100644
index 0000000..a1879e9
Binary files /dev/null and b/app/static/tw_on.png differ
diff --git a/app/static/wb_off.png b/app/static/wb_off.png
new file mode 100644
index 0000000..e3e4bc7
Binary files /dev/null and b/app/static/wb_off.png differ
diff --git a/app/static/wb_on.png b/app/static/wb_on.png
new file mode 100644
index 0000000..1a68093
Binary files /dev/null and b/app/static/wb_on.png differ
diff --git a/app/static/yt_off.png b/app/static/yt_off.png
new file mode 100644
index 0000000..71b2d49
Binary files /dev/null and b/app/static/yt_off.png differ
diff --git a/app/static/yt_on.png b/app/static/yt_on.png
new file mode 100644
index 0000000..58f37a9
Binary files /dev/null and b/app/static/yt_on.png differ
diff --git a/app/templates/404.html b/app/templates/404.html
new file mode 100644
index 0000000..a8e19cb
--- /dev/null
+++ b/app/templates/404.html
@@ -0,0 +1,9 @@
+{% extends "base.html" %}
+
+{% block title %} 合肥国米 - Page not found {% endblock %}
+
+{% block page_content %}
+
+{% endblock %}
\ No newline at end of file
diff --git a/app/templates/500.html b/app/templates/500.html
new file mode 100644
index 0000000..566549b
--- /dev/null
+++ b/app/templates/500.html
@@ -0,0 +1,10 @@
+
+
+
+
+ Title
+
+
+
+
+
\ No newline at end of file
diff --git a/app/templates/_comments.html b/app/templates/_comments.html
new file mode 100644
index 0000000..409eb8f
--- /dev/null
+++ b/app/templates/_comments.html
@@ -0,0 +1,35 @@
+
\ No newline at end of file
diff --git a/app/templates/_macros.html b/app/templates/_macros.html
new file mode 100644
index 0000000..e656008
--- /dev/null
+++ b/app/templates/_macros.html
@@ -0,0 +1,29 @@
+{% macro pagination_widget(pagination, endpoint) %}
+
+{% endmacro %}
\ No newline at end of file
diff --git a/app/templates/_posts.html b/app/templates/_posts.html
new file mode 100644
index 0000000..8812b31
--- /dev/null
+++ b/app/templates/_posts.html
@@ -0,0 +1,43 @@
+
+ {% for post in posts %}
+
+
+
+
{{ moment(post.timestamp).fromNow() }}
+
+
+ {% if post.body_html %}
+ {{ post.body_html|safe}}
+ {% else %}
+ {{ post.body }}
+ {% endif %}
+
+
+
+
+ {% endfor %}
+
\ No newline at end of file
diff --git a/app/templates/auth/change_email.html b/app/templates/auth/change_email.html
new file mode 100644
index 0000000..0728bd4
--- /dev/null
+++ b/app/templates/auth/change_email.html
@@ -0,0 +1,12 @@
+{% extends "base.html" %}
+{% import "bootstrap/wtf.html" as wtf %}
+{% block title %}合肥国米{% endblock %}
+
+{% block page_content %}
+
+
+ {{ wtf.quick_form(form) }}
+
+{% endblock %}
\ No newline at end of file
diff --git a/app/templates/auth/change_password.html b/app/templates/auth/change_password.html
new file mode 100644
index 0000000..ce1b6ad
--- /dev/null
+++ b/app/templates/auth/change_password.html
@@ -0,0 +1,12 @@
+{% extends "base.html" %}
+{% import "bootstrap/wtf.html" as wtf %}
+{% block title %}合肥国米{% endblock %}
+
+{% block page_content %}
+
+
修改密码
+
+
+ {{ wtf.quick_form(form) }}
+
+{% endblock %}
\ No newline at end of file
diff --git a/app/templates/auth/change_username.html b/app/templates/auth/change_username.html
new file mode 100644
index 0000000..603bee4
--- /dev/null
+++ b/app/templates/auth/change_username.html
@@ -0,0 +1,12 @@
+{% extends "base.html" %}
+{% import "bootstrap/wtf.html" as wtf %}
+{% block title %}合肥国米{% endblock %}
+
+{% block page_content %}
+
+
+ {{ wtf.quick_form(form) }}
+
+{% endblock %}
\ No newline at end of file
diff --git a/app/templates/auth/email/change_email.html b/app/templates/auth/email/change_email.html
new file mode 100644
index 0000000..de022b8
--- /dev/null
+++ b/app/templates/auth/email/change_email.html
@@ -0,0 +1,7 @@
+Dear {{ user.username }},
+To confirm your new email address click here .
+Alternatively, you can paste the following link in your browser's address bar:
+{{ url_for('auth.change_email', token=token, _external=True) }}
+Sincerely,
+The Flasky Team
+Note: replies to this email address are not monitored.
\ No newline at end of file
diff --git a/app/templates/auth/email/change_email.txt b/app/templates/auth/email/change_email.txt
new file mode 100644
index 0000000..6c761de
--- /dev/null
+++ b/app/templates/auth/email/change_email.txt
@@ -0,0 +1,11 @@
+Dear {{ user.username }},
+
+To confirm your new email address click on the following link:
+
+{{ url_for('auth.change_email', token=token, _external=True) }}
+
+Sincerely,
+
+The Flasky Team
+
+Note: replies to this email address are not monitored.
\ No newline at end of file
diff --git a/app/templates/auth/email/confirm.html b/app/templates/auth/email/confirm.html
new file mode 100644
index 0000000..36d397f
--- /dev/null
+++ b/app/templates/auth/email/confirm.html
@@ -0,0 +1,8 @@
+Dear {{ user.username }},
+Welcome to 合肥国米 !
+To confirm your account please click here .
+Alternatively, you can paste the following link in your browser's address bar:
+{{ url_for('auth.confirm', token=token, _external=True) }}
+Sincerely,
+合肥国米管理组
+Note: replies to this email address are not monitored.
\ No newline at end of file
diff --git a/app/templates/auth/email/confirm.txt b/app/templates/auth/email/confirm.txt
new file mode 100644
index 0000000..772e1bb
--- /dev/null
+++ b/app/templates/auth/email/confirm.txt
@@ -0,0 +1,13 @@
+Dear {{ user.username }},
+
+Welcome to 合肥国米!
+
+To confirm your account please click on the following link:
+
+{{ url_for('auth.confirm', token=token, _external=True) }}
+
+Sincerely,
+
+合肥国米管理组
+
+Note: replies to this email address are not monitored.
\ No newline at end of file
diff --git a/app/templates/auth/email/reset_password.html b/app/templates/auth/email/reset_password.html
new file mode 100644
index 0000000..8174211
--- /dev/null
+++ b/app/templates/auth/email/reset_password.html
@@ -0,0 +1,8 @@
+Dear {{ user.username }},
+To reset your password click here .
+Alternatively, you can paste the following link in your browser's address bar:
+{{ url_for('auth.password_reset', token=token, _external=True) }}
+If you have not requested a password reset simply ignore this message.
+Sincerely,
+The Flasky Team
+Note: replies to this email address are not monitored.
\ No newline at end of file
diff --git a/app/templates/auth/email/reset_password.txt b/app/templates/auth/email/reset_password.txt
new file mode 100644
index 0000000..e79d481
--- /dev/null
+++ b/app/templates/auth/email/reset_password.txt
@@ -0,0 +1,13 @@
+Dear {{ user.username }},
+
+To reset your password click on the following link:
+
+{{ url_for('auth.password_reset', token=token, _external=True) }}
+
+If you have not requested a password reset simply ignore this message.
+
+Sincerely,
+
+The Flasky Team
+
+Note: replies to this email address are not monitored.
\ No newline at end of file
diff --git a/app/templates/auth/login.html b/app/templates/auth/login.html
new file mode 100644
index 0000000..f6daadb
--- /dev/null
+++ b/app/templates/auth/login.html
@@ -0,0 +1,13 @@
+{% extends "base.html" %}
+{% import "bootstrap/wtf.html" as wtf %}
+
+{% block title %}合肥国米{% endblock %}
+
+{% block page_content %}
+
+{% endblock %}
diff --git a/app/templates/auth/register.html b/app/templates/auth/register.html
new file mode 100644
index 0000000..9a5fca5
--- /dev/null
+++ b/app/templates/auth/register.html
@@ -0,0 +1,12 @@
+{% extends "base.html" %}
+{% import "bootstrap/wtf.html" as wtf %}
+{% block title %}合肥国米{% endblock %}
+
+{% block page_content %}
+
+
+ {{ wtf.quick_form(form) }}
+
+{% endblock %}
\ No newline at end of file
diff --git a/app/templates/auth/reset_password.html b/app/templates/auth/reset_password.html
new file mode 100644
index 0000000..7a277a1
--- /dev/null
+++ b/app/templates/auth/reset_password.html
@@ -0,0 +1,12 @@
+{% extends "base.html" %}
+{% import "bootstrap/wtf.html" as wtf %}
+{% block title %}合肥国米{% endblock %}
+
+{% block page_content %}
+
+
+ {{ wtf.quick_form(form) }}
+
+{% endblock %}
\ No newline at end of file
diff --git a/app/templates/auth/unconfirmed.html b/app/templates/auth/unconfirmed.html
new file mode 100644
index 0000000..7b664b3
--- /dev/null
+++ b/app/templates/auth/unconfirmed.html
@@ -0,0 +1,20 @@
+{% extends "base.html" %}
+
+{% block title %}Flasky - Confirm your account{% endblock %}
+
+{% block page_content %}
+
+{% endblock %}
\ No newline at end of file
diff --git a/app/templates/base.html b/app/templates/base.html
new file mode 100644
index 0000000..ba21cae
--- /dev/null
+++ b/app/templates/base.html
@@ -0,0 +1,196 @@
+{% extends "bootstrap/base.html" %}
+{% block title %}合肥国米{% endblock %}
+{% block head %}
+{{ super() }}
+
+
+{% endblock %}
+{% block body %}
+{% block navbar %}
+
+{% endblock %}
+{% block content %}
+{% block page_content %}{% endblock %}
+{% endblock %}
+{% block footer %}
+
+{% endblock %}
+{% block scripts %}
+{{ super() }}
+{{ moment.include_moment() }}
+{% endblock %}
+{% endblock %}
\ No newline at end of file
diff --git a/app/templates/edit_post.html b/app/templates/edit_post.html
new file mode 100644
index 0000000..9b28f69
--- /dev/null
+++ b/app/templates/edit_post.html
@@ -0,0 +1,15 @@
+{% extends "base.html" %}
+{% import "bootstrap/wtf.html" as wtf %}
+{% block title %} 合肥国米 {% endblock %}
+{% block page_content %}
+
+
+ {{ wtf.quick_form(form) }}
+
+{% endblock %}
+{% block scripts %}
+{{ super() }}
+{{ pagedown.include_pagedown() }}
+{% endblock %}
\ No newline at end of file
diff --git a/app/templates/edit_profile.html b/app/templates/edit_profile.html
new file mode 100644
index 0000000..6be0a0e
--- /dev/null
+++ b/app/templates/edit_profile.html
@@ -0,0 +1,12 @@
+{% extends "base.html" %}
+{% import "bootstrap/wtf.html" as wtf %}
+{% block title %}合肥国米{% endblock %}
+
+{% block page_content %}
+
+
个人资料
+
+
+ {{ wtf.quick_form(form) }}
+
+{% endblock %}
\ No newline at end of file
diff --git a/app/templates/index.html b/app/templates/index.html
new file mode 100644
index 0000000..53e8b91
--- /dev/null
+++ b/app/templates/index.html
@@ -0,0 +1,52 @@
+{% extends "base.html" %}
+{% block content%}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {% for message in get_flashed_messages() %}
+
+ ×
+ {{ message }}
+
+ {% endfor %}
+ {% block page_content %}{% endblock%}
+
+{% endblock %}
+{% block scripts %}
+{{ super() }}
+{% endblock %}
\ No newline at end of file
diff --git a/app/templates/match.html b/app/templates/match.html
new file mode 100644
index 0000000..566549b
--- /dev/null
+++ b/app/templates/match.html
@@ -0,0 +1,10 @@
+
+
+
+
+ Title
+
+
+
+
+
\ No newline at end of file
diff --git a/app/templates/moderate.html b/app/templates/moderate.html
new file mode 100644
index 0000000..4d5db2b
--- /dev/null
+++ b/app/templates/moderate.html
@@ -0,0 +1,16 @@
+{% extends "base.html" %}
+{% import "_macros.html" as macros %}
+{% block title %}合肥国米{% endblock %}
+
+{% block page_content %}
+
+{% set moderate = True %}
+{% include '_comments.html' %}
+{% if pagination %}
+
+{% endif %}
+{% endblock %}
\ No newline at end of file
diff --git a/app/templates/news.html b/app/templates/news.html
new file mode 100644
index 0000000..fe0e866
--- /dev/null
+++ b/app/templates/news.html
@@ -0,0 +1,21 @@
+{% extends "base.html" %}
+{% import "bootstrap/wtf.html" as wtf %}
+{% import "_macros.html" as macros %}
+{% block title %}合肥国米{% endblock %}
+{% block page_content %}
+
+ {% if current_user.can(Permission.WRITE_ARTICLES) %}
+ {{ wtf.quick_form(form) }}
+ {% endif %}
+
+{% include '_posts.html' %}
+{% if pagination %}
+
+{% endif %}
+{% endblock %}
+{% block scripts %}
+{{ super() }}
+{{ pagedown.include_pagedown() }}
+{% endblock %}
\ No newline at end of file
diff --git a/app/templates/player.html b/app/templates/player.html
new file mode 100644
index 0000000..232d68a
--- /dev/null
+++ b/app/templates/player.html
@@ -0,0 +1,195 @@
+{% extends "bootstrap/base.html" %}
+{% block title %}合肥国米{% endblock %}
+{% block head %}
+{{ super() }}
+
+
+{% endblock %}
+{% block body %}
+{% block navbar %}
+
+{% endblock %}
+{% block content %}
+{% block page_content %}{% endblock %}
+{% endblock %}
+
+{% block scripts %}
+{{ super() }}
+{{ moment.include_moment() }}
+{% endblock %}
+{% endblock %}
\ No newline at end of file
diff --git a/app/templates/post.html b/app/templates/post.html
new file mode 100644
index 0000000..a54244c
--- /dev/null
+++ b/app/templates/post.html
@@ -0,0 +1,20 @@
+{% extends "base.html" %}
+{% import "_macros.html" as macros %}
+{% import "bootstrap/wtf.html" as wtf %}
+{% block title %}合肥国米 {% endblock %}
+
+{% block page_content %}
+{% include '_posts.html' %}
+
+{% if current_user.can(Permission.COMMENT) %}
+
+{% endif %}
+{% include '_comments.html' %}
+{% if pagination %}
+
+{% endif %}
+{% endblock %}
\ No newline at end of file
diff --git a/app/templates/team.html b/app/templates/team.html
new file mode 100644
index 0000000..e817d3b
--- /dev/null
+++ b/app/templates/team.html
@@ -0,0 +1,10 @@
+{% extends "base.html" %}
+{% block content %}
+
+
+
大合肥小国际国际米兰球迷队
+
大合肥小国际球迷队是一只以国际米兰球迷为班底打造的业余足球队,以球会友,寓教于乐,立志为安徽内拉们打造一个优质的交流平台。
+
球队成立于2013年3月9日,历经3年,通过队员的努力,球队在合肥各大业余联赛均取得傲人成绩,目前球队在册球员40名,均为资深内拉,队内气氛融洽,队员之间友爱互助
+
大合肥小国际球迷队是一只专业优良的球迷队,球队常年与全国各大国米球迷组织进行交流,是安徽唯一一只国球球迷认证的球队,球队常年招收国米内拉,在这里,你可以一起踢球,可以一起交流,甚至可以去朝圣,球队QQ群:4515495
+
+{% endblock%}
diff --git a/app/templates/tests.html b/app/templates/tests.html
new file mode 100644
index 0000000..6a4354f
--- /dev/null
+++ b/app/templates/tests.html
@@ -0,0 +1,51 @@
+{% extends "player.html" %}
+{% block content%}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {% for message in get_flashed_messages() %}
+
+ ×
+ {{ message }}
+
+ {% endfor %}
+
+{% endblock %}
+{% block scripts %}
+{{ super() }}
+{% endblock %}
\ No newline at end of file
diff --git a/app/templates/user.html b/app/templates/user.html
new file mode 100644
index 0000000..d3cd048
--- /dev/null
+++ b/app/templates/user.html
@@ -0,0 +1,25 @@
+{% extends "base.html" %}
+
+{% block title %}合肥国米{% endblock %}
+
+{% block page_content %}
+
+{% endblock %}
+
diff --git a/config.py b/config.py
new file mode 100644
index 0000000..03e9d88
--- /dev/null
+++ b/config.py
@@ -0,0 +1,48 @@
+import os
+import pymysql
+pymysql.install_as_MySQLdb()
+basedir = os.path.abspath(os.path.dirname(__file__))
+
+
+class Config:
+ SECRET_KEY = os.environ.get('SECRET_KEY') or 'i am handsome boy'
+ SQLALCHEMY_COMMIT_ON_TEARDOWN = True
+ MAIL_SERVER = 'smtp.163.com'
+ MAIL_PORT = 465
+ MAIL_USE_SSL = True
+ MAIL_USERNAME = os.environ.get('MAIL_USERNAME') or 'andyxic@163.com'
+ MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD') or 'XIchen520'
+ FLASKY_MAIL_SUBJECT_PREFIX = '[Flasky]'
+ FLASKY_MAIL_SENDER = 'Flasky Admin '
+ FLASKY_ADMIN = os.environ.get('FLASKY_ADMIN') or '181551588@qq.com'
+ FLASKY_POSTS_PER_PAGE = 20
+ FLASKY_FOLLOWERS_PER_PAGE = 50
+ FLASKY_COMMENTS_PER_PAGE = 30
+ FLASKY_SLOW_DB_QUERY_TIME = 0.5
+
+
+ @staticmethod
+ def init_app(app):
+ pass
+
+
+class DevelopmentConfig(Config):
+ DEBUG = True
+ SQLALCHEMY_DATABASE_URI = os.environ.get('DEV_DATABASE_URL') or 'mysql+pymysql://root:xichen520@localhost:3306/' \
+ 'hfinter?charset=utf8mb4'
+
+
+class TestingConfig(Config):
+ TESTING = True
+ SQLALCHEMY_DATABASE_URI = os.environ.get('TEST_DATABASE_URL') or 'mysql+pymysql://root:xichen520@localhost:3306/' \
+ 'test?charset=utf8mb4'
+
+
+class ProductionConfig(Config):
+ SQLALCHEMY_DATABASE_URI = os.environ.get('DEV_DATABASE_URL') or 'mysql+pymysql://root:xichen520@localhost:3306/' \
+ 'hfinter?charset=utf8mb4'
+
+
+config = {'development': DevelopmentConfig, 'testing': TestingConfig, 'production': ProductionConfig,
+ 'default': DevelopmentConfig}
+
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..3f1be18
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,38 @@
+attrs==16.0.0
+beautifulsoup4==4.5.1
+cffi==1.7.0
+click==6.6
+cryptography==1.5
+cssselect==0.9.2
+dominate==2.2.1
+Flask==0.11.1
+Flask-Bootstrap==3.3.7.0
+Flask-Moment==0.5.1
+Flask-Script==2.0.5
+Flask-SQLAlchemy==2.1
+Flask-WTF==0.13
+idna==2.1
+itsdangerous==0.24
+Jinja2==2.8
+lxml==3.6.4
+MarkupSafe==0.23
+parsel==1.0.3
+Pillow==3.3.1
+pyasn1==0.1.9
+pyasn1-modules==0.0.8
+pycparser==2.14
+PyDispatcher==2.0.5
+PyMySQL==0.7.9
+pyOpenSSL==16.1.0
+queuelib==1.4.2
+Scrapy==1.1.3
+service-identity==16.0.0
+six==1.10.0
+SQLAlchemy==1.0.15
+Twisted==16.3.2
+virtualenv==15.0.3
+visitor==0.1.3
+w3lib==1.15.0
+Werkzeug==0.11.10
+WTForms==2.1
+zope.interface==4.2.0
diff --git a/tests/__init__.py b/tests/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/tests/__pycache__/test_basics.cpython-34.pyc b/tests/__pycache__/test_basics.cpython-34.pyc
new file mode 100644
index 0000000..751314d
Binary files /dev/null and b/tests/__pycache__/test_basics.cpython-34.pyc differ
diff --git a/tests/test_basics.py b/tests/test_basics.py
new file mode 100644
index 0000000..7878a61
--- /dev/null
+++ b/tests/test_basics.py
@@ -0,0 +1,23 @@
+import unittest
+from flask import current_app
+from app import create_app, db
+
+
+class BasicsTestCase(unittest.TestCase):
+
+ def setUp(self):
+ self.app = create_app('testing')
+ self.app_context = self.app.app_context()
+ self.app_context.push()
+ db.create_all()
+
+ def tearDown(self):
+ db.session.remove()
+ db.drop_all()
+ self.app_context.pop()
+
+ def test_app_exists(self):
+ self.assertFalse(current_app is None)
+
+ def test_app_is_testing(self):
+ self.assertTrue(current_app.config['TESTING'])
\ No newline at end of file
评论被删除
+ {% endif %} + {% if moderate or not comment.disabled %} + {% if comment.body_html %} + {{ comment.body_html | safe }} + {% else %} + {{ comment.body }} + {% endif %} + {% endif %} ++ {% if comment.disabled %} + 显示 + {% else %} + 删除 + {% endif %} + {% endif %} +