Skip to content

Commit

Permalink
Changes to reflect the new vendor-free approach
Browse files Browse the repository at this point in the history
  • Loading branch information
w00fz committed Sep 5, 2014
1 parent b816c1b commit d7d2082
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 16 deletions.
10 changes: 6 additions & 4 deletions pages/01.basics/03.installation/docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ The alternative method is to install Grav from the GitHub repository and then ru

This will automatically **clone** the required dependencies from GitHub directly into this Grav installation.

## Webserver
## Webserver

#### Apache/IIS/Nginx

Expand Down Expand Up @@ -64,7 +64,7 @@ To try Grav, simply navigate to the folder where you extracted your **Grav Base*
$ php -S localhost:8000
```

This runs the built-in PHP web server. Then, point your browser to `http://localhost:8000` and you should see your Grav site.
This runs the built-in PHP web server. Then, point your browser to `http://localhost:8000` and you should see your Grav site.

>>>> Using the built-in PHP web server is not intended for production environments. It is intended for development environments only.
Expand All @@ -74,7 +74,7 @@ The first time it loads, there is some compilation happening. Refresh your brows

![Grav Installed](install.png?cropResize=600,600) {.border}

>>> In the previous examples, **$** represents the command prompt. This may look different on various platforms.
>>> In the previous examples, **$** represents the command prompt. This may look different on various platforms.
By default, Grav comes with some sample pages to give you something to get started with. Your site is already fully functional and you can configure it, add content, extend it, or customize it as much as you like.

Expand All @@ -90,7 +90,9 @@ Please consult the [Troubleshooting](../troubleshooting) section for help regard

We plan on providing an improved update solution including **automatic updates** via the upcoming **Admin Panel** plugin - as well as updating via the [Grav CLI Application][grav-cli]. Until then, you should download the [Update Package][update] from our [Downloads section][downloads].

You can extract the update package over the top of your existing Grav installation and it will copy over any updates in the `core system folder` as well as any library updates in the `vendor folder`.
You can extract the update package over the top of your existing Grav installation and it will copy over any updates in the `core system folder`.

After having copied over the files it is a good idea to also update the vendors. You can do so by running the command `composer update` from the root of your Grav instance.

[downloads]: http://getgrav.org/downloads
[webroot]: https://www.wordnik.com/words/webroot
Expand Down
11 changes: 7 additions & 4 deletions pages/01.basics/06.folder-structure/docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ So let us dig a little deeper into each of these top level folders and explain w

### /assets

**(v0.9.0+)** The `assets` folder is used by the new asset management system within Grav to store processed `.css` and `.js` files.
**(v0.9.0+)** The `assets` folder is used by the new asset management system within Grav to store processed `.css` and `.js` files.

>>> This folder should not be used to store any user data because it is routinely flushed.
Expand All @@ -39,7 +39,7 @@ If Grav decides that the **filesystem** is the best caching method, the cached f
### /images

Grav comes built-in with a powerful yet very [easy-to-use image manipulation library][library]. This means you can easily resize an image on-the-fly from your content or even from a plugin. These images are stored in the `images` folder so that they can be reused if the same image with the same size is requested again.
Grav comes built-in with a powerful yet very [easy-to-use image manipulation library][library]. This means you can easily resize an image on-the-fly from your content or even from a plugin. These images are stored in the `images` folder so that they can be reused if the same image with the same size is requested again.

It acts like an image cache folder. This is intended for automatically generated files, user provided media should be stored in the `user/pages/`, `user/themes/` or even a custom `user/images/` folder.

Expand All @@ -57,6 +57,8 @@ The `system` folder is where the files that make Grav function actually live. Y

The `vendor` folder contains important libraries that Grav relies on. This folder is similar to the `system` folder in that it should not be tampered with unless you really know what you are doing.

Since Grav 0.9.2 the `vendor` folder is not included anymore. You will have to run `bin/grav install` or `composer install` from the root of your Grav instance in order to get the vendors installed. More details can be found under the [installation][installation] section.

### /user

This is the most important folder for the majority of people. This is where you will spend your time creating content, using plugins, and editing your themes. Let us burrow a little further into this folder:
Expand All @@ -72,7 +74,7 @@ This is the most important folder for the majority of people. This is where you

### /user/accounts

The `accounts` folder is where you will define any user accounts you may need if you wish to restrict access to portions of your site.
The `accounts` folder is where you will define any user accounts you may need if you wish to restrict access to portions of your site.

>>>>> This is currently a placeholder folder until this functionality is fully developed.
Expand All @@ -84,7 +86,7 @@ The [configuration files][config] are used to configure the web site and have be

The `data` folder can be used by plugins to store data that you can reference later. A good example of a plugin that utilizes this folder is the **Forms** plugin that can take a web form and store the submitted data in a text file in this folder. You can store other things such as user-uploads or anything you wish to really.

>>> This folder is not accessible via a browser by default.
>>> This folder is not accessible via a browser by default.
### /user/pages

Expand All @@ -100,3 +102,4 @@ A theme turns your content into a true website. It converts the content you hav
[website]: http://getgrav.org
[themes]: ../themes
[grav-cli]: ../advanced/grav-cli
[installation]: ../installation
15 changes: 7 additions & 8 deletions pages/05.advanced/04.grav-development/docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ First, let us breakdown the various types of development:

## Grav Core

