468243c
(HEAD -> master)
Fix forgotten changes by
2018-12-09 22:09:37 +0100
acd71f2
Chapter 13: Comment moderation (13b) by
2018-12-02 22:06:25 +0100
889522d
Chapter 13: Blog post comments (13a) by
2018-11-25 00:35:31 +0100
639c61f
Chapter 12: Self-followers (12e) by
2018-11-24 22:46:14 +0100
814cbfc
Chapter 12: Show followed blog posts in home page (12d) by
2018-11-24 18:57:16 +0100
02e1980
Chapter 12: Followed posts with a join (12c) by
2018-11-24 18:28:00 +0100
f357932
Chapter 12: Followers in the application (12b) by
2018-11-24 01:13:23 +0100
63f1022
Chapter 12: Database representaton of followers (12a) by
2018-11-23 23:43:29 +0100
a482fe6
Chapter 11: Blog post editor (11h) by
2018-11-20 23:49:00 +0100
0dff7d0
Chapter 11: Permanent links to posts (11g) by
2018-11-20 23:20:08 +0100
44b9042
Chapter 11: Rich text server side handling with Markdown and Bleach (11f) by
2018-11-18 01:24:26 +0100
f7110f6
Chapter 11: Rich text blog posts with Flask-PageDown (11e) by
2018-11-18 00:28:52 +0100
6c8890d
Chapter 11: Blog post pagination (11d) by
2018-11-17 23:42:57 +0100
3c68168
Chapter 11: Generate fake users and posts (11c) by
2018-11-17 22:16:09 +0100
c5b0236
Chapter 11: Blog posts in profile pages (11b) by
2018-11-16 19:10:19 +0100
9f056eb
Chapter 11: Blog posts (11a) by
2018-11-15 22:53:23 +0100
f905570
Chapter 10: Caching of user avatar hashes (10d) by
2018-11-15 21:58:46 +0100
b2cbdef
Chapter 10: User avatars (10c) by
2018-11-14 00:07:44 +0100
c4274e3
Chapter 10: Profiles editor (10b) by
2018-11-12 23:30:00 +0100
a7311a9
Chapter 10: User profiles (10a) by
2018-11-11 00:06:29 +0100
e61ae9a
Chapter 9: User roles and permissions (9a) by
2018-11-09 00:04:54 +0100
492e106
Chapter 8: Email address changes (8h) by
2018-11-06 22:47:03 +0100
3571a77
Chapter 8: Password resets (8g) by
2018-11-05 23:42:00 +0100
b718cc2
Chapter 8: Password updates (8f) by
2018-11-05 22:12:05 +0100
330e5fb
Chapter 8: Account confirmation (8e) by
2018-11-05 00:07:07 +0100
869a8b0
Chapter 8: User registration (8d) by
2018-11-04 00:23:48 +0100
115d1e1
Chapter 8: Login and logout with Flask-Login (8c) by
2018-11-01 23:45:16 +0100
927b411
Chapter 8: Authentication blueprint (8b) by
2018-10-29 00:03:58 +0100
d16769a
Chapter 8: Password hashing with Werkzeug (8a) by
2018-10-28 23:27:13 +0100
e344f46
Chapter 7: Large file structure (7a) by
2018-10-28 00:47:10 +0200
88514c1
Chapter 6: Asynchronous emails (6b) by
2018-10-21 00:18:21 +0200
94e1dbe
Chapter 6: Email support with Flask-Mail (6a) by
2018-10-21 00:01:25 +0200
7783c73
Chapter 5: Database migrations with Flask-Migrate (5d) by
2018-10-19 21:23:06 +0200
da527b2
Chapter 5: Shell context (5c) by
2018-10-17 21:48:32 +0200
59c7e48
Chapter 5: Database use in the application (5b) by
2018-10-17 21:40:58 +0200
be07b02
Chapter 5: Database models with Flask-SQLAlchemy (5a) by
2018-10-16 21:43:47 +0200
c3385ab
Chapter 4: Message flashing (4c) by
2018-10-15 22:35:29 +0200
b79829c
Chapter 4: Redirects and user sessions (4b) by
2018-10-15 22:19:57 +0200
1b2e374
Chapter 4: Web forms with Flask-WTF (4a) by
2018-10-11 23:51:12 +0200
5ffd385
Chapter 3: Dates and times with Flask-Moment (3e) by
2018-10-11 22:20:38 +0200
0498864
Chapter 3: Static files (3d) by
2018-10-11 21:31:55 +0200
7bc8516
Chapter 3: Custom error pages (3c) by
2018-10-09 22:36:32 +0200
48b7c03
Chapter 3: Templates with Flask-Bootstrap (3b) by
2018-10-08 23:48:53 +0200
02a1b34
Chapter 3: Templates (3a) by
2018-10-08 22:15:14 +0200
d44cd70
Chapter 2: Dynamic routes (2b) by
2018-10-07 23:05:08 +0200
024f9b2
Chapter 2: A complete application (2a) by
2018-10-07 22:30:55 +0200
abf38e3
Initial commit by
2018-10-07 22:07:11 +0200