diff --git a/tutorials/building-a-simple-web-blog-with-vweb.md b/tutorials/building-a-simple-web-blog-with-vweb.md index 6236f90566..59541db558 100644 --- a/tutorials/building-a-simple-web-blog-with-vweb.md +++ b/tutorials/building-a-simple-web-blog-with-vweb.md @@ -2,7 +2,7 @@ Hello, -In this guide we'll build a simple web blog in V. +In this guide, we'll build a simple web blog in V. The benefits of using V for web: - A safe, fast, language with the development speed of Python and @@ -47,7 +47,7 @@ cd blog touch blog.v ``` -First let's create a simple hello world website: +First, let's create a simple hello world website: ```v // blog.v @@ -94,7 +94,7 @@ with an MVC web framework, you can think of it as a controller. (Vweb is not an MVC framework however.) As you can see, there are no routing rules. The `index()` action handles the `/` request by default. -Vweb often uses convention over configuration, and adding a new action requires +Vweb often uses convention over configuration and adding a new action requires no routing rules either: ```v @@ -107,10 +107,10 @@ fn (app mut App) time() { >You have to rebuild and restart the website every time you change the code. -In the future Vweb will detect changes and recompile the website in the background +In the future, Vweb will detect changes and recompile the website in the background while it's running. -The `.text(string)` method obviously returns a plain text document with the provided +The `.text(string)` method returns a plain text document with the provided text, which isn't frequently used in websites. @@ -155,7 +155,7 @@ It's another feature of Vweb to reduce the boilerplate in your web apps. No need to create view models just to pass data, or use an unsafe and untyped alternative, like C#'s `ViewBag["message"]`. -Making all action's variables available in the view may seem crazy, +Making all action variables available in the view may seem crazy, but V is a language with pure functions by default, and you won't be able to modify any data from a view. `@foo.bar()` will only work if the `bar()` method doesn't modify `foo`. @@ -176,7 +176,7 @@ into a single binary file together with the web application itself. Now let's display some articles! We'll be using V's builtin ORM and a Postgres database. (V ORM will also -support MySQL, SQLite, and SQL Server in the near future.) +support MySQL, SQLite, and SQL Server soon.) Create a SQL file with the schema: ```sql @@ -368,7 +368,7 @@ We need to update `index.html` to add a link to the "new article" page: ### JSON endpoints -This tutorial used the traditional server side rendering. If you prefer +This tutorial used the traditional server-side rendering. If you prefer to render everything on the client or need an API, creating JSON endpoints in V is very simple: