Skip to content

Commit 1019183

Browse files
committed
Upgrade 5.0 pages : Update Grav format to UF format
1 parent 1d9ff6e commit 1019183

152 files changed

Lines changed: 747 additions & 960 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

app/pages/5.0/01.quick-start/docs.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
---
22
title: Quick Start Guide
3-
metadata:
4-
description: The official documentation for UserFrosting, a PHP framework and full-featured user management application.
5-
taxonomy:
6-
category: docs
3+
description: The official documentation for UserFrosting, a PHP framework and full-featured user management application.
74
---
85

96
UserFrosting is a free, open-source jumping-off point for building user-centered web applications with PHP and Javascript. It comes with a sleek, modern interface, basic user account features, and an administrative user management system - all fully functioning out of the box.
107

11-
[notice=note]This quick start guide is aimed at experienced PHP developers who already have a development environment set up. If that's not your case, head over to the [First Chapter](/background) to start your journey.[/notice]
8+
> [!NOTE]
9+
> This quick start guide is aimed at experienced PHP developers who already have a development environment set up. If that's not your case, head over to the [First Chapter](/background) to start your journey.
1210
13-
[notice]This is the documentation for **UserFrosting 5**. If you are looking for documentation for _UserFrosting 4_, [click here](https://learn.userfrosting.com/4.6/).[/notice]
11+
> [!NOTE]
12+
> This is the documentation for **UserFrosting 5**. If you are looking for documentation for _UserFrosting 4_, [click here](https://learn.userfrosting.com/4.6/).
1413
1514
## Requirements
1615

17-
[notice=tip]Using Docker? [Check out the Docker Documentation](/installation/environment/docker) to install UserFrosting through it's native Docker integration.[/notice]
16+
> [!TIP]
17+
> Using Docker? [Check out the Docker Documentation](/installation/environment/docker) to install UserFrosting through it's native Docker integration.
1818
1919
UserFrosting has a few system requirements. You need to make sure your local UserFrosting development environment meets the following requirements:
2020

@@ -30,7 +30,8 @@ Use Composer to create an empty project with the latest version of UserFrosting
3030
composer create-project userfrosting/userfrosting UserFrosting "^5.0"
3131
```
3232

33-
[notice=tip]During installation, you can choose **sqlite** as database provider if you don't have a database provider available.[/notice]
33+
> [!TIP]
34+
> During installation, you can choose **sqlite** as database provider if you don't have a database provider available.
3435
3536
If any dependencies are not met, an error will occur. Simply try again after fixing said error, or manually run `composer install` and `php bakery bake` from the install directory. For more information about the `bake` command, head to the [Bakery CLI](/cli) chapter.
3637

app/pages/5.0/02.background/01.introduction/docs.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
---
22
title: Introduction
3-
metadata:
4-
description: The PHP community has evolved considerably over the past decade, and this breakneck pace has caused a lot of people to get left behind. UserFrosting aims to help new and legacy developers navigate the overwhelming ocean of tools, packages, and concepts in PHP and the modern web development community as a whole.
5-
taxonomy:
6-
category: docs
3+
description: The PHP community has evolved considerably over the past decade, and this breakneck pace has caused a lot of people to get left behind. UserFrosting aims to help new and legacy developers navigate the overwhelming ocean of tools, packages, and concepts in PHP and the modern web development community as a whole.
74
---
85

96
## Motivation
@@ -12,7 +9,7 @@ The PHP community has evolved considerably over the past decade, beginning with
129

1310
This breakneck pace has caused a lot of people to get left behind. For someone who hasn't been doing web development continuously for the past ten years, it can feel like a hopeless task to try and get acquainted with all of the new tools and frameworks that seem to be coming out every day. Relevant comic from [Abstruse Goose](http://abstrusegoose.com/503):
1411

15-
![BlooP and FlooP and GlooP](/images/theoretical_mathematics_however_never_goes_out_of_fashion.png?resize=500)
12+
![BlooP and FlooP and GlooP](/images/theoretical_mathematics_however_never_goes_out_of_fashion.png)
1613

1714
The problem is that when you're a busy developer with a lot of Real-Life (tm) projects to work on, it's very difficult to set aside time to read a book about technology X - especially when you're not even sure that you really _need_ to learn X!
1815

app/pages/5.0/02.background/02.the-client-server-conversation/docs.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
---
22
title: The Client-Server Conversation
3-
metadata:
4-
description: Many developers do not really understand the basics of how HTTP and web applications work. This discussion attempts to clarify some common misconceptions.
5-
taxonomy:
6-
category: docs
3+
description: Many developers do not really understand the basics of how HTTP and web applications work. This discussion attempts to clarify some common misconceptions.
74
---
85

96
One of the most common misconceptions is that web applications are coherent pieces of software that sit on a server somewhere, and that the client "runs" this application in their browser. This is actually an illusion, carefully crafted to provide a smooth experience for the end user.

app/pages/5.0/02.background/03.develop-locally-serve-globally/docs.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
---
22
title: Develop Locally, Serve Globally
3-
metadata:
4-
description: The right way to approach development.
5-
taxonomy:
6-
category: docs
3+
description: The right way to approach development.
74
---
85

96
Just about every week, we see someone wander into [chat](https://chat.userfrosting.com) and ask:
@@ -34,7 +31,8 @@ If you think that setting up a local environment is too much work, think again!
3431

3532
And the sprinkle on the cupcake is the [next chapter](/installation) will teach you how to do everything yourself!
3633

37-
[notice=warning]There are a number of "one-click" installers available, which can set up your machine with a complete web application stack in just a few minutes: **XAMPP**, **MAMP**, **WampServer**, etc. **These are not officially supported by UserFrosting and we do not recommend using them.** They can be slow, out of date or use obscure configuration. They were useful at some point, but with modern tools, especially with WSL2 on Windows, it's never been easier to install every tool you need locally If you insist on using a "one-click" solution, [Docker](#alternatives-to-installing-a-stack-natively-docker) is a [great, modern alternative](https://www.reddit.com/r/PHP/comments/gqhg15/comment/frt8cp0/).[/notice]
34+
> [!WARNING]
35+
> There are a number of "one-click" installers available, which can set up your machine with a complete web application stack in just a few minutes: **XAMPP**, **MAMP**, **WampServer**, etc. **These are not officially supported by UserFrosting and we do not recommend using them.** They can be slow, out of date or use obscure configuration. They were useful at some point, but with modern tools, especially with WSL2 on Windows, it's never been easier to install every tool you need locally If you insist on using a "one-click" solution, [Docker](#alternatives-to-installing-a-stack-natively-docker) is a [great, modern alternative](https://www.reddit.com/r/PHP/comments/gqhg15/comment/frt8cp0/).
3836
3937
## Alternatives to installing a stack natively : Docker
4038

app/pages/5.0/02.background/04.dont-reinvent-the-wheel/docs.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
---
22
title: Don't Reinvent the Wheel
3-
metadata:
4-
description: Using third-party components reduces the amount of software maintenance you have to do and documentation you have to write, and lets you draw on the wider community of other developers who use those packages for troubleshooting and support.
5-
taxonomy:
6-
category: docs
3+
description: Using third-party components reduces the amount of software maintenance you have to do and documentation you have to write, and lets you draw on the wider community of other developers who use those packages for troubleshooting and support.
74
---
85

96
I think that for a lot of developers - novices and professionals alike - building on top of others' work can seem like a betrayal of our trade. We're not "real" developers unless we built everything with our bare hands from scratch, and know firsthand the nitty-gritty details of how our code works. With third-party components, we have to take time to actually *learn* how to use them, and follow *their* rules. I get it. It all feels so antithetical to the DIY spirit that got so many of us into coding in the first place. Trust me, as someone who built a cold frame out of some doors and framing I found in the dumpster, I know:
107

11-
![DIY cold frame](/images/cold-frame.jpg?resize=500)
8+
![DIY cold frame](/images/cold-frame.jpg)
129

1310
However unlike me with with my cold frame, software developers aren't limited by the contents of their local dumpster. With the advent of Composer, the PHP community abounds with free, high-quality third-party packages for pretty much every task imaginable. The trick is to know *which* packages to use, and to avoid getting overwhelmed.
1411

app/pages/5.0/02.background/05.security/01.server-misconfiguration/docs.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
---
22
title: Server Misconfiguration
3-
metadata:
4-
description: Server misconfiguration is one of the top 10 vulnerabilities of any web application, according to OWASP. Most of these misconfigurations occur because of inexperienced developers or system administrators, and are simple to fix.
5-
taxonomy:
6-
category: docs
3+
description: Server misconfiguration is one of the top 10 vulnerabilities of any web application, according to OWASP. Most of these misconfigurations occur because of inexperienced developers or system administrators, and are simple to fix.
74
---
85

96
As we discussed in [The Client-Server Conversation](/background/the-client-server-conversation), it's important to distinguish between the code that is running on the server, and the response that it sends back to the client.

app/pages/5.0/02.background/05.security/docs.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
---
22
title: Security
3-
metadata:
4-
description: It is essential to understand some basic security concepts before diving into web development. With an understanding of how the most common vulnerabilities work and some diligence in configuring your system, UserFrosting sets you up with an application that is robust against most common attack vectors.
5-
taxonomy:
6-
category: docs
3+
description: It is essential to understand some basic security concepts before diving into web development. With an understanding of how the most common vulnerabilities work and some diligence in configuring your system, UserFrosting sets you up with an application that is robust against most common attack vectors.
74
---
85

96
It is essential to understand some basic security concepts before diving into web development.

app/pages/5.0/02.background/06.seo/docs.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
---
22
title: Search Engine Optimization
3-
metadata:
4-
description: Search Engine Optimization (SEO) is an integral part of the design and development process. We discuss the major important factors in getting a page to rank well, and how they fit in with UserFrosting's features and overall architecture.
5-
taxonomy:
6-
category: docs
3+
description: Search Engine Optimization (SEO) is an integral part of the design and development process. We discuss the major important factors in getting a page to rank well, and how they fit in with UserFrosting's features and overall architecture.
74
---
85

96
Search Engine Optimization (SEO) is an integral part of the design and development process. Getting the public side of your website to rank well in search results should be something you consider from the very beginning, and not an afterthought once you're getting ready to deploy.
@@ -85,7 +82,8 @@ The main issue with client-side caching is that you need some way of forcing the
8582

8683
Fortunately, UserFrosting's build tools take care of this as well. Each time you compile your assets, a random hash is used to name the compiled files. References to these assets in your pages are automatically updated to reflect these new names.
8784

88-
[notice=tip]There are other steps that can be taken to further improve page performance, such as deferring the loading of Javascript and CSS, and inlining "above-the-fold" CSS. Google has recently released its [Pagespeed webserver module](https://developers.google.com/speed/pagespeed/module/) for Apache and nginx, which can automatically perform optimizations like these automatically and behind the scenes. We highly recommend that you look into installing and configuring this module if you use a supported webserver.[/notice]
85+
> [!TIP]
86+
> There are other steps that can be taken to further improve page performance, such as deferring the loading of Javascript and CSS, and inlining "above-the-fold" CSS. Google has recently released its [Pagespeed webserver module](https://developers.google.com/speed/pagespeed/module/) for Apache and nginx, which can automatically perform optimizations like these automatically and behind the scenes. We highly recommend that you look into installing and configuring this module if you use a supported webserver.
8987
9088
## Link building
9189

app/pages/5.0/02.background/chapter.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
---
22
title: Web Dev, the Right Way
3-
metadata:
4-
description: UserFrosting has a not-so-secret ulterior motive: to get you to become a better developer.
5-
taxonomy:
6-
category: docs
3+
description: "UserFrosting has a not-so-secret ulterior motive: to get you to become a better developer."
74
---
85

96
#### Chapter 2

app/pages/5.0/03.structure/01.introduction/docs.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
---
22
title: Your Application
3-
metadata:
4-
description: A Sprinkle can contain assets, configuration files, translations, routes, PHP classes, and Twig templates.
5-
taxonomy:
6-
category: docs
3+
description: A Sprinkle can contain assets, configuration files, translations, routes, PHP classes, and Twig templates.
74
---
85

96
UserFrosting 4 introduced the **Sprinkle system** as a way to completely isolate the code and content that you and your team produce from the core UserFrosting installation. **UserFrosting 5** takes this concept a step further, requiring a new chapter on the basic UserFrosting project structure before even talking about downloading any code!
@@ -18,7 +15,8 @@ To make things easier, UserFrosting 5 now separates all of your code from UserFr
1815

1916
The **app skeleton** is a bare-bone UserFrosting project. Think of it like a starting kit, or template, to create your own application. Everything in the skeleton is meant to be modified. As such, the skeleton doesn't need to be a synced copy of the UserFrosting Github repository (called a ***fork***). It provides example pages and all the basic configuration to run a default UserFrosting application.
2017

21-
[notice=info]While there is an official UserFrosting App Skeleton, it doesn't need to be the only one. Many skeletons could exist as starting points for new UserFrosting-based projects ![/notice]
18+
> [!IMPORTANT]
19+
> While there is an official UserFrosting App Skeleton, it doesn't need to be the only one. Many skeletons could exist as starting points for new UserFrosting-based projects !
2220
2321
But what makes a UserFrosting application, a UserFrosting application? What does it contain? Well, it's not much different than a normal modern PHP application. Your UserFrosting based project will consist of your code, plus a bunch of **dependencies**. These dependencies are all handled by Composer (which we'll explain later) and are themselves separated into three groups : **The Framework**, **External Libraries**, and **Sprinkles** :
2422

0 commit comments

Comments
 (0)