bootstrap
This commit is contained in:
parent
f441f8d8d8
commit
56d1d46326
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
After ![]() (image error) Size: 2.4 KiB |
Binary file not shown.
After ![]() (image error) Size: 1.6 KiB |
Binary file not shown.
After ![]() (image error) Size: 8.6 KiB |
Binary file not shown.
After ![]() (image error) Size: 12 KiB |
Binary file not shown.
After ![]() (image error) Size: 2.5 KiB |
Binary file not shown.
After ![]() (image error) Size: 2.8 KiB |
Binary file not shown.
After ![]() (image error) Size: 2.8 KiB |
File diff suppressed because one or more lines are too long
|
@ -1,3 +1,4 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
{% if title %}
|
{% if title %}
|
||||||
|
@ -5,26 +6,41 @@
|
||||||
{% else %}
|
{% else %}
|
||||||
<title>microblog</title>
|
<title>microblog</title>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
<link href="/static/css/bootstrap.min.css" rel="stylesheet" media="screen">
|
||||||
|
<link href="/static/css/bootstrap-responsive.css" rel="stylesheet">
|
||||||
|
<script src="http://code.jquery.com/jquery-latest.js"></script>
|
||||||
|
<script src="/static/js/bootstrap.min.js"></script>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div>Microblog:
|
<div class="container">
|
||||||
<a href="{{ url_for('index') }}">Home</a>
|
<div class="navbar">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</a>
|
||||||
|
<a class="brand" href="/">microblog</a>
|
||||||
|
<ul class="nav">
|
||||||
|
<li><a href="{{ url_for('index') }}">Home</a></li>
|
||||||
{% if g.user.is_authenticated() %}
|
{% if g.user.is_authenticated() %}
|
||||||
| <a href="{{ url_for('user', nickname = g.user.nickname) }}">Your Profile</a>
|
<li><a href="{{ url_for('user', nickname = g.user.nickname) }}">Your Profile</a></li>
|
||||||
| <form style="display: inline;" action="{{url_for('search')}}" method="post" name="search">{{g.search_form.hidden_tag()}}{{g.search_form.search(size=20)}}<input type="submit" value="Search"></form>
|
<li><a href="{{ url_for('logout') }}">Logout</a></li>
|
||||||
| <a href="{{ url_for('logout') }}">Logout</a>
|
{% endif %}
|
||||||
|
</ul>
|
||||||
|
<div class="nav-collapse collapse">
|
||||||
|
{% if g.user.is_authenticated() %}
|
||||||
|
<form class="navbar-search pull-right" action="{{url_for('search')}}" method="post" name="search">{{g.search_form.hidden_tag()}}{{g.search_form.search(size=20,placeholder="Search",class="search-query")}}</form>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
</div>
|
||||||
{% with messages = get_flashed_messages() %}
|
</div>
|
||||||
{% if messages %}
|
<div class="row">
|
||||||
<ul>
|
<div class="span12">
|
||||||
{% for message in messages %}
|
|
||||||
<li>{{ message }} </li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
{% endif %}
|
|
||||||
{% endwith %}
|
|
||||||
{% block content %}{% endblock %}
|
{% block content %}{% endblock %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
|
@ -3,26 +3,34 @@
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>Edit Your Profile</h1>
|
<h1>Edit Your Profile</h1>
|
||||||
<form action="" method="post" name="edit">
|
{% include 'flash.html' %}
|
||||||
|
<div class="well">
|
||||||
|
<form class="form-horizontal" action="" method="post" name="edit">
|
||||||
{{form.hidden_tag()}}
|
{{form.hidden_tag()}}
|
||||||
<table>
|
<div class="control-group{% if form.errors.post %} error{% endif %}">
|
||||||
<tr>
|
<label class="control-label" for="nickname">Your nickname:</label>
|
||||||
<td>Your nickname:</td>
|
<div class="controls">
|
||||||
<td>
|
{{ form.nickname(maxlength = 64, class = "span4") }}
|
||||||
{{form.nickname(size = 24)}}
|
|
||||||
{% for error in form.errors.nickname %}
|
{% for error in form.errors.nickname %}
|
||||||
<br><span style="color: red;">[{{error}}]</span>
|
<span class="help-inline">[{{error}}]</span><br>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</td>
|
</div>
|
||||||
</tr>
|
</div>
|
||||||
<tr>
|
<div class="control-group{% if form.errors.post %} error{% endif %}">
|
||||||
<td>About yourself:</td>
|
<label class="control-label" for="about_me">About yourself:</label>
|
||||||
<td>{{form.about_me(cols = 32, rows = 4)}}</td>
|
<div class="controls">
|
||||||
</tr>
|
{{ form.about_me(cols = 64, rows = 4, class = "span4") }}
|
||||||
<tr>
|
{% for error in form.errors.about_me %}
|
||||||
<td></td>
|
<span class="help-inline">[{{error}}]</span><br>
|
||||||
<td><input type="submit" value="Save Changes"></td>
|
{% endfor %}
|
||||||
</tr>
|
</div>
|
||||||
</table>
|
</div>
|
||||||
|
<div class="control-group">
|
||||||
|
<div class="controls">
|
||||||
|
<input class="btn btn-primary" type="submit" value="Save Changes">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
{% with messages = get_flashed_messages() %}
|
||||||
|
{% if messages %}
|
||||||
|
{% for message in messages %}
|
||||||
|
<div class="alert alert-info">
|
||||||
|
<button type="button" class="close" data-dismiss="alert">×</button>
|
||||||
|
{{ message }}
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% endwith %}
|
|
@ -3,28 +3,39 @@
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>Hi, {{g.user.nickname}}!</h1>
|
<h1>Hi, {{g.user.nickname}}!</h1>
|
||||||
<form action="" method="post" name="post">
|
{% include 'flash.html' %}
|
||||||
|
<div class="well">
|
||||||
|
<form class="form-horizontal" action="" method="post" name="post">
|
||||||
{{form.hidden_tag()}}
|
{{form.hidden_tag()}}
|
||||||
<table>
|
<div class="control-group{% if form.errors.post %} error{% endif %}">
|
||||||
<tr>
|
<label class="control-label" for="post">Say something:</label>
|
||||||
<td>Say something:</td>
|
<div class="controls">
|
||||||
<td>{{ form.post(size = 30, maxlength = 140) }}</td>
|
{{ form.post(size = 30, maxlength = 140) }}
|
||||||
<td>
|
|
||||||
{% for error in form.errors.post %}
|
{% for error in form.errors.post %}
|
||||||
<span style="color: red;">[{{error}}]</span><br>
|
<span class="help-inline">[{{error}}]</span><br>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</td>
|
</div>
|
||||||
</tr>
|
</div>
|
||||||
<tr>
|
<div class="control-group">
|
||||||
<td></td>
|
<div class="controls">
|
||||||
<td><input type="submit" value="Post!"></td>
|
<input class="btn btn-primary" type="submit" value="Post!">
|
||||||
<td></td>
|
</div>
|
||||||
</tr>
|
</div>
|
||||||
</table>
|
</form>
|
||||||
</form>
|
</div>
|
||||||
{% for post in posts.items %}
|
{% for post in posts.items %}
|
||||||
{% include 'post.html' %}
|
{% include 'post.html' %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% if posts.has_prev %}<a href="{{ url_for('index', page = posts.prev_num) }}"><< Newer posts</a>{% else %}<< Newer posts{% endif %} |
|
<ul class="pager">
|
||||||
{% if posts.has_next %}<a href="{{ url_for('index', page = posts.next_num) }}">Older posts >></a>{% else %}Older posts >>{% endif %}
|
{% if posts.has_prev %}
|
||||||
|
<li class="previous"><a href="{{ url_for('index', page = posts.prev_num) }}">Newer posts</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li class="previous disabled"><a href="#">Newer posts</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% if posts.has_next %}
|
||||||
|
<li class="next"><a href="{{ url_for('index', page = posts.next_num) }}">Older posts</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li class="next disabled"><a href="#">Older posts</a></li>
|
||||||
|
{% endif %}
|
||||||
|
</ul>
|
||||||
{% endblock %}
|
{% endblock %}
|
|
@ -15,20 +15,38 @@ function set_openid(openid, pr)
|
||||||
form.elements['openid'].value = openid
|
form.elements['openid'].value = openid
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<h1>Sign In</h1>
|
{% include 'flash.html' %}
|
||||||
<form action="" method="post" name="login">
|
<div class="well">
|
||||||
|
<h3>Please Sign In</h3>
|
||||||
|
<form class="form" action="" method="post" name="login">
|
||||||
{{form.hidden_tag()}}
|
{{form.hidden_tag()}}
|
||||||
<p>
|
<div class="help-block">Click on your OpenID provider below:</div>
|
||||||
Please enter your OpenID, or select one of the providers below:<br>
|
<div class="control-group">
|
||||||
{{form.openid(size=80)}}
|
{% for pr in providers %}
|
||||||
{% for error in form.errors.openid %}
|
<a href="javascript:set_openid('{{pr.url}}', '{{pr.name}}');"><img src="/static/img/{{pr.name.lower()}}.png" class="img-polaroid" style="margin:2px;" /></a>
|
||||||
<span style="color: red;">[{{error}}]</span>
|
|
||||||
{% endfor %}<br>
|
|
||||||
|{% for pr in providers %}
|
|
||||||
<a href="javascript:set_openid('{{pr.url}}', '{{pr.name}}');">{{pr.name}}</a> |
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</p>
|
</div>
|
||||||
<p>{{form.remember_me}} Remember Me</p>
|
<div class="control-group{% if form.errors.openid %} error{% endif %}">
|
||||||
<p><input type="submit" value="Sign In"></p>
|
<label class="control-label" for="openid">Or enter your OpenID here:</label>
|
||||||
</form>
|
<div class="controls">
|
||||||
|
{{ form.openid(size = 80, class = "span4") }}
|
||||||
|
{% for error in form.errors.openid %}
|
||||||
|
<span class="help-inline">[{{error}}]</span><br>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="control-group">
|
||||||
|
<div class="controls">
|
||||||
|
<label class="checkbox" for="remember_me">
|
||||||
|
{{ form.remember_me }} Remember Me
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="control-group">
|
||||||
|
<div class="controls">
|
||||||
|
<input class="btn btn-primary" type="submit" value="Sign In">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
<table>
|
<table class="table table-hover">
|
||||||
<tr valign="top">
|
<tr>
|
||||||
<td><img src="{{post.author.avatar(50)}}"></td><td><i>{{post.author.nickname}} says:</i><br>{{post.body}}</td>
|
<td width="70px"><a href="{{url_for('user', nickname = post.author.nickname)}}"><img src="{{post.author.avatar(70)}}" /></a></td>
|
||||||
|
<td>
|
||||||
|
<p><a href="{{url_for('user', nickname = post.author.nickname)}}">{{post.author.nickname}}</a> said on {{post.timestamp}}:</p>
|
||||||
|
<p><strong>{{post.body}}</strong></p>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>Search results for "{{query}}":</h1>
|
<h1>Search results for "{{query}}":</h1>
|
||||||
|
{% include 'flash.html' %}
|
||||||
{% for post in results %}
|
{% for post in results %}
|
||||||
{% include 'post.html' %}
|
{% include 'post.html' %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
|
@ -2,14 +2,15 @@
|
||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<table>
|
{% include 'flash.html' %}
|
||||||
<tr valign="top">
|
<div class="well well-large" style="height: 140px;">
|
||||||
<td><img src="{{user.avatar(128)}}"></td>
|
<div class="pull-right">
|
||||||
<td>
|
<img src="{{user.avatar(128)}}" class="img-polaroid">
|
||||||
<h1>User: {{user.nickname}}</h1>
|
</div>
|
||||||
|
<h1>{{user.nickname}}</h1>
|
||||||
{% if user.about_me %}<p>{{user.about_me}}</p>{% endif %}
|
{% if user.about_me %}<p>{{user.about_me}}</p>{% endif %}
|
||||||
{% if user.last_seen %}<p><i>Last seen on: {{user.last_seen}}</i></p>{% endif %}
|
{% if user.last_seen %}<p><em>Last seen on: {{user.last_seen}}</em></p>{% endif %}
|
||||||
<p>{{user.followers.count()}} followers |
|
<p>Followers: {{user.followers.count()}} | Following: {{user.followed.count()}} |
|
||||||
{% if user.id == g.user.id %}
|
{% if user.id == g.user.id %}
|
||||||
<a href="{{url_for('edit')}}">Edit your profile</a>
|
<a href="{{url_for('edit')}}">Edit your profile</a>
|
||||||
{% elif not g.user.is_following(user) %}
|
{% elif not g.user.is_following(user) %}
|
||||||
|
@ -18,13 +19,20 @@
|
||||||
<a href="{{url_for('unfollow', nickname = user.nickname)}}">Unfollow</a>
|
<a href="{{url_for('unfollow', nickname = user.nickname)}}">Unfollow</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</div>
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<hr>
|
|
||||||
{% for post in posts.items %}
|
{% for post in posts.items %}
|
||||||
{% include 'post.html' %}
|
{% include 'post.html' %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% if posts.has_prev %}<a href="{{ url_for('user', nickname = user.nickname, page = posts.prev_num) }}"><< Newer posts</a>{% else %}<< Newer posts{% endif %} |
|
<ul class="pager">
|
||||||
{% if posts.has_next %}<a href="{{ url_for('user', nickname = user.nickname, page = posts.next_num) }}">Older posts >></a>{% else %}Older posts >>{% endif %}
|
{% if posts.has_prev %}
|
||||||
|
<li class="previous"><a href="{{ url_for('user', nickname = user.nickname, page = posts.prev_num) }}">Newer posts</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li class="previous disabled"><a href="#">Newer posts</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% if posts.has_next %}
|
||||||
|
<li class="next"><a href="{{ url_for('user', nickname = user.nickname, page = posts.next_num) }}">Older posts</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li class="next disabled"><a href="#">Older posts</a></li>
|
||||||
|
{% endif %}
|
||||||
|
</ul>
|
||||||
{% endblock %}
|
{% endblock %}
|
Loading…
Reference in New Issue