Skip to content

Commit 3281d99

Browse files
committed
Doc: Improve heading formatting
1 parent d84dab5 commit 3281d99

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

twilio_sendgrid.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
# How to Send and Receive Emails from You Flask App using Twilio SendGrid
1+
# How to Send and Receive Emails from Your Flask App using Twilio SendGrid
22

33
[SendGrid](http://sendgrid.com/) is a communication platform for transactional and marketing email. The goal of using SendGrid is technically delivering an exceptional email experience since email is the backbone of a business' customer engagement. In this tutorial, I will show you how you can build a Flask application and integrate Twilio SendGrid APIs.
44

5-
### What we will do:
5+
## What we will do:
66

77
1. Create a SendGrid account
88
2. Build a Flask application
99
3. Integrate Flask mail
1010
4. Integrate Twilio SendGrid
1111

12-
### Create a SendGrid account
12+
## Create a SendGrid account
1313

1414
* Create a [free account](https://signup.sendgrid.com/) now
1515
* Log into your account
@@ -24,7 +24,7 @@
2424

2525
Copy the API Key and save it somewhere safe. You will need it later.
2626

27-
### Build a Flask Application
27+
## Build a Flask Application
2828

2929
![Login Demo](images/sendgrid/login_demo.gif)
3030

@@ -105,7 +105,7 @@ Noteworthy, the files in `app/templates/email` carry the message that will be se
105105

106106
Also, it should be noted the application does send errors to the admin of the application whenever there is an internal server error. This email bears the message of the error so the admin can see the actual cause problem.
107107

108-
### Testing How to Send Password Reset Email Locally
108+
## Testing How to Send Password Reset Email Locally
109109

110110
![Password Reset](images/sendgrid/password_reset.gif)
111111

@@ -123,7 +123,7 @@ Also, it should be noted the application does send errors to the admin of the ap
123123

124124
You should be able to log in. From your terminal, you should have seen how the email authentication works.
125125

126-
### Sending Emails Using Twilio SendGrid
126+
## Sending Emails Using Twilio SendGrid
127127

128128
Now that you know how to send emails using Flask Mail, you can do the same for applications that are on production. If you host this application, say in Heroku, you will note that the password reset feature does not work. You have no errors, but still it does not work. This is because the email service we are using does not work on production. And that is where Twilio SendGrid comes it.
129129

web_development/personal_blog/2_flask_templates.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ In the previous chapter, you learnt how to display a string on the web browser.
66

77
Our application structure from [chapter 1](hello_world.md) was necessary to help us separate the application layout/presentation from the logic. Templates help us achieve this kind of separation. Flask templates are found in the _templates_ subfolder within the application instance.
88

9-
### Working with Templates
9+
## Working with Templates
1010

1111
Below, I am going to create a template for the home page of our blog.
1212

@@ -69,7 +69,7 @@ app/templates/home.html: Conditional statemenst in template
6969
```
7070
The template is slightly smarter now to know when a title has been provided or not. If there is a title in the view function, then it will use it within it's head, otherwise, it will resort to displaying _Welcome to My Personal Blog_.
7171

72-
### Template Inheritance
72+
## Template Inheritance
7373

7474
At this stage of the application, it is very easy to make edits in the templates. However, when the application becomes bigger and bigger, say, to have several templates, then making these edits on each template can become difficult and tiring. Thankfully, Flask allows for template inheritence where we can define a base layout for the entire blog. From this base layout, every other template that we will create will inherit the base styles and features. This makes is easy whenever we want to make changes to our growing application. The second reason to consider template inheritence is so that we can maintain a consistene theme or layout throughout our blog. We want that certain features be present in each template. For example, we would want to maintain our navigation bar and our footer everywhere.
7575

0 commit comments

Comments
 (0)