When we talk about the **Grav Core**, we are effectively talking about things in the `system` folder. This folder controls everything about Grav and is really the very essence of the [Grav workflow and lifecycle](grav-lifecycle).
When we talk about the **Grav Core**, we are effectively talking about things in the `system` folder. This folder controls everything about Grav and is really the very essence of the [Grav workflow and lifecycle](grav-lifecycle).

Grav is intentionally focused on working with pages in an efficient manner. Manipulation of pages and extensive functionality are often best served by creating a plugin. We strongly encourage our community to contribute bug fixes, and even propose development of appropriate functionality within the core of Grav.

## Grav Plugins

Most development effort will probably take the form of a **Grav Plugin**. Because Grav has plenty of [Event Hooks](..plugins/event-hooks), it's very easy to provide enhanced and specific functionality via the creation of a plugin. We have already developed many plugins that work in a variety of ways using many different events to show off the power of this functionality.
Most development effort will probably take the form of a **Grav Plugin**. Because Grav has plenty of [Event Hooks](..plugins/event-hooks), it's very easy to provide enhanced and specific functionality via the creation of a plugin. We have already developed many plugins that work in a variety of ways using many different events to show off the power of this functionality.

There are many benefits of providing functionality in plugins, but a couple of the key benefits are:

Expand All @@ -25,15 +25,15 @@ There are many benefits of providing functionality in plugins, but a couple of t

## Grav Skeletons

A **Grav Skeleton** is effectively an **all-in-one sample site**. They include the **Grav Core**, required **plugins**, as well as appropriate **pages** for content and a **theme** for pulling it all together.
A **Grav Skeleton** is effectively an **all-in-one sample site**. They include the **Grav Core**, required **plugins**, as well as appropriate **pages** for content and a **theme** for pulling it all together.

Grav was designed to make the process of creating a site as easy as possible. For that reason, everything you need for a site can be contained in the `user` folder. Each of the skeletons we currently have available are simply a `user` folder on GitHub that we package up with various dependencies (required plugins, and theme) into a package that can be simply unzipped to provide a working example.

These skeletons are a base on which you can grow your site, quickly and efficiently. You aren't locked in to a specific set of features. It is every bit as flexible as any other Grav install.

## Grav Themes

Because of the tight coupling with Grav pages and themes, a **Grav Theme** is an integral and very important part of a Grav site. By this we mean that each Grav page references a template in the theme, so your theme needs to provide the appropriate **twig templates** that your pages are using.
Because of the tight coupling with Grav pages and themes, a **Grav Theme** is an integral and very important part of a Grav site. By this we mean that each Grav page references a template in the theme, so your theme needs to provide the appropriate **twig templates** that your pages are using.

The Twig templating engine is a very powerful system, and because there really are no restrictions by Grav itself, you are free to create any kind of design you wish. This is one of the great things that sets Grav apart from a traditional CMS that has a loose coupling between content and design.

Expand All @@ -45,7 +45,7 @@ Clone all the repositories you plan to work with into a single `Projects` or `De

>>> We use the [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/) branching model for all our Grav development. The core concept of the GitFlow methodology is that development happens in the `develop` branch, but new features and functionality are created in seperate `feature` branches that are merged into `develop` when complete. Releases merge `develop` into `master`, and you can apply `hotfix` branches as needed during the release process. Most modern git clients support this. However, we recommend [Atlassian SourceTree](https://www.atlassian.com/software/sourcetree/overview) as it's free, cross-platform, and easy to use.
Grav also has some dependencies (dictated by the `.dependencies` file) which include the **Error** and **Problems** plugins, as well as the **Antimatter** theme. You can follow these instructions to clone these bits on your own computer.
Grav also has some dependencies (dictated by the `.dependencies` file) which include the **Error** and **Problems** plugins, as well as the **Antimatter** theme. You can follow these instructions to clone these bits on your own computer.

>>>> If you wish to make make additions or changes to any of the `getgrav` repositories, you will need to **fork** the appropriate repository and then clone **your fork's url** rather than the `getgrav` repository directly. The example below is using the direct `getgrav` repositories for example only.
Expand All @@ -61,9 +61,9 @@ $ git clone https://github.com/getgrav/grav-plugin-problems.git
$ git clone https://github.com/getgrav/grav-theme-antimatter.git
```

This will clone **all 4 repositories** into your `~/Projects/Grav` folder.
This will clone **all 4 repositories** into your `~/Projects/Grav` folder.

Usually, the normal procedure for setting up a test site for Grav is to use the `bin/grav new-project` command. This is true for development, except for one important difference. Because we want to to be able to develop from your web root, but have any changes show up in your cloned code, we need to **symbolically link** the relevant parts. We do this by passing a `-s` flag to the `bin/grav new-project` command.
Usually, the normal procedure for setting up a test site for Grav is to use the `bin/grav new-project` command. This is true for development, except for one important difference. Because we want to to be able to develop from your web root, but have any changes show up in your cloned code, we need to **symbolically link** the relevant parts. We do this by passing a `-s` flag to the `bin/grav new-project` command.

There is one extra step required. You must tell the command where it can find your repositories. So, follow these steps to create a configuration file in a new `.grav/` folder which you will need to create in the **root of your home directory**:

Expand Down Expand Up @@ -108,7 +108,6 @@ Resetting Symbolic Links
/composer.json -> /Users/rhuk/www/grav/composer.json
/bin -> /Users/rhuk/www/grav/bin
/system -> /Users/rhuk/www/grav/system
/vendor -> /Users/rhuk/www/grav/vendor
Pages Initializing
/Users/rhuk/Projects/Grav/grav/user/pages -> Created
Expand Down

0 comments on commit d7d2082

Please sign in to comment.